背景

对称加密算法通过密钥解决了数据加密问题,但是如何安全的传输密钥成为了下一个问题。如果密钥被窃取了,那对称加密数据就没有什么意义了。密钥交换算法(Diffie-Hellman算法 or DH算法)就是为了解决这个问题而出现的算法,DH算法也奠定了非对称加密算法的基础。

密钥交换算法(DH算法)

  1. 张三先随机取一个较大的素数p = 7777,一个底数g = 11,私钥k1 = 31,计算A = g^k1 MOD p = 2937
  2. 张三将p、g、A三个值发个李四
  3. 李四随机选择私钥为k2 = 19,计算B = g^k2 MOD p = 6325, 李四将B发给张三
  4. 李四计算密钥S2 = A^k2 MOD p = 781
  5. 张三计算密钥S1 = B^k1 MOD p = 781

明文传输了p、g、A、B四个值,只通过这四个值是无法计算出最终的密钥S,张三李四通过自己的私钥K1和k2计算出约定的密钥S1和S2,这样就完成了密钥的交换。

密钥交换算法(DH算法)相关推荐

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

    文章目录 1. RSA算法 RSA握手过程 RSA秘钥协商算法最大的缺陷 2. DH算法 3. DHE算法 4. ECDHE算法 ECDHE秘钥协商算法的TSL握手: 1. RSA算法 传统的 TLS ...

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

    ECDHE 算法解决了 RSA 算法不具备前向安全的性质 和 DH 算法效率低下的问题. ECDHE 算法具有前向安全.所以被广泛使用. 由什么演变而来 DH 算法 -- > DHE 算法 -- ...

  3. RSA算法和DH算法的区别

    同是非对称算法,非对称算法的根本原理就是单向函数,f(a)=b,但是用b很难得到a. RSA算法 RSA算法是基于大数难于分解的原理.不但可以用于认证,也可以用于密钥传输.那么用户A和B如何利用RSA ...

  4. DH算法 | 迪菲-赫尔曼Diffie–Hellman 密钥交换及RSA(学习笔记)

    DH算法 | 迪菲-赫尔曼Diffie–Hellman 密钥交换(学习笔记),来自B站: [不懂数学没关系]DH算法 | 迪菲-赫尔曼Diffie–Hellman 密钥交换_哔哩哔哩_bilibili ...

  5. DH算法在密钥交换中的作用简介

    DH算法是密钥交换协议/算法(Diffie-Hellman)的简称,是由Whitfield Diffie与Martin Hellman在1976年提出的一个密钥交换协议.这个机制的巧妙在于需要安全通信 ...

  6. java dh算法_https密钥交换DH算法

    我们来看DH算法交换密钥的步骤.假设甲乙双方需要传递密钥,他们之间可以这么做: 甲首选选择一个素数p,例如509,底数g,任选,例如5,随机数a,例如123,然后计算A=g^a mod p,结果是21 ...

  7. dh算法 理论依据_DH算法原理

    DH 算法原理 DH 是 Diffie-Hellman 的首字母缩写, 是 Whitefield 与 Martin Hellman 在 1976 年提出了一个的密钥交换协议.我个人倾向于称 DH 算法 ...

  8. 非对称加密算法-DH算法

    一.概述 1.与对称加密算法的主要差别在于,加密和解密的密钥不相同,一个公开(公钥),一个保密(私钥).主要解决了对称加密算法密钥分配管理的问题,提高了算法安全性. 2.非对称加密算法的加密.解密的效 ...

  9. 算法总结---最常用的五大算法(算法题思路)

    算法总结---最常用的五大算法(算法题思路) 一.总结 一句话总结: [明确所求:dijkstra是求点到点的距离,辅助数组就是源点到目标点的数组] [最简实例分析:比如思考dijkstra:假设先只 ...

最新文章

  1. 剑灵选区界面一直正在连接服务器,如何选择服务器 选择困难症的指南
  2. Qt学习一门:直接使用QT具
  3. servlet和webservice+WEBservice 的本质。
  4. java 文件 迭代_C迭代文件和目录
  5. python持久层框架_SQLAlchemy
  6. 明年1月发布!三星Galaxy S21系列爆料:首发骁龙875旗舰芯片
  7. 【Machine Learning 三】线性代数回顾:矩阵,矩阵运算,向量,转置
  8. 超强进程结束命令NTSD
  9. Pascal voc 数据集下载网址
  10. 串口通信基本接线方法
  11. PKG安装包的管理与文件格式分析
  12. correl函数相关系数大小意义_EXCEL中的相关系数能说明什么?
  13. PDFium使用分享
  14. 简述RAKsmart香港服务器的的优势
  15. 均值回归,逆市中的投资机会
  16. 关于JavaScript的一些使用心得
  17. 第十一届蓝桥杯(国赛) 阶乘约数C语言代码
  18. 8.0钓鱼宏命令插件 使用方法
  19. webpack打包时提示Invalid configuration object错误
  20. java 编译器工作原理

热门文章

  1. 论CRM免费软件的弊端
  2. 关于力控无法插入图片
  3. 服务器桌面监控,GitHub - 373137461/wallpaper_monitor: 适用于 Wallpaper Engine 等桌面壁纸软件的服务器状态监控软件,使用 PHP 开发...
  4. 吉吉拍——线上线下购物的数字化抢拍平台
  5. HC-05 蓝牙 2.0 串口模块
  6. 如何root安卓手机_安卓手机如何一键提升手机性能?用黑阈
  7. 分享12张企业数据中台架构图
  8. Hilbert 变换提取信号特征的 Python 实现
  9. wordpress大前端主题DUX7.1免授权
  10. 系统开发系列 之MyEclipse创建WebService详细教程和调用教程(spring框架+maven+CXF框架)