一 非对称加密
公钥(Public KEY)加密数据:公钥对外公开
私钥(Private KEY)解密数据:私钥需要自己保存好
二 RSA加密过程和解密过程
假设:公钥是(7,33),私钥为(3,33),待加密的数据为3,1,15。
加密过程为 C = (D ^ 7) % 33,因此,加密后的数据为:9,1,27;
解密过程也是类似的,D = (C ^ 3) % 33,解密后的数据为:3,1,15
三 RSA公钥和私钥的制作过程
- 选两个质数,例如 p = 3; q =11
- 两个质数相乘,N= p x q = 3 x 11 = 33
- 欧拉函数 T = (p - 1) x (q - 1) = 2 x 10 = 20
- 选择公钥 E ; 条件:质数; 1 < 公钥 < T;且不是T的因子; 例如 E = (3,33)
- 算私钥D:(D x E)% T = 1 ; D = (7, 33),D对外保密
当N很大时,几乎不可能猜出E和D,这就保证了安全性。
四 一些基础数论
4.1 同余
整数 a, b,若 a和b除以正整数m的余数相同,则称a,b对于模m同余。
例如:
4.2 最大公约数
GCD(9,6)= 3;