RSA正确性定理

概述

RSA正确性定理(RSA Correctness Theorem):在RSA密码系统中,对任意消息 ,使用公钥 加密后再使用私钥 解密,能够正确恢复原始消息,即

定理陈述

形式化陈述

RSA密钥生成

  1. 选择两个大素数 ,计算
  2. 计算欧拉函数
  3. 选择加密指数 ,满足
  4. 计算解密指数 ,满足

RSA正确性定理:对任意消息

等价地,加密 后解密

证明概要

证明思路

证明的核心是利用欧拉定理,但需要分两种情况讨论,因为欧拉定理要求 ,而 可能与 不互素。

情况1:

这是最直接的情况,直接应用欧拉定理

  1. 由密钥生成,,即存在整数 使得:

  2. 由欧拉定理(因为 ):

  3. 因此:

情况2:

此时 不互素。由于 意味着 (或两者同时)。

子情况2a:

  1. ,所以 ,故

  2. ,所以 。由费马小定理( 是素数):

  3. 由于

  4. 由中国剩余定理,,故:

子情况2b:

  1. ,但 ,故

总结

在所有情况下, 均成立,RSA解密正确。

参考资源

关键推论

  • 解密唯一性:在 上,RSA的加密-解密映射是双射(一一对应),保证了消息的可逆性
  • 模幂运算效率:加密和解密都只需 次模乘法(利用快速幂算法),效率很高
  • 安全性基础:RSA的安全性基于大整数分解的困难性——已知 ,求 需要知道 ,这等价于分解
  • 选择密文攻击的防范:实际应用中需配合适当的填充方案(如OAEP)以防止选择密文攻击

应用场景

在算法导论(CLRS)Ch31数论算法中的具体应用:

  1. 公钥密码学:RSA是最广泛使用的公钥密码系统之一,用于安全通信、数字签名、密钥交换等
  2. SSL/TLS协议:HTTPS中的密钥交换阶段使用RSA加密对称密钥
  3. 数字签名:发送者用私钥对消息摘要签名,接收者用公钥验证,保证消息的完整性和不可否认性
  4. 模运算:RSA的整个机制建立在模运算的理论基础上,展示了数论在实际系统中的核心地位
  5. 快速幂:RSA的加密解密过程需要高效的模幂运算,直接使用快速幂算法实现

参见