mcryptコマンドラインツールでAES(rijndael 128)を使用してファイルを暗号化したいと思います。初期化ベクトルを特定の値に設定したいと思います。これどうやってするの?
ところで、私は暗号化にかなり慣れていません。
ありがとう!
--noiv
どうやら、IVをゼロの束に設定するフラグを使用する以外に、コマンドラインツールでIVを指定する方法はありません。mcryptのソースコードから、ファイルsrc / classic.c、142行目:
IV = _secure_mcrypt_malloc(mcrypt_enc_get_iv_size(td));
if (noiv==FALSE)
mcrypt_randomize( IV, mcrypt_enc_get_iv_size(td), real_random_flag);
else
memset( IV, 0, mcrypt_enc_get_iv_size(td));
したがって、コードは、ランダムなIVまたはゼロのいずれかを取得することを明確にしています。
ただし、mcryptにパッチを適用することはできます。ソースコードが提供されています。これはフリーソフトウェアです。上に示したコードスニペットは、まさにパッチを適用したい場所です。