密钥计算方法
1.选择两个大素数p和q(典型值为1024位)
2.计算n=p×qz=(p-1)×(q-1)
// n表示欧拉函数
3.选择一个与z互质的数,令其为d
4.找到一个 e 使满足exd= 1 (mod z)
5.公开密钥为(e,m),私有密钥为(d,m)
密钥举例
代码如下(示例):1.假设需要加密的明文信息为m=85,选择:e=7,p=11,q=13,说明使用RSA算法的加密和解密(计算密文并还原)

1
2
3
4
5
n=p*q=11*13=143
z=(p-1)*(q-1)=10*12=120

e*d=1(mod z)
7 * d( mod 120)=1 -------d=103

1️⃣加密运算
公钥:(e,n)=(7,143)
密文c=p^e (mod n)=123
2️⃣加密运算
密钥:(d,n)=(103,143)
明文:P=c^d (mod n)=85