
- •Свойства, назначение и основы построения хеш-функций.
- •Обобщенная схема хэш – функции
- •Пример хэширования
- •Гипотеза о существовании односторонних функций.
- •Свойства односторонних хэш-функций.
- •Длины однонаправленных хэш-функций
- •Коллизии и реверс
- •Методы построения криптографических хэш-функций
- •Назначение криптографических хэш-функций
- •Методы криптоанализа хэш-функций
- •Построение хеш-функций на основе блочных шифров.
- •Схемы, в которых длина хэш-значения равна длине блока
- •Обобщенная хэш-функция, у которой длина хэш-значения равна длине блока
- •Четыре безопасных хэш-функции, у которых длина хэш-значения равна длине блока
- •Модификация схемы Davies-Меуеr
- •Модификация схемы Davies-Meyer.
- •Тандемная (Таndеm) и одновременная (Abreast) схемы Davies-Meyer.
- •Тандемная схема Davies-Meyer.
- •Самостоятельные хэш – алгоритмы. Краткое описание наиболее распространенных алгоритмов
- •Алгоритм md2
- •Алгоритм мd3
- •Алгоритм md4
- •Алгоритм md5
- •Описание мd5
- •Отличия md5 от md4
- •Полный пример md5
- •Криптоанализ Snefru
- •Выбор хэш-функции
- •Эвристические принципы, сформулированные Ривестом
- •Основные требования к алгоритму с точки зрения пользователя
Самостоятельные хэш – алгоритмы. Краткое описание наиболее распространенных алгоритмов
MD2
Самая медленная хэш-функция. Оптимизирована для 8-битных машин.
MD4
Самая быстрая хэш-функция. Оптимизирована для 32-битных машин. Не так давно взломана.
MD5
Наиболее распространенная из семейства MD хэш-функция. Считается очень стойкой и безопасной. Похожа на MD4, но имеет несколько дополнительных средств для повышения безопасности, что замедляет ее примрно на треть по сравнению с MD4. Обеспечивает целостность данных.
RIPEMD
SHA1
Secure Hash Algorithm. Создает 160-битовое значение хэш-функции из исходных данных переменного размера. Предложена NIST и принята правительством США как стандарт. Используется в стандарте DSS.
Snefru
Tiger
Yarrow
ГОСТ Р34.11-94
Алгоритм md2
Предполагает:
дополнение текста до длины, кратной 128 битам;
вычисление 16-битной контрольной суммы (старшие разряды отбрасываются);
добавление контрольной суммы к тексту;
повторное вычисление контрольной суммы.
МD2 - это другая 128-битовая однонаправленная хэш-функция, разработанная Роном Ривестом. Она, вместе с МD5, используется в протоколах РЕМ. Безопасность МD2 опирается на случайную перестановку байтов. Эта перестановка фиксирована и зависит от разрядов п. S0 , S1, … S255 и являются перестановкой.
Хэширование сообщения М MD2:
Дополнение сообщения i байтами, значение i должно быть таким, чтобы длина полученного сообщения была кратна 16 байтам.
Добавление к сообщению 16 байтов контрольной суммы.
Инициализация 48-байтового блока: Х0, Х1, Х2, . . ., Х47. Заполнение первых 16 байтов X нулями, во вторые 16 байтов X копирование первых 16 байтов сообщения, а третьи 16 байтов X должны быть равны XOR первых и вторых 16 байтов X.
Вот как выглядит функция сжатия: t = 0
For j = О to 17
For k = О to 47 t = Xt XOR St t = (t +j)mod 256
Копирование во вторые 16 байтов X вторых 16 байтов сообщения, а третьи 16 байтов X должны быть равны XOR первых и вторых 16 байтов X. Выполнение этапа (4). Повторение этапов (5) и (4) по очереди для каждых 16 байтов сообщения.
Выходом являются первые 16 байтов X.
Хотя в МD2 пока не было найдено слабых мест, она работает медленнее большинства других предлагаемых хэш- функций.
Алгоритм мd3
Имела ряд недостатков и никогда не выходила за пределы лаборатории.
Была предложена Роном Ривестом.
Группа исследователей из Университета Ватерлоо предложила однонаправленную хэш-функцию на базе итеративного возведения в степень в GF(2593).
По этой схеме сообщение разбивается на 593-битовые блоки. Начиная с первого блока блоки последовательно возводятся в степень. Показатель степени - это результат вычислений для предыдущего блока, первый показатель задается с помощью N.
Алгоритм md4
Алгоритм MD4 (Message Digest) был разработан Ривестом. Размер вырабатываемого хэш-кода -- 128 битов. По заявлениям самого разработчика при создании алгоритма он стремился достичь следующих целей:
Безопасность. Для построения коллизий не существует алгоритма эффективнее метода "грубой силы" (т. е. метода, основанного на "парадоксе дня рождения").
Алгоритм построен без использования каких-либо предположительно трудных задач, т. е. его стойкость должна, подобно шифраторам, обеспечиваться его собственной конструкцией.
Скорость. Алгоритм допускает эффективную программную реализацию на 32-разрядном процессоре.
Простота и компактность. Алгоритм MD4 не использует сложных структур данных и подпрограмм.
Алгоритм оптимизирован с точки зрения его реализации на микропроцессорах типа Intel.
Алгоритм MD4 предусматривает:
дополнение текста до длины, равной 448 бит по модулю 512;
добавляется длина текста в 64-битном представлении;
512-битные блоки подвергаются процедуре Damgard-Merkle1, причем каждый блок участвует в трех разных циклах.