RSA、DH密钥协商的算法描述

RSA算法

RSA、DH密钥协商的算法描述_第1张图片

DH密钥协商算法

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

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

你可能感兴趣的:(课程总结,密码学)