最近研究起了RSA非对称加密算法,看了很多百度搜索出来的资料,总是觉得不够理解透彻,没有那种酣畅淋漓,没有那种醍醐灌顶。终于看到同余定理,找到些许方向,这个是属于数论的东西,以前也没有学过。最后卡在了欧拉定理那里了,这个也是属于数论。
欧拉定理 :
对于互质的正整数 a 和 n ,有 ≡ 1 mod n 。
证明:
( 1 ) 令 Zn = {,
, ...,
} , S = {
mod n,
mod n, ... ,
mod n} ,
则 Zn = S 。这里集合Zn 代表的是:正整数n的所有互斥元素,一共有φ(n)个
① 因为 a 与 n 互质, (1 ≤ i ≤ φ(n)) 与 n 互质, 所以
与 n 互质,所以
∈ Zn 。
② 若 i ≠ j , 那么 ,且由 a, n互质可得
(消去律)。
这里的两点证明,就是基于一个逻辑思维:第一,S集合里面的任意一个数,都是包含在Zn 集合里面的;第二,S集合里面的数没有相互相等的。 然后两者个数也是相等的,即而证明了,Zn=S
( 2 ) mod n
≡ (a * ) * (a *
) * ... * (a *
) mod n
≡ (a * mod n) * (a *
mod n) * ... * (a *
mod n) mod n
≡ mod n
对比等式的两端,因为 xi (1 ≤ i ≤ φ(n)) 与 n 互质,所以 ≡ 1 mod n (消去律)。
第二部分的证明可以查看一下同余定理包括推论等等