2013年5月4日土曜日

[OpenSSL]DES コマンド

暗号化手順
$ openssl des -e -in test.txt -out test_enc_des.txt
enter des-cbc encryption password:
Verifying - enter des-cbc encryption password:
Key と IV を指定する場合
$ openssl enc -des-ecb -e -in null.dat -out null_enc_des.dat -iv 00000000 -K 00000000
Key と IVを表示する
$ openssl des -e -in test.txt -out test.enc -p -nosalt
enter des-cbc encryption password:
Verifying - enter des-cbc encryption password:
key=EA703E7AA1EFDA00
iv =64EAA507D9E8AB7E
Keyを作成するための方法を指示する
$ openssl enc -des-ecb -e -in test.txt -out test.enc -iv 0000000000000000 -p -nosalt -md md5
enter des-ecb encryption password:
Verifying - enter des-ecb encryption password:
key=EA703E7AA1EFDA00
iv =0000000000000000


復号化手順
$ openssl des -d -in test_enc_des.txt -out test_dec_des.txt
enter des-cbc decryption password:
Key と IV (Initial Vector) を指定する場合
$ openssl enc -des-ecb -d -in null_enc_des.dat -out null_dec_des.dat -iv 00000000 -K 00000000


Key, IV の作り方
$ openssl enc -des-ecb -e -in test.txt -out test.enc -p -nosalt
enter des-ecb encryption password:
Verifying - enter des-ecb encryption password:
key=EA703E7AA1EFDA00
iv =64EAA507D9E8AB7E
password を hoge にすると key, iv は以下のようになる
key=EA703E7AA1EFDA00
iv =64EAA507D9E8AB7E
hoge と書いたテキストファイル hoge.txt (末尾に改行なしで保存) を準備して MD5 ダイジェスト値を取ると以下のようになる。
$ openssl dgst -md5 hoge.txt
MD5(hoge.txt)= ea703e7aa1efda0064eaa507d9e8ab7e
MD5 ダイジェスト値の前半が key に該当し、後半が iv に該当する。すなわち
passphase = hoge
hoge -- (MD5) --> ea703e7aa1efda0064eaa507d9e8ab7e
上位8byte = ea703e7aa1efda00 = key
下位8byte = 64eaa507d9e8ab7e = iv

0 件のコメント:

コメントを投稿