[密码学] Diffie-Hellman, ECDH , curve25519 之间的关系是怎么样的?

发布于 2022-09-04 02:44:18 字数 550 浏览 17 评论 0

我先说自己的理解

Diffie – Hellman :这个视频很通俗,就是一种算法:通过交换一些公开的数据就能让通讯双方相互算出密钥的算法 https://www.khanacademy.org/c...

ECDH :我的理解是 DH 的增强版,通过一些方法使用 DH 的逆运算(通过公开数据推断密钥的运算)更加复杂,以至于在当前计算机的计算能力下几乎不可能实现逆运算。至于增强的原理,不清楚,有人可以通俗地解释一下吗?

curve25519 : DH 算法中有一些公开的参数,而 curve25519 是把这些参数固定下来的一套算法。不知道对不对,希望不对人有可以指正一下。

然后就是另外一个问题:还有哪些类似的算法,优劣如何?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

缺⑴份安定 2022-09-11 02:44:18

DH是一个密钥交换算法,是Diffie和Hellman两个人设计的,他俩也因为公钥密码体系的设计而获得了2016年的图灵奖。这个算法最初的版本是利用了离散对数问题设计的。简单说,如果Alice和Bob分别选择了a和b作为自己的秘密,那么他们分别把g^a mod p和g^b mod p发送给对方,则公共的密钥就是g^(a*b) mod p。核心思想是,窃听者无法通过g^x mod p的值快速计算出x来。

而ECDH则是DH算法在椭圆曲线(EC)上的版本。Curve25519(也叫X25519)就是这样一个算法。我们首先要定义椭圆曲线上,点的加法,然后定义数k乘以点P为k个点P相加。如果Alice和Bob分别选择了a和b作为自己的秘密,那么他们分别把aP和bP的横坐标发送给对方,则公共的密钥就是(ab)P的横坐标。

常见的椭圆曲线还有short Weierstrass,即y^2 = x^3 + ax + b。这一类曲线上常用的参数是NIST-P256。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文