CyberGlossary

暗号

初期化ベクトル(IV)

別称: IV, 暗号化初期ベクトル

定義

ブロック暗号モードに与えるランダムな初期値で、同じ鍵で同じ平文を暗号化しても異なる暗号文になるようにする。

初期化ベクトル(Initialization Vector、IV)は、ブロック暗号モードで鍵と組み合わせて使用される公開・一度限りの入力で、同じ平文を 2 回暗号化しても異なる暗号文を得るために必要です。要求条件はモードによって異なり、AES-CBC は CPA 安全性のために予測不可能(暗号学的乱数)な IV が必要、AES-CTR と AES-GCM は一意(重複しない)IV が必要で秘匿は不要(AES-GCM では nonce とも呼ばれる)です。サイズは CBC ではブロック長(AES は 128 ビット)、GCM では 96 ビット、ストリーム/CTR モードでは 64〜128 ビットが一般的で、IV は暗号文とともに送信されます。CBC で予測可能な IV を用いる(BEAST 攻撃)、GCM でノンスを再利用するなど IV の扱いを誤ると、機密性と認証性が深刻に損なわれます。

  • AES-CBC の実装は、各暗号文の先頭に 16 バイトのランダム IV を付与する。
  • AES-GCM は 96 ビットの IV を使用し、(鍵, メッセージ)ペアごとに一意でなければならない。

関連用語