2009年8月4日 星期二

Diffie-Hellman 密鑰交換演算法

Diffie-Hellman 密鑰交換演算法

1、伺服器端保存有用於密鑰交換的大素數 p 和它的本原根 g。其中 p 的長度決定了生成密鑰的長度。
2、客戶端請求加密時,伺服器端生成一個亂數 Xa,然後計算出 Ya = gXa mod p,將 p、g、Ya 連同登錄頁面一起發送給客戶端。
3、客戶端也生成一個亂數 Xb,計算 Yb = gXb mod p,k = YaXb mod p,然後將 Yb 發送給伺服器端。
4、伺服器端計算 k’ = YbXa mod p,密鑰交換完成。

其中 k = k‘ = gXaXb mod p。因此 k 和 k' 就是交換完成的密鑰。

伺服器端生成的亂數 Xa 和客戶端生成的亂數 Xb 都不傳遞給對方。傳遞的資料只有 p、g、Ya、Yb。

【下列文章您可能也有興趣】

沒有留言: