「RSA暗号」の版間の差分

提供:ペチラボ書庫
ナビゲーションに移動 検索に移動
(ページの作成:「RSA暗号は公開鍵暗号の一つで、大きい数の素因数分解が困難であることを安全性の根拠としている。 == 手法 == メッセージ <math>m</math> を暗号化する。 === 鍵の生成 === # 素数 <math>p,q</math> を用意する # 合成数 <math>N=pq</math> をつくる # <math>(p-1)(q-1)</math> と互いに素な整数 <math>e</math> をとる # <math>ed</math> を <math>(p-1)(q-1)</math>で割った余りが1になるよ…」)
 
編集の要約なし
 
4行目: 4行目:
メッセージ <math>m</math> を暗号化する。
メッセージ <math>m</math> を暗号化する。
=== 鍵の生成 ===
=== 鍵の生成 ===
受信者が鍵を生成する。
# 素数 <math>p,q</math> を用意する
# 素数 <math>p,q</math> を用意する
# 合成数 <math>N=pq</math> をつくる
# 合成数 <math>N=pq</math> をつくる
# <math>(p-1)(q-1)</math> と互いに素な整数 <math>e</math> をとる
# <math>(p-1)(q-1)</math> と互いに素な整数 <math>e</math> をとる
# <math>ed</math> を <math>(p-1)(q-1)</math>で割った余りが1になるように 整数 <math>d</math> をとる
# <math>ed</math> を <math>(p-1)(q-1)</math>で割った余りが1になるように 整数 <math>d</math> をとる
このうち <math>e, N</math> を送信者に伝える。


=== 暗号化 ===
=== 暗号化 ===

2024年9月23日 (月) 15:52時点における最新版

RSA暗号は公開鍵暗号の一つで、大きい数の素因数分解が困難であることを安全性の根拠としている。

手法

メッセージ [math]\displaystyle{ m }[/math] を暗号化する。

鍵の生成

受信者が鍵を生成する。

  1. 素数 [math]\displaystyle{ p,q }[/math] を用意する
  2. 合成数 [math]\displaystyle{ N=pq }[/math] をつくる
  3. [math]\displaystyle{ (p-1)(q-1) }[/math] と互いに素な整数 [math]\displaystyle{ e }[/math] をとる
  4. [math]\displaystyle{ ed }[/math][math]\displaystyle{ (p-1)(q-1) }[/math]で割った余りが1になるように 整数 [math]\displaystyle{ d }[/math] をとる

このうち [math]\displaystyle{ e, N }[/math] を送信者に伝える。

暗号化

[math]\displaystyle{ c = m^e ~\%~ N }[/math]

復号

[math]\displaystyle{ m = c^d ~\%~ N }[/math]