暗号化技術について【共通鍵暗号方式】

こんにちわ!品質管理の古家です。

共通鍵暗号方式と公開鍵暗号方式の学習したので、そこで今回はまず、共通鍵暗号方式の紹介をしたいと思います。

目次はこちら

  • 1. インターネット通信の暗号化は何故、必要なのでしょうか?
  • 2. 「平文」「暗号化」「復号」「鍵」について
  • 3. 「共通鍵暗号方式」とは?

インターネット通信の暗号化は何故、必要なのでしょうか?

そもそもインターネット通信の暗号化は何故、必要なのでしょうか?
みなさん、日々、PCやスマートフォンを使って、インターネットのあらゆるサービスを利用しているかと思います。ネットショッピング、ネットバンキング、Youtube、ゲーム、メールなどなど。

例えば、ネットショッピングだと、クレジットカード、住所、電話番号などの個人情報を入力して購入していますよね。こういった情報がもし、悪意のある第三者に勝手に盗み見られたら、とてもまずいですよね。

そこで登場するのが、インターネット通信の暗号化の技術になります。

【インターネット通信の暗号化とは?】
悪意のある第三者に勝手に盗み見られても、書かれている内容は分からないようにすること。

「平文」「暗号化」「復号」「鍵」について

共通鍵暗号方式の紹介をするにあたって、まず説明しなければならない言葉があります。
「平文」「暗号化」「復号」「鍵」についてです。

「平文」とは?

暗号化されていないデータのことを「平文(ひらぶん)」と呼びます。
平文とは特別な処理や解読作業を行わなくても意味が通るデータのことを指します。
かつては文章(テキスト)の暗号化がメインであったため平文と呼ばれていますが、現在では文章だけではなく画像や音声などのデータも含めて「平文」とされています。

例えば私がネットショッピングにて買い物をしようとした際に、会員登録しようとして下記のパスワードを入力して会員登録したとします。(※通常、英数字ですが、例で使うため、わかりやすく日本語にします)

PW:からあげ

このパスワード “からあげ” が「平文」にあたります。

「暗号化」とは?

一定のルールに基づき、「平文」を「暗号文」に変換することを「暗号化」といいます。
先程の例、 “からあげ” というパスワードを、ルールを使って、暗号化してみます。

ルール:ひと文字ずつ後ろにずらす。

「か」→「き」
「ら」→「り」
「あ」→「い」
「げ」→「ご」

パスワードは暗号化され、 “きりいご” になりました。これならば、たとえ、第三者に見られても、意味がわからないですよね。

「復号」とは?

「暗号文」を「平文」へ戻すことを「復号」といいます。
先程の例、暗号化した “きりいご” という文章を、ルールを使って「復号」してみます。

ルール: “ひと文字ずつ後ろにずらす” というルールだったので、逆に、ひと文字ずつ戻します。

「き」→「か」
「り」→「ら」
「い」→「あ」
「ご」→「げ」

これで、パスワードが元の “からあげ” に戻りました。
このように、元の形に戻すことを「復号」と言います。

「鍵」とは?

例で説明した、「ひと文字ずつずらす」というような、暗号化・複合を行うために使うデータを「鍵」と呼びます。

「共通鍵暗号方式」とは?

「共通鍵暗号方式」とは、送り手(暗号化する側)と受け手(復号する側)が同じ鍵(共通鍵)を使う暗号方式のことをいいます。
この鍵は第三者に知られてしまうと意味がないため、秘密しておく必要があります。そのことから、「共通鍵」のことを「秘密鍵」とも呼ばれ、「共通鍵暗号方式」は「秘密鍵暗号方式」とも呼ばれます。

それでは例でおさらいします。

例えば、「Aさん」が「Bさん」にデータを送るとしましょう。

1. Aさんは、「共通鍵」を使って、データを暗号化します。
2. Aさんは、「暗号化したデータ」と「共通鍵」をBさんに送ります。
3. BさんはAさんから「暗号化されたデータ」と「共通鍵」を受け取りました。
4. Bさんは、受け取った「共通鍵」を使って、「暗号化されたデータ」を復号(元に戻す)します。
このように同じ鍵を使って「暗号化」や「復号化」するやり方が、「共通鍵暗号方式」です。

メリットとしては、鍵さえあれば復号できます。
デメリットとしては、鍵を悪意ある第三者の手に渡ると意味がないため、鍵の安全な保管・受け渡しが必要です。そして、データをやり取りする人数が増えるにつれて、管理すべき鍵の数が膨れ上がってしまいます。

そこで登場するのが、「公開鍵暗号方式」です。

これについては、また改めて説明したいと思います!今回は暗号化の最初の話として、「共通鍵暗号方式」について、「暗号化」「復号」「鍵」と併せて説明しました。

次回もどうぞ宜しくお願い致します。

Related post

  1. Chromeのデベロッパーツール

    Chrome DevToolsでJavaScriptのデバッグ!

  2. chrome- DevTools

    Chrome DevToolsで条件付きデバッグ!

  3. ログ監視ツールLogwatchのススメ

  4. SSL

    無料SSL証明書 Let’s Encryptのススメ

  5. TinyMCE

    TinyMCEを使おう

  6. JavaScriptとは

    JavaScript「prototype」とは?

Comment

  1. No comments yet.

  1. No trackbacks yet.

CAPTCHA