Потоковые шифры представляют собой разновидность гаммирова-ния и преобразуют открытый текст в шифрованный последовательно по 1 биту. Генератор ключевой последовательности, иногда называемый генератором бегущего ключа, выдает последовательность бит к1, к2, ..., кi, ... Эта ключевая последовательность складывается по модулю 2 (операция XOR) с последовательностью бит исходного текста р1, р2, ..., pi, ... для получения шифрованного текста:
На приемной стороне шифрованный текст складывается по модулю 2 с идентичной ключевой последовательностью для получения исходного текста:
Генерация кодирующей последовательности бит производится циклически из небольшого начального объема информации – ключа по следующему алгоритму. Из текущего набора бит выбираются значения определенных разрядов и складываются по XOR между собой. Все разряды сдвигаются на 1 бит, а только что полученное значение ("0" или "1") помещается в освободившийся самый младший разряд. Значение, находившееся в самом старшем разряде до сдвига, добавляется в кодирующую последовательность, становясь очередным ее битом (см. рис.1).
Из теории передачи данных криптография заимствовала для записи подобных схем двоичную систему записи. По ней изображенный на рисунке скремблер записывается комбинацией "100112" – единицы соответствуют разрядам, с которых снимаются биты для формирования обратной связи.
Рассмотрим пример кодирования информационной последова-тельности 0101112 скремблером 1012 с начальным ключом 1102.
Стойкость системы целиком зависит от внутренней структуры генератора ключевой последовательности. Если генератор выдает по-следовательность с небольшим периодом, то стойкость системы будет невелика. Напротив, если генератор будет выдавать бесконечную последовательность истинно случайных (не псевдослучайных!) бит, то мы получим одноразовый блокнот с идеальной стойкостью.
Реальная стойкость потоковых шифров лежит где-то посредине между стойкостью простой моноалфавитной подстановки и однора-зового блокнота. Генератор ключевой последовательности выдает поток битов, который выглядит случайным, но в действительности является детерминированным и может быть в точности воспроизведен на приемной стороне. Чем больше генерируемый поток похож на случайный, тем больше усилий потребуется от криптоаналитика для взлома шифра.
Однако, если каждый раз при включении генератор будет выдавать одну и ту же последовательность, то взлом криптосистемы будет три-виальной задачей. Перехватив два шифрованных текста, злоумышленник может сложить их по модулю 2 и получить два исходных текста, сложенных также по модулю 2. Такую систему раскрыть очень просто. Если же в руках противника окажется пара исходный текст - шифрованный текст, задача вообще становится тривиальной. Отдохнуть от шифров можно тут - http://demo.russiancasino.com/games/slot/rus.html.
По этой причине все потоковые шифры предусматривают исполь-зование ключа. Выход генератора ключевой последовательности зависит от этого ключа. В этом случае простой криптоанализ будет невозможен.
Потоковые шифры наиболее пригодны для шифрования непрерывных потоков данных, например, в сетях передачи данных. В настоящее время данный вид шифров часто реализуется аппаратно. Широкое применение потоковые шифры наши в средствах связи.
Опубликовал Kest
November 29 2011 19:57:56 ·
0 Комментариев ·
11861 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.