當前位置:首頁 » 操作系統 » dh演算法是

dh演算法是

發布時間: 2022-03-01 21:48:18

⑴ 高分求:java實現DH演算法的代碼

http://instry.ccidnet.com/art/1077/20051102/363689_8.html

⑵ 簡述DH演算法

DH組的本質是使用非對稱密鑰來加密對稱密鑰。 DH演算法過程: 1、相互產生密鑰對 2、交換公鑰 3、用對方的公鑰和自己的私鑰運行DH演算法——得到另外一個密鑰X

linux 密鑰交換演算法DH是不是算雙方生成了密鑰

我自己寫了個DH秘鑰的demo代碼, 以前加密用過AES的加密,全套代碼寫下來太費時間又沒技術含量。
如果你需要AES的加密代碼可以留個郵箱給我。

⑷ 求一段能實現DH(Diffe-Hellman)演算法的C++/C源代碼

http://wenku..com/link?url=rCAD56c5q8__shYoa9HY-ffODi9LrVnJ7wj4_
http://www.docin.com/p-5312518.html

⑸ 驗證DH密鑰交換演算法

我自己寫了個DH秘鑰的demo代碼, 以前加密用過AES的加密,全套代碼寫下來太費時間又沒技術含量。

如果你需要AES的加密代碼可以留個郵箱給我。

publicclassTest1{
publicstaticfinalintP=30;//公開的大家都知道的
publicstaticfinalintG=9;//公開的大家都知道的

publicstaticvoidmain(String[]args){
Ax=newA();
intone=x.getV();
//分割A代表A這邊的系統加密one代表是給別人的值
By=newB();
inttwo=y.getV();
//B代表另外一邊加密two代表是給別人的值
System.out.println(x.getKey(two));
System.out.println(y.getKey(one));
}
}

classA{
privateinta;//自己的私有密值,不會告訴任何人

publicA(){
Randomr=newRandom(200);
a=r.nextInt();
}

publicintgetV(){
return(Test1.G^a)%Test1.P;
}

publicintgetKey(intv){
return(v^a)%Test1.P;
}
}

classB{
privateintb;//自己的私有密值,不會告訴任何人

publicB(){
Randomr=newRandom(200);
b=r.nextInt();
}
publicintgetV(){
return(Test1.G^b)%Test1.P;
}

publicintgetKey(intv){
return(v^b)%Test1.P;
}
}

⑹ 非對稱dh的類似定理

中國餘數定理源出三國或晉朝的孫子算經,其中有一題:今有物不知其數,三三數之剩2,五五數之剩3,七七數之剩2,問物幾何?
以同餘式表之,即 解,孫子算經中給出答案 x=23
一元一次聯立同餘式,後世稱為大衍,其解法稱為大衍求一術,到宋代秦九韶(1202~1261年)集大成同餘中的一些定理。 我們再來看看DH是怎麼計算出共享密鑰的:
以下各試「=」均讀作同餘,且假定A和B生成的g和p均相同,至於為什麼這里就不做討論了
首先A先計算X = g^a mod p
B 計算Y= g^b mod p
然後A和B交換X和Y
這樣A就得到了Y,通過通余定理:
因為Y= g^b mod p
所以Y^a=(g^b)^a mod p
=g^(ba) mod p
同理 B計算出: X^b=g^(ab) mod p
顯然,這里Y^a=X^b
也就是說A和B計算出一個只有他們知道的相同的共享密鑰了。
當然如果有個第三者他只知道X、Y,他在有限的時間內是算不出a和b的,至於為什麼,因為我不是數學家所以我也不知道(上面的公式也是我想了n久才想通的)。
以上就是我對DH演算法的一些總結,希望這些東西對大家理解IPsec VPN有所幫助。
註:通余定理的公式符號表示的不完整,大家容易產生誤解,改後:
如果Y= g^b mod p(就是Y mod p = g^b mod p)
那麼Y^a= (g^b)^a mod p (就是Y^a mod p = (g^b)^a mod p)
這樣就沒問題了。

⑺ 如何改進DH演算法,使其抵禦中間人攻擊

改進DH演算法使其抵禦中間人攻擊的方法是:在途中根據需要修改它們的密文,使得A和B都不知道他們在和C共享通信。

DH演算法的缺點是沒有提供雙方身份的任何信息.。它是計算密集性的,因此容易遭受阻塞性攻擊,即對手請求大量的密鑰。受攻擊者花費了相對多的計算資源來求解無用的冪系數而不是在做真正的工作.,沒辦法防止重演攻擊。

容易遭受中間人的攻擊,第三方C在和A通信時扮演B;和B通信時扮演A.A和B都與C協商了一個密鑰,然後C就可以監聽和傳遞通信量。



(7)dh演算法是擴展閱讀:

基於原根的定義及性質,可以定義Diffie-Hellman密鑰交換演算法.該演算法描述如下:

1、有兩個全局公開的參數,一個素數q和一個整數a,a是q的一個原根。

2、假設用戶A和B希望交換一個密鑰,用戶A選擇一個作為私有密鑰的隨機數XA(XA<q),並計算公開密鑰YA=a^XA mod q。A對XA的值保密存放而使YA能被B公開獲得。類似地用戶B選擇一個私有的隨機數XB<q,並計算公開密鑰YB=a^XB mod q。B對XB的值保密存放而使YB能被A公開獲得。

3、用戶A產生共享秘密密鑰的計算方式是K = (YB)^XA mod q.同樣,用戶B產生共享秘密密鑰的計算是K = (YA)^XB mod q.這兩個計算產生相同的結果:

K = (YB)^XA mod q = (a^XB mod q)^XA mod q = (a^XB)^XA mod q = a^(XBXA) mod q = (a^XA)^XB mod q = (a^XA mod q)^XB mod q = (YA)^XB mod q 因此相當於雙方已經交換了一個相同的秘密密鑰。

⑻ md5變形加密演算法 DHPHI

在不理解MD5演算法的前提下,豈能想改哪裡就改哪裡。很可能隨便改一個地方都會造成更多的碰撞。
其實只要加點「鹽」就可以了,干嗎要去改一個成熟的演算法呢?
你能找出加「鹽」所帶來的壞處嗎?

熱點內容
短暫的訪問 發布:2024-09-23 01:29:08 瀏覽:827
安卓手機怎麼設置4位數 發布:2024-09-23 01:24:58 瀏覽:547
5g和演算法 發布:2024-09-23 01:20:40 瀏覽:506
pandas開發程序編譯 發布:2024-09-23 01:13:58 瀏覽:464
android應用被系統回收 發布:2024-09-23 01:10:36 瀏覽:446
c語言餐廳管理系統 發布:2024-09-23 01:01:35 瀏覽:93
linux系統新加網卡怎麼配置 發布:2024-09-23 01:01:34 瀏覽:893
java自我介紹一分鍾 發布:2024-09-23 00:51:34 瀏覽:672
告訴我解除密碼是多少 發布:2024-09-22 23:58:11 瀏覽:755
預演算法實施條例新 發布:2024-09-22 23:56:36 瀏覽:540