3

次の文を理解するのに苦労しています:「初期化ベクトル (IV) の数字はすべてゼロです (ASCII 文字 '0' ではありません)。

私の目標は、openssl enc コマンドを使用して、キー K (1234567890 としましょう) とそのような要件を満たす iv を持つ aes-128-cbc を使用してファイルを暗号化することです。

これまでのところ、-iv オプションを付けないようにしましたが、オプション -K を使用する場合はオプション -iv を指定する必要があるため、"iv undefined" と表示されます。-iv 0を使用しようとしましたが、それが正しいかどうかわかりません。

たとえば、次を使用しました。

openssl enc -aes-128-cbc -e -in input.txt -out output.txt -K 1234567890 -iv 0

上記の要件を満たす正しいivを説明するのを手伝ってもらえますか?

4

2 に答える 2

2

モード CBC、CFB、または OFB の場合、特定の暗号のブロック サイズと同じ長さの初期化ベクトルが必要です。AES の場合は 128 ビットです。

-p を使用してコマンドを確認できます。次に例を示します。

openssl enc -aes-128-cbc -e -in test.txt -out output.txt -K 1234567812346578 -iv 0 -p

あなたに与えるでしょう:

salt=A086E8DE00000000
key=12345678123456781234567812345678
iv =00000000000000000000000000000000

キーまたは IV が短すぎる場合は、正しいサイズになるまでゼロが埋め込まれます。

于 2015-10-08T10:34:38.477 に答える