「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

DH法

pointこの用語のポイント

point共通鍵の受け渡しの やり方だよ

pointディフィーさんとヘルマンさんが考えたよ

point離散対数問題というのを利用しているよ

point突っ込んで見ていくとややこしいから頑張ってね

point「DH」の部分は「Diffie-Hellman」の略だよ

スポンサーリンク

簡単に書くよ

DH法(読:ディーエィチホウ)とは

「ディフィー・ヘルマン鍵共有法」のこと。
用語の中身としては

共通鍵暗号方式(暗号化と復号に同じ鍵を使う暗号化のやり方)で使う共通鍵(共通鍵暗号方式で使う鍵)を受け渡すやり方のひとつ
であり

ディフィーさんとヘルマンさんが考えた「途中で悪いやつが盗み見していても、そいつにバレないように共通鍵を受け渡ししてやるぜ!」な やり方
です。


image piyo

詳しく書くよ

最初に留意事項です。
ディフィー・ヘルマン鍵共有法」や「ディフィー・ヘルマン鍵交換法」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
それらの用語を省略した表現のひとつが「DH法」です。

DH法

「ディフィー・ヘルマンうんちゃら?それ何?おいしいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩3

それでは、いってみましょう。
まずは予備知識として


共通鍵暗号方式
共通鍵


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

は「暗号鍵」の省略表現です。
暗号化したり、元に戻したり復号するときに使うデータ」を指します。

DH法2

共通鍵暗号方式は「暗号化と復号に同じ鍵を使う暗号化方式」です。
送る相手と受ける相手で同じ鍵を使って暗号化や復号をやります。

DH法3

共通鍵は「共通鍵暗号方式で使う鍵で、それ1本で暗号化も復号もできる鍵」です。
送る相手と受ける相手で使う同じ鍵です。
共通鍵は暗号化や復号をするときに使います。

DH法4

共通鍵は、それ1本で暗号化も復号もできる鍵です。
悪い人にパクられると、せっかく暗号化しても簡単に中身を見られてしまいます。
共通鍵の管理は慎重にやる必要があります。

以上を踏まえて、本題に入ります。

ここにピヨ太君とピヨ子さんがいました。
2人は共通鍵暗号方式でやり取りしようと思っています。

DH法5

共通鍵暗号方式では2人で同じ鍵(共通鍵)を使います。
今回はピヨ太君が共通鍵を作ってピヨ子さんに送ろうとしました。

DH法6

……が、ここで問題が発生です。
なんと、アクマ君が途中で2人のやり取りを盗み見していたのです。

DH法7

ピヨ太君が共通鍵を送ったらアクマ君に共通鍵がパクられてしまうでしょう。

DH法8

このままではピヨ子さんに共通鍵を送れません。
2人が共通鍵を持っていないと共通鍵暗号方式でやり取りはできません。
万事休すです。

DH法9

そんな困った状況を解決したのがディフィーさんとヘルマンさんです。
2人は、途中で誰かが盗み見しているかもしれない通り道のみを使って共通鍵を受け渡しする方法を考えました。

DH法10

この

ディフィーさんとヘルマンさんが考えた、途中で誰かが盗み見しているかもしれない通り道のみを使って共通鍵を受け渡しする方法

が「DH法」です。
上でも書きましたが「ディフィー・ヘルマン鍵共有法」や「ディフィー・ヘルマン鍵交換法」などと表現される場合も あります。
そこら辺の表記ゆれは、ゆるく解釈してください。

さて、それではDH法の中身を見ていきます……が、きちんと説明しようとすると頭が痛くなります。
数学が苦手な人が読むと、まず間違いなく頭がパンクするでしょう。
そこで今回は、いつも以上に大雑把に説明します。
きちんと中身を理解する必要がある人は、他のところで情報を補完してください。

そんな華麗な言い訳をしたところで、なんとなく説明していきます。

まずは状況整理です。
ピヨ太君とピヨ子さんがいます。
2人が同じ共通鍵を持っている状態にしたいです。
ピヨ太君とピヨ子さんのやり取りは、アクマ君が盗み見しています。

DH法11

それではミッション開始です。
まず、ピヨ太君が「とある数字1」と「とある数字2」を決めてピヨ子さんに伝えます。

DH法12

当然「とある数字1」と「とある数字2」はアクマ君にバレます。
でも、それはドンマイです。

DH法13

次にピヨ太君が「とある数字1」と「とある数字2」と「ピヨ太数字(ピヨ太君が決めた自分だけが知ってる数字)」を使って「とある計算」をします。

DH法14

そして求められた「とある計算結果ピヨ太版」をピヨ子さんに伝えます。

DH法15

「とある計算結果ピヨ太版」はアクマ君にバレるでしょう。
ドンマイです。

DH法16

ピヨ子さんはピヨ子さんで「とある数字1」と「とある数字2」と「ピヨ子数字(ピヨ子さんが決めた自分だけが知ってる数字)」を使って「とある計算」をします。

DH法17

そして求められた「とある計算結果ピヨ子版」をピヨ太君に伝えます。

DH法18

「とある計算結果ピヨ子版」もアクマ君にバレるでしょう。
ドンマイです。

DH法19

次にピヨ太君は、ピヨ子さんから受け取った「とある計算結果ピヨ子版」と「ピヨ太数字」(と「とある数字2」)を使って「とある計算その2」をします。
そうすると「とある計算結果その2ピヨ太版」が求められます。

DH法20

同じようにピヨ子さんも、ピヨ太君から受け取った「とある計算結果ピヨ太版」と「ピヨ子数字」(と「とある数字2」)を使って「とある計算その2」をします。
そうすると「とある計算結果その2ピヨ子版」が求められます。

DH法21

実は、ですね。
細かい理屈の説明は省きますが「とある計算結果その2ピヨ太版」と「とある計算結果その2ピヨ子版」は同じ値になるのです。

DH法22

おぉ、ピヨ太君とピヨ子さんの間で同じものを持っている状態になりましたね。
それでは、これを共通鍵として使いましょう。
「とある計算結果その2ピヨ太版」(=「とある計算結果その2ピヨ子版」)を共通鍵として使います。

DH法23

ここでアクマ君の立場になって考えてみてください。

アクマ君の手元にあるのは

1.とある数字1
2.とある数字2
3.とある計算結果ピヨ太版
4.とある計算結果ピヨ子版


の4つです。

DH法24

アクマ君が共通鍵をパクった状態にするには「とある計算結果その2ピヨ太版」か「とある計算結果その2ピヨ子版」そのもの、あるいは、どちらかを計算で割り出すために「ピヨ太数字」か「ピヨ子数字」が必要です。
しかし、どれもアクマ君は持っていません。

DH法25

さらに、細かい理屈はすっ飛ばしますが、アクマ君の手元にある情報から「ピヨ太数字」や「ピヨ子数字」を割り出すのはメッチャ大変なのです。

ということで、ピヨ太君とピヨ子さんは、お互いが共通鍵を持っている状況になりました。
アクマ君に盗み見られている状況でやり取りをしたのにもかかわらずアクマ君にパクられることなく、です。

DH法26

めでたし、めでたし。

このようなやり方で共通鍵をやり取りするやり方がDH法です。

今回、言葉を濁した「とある計算」の中身を知ろうとしたり、なんで「とある計算結果その2ピヨ太版」と「とある計算結果その2ピヨ子版」が同じ結果になるのかを突っ込んで調べていくと「離散対数問題」という用語が出てくるはずです。

この離散対数問題がですね。
ガッツリ数学なのですよ。

ということで、数学が苦手な人は、あまり突っ込んで調べない方が無難だと思います。
「数学?大好きっすよ!」な人は頑張って他のところで「p」とか「x」とかと格闘してください。


image piyo2

一言でまとめるよ

まぁ「DH法」って単語が出てきたら「共通鍵(共通鍵暗号方式で使う鍵)を受け渡すやり方のひとつなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像005
書籍画像075

おまけ

■訳してみるよ

「DH」は「Diffie-Hellman(ディフィー・ヘルマン)」の略です。
「Diffie(ディフィー)」は人の名前です。
「Hellman(ヘルマン)」も人の名前です。
「法」は日本語ですね。
何となく くっつけると

ディフィーさんとヘルマンさん法

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
サイバー忍者入門 忍者・スパイ・軍隊・ハッカーに学ぶ フルスタック・ハッキング
ウォーターサーバーのキャッチコピーを100本考える方法