Автор работы: Пользователь скрыл имя, 28 Декабря 2011 в 17:06, реферат
Основная идея поточного шифрования состоит в том, что каждый из последовательных знаков открытого текста подвергается своему преобразованию. В идеале разные знаки открытого текста подвергаются разным преобразованиям, т.о. преобразование, которому подвергаются знаки открытого текста, должно изменяться с каждым следующим моментом времени. Реализуется эта идея следующим образом. Некоторым образом получается последовательность знаков k1, k2, … , называемая ключевым потоком (keystream) или бегущим ключом (running key, RK). Затем каждый знак xi открытого текста подвергается обратимому преобразованию, зависящему от ki – соответствующего знака ключевого потока.
Введение 2
Классификация поточных шифров 3
Отличие блочных шифров от поточных 4
Основные Виды шифров 6
SEAL 6
A3 8
A5 10
RC4(подробно) 12
Содержание
Введение 2
Классификация поточных шифров 3
Отличие блочных шифров от поточных 4
Основные Виды шифров 6
SEAL 6
A3 8
A5 10
RC4(подробно) 12
Основная идея поточного шифрования состоит в том, что каждый из последовательных знаков открытого текста подвергается своему преобразованию. В идеале разные знаки открытого текста подвергаются разным преобразованиям, т.о. преобразование, которому подвергаются знаки открытого текста, должно изменяться с каждым следующим моментом времени. Реализуется эта идея следующим образом. Некоторым образом получается последовательность знаков k1, k2, … , называемая ключевым потоком (keystream) или бегущим ключом (running key, RK). Затем каждый знак xi открытого текста подвергается обратимому преобразованию, зависящему от ki – соответствующего знака ключевого потока. Хотя подавляющее большинство существующих шифров с секретным ключом с определенностью могут быть отнесены или к поточным или к блочным шифрам, теоретически граница между этими классами остается довольно размытой. Так, например, допускается использование алгоритмов блочного шифрования в режиме поточного шифрования (например, режимы CBF и OFB для алгоритма DES или режим гаммирования для алгоритма ГОСТ 28147-89). Как крайний случай любой блочный шифр можно рассматривать как подстановочный поточный шифр, использующий знаки алфавита большой мощности. Например, алгоритмы DES и ГОСТ 28147-89 – подстановочные шифры над алфавитом мощности 264 ~ 1,8·1019. Кроме того, известны поточные шифры, построенные на основе криптографических алгоритмов с открытым ключом.
Поточные шифры
Блочный алгоритм предназначен для шифрования блоков определенной длины. Однако может возникнуть необходимость шифрования данных не блоками, а, например, по символам. Поточный шифр (stream cipher) выполняет преобразование входного сообщения по одному биту (или байту) за операцию. Поточный алгоритм шифрования устраняет необходимость разбивать сообщение на целое число блоков достаточно большой длины, следовательно, он может работать в реальном времени. Таким образом, если передается поток символов, каждый символ может шифроваться и передаваться сразу.
Работа типичного поточного шифра представлена на рис.
Принцип работы поточного шифра
Генератор ключей выдает поток битов ki, которые будут использоваться в качестве гаммы. Источник сообщений генерирует биты открытого текста хi, которые складываются по модулю 2 с гаммой, в результате чего получаются биты зашифрованного сообщения уi:
Чтобы из шифротекста y1, y2,..., yn восстановить сообщение x1, x2,..., xn, необходимо сгенерировать точно такую же ключевую последовательность k1, yk,..., kn, что и при шифровании, и использовать для расшифрования формулу
Обычно исходное
сообщение и ключевая последовательность
представляют собой независимые
потоки бит. Таким образом, так как
шифрующее (и расшифрующее) преобразование
для всех поточных шифров одно и
то же, они должны различаться только
способом построения генераторов ключей.
Получается, что безопасность системы
полностью зависит от свойств
генератора потока ключей. Если генератор
потока ключей выдает последовательность,
состоящую только из одних нулей
(или из одних единиц), то зашифрованное
сообщение будет в точности таким
же, как и исходный поток битов
(в случае единичных ключей зашифрованное
сообщение будет инверсией
Классификация поточных шифров
Допустим, например,
что в режиме гаммирования для
поточных шифров при передаче по каналу
связи произошло искажение
Определение:
Синхронные поточные шифры (СПШ) — шифры, в которых поток ключей генерируется независимо от открытого текста и шифротекста.
При шифровании
генератор потока ключей выдаёт биты
потока ключей, которые идентичны
битам потока ключей при дешифровании.
Потеря знака шифротекста приведёт
к нарушению синхронизации
Обычно синхронизация
производится вставкой в передаваемое
сообщение специальных
Заметим, что
выполняться синхронизация
Плюсы СПШ:
Минусы СПШ:
Определение:
Самосинхронизирующиеся поточные шифры (асинхронные поточные шифры (АПШ)) – шифры, в которых поток ключей создаётся функцией ключа и фиксированного числа знаков шифротекста.
Итак, внутреннее состояние генератора потока ключей является функцией предыдущих N битов шифротекста. Поэтому расшифрующий генератор потока ключей, приняв N битов, автоматически синхронизируется с шифрующим генератором.
Реализация этого режима происходит следующим образом: каждое сообщение начинается случайным заголовком длиной N битов; заголовок шифруется, передаётся и расшифровывается; расшифровка является неправильной, зато после этих N бит оба генератора будут синхронизированы.
Плюсы АПШ:
Минусы АПШ:
Основные отличия поточных шифров от блочных
Большинство существующих шифров с секретным ключом однозначно могут быть отнесены либо к поточным, либо к блочным шифрам. Но теоретическая граница между ними является довольно размытой. Например, используются алгоритмы блочного шифрования в режиме поточного шифрования (пример: для алгоритма DES режимы CFB и OFB). Рассмотрим основные различия между поточными и блочными шифрами не только в аспектах их безопасности и удобства, но и с точки зрения их изучения в мире:
Теперь о положении в мире:
Проектирование поточных шифров
Согласно Райнеру Рюппелю можно выделить четыре основных подхода к проектированию поточных шифров:
Виды шифров:
Основными видами поточных шифров являются:
SEAL (англ. Software-optimized Encryption Algorithm, программно-оптимизированный алгоритм шифрования) — симметричный поточный алгоритм шифрования данных, оптимизированный для программной реализации.
Разработан в IBM Филом Рогэвеем и Доном Копперсмитом в 1993 году. Алгоритм оптимизирован и рекомендован для 32-битных процессоров. Для работы ему требуется кэш-память на несколько килобайт и восемь 32-битовых регистров. Cкорость шифрования — примерно 4 машинных такта на байт текста. Для кодирования и декодирования используется 160-битный ключ. Чтобы избежать нежелательной потери скорости по причине медленных операций обработки ключа, SEAL предварительно выполняет с ним несколько преобразований, получая в результате три таблицы определенного размера. Непосредственно для шифрования и расшифрования текста вместо самого ключа используются эти таблицы.
Алгоритм считается
очень надёжным, очень быстрым
и защищён патентом США № 545403 с декабря
1993 года.
Схема алгоритма SEAL