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) が成り立つ。

場合1: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 が得られる。

場合2: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) を割り切ることから、場合1と同じ計算で 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)