вопрос по переменным состояния MD5 - PullRequest
3 голосов
/ 13 ноября 2009

Я изучаю алгоритм MD5. Я обнаружил, что есть четыре переменные состояния (я не уверен, что это значит). Эти переменные: 0x67452301, 0xEFCDAB89, 0x98BADCFE и 0x10325476. Я преобразовал переменные в десятичные числа и нашел 1732584193, 4023233417, 2562383102 и 271733878 соответственно.

мой вопрос, почему эти цифры? Это специальные номера?

1 Ответ

6 голосов
/ 13 ноября 2009

См. RFC 1321 , раздел 3.3:

3.3 Шаг 3. Инициализация MD Buffer

Буфер из четырех слов (A, B, C, D) используется для вычисления дайджеста сообщения. Здесь каждый из A, B, C, D является 32-битным регистром. Эти регистры инициализируется следующими значениями в шестнадцатеричных младших байтах первый):

     word A: 01 23 45 67
     word B: 89 ab cd ef
     word C: fe dc ba 98
     word D: 76 54 32 10

Числа, которые они выбрали, представляют собой только восходящие и нисходящие одиночные шестнадцатеричные цифры в порядке (который представляется восхитительно произвольным набором начальных значений).

Поскольку они сначала записывают младшие байты, когда вы пишете это с младшими байтами в справа , вы получаете 0x67452301 и т. Д.

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