RSA暗号は、公開鍵暗号の一種である。公開鍵暗号とは、暗号化と復号に異なる鍵を用いる暗号のことである。RSA暗号は、1977年にロナルド・リベスト、アディ・シャミア、レナード・アドルマンによって発明された。
RSA暗号は、以下の手順で暗号化と復号を行う。
- 2つの素数
$p$ と$q$ を選ぶ。 -
$n=pq$ とする。 -
$\phi(n)=(p-1)(q-1)$ とする。 -
$\phi(n)$ と互いに素な$e$ を選ぶ。 -
$ed\equiv 1\pmod{\phi(n)}$ となる$d$を求める。$d\times e = x\times \phi(n) + 1$ となる整数$d,x$ が存在する。
このとき、
平文を
RSA暗号が完全性を持つことを証明する。
復号化の過程より
となる。
(i)
となる。
よって、
以上より
となり、
(ii)
(ii-1) ここで、
また、
となる。さらに、
となる。以上の結果より中国の剰余定理の条件を満たし、
(ii-2)
(ii-1)と同様に、
(ii-3)
このとき、
であるから、
以上より、