Виды симметричных шифров. Особенности программной и аппаратной реализации.

Работа симметричных шифров включает в себя два преобразования:

C = Ek(m) и m = Dk(C),

где m – открытый текст, E – шифрующая функция, D – расшифровывающая функция, k – секретный ключ, C – шифртекст.

Функции зашифрования/расшифрования являются общеизвестными и стойкость всей системы зависит только от секретности ключа k. Этот принцип называют также принципом Керкгоффса.

Современные симметричные алгоритмы шифрования делятся на блочные и поточные.

Сравнительная характеристика основных особенностей блочных и поточных шифров приведена в таблице.

Таблица 5. Особенности блочных и поточных шифров

Блочные шифры Поточные шифры
Работают во всех режимах шифрования Поддерживают не все режимы шифрования
Тяжелы для математического анализа Простое проектирование и математический анализ
Легко реализуются как аппаратно, так и программно Практически непригодны к программной реализации для битового потока. Бессмысленно использовать программный шифратор для шифрования каждого бита по отдельности.
Имеют не очень высокое быстродействие Имеют высокое быстродействие
Стойкость шифра зависит от длины ключа, количества раундов шифрования, размера блока и рассеивающих и перемешивающих характеристик алгоритма Стойкость шифра зависит от статистических характеристик и периода переполнения генератора ключевой последовательности

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

При применении различных режимов шифрования блочные шифры могут быть также реализованиы как поточные и наоборот.

Основой блочного шифра является алгоритм преобразования, основой поточного шифра – генератор ключевой последовательности. В таблице приведен сравнительный перечень особенностей блочных и поточных шифров.