DH算法、DHE算法、ECDHE算法演进

article/2025/10/2 1:27:52

ECDHE 算法解决了 RSA 算法不具备前向安全的性质 和 DH 算法效率低下的问题。

ECDHE 算法具有前向安全。所以被广泛使用。

由什么演变而来

DH 算法 -- > DHE 算法 -- > ECDHE 算法

DH 算法是非对称加密算法,该算法的核心数学思想是离散对数。

核心数学思想

离散对数

离散对数 是【离散 + 对数】的两个数学概念的组合。

概念如图:

上图中,底数 a 和模数 p 是离散对数的公共参数(公开的),b 是真数,i 是对数。

知道了对数,就可以用上面的公式计算出真数。

反过来,知道真数却很难推算出对数。

特别是当模数 p 是⼀个很⼤的质数,即使知道底数 a 和真数 b ,在现有的计算机的计算⽔平是⼏乎⽆法算出离散 对数的,这就是 DH 算法的数学基础。

DH 算法

前置背景:

小红(客户端) 和 小明(服务端)、DH 算法中的两个公开参数 P 和 G

第一步:

小红生成一个随机数:a(私钥);小明生成一个随机数:b(私钥);

第二步:

小红根据 a、P、G 计算出公钥:A(公钥);小明根据 b、P、G 计算出公钥:B(公钥);

A = G ^ a ( mod P ); B = G ^ b ( mod P );

第三步:

小红和小明交换公钥 A 和 B;

第四步:

小红根据 B、a、P 运算得到:K(对称加密密钥); 小明根据 A、b、P 运算得到 K(对称加密密钥);

K = B ^ a ( mod P ) = A ^ b ( mod P )


整个密钥协商过程中,小红和小明公开了 4 个信息:P、G、A、B。

根据离散对数的原理,如果 P 是一个大数,在现有的计算机的计算能力是和很难破解出私钥 a、b的。

DHE 算法

来源:

根据私钥的生成方式的分类,DH 算法可以分为两种实现:DHE 算法 和 static 算法(已废弃)

E:ephemeral(临时性的)

作用特性:

让双方的私钥在每次密钥交换通信时,都是随机生成的、临时的。

每个通信过程 的私钥都是没有任何关系的,都是独⽴的,这样就保证了「前向安全」。

ECDHE 算法

来源:

解决 DHE 算法的性能不佳问题。

技术核心:

在 DHE 算法的基础上利用了 ECC 椭圆曲线特性。

具体过程:(在 DH 算法过程的基础上)

  • 小红和小明确定好:使用哪种椭圆曲线 和 曲线上的基点 G (都公开);
  • 小红根据 a、G 得到: QA(公钥);小明根据 b、G 得到: QB(公钥);

QA = aG;QB = bG;

  • 小红和小明交换公钥:QA 和 QB;
  • 小红计算点(x1,y1) = aQB ; 小明计算点(x2,y2) = bQA ;

因为椭圆曲线满足乘法交换律和结合律,所以 aQB = abG = baG = bQA。

  • 根据此次计算的特性,双方的 x 坐标是一样的,所以 x 为会话密钥。

这个过程中,双⽅的私钥都是随机、临时⽣成的,都是不公开的,即使根据公开的信息(椭圆曲线、公钥、基点 G)也是很难计算出椭圆曲线上的离散对数(私钥) 。

 


http://chatgpt.dhexx.cn/article/UtdalHc1.shtml

相关文章

DH 算法思想 SSH解决内容篡改问题

DH算法用于交换密钥 交换密钥的目的是生成仅双方共享的密钥 交换密钥的基本过程: 双方确定公开的内容用各自的私钥分别对公共内容加密(加密本质就是数学运算)并发送给对方这时双方使用自己的密钥对收到的内容加密(要设计运算保证…

ECDH算法详解

ECDH算法详解 ECDH算法详解DH密钥交换原理结合ECC椭圆曲线算法ECDSA签名算法 参考资料 ECDH算法详解 DH密钥交换原理 进一步解释: 两端(Alice 和 Bob)想要安全的交换信息并且第三方不能获取到该信息。当然这也是TLS协议中的目的之一&#xf…

DH算法(密钥交换算法)

一 对称加密缺点 密钥传递过程复杂,这是对称加密带来的困扰。 二 DH密钥交换算法特点 构建本地密钥 双方密钥一致 三 DH相关参数 四 DH算法实现过程 1、初始化发送方的密钥(KeyPairGenerator、KeyPair、PublicKey) 2、初始化接受方的密钥&…

SSL/TLS中的DH算法、DHE算法、 ECDHE算法介绍

❤️SSL/TLS专栏导航页❤️ 文章目录 1. DH算法简介2. DH算法协商流程3. DH算法证明4. SSL/TLS中的DH算法 1. DH算法简介 Diffie-Hellman密钥交换算法是在1976年由这两个人发明的算法。它可以在不安全的网络中,通过交换一些公开的信息协商出共享密钥,使…

一文读懂DH密钥交换算法

DH 算法是 Diffie和Hellman于1976年提出了一种的密钥交换协议。这种加密算法主要用于密钥的交换,可以在非安全信道下为双方创建通信密钥,通讯双方可以使用这个密钥进行消息的加密、解密,并且能够保证通讯的安全。 换而言之,算法希…

密钥协商算法的演变 —— RSA算法 - DH算法 - DHE算法 - ECDHE算法

文章目录 1. RSA算法RSA握手过程RSA秘钥协商算法最大的缺陷 2. DH算法3. DHE算法4. ECDHE算法ECDHE秘钥协商算法的TSL握手: 1. RSA算法 传统的 TLS 握⼿基本都是使⽤ RSA 算法来实现密钥交换的。在 RSA 密钥协商算法中,客户端会⽣成随机密钥&#xff0c…

openswan中DH算法说明

Author :Email : vip_13031075266163.comDate : 2021.01.11Copyright : 未经同意不得转载!!!Version : openswan-2.6.51.5Reference:https://download.openswan.org/openswan/ 目录 1. ope…

DH法理解

旋转关节机器人 四个参数:a,α,d,θ 四个参数实际上是两组,先有a,α,再有d,θ。 a是两个转轴之间的距离(Z轴),异面直线公垂线的长度,也…

DH算法及源码解读

【主流的密钥交换方式】 敏感数据信息安全传输需要对敏感信息加密,加密的密钥涉及到传输两端的密钥协商和交换,目前主要两种密钥交换的机制有: 1. 基于非对称密钥的实现:请求方用接收方的公钥加密自己的密钥,接收方用…

DH 加密算法的使用

DH 算法的介绍 上面介绍的 DES,3DES,AES 算法都是对称密码算法,所谓对称,在上面也解释了,就是加密和解密的过程中使用相同的密钥 。而现在将要介绍的是 DH 算法,属于非对称密码算法,根据对称密码的概念,很…

非对称加密 DH算法

DH算法简介 迪菲-赫尔曼密钥交换(Diffie–Hellman key exchange,缩写为D-H) 是一种安全协议。 它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。 这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。 迪…

DH算法 | Diffie-Hellman 密钥交换

概述: DH 算法又称“Diffie–Hellman 算法”,像往常的算法名字一样,这是用俩个数学牛人的名字来命名的算法,实现安全的密钥交换,通讯双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥。 优点&am…

DH算法原理

DH算法原理 DH 是 Diffie-Hellman的首字母缩写,是Whitefield与Martin Hellman在1976年提出了一个的密钥交换协议。我个人倾向于称DH算法为 密钥协商协议而RSA算法是密钥交换算法。 本篇分为几个部分,第一个部分介绍一下密钥交换的场景;第二部…

DH、DHE、ECDHE加密算法

DH算法 离散对数 DH 算法是非对称加密算法, 因此它可以用于密钥交换,该算法的核心数学思想是离散对数。 对数运算: i l o g a b i log_{a}b iloga​b 离散对数是在对数运算的基础上加了「模运算」,也就说取余数,…

DH 算法原理

一、DH算法 DH 算法其实也叫作 Diffie - Hellman 密钥交换协议,是一个不安全的秘钥共享网络协议,无法避免中间人攻击。 二、DH算法的原理 假设 Ali 和 Bob 需要互相通信并共享秘钥 Ali 先给 Bob 一个明文共享参数 、 ,此信息可以被任何人…

DH算法图解+数学证明

前几天和同事讨论IKE密钥交换流程时,提到了Diffie-Hellman交换。DH算法最主要的作用便是在不安全的网络上成功公共密钥(并未传输真实密钥)。但由于对于DH算法的数学原理则不清楚,因此私下对DH算法进行一个简单学习。 1. DH算法的交互流程: Al…

卷积神经网络(Convolutional Neural Networks,CNNS/ConvNets)

本文翻译自 Convolutional Neural Networks(CNNs / ConvNets),更多内容请访问:http://cs231n.github.io/。 原来译文:https://blog.csdn.net/Consu_Yasin/article/details/78052411 卷积神经网络非常类似于普通的神经网络:它们都…

卷积神经网络CNNs的理解与体会

孔子说过,温故而知新,时隔俩月再重看CNNs,当时不太了解的地方,又有了新的理解与体会,特此记录下来。文章图片及部分素材均来自网络,侵权请告知。 卷积神经网络(Convolutinal Neural Networks&a…

Gated-SCNN: Gated Shape CNNs for Semantic Segmentation论文笔记

论文介绍 作者认为之前的semantic segmentation的工作将所有信息都放入到了CNN的网络之中(这其中包含了颜色、边界、纹理等信息),这不太理想,所以作者在regular stream的基础之上增加了一个shape stream的分支,通过利用门控卷积来控制使得sh…

【t-SNE可视化CNNs特征向量-代码】

t-SNE可视化CNNs特征向量-代码 本博客主要是自己学习记录,参考网络,欢迎指正 整体代码 ModelPath是存放训练好的模型参数的路径 DatasetPath是存放数据集的文件夹的路径,其中不同类别放在不同的子文件夹里也可以参考【t-SNE可视化-代码】 …