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

1. Для каких целей служит функция хэширования и какими основными свойствами она обладает.

  • Цели: Функция хэширования служит для преобразования произвольного массива данных (сообщения) в битовую строку фиксированной длины (хеш-код, дайджест). Основные цели:

    • Обеспечение целостности данных: Позволяет обнаружить любые случайные или злоумышленные изменения в исходных данных путем сравнения хеш-кодов до и после передачи/хранения.

    • Электронная цифровая подпись (ЭЦП): Подпись часто создается не для самого документа, а для его хеш-кода, что значительно ускоряет процесс и снижает нагрузку.

    • Аутентификация: Может использоваться для проверки подлинности паролей (которые не хранятся в открытом виде, а только их хеши).

    • Контроль уникальности данных: По уникальному хешу можно идентифицировать файл или сообщение.

  • Свойства:

  1. Детерминированность: Один и тот же входной текст всегда дает один и тот же хеш-код.

  2. Вычислительная эффективность: Значение хеш-функции вычисляется быстро для любого сообщения.

  3. Стойкость к прообразам (необратимость): Для заданного значения хеш-кода h вычислительно невозможно найти какой-либо исходный текст X, такой что H(X) = h.

  4. Стойкость к коллизиям: Вычислительно невозможно найти два разных сообщения X и Y, таких что H(X) = H(Y).

  5. Лавинный эффект: Незначительное изменение во входных данных (например, один бит) приводит к значительному и непредсказуемому изменению хеш-кода.

2. В чем заключаются методы реализации функции хэширования, основанные на алгоритмах симметричного блочного шифрования.

Идея заключается в использовании блочного шифра (например, ГОСТ 28147-89 или AES) в качестве основы для построения функции сжатия. Сообщение разбивается на блоки, и каждый блок последовательно "смешивается" с текущим состоянием (хеш-значением).

  • Общая схема: Сообщение M разбивается на блоки M1, M2, ..., Mn. Начинается с некоторого начального вектора H0 (IV).

  • Функция сжатия: На каждом шаге функция сжатия f принимает текущее значение хеша H_{i-1} и блок сообщения Mi, и вычисляет новое значение хеша Hi.

  • Примеры конструкций:

    • Схема Дэвиса-Мейера (Davies-Meyer): Hi = E_{Mi}(H_{i-1}) ⊕ H_{i-1}, где E - функция шифрования. Эта конструкция широко используется (например, в SHA-2).

    • Режим CBC: Если взять последний блок шифротекста после шифрования всего сообщения в режиме CBC и использовать его как хеш, это будет пример примитивной хеш-функции. Однако в чистом виде он уязвим и требует модификаций.

3. В чем заключаются методы реализации функции хэширования, основанные на числовых корректирующих кодах.

Эти методы основаны на использовании алгоритмов контроля ошибок, таких как циклические избыточные коды (CRC - Cyclic Redundancy Check).

  • Принцип: Исходное сообщение рассматривается как длинное двоичное число, которое делится на другое фиксированное число (образующий полином). Остаток от этого деления и является хеш-кодом (CRC-кодом).

  • Свойства: CRC эффективно обнаруживают случайные ошибки (пакеты ошибок), возникающие в каналах связи.

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