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

news2024/11/24 22:54:48

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://www.coloradmin.cn/o/819983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

wms-3代货架标签(电池版本)接口文档

一、查询标签信息接口 接口类型:POST, 参数格式:json array 链接形式: http://localhost/wms/associate/getTagsMsg 代码形式: { url : http://localhost/wms/associate/getTagsMsg, requestMethed : GET, requestParamet…

亚马逊买家账号ip关联怎么处理

对于亚马逊买家账号,同样需要注意IP关联问题。在亚马逊的眼中,如果多个买家账号共享相同的IP地址,可能会被视为潜在的操纵、违规或滥用行为。这种情况可能导致账号受到限制或处罚。 处理亚马逊买家账号IP关联问题,建议采取以下步骤…

有哪些很奇PA,但又比较少人知道的病毒?

世界上有哪些很奇PA(或者说很搞笑),但又比较少人知道的病毒? ①温州皮鞋厂病毒 中毒迹象:播放出我们熟悉的《温州皮鞋厂倒闭了》bgm,并出现“捍卫版权,盗(到)此为止”…

DAY15_VUEElement综合案例

目录 1 VUE1.1 概述1.1.1 Vue js文件下载 1.2 快速入门1.3 Vue 指令1.3.1 v-bind & v-model 指令1.3.2 v-on 指令1.3.3 条件判断指令1.3.4 v-for 指令 1.4 生命周期1.5 案例1.5.1 需求1.5.2 查询所有功能1.5.3 添加功能 2 Element2.0 element-ui js和css和字体图标下载2.1 …

C++ 类和对象篇(二) this指针

目录 一、this指针概念 二、this指针的特性 三、this指针存在哪里? 四、this指针可以为空吗? 一、this指针概念 1.是什么? 它是类内非静态成员函数的隐含形参,this指针指向调用该函数的对象。 this指针是C编译器给每个“非静态…

适应于Linux系统的三种安装包格式 .tar.gz、.deb、rpm

deb、rpm、tar.gz三种Linux软件包的区别 rpm包-在红帽LINUX、SUSE、Fedora可以直接进行安装,但在Ubuntu中却无法识别; deb包-是Ubuntu的专利,在Ubuntu中双击deb包就可以进入自动安装进程; tar.gz包-在所有的Linux版本中都能使用…

【100天精通python】Day21:文件及目录操作_文件的权限处理和批量处理

目录 专栏导读 1. 文件的权限处理 1.1 查询文件权限 1.2 修改文件权限 2 文件的批量处理 2.1 使用os模块和os.listdir()函数 2.2 使用glob模块 2.3 使用shutil模块 2.3.1 批量复制文件 2.3.2 批量移动文件 2.3.3 批量删除文件 2.3.4 批量创建目录 专栏导读 专栏订阅…

Python程序开发案例教程PDF,python程序开发案例教程

大家好,本文将围绕Python程序开发案例教程黑马程序员电子版书展开说明,Python程序开发案例教程黑马课后答案是一个很多人都想弄明白的事情,想搞清楚Python程序开发案例教程pdf黑马程序员需要先了解以下几个事情。 1、python软件开发的案例有哪…

多赛道出海案例,亚马逊云科技为企业提供全新解决方案实现高速增长

数字化浪潮之下,中国企业的全球化步伐明显提速。从“借帆出海”到“生而全球化”,中国企业实现了从低端制造出口,向技术创新和品牌先导的升级。为助力中国企业业务高效出海,亚马逊云科技于2023年6月9日在深圳大中华喜来登酒店举办…

使用阿里云DataX完成数据同步

DataX DataX 是阿里云 DataWorks 数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, datab…

Unity-缓存池

一、.基础缓存池实现 继承的Singleton脚本为 public class Singleton<T> where T : new() {private static T _instance;public static T GetIstance(){if (_instance null)_instance new T();return _instance;} } 1.PoolManager using System.Collections; using S…

mac安装nacos,M1芯片

第一步&#xff0c;官网下载 》nacos官网 去github中下载对应的版本&#xff0c;本人下载的是1.4.1版本 在这儿选择其他的版本&#xff0c;下面这里选择 tar.gz 压缩包 解压后放到一个非中文的目录下&#xff0c;我选择在 user目录下面创建一个other目录&#xff0c;将使用的环…

python-网络爬虫.Request

Request python中requests库使用方法详解&#xff1a; 一简介&#xff1a; Requests 是Python语言编写&#xff0c;基于urllib&#xff0c; 采用Apache2 Licensed开源协议的 HTTP 库。 与urllib相比&#xff0c;Requests更加方便&#xff0c;处理URL资源特别流畅。 可以节约我…

慕课网Go-4.package、单元测试、并发编程

package 1_1_User.go package usertype User struct {Name string }1_1_UserGet.go package userfunc GetCourse(c User) string {return c.Name }1_1_UserMain.go package mainimport ("fmt"Userch03 "goproj/IMOOC/ch03/user"//别名&#xff0c;防止同名…

HarmonyOS/OpenHarmony元服务开发-配置卡片的配置文件

卡片相关的配置文件主要包含FormExtensionAbility的配置和卡片的配置两部分&#xff1a; 1.卡片需要在module.json5配置文件中的extensionAbilities标签下&#xff0c;配置FormExtensionAbility相关信息。FormExtensionAbility需要填写metadata元信息标签&#xff0c;其中键名称…

论文解读|2020 CVPR:PointASNL:基于自适应采样的非局部神经网络点云鲁棒处理

原创 | 文 BFT机器人 01 背景 点云是由大量的点组成的三维数据集&#xff0c;通常由激光雷达或摄像机等传感器采集。点云数据处理是计算机视觉和机器学习领域的重要研究方向&#xff0c;应用广泛&#xff0c;例如自动驾驶、机器人导航、三维建模等。然而&#xff0c;点云数据通…

CCIA数安委等组织发起“个人信息保护影响评估专题工作”,合合信息首批入选试点

近期&#xff0c;“个人信息保护影响评估专题工作”&#xff08;简称“PIA专题工作”&#xff09;试点评估结果正式发布。PIA专题工作组由中国电子技术标准化研究院、中国信息通信院等单位的法律与技术专家组成&#xff0c;对试点申报单位开展PIA工作的过程是否符合评估依据提出…

bigemap工程行业应用

类似这种看布置&#xff0c;修温室大棚&#xff0c;再就是把影像添加到cad里。落坐标点 是因为觉得地图影像清晰&#xff0c;更新及时能直接用软件做等高线地形图进行投影转换配合cad来使用直接在线下载卫星图和高程节省测绘时间&#xff0c;以及手机端去做数据的采集&#xff…

我为“IT教父”柳传志的名言画蛇添足

我为“IT教父”柳传志的名言画蛇添足 搭班子&#xff0c;定战略&#xff0c;带队伍 添两条足&#xff1a;配资源&#xff0c;拼打法 趣讲大白话&#xff1a;教父还是很牛&#xff0c;被恶意黑化了 【趣讲信息科技243期】 **************************** 搭班子&#xff1a;是一条…

Bootstrap框架(JavaScript组件)

目录 前言一&#xff0c;JavaScript插件简介二&#xff0c;插件的引入方式三&#xff0c;data属性四&#xff0c;关闭data属性五&#xff0c;过渡插件六&#xff0c;模态框6.1&#xff0c;JavaScript操作模态框6.2&#xff0c;模态框属性6.3&#xff0c;模态框方法6.4&#xff…