学习RSA算法的心得——对欧拉定理的证明的理解

 最近研究起了RSA非对称加密算法,看了很多百度搜索出来的资料,总是觉得不够理解透彻,没有那种酣畅淋漓,没有那种醍醐灌顶。终于看到同余定理,找到些许方向,这个是属于数论的东西,以前也没有学过。最后卡在了欧拉定理那里了,这个也是属于数论。

欧拉定理 :
对于互质的正整数 a 和 n ,有  \LARGE \mathit{a}^{\varphi (n)} ≡ 1 mod n  。

证明:
( 1 ) 令 Zn = {\mathit{x}_{1}, \mathit{x}_{2}, ..., \mathit{x}_{\varphi (n)}, S = {\mathit{a} * \mathit{x}_{1}  mod n, \mathit{a} * \mathit{x}_{2}  mod n, ... , \mathit{a} * \mathit{x}_{\varphi (n)}   mod n} 
        则 Zn = S 。这里集合Zn 代表的是:正整数n的所有互斥元素,一共有φ(n)个
        ① 因为 a 与 n 互质,\large \mathit{x}_{i} (1 ≤ i ≤ φ(n)) 与 n 互质, 所以 \large \mathit{a} * \mathit{x}_{i} 与 n 互质,所以
            
\large \mathit{a} * \mathit{x}_{i}  \large mod  \large n∈ Zn 。
        ② 若 i ≠ j , 那么 \large \mathit{x}_{i}\neq \mathit{x}_{j},且由 a, n互质可得 \large \mathit{a} * \mathit{x}_{i} \large mod  \large n  \large \neq   \large \mathit{a} * \mathit{x}_{j} \large mod  \large n (消去律)。
        这里的两点证明,就是基于一个逻辑思维:第一,S集合里面的任意一个数,都是包含在Zn 集合里面的;第二,S集合里面的数没有相互相等的。 然后两者个数也是相等的,即而证明了,Zn=S
( 2 )     \large \mathit{a}^{\varphi (n)}*x_{1}*x_{2}......*x_{\varphi (n)}   mod n
       (a * \large x_{1}) * (a * \large x_{2}) * ... * (a * \large x_{\varphi (n)}) mod n
       (a * \large x_{1} mod n) * (a * \large x_{2} mod n) * ... * (a * \large x_{\varphi (n)} mod n) mod n
       \large x_{1}*x_{2}.......x_{\varphi (n)}   mod n
      对比等式的两端,因为 xi  (1 ≤ i ≤ φ(n)) 与 n 互质,所以 \large a^{\varphi (n)}  ≡  1 mod n (消去律)。

第二部分的证明可以查看一下同余定理包括推论等等

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值