Diffie-Hellman鍵共有
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Diffie-Hellman鍵共有(デフィー・ヘルマンかぎきょうゆう)、あるいはDiffie-Hellman鍵交換(-かぎこうかん)とは、事前の秘密の共有無しに、盗聴の可能性のある通信路を使って、暗号鍵の共有を可能にする暗号プロトコルである。この鍵は、共通鍵暗号方式の鍵として使用可能である。
目次 |
[編集] 概要
1976年にスタンフォード大学の2名の研究員ウィットフィールド・デフィーとマーティン・ヘルマンは、公開鍵暗号の概念を提案し、その具体的な方式の一つとして、Diffie-Hellman鍵共有(DH鍵共有)プロトコルを提案した。この鍵共有方式は共通鍵暗号方式における鍵の受け渡しを安全に行うために提案された方式である。
このプロトコルは通信を行いたい2者が、各々公開鍵と秘密鍵を用意し、公開鍵のみを公開する。そして、お互いに秘密の値から作成されるデータを相手に送信し、各自、自分の秘密鍵と受信したデータから共通鍵を作成できる方法である。第三者が送受信されるデータを盗聴しても鍵を生成することができない所に特徴がある。
1997年にアルゴリズムの特許期限が切れたため、現在では誰でも自由に利用できる。
[編集] プロトコルの内容
この方式は以下のように行われる。まず値の大きな素数 p を用意する。 また a を の原始元とする。この a と p は公開されているものとする。
いま X と Y が通信を行うとする。このとき X と Y はお互い秘密の値 aX , aY を選択する、この値は 0 以上 p-2 以下の中からランダムに選ぶ。
X は次の値 bX を計算してこれを Y に送信する。
Y も同様に bY を計算してこれを X に送信する。
X は自身の秘密の値 aX と受信した bY から以下の値を計算する。
Y も自身の秘密の値 aY と受信した bX から以下の値を計算する。
このとき X と Y が計算した K は共に
になっておりこの値を鍵として使用する。このとき第三者 Z がこの二人の通信を盗聴して bX と bY を入手しても、 と から を多項式時間で計算する方法は現在の所、存在しないので Z は鍵 K を生成することが困難である。このため X と Y が安全に通信を行うことが可能になる。
[編集] 参考文献
- W. Diffie and M. E. Hellman, "New Directions in Cryptography", IEEE Transactions on Information Theory, vol.IT-22, No.6, pp.644-654, Nov, 1976.