ハイブリッド暗号方式
暗号化の やり方だよ
公開鍵暗号方式と共通鍵暗号方式の良いとこ取りを狙ったよ
最終的なやり取りは共通鍵暗号方式でやるよ
共通鍵の受け渡しを公開鍵暗号方式でやるよ
簡単に書くよ
ハイブリッド暗号方式(読:ハイブリッドアンゴウホウシキ 英:hybrid cryptosystem)とは
「みんなに ばらまく鍵
(暗号化したり、暗号化されたのを元に戻すときに使うデータ)」と「自分だけが持ってる鍵」の2つの鍵を使って やり取りする暗号化
(ルールを知っている人しか意味を読み取れないようにするために、特定のルールに従って、データを ぐちゃぐちゃにすること)のやり方(公開鍵暗号方式)と、暗号化と復号
(暗号を元に戻すこと)に同じ鍵を使う暗号化のやり方(共通鍵暗号方式)を掛け合わせた暗号化のやり方
であり
まず公開鍵暗号方式で共通鍵
(共通鍵暗号方式で使う鍵)を安全に受け渡し、その後は受け渡した共通鍵を使って共通鍵暗号方式でやり取りする やり方
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・暗号
・暗号化
・復号
・暗号鍵(鍵)
・暗号化方式
・公開鍵暗号方式
・秘密鍵
・公開鍵
・共通鍵暗号方式
・共通鍵
について説明します。
予備知識が多くて大変ですが頑張ってください。
予備知識として挙げた用語の内容を理解すれば、ハイブリッド暗号方式自体の理解は一瞬で終わります。
暗号は「ルールを知っている人しか意味を読み取れないようにするために、特定のルールに従って ぐちゃぐちゃに変換したデータ」です。
暗号は、そのまま見ても内容が分かりません。
パッと見では ぐちゃぐちゃになっているからです。
ルールを知っている人は、そのルールに沿って元の形に戻すことで内容を読み取れます。
暗号にすることで悪い人に盗み見られても大丈夫な気分になれます。
変換ルールを知らない人は書かれている内容を読み取れないからです。
データを暗号にすることを「暗号化」と言います。
暗号を元のデータに戻すのは「復号」です。
暗号化の逆ですね。
暗号鍵(鍵)は「暗号化したり、元に戻したり(復号)するときに使うデータ」です。
暗号化方式は「暗号化の やり方(方式)」です。
細かく見ていくと、ややこしかったりしますけどね。
今回は気にしないでください。
公開鍵暗号方式は「『みんなに ばらまく鍵』と『自分だけが持ってる鍵』の2つの鍵を使って やり取りする暗号化方式」です。
まず、自分だけが持つ鍵A(秘密鍵)と、みんなに ばらまく鍵B(公開鍵)を用意します。
この鍵Aと鍵Bの関係ですが、鍵Aで暗号化したものは鍵Bでしか元に戻せません。
鍵Bで暗号化したものは鍵Aでしか元に戻せません。
※実際には「鍵A(秘密鍵)で暗号化したものを鍵B(公開鍵)で戻す」は(一部の例外を除いて)できません。ウソです。……が、そこら辺を気にすると ややこしくなるので、とりあえずスルーします。気になる人は他のところで勉強してください。
この鍵Aと鍵Bをピヨ太君が手に入れました。
ピヨ太君は、鍵Bを みんなに ばらまきます。
そうすると「鍵Aを持つピヨ太君」と「鍵Bを持つ たくさんの人」という状態になります。
この状態で、ピヨ子さんがピヨ太君に お手紙を出しました。
ピヨ子さんは鍵Bで暗号化して、お手紙を送ります。
鍵Bで暗号化したものを元に戻せるのは鍵Aだけです。
ピヨ太君が受け取れば、ピヨ太君が持っている鍵Aで元に戻せます。
仮に途中で、アクマ君がピヨ子さんのお手紙を盗み見たとしましょう。
でも、残念でした。
鍵Bで暗号化したものを元に戻せるのは鍵Aだけです。
鍵Bしか持っていないアクマ君では、暗号化された手紙を元に戻せません。
ピヨ子さんのお手紙は、中身を盗み見られることは ありませんでした。
めでたし、めでたし。
実際の仕組みは もう少し複雑だったりしますけどね。
このような暗号化のやり方が公開鍵暗号方式です。
あと、すでに書きましたが、自分だけが持つ鍵Aを「秘密鍵」と言います。
みんなに ばらまく鍵Bは「公開鍵」と言います。
共通鍵暗号方式は「暗号化と復号に同じ鍵を使う暗号化方式」です。
送る相手と受ける相手で同じ鍵を使って暗号化や復号をやります。
共通鍵は「共通鍵暗号方式で使う鍵で、それ1本で暗号化も復号もできる鍵」です。
送る相手と受ける相手で使う同じ鍵です。
共通鍵は暗号化や復号をするときに使います。
共通鍵は、それ1本で暗号化も復号もできる鍵です。
悪い人にパクられると、せっかく暗号化しても簡単に中身を見られてしまいます。
共通鍵の管理は慎重にやる必要があります。
以上を踏まえて
1.公開鍵暗号方式で共通鍵の受け渡しをする
2.「1」で受け渡した共通鍵を使って、共通鍵暗号方式でやり取りする
やり方が「ハイブリッド暗号方式」です。
具体的な手順ですが、まずピヨ太君がピヨ子さんに自分の「公開鍵」を送ります。
「秘密鍵」はピヨ太君自身が持っています。
次にピヨ子さんが「共通鍵」を用意します。
ピヨ子さんは用意した共通鍵をピヨ太君から送られてきた公開鍵で暗号化します。
次にピヨ子さんは「ピヨ太君の公開鍵で暗号化した共通鍵」をピヨ太君に送ります。
ピヨ太君は、ピヨ子さんから送られてきた「ピヨ太君の公開鍵で暗号化した共通鍵」を元に戻します。
元に戻すときはピヨ太君の秘密鍵を使います。
この時点でピヨ太君もピヨ子さんも共通鍵を持っている状態になりました。
あとは共通鍵暗号方式でやり取りするだけです。
このようなやり方がハイブリッド暗号方式です。
共通鍵暗号方式は、いろいろとシンプルです。
そのため良いところがたくさんあるのですが、1つだけ致命的な弱点があります。
それは
共通鍵をパクられると本気でヤバい
点です。
共通鍵は、それ1本で暗号化も復号もできる鍵です。
悪い人にパクられると、せっかく暗号化しても簡単に中身を見られてしまいます。
そこで、共通鍵の受け渡しは公開鍵暗号方式を使って やることにしました。
そうすれば、もし悪い人に途中で盗み見られても(公開鍵暗号方式で暗号化されているので)共通鍵自体はパクられない理屈です。
ここまでの説明を読んで「そんな面倒くさいことをしないで全部、公開鍵暗号方式でやれば?その方が手っ取り早いでしょ?」と思う人がいるかもしれませんが、公開鍵暗号方式には
(共通鍵暗号方式と比べて)処理が遅い
という弱点があります。
いろいろとゴチャゴチャやりますからね。
ハイブリッド暗号方式は
1.ただの共通鍵暗号方式よりも安全だよ
2.公開鍵暗号方式で全部やり取りするよりも処理が速いよ
なのです。
一言でまとめるよ
まぁ「ハイブリッド暗号方式」って単語が出てきたら「公開鍵暗号方式
(「みんなに ばらまく鍵」と「自分だけが持ってる鍵」の2つの鍵を使って やり取りする暗号化方式)で共通鍵
(共通鍵暗号方式で使う鍵)を受け渡し、その後は共通鍵暗号方式
(暗号化と復号に同じ鍵を使う暗号化のやり方)でやり取りする やり方なんだな~」と お考えください。
おまけ
■訳してみるよ
「hybrid(ハイブリッド)」の意味は「雑種の」とか「混成の」とか「合成物」とか「混成物」とかです。
「暗号方式」は日本語ですね。
何となく くっつけると
混成の暗号方式
となります。
■検索してみる?






