MENU

【PKI基礎②】データの暗号化の仕組みについて

インターネットでは、私たちが送るデータが途中で誰かに盗み見られる危険(=盗聴)があります。中には、クレジットカードの番号など、絶対に見られたくない情報もあるかと思います。

困っている猫

じゃあ、どうやって守るの?

ここで使われるのが、「暗号化」という技術です!

目次

🤔暗号化って何?

暗号化とは、データを「見ても意味がわからない形」に変えることです。

例えば

「こんにちは、ねこまるです」 → 「%@#9d*+18$&」のようなデータに変換!

インターネットは誰でも使える「オープンな通路」ですが、こうすれば、誰かがこっそり見ても内容はわかりません。

そして、変換されたデータをもとに戻す(=復号)ことは、正しい鍵をもっている人だけなんです。金庫を開けて中身を見ることができるのは、鍵をもっている人だけというイメージに似ています。

📌 暗号化 → 鍵をかけて、意味不明なデータに変換する
📌 復号 → 鍵をあけて、元に戻す

暗号化と復号のイメージ

暗号化と復号は、「アルゴリズム(計算のルール)」と「鍵(キー)」を組み合わせて動きます。

🔐 暗号化の流れ

暗号化アルゴリズムに「元のデータ」と「鍵(キー)」を入れると、暗号化されたデータが計算されます。

ちなみに「暗号化アルゴリズム」とは、データを暗号化するための計算方法のことです。

🔓 復号の流れ

復号アルゴリズムに「暗号化されたデータ」と「鍵(キー)」を入れると、元のされたデータが計算されます。

ちなみに暗号化されたデータから、元のデータに戻すことを「復号」と呼びます。「復号アルゴリズム」とは、暗号化されたデータを復号するための計算方法のことです。

ここでのポイントは、「正しい鍵がないともとには戻せない」ということです。つまり、通信中のデータが盗み見られたとしても、鍵を持っていない人には意味不明なデータにしか見えないというわけです。

暗号化アルゴリズムの例:シーザー暗号

暗号化アルゴリズムや復号アルゴリズムって難しそうだし、なんかピンとこないって人もいると思います。ですが、実は昔の人が使っていたカンタンな暗号があります。

その名も「シーザー暗号」。古代ローマのカサエル(シーザー)が使っていたとされるアルゴリズムです。

アルゴリズムはとってもシンプルで、アルファベットを「決まった文字数分ずらす」だけです。例えば、ずらす文字数が3の場合、以下の図の通り、”ABC” → “DEF” になります。

シーザー暗号の暗号化のアルゴリズム

また、元に戻すには、各文字を3文字分逆戻りさせます。

シーザー暗号の復号のアルゴリズム

シーザー暗号を例で考えると、暗号化と復号のアルゴリズムは「文字をずらす」、鍵は「3」となります。

暗号化アルゴリズムと復号アルゴリズムをセットにしたものを「暗号化方式」と呼びます。

実際の暗号化アルゴリズムはもっと複雑!

インターネットの通信で暗号化を行うときは、事前にどの暗号化方式を使うか通信相手と決めておきます。その上で、「鍵」を交換しておけば、通信中のデータは安全に守ることができます。

シーザー暗号はとてもシンプルなアルゴリズムですが、実際に使われている暗号化方式は複雑な数式やロジックが使われています。そのため、鍵がない他のユーザーは解読できません。

しかし、基本的な仕組みは同じ!

・どんなルールで暗号化するか(=アルゴリズム)
・暗号化や復号に使うカギ(=鍵)

実際に使われている暗号化方式は、アルゴリズムの仕組みが知られていたとしても、「鍵」がなければ復号できないように作られています。

逆に、鍵がなくても解読できてしますような暗号化方式は使い物になりません。シーザー暗号は鍵が26パターンしかないので、簡単に解読できてしまう暗号化方式です。

安全な暗号化方式は、鍵がなければ復号できません

暗号化方式の種類

インターネットで使われている暗号化方式は、ざっくり分けると以下の2つ

🔑 共通鍵暗号方式(暗号化と復号に同じ鍵を使う)
🗝️ 公開鍵暗号方式(公開鍵と暗号化)

それぞれの特性ごとに、メリットとデメリットがあり、うまく使い分けられています。

次の記事では、このうちの「共通鍵暗号方式」について説明していきます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

フルリモートで働いているセキュリティ系エンジニアです。

このブログでは、技術・在宅ワーク・副業・旅行などについて、 ゆるっと発信しています。猫好き&コーヒー好き。

コメント

コメントする

目次