Diffie-Hellman密钥交换

该算法的目的是使两个用户能安全地交换密钥,以便在后序的通信中用该密钥对消息加密,该算法本身只限于进行密钥交换。

Diffie-Hellman算法的有效性是建立在计算离散对数是很困难的这一基础之上。

算法描述:

  1、选择两个公开的整数:素数q和q的某本原根α。

  2、用户A选择一个随机整数XA < q,并计算YA = αXA mod q;同理,用户B选择随机数XB < q,并计算YB = αXB mod q。其中A和B都对其X值保密,而Y值则对外公开。

  3、用户A计算KA = (YB)XA mod q,用户B计算KB = (YA)XB mod q。由于KA = KB,至此用户A和B完成了彼此的密钥交换。

    证明:KA = (YB)XA mod q

        = (αXB mod q)XA mod q

        = (αXB)XA mod q

        = (αXA)XB mod q

        = (αXA mod q)XB mod q

        = (YA)XB mod q

        = KB

安全性:

由于XAXB是私有的,攻击者只能通过q、α、YA和YB来进行攻击,这样就必须求离散对数才能确定密钥。即

  XB = dlogα,q(YB)

然而计算离散对数非常困难,对于大素数,求离散对数被认为是不可行的。因此保证了密钥的安全性。

然而这种协议并不能抵抗中间人攻击

攻击过程如下:

  1、攻击者D随机生成私钥XD1,XD2,并计算出响应的公钥YD1,YD2

  2、A要和B进行通信,要将YA传递给B,却被D截获,并修改成YD1传给B。

  3、B收到YD1后,要将YB传给A,同样被D截获,并修改成YD2传给A。

实际上,在A与B的通信中,D扮演了中间人的角色,实际上是A和D通信,D和B通信,这种漏洞就是因为该协议没有对通信的参与方进行认证。这些缺陷可以通过数字签名和公钥证书来克服。

时间: 2024-08-06 03:43:59

Diffie-Hellman密钥交换的相关文章

迪菲.赫尔曼(Diffie–Hellman)密钥交换算法

迪菲.赫尔曼算法是通信线路不安全情况下,交换密钥的一个算法,应用于TLS协议中 首先说一下生成密钥的流程,我们有这样一种计算叫做求摸运算 mod, 比如:27 mod 17 = 10,也就是求余数的运算. 现在有两个通信者A和B,我们使用一种计算 假如我们这里选用 3 ^ x mod 17,A和B分别生成一个随机的整数,这个整数即为x,比如A是2,B是3,那么A使用2计算: 3^2 mod 17 = 9 ① B使用3计算: 3^3 mode 17 = 10 ② 然后A将9发送给B,B将10发送给

DH密钥交换(Diffie–Hellman key exchange)算法笔记

注意:只是笔记,可能有不正确的地方 ?下文中^代表乘方运算,例如2^3=2*2*2=6,参考:http://zh.wikipedia.org/wiki/%E5%86%AA %代表模运算,例如5%3=2,参考:http://zh.wikipedia.org/wiki/%E6%A8%A1%E9%99%A4? DH密钥交换算法的作用是使通信双方可以在不安全的通道中建立一个相同的密钥,用于加密通信. 基本原理示例: 1.通信方A和通信方B约定一个初始数g,g是公开的,如g=5 2.A生成一个随机数a,a

IPSEC VPN

目录: 简介:... 2 分类:... 2 1.在路由上实现的VPN可分为:... 2 2.在ASA防火墙上实现的VPN:2 IPSec VPN:3 IPSec能实现的功能有:... 3 IPSec的特性(IPSec之所以安全是由它的特性决定的):... 3 IPSec的实施包含两个阶段... 4 IPSec协商过程:... 4 IPSec 范畴的VPN中各种形式的大体配置步骤:... 6 IPSEC VPN几种配置实例... 6 一.实验拓扑... 7 二.实验目的... 7 三.实验要求..

常见加密算法分类,用途,原理以及比较

摘自:http://blog.csdn.net/zuiyuezhou888/article/details/7557048   密码学简介 据记载,公元前400年,古希腊人发明了置换密码.1881年世界上的第一个电话保密专利出现.在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用. 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”,民间力量开始全面介入密码学的研究和

各种加解密算法比較

二.          加密算法介绍 对称加密算法 对称加密算法用来对敏感数据等信息进行加密,经常使用的算法包含: DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合. 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高. AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高: AES与3DES的比較 算法名称 算法类型

安全协议系列(五)---- IKE 与 IPSec(中)

在上一篇中,搭建好了实验环境.完整运行一次 IKE/IPSec 协议,收集相关的输出及抓包,就可以进行协议分析.分析过程中,我们将使用 IKE 进程的屏幕输出和 Wireshark 抓包,结合相关 RFC,利用 python 进行验证计算.先看协议的一次完整运行(过滤掉无关报文,如下图) 下面是 RFC 5996 中对 IKEv2 协议的规范说明 由上可知,IKEv2 协议由两个阶段的交互过程(即两个来回,共四个报文)组成.第一阶段称为 IKE_SA_INIT 交换.第二阶段称为 IKE_AUT

转: 常见加密算法分,用途,原理以及比较

常见加密算法分,用途,原理以及比较 标签: 算法加密解密encryption破解algorithm 2012-05-11 13:28 3533人阅读 评论(0) 收藏 举报  分类: 数据结构与算法(3)    密码学简介 据记载,公元前400年,古希腊人发明了置换密码.1881年世界上的第一个电话保密专利出现.在第二次世界大战期间,德国军方启用“恩尼格玛”密码机,密码学在战争中起着非常重要的作用. 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国

iOS 9的新的改变 iOS SDK Release Notes for iOS 9 说了些改变

iOS 9的新的改变 iOS SDK Release Notes for iOS 9 说了些改变 看了下还算能理解!!!有兴趣可以看看哈!!!不喜勿喷!!后面的对于废除的方法什么有用感觉!!! ios9 iOS SDK更新内容介绍 重点介绍: 这是一个初步的文档的API或技术发展.苹果是提供这一信息来帮助你计划的采用所述技术和编程接口使用品牌产品.此信息可能发生变化,根据这个文档和软件实现应与最后的操作系统软件测试和最终的文档.新版本的文档可以提供未来贝塔的API或技术. 内容: 介绍 iOS

【安全加密技术】非对称加密

转载请注明出处:http://blog.csdn.net/sk719887916/article/details/46810595 看过上篇网络互联基系列基础的朋友,对安全产生的原因以及策略度有所了解,当然作为开发者来讲,网络传输中的安全问题我们不必过多的关心,我们关心的是发送方加密和接收方对数据的解密过程,也就是网络安全中的一面边缘学科,密码学中的一种数据加密技术,目前业界的加密方式主要有对称加密和非堆成加密,那就先来了解下有非对称加密以及所关联的相关名字. 非对称加密 非对称加密算法是一种密

SSL常见加密算法

密码学简介 据记载,公元前400年,古希腊人发明了置换密码.1881年世界上的第一个电话保密专利出现.在第二次世界大战期间,德国军方启用"恩尼格玛"密码机,密码学在战争中起着非常重要的作用. 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高,于是在1997年,美国国家标准局公布实施了"美国数据加密标准(DES)",民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES.RSA.SHA等.随着对加密强度需求的不断提高,近期又出现了AES