RSA 的安全性如何?


RSA 的安全性如下:

  • 明文攻击

    明文攻击分为以下三个子类别:

    短消息攻击:在短消息攻击中,攻击者可能知道一些明文块。如果这个假设成立,攻击者可以尝试加密每个明文块,看看是否得到已知的密文。

    因此,为了避免这种短消息攻击,建议在加密前填充明文。

    循环攻击

    在这种攻击中,攻击者假设密文是通过对明文进行某种排列获得的。如果这个假设成立,攻击者可以反向操作,即连续对已知的密文进行排列,尝试获得原始明文。

    未隐藏消息攻击:理论上发现,对于某些非常有限的明文消息,加密会产生与原始明文相同的密文。如果发生这种情况,原始明文消息就不能保密。因此,这种攻击被称为未隐藏消息攻击。

  • 选择密文攻击:在选择密文攻击中,可以使用扩展欧几里得算法根据已知的密文找出明文。

  • 因式分解攻击:RSA 的安全性完全依赖于攻击者无法将数字 N 分解为两个因子 P 和 Q 的假设。如果攻击者能够从方程式 N = P x Q 中找出 P 或 Q,那么攻击者就能找出私钥。

    假设 N 的十进制位数至少为 300 位,攻击者就无法简单地找出 P 和 Q。因此,因式分解攻击失败。

  • 对加密密钥的攻击:精通 RSA 数学的人有时会觉得它很容易,因为它需要一个很大的公钥或加密密钥 E。

    这也使得 RSA 更安全。因此,如果试图通过使用较小的 E 值来加快 RSA 的工作速度,可能会导致被称为对加密密钥的攻击,因此建议将 E 值设置为 216 + 1 = 65537 或接近这个数值。

  • 对解密密钥的攻击:对解密密钥的攻击如下:

    • 泄露解密指数攻击:如果攻击者以某种方式获得了解密密钥 D,那么不仅使用相应的加密密钥 E 加密明文生成的密文处于危险之中,即使未来的消息也处于危险之中。为了避免这种泄露解密指数攻击,建议发送方也使用新的 P、Q、N 和 E 值。

    • 低解密指数攻击:使用较小的解密密钥 D 值来加快 RSA 的工作速度是很诱人的。这可能使攻击者能够通过发起低解密指数攻击来猜测解密密钥 D。

更新于:2022年3月14日

3K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告