...

DH算法-迪菲-赫尔曼密钥交换协议

DH算法即Diffie–Hellman key exchange-迪菲-赫尔曼密钥交换协议,是一种密钥交换的方法。主要用于TLS握手中安全的交换对称加密密钥。

根据不同的算法,DH协议可以分为

  • 基于离散对数算法
    • Static DH:静态DH协议(服务端私钥固定)
    • DHE:临时私钥DH协议(服务端私钥随机)
  • 基于ECC椭圆曲线算法
    • ECDH:椭圆曲线DH协议(服务端私钥固定)
    • ECDHE:临时私钥椭圆曲线DH协议(服务端私钥随机)

离散对数
对数logN是指数的逆运算,指数+取模运算 可以使得逆运算(对数运算)的结果是不连续的(逆向推导困难)。
A = gᵃ % p,指数a称为,A以g为底以p为模的离散对数。知道A、g、p很难推导出a。

ECC椭圆曲线算法

椭圆曲线中定义了一种特殊的标量乘法,即 曲线上的一个点G * 整数a = 曲线上的另一个点A,该乘法具有逆向推动困难的特点。
A(x,y) = G(x,y) * a,知道结果A,和G很难推导出a。

DH协议流程

DH协议

其中数字a和随机数b一般分别为服务端私钥、客户端私钥。而A和B则一般是计算出的服务端公钥、客户端公钥。

DH及DHE

DH_DHE

ECDH及ECDHE

ECDH_ECDHE

参考

posted @ 2024-07-22 15:17  韩志超  阅读(85)  评论(0编辑  收藏  举报