Расшифровать Диффи Хеллман р, г, дано - PullRequest
1 голос
/ 14 апреля 2019

Декодировать текст, зашифрованный с помощью DH, закодированного с помощью Цезаря Шифра.

Мы должны декодировать следующий текст: FKXSQBQZACKFAHRSCAN DFYZSYQBSFN.Я пытался «угадать» закрытый ключ для Алисы с помощью цикла for и думаю, что получил правильный, но теперь я застрял.даны 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.

Но возможно ли даже декодировать этот текст без какой-либо информации о "Бобе".Мое исследование принесло только информацию о MITM-атаках, где хакер получил p, g, A и B

Get Alicekey

for getkeyalice in range(p):
    if (g**getkeyalice)%p == A:
        keyalice = getkeyalice

Decode

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 не помог.Итак, вернемся к началу .... возможно, используемый мной метод расшифровки отличается от шифрования учителя.

1 Ответ

0 голосов
/ 22 апреля 2019

Эта проблема не может быть решена из-за недостатка ввода.

Даже если вы можете легко взломать закрытый ключ Алисы, то есть 14 (15¹⁴ [23] ≡6[23]), у вас нет никакой информации о выборе ключей значениями Боба, поэтому у вас нет информации, которая могла бы помочь вам найти общий секрет DH между Алисой и Бобом.Это связано с тем, что общий секрет зависит как от информации, выбранной Алисой , так и от информации, выбранной Бобом .Следовательно, вы не можете криптоанализировать эту проблему.

...