У меня есть ключ шифрования, который является 32-битным в шестнадцатеричном формате. Но мне дают только 22 бита. Я должен найти Plaintext. Мой мысленный процесс - это атака грубой силы и поиск других 10 бит. Мне также дается шифрованный текст. Используемое шифрование - AES в 128-битном режиме ECB. Я использую Python, но я только начал изучать его, поэтому я еще не эксперт.Python - Создание всех комбинаций шестнадцатеричных значений
Мой подход состоит в том, чтобы взять 22-битный ключ и объединить другие 10 бит, передать это в AES вместе с Ciphertext и Decrypt, чтобы проверить, соответствует ли одна из полученных фраз правильному предложению. Единственная часть, за которую я застрял, - это генерация десятичной шестнадцатеричной шестнадцатеричной строки.
Это выход, что я хочу:
0000000000
0000000001
0000000002
...
000000000F
...
FFFFFFFFFF
Что такое подход, который я мог бы использовать, чтобы сделать это? Я попытался сделать словарь и присвоить числовые значения всем шестнадцатеричным значениям, но я зациклился на том, как писать цикл, который может дать последовательность, которую я хочу в качестве вывода.
Так что вы хотите способ создания строки длиной 10 всех возможных шестнадцатеричных чисел? – James