MathLabs
定理已证明

RSA解密的正确性

命题陈述

设 n=pqn = pq 是两个不同素数之积,且 ee 与 dd 满足 ed≡1(modϕ(n))ed \equiv 1 \pmod{\phi(n)}。那么对任意满足 0≤m<n0 \le m < n 的消息 mm,用 ee 加密后再用 dd 解密可以还原出原始消息: (me)d≡m(modn)(m^e)^d \equiv m \pmod n。

为什么成立?

这条定理正是让RSA真正可用的关键:它保证无论发送方用公钥指数加密什么内容,持有私钥指数的人总能解密——对每一个可能的消息都成立,而不仅仅是大多数情形——证明中必须处理消息恰好与模数共享因子的边界情形。

证明思路

由于 ed≡1(modϕ(n))ed \equiv 1 \pmod{\phi(n)},根据模同余的定义,存在非负整数 kk 使得 ed=1+kϕ(n)ed = 1 + k\phi(n) 成立。

情形一:gcd⁡(m,n)=1\gcd(m,n)=1。由欧拉定理有 mϕ(n)≡1(modn)m^{\phi(n)} \equiv 1 \pmod n,将两边同时 kk 次幂再乘以 mm,得到 med=m⋅(mϕ(n))k≡m⋅1k≡m(modn)m^{ed} = m \cdot (m^{\phi(n)})^{k} \equiv m \cdot 1^{k} \equiv m \pmod n。

情形二:gcd⁡(m,n)≠1\gcd(m,n) \ne 1。由于 n=pqn = pq,这意味着 pp 整除 mm 或者 qq 整除 mm(不会同时成立,因为 mm 小于 nn)。在模 pp 下考虑:若 pp 整除 mm,则 mm 与 medm^{ed} 在模 pp 下都同余于 00;否则 gcd⁡(m,p)=1\gcd(m,p)=1,由费马小定理有 mp−1≡1(modp)m^{p-1} \equiv 1 \pmod p,又因为 (p−1)(p-1) 整除 ϕ(n)\phi(n),与情形一相同的计算给出 med≡m(modp)m^{ed} \equiv m \pmod p。在模 qq 下的论证完全相同,给出 med≡m(modq)m^{ed} \equiv m \pmod q。

由中国剩余定理,分别在模 pp 和模 qq 下成立的同余式,在其乘积 n=pqn=pq 下也成立,因此 (me)d≡m(modn)(m^e)^d \equiv m \pmod n 对每一个消息 mm 都成立,而不仅仅是那些与 nn 互素的消息。

用到此定理的主题

分步证明

该定理暂无分步证明。

参考文献

  1. Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone (1996). Handbook of Applied Cryptography
  2. Peter W. Shor (1994). Algorithms for Quantum Computation: Discrete Logarithms and Factoring · arXiv:quant-ph/9508027
  3. National Institute of Standards and Technology (2024). Module-Lattice-Based Key-Encapsulation Mechanism Standard (FIPS 203)