ITパスポート講座

【初心者向け】公開鍵暗号方式をわかりやすく解説!

こんにちは、インフラエンジニアのryuです。

今回の記事では、初心者向けに公開鍵暗号方式をわかりやすく解説します。公開鍵暗号方式は、公開された鍵を使用してデータを暗号化する方法です。暗号化されたデータは秘密鍵と呼ばれるものを使って元のデータに戻します。この公開鍵暗号方式を図解でわかりやすく解説します。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

公開鍵暗号方式をわかりやすく解説!

公開鍵暗号方式って何?

公開された鍵で暗号化する方法です!

今回の記事では、公開鍵暗号方式について解説します。

暗号化方式は、「どうやって暗号化してどうやって元のデータに戻すのか」という部分がややこしいです。

私も暗号化方式を理解するのに苦労しました・・・

ややこしい部分を初心者の方でもわかりやすいように丁寧に解説します。難しい理屈は抜きで説明します!

では、やっていきましょう!

暗号化するための鍵とは?

公開鍵暗号方式の鍵って何?

まず、公開鍵暗号方式の名前の中に”“という文字があります。そもそも鍵とは何なのでしょうか?

鍵とは以下の通りです。

暗号技術において、鍵(かぎ、key)とは、暗号アルゴリズムの手順を制御するためのデータである。

(wikipediaより)

鍵とは、暗号アルゴリズムの手順を制御するためのデータ。つまり、データーを暗号化・復号化するためのものになります。

イメージは以下のようになります。

なぜ暗号化をする必要があるのか?

先ほどまで、鍵でデータを暗号化したり復号化つまり元のデータに戻したりすると説明しました。

では、そもそもなぜデータを暗号化する必要があるのでしょうか?

それは、インターネット上でやり取りされるデータは盗聴される可能性が高いからです。

例えば、インターネットで買い物をするとき、サイトにどのようなデータを入力しますか?名前、家の住所、クレジットカードの番号など、様々な機密データをインターネット上のサーバーに送信する必要があります。

この機密データを暗号化せずにそのまま送信すると、悪意の持った人に盗聴される恐れがあります。

インターネット上に流れているデータを盗聴することは難しくないため、簡単に情報が盗まれてしまいます。このようなことが起こらないようにデータを暗号化する必要があります。

公開鍵暗号方式の仕組みとは?

鍵を使ってデータを暗号化することは分りました。でも公開鍵暗号方式はどうやっているの?

先ほどまで、鍵をつかって暗号化することや、暗号化の必要性について解説しました。

ここからが本題で、公開鍵暗号方式の詳しい仕組みを解説します。ここまでの内容が理解できている人ならば簡単に理解することができます。

暗号化する鍵を公開する

公開鍵暗号方式は暗号化する鍵を公開します。

公開鍵暗号方式は暗号化する鍵を公開します。

公開鍵暗号方式は暗号化する鍵と復号化する鍵の2種類があります。公開するのは、暗号化する鍵のみです。復号化する鍵は公開しないので、秘密鍵と呼ばれます。

まとめると以下のようになります。

  • 暗号化する鍵→公開する(公開鍵)
  • 復号化する鍵→公開しない(秘密鍵)

この2つの鍵はセットになっています。つまり、同じセットの公開鍵と秘密鍵を使用しなければ、正常に復号化できないようになっています。

この公開鍵と秘密鍵を使って、どのように暗号化しているのか流れを確認してみましょう!

公開鍵暗号方式の流れ

ここからは、公開鍵暗号方式の流れを詳しく解説します。

まず、AさんからBさんの通信を暗号すると想定します。Aさんが送信すデータを暗号化してBさんが復号してデータを閲覧します。

公開鍵暗号方式でややこしい部分は、「誰の鍵を使っているのか」という部分です。

まず、Aさんは暗号化するための鍵が必要です。この暗号鍵はBさんの公開鍵です。そのため、BさんはAさんに公開鍵を渡します。

AさんはBさんから送られてきた公開鍵を使用してデータを暗号化します。

そして、Aさんはこのデータを送信して、Bさんは自分の秘密鍵を使用してデータを元に戻します。

これが、公開鍵暗号方式の流れとなります。

まとめると、以下のようになります。

  1. 公開鍵を通信相手に渡す
  2. 通信相手は公開鍵を使用して暗号化
  3. 暗号化されたデータを秘密鍵を使用して復号

公開鍵暗号方式まとめ

ここまで、公開鍵暗号方式の解説をしました。鍵を使った暗号化方式は良く使われます。すべてのITに携わるエンジニアに必須の知識です。

しっかりと仕組みを理解して、業務で活かせるようにしましょう。

さらに知識を身に付けたい方はこちらの参考書がオススメです。

IT初心者の方はこちらの参考書が分かりやすいのでオススメです。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST