DH交换秘钥算法

DH加密C++演示 用C++编写的调用CryptAPI库函数实现DH交换协议的演示程序,供学习参考 立即下载

参考博客:https://blog.youkuaiyun.com/zzminer/article/details/8571289

在SSL/TLS协商秘钥过程中,一般会采取两种算法:RSA和DH。

RSA算法主要是通过公钥证书和私钥证书来进行加解密。当服务端向客户端发送Certificate之后,客户端生成公共秘钥,再用服务端的公钥进行加密,通过Client Key Exchange消息发送给服务端,服务端收到消息后,用自己的私钥进行解密,大家就完成了公共秘钥协商过程。

DH算法主要是通过公式 B a mod p=(gb)a modp=gabmod p = (ga)bmodp = Ab mod p 来协商公共秘钥。那么双方必须都知道g、p、A、B参数。DH的步骤如下:

1.      Alice和Bob先对p 和g达成一致,而且公开出来。Eve也就知道它们的值了。

2.      Alice取一个私密的整数a,不让任何人知道,发给Bob 计算结果:A=ga modp. Eve 也看到了A的值。

3.      类似,Bob 取一私密的整数b,发给Alice计算结果B=gb mod p.同样Eve也会看见传递的B是什么。

4.      Alice 计算出S=B a mod p=(gb)a modp=gabmod p.

5.      Bob 也能计算出S=Ab mod p=(ga)bmodp=gabmod p.

6.      Alice 和 Bob 现在就拥有了一个共用的密钥S.

7.      虽然Eve看见了p,g, A and B, 但是鉴于计算离散对数的困难性,她无法知道a和b 的具体值。所以Eve就无从知晓密钥S 是什么了。

所以在DH协商过程中会有Server Key Exchange和Client Key Exchange两个消息,这是为了交换g、p、A、B参数



DH算法代码实现 很小的代码,3百多行,用C语言写的,还是比较适合学习的 立即下载

相关推荐

DH密钥交换算法

DH密钥交换算法。

抓包分析TLS握手(ECDHE)

ECDHE(Elliptic Curve Diffie-Hellman Ephemeral)是一种利用椭圆曲线加密算法的密钥交换协议。在TLS握手过程中,ECDHE与其他密钥交换算法(如RSA)相比有以下特点:秘钥安全性更高:ECDHE使用椭圆曲线算法,具有更高的安全性,可以减少中间人攻击所造成的风险。密钥协商效率更高:ECDHE对密钥的协商过程只需要进行一次,而RSA或DHE需要进行两次,因此ECDHE在密钥协商效率上比其他算法更具优势。

fade_away_py的博客 1647

DH_DH密钥交换_

(1)编程实现两个程序(c/s模式),两个程序之间可通过DH协议建立共享秘钥。(2)在共享密钥建立后,两个程序之间的消息交换要保证机密性(用对称加密算法和共享密钥加密)。(3)接收方能验证消息的真实性(消息完整和来源可性)

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

❤️SSL/TLS专栏导航页❤️ 文章目录1. DH算法简介2. DH算法协商流程3. DH算法证明4. SSL/TLS中的DH算法 1. DH算法简介 Diffie-Hellman密钥交换算法是在1976年由这两个人发明的算法。它可以在不安全的网络中,通过交换一些公开的信息协商出共享密钥,使用此共享密钥建立安全通讯。它实际上并没有直接交换密钥,而是通过数学计算,得出共享密钥。 有限域的离散对数问题的复杂度正是支撑DH密钥交换算法的基础。 ⚠️⚠️⚠️ DH算法属于非对称算法。DH算法专利已经与.

遇见你是我最美丽的意外 8473

倍福 MODBUS TCP/IP通信

(*默认字符串80字节,此处声明为255字节,可以一次性传42个UINT数据.5位整数加一个空格,即每个数据6字节*)(*---------------------------------------- 以下为用户程序 ----------------------------------------*)(*读回并换算后的值*)(*准备写到PLC的值*)(*用于比较两次读回的值相差多少,以估计通讯的速度, Act_CalcDiff*)(*用于切换读和写,Act_Protocal*)

qq_33280096的博客 1367

GitHub工业级开源利器:StreamPipes如何简化工业物联网数据分析

Apache StreamPipes是一款GitHub上的工业级开源利器,旨在简化工业物联网数据分析。它通过图形化界面连接各类工业协议数据源,以拖拽方式构建流处理管道,并实现实时可视化,有效降低了数据分析的技术门槛,让业务人员也能自助完成从数据接入到洞察的全流程。

weixin_29279153的博客 180

SSH协议解析及wireshark抓包分析

ssh中文名称叫安全外壳协议,是一种加密的网络传输协议。SSH 在 TCP 和 UDP 中都被分配了端口 22。 但是,由于需要可靠的通信、正确的数据包排序等,该协议主要在 TCP 上运行。 为什么需要SSH? SSH 和 telnet 之间的主要区别在于 SSH 提供完全加密和经过身份验证的会话。而telnet缺少安全的认证方式,而且传输过程采用TCP进行明文传输,存在很大的安全隐患。单纯提供telnet服务容易招致DoS、主机IP地址欺骗、路由欺骗等。所以在远程登陆上SSH替代telnet,提供更安全可

chen1415886044的博客 2万+

OpenSceneGraph编译、安装、开发环境

详细描述WIndows 10下使用Visual Studio 2019编译OpenSceneGraph 3.6.5的操作流程

国产CAx(CAD/CAE/CAM)软件研发 8771

加解密简单了解之DH密钥协商与AES128

加密算法是公开的,靠的是秘钥来加密数据,使用一个秘钥加密,必须使用相同的秘钥才解密。优点: 算法公开、计算量小、加密速度快、加密效率高缺点:在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。:加密和解密使用不同的秘钥,一把公开的公钥,一把私有的私钥。公钥加密的信息只有私钥才能解密,私钥加密的信息只有公钥才能解密。优点:安全,即使密文被拦截、公钥被获取,但是无法获取到私钥,也就无法破译密文。作为接收方,务必要保管好自己的密钥。

qq_41816308的博客 1288

【Unity】ABB CRB 15000 外部引导运动实战:从配置到实时控制

本文详细介绍了ABB CRB 15000协作机器人的外部引导运动(EGM)功能在Unity环境中的实战应用。从RobotStudio配置到Unity实时通信架构,再到EGM运动控制技巧和问题排查,全面解析如何实现机器人的高精度实时控制。通过实际案例展示EGM技术在精密装配等场景中的显著效果,帮助开发者快速掌握这一先进技术。

weixin_29057695的博客 445

【无人机路径规划】基于强化学习实现多无人机路径规划附matlab代码

1 简介 本文提出一种基于强化学习实现多无人机路径规划。​ 2 部分代码 % This is used to measure the path length, service rate and risk explosure for each UAVs %% parameters function [PL,ServiceRate,Risk]=measure global N2; % divide [0,1]*[0,1] map into N2*N2 grid when calcul

qq_59747472的博客 6905

HTTPS安全相关-通信安全的四个特性-ssl-tls

新的协议名“https”,默认端口号 443至于其他的什么请求 - 应答模式、报文结构、请求方法、URI、头字段、连接管理等等都完全沿用 HTTP[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9MoeGXqi-1618498415299)(C:\Users\Administrator\AppData\Roaming\Typora\typora-,HTTPS 凭什么就能做到机密性、完整性这些安全特性呢?

dzqxwzoe的博客 1110

国科大学习资料--VLSI测试与可测试设计--2020期末考试试题

国科大学习资料–VLSI测试与可测试设计–2020期末考试试题 国科大学习资料–VLSI测试与可测试设计–2020期末考试试题 国科大学习资料–VLSI测试与可测试设计–2020期末考试试题 一、概念题 1简述可测试性测度与两个主要的测度指标的含义; 2以March C-算法为例,说明March算法的构成,以及March C-算法的故障覆盖率; 3“效果-原因”诊断法和“原因效果诊断法”的不同; 4列举四条扫描设计时出现的问 题及解决办法; 5最少写出1149.1与1500的五点不同; = = = = =

无名何许人的博客 1150

DH秘钥交换算法

如上图所示, 加密和解密双方都会拥有自己的私钥和公钥,公钥是公开的,私钥是只有自己知道的,Alice将自己的私钥与g,p两个参数进行计算得到自己的公钥,然后将自己的公钥和g,p两个参数通过网络发送给Bob,Bob根据Alice发送的g,p参数与自己的私钥进行相同计算得到他的公钥,再将他的公钥发送给Alice,最后,双方根据各自的私钥与对方发送来的公钥进行相同的数学计算得到共享秘钥(真正进行加密和解密的秘钥)。在Person类中,分别保存了每个人对应的私钥,公钥和共同的秘钥,在构造方法中通过。

weixin_72764731的博客 535

拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...

拆解全球18大“支付清算”体系:CLS、中国、美国、欧洲、日本、mBridge...

银行信息系统应用架构详解 883

星载SAR的各项指标解读(史上最全)

一、系统指标 系统指标主要指雷达系统的通用的指标,以及和卫星整星相关的指标,主要有一下几项: 工作频段: 雷达体制: 极化方式: 设计s

9271

dh密钥交换算法 java_别再传输秘钥了——Android 使用 DH 秘钥交换简介

别再传输秘钥了——Android使用DH秘钥交换简介最近跟一些做 Android 开发的同学聊天,发现很多团队在加密方面,普遍使用的策略是:客户端预置RSA公钥。客户端本地随机生成对称秘钥key。RSA对公钥加密+签名,交给服务端。服务端用RSA私钥做验证签名+解密还原key。双端用生成的对称密钥,使用对称加密对消息体加密。我记得09年诺基亚还没有衰败的时候,J2ME上的应用程序就采用这种加密的方...

weixin_39675963的博客 476

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

秘钥交换算法(DH算法+非对称加密算法)

在不安全的信道上传递加密文件,当加密文件被截取时,没有秘钥,无法破解密文,但是如何在不安全的信道上安全的传输秘钥呢?如何传输秘钥才能使秘钥被截取是还能保证密文的安全的?要解决这个问题,则需要要使用密钥交换算法,秘钥交换算法有两种:对称加密算法以及非对称加密算法。

weixin_54505261的博客 414

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

java加密体系-秘钥交换算法DH

密钥交换算法(秘钥协商算法)——DH 1.简述     1976年,W.Diffie和M.Hellman在发表的论文中提出了公钥加密算法思想,但当时并没有给出具体的实施方案,原因在于没有找到单向函数(也就是消息摘要算法),但在该论文中给出了通信双方通过信息交换协商密钥的算法,即Diffie-Hellman密钥交换算法(简称为DH算法)。该算法的目的在于让消息的收发双方可以在安全的条件下交换密钥...

攻城狮Luke 1306

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

mbedtls交换服务器证书,mbedtls | 07 - DH秘钥协商算法的配置与使用

mbedtls系列文章Demo工程源码https://github.com/Mculover666/mbedtls-study-demo本工程基于STM32L41RCT6开发板,包含了本系列文章中所编写的所有Demo,持续更新……文章目录mbedtls系列文章Demo工程源码一、DH秘钥协商算法二、DH秘钥协商功能的配置和使用1. 配置宏2. DH秘钥协商功能API说明3. 编写测试函数4. 测试...

weixin_32751961的博客 1106

CCIE-加密技术的分类

今天的她有点慌乱,但更多的是打工人的无奈 对称秘钥算法 块加密Block Cipher (对称秘钥算法) 将明文分成固定长度的块(不足的bit 用0补足), 逐块加密. 算法不同, 分块大小不相同 密文长度一般稍长于原文长度(填充部分) 流加密Stream Cipher (对称秘钥算法) 逐bit 加密 密文长度与原文长度一致 DES Data Encryption Standard 块加密技术 秘钥固定为56bits (64bits 长, 但是只有56bits 用于加

fa_nei_kuang_tu的博客 193

非对称加密算法

文章目录概述DH(Diffie-Hellman)秘钥交换算法RSA-基于因子分解ElGamal-基于离散对数ECC(Elliptical Curve Cryptography)—椭圆曲线加密 概述 对称加密算法是因为秘钥的对称而由来的,而非对称加密算法是因为和对称加密相反的原理来实现的,是高级的,举个例子: 银行的保险柜,肯定是银行工作人员拿着他自己那把钥匙,加上事主自己那把钥匙,共同才能打开保险柜的,这种方式我们叫做双保险。 非对称加密算法是分公钥、私钥,公钥是非安全的方式(公开)发放的,私钥自己保存。

weixin_44778952的博客 2309
上一篇: CPU使用率
下一篇: SDP详解
zoe_from_mars
博客等级 码龄19年 27粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值