Я пытаюсь восстановить зашифрованное RSA слово из 5 символов, используя атаку с использованием словаря прямого поиска в Python, но у меня возникают трудности. Слово было зашифровано в 2 24-битных блоках (3648141 5604637) с заполнением последнего блока пробелом
e = 5
n = 21508387
table = {}
for ptext in range(65,90):
ctext = pow(ptext,e,n)
table[ctext] = ptext
print table
Я знаю, что мне нужно сделать выше, чтобы он расшифровывал все комбинации длиной 3 символа AAA AAB ... ZZA ZZB и т. Д., Но то, что у меня есть, расшифровывает только отдельные символы AB C .. XYZ, так как мне заставить его расшифровать 3 символа одновременно?
Распечатка, которую я получаю, состоит из множества строк с такими вещами, как {8521919L: 65} {7688462L: 66, 8521919L: 65}
но я не вижу свои блоки в результатах, и я предполагаю, что число с двоеточием является ASCII?
Могу ли я получить помощь в этом, любой совет?
Спасибо