当前位置:首页 » 操作系统 » 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 02:00:21 浏览:686
短暂的访问 发布:2024-09-23 01:29:08 浏览:828
安卓手机怎么设置4位数 发布:2024-09-23 01:24:58 浏览:548
5g和算法 发布:2024-09-23 01:20:40 浏览:507
pandas开发程序编译 发布:2024-09-23 01:13:58 浏览:466
android应用被系统回收 发布:2024-09-23 01:10:36 浏览:447
c语言餐厅管理系统 发布:2024-09-23 01:01:35 浏览:95
linux系统新加网卡怎么配置 发布:2024-09-23 01:01:34 浏览:895
java自我介绍一分钟 发布:2024-09-23 00:51:34 浏览:674
告诉我解除密码是多少 发布:2024-09-22 23:58:11 浏览:755