您的位置:首页 > 其它

RSA加密算法概述和证明正确性

2017-01-06 20:18 218 查看


RSA算法大概描述:

密钥产生:
选择p,q(p,q不相等且均为素数);
计算n=p*q ;
计算 ;
选择整数e,满足条件:gcd(,e)=1;
1<e< ;
计算 ;
公钥PU={
e,n } ;
私钥PR={ d,n } ;
加密过程:
明文:M<n 
密文:C= 
解密过程:
密文:C
明文:M=
 
2. 证明题目分析:
假设RSA算法解密过程是正确的,则应有:
左式=M
右式===
:=M
其中算法的成立条件为:e和d模是乘法互逆,即ed的关系表示为:
ed mod=1,另一种表达方式为:
存在整数k满足ed=k+1
所以,必须证明:
==M
 

具体证明过程:

在此需考虑两种情况:
情况1:M和p非互素
此时p整除M,即M mod
p=0,
所以,= M mod
p=0
情况2:M和p互素
由欧拉定理:
= [M*
mod p
= [M*]mod p
=(M mod p)*
=(M mod p)*
=M mod p
结合情况1和2:
= M mod
p

因此,- M mod
p=[] mod p=0
即能被p整除
同理,该式也能被q整除
又因p,q为不相等的素数,故必存在一个整数r,
使得
即] mod n=0
所以mod n=M mod n
又因算法要求M<n
,即M mod
n=M
 
综上
==M
RSA解密算法正确性得证
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息