ECDH算法集錦這個(gè)工具能夠?yàn)橛脩粽宫F(xiàn)目前網(wǎng)絡(luò)上常見的ECDH算法,ECC算法與DH結(jié)合使用,密鑰交換算法稱為ECDH,主要用于密鑰磋商,軟件做學(xué)習(xí)參考使用,可快速獲取到sharekey的信息,可自由選擇安卓端及pc端進(jìn)行生成,非常適合數(shù)學(xué)及計(jì)算機(jī)的用戶使用,有需要的不要錯(cuò)過。
軟件簡(jiǎn)介
交換雙方可以在不共享任何秘密的情況下協(xié)商出一個(gè)密鑰。ECC是建立在基于橢圓曲線的離散對(duì)數(shù)問題上的密碼體制,給定橢圓曲線上的一個(gè)點(diǎn)P,一個(gè)整數(shù)k,求解Q=kP很容易;給定一個(gè)點(diǎn)P、Q,知道Q=kP,求整數(shù)k確是一個(gè)難題。ECDH即建立在此數(shù)學(xué)難題之上。
密鑰磋商過程:
假設(shè)密鑰交換雙方為Alice、Bob,其有共享曲線參數(shù)(橢圓曲線E、階N、基點(diǎn)G)。
1) Alice生成隨機(jī)整數(shù)a,計(jì)算A=a*G。 #生成Alice公鑰。
2) Bob生成隨機(jī)整數(shù)b,計(jì)算B=b*G。 #生產(chǎn)Bob公鑰。
3) Alice將A傳遞給Bob。A的傳遞可以公開,即攻擊者可以獲取A。
由于橢圓曲線的離散對(duì)數(shù)問題是難題,所以攻擊者不可以通過A、G計(jì)算出a。
4) Bob將B傳遞給Alice。同理,B的傳遞可以公開。
5) Bob收到Alice傳遞的A,計(jì)算Q =b*A #Bob通過自己的私鑰和Alice的公鑰得到對(duì)稱密鑰Q。
6) Alice收到Bob傳遞的B,計(jì)算Q`=a*B #Alice通過自己的私鑰和Bob的公鑰得到對(duì)稱密鑰Q。
Alice、Bob雙方即得Q=b*A=b*(a*G)=(b*a)*G=(a*b)*G=a*(b*G)=a*B=Q’ (交換律和結(jié)合律),即雙方得到一致的密鑰Q。