当着所有人的面,把秘密告诉 TA

Alice 和 Bob 要共享一个只有他俩知道的密钥,但只能通过一条 Eve 能全程旁听的公开信道。三步看完 Diffie-Hellman 如何做到。

第 1 步 · 颜色混合

公开约定一个基准色(金色)。两人各选一个秘密色,混合后公开发送——但"混合"不可逆,谁也分离不出对方的秘密色。

Alice
秘密色
Bob
秘密色
公开信道(Eve 能看见一切)
Alice 发出
Bob 发出
Eve 的视角
只看到两个混合色——少了谁的秘密色都还原不出最终色。
第 2 步 · 数学版(模幂运算)

颜色混合对应的数学是 g^秘密数 mod p。公开 p 和 g,双方各自保密一个数,算出的 A / B 公开交换,最终共享密钥双方一致。

公开素数 p
23
✓ 素数
公开底数 g
5
Alice 秘密数 a
6
Bob 秘密数 b
15
Alice 算出发送
A = 56 mod 23 = 8
Bob 算出发送
B = 515 mod 23 = 19
共享密钥
ga·b mod p = 2
Eve 只看到这些(点击尝试破解)
p=23, g=5, A=8, B=19
第 3 步 · 原理自测

5 道判断题,测你是否真的看懂了。