アットウィキロゴ
A:送信者、B:受信者


(1)B は大きな素数 p , q を選び秘密鍵とする。
m = pq とおき、e を (p - 1)(q - 1)と互いに素な自然数とする。
m と e は公開鍵。

(2)A は情報を x ∈ Z_m で表し、x^e mod m を B に送る。

(3)e と (p - 1)(q - 1) は互いに素なので、
\exists s,t \ (s \in \mathbb{N}, t \in \mathbb{Z}, 1 \leq s \leq (p-1)(q-1))
s.t. \ \ se + t(p-1)(q-1) = 1
(拡張ユークリッド互除法)
この s を使って、
(x^e)^s = x^{se} = x^{1-t(p-1)(q-1)} \mod m = x
と復元できる。(s は (p-1)(q-1) が分からないと生成できず、そのためには秘密鍵 p , q が必要)



(3)の最後の等式の成り立つ理由
いま、x は「p の倍数でも q の倍数でもない」「p の倍数であって q の倍数でない」「p の倍数でなくて q の倍数」
のいずれかになっている。

  • x が「p の倍数でも q の倍数でもない」とき
x^{-t(p-1)(q-1)} \equiv 1 \ \ \ (mod \ m)
が成立するため、(3)の最後の等式が成り立つ。

(証明)
命題を示すには、
x^{-t(p-1)(q-1)} - 1
が m = pq の倍数であること、すなわち p の倍数かつ q の倍数であることを示せばよい。

x は p の倍数でない(このとき p:素数 より x と p は互いに素)ので、
フェルマーの小定理より、
x^{p-1} \equiv 1 \ \ \ (mod \ p)
よって、両辺を -t(q-1) 乗(t ≦ 0 に注意)すれば
x^{-t(p-1)(q-1)} \equiv 1 \ \ \ (mod \ p)
よって
x^{-t(p-1)(q-1)} - 1
は p の倍数になる。
同様に、x は q の倍数でもないので、
x^{-t(p-1)(q-1)} - 1
は q の倍数になる。

以上より、上の命題が示せたこととなる。

  • x が「p の倍数であって q の倍数でない」とき
x \equiv 0 \ \ \ (mod \ p)
の両辺を 1-t(p-1)(q-1) 乗すれば
x^{1-t(p-1)(q-1)} \equiv 0 \equiv x \ \ \ (mod \ p)
を得る。
一方、x は q の倍数でないので、上の議論より
x^{-t(p-1)(q-1)} \equiv 1 \ \ \ (mod \ q)
x^{1-t(p-1)(q-1)} \equiv x \ \ \ (mod \ q)
となる。
これらの結果より
x^{1-t(p-1)(q-1)} - x
は p の倍数かつ q の倍数となるので、pq(= m ) の倍数となる。
よって(3)の最後の等式が成り立つ。

  • x が「p の倍数でなくて q の倍数」とき
上の議論と同様である。


(注意)
一般に
a \equiv b \ \ \ (mod \ c) \Rightarrow a^n \equiv b^n \ \ \ (mod \ c)
である。なぜなら
a = b + Nc
より
a^n = (b + Nc)^n
= b^n + \left( \sum_{r=1}^{n} \binom{n}{r} b^{n-r} N^r c^r \right)
= b^n + c \left( \sum_{r=1}^{n} \binom{n}{r} b^{n-r} N^r c^{r-1} \right)
となるため。



(例)
p = 11, q = 13, m = pq = 143, (p - 1)(q - 1) = 120, e = 7 とする。
送信情報を 1, 7, 4, 5 とすれば x^e mod m は
1^7 = 1, \ 7^7 = 823543 \equiv 6, \ 4^7 = 16384 \equiv 82, \ 5^7 = 78125 \equiv 47
(暗号化された情報)

103×7 - 6×120 = 1 より s = 103 なので、
1^{103} = 1, \ 6^{103} \ mod \ 143 = 7, \ 82^{103} \ mod \ 143 = 4, \ 47^{103} = 5
とすれば情報を復元できる。
最終更新:2012年08月31日 01:32