すごくメモ帳

すごくほぼメモ帳ぐらいなブログ

公開鍵暗号・RSA暗号のアルゴリズム

アルゴリズム

鍵の生成

  1. 適当な素数$p$, $q$を適当に生成。
  2. 素数$p$と素数$q$の積$n = p \times q$を計算。
  3. $p-1$と$q-1$の最小公倍数を求める。$l=\mathrm{lcm}(p-1, q-1)$
  4. $l$と互いに素な整数$e$を$2<e<l$の範囲で適当に生成。
  5. $d \times e \mod l = 1$となるdを$2<d<l$の範囲で適当に生成。

ここで、$e$と$n$が公開鍵、$d$と$n$が秘密鍵

 暗号化

\[ c = m^e \mod n \]

復号

\[ m' = c^d \mod n \]