首页 > 其他分享 >Diffie-Hellman密钥交换协议

Diffie-Hellman密钥交换协议

时间:2024-06-03 21:11:33浏览次数:16  
标签:modp 协议 Hellman MAC 密钥 Diffie 签名

Diffie-Hellman密钥交换协议

一. 介绍

密钥交互协议是一种交互式的密码协议,通过该协议可以使没有任何共享密钥的双方,在公开网络上可以通过某些信息来产生一对共享的安全密钥,安全性是基于离散对数问题的难解性。

二. 数学原理

设p是一个大素数,g是p的原根(即数值g mod p, g^2 mod p, ...., g^(p-1) mod p是各不相同的整数,并且以某种排列顺序组成了从1到p-1的所有正整数)。离散对数问题就是在已知整数b和素数p的一个原根g,求解唯一的指数i,满足b=(g^i)modp。

三. 发展历程

1. 基础算法

  1. A选择一个大数x, 并发送X=(g^x)modp给B
  2. B选择一个大数y, 并计算Y=(g^y)modp给A
  3. A计算Ka=(Y^x)modp, B计算Kb=(X^y)modp
  4. Ka=Kb=(g^(x*y))modp即为双方的密钥

评价:

从gx和gy当中求解x或y是离散对数问题,从gx和gy当中得到g^(x*y)是CDH问题,都是难解问题。但是Diffie-Helleman算法没有身份验证机制,容易中间人攻击。

1717417915212

2. 站到站密钥交换协议

为解决中间人攻击的问题,采取签名认证Diffie-Hellman算法进行分析,基于签名认证来防止中间人攻击。

1717418114917

但是还是存在问题,未知密钥共享攻击可以实现身份的伪装。

攻击者将A中协议发送者的身份换成了E,然后通过转发消息和伪造签名来实现让B认为自己是真实的发送者,从而实施攻击。这个问题的关键就是没有对签名进行认证,对方之前并不知道签名的公钥是什么,所有人都可以伪造签名,从而实现身份的篡改。

1717418260834

为了解决这个问题,提出了STS(站到站协议),通过在签名上再进行一次加密实现避免身份被篡改。

1717418637923

核心就是在原来的基础上,对签名用共享密钥再进行了一次加密,实现身份的认证。

3. SIGMA密钥交换协议

基于Diffie-Hellman的站到站协议虽然实现了较好的安全性,但是上述协议当中核心是保证签名消息的机密性,而实际上目地应该是消息的完整性和验证性,有点本末倒置的感觉。

经过优化采取基于MAC校验实现消息的认证性,提出了著名的SIGMA(Sign and MAC)协议。

主要思想:
通过签名实现消息的认证性,同时利用MAC算法实现消息的完整性和会话密钥确认。在协议当中,响应方B利用k'计算消息(B, g^x, g^y)的MAC校验值,其中k'是k通过密钥生成函数生成的会话密钥,然后B使用私钥对MAC校验值进行签名。通过私钥签名证明自己身份,通过MAC校验证明未被修改,通过会话密钥计算MAC校验值证明其知道会话密钥Km。

1717419818690

对于中间人而已,可以篡改签名但是无法修改签名当中的内容,所以未知密钥共享攻击失效。

标签:modp,协议,Hellman,MAC,密钥,Diffie,签名
From: https://www.cnblogs.com/ONEZJ/p/18229675/diffiehellman-key-exchange-protocol-z1ptzc1

相关文章

  • 2024最新win10专业版密钥永久使用
    Win10专业版是微软面向专业人士和组织推出的Windows10操作系统版本,它包含了面向家庭用户的Win10家庭版的所有功能,并额外提供了许多专业功能,例如:BitLocker设备加密:用于保护设备上的数据,即使设备丢失或被盗也能确保数据的安全。远程桌面连接:允许用户从远程位置连接到他们的......
  • 最新版Windows11专业工作站版永久密钥
    Windows11专业工作站版是专为高性能工作站和高级用户设计的Windows11操作系统版本。它包含了Windows11Pro的所有功能,并增加了一系列定制的功能扩展,旨在将您的业务提升到新的水平。主要功能:超高速数据存储:支持高达4个CPU和6TB的内存,可满足您对数据存储和处理......
  • mathtype7最新产品密钥2024免费激活码
     MathType2024,作为最新的专业数学公式编辑神器,以其强大的功能和用户友好的界面,正在重新定义我们编写和分享复杂数学公式的方式。我们需要了解什么是MathType。MathType是一款专业的数学公式编辑软件,它可以帮助教师、学生和科研人员快速创建复杂的数学公式,并可以轻松插入到各......
  • git之fatal: unable to access ‘https://11.2.7.8:68/mjgn/mj.git/‘: SSL certifica
    MENU前言方法一方法二方法三方法四结束语前言出现这个错误是因为Git在访问仓库时遇到了SSL证书问题,具体是证书的密钥太弱,不符合安全要求。方法一升级或更换SSL证书联系服务器管理员,确保服务器上使用的是强密钥SSL证书。推荐使用至少2048位的密钥。方法二......
  • 深入了解安全工具Vault、Vault根令牌和解封密钥,详细整理部署Vault的详细步骤
     一、深入了解安全工具VaultVault是一种开源工具,用于安全地存储、管理和控制访问各种机密信息,如密码、API令牌、安全配置和其他敏感数据。Vault使用强大的加密和安全管理技术来保护这些机密信息,并为应用程序和服务提供安全的访问控制机制。该工具支持各种云平台和技术堆栈,并提......
  • 接口自动化AES对称加密为什么密钥key是16位的?
    对称加密AES,加密和解密的密钥是同一个AES是一个分组加密算法,AES有三种密钥长度(128、192、256)比特,常用的是128比特,也就是16位AES常用的加密模式有:ECB,ECB是将明文按块处理,每一块单独加密(除此之外还有好几个,没接触过不列举)那么我的理解是,ECB是按照一个区块16位来进行加密的,这就......
  • Leedcode-密钥格式化
    自己写的:classSolution:deflicenseKeyFormatting(self,s:str,k:int)->str:#将字符串转换为列表,方便操作new_S=list()#遍历输入字符串foriins:#如果当前字符不是'-',则添加到新列表中ifi!......
  • win11专业版密钥最新
    Windows11专业版是专为高性能需求的专业人士设计的版本,它提供了一些额外的功能和安全性,使其更适合专业用途。主要功能包括:高级安全功能:Windows11专业版包括BitLocker设备加密、WindowsDefenderApplicationGuard和WindowsHelloforBusiness等高级安全功能,可帮......
  • 在 Windows 使用 PuTTYgen 上生成 SSH 密钥
    在Windows使用PuTTYgen上生成SSH密钥转自: https://www.linuxidc.com/Linux/2019-08/159955.htmSecureShell(SSH)是一种加密网络协议,用于客户端和服务器之间的安全连接,并支持各种身份验证机制。两种最流行的机制是基于密码的身份验证和基于公钥的身份验证。使用SSH......
  • Chromium 提示:缺少 Google API 密钥,因此 Chromium 的部分功能将无法使用
    打开下载好的 chrome.exe,提示缺少GoogleAPI密钥,因此Chromium的部分功能将无法使用。1.将chrome.exe发送到桌面,右键--属性--目标加入参数"--test-type=webdriver"。 2.设置环境变量,屏蔽提示打开windows的cmd命令提示符,依次输入以下命令:setxGOOGLE_API_KEY"n......