首页 > 代码库 > 迪菲-赫尔曼算法的简单数学证明

迪菲-赫尔曼算法的简单数学证明

今天老师给我们讲了迪菲-赫尔曼算法,大概意思是通信双方不需要知道对方是谁都能通信。

以下的图片来自维基百科

 

只要Alice的K等于Bob的K双方就可以通信了,现在问题来了,我用了几组数据去做测试,都能得到相同的结果,为什么经过上面的数学的换算的结果是想等的?于是激起了我这个数学白痴的求知欲,证明可能吧严谨甚至有错,希望路过的大神们指教指教。

 问题转换为:

证明 (A^a mod B)^m mod B=A^am mod B 恒成立

令X=A^a,

 (X mod B)^m mod B=X^m mod B ,

 若X<B ,则X mod B=X,

所以 X^m mod B =X^m mod B ,

 若X>B

则可以转换为

(X mod B)^m  mod B=(x-nB)^m  mod B(n为整数)

(x-nB)^m mod B 按2项式展开得[x^m+(C1m * X^m-1 *(-nB)^1+ .....Cmm * (-nB)^m)]mod B

 括号中的项都是B的倍数 mod B自然就变成0了

所以就剩X^m mod B=X^m mod B;

 

哈哈,跟大家分享下。

 

 

迪菲-赫尔曼算法的简单数学证明