暗号技術の基礎と応用

1 GiB = 2³⁰ バイト、1 EiB = 2⁶⁰ バイトとする。ブロック長が64ビットのブロック暗号(3DESなど)をCBCモードで使い、1つの鍵で大量のデータを暗号化する。暗号文ブロックをランダムな64ビットの値とみなすとき、誕生日のパラドックスにより、同じ暗号文ブロックの組が現れる確率が無視できなくなるデータ量の目安はどれか。

  1. A約4 GiB
  2. B約32 GiB
  3. C約128 EiB
答えと解説を見る

正解:B. 約32 GiB

64ビットのブロックの値は 2⁶⁴ 通りなので、誕生日のパラドックスにより、約 2^(64/2) = 2³² 個のブロックを暗号化すると、同じ値の組が現れる確率が無視できなくなります(2³² 個で約39%)。1ブロックは8バイトなので、データ量は 2³² × 8 = 2³⁵ バイト = 32 GiB です。CBCモードで暗号文ブロックが一致すると、対応する2つの平文ブロックのXORが分かってしまい、2016年に公表されたSweet32攻撃では、3DESで保護された長時間のHTTPSの通信からCookieを取り出せることが示されました。ブロック長が128ビットのAESでは、目安が 2⁶⁴ ブロックまで広がります。

  • A. 約4 GiBは 2³² バイトで、1ブロックが8バイトであることを掛けていない値です。
  • B. 正しい。2³² ブロック × 8 バイト = 32 GiB です。
  • C. 約128 EiBは 2⁶⁴ ブロック × 8 バイト = 2⁶⁷ バイトで、衝突が起こるまでの数を 2^(n/2) ではなく 2ⁿ と考えた値です。
この分野を解く 分野ページへ

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

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

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

  1. TLS 1.3などのプロトコルで、ECDHEの鍵交換で得た共有の秘密をそのまま暗号の鍵には使わず、HKDFのような鍵導出関数(KDF)を通して鍵を作る理由として、適切なものはどれか。
  2. RSA暗号の仕組みを小さな数で確かめる。素数 p = 5、q = 11 から n = pq を作り、公開指数を e = 3 とする。φ(n) = (p − 1)(q − 1) として、e × d ≡ 1 (mod φ(n)) を満たす秘密指数 d(0 < d < φ(n))はどれか。
  3. RSA暗号で、公開鍵を n = 55、e = 3 とする。平文 m = 7 を c = m^e mod n で暗号化したときの暗号文 c はどれか。
  4. 教科書どおりのRSA暗号(平文 m をそのまま c = m^e mod n とする方式)を、パディングを付けずに実際の通信に使うことの問題点として、正しいものはどれか。
  5. ディフィー・ヘルマン鍵交換では、素数 p と生成元 g を公開し、AさんとBさんがそれぞれ秘密の値 a、b を選んで、g^a mod p と g^b mod p を互いに送る。盗聴者がこれらの公開された値をすべて見ても、共有の秘密 g^(ab) mod p を求められないと考えられている理由として、正しいものはどれか。

この分野の比較