DH 演算法原理

2021-08-03 06:25:52 字數 435 閱讀 3627

dh 演算法原理

一、背景

dh演算法全稱為diffie-hellman演算法。這種方法可以在不安全的網路環境中協商金鑰。

二、原理

步驟1)傳送方和接收方設定相同的大數數n和g,這兩個數不是保密的, 他們可以通過非安全通道來協商這兩個素數。

步驟2)傳送方選擇乙個大隨機整數x,計算 x = g^x mod n,傳送x給接收者;

步驟3)接收方選擇乙個大隨機整數y,計算 y = g^y mod n,傳送y給傳送方;

確定最終金鑰

傳送方金鑰為k1 = y^x mod n,接收方金鑰為k2=x^y mod n。

其他人可以知道n、 g、 x和y, 但是他們不能計算出金鑰,除非他們能恢復x和y。

三、缺點及解決方法

缺點:不能抵禦中間人攻擊。

解決方法:使用認證的方法,確保x 、y可信。

DH 金鑰交換原理

假設 q 為素數,對於正整數 a,x,y,有 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 ...

DH演算法初探

剛接觸dh演算法,寫下此部落格以記之,如有不足之處請指正 在https協議中,client端和server端需要三個引數才能生成sessionkey來加密資訊。三個引數分別是 client random 客戶端隨機數 假設是c server random 服務端隨機數 假設是s premaster ...

DH金鑰交換演算法

迪菲 赫爾曼金鑰交換 diffie hellman key exchange,簡稱 d h 是一種安全協議。它可以讓雙方在完全沒有對方任何預先資訊的條件下通過不安全通道建立起乙個金鑰。這個金鑰可以在後續的通訊中作為對稱金鑰來加密通訊內容。1 演算法描述 離散對數的概念 原根 如果a是素數p 的乙個原...