RSA暗号の仕組みの補足です。
はじめに #
こんにちは、IKです。
自分が学んだことを文書として記録しておこうと考え、記述します。
以前記述した、 RSA暗号の仕組み についての補足です。
目的 #
RSA暗号の仕組みで省略した部分を補完することが目的です。
具体的にはここを補完します、
「なぜ、上記の式を満たす時、xe⋅d≡xmodN が成り立つのかというのは今回は省略します。」
逆に RSA暗号の仕組み 内で紹介したことは省略します。
- ①
e⋅d≡1modlcm(p−1,q−1)
- ②
xe⋅d≡xmodN
xがp q と互いに素であり、①の式を満たす時、②の式を満たす理由の説明をします。
説明 #
記号 | 説明 |
---|
x | 送信したい平文、p , q と互いに素、x<N |
d | 秘密鍵 |
e | 公開鍵 |
mod | 剰余演算(プログラミングの%) |
N | 公開されている法数 |
p | Nの素因数 |
q | Nの素因数 |
≡ | 合同 |
k | 整数 |
上記の表を前提として進めます。
フェルマーの小定理において①の式が成立します。
- ①
xlcm(p−1,q−1)≡1modN
①の式の lcm(p−1,q−1) に整数 k を掛けたとしても法数N上において1と合同です。
1k≡1modN だからです。
- ②
xk⋅lcm(p−1,q−1)≡1modN
さらに、lcm(p−1,q−1)の式に 1 を加算した場合、法数N上において、x と合同です。
③
xk⋅lcm(p−1,q−1)+1≡xmodN
④
xe⋅d≡xmodN
③と④の2つの式を加味すると、k⋅lcm(p−1,q−1)+1 と e⋅d は下記の式に変形できます。
- ⑤
e⋅d =k⋅lcm(p−1,q−1)+1
⑤の式の両辺を lcm(p−1,q−1)で剰余演算をします。
- ⑥
e⋅d≡k⋅lcm(p−1,q−1)+1modlcm(p−1,q−1)
右辺の k⋅lcm(p−1,q−1) は lcm(p−1,q−1) で剰余すると 0 になります。
0 に +1 しているので右辺は 1 と合同となります。
k⋅lcm(p−1,q−1)+1≡1modlcm(p−1,q−1)
よって、下記の式に変形することができます。
- ⑦
e⋅d≡1modlcm(p−1,q−1)
終わりに #
以前書いた記事の補足補完として記述しました。
備忘録としてこの文書を残しますが、誰かの学びの糧となれば幸いです。
最後までお読みいただきありがとうございました。