暗号技術の基礎と応用
1 GiB = 2³⁰ バイト、1 EiB = 2⁶⁰ バイトとする。ブロック長が64ビットのブロック暗号(3DESなど)をCBCモードで使い、1つの鍵で大量のデータを暗号化する。暗号文ブロックをランダムな64ビットの値とみなすとき、誕生日のパラドックスにより、同じ暗号文ブロックの組が現れる確率が無視できなくなるデータ量の目安はどれか。
- A約4 GiB
- B約32 GiB
- 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ⁿ と考えた値です。