共通鍵暗号方式と公開鍵暗号化方式の違い
どうもたまきです。
みなさんいかがお過ごしでしょうか。
今回は共通鍵と秘密鍵について調べたことをアウトプットしていこうと思います。
言葉で説明できない時はkeynoteを使えばいいということに最近気づきました私です。
暗号とは
元の文を書き換えたり、隠したりすることである一定の人にしか解釈できないようにするための文のことです。
カエサル暗号、古典暗号、エニグマ、、など古代からいろいろな暗号が使われてきていますが
インターネット上ではセキュリティーを守るための技術として幅広く応用されています。
暗号を使うことで、 第三者が通信の内容を確認できないようにすることが可能です。
以下はよく出てくるキーワードです!!
1 2 3 |
平文 = 暗号化される前の何も手を加えられていない文章のこと。 暗号化 = 文章を暗号にすること。 復号化 = 暗号化された文章(暗号文)を平文に戻すこと。 |
その中で代表的な共通鍵暗号と公開鍵暗号について説明します。
共通鍵暗号方式とは
そもそもクラアントが文書を送信する際、「鍵」を使って暗号化します。
そしてサーバー側も「鍵」を使って受け取った文章を復号します。
共通鍵暗号とは、暗号化と復号化に同じ鍵を使う方式のことです。
ただこの方式だと、第三者が鍵を手に入れることができます。
悪質な第三者も同様にクライアントからサーバー宛に送った文書を復号することができるのです。
(鍵と内容を一緒に送信するので、当然かもしれません。。)
公開鍵暗号方式とは
公開鍵暗号方式とは、暗号化する鍵と復号かする鍵が異なる認証方式です。
その二つの鍵のことを「公開鍵」「認証鍵」といい、
・公開鍵で暗号化したデータは秘密鍵でしか復号できない
・秘密鍵で暗号化したデータは公開鍵でしか復号できない
というルールを持っています。
1「秘密鍵」と「公開鍵」の二つを作成します。
2「公開鍵」を送信側へ渡します。
3 送信側は、送りたい文書を「公開鍵」を作って暗号化します。
4 暗号化された文書を受信側へ送信、受信側はそれを「秘密鍵」を使って復号します。
5 受信側はそれを「秘密鍵」を使って復号します。
この方法だと、受信側しか秘密鍵を持っていないので、
第三者が文書を復号することができません。
共通鍵暗号方式に比べて、第三者に復号されない送信が可能となります。
公開鍵暗号方式のデメリット
共通鍵暗号方式の欠点を克服するもデメリットは存在するのです。
デメリット
1 2 |
・一方通行の使い方しかできない。逆に送信と受信を交代するとまた鍵の作成が必要となる ・処理が複雑になるため処理速度が遅くなる |
これらを克服するために、共通鍵と公開鍵の両方を使った暗号方式があります。
ハイブリット暗号方式
①受信側が秘密鍵と公開鍵を作成し、送信側がその公開鍵を取得(図の黄色い鍵=秘密鍵 黒=公開鍵)
②送信側は共通鍵を作成し、送信したい文章を暗号化する。暗号化に使った共通鍵を公開鍵で暗号化。
③暗号化された文書と暗号化された共通鍵を送信。
④受信側は①で作成した秘密鍵で共通鍵を復号。共通鍵で受信した文書を復号。
共通鍵を公開鍵暗号で受渡しするシステムの完成です。
https://www.youtube.com/watch?v=7dSVR_zuJJs
最近、オリラジの田中敦彦さんが暗号解読の歴史についてお話しされていました!古代の暗号解読についてわかりやすく説明してくれていますのでぜひご覧ください!!
では次回!
おしまい!