RSA正确性定理
概述
RSA正确性定理(RSA Correctness Theorem):在RSA密码系统中,对任意消息 ,使用公钥 加密后再使用私钥 解密,能够正确恢复原始消息,即 。
定理陈述
形式化陈述
RSA密钥生成:
- 选择两个大素数 和 ,计算
- 计算欧拉函数
- 选择加密指数 ,满足 且
- 计算解密指数 ,满足
RSA正确性定理:对任意消息 :
等价地,加密 后解密 。
证明概要
证明思路
证明的核心是利用欧拉定理,但需要分两种情况讨论,因为欧拉定理要求 ,而 可能与 不互素。
情况1:
这是最直接的情况,直接应用欧拉定理:
由密钥生成,,即存在整数 使得:
由欧拉定理(因为 ):
因此:
情况2:
此时 与 不互素。由于 且 , 意味着 或 (或两者同时)。
子情况2a: 但
,所以 ,故 ✓
,所以 。由费马小定理( 是素数):
由于 :
由中国剩余定理, 且 ,故:
子情况2b: 且
- ,但 ,故
- ✓
总结
在所有情况下, 均成立,RSA解密正确。
参考资源:
关键推论
- 解密唯一性:在 上,RSA的加密-解密映射是双射(一一对应),保证了消息的可逆性
- 模幂运算效率:加密和解密都只需 或 次模乘法(利用快速幂算法),效率很高
- 安全性基础:RSA的安全性基于大整数分解的困难性——已知 和 ,求 需要知道 ,这等价于分解
- 选择密文攻击的防范:实际应用中需配合适当的填充方案(如OAEP)以防止选择密文攻击
应用场景
在算法导论(CLRS)Ch31数论算法中的具体应用:
- 公钥密码学:RSA是最广泛使用的公钥密码系统之一,用于安全通信、数字签名、密钥交换等
- SSL/TLS协议:HTTPS中的密钥交换阶段使用RSA加密对称密钥
- 数字签名:发送者用私钥对消息摘要签名,接收者用公钥验证,保证消息的完整性和不可否认性
- 模运算:RSA的整个机制建立在模运算的理论基础上,展示了数论在实际系统中的核心地位
- 快速幂:RSA的加密解密过程需要高效的模幂运算,直接使用快速幂算法实现