Интернет магазин китайских планшетных компьютеров |
|
Компьютеры - RC4 - Описание алгоритма14 июня 2011Оглавление: 1. RC4 2. Описание алгоритма 3. Безопасность 4. Реализация Ядро алгоритма состоит из функции генерации ключевого потока. Эта функция генерирует последовательность битов, которая затем объединяется с открытым текстом посредством суммирования по модулю два. Так получается шифрограмма: . Расшифровка заключается в регенерации этого ключевого потока и сложении его и шифрограммы по модулю два. В силу свойств суммирования по модулю два на выходе мы получим исходный незашифрованный текст: Другая главная часть алгоритма функция инициализации, которая использует ключ переменной длины для создания начального состояния генератора ключевого потока. RC4 фактически класс алгоритмов, определяемых размером его блока. Этот параметр n является размером слова для алгоритма. Обычно, n = 8, но в целях анализа можно уменьшить его. Однако для повышения безопасности необходимо увеличить эту величину. Внутреннее состояние RC4 представляется в виде массива слов размером 2 и двух счетчиков, каждый размером в одно слово. Массив известен как S-бокс, и далее будет обозначаться как S. Он всегда содержит перестановку 2 возможных значений слова. Два счетчика обозначены через i и j. Алгоритм инициализации RC4 приведен ниже. Этот алгоритм также называется алгоритмом ключевого расписания. Этот алгоритм использует ключ, сохраненный в Key, и имеющий длину L байт. Инициализация начинается с заполнения массива S, далее этот массив перемешивается путем перестановок, определяемых ключом. Так как только одно действие выполняется над S, то должно выполняться утверждение, что S всегда содержит все значения кодового слова. Начальное заполнение массива: for i = 0 to 2 − 1 S = i Скремблирование: j = 0 for i = 0 to 2 − 1 j = mod 2 Генератор ключевого потока RC4 переставляет значения, хранящиеся в S, и каждый раз выбирает различное значение из S в качестве результата. В одном цикле RC4 определяется одно n-битное слово K из ключевого потока, которое в последующем суммируется с исходным текстом для получения зашифрованного текста. Эта часть алгоритма называется генератором псевдослучайной последовательности. Инициализация: i = 0 j = 0 Цикл генерации: i = mod 2 j = mod 2 Перестановка Результат: K = S Просмотров: 4822
|