🔑 ディフィヌ・ヘルマン鍵共有デモ

教育甚のデモです。小さな数字は実際のセキュリティには䜿甚できたせん。

Aliceの公開鍵 (A = g^a mod p)8
Bobの公開鍵 (B = g^b mod p)19
共有秘密鍵 (Alice偎: B^a mod p)2
共有秘密鍵 (Bob偎: A^b mod p)2
✓ 䞡者の共有秘密鍵が䞀臎したした

玠数p・生成元g・双方の秘密鍵(a・b)を入力するず、ディフィヌ・ヘルマン鍵共有アルゎリズムによっお公開鍵ず共有秘密鍵がどのように蚈算されるかを確認できる教育甚ツヌルです。䞡者が異なる蚈算経路から同じ共有秘密鍵にたどり着くこずを実際に確認できたす。

䜿い方

  1. 玠数p・生成元gを入力したす。
  2. AliceずBobそれぞれの秘密鍵(a・b)を入力したす。
  3. 公開鍵(A・B)ず、䞡者が独立に蚈算した共有秘密鍵が䞀臎するこずが自動的に衚瀺されたす。

蚈算の仕組み

Diffie-HellmanDH鍵共有は、盗聎されおいる通信路でも、2人が同じ秘密の倀を共有できる方法で、1976幎にディフィヌずヘルマンが発衚したした。このツヌルは、小さな数でその仕組みを確かめるデモです。 1. 2人は、玠数 p ず、生成元 g を公開で決めたす。 2. アリスは秘密の数 a を遞び、A  g^a mod p を盞手に送りたす。 3. ボブは秘密の数 b を遞び、B  g^b mod p を盞手に送りたす。 4. アリスは B^a mod p、ボブは A^b mod p を蚈算したす。 どちらも g^(ab) mod p になるため、同じ倀共有鍵が埗られたす。盗聎者は p、g、A、B を知っおいおも、そこから a や b を求める「離散察数問題」が非垞に難しいため、共有鍵を蚈算できたせん。

蚈算䟋

p  23、g  5、アリスの秘密 a  6、ボブの秘密 b  15 アリスの公開倀: A  5⁶ mod 23  8 ボブの公開倀: B  5¹⁵ mod 23  19 アリスの蚈算: 19⁶ mod 23  2 ボブの蚈算: 8¹⁵ mod 23  2 共有鍵: 2䞀臎

䜿甚䞊の泚意

  • このデモの数は小さいため、総圓たりで簡単に秘密が芋぀かりたす。実際には2048ビット以䞊の玠数や、楕円曲線を䜿ったECDHが䜿われたす。
  • DH鍵共有だけでは、通信の盞手が本物かどうかを確かめられたせん䞭間者攻撃。実際のTLSでは、蚌明曞による認蚌ず組み合わせお䜿いたす。
  • このデモは p が玠数かどうかを確認したせん。正しく詊すには、p に玠数を入力しおください。

よくある質問

ディフィヌ・ヘルマン鍵共有ずは䜕ですか?

安党でない通信路䞊で、事前に秘密を共有しおいない2者が共通の秘密鍵を確立できるアルゎリズムです。TLSなど倚くの暗号通信プロトコルの基瀎ずなっおいたす。

なぜ䞡者が同じ共有秘密鍵を埗られるのですか?

べき乗の指数法則により、(g^a)^b mod p ず (g^b)^a mod p は数孊的に垞に等しくなるためです。

この小さな数字の䟋は実際のセキュリティに䜿えたすか?

いいえ。これは仕組みを理解するための教育甚デモです。実際の運甚では非垞に倧きな玠数(2048ビット以䞊)が䜿われたす。