Автор работы: Пользователь скрыл имя, 17 Апреля 2013 в 14:55, контрольная работа
Шифрование есть процесс преобразования оригинального сообщения (часто именуемого открытым текстом) в шифрованный текст – строку, которая представляется случайным набором символов. Прочитать зашифрованное сообщение может только тот, кто знает, как привести шифрованный текст в исходное состояние (т. е. расшифровать его). Математика – ключевое звено любой хорошей криптографической системы. Математические алгоритмы, в соответствии с которыми выполняется шифрование, именуются шифрами.
Введение 3
Задание 1 4
Решение задания 1 6
Заключение 8
Список литературы 9
Содержание
Введение 3
Задание 1 4
Решение задания 1 6
Заключение 8
Список литературы 9
Шифрование есть процесс преобразования оригинального сообщения (часто именуемого открытым текстом) в шифрованный текст – строку, которая представляется случайным набором символов. Прочитать зашифрованное сообщение может только тот, кто знает, как привести шифрованный текст в исходное состояние (т. е. расшифровать его). Математика – ключевое звено любой хорошей криптографической системы. Математические алгоритмы, в соответствии с которыми выполняется шифрование, именуются шифрами.
В криптографии используются математические
функции двух типов: алгоритмы хеширования
и функции, предназначенные для
преобразования данных с помощью
ключа. Когда для преобразования
данных используется алгоритм хеширования,
выполнить этот алгоритм в обратном
порядке и таким образом
RC4 — это потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях.
Одним из наиболее распространенных методов несимметричного шифрования- дешифрования является метод шифрования с открытым ключом, в котором используется алгоритм RSA.
Алгоритм основан на использовании операции возведения в степень модульной арифметики, который был представлен в виде последовательности пунктов.
С развитием
систем электронного перевода денежных
средств, безбумажного способа передачи
и хранения данных, виртуальное подтверждения
аутентичности документа теперь
немыслимо без существования
электронных подписей под электронными
документами. Однако применение и широкое
распространение электронно-
Задание 1
Используя поточный алгоритм RC4 выработать числа для псевдослучайной последовательности. Для исходных данных взять: n=3, L≤3. Параметр К взять по № зачетной книжки (последние 3 цифры), N=020.
Шифрование
— это обратимое преобразование
данных с целью их сокрытия от посторонних.
Методов шифрования было придумано
множество — от шифров простой
замены (наиболее известный пример
— "Пляшущие человечки" Конан
Дойля) до принципиально не вскрываемого
шифра Вернама (двоичное сложение исходного
текста с однократно используемой случайной
последовательностью). Почти все
методы шифрования используют ключ шифрования
— секретную кодовую
Большинство
современных стойких
RC2 и RC4
это блочные шифры с ключом
переменной длины созданные
Соглашение,
заключенное между Software Publishers Association
(SPA) и правительством США дает RC2
и RC4 специальный статус, который
означает, что разрешено экспортировать
шифры длинной ключа до 40 бит.
56-битные ключи разрешено использовать
заграничным отделениям американских
компаний. Однако, несколько мощных
компьютеров, могут перебрать все
возможные у 40-битного ключа 2^40 варианты
всего за неделю. Поэтому дополнительно
могут использоваться строки, называемые
солью (salt), которые сильно мешают при
переборе всех возможных вариантов.
Соль присоединяется к исходному
ключу, и удлиненный ключ используется
для шифрования сообщения, потом
соль посылается с сообщением в не
зашифрованном виде.
RC2 и RC4 с ключами 128 бит обеспечивают такой
же уровень безопасности как и IDEA или тройной
DES. RC2 и RC4 используется широко разработчиками,
чьи продукты экспортируются за пределы
США, поскольку экспортировать DES запрещено.
RC4 — это потоковый шифр, широко применяющийся в различных системах защиты информации в компьютерных сетях (например, в протоколе SSL и для шифрования паролей в Windows NT). Шифр разработан компанией RSA Security Inc. и для его использования требуется лицензия. Автором RC4 является Рональд Ривест (Ronald Rivest). RC расшифровывается как Ron’s Code или Rivest’s Cipher. До 1995 года программный код RC4 нигде не публиковался.
Алгоритм RC4 строится как и любой потоковый шифр на основе параметризованного ключом генератора псевдослучайных битов с равномерным распределением. Основные преимущества шифра — высокая скорость работы и переменный размер ключа. Типичная реализация выполняет 19 машинных команд на каждый байт текста.
В США длина ключа для использования внутри страны рекомендуется равной 128 битов, но соглашение, заключённое между Software Publishers Association (SPA) и правительством США даёт RC4 специальный статус, который означает, что разрешено экспортировать шифры длиной ключа до 40 бит. 56-битные ключи разрешено использовать заграничным отделениям американских компаний.
В 1995 году в ньюс-группе sci.crypt был анонимно опубликован исходный текст алгоритма RC4. По-видимому, данный текст был получен в результате анализа исполняемого кода. Опубликованный шифр совместим с имеющимися продуктами, использующими RC4, а некоторые участники телеконференции, имевшие, по их словам, доступ к исходному коду RC4, подтвердили идентичность алгоритмов при различиях в обозначениях и структуре программы.
Описание алгоритма
Рисунок 1 – Генератор ключевого потока RC4
Ядро алгоритма состоит из функции генерации ключевого потока. Эта функция генерирует последовательность битов, которая затем объединяется с открытым текстом посредством суммирования по модулю два. Расшифровка состоит из регенерации этого ключевого потока и суммирования его с шифрограммой по модулю два, восстанавливая исходный текст. Другая главная часть алгоритма — функция инициализации, которая использует ключ переменной длины для создания начального состояния генератора ключевого потока.
RC4 —
фактически класс алгоритмов, определяемых
размером его блока. Этот
Алгоритм инициализации 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]
Решение задания 1
Дано: n=3, k=029, L≤3 (номер з.к. 12М3029)
Начальная установка генератора:
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+2)mod8=3 |
|
S1↔S3 |
S=(0, 3, 2, 1, 4, 5, 6, 7) | |
i=2; |
j=(3+2+9)mod8=4 |
|
S2↔S4 |
S=(0, 3, 4, 1, 2, 5, 6, 7) | |
i=3; |
j=(4+1+0)mod8=5 |
|
S3↔S5 |
S=(0, 3, 4, 5, 2, 1, 6, 7) | |
i=4; |
j=(5+2+2)mod8=1 |
|
S4↔S1 |
S=(0, 2, 4, 5, 3, 1, 6, 7) | |
i=5; |
j=(1+1+9)mod8=3 |
|
S5↔S3 |
S=(0, 2, 4, 1, 3, 5, 6, 7) | |
i=6; |
j=(3+6+0)mod8=1 |
|
S6↔S1 |
S=(0, 6, 4, 1, 3, 5, 2, 7) | |
i=7; |
j=(1+7+2)mod8=2 |
|
S7↔S2 |
S=(0, 6, 7, 1, 3, 5, 2, 4) |
Выработка
случайных чисел
i=1; |
j=(0+6)mod8=6 |
|||
S1↔S6 |
S=(0, 2, 7, 1, 3, 5, 6, 4) |
t=(2+6)mod8=0 |
z1=0 | |
i=2; |
j=(6+7)mod8=5 |
|||
S2↔S5 |
S=(0, 2, 5, 1, 3, 7, 6, 4) |
t=(5+7)mod8=4 |
z2=3 | |
i=3; |
j=(5+1)mod8=6 |
|||
S3↔S6 |
S=(0, 2, 5, 6, 3, 7, 1, 4) |
t=(6+1)mod8=7 |
z3=4 | |
i=4; |
j=(6+3)mod8=1 |
|||
S4↔S1 |
S=(0, 3, 5, 6, 2, 7, 1, 4) |
t=(3+2)mod8=5 |
z4=7 | |
i=5; |
j=(1+7)mod8=0 |
|||
S5↔S0 |
S=(7, 3, 5, 6, 2, 0, 1, 4) |
t=(7+0)mod8=7 |
z5=4 | |
i=6; |
j=(0+1)mod8=1 |
|||
S6↔S1 |
S=(7, 1, 5, 6, 2, 0, 3, 4) |
t=(3+1)mod8=4 |
z6=2 | |
i=7; |
j=(1+4)mod8=5 |
|||
S7↔S5 |
S=(7, 1, 5, 6, 2, 4, 3, 0) |
t=(4+0)mod8=4 |
z7=2 |
zi = (0, 3, 4, 7, 4, 2, 2)
В двоичном коде:
zi = (000 011 100 111 100 010 010)
Заключение
Используя поточный алгоритм RC4, выработали числа для псевдослучайной последовательности, которые в двоичном коде представляются в виде zi = (000 011 100 111 100 010 010).
Список литературы
1 А.С. Байкенов. Технические средства защиты информации в телекоммуникационных системах для магистрантов специальности 6N0719 -Радиотехника, электроника и телекоммуникации (профильная магистратура) - Алматы: АИЭС, 2009 – 17 с.
2 Б.Я Рябко, А.Н. Фионов Криптографические методы защиты vнформации: Учебное пособие для ВУЗов.-М.:Горячая линия – Телеком, 2005. – 229с.