📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の3版が非表示) | |||
| 13行目: | 13行目: | ||
== RSA暗号の仕組み == | == RSA暗号の仕組み == | ||
* 公開鍵 | * 公開鍵 | ||
* | ** n : 2つの素数の積 | ||
* | ** k<sub>1</sub> : <math>\phi(n) = (p - 1)(q - 1)</math>と互いに素な整数k<sub>1</sub> (ただし、<math>1 < k_{1} < n</math>を満たすこと) | ||
* 秘密鍵 | * 秘密鍵 | ||
* | ** 素数p | ||
* | ** 素数q | ||
* | ** φ(n) : <math>(p - 1)(q - 1)</math>の積 | ||
* | ** k<sub>2</sub> : <math>k_1k_2 \equiv 1 \bmod (p - 1)(q - 1)</math>となるk<sub>2</sub> | ||
<br> | <br> | ||
===== メッセージを受け取る側の準備 ===== | ===== メッセージを受け取る側の準備 ===== | ||
| 34行目: | 34行目: | ||
===== メッセージを送る側の暗号化方法 ===== | ===== メッセージを送る側の暗号化方法 ===== | ||
送信するメッセージをMとする時、暗号文をCは、以下の式で求められる。<br> | |||
ただし、<math>\,0 \le M \le n \,</math>を満たす。<br> | |||
<math>C = M^{k_1} \bmod n</math><br> | |||
<br> | <br> | ||
===== メッセージを受け取る側の復号方法 ===== | ===== メッセージを受け取る側の復号方法 ===== | ||
受信した暗号文Cと秘密鍵k<sub>2</sub>を使用して復号する時、以下の式から求められる。<br> | |||
<math>M = C^{k_2} \bmod n</math><br> | |||
<br> | |||
これが元のメッセージに一致する。(後述) | これが元のメッセージに一致する。(後述) | ||
<br> | <br> | ||
===== 安全性 ===== | ===== 安全性 ===== | ||
暗号文Cと公開鍵n、k<sub>1</sub>が分かっても、(現実的な時間では)mを復元することはできない。<br> | 暗号文Cと公開鍵n、k<sub>1</sub>が分かっても、(現実的な時間では)mを復元することはできない。<br> | ||
<br> | <br> | ||
* 復号できる理由 | * 復号できる理由 | ||
*: 暗号化:<math> | *: 暗号化:<math>m^{k_1} \bmod n</math> | ||
*: 復号 :<math> | *: 復号 :<math>C^{k_2} \bmod n</math> | ||
<br> | <br> | ||
証明<br> | 証明<br> | ||