網友評分: 5分
ECDH算法集錦這個工具能夠為用戶展現目前網絡上常見的ECDH算法,ECC算法與DH結合使用,密鑰交換算法稱為ECDH,主要用于密鑰磋商,軟件做學習參考使用,有需要的不要錯過。
交換雙方可以在不共享任何秘密的情況下協商出一個密鑰。ECC是建立在基于橢圓曲線的離散對數問題上的密碼體制,給定橢圓曲線上的一個點P,一個整數k,求解Q=kP很容易;給定一個點P、Q,知道Q=kP,求整數k確是一個難題。ECDH即建立在此數學難題之上。
密鑰磋商過程:
假設密鑰交換雙方為Alice、Bob,其有共享曲線參數(橢圓曲線E、階N、基點G)。
1) Alice生成隨機整數a,計算A=a*G。 #生成Alice公鑰
2) Bob生成隨機整數b,計算B=b*G。 #生產Bob公鑰
3) Alice將A傳遞給Bob。A的傳遞可以公開,即攻擊者可以獲取A。
由于橢圓曲線的離散對數問題是難題,所以攻擊者不可以通過A、G計算出a。
4) Bob將B傳遞給Alice。同理,B的傳遞可以公開。
5) Bob收到Alice傳遞的A,計算Q =b*A #Bob通過自己的私鑰和Alice的公鑰得到對稱密鑰Q
6) Alice收到Bob傳遞的B,計算Q`=a*B #Alice通過自己的私鑰和Bob的公鑰得到對稱密鑰Q'
Alice、Bob雙方即得Q=b*A=b*(a*G)=(b*a)*G=(a*b)*G=a*(b*G)=a*B=Q' (交換律和結合律),即雙方得到一致的密鑰Q。
標簽: ECDH算法