迪菲-赫爾曼密鑰交換


迪菲-赫爾曼密鑰交換(英語:Diffie-Hellman key exchange,縮寫為D-H

迪菲-赫爾曼密鑰交換是在美國密碼學家惠特菲爾德.迪菲和馬丁.赫爾曼的合作下發明的,發表於1976年。它是第一個實用的在非保護信道中創建共享密鑰(英語:Shared secret)方法。它受到了瑞夫.墨克的關於公鑰分配工作的影響。

迪菲-赫爾曼通過公共信道交換一個信息,就可以創建一個可以用於在公共信道上安全通信的共享秘密(shared secret)。

以下解釋它的過程(包括算法的數學部分):

clip_image002

其中g,p,A,B是公開在網絡上傳輸的,ab是秘密的。

最早提出的這個協議使用一個素數p的整數模n乘法群以及其原根g。下面展示這個算法,綠色表示非秘密信息, 紅色粗體表示秘密信息:

clip_image004

clip_image006

 

 

算法理論證明

對上面AliceBob秘鑰交換問題的解釋(下面用AB分別表示兩人)
首先A: a^k1 mod b c (例子中a=5,b=23
B: a^k2 mod b
d
之后二人交換所得cd,再次進行運算,我們有
A: d^k1 mod b
c^k2 mod b :B
等價於
A:(a^k2 mod b )^k1 mod b
(a^k1 mod b)^k2 mod b :B

下面我們對上式進行證明,先證明一個引理
假設有 a mod b n , a^k mod b n^k mod b
因為 a mod b n ,則必然存在唯一整數q使得 a=qb+n(帶余除法基本定理)
a^k=(qb+n)^k= ……(二項式定理展開)
兩邊同時除以b,我們發現等式右邊(二項式展開部分)除去項n^kb的次數都大於零
所以除以b的余數必然由n^k這一項產生
所以 a^k mod b n^k mod b
引理證畢

所以(a mod b)^k= n^k
於是(a mod b)^k mod b n^k mod b a^k mod b

所以對於任意的k1,k2 都有下式成立
(a^k1 mod b)^k2 mod b
(a^k1)^k2 mod b
(a^k2 mod b)^k1 mod b

 

補充:二項式展開

(qb+n)^k= C(k,0)(qb)^k

+C(k,1)(qb)^(k-1)*n

+C(k,2)(qb)^(k-2)*n^2

+...

+C(k,k-2)(qb)^2*n^(k-2)

+ C(k,k-1)(qb)*n^(k-1)

+C(k,k)n^k

 

參考資料

wikipedia

https://zh.wikipedia.org/wiki/%E8%BF%AA%E8%8F%B2-%E8%B5%AB%E7%88%BE%E6%9B%BC%E5%AF%86%E9%91%B0%E4%BA%A4%E6%8F%9B

網易公開課

http://open.163.com/movie/2012/10/K/N/M99VIFJA6_M9EDSGQKN.html

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM