RSA算法中密钥对可交换使用的证明

【前言】RSA算法研究中的一点随笔

RSA算法简述(类C风格描述):
    设P、Q为2个大素数;
    N=P*Q;
    T=(P-1)*(Q-1);
    找到某数E,使其满足E与T互素(E与T的公约数只有1);
    找到某数D,使其满足(E*D) % T == 1;
    则:(D、N)与(E、N)即为可互换的加密(解密)密钥对。

设加密明文为 M, 加密后的密文为C。下面过程假设(E、N)为加密用的公钥,(D、N)为解密用的私钥。
加密:C= (M的E次幂) % N;
解密:M= (C的E次幂) % N;

证明(D、N)与(E、N)即为可互换的加密(解密)密钥对:
如(D、N)与(E、N)可互换,需满足如下2个条件:

1、(D*E) % T == 1;
证明:((E*D) % T ) == ((D*E) % T);

2、需满足D也与T互素

证明:假证D与T不互素,则可描述:
    D==a1*X;(X>1)
    T==a2*X;(X>1)
由(D*E) % T == 1;    
==> (a1*X*E) % (a2*X) ==1;
==> a1*X*E == b*a2*X+1;
==> (a1*E-b*a2)*X==1;
==> X只能==1,且 a1*E-b*a2==1,如X==1,即反证失败。

证明完成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值