文章目录
ECDH是一个非常重要且广泛应用的密码学协议,用于在不安全的通信通道上安全地生成一个共享的密钥。
一、什么是ECDH?
ECDH (Elliptic Curve Diffie-Hellman) 是一种基于椭圆曲线密码学(ECC)的密钥协商协议。它允许两个通信方在不安全的信道上,通过交换公开信息,独立地推导出一个相同的共享密钥(Shared Key)。
该共享秘密通常作为对称加密算法(如AES)的密钥,用于加密后续的通信内容。
其安全性依赖于椭圆曲线离散对数问题(ECDLP) 的计算困难性:已知椭圆曲线上的点 G 和 k * G,计算私钥 k 在计算上是不可行的。
二、为什么需要 ECDH?要解决什么问题?
想象一下,Alice 和 Bob 想在网上安全地聊天,但他们之间只有一个公开的、可能被窃听的网络(比如公共Wi-Fi)。
-
问题:
他们需要同一个密钥来用 AES 加密和解密消息。但如何把这个密钥通过不安全的网络传给对方?如果直接发送密钥,窃听者 Eve 也会得到它。 -
解决方案:
使用 ECDH。他们不需要直接传递密钥本身,而是通过交换一些公开的信息,并结合自己私密的信息,各自独立地计算出同一个共享密钥。即使 Eve 听到了所有公开信息,她也无法计算出这个密钥。
这解决了密钥分发的难题。
三、原理与图示
ECDH的核心过程可以用下图清晰地展示。它完美地演绎了如何从公开的交换中产生一个私有的共享密钥。


2397

被折叠的 条评论
为什么被折叠?



