建立一个RSA密码体制的过程如下:
1.用户选择一对不同的大素数p,q,将其保密。
2.令n=p*q,用户公布n(素数乘以素数还是素数).欧拉函数Ψ(n) = (p-1)*(q-1),保密。
3.选区正整数d,使其满足gcd(d,Ψ(n)) = 1,将d保密。
4.根据ed≡1modΨ(n),计算e并将其公布。
则公开钥k1 = (n,e)
私钥k2 = (p,q,d)
下面看两道例题来加深理解
问题一:在RSA环境中,某用户的公钥是e=31,n=3599.改用户的私钥是什么?
问题二:假设p=5,q=11,e=3,M=9,应用RSA算法对其实现加密和解密。
解答如下:
(一) 公钥e=31,n=3599
N=3599=59X61 Ф(N)=58*60=3480
ed=1 mod Ф(N) 0≤d≤3599
∴d=3031 ∴私钥KR={3031,59,61}
(二)n=p*q=5*11=55,设m=(q-1)*(p-1)=40
求d,ed=1 mod m 所以d=27 3
加密:Y=M^e mod n= 9^3 mod 55=41 4
解密:X=Y^d mod n= 41^27 mod 55=