Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption Diffie–;Hellman密钥交换和离散日志_Encryption_Cryptography_Diffie Hellman - Fatal编程技术网

Encryption Diffie–;Hellman密钥交换和离散日志

Encryption Diffie–;Hellman密钥交换和离散日志,encryption,cryptography,diffie-hellman,Encryption,Cryptography,Diffie Hellman,我有一个一般性问题,为此我将举一个例子: 假设Alice和Bob选择了质数593和公共g=9。 爱丽丝选择号码530。 鲍勃选择号码147 爱丽丝计算:x=g^a模p=574 鲍勃计算:y=g^b模p=527 他们的共享密钥是156 现在伊芙正试图打开钥匙,找到一个。她有一个开裂函数,她找到了c,这样:g^c mod p=x 在我们的exmaple中,c=234,但这不是Alice选择的原始a,因此她仍然没有成功。我的问题是:有没有一种方法可以让她利用这些信息找到爱丽丝的原始a——伊芙有c,g,

我有一个一般性问题,为此我将举一个例子: 假设Alice和Bob选择了质数593和公共g=9。 爱丽丝选择号码530。 鲍勃选择号码147

爱丽丝计算:x=g^a模p=574 鲍勃计算:y=g^b模p=527 他们的共享密钥是156

现在伊芙正试图打开钥匙,找到一个。她有一个开裂函数,她找到了c,这样:g^c mod p=x 在我们的exmaple中,c=234,但这不是Alice选择的原始a,因此她仍然没有成功。我的问题是:有没有一种方法可以让她利用这些信息找到爱丽丝的原始a——伊芙有c,g,p和x,她知道g^c mod p=x

(可能是反函数,我不知道.) 谢谢

是的。如果

g^a模p=g^x模p

然后

g^ab模p=g^xb模p

特别是

(g^b mod p)^a mod p=(g^b mod p)^x mod p

因此,出于所有实际目的,可以假设Alice的私钥是x。 这就是为什么g作为群的生成器很重要,所以 没有这样的“兄弟”私钥

她不知道“原始”a,但她知道它(通常)在 与x相差o(g)的倍数的一小组数字。哪一个不是 真的很重要

在这种特殊情况下,发生的是
g
的顺序是
296
,而不是
592
。因此,Alice选择的实际密钥-
530
,有一个“同级”:

c=530+296模592=234


如果你有错误的密钥,你仍然可以“解密”密码文本,但最终会变成垃圾而不是原始明文。这个问题似乎离题了,因为它是关于基本密码的,没有任何特定的编程。@MarcBdo你是说Eve不能得到原始的a吗?如果我理解正确,她能破解鲍勃和爱丽丝的共用钥匙,对吗?