Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
терентьев шифры и тд.docx
Скачиваний:
0
Добавлен:
12.02.2026
Размер:
282.83 Кб
Скачать

2. Конструкция Матьяса-Мейера-Осеаса (Matyas-Meyer-Oseas)

Схема:

Особенности:

  • Хеш-состояние используется как ключ

  • Сообщение используется как данные

3. Конструкция Миягучи-Пренеля (Miyaguchi-Preneel)

Модификация Дэвиса-Мейера:

Схема:

Практические примеры

Хеш-функции на основе ГОСТ 28147-89

В России стандартом является ГОСТ Р 34.11-2012 ("Стрибог"), но предыдущий стандарт ГОСТ Р 34.11-94 как раз был построен на основе блочного шифра ГОСТ 28147-89.

ГОСТ Р 34.11-94:

  • Использовал конструкцию, похожую на Дэвиса-Мейера

  • Размер хеша: 256 бит

  • Основные шаги:

    1. Сообщение разбивается на блоки по 256 бит

    2. Каждый блок обрабатывается в 4 прохода

    3. Используется шифр ГОСТ 28147-89 в специальном режиме

Хеш-функции на основе AES

С появлением AES появились и хеш-функции на его основе:

Whirlpool — хеш-функция, разработанная Винсентом Рейменом (одним из создателей AES):

  • Размер хеша: 512 бит

  • Использует конструкцию, аналогичную AES, но с другими параметрами

  • Широко используется в криптографических приложениях

Преимущества подхода

  1. Экономия разработки: Используются уже существующие, хорошо изученные алгоритмы

  2. Высокая производительность: Блочные шифры часто имеют аппаратную оптимизацию

  3. Наследование стойкости: Если базовый шифр криптостоек, то и хеш-функция будет стойкой

  4. Унификация: Один алгоритм можно использовать для разных целей

Проблемы и вызовы

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: Подготовка сообщения

  1. Дополнение сообщения:

    • Сообщение дополняется до длины, кратной 256 битам

    • Добавляется бит "1", затем нули, и в конце 256-битное представление длины исходного сообщения

  2. Разбиение на блоки:

    • Дополненное сообщение разбивается на блоки по 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 широко использовался в: