跳转至

RSA

Abstract

RSA 加密算法是一种非对称加密算法。

加密步骤

  • 一对不相等且足够大的质数p q
  • 计算p,q的乘积n = p * q
  • 计算n的欧拉函数phi(n) = (p - 1)*(q - 1)
  • 选一个和phi(n)互质的整数e1 < e < phi(n)
  • 计算出e对于phi(n)的模反元素d de mod phi(n) = 1
  • 公钥 KU = (e, n)
  • 私钥 KR = (d, n)
  • 明文M 加密M^e mod n = C
  • 密文C 解密C^d mod n = M

特性

  • e d在模意义下互逆
  • e常取65537

模数攻击

  • 共模攻击

公钥指数e攻击

  • e = 2, e = 3 可以直接尝试开方

私钥d攻击

威尔逊定理

  • 对于素数p有 (p - 1)! = -1 (mod p)

Coppersmith相关攻击

RSA 选择明密文攻击