首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数安视界

    非对称密钥沉思系列(4):密钥交换

    密钥交换的概念密钥交换,也有称作密钥协商,这套机制,最主要的作用是用来得到通信双方的临时会话密钥。这里的临时会话密钥,可以理解为对称加密的密钥,只不过他的有效性仅限于一次会话链接,并不是长期有效的。 基于RSA的密钥交换简单的密钥交换过程基于RSA进行密钥交换,基于非对称密钥的两个基本特性:使用公钥加密、私钥解密,且此过程无法逆向公钥是对外公开的,私钥是私密不公开的客户端与服务端在简单的密钥交换场景中 图片客户端是密钥生成的决定方在基于RSA的密钥交换体系中,总是由客户端来生成密钥密钥交换协议DH前面我们聊了很多RSA,但其实,RSA更侧重于非对称密钥算法,主要功能其实还是在于加密与解密。而密钥交换协议DH,是专门用于协商密钥生成的。 RSA可以用来传输信息,DH更适合用来协商密钥。DH算法解决了密钥在双方不直接传递密钥的情况下完成密钥交换,这个神奇的交换原理完全由数学理论支持。

    8.4K11319编辑于 2023-01-04
  • 来自专栏斜述视角

    Diffie-Hellman密钥交换

    数学描述 Diffie-Hellman密钥交换 Diffie-Hellman密钥交换是W.Diffie和M.Hellman在1976年提出的第一个公钥密码算法,已在很多商业产品中得到应用。 算法的唯一目的是要让两个用户安全的协商出一个共同的密钥。 首先选择一个大素数p,再选择p的一个本原根a,p和a这两个值可以在网上公开,任何人都可以查询到。用户A选择一个保密的数 ? ,并将 ?

    1.1K30发布于 2019-01-23
  • 来自专栏gojam技术备忘录

    Diffle-Hellman密钥交换

    用户A通过计算Yb^Xa mod q产生密钥。用户B同理计算出密钥。 那么,这两个密钥是相同的。 为什么相同呢? 就这样,用户AB都自己随便凑了个数,得到了相同密钥,中间人监听也得不到有用信息。不过,如果中间人假冒A与B,同时拿两份密钥,DH算法一样可以被攻破。

    61430发布于 2019-11-29
  • 来自专栏架构之巅

    TLS加密套件之密钥交换

    图片TLS是固定格式,一般在ng配置的时候是不需要配置TLS_这一部分的,直接从密钥交换开始算。 DH 算法:DH 交换密钥时就只有客户端的公钥是变化,而服务端公钥是不变的,那么随着时间延长,黑客就会截获海量的密钥协商过程的数据,因为密钥协商的过程有些数据是公开的,黑客就可以依据这些数据暴力破解出服务器的私钥 ,然后就可以计算出会话密钥了,于是之前截获的加密数据会被破解DHE 算法既然固定一方的私钥有被破解的风险,那么干脆就让双方的私钥在每次密钥交换通信时,都是随机生成的、临时的,这个方式也就是 DHE 算法 (这里解释下原因:如果RSA证书,那么密钥交换方式也是RSA的,肯定可以。 密钥交换模式是ECDHE的话,由于ECDHE的密钥交换过程无需证书的实质性参与,所以RSA证书也可以和ECDHE一起工作;ECDHE的密钥交换方式可以参考我的另一篇博客;交换过程主要是client和server

    1.6K51编辑于 2023-08-10
  • 来自专栏iiopsd技术专栏

    密钥交换算法(DH算法)

    背景 对称加密算法通过密钥解决了数据加密问题,但是如何安全的传输密钥成为了下一个问题。如果密钥被窃取了,那对称加密数据就没有什么意义了。 密钥交换算法(Diffie-Hellman算法 or DH算法)就是为了解决这个问题而出现的算法,DH算法也奠定了非对称加密算法的基础。 密钥交换算法(DH算法) 张三先随机取一个较大的素数p = 7777,一个底数g = 11,私钥k1 = 31,计算A = g^k1 MOD p = 2937 张三将p、g、A三个值发个李四 李四随机选择私钥为 k2 = 19,计算B = g^k2 MOD p = 6325, 李四将B发给张三 李四计算密钥S2 = A^k2 MOD p = 781 张三计算密钥S1 = B^k1 MOD p = 781 明文传输了 p、g、A、B四个值,只通过这四个值是无法计算出最终的密钥S,张三李四通过自己的私钥K1和k2计算出约定的密钥S1和S2,这样就完成了密钥交换

    1.5K50编辑于 2022-12-23
  • 来自专栏向治洪

    DH密钥交换非对称加密

    迪菲-赫尔曼密钥交换(Diffie–Hellman key exchange,简称“D–H”) 是一种安全协议。 它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥。 例子: 假如用户Alice和用户Bob希望交换一个密钥。 取一个素数p =97和97的一个原根a=5。 在最初的描述中,迪菲-赫尔曼密钥交换本身并没有提供通讯双方的身份验证服务,因此它很容易受到中间人攻击。  一个中间人在信道的中央进行两次迪菲-赫尔曼密钥交换,一次和Alice另一次和Bob,就能够成功的向Alice假装自己是Bob,反之亦然。 有很多种安全身份验证解决方案使用到了迪菲-赫尔曼密钥交换。例如当Alice和Bob共有一个公钥基础设施时,他们可以将他们的返回密钥进行签名。

    2.4K50发布于 2018-02-01
  • 来自专栏全栈程序员必看

    HTTPS 和 SSLTLS 协议:密钥交换密钥协商)算法及其原理

    今天这篇来介绍一下实战中使用的“密钥协商算法”。 ★密钥交换/协商机制要达到啥目的? 前一篇介绍了 SSL/TLS 的身份认证机制。 客户端生成一个随机密钥 k,并用这个公钥加密得到 k’ 6. 客户端把 k’ 发送给服务端 7. 服务端收到 k’ 后用自己的私钥解密得到 k 8. 此时双方都得到了密钥 k,协商完成。 客户端生成一个随机数 c 作为自己的私钥,然后根据算法参数计算出公钥 C 7. 客户端把 C 发送给服务端 8. 攻击方式2   攻击者可以在第7步篡改客户端公钥。这步没有签名,服务端收到数据后不会发现被篡改。但是,攻击者篡改之后会导致“服务端与客户端生成的会话密钥【不一致】”。 ◇如何防范偷窥(嗅探)   使用这种算法,在协商密钥的过程中交换的是密钥的标识(ID)而【不是】密钥本身。   就算攻击者监视了全过程,也无法知晓密钥啥。

    11.7K30发布于 2021-06-17
  • 来自专栏码神随笔

    DH算法 | Diffie-Hellman 密钥交换

    概述: DH 算法又称“Diffie–Hellman 算法”,像往常的算法名字一样,这是用俩个数学牛人的名字来命名的算法,实现安全的密钥交换,通讯双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥 用该算法协商密码,即使中间被截获,也无法解密出来密钥是啥 缺点: 没有办法进行认证 计算很复杂,但是一般情况下,一个会话只用计算一次,那么假如有大量的请求,就会耗费大量的资源来进行计算,容易受阻塞性攻击 张三和李四互相交换各自的公钥。 y)发送至客户端 客户端计算Sa(x,y) = Ra * Pb(x,y) 服务器计算Sb(x,y) = Rb *Pa(x,y) 算法保证了Sa = Sb = S,提取其中的S的x向量作为密钥 (预主密钥

    2.6K20编辑于 2022-12-13
  • 来自专栏三丰SanFeng

    迪菲-赫尔曼密钥交换

    迪菲-赫尔曼密钥交换(英语:Diffie-Hellman key exchange,缩写为D-H) 迪菲-赫尔曼密钥交换是在美国密码学家惠特菲尔德.迪菲和马丁.赫尔曼的合作下发明的,发表于1976年。 它是第一个实用的在非保护信道中创建共享密钥(英语:Shared secret)方法。它受到了瑞夫.墨克的关于公钥分配工作的影响。 迪菲-赫尔曼通过公共信道交换一个信息,就可以创建一个可以用于在公共信道上安全通信的共享秘密(shared secret)。 以下解释它的过程(包括算法的数学部分): ? 算法理论证明 对上面Alice和Bob秘钥交换问题的解释(下面用A与B分别表示两人) 首先A: a^k1 mod b ≡ c (例子中a=5,b=23) B: a^k2 mod b ≡ d 之后二人交换所得 )(qb)*n^(k-1) +C(k,k)n^k 参考资料 wikipedia https://zh.wikipedia.org/wiki/%E8%BF%AA%E8%8F%B2-%E8%B5%AB%E7%

    1.6K100发布于 2018-01-16
  • 来自专栏微信公众号:Java团长

    Xftp7密钥免费分享,xftp7免费产品激活密钥

    给大家分享一批Xftp7密钥,祝大家白嫖快乐,支持正版!!! 一、Xftp7密钥分享 密钥获取方式: 关注微信公众号:Java团长,然后发送“ Xftp ”即可获取最新有效的Xftp7密钥哈! qrcode_for_gh_a05dc9bf554a_258 (1).jpg 二、xftp7免费产品激活密钥获取方法 1、步骤一 首先关注微信公众号:Java团长 2、步骤二 然后发送“ Xftp ” 3、步骤三 即可免费获取最新有效的Xftp7密钥! 使用xftp7软件可以简化文件传输,并使用拖放、直接编辑和增强的同步。这些功能封装在直观的标签界面中。 同时,xftp7的中文版具有良好的安全性,您可以放心,您的数据在传输过程中不会泄露。 找图网-在线作图_20220322173121_0.png

    21.2K30编辑于 2022-03-22
  • 来自专栏IMWeb前端团队

    Nodejs进阶:使用DiffieHellman密钥交换算法

    本文作者:IMWeb 陈映平 原文出处:IMWeb社区 未经同意,禁止转载 简介 Diffie-Hellman(简称DH)是密钥交换算法之一,它的作用是保证通信双方在非安全的信道中安全地交换密钥 目前DH最重要的应用场景之一,就是在HTTPS的握手阶段,客户端、服务端利用DH算法交换对称密钥。 下面会先简单介绍DH的数理基础,然后举例说明如何在nodejs中使用DH相关的API。 console.log(clientSecret.toString('hex')); console.log(serverSecret.toString('hex')); 相关链接 理解 Deffie-Hellman 密钥交换算法 迪菲-赫尔曼密钥交换 Secure messages in NodeJSusing ECDH Keyless SSL: The Nitty Gritty Technical Details

    1.3K70发布于 2018-01-08
  • 来自专栏IMWeb前端团队

    Nodejs进阶:使用DiffieHellman密钥交换算法

    简介 Diffie-Hellman(简称DH)是密钥交换算法之一,它的作用是保证通信双方在非安全的信道中安全地交换密钥。 目前DH最重要的应用场景之一,就是在HTTPS的握手阶段,客户端、服务端利用DH算法交换对称密钥。 下面会先简单介绍DH的数理基础,然后举例说明如何在nodejs中使用DH相关的API。 console.log(clientSecret.toString('hex')); console.log(serverSecret.toString('hex')); 相关链接 理解 Deffie-Hellman 密钥交换算法 迪菲-赫尔曼密钥交换 Secure messages in NodeJSusing ECDH Keyless SSL: The Nitty Gritty Technical Details

    96660发布于 2019-12-03
  • 来自专栏笨小孩呀

    CentOS7 密钥登录

    生成秘钥 CentOS7 默认使用RSA加密算法生成密钥对,保存在~/.ssh目录下的id_rsa(私钥)和id_rsa.pub(公钥) #生成密钥 ssh-keygen -t rsa #进入.ssh 或者运行以下命令来将公钥导入 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #修改权限 chmod 600 authorized_keys 把生成的密钥下载至本地 安装使用rz/sz命令 yum install -y lrzsz 使用rz上传文件到服务器上 使用sz命令发送服务器文件到本机 # 配置 SSH vim /etc/ssh/sshd_config #配置密钥

    1.8K30发布于 2021-04-22
  • 来自专栏一名叫大蕉的程序员

    密钥交换有点不安全 No.89

    今天聊聊关于对称加密算法中关于密钥的问题。如果对于密码学的基础概念还不太熟悉的可以复习一下我上一篇文章。手把脚看看密码学No.72。 我们都知道对称密钥可以用于传送加密信息,过程是这样的。 这时候我们又要搬出伟大的数学了,今天介绍一种算法 迪菲-赫尔曼密钥交换,这个算法能够解决在不安全的信道下进行安全的密钥交换问题,究竟是怎么实现的呢。 迪菲-赫尔曼密钥交换(Diffie–Hellman key exchange,简称“D–H”) 是一种安全协议。它可以让双方在完全没有对方任何预先信息的条件下通过不安全信道建立起一个密钥。 这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。 主要的思路就是,根据数学的指数运算的法则来进行本地的计算(本地计算可以认为是安全的),同时用使用模运算来降低传输的数的值。 (这两个概念不清楚的自己百度去) 交换的过程分为 3 part 。 第 1 part :A 和 B 各自生成一个私钥。 第 2 part :A 和 B 进行指数运算,然后求模。

    1.4K90发布于 2018-03-27
  • 来自专栏网络技术联盟站

    什么是 IPSec 互联网密钥交换 (IKE)?

    Internet 密钥交换 (IKE) 是一种协议,旨在为需要加密通信的终端创建安全关联。 虽然非对称加密看起来很安全,但它也有一个缺点,非对称加密和解密非常耗时,这使得非对称加密在交换大量数据时不是最优的。 在主模式的第一阶段,IKE 通过包交换协商一个 IKE SA。该 SA 主要用于加密第 2 阶段用于数据加密的对称密钥协商中使用的对称密钥的消息。 IKE 提议参数交换消息 图 5. 密钥生成信息交换 图 6. 身份和认证信息交换 与IKEv1 相比,IKEv2 简化了协商过程,通过两次交换,四个 ISAKMP 消息建立一个 IPSec SA,大大改善了协商过程。 图 7.

    3.4K31编辑于 2023-03-05
  • 来自专栏TechBlog

    python实现Diffie-Hellman密钥交换算法

    python实现Diffie-Hellman密钥交换算法工程文件

    1.4K20编辑于 2022-07-20
  • 来自专栏神奇的程序员的专栏

    迪菲赫尔曼密钥交换的理解

    前言 迪菲赫尔曼密钥交换是一种可以在通信双方之间安全交换密钥的方法。这种方法通过将双方共有的密码数值隐藏在公开数值相关的运算中,来实现双方之间密钥的安全交换。 但是,X无法用自己窃听到的密钥合成出P-SA-SB,因此这种交换方式是安全的。 迪菲赫尔曼密钥交换图解 如图所示,P、G两个整数表示一开始生成的公开密钥P。 因此,此处使用迪菲赫尔曼密钥交换是安全的。 迪菲赫尔曼密钥交换是通过素数P、生成元G和“G的x次方 mod P”求出X的问题就是「离散对数问题」,至今为止尚未找到这个问题的解法,而迪菲赫尔曼密钥交换正是利用了这个数学难题,因此在离散对数问题未解决前 ❝使用迪菲赫尔曼密钥交换,通信双方仅通过交换一些公开信息就可以实现密钥交换。但实际上,双方并没有交换密钥,而是生成了密钥。因此,该方法又被叫做「迪菲赫尔曼协议」。

    75740编辑于 2022-04-10
  • 来自专栏OpenIM

    TLS协议分析 (五) handshake协议 证书与密钥交换

    服务器证书的公钥,必须和选择的密钥交换算法配套。 如果一个CipherSuite指定了新的TLS密钥交换算法,也会指定证书格式和要求的密钥编码方法。 signed_params 对需要认证的(即非anonymous的)密钥交换,对服务器的密钥交换参数的数字签名。 ECDHE_RSA 密钥交换算法的 SignatureAlgorithm 是 ecdsa。 消息结构: 消息的选择取决于选择的密钥交换算法。

    2.2K20发布于 2021-09-07
  • 来自专栏烟草的香味

    密钥交换算法: 迪菲-赫尔曼算法

    概述 迪菲-赫尔曼算法用于通信双方交换密钥. 还记得之前介绍HTTPS协议的时候, 提到需要先通过对方公钥来进行密钥交换, 然后再通过密钥对通信内容进行加密. 迪菲-赫尔曼算法就是用于交换密钥的. . 此算法与非对称加密算法不同哦. OK, 一起来看看吧. 引入 在正式介绍迪菲-赫尔曼算法之前, 先简单跟我思考下面场景. image-20200503201521952 最终来判断一下, 在这个过程中, 小李有没有可能拿到这个共享密钥: 120. 小李知道的所有信息是, 公共数字7以及你们的 私人-公共数字. 重复一下上面的交换步骤, 开始尝试建立公共密钥 「第一步」 选择自己的私人数字. ? image-20200503205038362 OK, 至此, 密钥交换成功. 当然, 通过穷举的方法还是可以得到共享密钥. 例子中的数字为方便计算, 都很小.

    1.4K20发布于 2020-05-13
  • 来自专栏认证协议的形式化分析

    基础知识补充1:密钥交换协商机制

    密钥交换/协商机制 密钥协商这一概念也得以提出。一方面它能为参与者提供身份认证,另一方面,也能与参与者协商并共享会话密钥。 针对以下问题: 1.有哪些密钥交换协议? 2.工作原理是什么? ---- Diffie–Hellman密钥交换协议 简介:Diffie–Hellman(以下简称DH)密钥交换是一个特殊的交换密钥的方法。它是密码学领域内最早付诸实践的密钥交换方法之一。 客户端生成一个随机数 c 作为自己的私钥,然后根据算法参数计算出公钥 C 7. 客户端把 C 发送给服务端 8. Alice在椭圆曲线上计算a(bG)=abG,它就是Alice和Bob的共享密钥。 (7)Bob对Alice发送的点aG计算其在椭圆曲线上b倍的点。 Alice在椭圆曲线上计算a(bG)=abG,它就是Alice和Bob的共享密钥。 (7)Bob对Alice发送的点aG计算其在椭圆曲线上b倍的点。

    6.3K30发布于 2020-07-29
领券