You are here

DES, 3DES의 알고리즘을 이용한 TclDES

admin의 아바타

홈페이지: 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에 들어가는 첫번째 패키지가 될것입니다.