Алгоритм RC4
Шифрование как процесс преобразования оригинального сообщения в шифрованный текст – строку, которая представляется случайным набором символов. Алгоритм RC4 как потоковый шифр, применяющийся в различных системах защиты информации в компьютерных сетях.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 04.05.2012 |
Размер файла | 74,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
Шифрование есть процесс преобразования оригинального сообщения (часто именуемого открытым текстом) в шифрованный текст - строку, которая представляется случайным набором символов. Прочитать зашифрованное сообщение может только тот, кто знает, как привести шифрованный текст в исходное состояние (т.е. расшифровать его).
RC4 - это потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях (например, в протоколе SSL и для шифрования паролей в Windows NT). Шифр разработан компанией RSA Security Inc. и для его использования требуется лицензия. Автором RC4 является Рональд Ривест (Ronald Rivest). RC расшифровывается как Ron's Code или Rivest's Cipher. До 1995 года программный код RC4 нигде не публиковался.
Алгоритм RC4 строится как и любой потоковый шифр на основе параметризованного ключом генератора псевдослучайных битов с равномерным распределением. Основные преимущества шифра - высокая скорость работы и переменный размер ключа.
1. Задание к расчетно-графической работе
Используя поточный алгоритм RC4 выработать числа для псевдослучайной последовательности. Для исходных данных взять: n=3, L?2. Параметр К взять по № списка в журнале (K=4)
2. Выполнение расчетно-графической работы
2.1 Алгоритм RC4
шифр преобразование компьютерный сеть
RC4 - это потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях (например, в протоколе SSL и для шифрования паролей в Windows NT). Шифр разработан компанией RSA Security Inc. и для его использования требуется лицензия. Автором RC4 является Рональд Ривест (Ronald Rivest). RC расшифровывается как Ron's Code или Rivest's Cipher. До 1995 года программный код RC4 нигде не публиковался.
Алгоритм RC4 строится как и любой потоковый шифр на основе параметризованного ключом генератора псевдослучайных битов с равномерным распределением. Основные преимущества шифра - высокая скорость работы и переменный размер ключа.
Рисунок 1 - Генератор ключевого потока RC4
Ядро алгоритма состоит из функции генерации ключевого потока. Эта функция генерирует последовательность битов, которая затем объединяется с открытым текстом посредством суммирования по модулю два. Расшифровка состоит из регенерации этого ключевого потока и суммирования его с шифрограммой по модулю два, восстанавливая исходный текст. Другая главная часть алгоритма - функция инициализации, которая использует ключ переменной длины для создания начального состояния генератора ключевого потока.
RC4 - фактически класс алгоритмов, определяемых размером его блока. Этот параметр n является размером слова для алгоритма. Обычно, n = 8, но в целях анализа можно уменьшить его. Однако для повышения безопасности необходимо увеличить эту величину. Внутреннее состояние RC4 состоит из массива размером 2n слов и двух счетчиков, каждый размером в одно слово. Массив известен как S-бокс, и далее будет обозначаться как S. Он всегда содержит перестановку 2n возможных значений слова. Два счетчика обозначены через i и j.
Алгоритм инициализации RC4 приведен ниже. Этот алгоритм использует ключ, сохраненный в Key, и имеющий длину l байт. Инициализация начинается с заполнения массива S, далее этот массив перемешивается путем перестановок определяемых ключом. Так как только одно действие выполняется над S, то должно выполняться утверждение, что S всегда содержит все значения кодового слова.
Начальное заполнение массива:
for i = 0 to 2n ? 1
S[i] = i
Скремблирование:
j = 0
for i = 0 to 2n ? 1
j=(j+S[i]+Key[imodl]) mod2n
Перестановка (S[i], S[j])
Генератор ключевого потока RC4 переставляет значения, хранящиеся в S, и каждый раз выбирает различное значение из S в качестве результата. В одном цикле RC4 определяется одно n-битное слово K из ключевого потока, которое в последующем суммируется с исходным текстом для получения зашифрованного текста.
Инициализация:
i = 0
j = 0
Цикл генерации:
i = (i + 1) mod 2n
j = (j + S[i]) mod 2n
Перестановка (S[i], S[j])
Результат: K = S[(S[i] + S[j]) mod 2n]
2.2 Расчетная часть
Начальная установка генератора
j=0 |
S=(0, 1, 2, 3, 4, 5, 6, 7) |
||
i=0; |
j=(0+0+0) mod8=0 |
||
S0-S0 |
S=(0, 1, 2, 3, 4, 5, 6, 7) |
||
i=1; |
j=(0+1+4) mod8=5 |
||
S5-S1 |
S=(0, 5, 2, 3, 4, 1, 6, 7) |
||
i=2; |
j=(5+2+0) mod8=7 |
||
S7-S2 |
S=(0, 5, 7, 3, 4, 1, 6, 2) |
||
i=3; |
j=(7+3+4) mod8=6 |
||
S6-S3 |
S=(0, 5, 7, 6, 4, 1, 3, 2) |
||
i=4; |
j=(6+4+0) mod8=2 |
||
S2-S4 |
S=(0, 5, 4, 6, 7, 1, 3, 2) |
||
i=5; |
j=(2+1+4) mod8=7 |
||
S7-S5 |
S=(0, 5, 4, 6, 7, 2, 3, 1) |
||
i=6; |
j=(7+3+0) mod8=2 |
||
S2-S6 |
S=(0, 5, 3, 6, 7, 2, 4, 1) |
||
i=7; |
j=(2+1+4) mod8=7 |
||
S7-S7 |
S=(0, 5, 3, 6, 7, 2, 4, 1) |
Выработка случайных чисел псевдослучайной последовательности
i=1; |
j=(0+5) mod8=5 |
||||
S5-S1 |
S=(0, 2, 3, 6, 7, 5, 4, 1) |
t=(5+2) mod8=1 |
z=2 |
||
i=2; |
j=(5+3) mod8=0 |
||||
S0-S2 |
S=(3, 2, 0, 6, 7, 5, 4, 1) |
t=(0+3) mod8=3 |
z=6 |
||
i=3; |
j=(0+6) mod8=6 |
||||
S6-S3 |
S=(3, 2, 0, 4, 7, 5, 6, 1) |
t=(6+4) mod8=2 |
z=0 |
||
i=4; |
j=(6+7) mod8=5 |
||||
S5-S4 |
S=(3, 2, 0, 4, 5, 7, 6, 1) |
t=(7+5) mod8=4 |
z=5 |
||
i=5; |
j=(5+7) mod8=4 |
||||
S4-S5 |
S=(3, 2, 0, 4, 7, 5, 6, 1) |
t=(5+7) mod8=4 |
z=7 |
||
i=6; |
j=(4+6) mod8=2 |
||||
S2-S6 |
S=(3, 2, 6, 4, 7, 5, 0, 1) |
t=(0+6) mod8=6 |
z=0 |
||
i=7; |
j=(2+1) mod8=3 |
||||
S3-S7 |
S=(3, 2, 6, 1, 7, 5, 0, 4) |
t=(4+1) mod8=5 |
z=5 |
z = (2, 6, 0, 5, 7, 0, 5)
В двоичном коде:
z = (010 110 000 101 111 000 101)
Заключение
При осуществлении шифрования по алгоритму RC4 получена последовательность (зашифрованный текст):
z = (2, 6, 0, 5, 7, 0, 5)
В двоичном виде:
z = (010 110 000 101 111 000 101)
Размещено на Allbest.ru
Подобные документы
История возникновения криптографии. Открытый ключ криптосистемы. Шифрование секреторного ключа. Математические методы обеспечения конфиденциальности и аутентичности информации. Преобразование текста на основе секретного алгоритма в шифрованный текст.
презентация [260,8 K], добавлен 11.10.2015Криптографические методы обеспечения конфиденциальности, невозможности прочтения информации посторонним. Современные методы шифрования информации как обратимого преобразования открытого текста в шифрованный на основе секретного алгоритма или ключа.
презентация [514,3 K], добавлен 06.02.2016Генератор псевдослучайной последовательности в системах защиты информации. Шифрование мультимедийных данных. Вероятностное шифрование и алгоритм Эль-Гамаля. Основные понятия теории конечных полей. Алгоритм нахождения циклического избыточного кода.
дипломная работа [1,7 M], добавлен 19.07.2013Модифицированный шифр Цезаря. Особенности алгоритмов Энигма и Виженера. Алгоритм рекурсивного вычисления наибольшего общего делителя. Генератор псевдослучайной последовательности. Шифрование мультипликативным ключом. Вычисление первообразного корня.
лабораторная работа [1,0 M], добавлен 04.11.2014Краткая характеристика библиотек: stdio.h, conio.h, string.h, stdafx.h. Шифр Плейфера как подстановка символов из таблицы, основные варианты. Структура программы playfer.exe. Создание таблицы перекодировки. Ввод, шифрование и дешифрование текста.
курсовая работа [216,7 K], добавлен 18.05.2013Необходимость защиты информации. Виды угроз безопасности ИС. Основные направления аппаратной защиты, используемые в автоматизированных информационных технологиях. Криптографические преобразования: шифрование и кодирование. Прямые каналы утечки данных.
курсовая работа [72,1 K], добавлен 22.05.2015Создание библиотеки классов решения задач шифрования и дешифрования потоковой текстовой информации с помощью линейных регистров сдвига. Разработка алгоритмов тестирования полинома на неприводимость и примитивность. Разработка демонстрационных программ.
курсовая работа [223,7 K], добавлен 12.06.2016Хранение важной информации в ненадежных источниках и передача ее по незащищенным каналам связи. Восстановление шифрованных данных. Программа реализующая шифрование текстового массива. Кодирование информации методом Цезаря. Описание алгоритма Атбаш.
курсовая работа [1,1 M], добавлен 18.01.2013Семиуровневая архитектура, основные протоколы и стандарты компьютерных сетей. Виды программных и программно-аппаратных методов защиты: шифрование данных, защита от компьютерных вирусов, несанкционированного доступа, информации при удаленном доступе.
контрольная работа [25,5 K], добавлен 12.07.2014Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.
курсовая работа [101,1 K], добавлен 09.03.2009