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暗号の仕組みについて
簡単にご紹介します。
今日も最後まで読んでいただいてありがとうございました。
