Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Потоковые шифры

Замечание 1

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

Введение

Потоковые шифры являются одной из разновидностей гаммирования и выполняют преобразование открытого текста в шифрованный последовательно по одному биту. Генератор ключевой последовательности должен выдавать последовательность бит k1, k2, ..., ki, ... Данная ключевая последовательность должна суммироваться по модулю два с последовательностью бит исходного текста р1, р2 ..., pi, …, для того чтобы получить шифрованный текст:

c$i = рi ^⊕ ki.$

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

$ci ^⊕ ki = pi ^⊕ ki ^⊕ ki = pi$

Уровень стойкости системы полностью определяется внутренней структурой генератора ключевой последовательности. Когда генератор может выдавать последовательность с небольшим периодом, то уровень стойкости системы будет небольшим. И напротив, когда генератор может выдавать бесконечную последовательность реально случайных бит, то получается «лента однократного использования» с идеальным уровнем стойкости.

Потоковые шифры

Реальный уровень стойкости потоковых шифров расположен где-то в середине между стойкостью обычной моно алфавитной подстановки и стойкостью «ленты однократного использования». Генератор ключевой последовательности может выдавать поток битов, который кажется случайным, но в реальности может считаться детерминированным и его можно точно воспроизвести на принимающей стороне. Но чем больше генерируемый поток имеет схожесть со случайным потоком, тем больше усилий придется приложить криптоаналитику, для того чтобы взломать шифр.

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

«Потоковые шифры» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

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

В 1946-ом году в Соединенных Штатах запатентовали базовую идею так называемых самосинхронизирующихся потоковых шифров или шифрования с автоматическим ключом CTAK (Cipher-Text Auto Key). Она состоит в том, что внутреннее состояние генератора выступает как функция фиксированного количества предшествующих битов зашифрованного текста. Поскольку внутреннее состояние имеет зависимость только от n бит зашифрованного текста, то генератор на принимающей стороне может войти в синхронизм с передающей стороной только после приема п бит.

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

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

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

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

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 20.04.2023
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

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

Перейти в Telegram Bot