Webで数学!RSA暗号を使ってみよう! | Webであなたの夢が叶う!

Webであなたの夢が叶う!

Webを活用して一歩ずつ「夢」に近づきませんか?
みなさんのサポートブログです。    

こんにちは。
Webであなたの夢が叶う!のHirokoです。

Webで数学、
RSA暗号を使ってみよう!です。

昨日に引きついて
RSA暗号(
アール・エス・エー暗号)についてです。

今日は実際に暗号化・復号化を行ってみましょう!

昨日は、
素数から任意の2数を選んでかけあわせ、
その数を上限とするn進数を利用して
「べき乗」にした数表を作りました。

親愛なるNさんの誕生日3月11日から
素数:3と11を選び、

 3 × 11 = 33

で33
進数の利用を決めました。

33進数で使う数字は0から32までですね。
0から32までを利用した「べき乗」数表を使います。

この表を使って暗号化・復号化してみましょう。

いま、
平文の数値列を「7 13 17 24」とします。
実際に文字を暗号化する場合も文字は数値に変換して
使います。

 ① 受信者は
   公開している鍵である
   「べき乗」数表の任意の数「3」で暗号化して
   メッセージを送るように送信者に伝えます。 

 ② 送信者は
   受信者が指定した公開鍵
「3」
   
メッセージ「7 13 17 24暗号化、
   ここで
「べき乗」数表を使います。
     7は3乗すると13
    13は3乗すると19
    17は3乗すると29
    24は3乗すると30
   「13 19 29 30」と暗号化して送ります。

 ③ 受信者は
   
公開鍵「3」に対応する秘密鍵を求め、
   この鍵で暗号文を復号化します。

   秘密鍵を求める計算式はちょっと複雑なのですが、

   S = n × 2
 × 10 + 1 
             公開鍵「3」 

   nを1とおいて求めると秘密鍵は「7」になります。
   
   では、
   
秘密鍵「7」で復号化してみましょう。
   ここでも「べき乗」数表を使います。
    13は7乗すると 7
    19は7乗すると13
    29は7乗すると17
    30は7乗すると24
   「7 13 17 24」となり、
   平文に戻りました。

いかがでしたか?
暗号化ってこんな仕組みなのか・・・
とわかっていただけたかと思います。

自分でも独自の暗号手法を編み出してみると
世界中が驚くような暗号を考案することが
できるかもしれませんよ。


今日も最後まで読んでいただいてありがとうございました。