双钥
2019-03-15 本文已影响0人
c667ec5a71d8
P=100。Alice生成随机值5,然后乘上P,接着发送Pa = 500给Bob;通样Bob生成随机值6,然后乘上P,接着发送Pb = 600给Alice。
这样,Alice 有 100,5 ,600,Bob有100,6,500。
Alice计算: 随机值5(自己私钥) * 600(对端的公钥) = 3000 等式1
Bob计算 : 随机值6(自己私钥) * 500(对端的公钥) = 3000 等式2
这样 Alice就和Bob共享了一个值3000,还有谁知道3000这个值呢?我们知道Alice明文的将500发送到不安全信道,Bob明文的将600发送到不安全信道,这也就意味着第三方仅仅知道500 和 600,想要计算获得共享密钥,第三方要么获取到Alice的随机值然后拿它乘上600,要么获取到Bob的随机值然后拿它乘上500,这样才能获取到Alice和Bob的共享密钥。