Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Защита информации. Курс лекций

Синхронные шифры

В этом случае выходные значения генератора не зависят от исходного или шифрованного текстов. Такие потоковые шифры носят название синхронных.

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

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

Синхронные шифры также защищают от вставок и выбрасываний отрезков шифрованного текста из потока. Такие операции приведут к нарушению синхронизации, что будет сразу же обнаружено на приемной стороне.

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

Синхронный потоковый шифр может быть реализован в виде блочного шифра, работающего в режиме обратной связи по выходу. Подобно описанному в предыдущем пункте примеру, режим обратной связи по выходу может быть реализован с любым размером обратной связи, меньшим размера блока. Однако, данный способ не рекомендуется, так как при этом снижается период генератора до примерно 2т/2. При длине блока 64 это будет около 232, чего явно недостаточно.

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

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

Еще одним способом построения потокового шифра является использование счетчика в качестве входного значения для блочного шифра.

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

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

Примеры потоковых шифров RC4

RC4 представляет собой потоковый шифр с переменной длиной ключа, разработанный в 1987 г. Роном Ривестом для компании RSA Data Security, Inc. В течение 7 лет этот шифр лицензировался компанией только на условиях неразглашения. Однако, в 1994г. он был анонимно опубликован в Интернете и с тех пор стал доступен для независимого анализа.

Описывается шифр очень просто. Алгоритм работает в режиме обратной связи по выходу. Ключевая последовательность не зависит от исходного текста.

Шифрование по этому алгоритму примерно в 10 раз быстрее, чем шифрование DES при программной реализации.

Возможно обобщение алгоритма на большие длину слова и размер блока замены. Так, можно построить шифр с боком замены размерностью 16 х16 (потребуется 128 Кбайт памяти) и длиной слова 16 бит. Этап инициализации будет значительно медленнее, необходим цикл до 65535, если мы хотим в точности следовать конструкции, но получившийся в результате алгоритм будет более быстрым.

 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 
Популярные страницы