28572

Примеры хеш-функций

Доклад

Информатика, кибернетика и программирование

Расширение исходного сообщения Собственно хеширование . Расширение исходного битового сообщения M длины L происходит следующим образом. Алгоритм хеширования работает циклами за один цикл обрабатывается блок исходного сообщения длины 512 бит. Цикл состоит из четырех раундов каждый из которых вычисляет новые значения переменных A B C D на основании их предыдущего значения и значения 64битного отрезка хешируемого 512битного блока исходного сообщения.

Русский

2013-08-20

14.18 KB

1 чел.

Примеры хеш-функций:

MD 5 (R. RIVEST 1992)

Данная хэш-функция является однопроходной хэш-функцией, размер хэш-функции - 128 бит.

Алгоритм хэширования разделяется на две части.

  1.  Расширение исходного сообщения
  2.  Собственно хеширование

. Расширение исходного битового сообщения M длины L происходит следующим образом. Пусть К - минимальное для которого выполняется соотношение L < K*512 - 64. Исходное сообщение M дополняется одним единичным битом и далее нулями до длины K*512 - 64, после чего к полученному сообщению дописывается 64 битный блок содержащий двоичную запись значения L. Таким образом, расширенное сообщение М имеет длину кратную 512 бит.

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

Цикл состоит из четырех раундов каждый из которых вычисляет новые значения переменных A, B, C, D  на основании их предыдущего значения и значения 64-битного отрезка хешируемого 512-битного блока исходного сообщения. В заключение цикла полученные значения A, B, C, D суммируются по модулю 232 с соответствующими значениями до начала цикла хэширования.

Финальное (после обработки последнего блока хэшируемого сообщения) значение переменных A, B, C, D является 128 битным значением хэш-функции.

Через функцию F обозначено соответствующее нелинейное преобразование (S, T, U или V). С  учетом циклического сдвига переменных a, b, c, d в преобразованиях SS, TT, UU и VV. Один цикл работы алгоритма MD 5 можно представить в виде 64 тактов работы нелинейного регистра сдвига с четырьмя обратными связями, при этом первые 16 тактов работает первая обратная связь, следующие 16 вторая и т.д.

В заключение рассмотрения алгоритма MD 5 отметим, что несмотря на многие попытки провести на него атаку, он остается практически стойким.

MD 2 (R. RIVEST 1992)

Данный алгоритм также реализует 128 битную однопроходную хэш-функцию и в частности используется в протоколе PEM (Privacy -Enhanced Mail см. ниже). Этот алгоритм значительно более медленный чем остальные изложенные в книге примеры, однако, до сих пор у него не найдено даже потенциальных слабостей.

Алгоритм использует случайную перестановку на байтах,  задаваемую вектором (S0,S1, ... S255), сам автор, например, предлагает генерировать эту подстановку из битового вектора, получаемого записью числа  в двоичном виде. Также используется 48 байтный блок X=X0,...,X48,

Алгоритм выглядит следующим образом;

  1.  Исходное сообщение расширяется до сообщения длины кратной 16 байтам. При этом если дописывается N байтов, до их значение равно 0, 1, ... N-1.
  2.  Сообщение дополняется 16 байтной контрольной суммой, которая содержит истинный размер сообщения и может содержать дополнительную информацию (например, CRC значение).
  3.  Первый 16 байтный блок блока X инициализируется нулями.
  4.  Второй 16 байтный блок блока Х устанавливается равным очередному 16 байтному блоку хэшируемого текста.
  5.  Третий 16 байтный блок блока Х получается покоординатным суммированием первого и второго 16-байтных блоков блока X.
  6.  Вычисляется преобразование (запишем его в терминах псевдоязыка программирования)


 

А также другие работы, которые могут Вас заинтересовать

63359. ОБЩИЕ ВОПРОСЫ АВТОМАТИЗАЦИИ ПРОИЗВОДСТВЕННЫХ ПРОЦЕССОВ 192.5 KB
  Автоматизация производства – средство повышения производительности общественного труда и снижения себестоимости изготовления продукции, улучшения ее качества, высвобождения большого количества рабочих...
63360. ОСНОВНЫЕ ЭЛЕМЕНТЫ ПРОЦЕССА РЕЗАНИЯ 4.07 MB
  Основная плоскость параллельна направлениям продольной и поперечной подачи. Плоскость резания касательная к поверхности резания и проходящая через Главная секущая плоскость, перпендикулярная...
63361. ГЕОИНФОРМАЦИОННЫЕ СИСТЕМЫ 10.85 MB
  Современные ГИС это автоматизированные системы имеющие большое количество графических и тематических баз данных соединенная с моделями и расчетными формулами для манипулирования и преобразования данных в пространственную и картографическую информацию.
63362. МАТРИЧНЫЕ ПРИНТЕРЫ 192.5 KB
  Система пьезоэлектрического импульса ПГ состоит из множества сопел через которые распыляются частицы краски для формирования отпечатка знака.
63365. Устройство ввода графической информации – сканер 177.5 KB
  Под устройством ввода графической информации УВГИ типа сканер понимается устройство для преобразования данных из графической формы в машинные коды. Сканеры выполняют следующие операции: определение координат графических элементов и оттенков цвета...
63366. Экономическая наука и общество 75.5 KB
  Основные этапы и направления развития экономической теории. Предпосылки экономической науки. Становление научной системы экономической теории. Курс представляет собой вводный курс фундаментальной экономической теории.
63367. Основные понятия мультиплексирования 604.83 KB
  Современные системы связи передают огромное количество информации на большие расстояния, причем в процессе обмена информацией принимает участие много абонентов одновременно.