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解密算法正确性得证
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解密算法正确性得证
相关文章推荐
- 收藏:信息安全基础知识
- Collabtive系统SQL注入实验
- PHP版CMS爆破工具
- 国家信息安全技术水平考试(NCSE)三级教学大纲
- 转自CISPS《十年安全售前的经验与大家分享》
- 网络与信息安全监控内容
- metasploit
- [转]为什么你要懂点信息安全
- 信息安全不可低估的30个细节
- 透视信息安全类专业 选择未来发展方向
- 第六届内网安全战略与技术论坛召开
- SOC 2.0:通向下一代安全运营的关键
- SOC 2.0:下一代安全运营中心先睹为快【转载】
- 安全基础信息安全不可低估的30个细节
- (摘录)信息安全
- 关于开展保险业信息系统安全检查工作的通知
- 2009年证券期货业网络与信息安全事件应急演练
- 奥运期间证券期货业网络与信息安全突发事件应急预案(二)
- 信息安全国家标准列表
- 员工信息安全守则