Сочетание шестнадцатеричной строки - PullRequest
0 голосов
/ 19 февраля 2020

Я работаю над C программой, в которой мне дали 91 бит ключа AES, и мне нужно перебрать другие возможные 37, чтобы получить полный ключ. В шестнадцатеричном виде ключ выглядит так, где F - это неизвестная часть ключа.

FF FF FF FF F C 00 00 00 00 00 00 00 00 00 00 03

При переборе неизвестной части мне, очевидно, потребуется объединить неизвестную часть с известной часть. Поскольку у меня есть нечетное число из 9 байтов, которое нужно найти, как я скомбинирую этот последний байт с "C", чтобы получить ключ правильной длины?

1 Ответ

1 голос
/ 19 февраля 2020

Есть несколько способов сделать это, но я бы сделал это следующим образом:

  1. Инициализация четырех 128-битных значений, min, max, inc и base. Установите min на ноль. Установите max на FF FF FF FF F0 00 00 00 00 00 00 00 00 00 00 00. Установите base для данного ключа с нулями во всех неизвестных точках. Установите inc на 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00.

  2. L oop от min до max добавление inc каждый раз. Для каждой записи ИЛИ текущий индекс l oop с base. Это проверяемое вами значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...