Поточные шифры характерны тем, что шифруют информацию по одному биту за такт шифрования. Учитывая, что среди операций с битами существуют только две обратимые – сумма по модулю 2 и логическое отрицание, то выбор принципа шифрования очевиден – биты открытого текста должны складываться с битами ключевой последовательности с помощью операции
ci = mi ki
Дешифрование происходит аналогичным образом:
mi = ci ki
Учитывая свойства операции сложения по модулю 2, можно отметить, что выполняется:
ki = ci mi
Поэтому криптостойкость поточных шифров полностью зависит от качества генератора потока ключей. Поток ключей поточных шифров принято обозначать греческой буквой гамма, вследствие чего подобные шифры получили название шифров гаммирования. Рассмотрим основные методы формирования гамма в современной потоковой криптографии.
Очень популярны для решения этой цели регистры сдвига с обратной связью. Он представляет собой (рисунок1) последовательность бит, которая на каждом такте шифрования сдвигается вправо на 1 разряд, при этом выход из крайнего правого бита является выходом генератора, а на вход крайнего левого бита подается значение, вычисляемое как некоторая функция от отдельных битов регистра. Ключ шифрования поточного шифра заносится в регистр перед началом генерации гаммы.
Рисунок 1 – функция обратной связи
Самым простым способом формирования обратной связи является суммирование по модулю 2 отдельных разрядов регистра. На рисунке 2 изображен регистр сдвига с линейной обратной связью
Рисунок 2 – Линейный регистр сдвига
Блочное шифрование обладает следующими недостатками.
одиночная ошибка в шифрованном тексте вызывает искажение при дешифрации примерно половины исходного текста, что требует дополнительного применения мощных кодов исправляющих ошибки.
Из двух одинаковых блоков исходного текста получаются одинаковые блоки шифрованного.
Эти недостатки устраняются при поточном (потоковом) шифровании (Рисунок 3).
Рисунок 3 – Поточное шифрование
В отличие от блочных шифров, здесь каждый символ (бит) исходного потока данных шифруется, передается и дешифруется независимо от других символов. Другими словами, шифрующее преобразование меняется от одного элемента исходного потока к другому, а в блочных шифрах шифрующее преобразование для всех блоков неизменно.
Достоинство потокового шифра — высокая скорость шифрования/дешифрования, соизмеримая со скоростью поступления исходных данных. Следовательно, имеется возможность работать в реальном времени.
Однако практическая реализация «сверхдлинных» ключевых последовательностей и их хранение затруднительно и неудобно. Хотя схема Вернама теоретически не вскрываема, более удобными оказались псевдослучайные последовательности (ПСП), формируемые генераторами ПСП аппаратно или программно. Секретным ключом являются структура генератора ПСП и его начальное слово.
По соотношению периода ПСП с длиной исходного текста различают системы шифрования:
с «бесконечной» ПСП: ТПСП >Lисх.текста
с конечной ПСП: ТПСП=Lисх.текста (режим бегущего кода)
На практике отправитель и получатель имеют свои генераторы ПСП. Следовательно, как видно из рисунка 4, система потокового шифрования требует синхронизации генераторов ПСП отправителя и получателя как друг с другом, так и с потоком шифрограммы. Вставка или выпадение одного двоичного символа в шифрограмме приводит к неправильному расшифрованию остальных символов из-за потери синхронизации.
Рисунок 4 – Схема ПСП
Этот недостаток устраняется в самосинхронизирующихсяпоточных системах шифрования, в которых восстановление режима самосинхронизации происходит автоматически через некоторое количество бит шифрограммы.
Использованные источники:
Алгоритмы шифрования. Специальный справочник. / Сергей Панасенко, - БХВ-Петербург, 2009 -257 с.
Информационная безопасность и защита. Учебное пособие. / Елена Баранова, Александр Бабаш, - Инфра-М, 2017 -324 с.
Основы информационной безопасности. Учебное пособие. / Сергей Нестеров, - Лань, 2016 – 324 с.