7. 7
DH-Keyexchange
● Alice と Bob は,原始根g,法nについて合意する。
● Alice は秘密の数 x を生成し, X=g^x mod n を計算する。
● Bob は秘密の数 y を生成し, Y=g^y mod n を計算する。
● Alice と Bob は公に X,Y を交換する。
●
盗聴者 Eve も X,Y を入手する。
8. 8
DH-Keyexchange
● Alice は Key-X =Y^x mod n
● Bob は Key-Y =X^y mod n
を計算する。 Key-X = Key-Y !!! 一致してる !!!
Alice と Bob は公に
秘密の情報 Key-X=Key-Y の共有に成功した。
9. 9
DH-Keyexchange
● Alice は Key-X =Y^x mod n ≡(g^y)^x mod n
● Bob は Key-Y =X^y mod n ≡(g^x)^y mod n
を計算する。
Key-X = Key-Y !!! 一致してる !!!
Alice と Bob は公に
秘密の情報 Key-X=Key-Y の共有に成功した。
10. 10
DH-Keyexchange
● Alice は Key-X =Y^x mod n ≡ g^yx mod n
● Bob は Key-Y =X^y mod n ≡ g^xy mod n
???
● Key-X = Key-Y !!! 一致してる !!!
Key-X = Key-Y !!! 一致してる !!!
Alice と Bob は公に
秘密の情報 Key-X=Key-Y の共有に成功した。
11. 11
DH-Keyexchange
● Alice は Key-X =Y^x mod n ≡ g^yx mod n
● Bob は Key-Y =X^y mod n ≡ g^xy mod n
???
● Key-X = Key-Y !!! 一致してる !!!
● Alice と Bob は公に
秘密の情報 Key-X=Key-Y の共有に成功した。
Eve の持つ X(=g^x mod n), Y(=g^y mod n) からは,
g^xy mod n を計算できない。
12. 12
DH-Keyexchange
● Alice は Key-X =Y^x mod n ≡ g^yx mod n
● Bob は Key-Y =X^y mod n ≡ g^xy mod n
???
● Key-X = Key-Y !!! 一致してる !!!
● Alice と Bob は公に
秘密の情報 Key-X=Key-Y の共有に成功した。
● Eve が盗聴した情報 X(=g^x mod n), Y(=g^y mod n) からは,
g^xy mod n を計算できない。
20. 20
まぜこぜ( DH-shuffle )
● GX^((a^-1)(b^-1)(c^-1)(d^-1)) mod p =
=gx^(abcd*(a^-1)(b^-1)(c^-1)(d^-1)) mod p
=gx^((a*a^-1)(b*b^-1)(c*c^-1)(d*d^-1)) mod p
≡gx^1 mod p
=gx mod p
●
として,原始根を多重べき乗した値 (=GX) から,
原始根の値 (=gx) を秘密裏に得ます。