Deffie-Hellman 密鑰交換算法

Deffie-Hellman(簡稱 DH) 密鑰交換是最早的密鑰交換算法之一,它使得通信的雙方能在非安全的信道中安全的交換密鑰,用於加密後續的通信消息。 Whitfield Diffie 和 Martin Hellman 於 1976 提出該算法,之後被應用於安全領域,比如 Https 協議的 TSL(Transport Layer Security) 和 IPsec 協議的 IKE(Internet Key Exchange) 均以 DH 算法作爲密鑰交換算法。

求模公式

(a^x mod p)^y mod p = a^(xy) mod p

證明如下:

令 a^x = mp + n, 其中 m, n 爲自然數, 0 <= n < p,則有
C = (a^x mod p)^y mod p
  = ((mp + n) mod p)^y mod p
  = n^y mod p
  = (mp +n)^y mod p
  = a^(xy) mod p

 密鑰交換原理

設 A, B 兩方進行通信前需要交換密鑰,首先 A, B 共同選取 p 和 a 兩個素數,其中 p 和 a 均公開。之後 A 選擇一個自然數 Xa,計算出 Ya,Xa 保密,Ya 公開;同理,B 選擇 Xb 並計算出 Yb,其中 Xb 保密,Yb 公開。之後 A 用 Yb 和 Xa 計算出密鑰 K,而 B 用 Ya 和 Xb 計算密鑰 K

K = Yb^Xa mod p
  = (a^Xb mod p)^Xa mod p
  = a^(Xa * Xb) mod p          根據上述求模公式
  = (a^Xa mod p)^Xb mod p
  = Ya^Xb mod p
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章