I'm OWenT

Recent content on I'm OWenT

马上订阅 I'm OWenT RSS 更新: https://owent.net/index.xml

ECDH椭圆双曲线(比DH快10倍的密钥交换)算法简介和封装

2017年11月10日 21:30

前面有几篇blog就提到我有计划支持使用ECDH密钥交换。近期也是抽空把以前的DH密钥交换跨平台适配从atgateway抽离出来,而后接入了ECDH流程。

背景

DHECDH算法的具体原理这里不做具体介绍了,可以点击链接看。DHECDH的主要的作用就是在通信双方发送一些公有参数,保留私有参数,而后通过一系列计算双方都能够得到一个一致的结果。而这个运算的逆运算复杂度过高,在有限时间内不可解(至少量子计算机问世以前不可解),以保证密钥安全性。除了维基百科外,我还看到篇文章图画的很好看的:http://andrea.corbellini.name/2015/05/30/elliptic-curve-cryptography-ecdh-and-ecdsa/ 。而DHECDH得区别简单来说就是,前者使用了一个大素数和两个随机数,而后者使用了ECC算法和两个随机点。

实际应用中,有些加密算法的密钥碰撞计算难度反而比破解DHECDH要容易(比如atgateway支持的XXTEA算法,这个算法很简单所以也非常高效)。所以有些工程实践中会每隔一段时间再走一次密钥交换流程来更换密钥。