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.  Вычисляется преобразование (запишем его в терминах псевдоязыка программирования)


 

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

44612. Переключение соединений 62 KB
  Различают два основных способа переключения соединений: переключение цепей каналов; переключение пакетов. Переключение цепей создает единое непрерывное соединение между двумя сетевыми устройствами. Переключение цепей.
44613. Способы организации передачи данных между ПК 80 KB
  Схему параллельного соединения можно иллюстрировать: Параллельное соединение Как видно из рисунка параллельное соединение по восьми проводам позволяет передать байт данных одновременно. Напротив последовательное соединение подразумевает передачи данных по очереди бит за битом. Соединение бывает: симплексное полудуплексное и дуплексное. О симплексном соединении говорят когда данные перемещаются только в одном направлении Полудуплексное соединение позволяет данным перемещаться в обоих направлениях но в разное время.
44614. Основные характеристики ВС 29 KB
  Основными характеристиками ВС являются: операционные возможности сети; временные характеристики; надежность; производительность; стоимость. Операционные возможности сети характеризуются такими условиями как: предоставление доступа к прикладным программным средствам БД БЗ т.; удаленный ввод заданий; передача файлов между узлами сети; доступы к удаленным файлам; выдача справок об информационных и программных ресурсах; распределенная обработка данных на нескольких ЭВМ и т. Временные характеристики сети определяют...
44615. Древний Египет 74.5 KB
  Древний Египет План Особенности развития государства и общества. Деспотия Форма государства в странах Древнего Востока. С возникновением государства обычай и стал источником права. Восточная деспотия форма государства при которой глава государства обладающий всей полнотой власти обожествляется управление осуществляется с помощью чиновников а население несет различные государственные повинности.
44616. Древний Рим 95.5 KB
  Основные понятия Квестор Должностное лицо магистрат выполнявший судебные функции в раннереспубликанский период а позднее ведавшее казной архивом; помощник правителя провинции. Квириты Коренные жители римской общины члены курий в период формирования римского государства; имели привилегированное правовое положение исключительно носители квиритского права квиритской собственности и т. Колонат Форма зависимости сельского населения от крупных землевладельцев сдавших участки земли арендаторам колонам периода домината. Комиции...
44617. Древняя Индия 72.5 KB
  Индостан и образовавшие первые государства. Развитие государства Древней Индии имеет особенности отличающий его от других стран Востока. Форма государственного устройства всего Древнего Востока Восточная деспотия Индии имела особенность – власть правителя была ограничена индийской общиной некоторая коллегиальность управления; Существенное влияние на развитие государства оказала религия. Центральная власть Глава государства царь власть которого обожествлялась.
44618. Спарта в период рабовладельческой аристократической республики (VIII в. до н.э. - середина II в. до н.э.) 60.5 KB
  Возникновения государства. Илоты Жители побежденных лаконийских племен превращенные в рабов были собственностью государства. Возникновения государства. Победа Спарты над Афинами в Пелопоннесской войне привел к появлению роскоши развитию товарноденежных отношений и гибели Спарты как военизированного аристократического рабовладельческого государства во II в.
44619. Афинское государство (VIII-IV вв. до н.э.) 105 KB
  Основные понятия Ареопаг Высший орган государственной и судебной власти в Афинах. Булевты Члены Совета пятисот булэ в Древних Афинах в компетенции которого находились вопросы управления внешних сношений финансов государства. Гелиасты Члены судебной коллегии гелиэи в Древних Афинах. Демы Территориальные округа в Древних Афинах со времен реформы Клисфена.
44620. Древний Вавилон 72 KB
  Законы Хаммурапи. Законы Хаммурапи Сборник законов Древнего Вавилона названный именем царя Вавилона. Мушкенум Жители покоренных Хаммурапи областей. Хаммурапи Царь Вавилона в период правления которого XVIII в.