今天老师给我们讲了迪菲-赫尔曼算法,大概意思是通信双方不需要知道对方是谁都能通信。
以下的图片来自维基百科
只要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;
哈哈,跟大家分享下。