- •1. Начальная перестановка (Initial Permutation, ip)
- •2. 16 Раундов сети Фейстеля
- •3. Конечная перестановка (Final Permutation, fp)
- •Атаки на основе особенностей алгоритма:
- •Тип алгоритма: Симметричный блочный шифр.
- •Размер блока: 64 бита.
- •1. Подготовка ключа
- •2. 32 Раунда сети Фейстеля
- •3. Режимы работы
- •Ключевые отличия и преимущества перед des
- •Тип алгоритма: Симметричный блочный шифр
- •Атака на подобранном шифртексте.
- •1. Конструкция Дэвиса-Мейера (Davies-Meyer)
- •2. Конструкция Матьяса-Мейера-Осеаса (Matyas-Meyer-Oseas)
- •3. Конструкция Миягучи-Пренеля (Miyaguchi-Preneel)
- •1. Проблема фиксированных точек (Fixed Points)
- •2. Атаки на связанных ключах (Related-Key Attacks)
- •3. Требования к размеру
- •Системы защиты информации
- •Банковские приложения
- •Государственные информационные системы
- •Понятная математическая основа
- •Вычисление вспомогательных величин:
2. Конструкция Матьяса-Мейера-Осеаса (Matyas-Meyer-Oseas)
Схема:
Особенности:
Хеш-состояние используется как ключ
Сообщение используется как данные
3. Конструкция Миягучи-Пренеля (Miyaguchi-Preneel)
Модификация Дэвиса-Мейера:
Схема:
Практические примеры
Хеш-функции на основе ГОСТ 28147-89
В России стандартом является ГОСТ Р 34.11-2012 ("Стрибог"), но предыдущий стандарт ГОСТ Р 34.11-94 как раз был построен на основе блочного шифра ГОСТ 28147-89.
ГОСТ Р 34.11-94:
Использовал конструкцию, похожую на Дэвиса-Мейера
Размер хеша: 256 бит
Основные шаги:
Сообщение разбивается на блоки по 256 бит
Каждый блок обрабатывается в 4 прохода
Используется шифр ГОСТ 28147-89 в специальном режиме
Хеш-функции на основе AES
С появлением AES появились и хеш-функции на его основе:
Whirlpool — хеш-функция, разработанная Винсентом Рейменом (одним из создателей AES):
Размер хеша: 512 бит
Использует конструкцию, аналогичную AES, но с другими параметрами
Широко используется в криптографических приложениях
Преимущества подхода
Экономия разработки: Используются уже существующие, хорошо изученные алгоритмы
Высокая производительность: Блочные шифры часто имеют аппаратную оптимизацию
Наследование стойкости: Если базовый шифр криптостоек, то и хеш-функция будет стойкой
Унификация: Один алгоритм можно использовать для разных целей
Проблемы и вызовы
1. Проблема фиксированных точек (Fixed Points)
В конструкции Дэвиса-Мейера возможно найти такое сообщение M и состояние H, что:
Тогда E_M(H) ⊕ H = 0, что может привести к коллизиям.
2. Атаки на связанных ключах (Related-Key Attacks)
Поскольку сообщение используется как ключ, атаки на связанных ключах на базовый шифр могут стать атаками на хеш-функцию.
3. Требования к размеру
Размер блока шифра должен быть достаточным для обеспечения стойкости
Размер ключа должен быть достаточным
Сравнение с специализированными хеш-функциями
Современное состояние
SHA-3 (Keccak) — победитель конкурса NIST, использует совершенно другую конструкцию (губка)
Современные тенденции склоняются к специализированным конструкциям, оптимизированным specifically для хеширования
Однако подход на основе блочных шифров остается важным и используется во многих приложениях
Вывод
Функции хеширования на основе симметричных блочных шифров представляют собой элегантное и практичное решение, позволяющее повторно использовать криптографические примитивы.
Ключевые моменты:
Конструкция Дэвиса-Мейера — наиболее популярный и изученный метод
Подход позволяет создавать стойкие хеш-функции на основе проверенных шифров
Несмотря на появление специализированных хеш-функций, этот подход остается актуальным и используется в различных стандартах
Что такое ГОСТ Р 34.11-94?
ГОСТ Р 34.11-94 — российский стандарт криптографической хеш-функции, также известный как "Функция хеширования GOST". Он был принят в 1994 году и широко использовался в российских криптографических системах до замены на ГОСТ Р 34.11-2012 ("Стрибог").
Основные характеристики
Тип: Криптографическая хеш-функция
Размер хеша: 256 бит (32 байта)
Размер блока входных данных: 256 бит
Основа: Построен на блочном шифре ГОСТ 28147-89
Архитектура алгоритма
1. Структура обработки
Алгоритм использует итеративную структуру типа Меркла-Дамгарда:
где:
H_i — промежуточное значение хеша
M_i — блок сообщения
f — функция сжатия
2. Функция сжатия на основе ГОСТ 28147-89
Функция сжатия построена по схеме, похожей на конструкцию Дэвиса-Мейера, но с существенными модификациями:
где E_K — шифрование по ГОСТ 28147-89.
Детальный процесс вычисления хеша
Этап 1: Подготовка сообщения
Дополнение сообщения:
Сообщение дополняется до длины, кратной 256 битам
Добавляется бит "1", затем нули, и в конце 256-битное представление длины исходного сообщения
Разбиение на блоки:
Дополненное сообщение разбивается на блоки по 256 бит: M₁, M₂, ..., M_N
Этап 2: Инициализация
Устанавливается начальное значение хеша H₀
Для ГОСТ Р 34.11-94: H₀ = 0x00000000... (256 нулевых бит)
Этап 3: Обработка блоков
Для каждого блока M_i выполняются 4 параллельных прохода:
где ψ — специальная функция преобразования ключа.
Ключевые особенности
1. Четыре прохода обработки
Каждый блок обрабатывается четыре раза с разными преобразованиями ключа:
Проход 1: K = M_i
Проход 2: K = ψ(M_i)
Проход 3: K = ψ(ψ(M_i))
Проход 4: K = ψ(ψ(ψ(M_i)))
Функция ψ реализует циклический сдвиг на 25 позиций.
2. Использование блочного шифра
В каждом проходе используется ГОСТ 28147-89 в режиме простой замены:
Ключ: преобразованный блок сообщения
Данные: текущее состояние хеша
Выполняется 32 раунда шифрования
3. Сложная структура обновления
После четырех проходов выполняется дополнительное перемешивание:
Результаты всех проходов суммируются
Выполняется сложение по модулю 2³²
Пример вычисления (упрощенный)
Безопасность и криптоанализ
Сильные стороны:
Большой размер хеша (256 бит) обеспечивает стойкость к атакам полного перебора
Многопроходная структура усложняет криптоанализ
Использование проверенного блочного шифра ГОСТ 28147-89
Обнаруженные уязвимости:
Найдены псевдоколлизии — разные сообщения дают одинаковый хеш при определенных условиях
Уязвимости в конструкции Дэвиса-Мейера
Атаки на основе фиксированных точек
Практическое применение
ГОСТ Р 34.11-94 широко использовался в:
