是否可以通过了解素数和生成器参数来“破解”Diffie-Hellman?

问题描述 投票:0回答:2

我试图理解 Diffie-Hellman (DH) 算法,因为我想让两台计算机相互通信,但第三台计算机不知道它们在说什么,而且还交换它们将在不安全通道中使用的密钥.

问题是,第三个也知道DH将如何处理,即常数参数。更具体地说 pg

DH algorithm

所以问题是,如果我知道pg,我能发现Bob和Alice会使用8作为他们的密钥吗?

security encryption cryptography diffie-hellman
2个回答
4
投票

不,你不能,要计算密钥,你必须首先能够计算

a
(Alice 的密钥)或
b
(Bob 的密钥),这将要求窃听者计算 离散对数,因为没有任何已知的有效算法可以计算出该值,那么
Deffie_Hellmen
就非常安全,并且第三方(窃听者)永远不会知道
8
是秘密密钥。 (请注意,正确选择
p
g
对于进行安全密钥交换至关重要)。


0
投票

你必须小心选择你的生成器(它必须生成整个组),以及你的数字 p 的选择。

特别是乘法群 mod p 的情况,您最有可能谈论的是:

  1. 你的 p 必须是 安全素数
  2. 你的生成器 g 必须是 原根 mod p:

您的实现也可能容易受到定时和其他侧通道攻击

换句话说:不要这样做。密码学很困难。使用图书馆它会为你做这件事。

© www.soinside.com 2019 - 2024. All rights reserved.