- •Свойства, назначение и основы построения хеш-функций.
- •Обобщенная схема хэш – функции
- •Пример хэширования
- •Гипотеза о существовании односторонних функций.
- •Свойства односторонних хэш-функций.
- •Длины однонаправленных хэш-функций
- •Методы криптоанализа хэш-функций
- •Коллизии и реверс
- •Методы построения криптографических хэш-функций
- •Назначение криптографических хэш-функций
- •Построение хеш-функций на основе блочных шифров.
- •Схемы, в которых длина хэш-значения равна длине блока
- •Обобщенная хэш-функция, у которой длина хэш-значения равна длине блока
- •Четыре безопасных хэш-функции, у которых длина хэш-значения равна длине блока
- •Модификация схемы Davies-Меуеr
- •Модификация схемы Davies-Meyer.
- •Тандемная (Таndеm) и одновременная (Abreast) схемы Davies-Meyer.
- •Тандемная схема Davies-Meyer.
- •Самостоятельные хэш – алгоритмы. Краткое описание наиболее распространенных алгоритмов
- •Алгоритм md2
- •Алгоритм мd3
- •Алгоритм md4
- •Алгоритм md5
- •Описание мd5
- •Отличия md5 от md4
- •Полный пример md5
- •Криптоанализ Snefru
- •Выбор хэш-функции
- •Эвристические принципы, сформулированные Ривестом
- •Основные требования к алгоритму с точки зрения пользователя
Криптоанализ Snefru
С использованием дифференциального криптоанализа показана небезопасность двухпроходного Snefru (с 128-битовым хэш-значением). Способ вскрытия за несколько минут обнаруживает пару сообщений с одинаковым хэш-значением.
Для 128-битового Snefru вскрытия работают лучше, чем вскрытие грубой силой для четырех и менее проходов. Вскрытие Snefru методом дня рождения требует 264 операций; дифференциальный криптоанализ может найти пару сообщений с одинаковым хэш-значением за 228'5 операций для трехпроходного Snefru и за 244'5 операций для четырехпроходного Snefru. Нахождение сообщения, хэш-значение которого совпадает с заданным, при использовании грубой силы требует 2128 операций, при дифференциальном криптоанализе для этого нужно 256 операций для трехпроходного и 288 операций для четырехпроходного Snefru.
Проведен анализ вплоть до 224-битовых хэш-значений. В сравнении с вскрытием методом дня рождения, требующим 2 112 операций они могут найти сообщения с одинаковым хэш-значением за 2125 операций для двухпроходного Snefru, за 233 операций для трехпроходного Snefru и за для 281 операций для четырехпроходного Snerfu.
В настоящее время рекомендуется использовать Snefru по крайней мере с восемью проходами. Однако с таким количеством проходов алгоритм становится намного медленнее, чем МD5 или SНА.
Tiger
Tiger представляет собой новый хэширующий алгоритм, разработанный Anderson and Biham.
В три раза быстрее SHA-1 на 64 – разрядных п. (SHA оптимизирован под 32 разрядные процессоры и только … даже на 16 разрядном процессоре «тигр» будет работать быстрее).
Тигр с полными 192 битами на выходе также называется Tiger/192 и рекомендован к использовании. В новых приложениях.
Tiger/160: на выходе хэш-значение длиной 160 бит, т.е. берутся первые 160 бит выхода на Tiger/192. Это предпринято в целях совместимости с алгоритмом SHA-1.
Tiger/128: по аналогии с Tiger/160: совместимость с MD4, MD5,RIPE-MD, Snerfu и рядом хэш-функций, построенных на блочных алгоритмах шифрования.
Тигр при реализации, как заявлено, не требует значительных машинных ресурсов.
Тигр осуществляет вычисления над 64 – битными словами: 512 – битное сообщение разбивается на восемь 64-битных слов.
Выбор хэш-функции
Алгоритм |
Длина хэш-значения |
Скорость ш-ия (Кбайт/с) |
Одновременная схема Davies-Meyer (с IDEA) |
128 |
22 |
Davies-Meyer (с DЕS) |
64 |
9 |
Хэш-функция ГОСТ |
256 |
11 |
HAVAL (3 прохода) |
переменная |
168 |
HAVAL (4 прохода) |
переменная |
118 |
HAVAL (5 прохода) |
переменная |
95 |
МD2 |
128 |
23 |
МD4 |
128 |
236 |
МD5 |
128 |
174 |
N-хэш (12 этапов) |
128 |
29 |
N-хэш (15 этапов) |
128 |
24 |
RIPE-МD |
128 |
182 |
SНА |
160 |
75 |
Snerfu (4 прохода) |
128 |
48 |
Snerfu (8 проходов) |
128 |
23 |
