본문으로 바로가기

홈페이지: http://tcldes.sourceforge.net

TclDES는 DES 혹은 3DES 알고리즘을 사용한 암호화/복호화 패키지입니다 순수 Tcl로 기술되어 있으며, 사용하기 위해서는 Tcl8.3 이상이 필요합니다. DES는 한 개의 비밀키를 사용하여 암호화/복호화를 하는 표준적인 암호화 처리입니다. 또한 3DES는 3개의 비밀키를 조합하는 것으로, 최고 수준의 견고성을 갖는 암호화 처리를 실현할 수 있으며, DES는 ECB,CBC,OFB,CFB의 4가지 모드가 있습니다. 버전 0.5부터 ECB, CBC모드를 지원하고 있습니다. 암호화에 대한 자세한 정보는 http://www.intel.com/jp/commentary/e-key/e-key7.htm 싸이트에서 참고 바랍니다.

설치

설치는 간단합니다. TclDES-0.5.zip이나 TclDESjr-0.5.zip 중 하나를 다운로드하여 압축을 풀고, TclDES0.5 또는 TclDESjr0.5 디렉터리를 Tcl/lib에 복사하면 됩니다. TclDES가 3DES 패키지이며, TclDESjr은 DES 패키지입니다.

DES의 사용방법

DES는 64비트의 비밀키 한 개를 사용하여, 데이터를 64비트 암호화/복호화를 합니다. 아래의 예제는 CBC모드를 사용하고, 암호화/복호화 시 난수 iv를 주고 있습니다.

package require tclDESjr
 
# Key의 생성 
set key [::des::createKeys  passwd01]
# CBC 모드(mode) 
set mode 1
# CBC 모드(mode)의 iv 
set iv [binary format H16 11224488eeddbb77]
# 문자 렬 
set str {Hello World!}
# 암호화한다 
set code [::des::encrypt  $key $str $mode $iv]
# 복호화한다 
set code [::des::decrypt  $key $code $mode $iv]
=> Hello World!

3DES(TripleDES)의 사용방법

3DES는 64비트의 비밀키 3개를 사용하여, 데이터를 64비트 암호화/복호화를 합니다. 아래의 예제는 CBC모드를 사용하고, 암호화/복호화 시 난수 iv를 주고 있습니다.

package require tclDES
 
# Key의 생성 
set key [::des::createKeys  passwd01passwd02passwd03]
# CBC 모드(mode) 
set mode 1
# CBC 모드(mode)의 iv 
set iv [binary format H16 11224488eeddbb77]
# 문자 렬 
set str {Hello World!}
# 암호화한다 
set code [::des::encrypt  $key $str $mode $iv]
# 복호화한다 
set code [::des::decrypt  $key $code $mode $iv]
=> Hello World!

마치며

TclDES는 암호화/복호화 성능개선과, CFB모드와 OFB모드를 지원하기 위해 현재 개발 중에 있습니다. 미국의 암호수출 규제의 문제가 정리가 된다면, Tcllib에 들어가는 첫 번째 패키지가 될 것입니다.