Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - RIPEMD-160 - Реализация RIPEMD-16027 июня 2011Оглавление: 1. RIPEMD-160 2. Реализация RIPEMD-160 3. RIPEMD-160 на псевдокоде 4. Производительность Шаг 1. Добавление недостающих битов.Сообщение расширяется так, чтобы его длина в битах по модулю 512 равнялась 448. Таким образом, в результате расширения, сообщению недостает 64 бита до длины, кратной 512 битам. Расширение производится всегда, даже если сообщение изначально имеет нужную длину. Расширение производится следующим образом: один бит, равный 1, добавляется к сообщению, а затем добавляются биты, равные 0, до тех пор, пока длина сообщения не станет равной 448 по модулю 512. В итоге, к сообщению добавляется, как минимум, 1 бит, и, как максимум, 512. Шаг 2. Добавление длины сообщения.64-битное представление добавляется к результату предыдущего шага. В маловероятном случае, когда больше, чем 2, используются только 64 младших бита. Эти биты добавляются в виде двух 32-битных слов, и первым добавляется слово, содержащее младшие разряды. На этом этапе мы получаем сообщение длиной кратной 512 битам. Это эквивалентно тому, что это сообщение имеет длину, кратную 16-ти 32-битным словам. Каждое 32-битное слово содержит четыре 8-битных, но следуют они не подряд, а наоборот мы получаем два 32-битных слова). Шаг 3. Определение действующих функций и константI. Нелинейные побитовые функции: II. Добавляемые шестнадцатеричные константы:
III. Выбор 32-битных слов из сообщения
VI. Набор для битового поворота влево
V. Исходные значения слов дайджеста
Шаг 4. Выполнение алгоритма хешированияПосле задания всех исходных функций, констант и начальных значений слов хеш-суммы можно переходить к выполнению алгоритма. Выполнение алгоритма происходит по двум параллельным путям. Обработка сообщения происходит блоками по 16 слов в 32 бита. Просмотров: 3351
|