暗号技術の基礎と応用

AES-GCMで使う96ビットのナンス(IV)についての説明として、正しいものはどれか。

  1. A秘密にする必要はなく、カウンタで作ってもよいが、同じ鍵で同じ値を二度使ってはならない
  2. B攻撃者に知られると平文が漏れてしまうので、鍵と同じように秘密にして保管しなければならない
  3. C毎回ランダムに選ぶ必要があり、1ずつ増やすカウンタで作ると安全性が失われる
答えと解説を見る

正解:A. 秘密にする必要はなく、カウンタで作ってもよいが、同じ鍵で同じ値を二度使ってはならない

GCMのナンスに求められるのは、同じ鍵のもとで値が重ならない(一意である)ことです。秘密にする必要はなく、送信の回数を数えるカウンタで作っても条件を満たします。同じ鍵で同じナンスを使うと、CTRモードと同じく平文のXORが漏れるうえ、認証に使う値も求められて、タグを偽造されるおそれがあります。ランダムにナンスを選ぶ場合は、偶然の重なりを避けるため、1つの鍵で暗号化する回数に上限が設けられています(NIST SP 800-38D では2^32回)。

  • A. 正しい。一意であることが条件で、予測できないことまでは求められません。
  • B. ナンスは暗号文と一緒に送るのがふつうで、秘密にする必要はありません。
  • C. 値が重ならなければ、カウンタで作っても安全です。CBCモードのIVとは、求められる性質が違います。
この分野を解く 分野ページへ

暗号技術の基礎と応用の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

暗号技術の基礎と応用のほかの問題

  1. ある装置で、56ビットの鍵をすべて試す総当たりに約20時間かかる。同じ装置で、64ビットの鍵をすべて試すのにかかる時間に最も近いものはどれか。
  2. ハッシュ関数のSHA-2とSHA-3の説明として、正しいものはどれか。
  3. 秘密の鍵Kとメッセージmをつなげた値のハッシュ値 SHA-256(K ‖ m) を、改ざんの検出用のタグとして使うのは危険とされる。その理由として正しいものはどれか。
  4. 1 GiB = 2³⁰ バイト、1 EiB = 2⁶⁰ バイトとする。ブロック長が64ビットのブロック暗号(3DESなど)をCBCモードで使い、1つの鍵で大量のデータを暗号化する。暗号文ブロックをランダムな64ビットの値とみなすとき、誕生日のパラドックスにより、同じ暗号文ブロックの組が現れる確率が無視できなくなるデータ量の目安はどれか。
  5. TLS 1.3などのプロトコルで、ECDHEの鍵交換で得た共有の秘密をそのまま暗号の鍵には使わず、HKDFのような鍵導出関数(KDF)を通して鍵を作る理由として、適切なものはどれか。

この分野の比較