使用對稱加密演算法時,金鑰交換是個大難題,所以diffie和hellman提出了著名的diffie-hellman金鑰交換演算法。
diffie-hellman金鑰交換演算法原理:
(1)alice與bob確定兩個大素數n和g,這兩個數不用保密(2)alice選擇另乙個大隨機數x,並計算a如下:a=gx mod n
(3)alice將a發給bob
(4)bob選擇另乙個大隨機數y,並計算b如下:b=gy mod n
(5)bob將b發給alice
(6)計算秘密金鑰k1如下:k1=bx mod n
(7)計算秘密金鑰k2如下:k2=ay mod n
k1=k2,因此alice和bob可以用其進行加解密
rsa加密演算法是基於這樣的數學事實:兩個大素數相乘容易,而對得到的乘積求因子則很難。加密過程如下:
(1)選擇兩個大素數p、q(2)計算n=p*q
(3)選擇乙個公鑰(加密金鑰)e,使其不是(p-1)與(q-1)的因子
(4)選擇私鑰(解密金鑰)d,滿足如下條件:
(d*e) mod (p-1)(q-1)=1
(5)加密時,明文pt計算密文ct如下:
ct=pte mod n
(6)解密時,從密文ct計算明文pt如下:
pt=ctdmodn 這也是ssl中會用一種金鑰交換演算法。
from:
金鑰交換演算法
使用對稱加密演算法時,金鑰交換是個大難題,所以diffie和hellman提出了著名的diffie hellman金鑰交換演算法。diffie hellman金鑰交換演算法原理 1 alice與bob確定兩個大素數n和g,這兩個數不用保密 2 alice選擇另乙個大隨機數x,並計算a如下 a gx ...
DH金鑰交換演算法
迪菲 赫爾曼金鑰交換 diffie hellman key exchange,簡稱 d h 是一種安全協議。它可以讓雙方在完全沒有對方任何預先資訊的條件下通過不安全通道建立起乙個金鑰。這個金鑰可以在後續的通訊中作為對稱金鑰來加密通訊內容。1 演算法描述 離散對數的概念 原根 如果a是素數p 的乙個原...
DH金鑰交換演算法
迪菲 赫爾曼金鑰交換 diffie hellman key exchange,簡稱 d h 是一種安全協議。它可以讓雙方在完全沒有對方任何預先資訊的條件下通過不安全通道建立起乙個金鑰。這個金鑰可以在後續的通訊中作為對稱金鑰來加密通訊內容。1 演算法描述 離散對數的概念 原根 如果a是素數p的乙個原根...