生成密钥
- 选择2个质数P和Q
- 计算这两个质数的乘积(P*Q)
- 计算totient:T = (P-1)*(Q-1)
- 选择一个公钥(E),必须满足下面三个条件:
- 公钥必须是一个质数
- 公钥必须小于totient
- 公钥不能是totient的因数
- 选择私钥(D),必须满足下面的条件:
- D和E的乘积模T必须等于1:(D*E) MOD T = 1
加密解密过程
- 加密解密过程
- 加密:Message^E MOD N = Cipher
- 解密:Cipher^D MOD N = Message
示例
- 加密:(60 ^ 29) MOD 133 = 86
- 解密:(86 ^ 41) MOD 133 = 60
RSA加密算法