英语:Elliptic Curve Diffie–Hellman key Exchange,缩写为ECDH

  • 得到对称密钥,用于后续的加密交易金额

椭圆曲线密钥交换

ECC 算法和 DH 结合使用,用于密钥磋商,这个密钥交换算法称为 ECDH。

交换双方可以在不共享任何秘密的情况下协商出一个密钥。

ECC 是建立在基于椭圆曲线的离散对数问题上的密码体制,给定椭圆曲线上的一个点 P,一个整数 k,求解 Q=kP 很容易;给定一个点 P、Q,知道 Q=kP,求整数 k 确是一个难题。ECDH 即建立在此数学难题之上。密钥磋商过程:

假设密钥交换双方为 Alice、Bob,其有共享曲线参数(椭圆曲线E、阶N、基点G)。

1) Alice 生成随机整数a,计算 A=a*G。 # 生成Alice公钥

2) Bob 生成随机整数b,计算 B=b*G。 #生产Bob公钥

3) Alice 将 A 传递给 Bob。A 的传递可以公开,即攻击者可以获取 A。

由于椭圆曲线的离散对数问题是难题,所以攻击者不可以通过 A、G 计算出 a。

4) Bob 将B传递给 Alice。同理,B 的传递可以公开。

5) Bob 收到 Alice 传递的 A,计算 Q =b*A #Bob通过自己的私钥和 Alice 的公钥得到对称密钥 Q

6) Alice 收到 Bob 传递的 B,计算 Q`=a*B #Alice通过自己的私钥和 Bob 的公钥得到对称密钥 Q'

Alice、Bob 双方即得 Q=b*A=b*(a*G)=(b*a)*G=(a*b)*G=a*(b*G)=a*B=Q' (根据交换律和结合律原理),即双方得到一致的密钥 Q。

results matching ""

    No results matching ""