RSA、DH**协商的算法描述

RSA算法

RSA、DH**协商的算法描述

DH**协商算法

Alice的私钥a,Bob的私钥b;
Alice和Bob约定使用一个模 p = 23和 g = 7
Alice选择一个保密的整数a=4a = 4作为私钥,计算出公钥A=gamodpA = g^a mod p,将公钥A发送给Bob;
A=74mod23=9A = 7^4 mod 23 = 9
Bob选在一个保密的整数b=5b = 5,计算出公钥B=gbmodpB = g^b mod p,将公钥B发送给Alice;
B=75mod23=17B = 7^5 mod 23 = 17
Alice 计算出共享**s=Bamodps = B^a mod p
s=174mod23=8s = 17^4 mod 23 = 8
Bob 计算共享**s=Abmodps = A^b mod p
s=95mod23=8s = 9^5 mod 23 = 8
Alice和Bob现在就共享一个**s=8(s = 8)

可以计算得出gabmodp=8g^{a*b}modp = 8,但是上述协议通过传递中间结果来相互隐藏自己的私钥,而结果是一致的。