DH密钥交换和ECDH原理

本文介绍DH及ECDH密钥交换原理,DH算法基于离散对数问题,允许双方在不安全信道上协商共享密钥。ECDH结合了椭圆曲线密码学与DH算法,利用椭圆曲线的离散对数问题进一步增强了安全性。

DH密钥交换和ECDH原理

在这里插入图片描述上述的就是DH密钥交互的图表:
可以这么理解,A与B想要生成只有彼此知道的密钥,而使得自己本地产生的私钥,不被对方知道,包括第三方的Eve。
此时的Alice 和Bob 彼此约定生成两个参数p,g,和自己的一个密钥a,b。因为p,g 是公开的,所以此时的Eve也是能够获悉p,g的。
第二步,经过 A=gamodpA =g^a mod pA=g<

DH密钥交换ECDH密钥交换是两种不同的密钥交换算法,它们的原理实现方式也有所不同。 DH密钥交换是一种基于数学问题的密钥交换算法,其原理基于离散对数问题。DH密钥交换的流程如下:假设有两个通信方,AB,他们需要共享一个密钥。首先,AB需要共同选定一个大质数p一个原根g,并且将pg公开,但是他们需要保密的是各自选定的一个私密数ab。然后,A计算g的a次方模p的值,并将其发送给B,即A发送的是(g^a) mod p。B也同样计算g的b次方模p的值,并将其发送给A,即B发送的是(g^b) mod p。最后,AB分别用收到的数值计算出共享的密钥,即A计算(B^a) mod p,B计算(A^b) mod p,这两个计算结果是相同的,即为共享的密钥。 ECDH密钥交换是一种基于椭圆曲线的密钥交换算法,其原理基于椭圆曲线上的点乘运算。ECDH密钥交换的流程如下:假设有两个通信方,AB,他们需要共享一个密钥。首先,AB需要共同选定一个椭圆曲线E一个基点G,并且将EG公开,但是他们需要保密的是各自选定的一个私密数ab。然后,A计算a倍的基点G所在的点P,并将其发送给B,即A发送的是aG。B也同样计算b倍的基点G所在的点Q,并将其发送给A,即B发送的是bG。最后,AB分别用收到的点计算出共享的密钥,即A计算b倍的P所在的点,即(bP),B计算a倍的Q所在的点,即(aQ),这两个计算结果是相同的,即为共享的密钥。 总的来说,DH密钥交换ECDH密钥交换都是非对称加密算法,它们的优点是密钥交换过程中不会直接传输密钥,从而保证了密钥交换的安全性。同时,ECDH密钥交换相对于DH密钥交换来说,具有更高的安全性更短的密钥长度,因此在实际应用中更加常见。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shanshan yuan

一个关注于技术与生活的学生

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值