解码使用Caesar Cipher编码的DH加密的文本。
我们必须解码以下文本:FKXSQBQZACKFAHRSCAN DFYZSYQBSFN。我试图用for循环“猜测”Alice的私钥,并认为我得到了正确的但现在我被卡住了。给出p,g和A.
p = 23
g = 15
A = 6 #exchangeKey Alice
我认为问题可能是我不知道文本是如何编码的。老师是否使用类似的数组?:
alphabet = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
或者她是否使用ASCII表。
但是甚至可以在没有任何关于“Bob”的信息的情况下解码这个文本。我的研究只带来了有关黑客获得p,g,A和B的MITM攻击的信息
获取Alicekey
for getkeyalice in range(p):
if (g**getkeyalice)%p == A:
keyalice = getkeyalice
解码
for char in message:
#index=(alphabet.index(char)-j)
#decryptedlst.append(alphabet[index])
decryptedlst.append(chr(ord(char)-i))
decrypted = ''.join(decryptedlst)
print("decrypted message:\t"+str(decrypted))
我正在寻找解密密钥。我不认为这应该是一个非常高的数字。但即使从1-4096强制执行所有数字也无济于事。所以回到顶部......也许我正在使用的那种解密方式与老师的加密方式不同。
由于缺乏输入,无法解决此问题。
即使你可以很容易地强行使用Alice的私钥,即14(15¹[23]≡6[23]),你也没有关于Bob选择键值的任何信息,所以你没有任何信息可以帮助你找到DH在Alice和Bob之间共享秘密。这是因为共享秘密取决于从Alice选择的信息和Bob选择的信息。因此,您无法对此问题进行密码分析。