メインコンテンツへ
セキュリティ

ディフィー・ヘルマン鍵交換において、公開パラメータを素数 p=23、生成元 g=5 とする。アリスの秘密鍵 a=6、ボブの秘密鍵 b=15 のとき、共有秘密鍵の値として正しいものはどれか。

ア.3
イ.8
ウ.19
エ.2正解

解説

DH鍵交換は「中間者には公開鍵しか見えないが、両者は同じ秘密に到達できる」魔法のプロトコル。互いの公開鍵を相手の秘密鍵で累乗すると同じ答えになる——数学の妙。

なぜ エ が正解か

エが正解。アリス公開鍵A=g^a mod p=5^6 mod 23。5^1=5、5^2=25 mod 23=2、5^3=10、5^4=50 mod 23=4、5^5=20、5^6=100 mod 23=100-4×23=100-92=8。A=8。ボブ公開鍵B=5^15 mod 23。5^6=8(計算済)、5^12=8^2=64 mod 23=64-2×23=18、5^15=5^12×5^3=18×10=180 mod 23=180-7×23=180-161=19。B=19。共有秘密K=B^a mod 23=19^6 mod 23。19≡-4(mod 23)。(-4)^6=4096 mod 23。4096÷23=178余2。K=2。検証:A^b mod 23=8^15 mod 23。8=5^6、8^15=5^90。5^22≡1(mod 23)(フェルマーの小定理)。90=4×22+2、8^15≡5^2=2(mod 23)✓。共有秘密=2。

なぜ ア は間違いか

3。g^(a+b) mod p のような誤った計算式を使った場合に現れる値。DH鍵交換では公開鍵同士を足すのではなく、相手の公開鍵を自分の秘密鍵で累乗する。

なぜ イ は間違いか

8。アリスの公開鍵A=g^a mod p=5^6 mod 23=8を共有秘密と誤認した選択肢。公開鍵と共有秘密は異なる。

なぜ ウ は間違いか

19。ボブの公開鍵B=g^b mod p=5^15 mod 23=19を共有秘密と誤認した選択肢。

出典: AI生成問題(学習用)