Это старая версия (1.23) КриптографическиеХэшФункции.

Содержание

Криптографические xэш - функции

Хэшированием называется преобразование исходного информационного массива произвольной длины в битовую строку фиксированной длины. Криптографическая хэш-функция — хэш-функция, являющаяся криптографически стойкой, то есть удовлетворяющая ряду требований, специфичных для криптографических приложений.

Требования к криптографически стойким хэш-функциям :

  • Для заданного значения хэш-функции M должно быть невозможно вычислить блок данных X, для которого H(X) = M.
  • Стойкость к коллизиям первого рода: для заданного сообщения M должно быть вычислительно невозможно подобрать другое сообщение N, для которого H(N)=H(M).
  • Стойкость к коллизиям второго рода: должно быть вычислительно невозможно подобрать пару сообщений (M, M  prime  ), имеющих одинаковый хэш.

Математически хэш функцию можно записать в виде: H(X) = M,

где X – исходное сообщение, называемое иногда прообразом, а M – результат, называемый значением хеш-функции.

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

 

Принципы построения

Итеративная последовательная схема

Для построения хэш-функций используется cтруктура Меркля-Дамгарда (рис. 1). Cжимающая функция преобразует k входных в n выходных бит, где n — разрядность хэш-функции, а k — произвольное число большее n. Сжимающая функция должна быть криптографически стойкой.

Входной поток разбивается на блоки по (k-n) бит. В качестве начального значения временной переменной используется произвольное число. Каждый следующий блок данных объединяется с выходным значением сжимающей функции на предыдущей итерации. Значением хэш-функции являются выходные n бит последней итерации.

Сжимающая функция

Односторонняя функция сжатия преобразует два входных блока фиксированной длины в выходной блок фиксированной длины. В качестве сжимающей функции можно расмотреть одностороннюю функцию сжатия Миагучи-Пренеля (Miyaguchi–Preneel)

https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%BD%D0%BE%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D1%8F%D1%8F_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F_%D1%81%D0%B6%D0%B0%D1%82%D0%B8%D1%8F_%D0%9C%D0%B8%D0%B0%D0%B3%D1%83%D1%87%D0%B8-%D0%9F%D1%80%D0%B5%D0%BD%D0%B5%D0%BB%D1%8F#/media/File:Miyaguchi-Preneel_hash.svg


КатегорияКриптография