一意のデータの暗号化に使用する場合、初期化ベクトル(IV)はまだ必要ですか?たとえば、クレジットカード番号や社会保障番号などです。
IVの究極のポイントは、2つの同一のPlainTextメッセージのCipherTextが同じにならないようにすることです。 PlainTextが一意である場合、IVが必要ですか?
IVの役割は、暗号化システムに大きく依存します。それがストリーム暗号であるかブロック暗号であるか、そして後者の場合、 操作モード 。
IVは 初期化ベクトル を意味します。これは、ループプロセスの開始値の総称です。暗号化では、IVという用語を使用して、計算の開始時に使用され、頻繁に変更されますが、秘密ではないパラメーターを指定します(それ以外の場合は、keyと呼びます) 。
一般に、IVの再利用は致命的な罪ですが、IVの再利用によって暗示される苦痛の量はさまざまです。 CBCモードでのブロック暗号の場合、IV再利用は、2つのメッセージが同じブロックのシーケンスで始まるかどうかを即座にリークします。そして、より一般的には、CBCのIV mustはランダムに、均一に、そして予測できないように生成されます。 「ビーストアタック」という名前で)。
CTRまたはOFBモードでブロック暗号を使用する場合、IVの再利用は致命的であり(悪名高い「2倍パッド」となり)、暗号化されたデータを簡単に復元できます。 IVを使用するストリーム暗号にも同じことが当てはまります。 CFBモードでのIVの再利用は、その荒廃において少し包括的ではありませんが、それでもなお悲惨です。
一般的なルールとして:
これが初期化ベクトルの唯一のポイントではありません。
IVの目的は、同じキーで暗号化スキームを繰り返し使用しても、キー自体に関する情報が漏洩しないようにすることです。同様に、これはブロック暗号のブロック間で内部的に適用されます。