linux幼儿园

  • 首页
  • 信息安全
    • 红队
    • 密码学
  • 软件
  • 硬件
  • 活动目录
  • 知识点
  • linux干货
  • linux命令集
    • 磁盘管理
    • 文档编辑
    • 设备管理
    • 网络通讯
    • 系统管理
    • 文件管理
    • 其他命令
  1. 首页
  2. 信息安全
  3. 正文

DH密钥交换

2020年10月31日 201点热度 0人点赞 0条评论

一 什么是DH密钥交换

DH密钥交换是1976年由Diffie和Hellman共同发明的一种算法。使用这种算法,通信双方仅通过交换一些可以公开的信息就能够生成出共享的密码数字,而这一密码数字就可以被用作对称密码的密钥。IPsec中就使用了经过改良的DH密钥交换。

虽然这种方法的名字叫“密钥交换”,但实际上双方并没有真正交换密钥,而是通过计算生成出一个相同的共享密钥。因此,这种方法也称DH密钥协商。

二 DH密钥交换的步骤

现在假设Alice和Bob需要共享一个对称密码的密钥,然而双方之间的通信线路已经被窃听者窃听。这时,Alice和Bob可以通过下面的方法进行DH密钥交换,从而生成共享密钥。

1 Alice向Bob发送两个质数P和G

P必须是一个非常大的质数,而G则是一个和P相关的数,称为生成元。G可以是一个较小的数字。

P和G不需要保密,被窃听者获取了也没关系。

此外,P和G可以由Alice和Bob中的任意一方生成。

2 Alice生成一个随机数A

A是一个1~P-2之间的整数。这个数是一个只有Alice知道的秘密数字,没有必要告诉Bob,也不能让窃听者知道。

3 Bob生成一个随机数B

B是一个1~P-2之间的整数。这个数是一个只有Bob知道的秘密数字,没有必要高数Alice,也不能让窃听者知道。

4 Alice将 G的A次方 mod P 这个数发送给Bob

这个数让窃听者知道也没关系。

5 Bob 将 G的B次方 mod P 这个数发送给Alice

这个数让窃听者知道也没关系。

6 Alice用Bob发过来的数计算A次方并求 mod P

这个数就是共享密钥。

上面将mod P的“G的B次方的A次方” 改写成了“G的A*B次方”

7 Bob用Alice发过来的数计算B次方并求 mod P

上面将mod P的“G的A次方的B次方”改写成了“G的A*B次方”

于是Alice和Bob就计算出相等的共享密钥了。

本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可
标签: Diffie Hellman
最后更新:2020年10月31日

jcghaier

from zero to hero

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复
最新 热点 随机
最新 热点 随机
windows入侵检查流程 安全事件应急响应工具箱 利用腾讯轻量服务器搭建FRP服务 Windows局域网渗透(IPC$管道) 国内三大运营商宽带线路及分级介绍(联通篇) Windows Server 2012 R2 辅助域控制器搭建
windows入侵检查流程
sndconfig命令 - 设置声卡 zipcloak命令 - 压缩文件加密 中文officescan使用英文版补丁 getenforce命令 - 显示SELinux的状态 sz命令 - 从Linux上下载文件到本地 Diffie-Hellman(迪菲-赫尔曼)秘钥交换
标签聚合
nmap CentOS Debian 勒索病毒 zabbix iptables X.509 防火墙 tcp 深信服
书签
  • Linux就该这么学
  • pfschina.org
  • ruyo
  • 佐须之男
  • 大象笔记
  • 小陈博客
  • 我能过软考
  • 教父爱分享
  • 散尽浮华
  • 现代魔法学院

COPYRIGHT © 2020 linux幼儿园. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

51la