暗号技術の基礎と応用
ディフィー・ヘルマン鍵交換を小さな数で確かめる。p = 23、g = 5 とし、Aさんは秘密の値 a = 6、Bさんは秘密の値 b = 15 を選ぶ。Aさんは A = g^a mod p を、Bさんは B = g^b mod p を送り合う。2人が得る共有の秘密はどれか。
- A2
- B8
- C14
答えと解説を見る
正解:A. 2
A = 5^6 mod 23 = 15625 mod 23 = 8、B = 5^15 mod 23 = 19 です。AさんはBさんの値から B^a = 19^6 mod 23 = 2 を、BさんはAさんの値から A^b = 8^15 mod 23 = 2 を計算し、どちらも同じ2になります。これは、どちらも g^(ab) = 5^90 mod 23 に等しいからです。盗聴者が見るのは p、g、A = 8、B = 19 だけで、ここから2を求めるには、a か b を求める必要があります。
- A. 正しい。19^6 mod 23 = 8^15 mod 23 = 2 です。
- B. 8は A = 5^6 mod 23 で、Aさんが送る公開値です。
- C. 14は A × B mod 23 = 152 mod 23 で、公開値どうしを掛けた値です。盗聴者でも計算できるので、共有の秘密にはなりません。