RSA 加密

  • 密钥生成
  • 加密
  • 解密
  • Textbook RSA 的不安全性
    • 确定性:相同的明文生成相同的密文 不满足 IND-CPA。
    • 同态性 易受延展性攻击。
    • 共模攻击:如果多人共享 不同,可能导致攻击。
  • 修复:必须使用 Padding(如 OAEP)引入随机性。

补充

  • 教科书式 RSA (Textbook RSA)
    • 弱点:确定性加密(不满足 IND-CPA),保留了乘法同态性(易受篡改)。
  • 典型攻击
    1. 小指数攻击 (Small e):如果 且同个消息发给 3 个不同用户,可用中国剩余定理 (CRT) 直接求立方根恢复明文。
    2. 共模攻击 (Common Modulus):如果多用户共享 不同,已知同一消息的两个密文可恢复明文。
  • RSA-OAEP:通过填充 (Padding) 引入随机性,并在随机预言机模型下被证明是 CCA 安全 的。

ElGamal 加密

  • 基于:离散对数困难 (DDH)。
  • 构造
    • 加密:选随机数 ,计算
    • 解密:
  • 特性:天然是随机化的(因为 ),满足 IND-CPA。

补充

  • 构造
    • 公钥 ,私钥
    • 加密:
  • 安全性
    • 这是一个 随机化 的加密方案(因为 )。
    • 安全性归约到 DDH (判定 Diffie-Hellman) 假设。
    • 延展性:具有同态性质 ,因此 不是 CCA 安全 的。

混合加密 (Hybrid Encryption)

  • KEM (密钥封装) + DEM (数据封装)
  • 用公钥加密(RSA/ElGamal)传输一个短的对称密钥
  • 用对称密钥 (AES)加密长消息。
  • 效率高且安全。