暗号化/復号
暗号化は、意味の理解できる元データ(平文、クリアテキスト)を一定の規則で変換し、第三者が解読できないデータ(暗号文)にすることです。
復号とは、反対に暗号化されたデータ(暗号文)を元のデータ(平文)に戻すことです。
具体的に、 A さんが『おはよう』という情報をBさんに送信する場合で考えます。
Aさんは、『おはよう』を一定の規則(一文字先にずらす)で暗号化し、送信します。万が一、通信経路で第三者に盗聴されても、情報の意味を理解できません。
さらに、B さんが暗号文を受信します。B さんは、復号の法則(一文字後にずらす)を理解しているので、暗号文を復号し、Aさんの『おはよう』という情報を得ることができます。
暗号方式
暗号化/復号では、暗号化鍵/復号鍵と呼ばれるデータ(短い符号)を用います。この鍵の違いで、暗号方式には、共通鍵暗号方式、公開鍵暗号方式、ハイブリット鍵暗号方式があります。
説明 | |
---|---|
共通鍵暗号方式 | 暗号化と復号で同じ鍵(共通鍵)を用いる方式 |
公開鍵暗号方式 | 暗号化と復号でペアになった受信者の鍵を用いる方式 |
ハイブリット暗号方式 | 共通鍵暗号方式と公開鍵暗号方式を合わせた暗号化方式 |
共通鍵暗号方式
共通鍵暗号方式は、暗号化と復号で共通鍵と呼ばれる同じ鍵を用いる方式です。
具体的に、共通鍵暗号方式での通信を確認します。送信者(Aさん)が 受信者(B さん)へ『おはよう』という情報を送りたい場合で考えます。
工程 | 説明 |
---|---|
① | 送信者(Aさん)が共通鍵を作成 |
② | 送信者(Aさん)が受信者(Bさん)へ共通鍵を送付 |
③ | 送信者(Aさん)は平文を共通鍵で暗号化 |
④ | 送信者(Aさん)は暗号文を送信 |
⑤ | 受信者(Bさん)は共通鍵で復号 |
このように、暗号化と復号で同じ鍵を使うので、共通鍵暗号方式と呼びます。
共通鍵暗号方式の特徴
共通鍵暗号方式を『暗号化/復号の計算速度』、『鍵送付の安全性』、『必要な鍵の個数』の観点で、特徴を整理すると次の表になります。
共通鍵暗号方式 | |
---|---|
暗号化/復号の速度 | 速い (計算量が少ない) |
鍵の配送 | 危険 |
通信に必要な鍵の数 n:通信相手の数 | 多い n(n-1)/2[個] |
暗号化/復号の計算速度
共通鍵暗号化方式は、他の暗号化方式(公開鍵暗号化方式)に比べ、計算速度が速いです。この理由は、暗号化/復号に必要な計算量が少ないためです。
鍵送付の安全性
共通鍵暗号方式は、共通鍵を送付する際(②)、共通鍵が第三者へ流出する危険性があります。したがって、共通鍵は第三者には秘密にする必要があるため、安全な送付に配慮する必要があります。
必要な鍵の個数
共通鍵暗号方式では、通信相手ごとに共通鍵を用意する必要があります。したがって、通信の相手が多くなると、共通鍵の個数も増えていきます。
複数人がお互いに通信する場合、全体で必要な共通鍵の個数は、次のように増えます。
また、N人での通信の場合、必要な共通鍵の個数は次の式で計算できます。
$$鍵の個数=\frac{n(n-1)}{2}[個]$$
『必要な共通鍵の個数』は、『N人から2人選ぶ組み合わせ』に等しいので、組み合わせの公式から導出も可能です。
$$
\begin{align}
鍵の個数 &= {}_{n}C_{2}\\\\
&= \frac{n(n-1)}{2!}= \frac{n(n-1)}{2×1}\\\\
&= \frac{n(n-1)}{2}[個]
\end{align}
$$
公開鍵暗号方式
公開鍵暗号方式は、暗号化と復号でペアになった鍵を用いる方式です。暗号化の鍵を公開鍵、複合の鍵を秘密鍵と呼びます。
先ほどと同様に 、送信者(Aさん)が 受信者(B さん)へ『おはよう』という情報を送る場合で考えます。
工程 | 説明 |
---|---|
① | 受信者(Bさん)が公開鍵(暗号化鍵)と秘密鍵(復号鍵)を作成 |
② | 受信者(Bさん)は公開鍵を送信者(Aさん)含め第三者まで公開 |
③ | 送信者(Aさん)は平文を受信者(Bさん)の公開鍵で暗号化 |
④ | 送信者(Aさん)は暗号文を送付 |
⑤ | 受信者(Bさん)は秘密鍵で復号 |
公開鍵暗号方式では、暗号化に『受信者の公開鍵』、復号に『受信者の秘密鍵』を用いることは重要なポイントです。
復号するための秘密鍵は第三者に秘密にしますが、暗号化をするための公開鍵は第三者に公開するので、公開鍵暗号方式と呼ばれます。
公開鍵暗号方式の特徴
公開鍵暗号方式を『暗号化/復号の計算速度』、『鍵送付の安全性』、『必要な鍵の個数』の観点で特徴を整理します。
公開鍵暗号方式 | 共通鍵暗号方式 | |
---|---|---|
暗号化/復号の速度 | 遅い (計算量が少ない) | 速い (計算量が少ない) |
鍵の配送 | 安全 (秘密鍵を送付しない) | 危険 |
通信に必要な鍵の数 n:通信相手の数 | 少ない 2n[個] | 多い n(n-1)/2[個] |
共通鍵暗号方式の短所は、公開鍵暗号方式の長所が逆になります。このことから、公開鍵暗号方式は、共通鍵暗号方式の短所を補った暗号方式といえます。
暗号化/復号の速度
公開鍵暗号化方式は、共通鍵暗号化方式に比べ、計算速度が遅いです。この理由は、暗号化/復号に必要な計算量が多いためです。
鍵送付の安全性
復号に必要な秘密鍵を送付しないため、第三者への流出する危険性はなく安全といえます。
必要な鍵の個数
公開鍵暗号方式では、通信をする各個人が『公開鍵』と『秘密鍵』の2つを用意します。
したがって、N人で通信をする場合に必要な鍵の個数は、次の式で表すことができます。
$$鍵の個数=2n[個]$$
ハイブリット鍵暗号方式
ハイブリッド鍵暗号方式とは、共通鍵暗号方式と公開鍵暗号方式の長所を合わせた暗号方式です。
ハイブリッド鍵暗号方式 | 共通鍵暗号方式 | 公開鍵暗号方式 | |
---|---|---|---|
暗号化/復号の速度 | 速い (計算量が少ない) | 速い (計算量が少ない) | 遅い (計算量が少ない) |
鍵の配送 | 安全 (秘密鍵を暗号化して送付) | 危険 | 安全 (秘密鍵を送付しない) |
通信に必要な鍵の数 n:通信相手の数 | 多い n(n-1)/2+2n[個] | 多い n(n-1)/2[個] | 少ない 2n[個] |
共通鍵暗号化方式の長所は、暗号化や復号にかかる時間が短いことです。一方、公開鍵暗号方式の長所は、復号の鍵(秘密鍵)を送付しないので、流出の危険性が少なく安全ということでした。
つまり、ハイブリッド暗号方式は、暗号化・復号にかかる時間が短く、鍵の配送が安全な暗号方式になります。
具体的には、次のように公開鍵暗号方式と共通暗号方式を組み合わせることで実現します。
①共通鍵の送付:公開鍵暗号化方式
⇒鍵の配送が安全
②平文・暗号文の暗号化/復号:共通鍵暗号方式
⇒暗号化/復号の速度が速い
それでは、ハイブリッド鍵暗号方式の流れを確認していきましょう。
①共通鍵の送付(公開鍵暗号方式)
まず、公開鍵暗号方式を用いて、共通鍵を送付します。
工程 | 説明 |
---|---|
① | 受信者(Bさん)が公開鍵(暗号化鍵)と秘密鍵(復号鍵)を作成 |
② | 受信者(Bさん)は公開鍵を送信者(Aさん)含め第三者まで公開 |
③ | 送信者(Aさん)は自身(Aさん)の共通鍵を作成 |
④ | 送信者(Aさん)は共通鍵を受信者(Bさん)の公開鍵で暗号化 |
⑤ | 受信者(Bさん)は暗号化した共通鍵を受信者(Aさん)に送付 |
⑥ | 受信者(Bさん)は暗号化した共通鍵を自身(Bさん)の秘密鍵で復号化し、共通鍵を受け取る |
ハイブリッド鍵暗号方式は、このように暗号化/復号に用いる共通鍵を、公開鍵暗号方式で送付するため、鍵の送付が安全です。
②平文・暗号文の暗号化/復号(共通鍵暗号方式)
次に、さきほど受け取った共通鍵で、平文の暗号化、暗号文の復号を行います。
工程 | 説明 |
---|---|
① | 送信者(Aさん)は平文を共通鍵で暗号化 |
② | 送信者(Aさん)は暗号文を受信者(Bさん)へ送付 |
③ | 受信者(Bさん)は暗号文を共通鍵で復号 |
ハイブリッド鍵暗号方式では、このように暗号化・復号には共通鍵暗号方式を用いるので、計算量が少なく済み、計算速度が速くなります。
ファイル暗号化/ディスク暗号化
ここまで、暗号技術を通信を例に説明してきました。暗号技術には、暗号化の対象で、『ファイル暗号化』、『ディスク暗号化』もあります。
説明 | |
---|---|
ファイル暗号化 | ファイルを暗号化する技術 |
ディスク暗号化 | ハードディスク、SSDの中身を全て暗号化する技術 |
ファイル暗号化は、ファイル自体に暗号化をする技術です。例えば、メールにファイルを添付して送信する際などに用いられます。
ディスク暗号化は、HDD(ハードディスク)、SSDの中身の全てが対象となる暗号化です。ディスク暗号化により、ノートPC等が盗難や紛失した際、情報の漏えいを防止できます。
【まとめ】暗号技術
最後に、今回学んだ内容をおさらいしましょう。
共通鍵暗号方式 | 公開鍵暗号方式 | ハイブリッド鍵暗号方式 | |
---|---|---|---|
暗号化の鍵 | 共通鍵 | 受信者の公開鍵 | 共通鍵:受信者の公開鍵 平文:共通鍵 |
復号の鍵 | 受信者の秘密鍵 | 共通鍵:受信者の秘密鍵 暗号文:共通鍵 |
|
秘密にする鍵 | 共通鍵 | 受信者の秘密鍵 | 共通鍵 |
暗号化/復号の速度 | 速い (計算量が少ない) | 遅い (計算量が少ない) | 速い (計算量が少ない) |
鍵の配送 | 危険 | 安全 (秘密鍵を送付しない) | 安全 (秘密鍵を暗号化して送付) |
通信に必要な鍵の数 n:通信相手の数 | 多い n(n-1)/2[個] | 少ない 2n[個] | 多い n(n-1)/2+2n[個] |
『共通鍵暗号方式』、『公開鍵暗号化方式』、『ハイブリッド鍵暗号方式』の内容は、ITパスポート試験で頻出です。しっかりと頭の中に整理してくださいね!
コメント