RSA算法
原理
1、选取两大素数:p和q且长度一样
2、计算n=pq,n称为模
3、计算欧拉函数φ(N) =(p-1)(q-1)
4、选取加密密钥e,一般选3、17等
5、求出逆元d,即ed=1 mod φ(N)
6、公钥位e、n,私钥为d,p和q必须保密
7、加密:c=m^e mod n
8、解密:m=c^d mod n
RSA计算
举例:当p=37,q=41
n=pq=1517
φ(N) =(p-1)*(q-1)=1440
取e=17时,d=17^(-1) mod 1440=593,公开e和n,d保密
如果我们要加密m=1234567
首先我们将它分成小的分组m1=123,m2=456,m3=007(不足左边补0)
接下来加密:
c1=123^17 mod 1517=1107 mod 1517
c2=456^17 mod 1517=1292 mod 1517
c3=007^17 mod 1517=645 mod 1517
密文即为c=1107 1292 645
解密:
解密需要私钥d=593
m1=1107^593 mod 1517=123 mod 1517
m2=1292^593 mod 1517=456 mod 1517
m3=645^593 mod 1517=007 mod 1517
脚本