簡単なRSA暗号のサンプル

1 2つの素数(p, q)を入れる。
2 暗号化する文字(アルファベット小文字)を入れる。
3 計算ボタンを押す。

秘密鍵 (p, q) = ( , )  p,qは異なる2個の素数(2〜3桁くらい)
d =


e=65537、edは(p-1)(q-1)で割って1余る数、としてdを計算する。
公開鍵 n = pq =
e = 65537
1)  暗号化する文字
      (アルファベット小文字)

2) 1)の文字を数に変更する
3) 2)を公開鍵で暗号化する
  
    ↑
aが元の数、cが暗号化された数
aをe乗してnで割った余りがc
3') 2)を秘密鍵で暗号化する
  
    ↑
aが元の数、cが暗号化された数
aをd乗してnで割った余りがc
4) 3)を秘密鍵で戻す
  
    ↑
cをaに戻す
cをd乗してnで割った余りがa

正しければ2)と同じはず
4') 3')を公開鍵で戻す
  
    ↑
cをaに戻す
cをe乗してnで割った余りがa

正しければ2)と同じはず
5) 4)の数を文字に戻す
  ちゃんと戻ってる?
5') 4')の数を文字に戻す
  ちゃんと戻ってる?
    暗号化とするときと戻すときに同じ鍵を使うと

(C) 2009 rthcj inserted by FC2 system