mφ(n)+1 mod n = m(p-1)(q-1)+1 mod n = m mod n;(最后一个指同模)
(mφ(n))k=mkφ(n)=1 mod n;(同模,其中k为任意整数)
mkφ(n)+1 mod n = mk(p-1)(q-1)+1 mod n = m mod n;(同模)
RSA密钥产生算法
取两个大素数p和q;
计算n=p×q;
计算φ(n)=(p-1)(q-1)
计算de=1 mod φ(n);(同模)
{以上p,q,d为保密的,私有的,不可公开的,原则上n也是私有的,不过n公开不会有很大的影响,RSA的安全性基于大素数乘积分解的复杂度}
#RSA加密解密过程
* 假定M为明文,C为密文,e为公钥,d为私钥,n为大数,并且M
#RSA解密过程证明
关键证明Med mod n = M mod n;
根据密钥产生的过程,ed = 1 mod φ(n)
则 ed = k*φ(n)+1;
根据欧拉定理推论,Med mod n = M mod n;
由于M
#RSA使用场景
假设A与B要通信,A为发送方,B为接收方.整个通信过程如下
* B产生生成两个素数p,q,并求n=pq,之后将n公开给A
* B选择满足条件的e,并且将e公开给A
* B计算满足条件的d
* A利用e加密信息,发送给B
* B利用d解密信息