技术总结js css html

密码学之DH秘钥交换协议

2022-08-30  本文已影响0人  QiShare

密码学之DH秘钥交换协议

DH秘钥交换协议简介

Diffie-Hellman:一种确保共享KEY安全穿越不安全网络的方法,它是OAKLEY的一个组成部分。Whitefield与Martin Hellman在1976年提出了一个奇妙的密钥交换协议,称为Diffie-Hellman密钥交换 协议/算法 (Diffie-Hellman Key Exchange/Agreement Algorithm).这个机制的巧妙在于需要安全通信的双方可以用这个方法确定 对称密钥 。然后可以用这个密钥进行 加密和解密 。但是注意,这个密钥交换协议/算法只能用于密钥的交换,而不能进行消息的加密和解密。双方确定要用的密钥后,要使用其他对称密钥操作加密算法实现加密和解密消息。

DHKE 是最早的 公钥协议 之一,它允许两方安全地交换数据,因此有人嗅探双方之间的通信,交换的信息就可以泄露。

Oakley 协议是对Diffie-Hellman密钥交换算法的优化,它保留了后者的优点,同时克服了其弱点。

Diffie–Hellman (DH) 方法是 匿名密钥协商方案 :它允许彼此没有先验知识的两方共同建立 通过不安全通道 的共享密钥。

注意DHKE方法对嗅探攻击(数据拦截)有抵抗力,但容易受到man- 中间人攻击(攻击者秘密中继并可能 改变两方之间的通信 )。

DH秘钥交换协议可以使用 离散对数(经典的 DHKE 算法)实现或使用 椭圆曲线加密([ECDH](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie–Hellman)算法)。

Diffie–Hellman Key Exchange 以下简称为 (DHKE)DH秘钥交换协议

通过混合颜色进行密钥交换引出DH秘钥交换思想

DH秘钥交换协议 与“通过混合颜色交换密钥”的概念非常相似,具有很好的视觉表现,简化了其理解。 这就是为什么我们首先要解释如何通过混色来交换秘密颜色。

这是换色场景,步骤如下:

image.png

得到MIxed colors 之后的后续步骤如下:

image.png

如果第三方拦截了颜色交换过程,那么他们在计算上很难确定秘密颜色。

总结:

DH秘钥交换协议基于类似的概念,但使用 离散对数(discrete logarithms)模幂运算(modular exponentiations) 而不是颜色混合。

Diffie-Hellman 密钥交换 (DHKE) 协议

现在,让我们解释一下 DHKE 协议是如何工作的。

DHKE 背后的数学

DHKE 基于 (模幂运算)modular exponentiations 的一个简单属性:

离散对数问题 Discrete Logarithm Problem (DLP)

计算机科学中的离散对数问题 (DLP) 定义如下:

DHKE 协议

现在,在我们熟悉了模幂的上述数学性质后,我们准备解释DHKE协议。 这是它的工作原理:

image.png

让我们解释一下这个密钥交换过程的实例:

在最常见的 DHKE 实现中(遵循 RFC 3526),基数是 g = 2 和模数 p 是一个很大的 质数(1536 ... 8192 位)。

DHKE 协议的安全性 Security of the DHKE Protocol

DHKE 协议基于 Diffie-Hellman 问题 的实际难度,它是计算机科学中众所周知的 DLP (离散对数问题),仍然没有有效的算法存在。

DHKE 通过不安全的公共(可嗅探)通道(例如通过电缆或通过空气波传播的信号)交换非秘密整数序列,但不会透露秘密交换的共享私钥.

再次提醒,DHKE 协议以其经典形式易受到 [中间人攻击](https://en.wikipedia.org/wiki/Man-in-the -middle_attack),黑客可以在其中拦截和修改双方之间交换的消息。

最后,请注意整数 gpap 通常是非常大的数字(1024、2048 或 4096 位甚至更大),这使得 蛮力攻击 毫无意义。

DHKE - Live Example

As live example, you can play with this online DHKE tool: http://www.irongeek.com/diffie-hellman.php

image.png

ECDH - 基于椭圆曲线的 Diffie-Hellman 密钥交换协议

The Elliptic-Curve Diffie–Hellman (ECDH) 是一种匿名密钥协商协议,允许两方(每方都有一个椭圆曲线公私密钥对)在不安全的通道上建立共享秘密。

ECDH 是经典 DHKE 协议的变体,其中模幂计算被椭圆曲线计算取代,以提高安全性。 稍后我们将详细解释 椭圆曲线密码(ECC) 部分。

引用

上一篇 下一篇

猜你喜欢

热点阅读