日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于Diffie-Hellman协议 的安全密钥交换的实现原理

發(fā)布時間:2023/12/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Diffie-Hellman协议 的安全密钥交换的实现原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

來源:shiyanbar.com,僅作為筆記,侵刪?

用Diffie-Hellman協(xié)議進行密鑰交換的過程簡述如下:
? ? ? ? 選取兩個大數(shù)p和g并公開,其中p是一個素數(shù),g是p的一個模p本原單位根(primitive root module p),所謂本原單位根就是指在模p乘法運算下,g的1次方,2次方..…(p-1)次方這p-1個數(shù)互不相同,并且取遍1到p-1;

對于Alice(其中的一個通信者),隨機產生一個整數(shù)a,a對外保密,計算Ka=g個a modp,將Ka發(fā)送給Bob;

對于Bob(另一個通信者),隨機產生一個整數(shù)b,b對外保密,計算Kb=gb mod p,將Kb發(fā)送給Alice;

在Alice方面,收到Bob送來的Kb后,計算出密鑰為:key=Kb^a mod p=(g^b)^a=g^(b*a)mod p;

對于Bob,收到Alice送來的Ka后,計算出密鑰為:key=Ka ^b mod p=(g^a)^b=g^(a*b)mod p。
攻擊者知道p和g,并且截獲了Ka和Kb,但是當它們都是非常大的數(shù)的時候,依靠這四個數(shù)來計算a和b非常困難,這就是離散對數(shù)數(shù)學難題。

? ? ? ? 要實現(xiàn)Diffie-Hellman密鑰交換協(xié)議,需要能夠快速計算大數(shù)模冪,在模冪算法中,仍需計算大數(shù)的乘法和模運算,所以整個過程需要三個算法:高精度乘法,高精度除法(用來同時求出一個大數(shù)除以另一個大數(shù)的商和余數(shù)),快速模冪算法。
高精度的乘法和除法可以程序模擬手算。快速模冪算法也是從手算中總結出規(guī)律來,例如:
5/8=(5^2)^4=(25)^4=(25^2)^2=(625)^2,

這樣,原來計算58需要做8次乘法,而現(xiàn)在則只需要三次乘法,分別是:52,252,6252。這就是快速模冪算法的基礎。將算法描述出來,那就是:
算法M:輸入整數(shù)a,b,p,計算ab mod p:

M1.初始化c=1
M2.如果b為0,則c就是所要計算的結果。返回c的值。算法結束。
M3.如果b為奇數(shù),則令c=ca mod p,令b=b-1,轉到M2。
M4.如果b為偶數(shù),則令a=a a mod p,令b=b/2,轉到M2。

總結

以上是生活随笔為你收集整理的基于Diffie-Hellman协议 的安全密钥交换的实现原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。