参考证明:

DH算法图解+数学证明_51CTO博客_DH算法原理

参考理解:

比如说我们先约定一种颜色比如黄色(p, g 大质数),这时候我把黄色涂上红色(我的随机数 a)生成新的橙色,你把黄色涂上蓝色(你的随机数 b)生成新的绿色。这时候我们交换橙色和绿色,然后我再在绿色上加上红色生成棕色,同样你拿到橙色后加上蓝色也生成棕色。这就是最终的密钥了。如果有人在中间窃取的话,他只能拿到橙色和绿色,是拿不到最终的密钥棕色的。

注意:

窥探者仍然可以通过截获公开的信息去凑出密钥,但是由于采用的是大质数,可能性太多,与爆破攻击无异。