RSA加密算法

RSA加密算法

生成密钥

  • 选择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

生成密钥 选择2个质数P和Q 计算这两个质数的乘积(P*Q) 计算totient:T = (P-1)*(Q-1 […]