暗号技術の基礎と応用

CTRモードで、誤って同じ鍵と同じナンスを使い、2つのメッセージを暗号化した。ある位置のバイトについて、1つ目の平文 P₁ は 01001000(ASCIIの「H」)、その暗号文 C₁ は 01110100、2つ目の暗号文 C₂ は 01010101 である。攻撃者が P₁ を知っているとき、同じ位置の2つ目の平文 P₂ はどれか。

  1. A00100001
  2. B00111100
  3. C01101001
答えと解説を見る

正解:C. 01101001

同じ鍵とナンスでは鍵ストリーム K が同じになるので、C₁ = P₁ ⊕ K、C₂ = P₂ ⊕ K です。まず K = P₁ ⊕ C₁ = 01001000 ⊕ 01110100 = 00111100 が分かり、P₂ = C₂ ⊕ K = 01010101 ⊕ 00111100 = 01101001(ASCIIの「i」)になります。鍵を知らなくても、片方の平文が分かれば、もう片方の平文がそのまま求まります。このため、CTRモードやGCMでは、同じ鍵で同じナンスを二度と使わないことが欠かせない条件です。

  • A. 00100001 は C₁ ⊕ C₂ で、P₁ ⊕ P₂ に等しい値です。さらに P₁ とXORすると P₂ が求まります。
  • B. 00111100 は P₁ ⊕ C₁ で求めた鍵ストリームです。これを C₂ とXORすると P₂ になります。
  • C. 正しい。C₂ ⊕ (P₁ ⊕ C₁) = 01101001 です。
この分野を解く 分野ページへ

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

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

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

  1. AES-GCMのような認証付き暗号(AEAD)が、1つの処理で提供するものとして正しいものはどれか。
  2. AES-GCMで使う96ビットのナンス(IV)についての説明として、正しいものはどれか。
  3. ある装置で、56ビットの鍵をすべて試す総当たりに約20時間かかる。同じ装置で、64ビットの鍵をすべて試すのにかかる時間に最も近いものはどれか。
  4. ハッシュ関数のSHA-2とSHA-3の説明として、正しいものはどれか。
  5. 秘密の鍵Kとメッセージmをつなげた値のハッシュ値 SHA-256(K ‖ m) を、改ざんの検出用のタグとして使うのは危険とされる。その理由として正しいものはどれか。

この分野の比較