Я новичок в кодировании на Python, и логика / идея, которую я пытаюсь реализовать, такова:
Мне дали полностью закодированную машину Enigma и закодированное сообщение. Мне дают только слово «шпаргалка» из двух слов в конце сообщения, а длина ключа составляет 3.
Я думаю, что должен создать цикл для всех возможных комбинаций клавиш, таких как «AAA», «AAB», ... и попробовать каждую комбинацию, чтобы увидеть, какая из них является ключом. Цикл прервется, как только последние два слова декодированного сообщения совпадут с моей кроваткой, что будет означать, что я нашел правильные трехбуквенные ключи (например, «GKJ»).
Но так как я новичок, я немного растерялся в части кодирования.
Мне удалось выполнить только часть для создания возможных комбинаций:
from itertools import combinations_with_replacement
import string
alphabets = string.ascii_letters.lower()
for (a,b,c) in combinations_with_replacement(alphabets, 3):
guess = (a+b+c)
print (guess)
так что моя проблема в том, как мне поместить каждую из этих трех буквенных догадок в «машину», и если она неверна, она переходит к следующей комбинации и повторяется до тех пор, пока не найдет эту кроватку из двух слов?
Надеюсь, это имеет смысл. Спасибо