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


 

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

34637. Составляющие успеха организации 30.46 KB
  Для этого организации периодически приходится менять свои цели разрабатывать новые виды продукции и услуг. Необходимость управления практическая реализация Внутренняя среда организации Под внутренней средой организации понимается совокупность присущих ей свойств переменных элементов факторов конкретной характеристики которых в сочетании придают ей определенное лицо. Внутренние переменные ситуационные факторы внутри организации которые в совокупности придают ей определенное лицо Цель конкретное конечное состояние или желаемый...
34639. Школа научного управления 1875 -1920 (Ф.Тейлор, Ф. и Л. Гилберт, Г. Гант) 26.04 KB
  Контактная аудитория общественная организация по защите прав потребителя Мотивация Мотивация процесс побуждения себя и других к деятельности для достижения личных целей или целей организации. Существует 2 типа создания мотивов: Внутренняя мотивация самовырабатываемые факторы которые заставляют людей вести себя определенным образом Внешняя мотивация то что делается с людьми или для людей чтобы создать у них побудительные мотивы.
34640. Школа административного (классического управления) 1920 – 1950 (Файоль, Урвик, Муни, Слоун) 17.13 KB
  Факторы на которые не может влиять организация: Экономический фактор состояние экономики влияет на стоимость всех ввозимых ресурсов и на способность потребителей покупать товары и услуги Политический совокупность госучреждений и структур которые оказывают влияние и ограничивают деятельность организации учитывается уровень коррупции возможность смены власти политическая стабильность доверие населения к власти проводимая политическая линия НТП Технология учет научнотехнических достижений прогноз развития науки и техники...
34641. Школа человеческих отношений (1930 – 1950) и поведенческих наук (1950 – наше время) 17.02 KB
  Школа поведенческих наук Макгрегор повышение эффективности организации за счет повышения эффективности её человеческих ресурсов. Решения выбора альтернативы Управленческое решение обдуманный вывод о необходимости осуществить какието действия связанные с достижением цели организации либо наоборот воздержаться от них. Эффективным организационным решением будет то которое будет на самом деле реализовано и внесет наибольший вклад в достижение целей организации.
34642. Типы организаций 21.39 KB
  Процесс принятия рационального решения Состоит из 7 основных этапов Диагностика или определение проблемы Существует 2 способа рассмотрения проблемы: Проблемой считается ситуация когда поставленные цели не достигнуты. Проблема как потенциальная возможность для этого необходима релевантная информация это данные касающиеся только конкретной проблемы человека цели в определенный период времени Все проблемы имеют: Определенное лицо Что Связанный с какимто конкретным местом Где Время возникновения и частота повторяемости...
34643. Общие характеристики организаций 40.73 KB
  Необходимость управления практическая реализация Факторы влияющие на процесс принятия решений Личностная оценка руководителя субъективное ранжирования важности качества или блага. Среда принятия решений Все решения принимаются в разных обстоятельствах по отношению к риску и выделяют: Условие определенности когда точно известен результат каждого из альтернативного варианта выбора Условие риска результаты этих решений не являются определенными но вероятность каждого результата известна. Негативные последствия принятие...
34644. Личность. Методы принятия решений 22.49 KB
  ЯОбраз какими мы видим себя Идеальное Я какими нам хотелось бы быть Зеркальное Я какими по нашему мнению нас видят другие Реальное Я каковы мы в действительности Методы принятия решений При принятии решений вне зависимости от применяемых моделей существует правило принятия решений. Соответственно существуют следующие методы принятия решений: Платежная матрица оказывает помощь руководителю в выборе одного из нескольких вариантов решений. Методы прогнозирования в них используется как накопленный опыт так и текущие допущения на...
34645. Понятие алгоритма. Свойства, способы описания 90 KB
  Понятие алгоритма и способы его описания; Типы алгоритмов; Блоксхемы; Базовые структуры применяемые при создании алгоритмов. Иначе говоря блоксхема служит для графического изображения структуры алгоритма. Последовательность действий в соответствии с блоксхемой указывается с помощью стрелок соединяющих отдельные блоки и показывающих какой блок и вслед за каким должен выполняться. В ходе изучения данной дисциплины будут рассматриваться алгоритмы описанные при помощи языка программирования и при помощи специальных схем...