$ openssl enc -aes-256-cbc -e -in null.dat -out enc_aes256cbc.dat -p -nosalt enter aes-256-cbc encryption password: Verifying - enter aes-256-cbc encryption password: key=EA703E7AA1EFDA0064EAA507D9E8AB7E63413AFCBF321FFB9618A9336087C322 iv =AD804FC4942C79B8E7A3F5C26B1E599E
復号化する手順
$ openssl enc -aes-256-cbc -d -in enc_aes256cbc.dat -out dec_aes256cbc.dat -p -nosalt enter aes-256-cbc decryption password: key=EA703E7AA1EFDA0064EAA507D9E8AB7E63413AFCBF321FFB9618A9336087C322 iv =AD804FC4942C79B8E7A3F5C26B1E599E
br/ Key と IV を生成する方法
passphase = "hoge" から Key と IV を生成する。 passphase から MD5 値をとる。
00 | 68 6F 67 65 -- (MD5) --> 00 | EA 70 3E 7A A1 EF DA 00 64 EA A5 07 D9 E8 AB 7EMD5 を 1 回行った結果に hoge を追加して再び MD5 値をとる。
00 | EA 70 3E 7A A1 EF DA 00 64 EA A5 07 D9 E8 AB 7E 10 | 68 6F 67 65 -- (MD5) --> 00 | 63 41 3A FC BF 32 1F FB 96 18 A9 33 60 87 C3 22その結果に hoge を追加して再び MD5 値をとる。
00 | 63 41 3A FC BF 32 1F FB 96 18 A9 33 60 87 C3 22 10 | 68 6F 67 65 -- (MD5) --> 00 | AD 80 4F C4 94 2C 79 B8 E7 A3 F5 C2 6B 1E 59 9E以上から 3 つの MD5 値が得られる。
MD5 1回目 EA 70 3E 7A A1 EF DA 00 64 EA A5 07 D9 E8 AB 7E MD5 2回目 63 41 3A FC BF 32 1F FB 96 18 A9 33 60 87 C3 22 MD5 3回目 AD 80 4F C4 94 2C 79 B8 E7 A3 F5 C2 6B 1E 59 9E1 回目 MD5 値と 2 回目 MD5 値を連結した値が Key となり、3 回目 MD5 値が IV となる。
Key = EA 70 3E 7A A1 EF DA 00 64 EA A5 07 D9 E8 AB 7E 63 41 3A FC BF 32 1F FB 96 18 A9 33 60 87 C3 22 IV = AD 80 4F C4 94 2C 79 B8 E7 A3 F5 C2 6B 1E 59 9E
OpenSSL コマンドで passphase に hoge を指定した時の Key と IV
$ openssl enc -aes-256-cbc -e -in null.dat -out enc_aes256cbc.dat -p -pass pass:hoge -nosalt key=EA703E7AA1EFDA0064EAA507D9E8AB7E63413AFCBF321FFB9618A9336087C322 iv =AD804FC4942C79B8E7A3F5C26B1E599E
0 件のコメント:
コメントを投稿