Webで数学!公開鍵暗号と秘密鍵暗号 | Webであなたの夢が叶う!

Webであなたの夢が叶う!

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

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

Webで数学、
公開鍵暗号と秘密鍵暗号です。

現代暗号における「鍵」は
暗号化、複号化に必要なものです。

 暗号化 ⇒ 鍵をかける

 複号化 ⇒ 鍵をあける

この作業のときに
 ・公開鍵
 ・秘密鍵

というアルゴリズムを使います。

歴史的にみると、
はじめに「
秘密鍵」という暗号方式が考案され、
広く使われていたのですが、
1976年に
より安全性の高い「公開鍵」方式が考案されると、
この2方式は併行して
使われるようになったのです。

その理由は、
公開鍵暗号」は「秘密鍵暗号」よりも処理が複雑で、
通信時間やコストもかかるためです。

では、
2つの暗号方式について詳しくみていきましょう!

◆ 秘密鍵暗号

  秘密鍵暗号とは、
  暗号化と複号化に同じ鍵を用いる暗号方式です。

  では実際に、
  メッセージ「5678」を送る場合をみてみましょう。

 ① 送信者と受信者は
   まず「鍵」について取り決め(共有)をします。

   この場合、
    ・鍵「1234」を使うこと
    ・鍵をメッセージに加算すること
   を決めます。

 
 ② 送信者は
   
メッセージ「5678」+鍵「1234」
   =「6912」と暗号化して送ります。

 ③ 受信者は
   
暗号文「6912」を
   鍵「1234」で復号化して
   
メッセージ「5678」を受け取ります。

悪意のある第三者が暗号文「6912」をみても
鍵がないとメッセージはわかりませんね。

しかし、
①の
あらかじめ送信者と受信者で「鍵」を
共有しておく必要があり、
このときに
悪意のある第三者に鍵がわかってしまうと
本も子もありません。


◆ 公開鍵暗号

  公開鍵暗号は、
  暗号化と複号化に異なる鍵を用いる暗号方式です。

 ① 受信者は
   公開している鍵「XXXX」で暗号化して
   メッセージを送るように
送信者に伝えます。
 
 ② 送信者は

   受信者が指定した公開鍵
「XXXX」
   
メッセージ「5678」暗号化、
   メッセージ「5678」+鍵「XXXX」
   =「YYYY」と暗号化して送ります。

 ③ 受信者は自分しか知らない秘密鍵「ZZZZ」で
   復号化して
メッセージ「5678」を受け取ります。

この場合は、
悪意のある第三者に鍵がわかってしまっても
公開鍵「XXXX」では復号化できないため
もとのメッセージ「5678」はわかりませんね

いかがでしたか?

この
公開鍵暗号のアルゴリズムである
RSA暗号の仕組みに
「フェルマーの小定理」が応用されています。

次回は、
その
RSA暗号の仕組みについて
簡単にご紹介します。


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