Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на экзамен.docx
Скачиваний:
103
Добавлен:
17.11.2019
Размер:
1.58 Mб
Скачать

10. Поточное и блочное шифрование. Основные отличия.

Ответ:

Поточное и блочное шифрование

Поточное шифрование – работает с потоками данных, при этом шифрование конкретной единицы информации не зависит от предыдущих данных.

Блочное шифрование – работает с блоками данных.

Основные отличия

  • скорость шифрования поточных шифров перед блочными;

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

  • структура поточного ключа может иметь уязвимые места, которые дают возможность криптоаналитику получить дополнительную информацию о ключе (например, при малом периоде ключа криптоаналитик может использовать найденные части поточного ключа для дешифрования последующего закрытого текста).

  • ПШ в отличие от БШ часто могут быть атакованы при помощи линейной алгебры (так как выходы отдельных регистров сдвига с обратной линейной связью могут иметь корреляцию с гаммой). Также для взлома поточных шифров весьма успешно применяется линейный и дифференциальный анализ.

11. Принципы работы хеш-функции. Основные свойства криптографических хеш-функций.

Ответ:

Принципы работы хеш-функции

Хеш-функция – это математическая или иная функция, которая для строки произвольной длины вычисляет некоторое целое значение или некоторую другую строку фиксированной длины. Математически это можно записать так:

h=H(M), где М – исходное сообщение, называемое иногда прообразом, а h – результат, называемый значением хеш-функции (а также хеш-кодом или дайджестом сообщения).

Принцип работы:

В основе построения хеш-функции лежит итеративная последовательная схема. Ядром алгоритма является сжимающая функция – преобразование k входных в n выходных бит, где n – разрядность хеш-функции, а k – произвольное число, большее n. При этом сжимающая функция должна удовлетворять всем условиям криптостойкости.

Входной поток разбивается на блоки по (k − n) бит. Алгоритм использует врееменную переменную размером в n бит, в качестве начального значения которой берется некое общеизвестное число. Каждый следующий блок данных объединяется с выходным значением сжимающей функции на предыдущей итерации. Значением хеш-функции являются выходные n бит последней итерации. Каждый бит выходного значения хеш-функции зависит от всего входного потока данных и начального значения. Таким образом достигается лавинный эффект.

При проектировании хеш-функций на основе итеративной схемы возникает проблема с размером входного потока данных. Размер входного потока данных должен быть кратен (k − n). Как правило, перед началом алгоритма данные расширяются неким, заранее известным, способом.

Помимо однопроходных алгоритмов, существуют многопроходные алгоритмы, в которых ещё больше усиливается лавинный эффект. В этом случае данные сначала повторяются, а потом расширяются до необходимых размеров.

Основные свойства криптографических хеш-функций:

  • Хэш-функция Н должна применяться к блоку данных любой длины.

  • Хэш-функция Н создает выход фиксированной длины.

  • Н(М) относительно легко (за полиномиальное время) вычисляется для любого значения М.

  • Для любого данного значения хэш-кода h вычислительно невозможно найти M такое, что Н (M) = h.

  • Для любого данного х вычислительно невозможно найти y x, что H (y) = H (x).

  • Вычислительно невозможно найти произвольную пару (х, y) такую, что H (y) = H (x).