Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчет_Лаба4-5_ЗИ_Алексеева Ишкинин

.doc
Скачиваний:
6
Добавлен:
25.11.2022
Размер:
9.07 Mб
Скачать

Уфимский государственный авиационный технический университет

ОТЧЕТ по лабораторной работе №4-5

по дисциплине:

«Защита информации»

на тему:

«СЕМЕЙСТВО АЛГОРИТМОВ RC»

Выполнили: бакалавры гр. ПРО-323

Алексеева А.В., Ишкинин Р. А.

Проверил: Узбекова Лилия Явгаровна

Содержание

Содержание 2

Алгоритм RC2 3

1 шаг. 3

2 шаг 4

3 шаг 6

4 шаг 7

Алгоритм RC4 9

1 шаг. 9

2 шаг 10

3 шаг 13

4 шаг 13

RC2 и RC4 15

  1. Цель работы

Освоение принципа работы и различий в версиях алгоритма RC, приобретение практических навыков шифрования данных при помощи данных алгоритма в программном пакете CrypTool 1.4.30.

  1. Ход работы

Алгоритм RC2

1 шаг.

Создание документа и зашифровка информации

Рисунок 1 Создание документа

Рисунок 2 Ввод ключа

Рисунок 3 Зашифрованная информация

2 шаг

Анализ зашифрованного документа

Правильный ключ:

Частично правильный ключ:

Неправильный ключ:

Пустой ключ:

3 шаг

Расшифровка

Неправильный ключ:

Правильный ключ:

Рисунок 4 Вывод расшифрованного сообщения

4 шаг

Зашифровка файла простым ключом

Рисунок 5 Ввод ключа

Рисунок 6 Зашифрованная информация

Рисунок 7 Результаты анализа

Рисунок 8 Расшифровка правильным ключом

Рисунок 9 Расшифровка неправильным ключом

Алгоритм RC4

1 шаг.

Создание документа и зашифровка информации

Рисунок 10 Создание документа

Рисунок 11 Ввод ключа

Рисунок 12 Зашифрованная информация

2 шаг

Анализ зашифрованного документа

Правильный ключ:

Частично правильный ключ:

Неправильный ключ:

Пустой ключ:

3 шаг

Расшифровка

Неправильный ключ:

Правильный ключ:

Рисунок 13 Вывод расшифрованного сообщения

4 шаг

Зашифровка файла простым ключом

Рисунок 14 Ввод ключа

Рисунок 15 Зашифрованная информация

Рисунок 16 Результаты анализа

Рисунок 17 Расшифровка правильным ключом

Рисунок 18 Расшифровка неправильным ключом

RC2 и RC4

Расшифровка RC4-сообщения алгоритмом RC2:

Рисунок 19 Ввод правильного ключа, но в алгоритме RC2

Рисунок 20 Результат попытки расшифровки

Расшифровка RC2-сообщения алгоритмом RC4:

Рисунок 21 Ввод правильного ключа, но в алгоритме RC4

Рисунок 22 Результат попытки расшифровки

3. Ответы на контрольные вопросы

Контрольные вопросы

1. Что такое сеть Фейстеля? Какие действия выполняются в ходе данного алгоритма?

Сеть Фе́йстеля — один из методов построения блочных шифров. Сеть состоит из ячеек, называемых ячейками Фейстеля. На вход каждой ячейки поступают данные и ключ. На выходе каждой ячейки получают изменённые данные и изменённый ключ. Все ячейки однотипны, и говорят, что сеть представляет собой определённую многократно повторяющуюся (итерированную) структуру. Ключ выбирается в зависимости от алгоритма шифрования/расшифрования и меняется при переходе от одной ячейки к другой. При шифровании и расшифровании выполняются одни и те же операции; отличается только порядок ключей. Ввиду простоты операций сеть Фейстеля легко реализовать как программно, так и аппаратно. Большинство современных блочных шифров (DES, RC2, RC5, RC6, Blowfish, FEAL, CAST-128, TEA, XTEA, XXTEA и др.) использует сеть Фейстеля в качестве основы. Альтернативой сети Фейстеля является подстановочно-перестановочная сеть (AES и др.).

В нем выполняется 18 раундов преобразований. Причем раунды алгоритма делятся на 2 типа: смешивающие (mix) раунды и объединяющие (mesh) раунды. Общая

структура алгоритма такова:

1. Выполняется 5 смешивающих раундов.

2. Выполняется 1 объединяющий раунд.

3. Выполняются 6 смешивающих раундов.

4. Выполняется 1 объединяющий раунд.

5. Выполняется 5 смешивающих раундов.

2. В чем состоит отличие работы алгоритмов RC2, RC4, RC5, RC6? Пояснить отличия работы алгоритмов RC2 и RC4 на примере отчета.

Алгоритм RC2 шифрует данные блоками по 64 бита с использованием ключей переменного размера: от 8 до 1024 битов исключительно; рекомендуемым размером ключа является 64 бита.

RC4 представляет собой потоковый шифр с переменной длиной ключа. Описывается шифр очень просто. Алгоритм работает в режиме OFB. Ключевая последовательность не зависит от исходного текста. Структура алгоритма включает блок замены размерностью 8x8: . Блок замены представляет собой зависимую от ключа переменной длины перестановку чисел 0,..., 255.

Возможно обобщение алгоритма на большие длину слова и размер блока замены. Так, можно построить шифр с блоком замены размерностью 16x16 (потребуется 128 Кбайт памяти) и длиной слова 16 бит. Этап инициализации будет значительно медленнее, необходим цикл до 65535, если мы хотим в точности следовать конструкции, но получившийся в результате алгоритм будет более быстрым.

Алгоритм RC5 разработан известнейшим криптологом Рональдом Ривестом - одним из разработчиков асимметричной системы RSA. Аналогично предыдущим алгоритмам шифрования Рона Ривеста RC2 и RC4 (является потоковым шифром), алгоритм RC5 получил весьма широкое распространение.

На преобразованиях, используемых в RC5, основана последующая разработка компании RSA - алгоритм RC6, который стал финалистом конкурса AES по выбору нового стандарта шифрования США.

Алгоритм RC6 во многом унаследовал черты предыдущего алгоритма Рональда Ривеста - 64-битного блочного шифра RC5. Фактически алгоритм претерпел два принципиальных изменения:

• в отличие от RC5, в алгоритме используется умножение только по модулю 232;

• для сохранения 32-битных вычислений вместо разбиения шифруемого блока данных (128 битов согласно принципиальному требованию конкурса AES) на два 64-битных

субблока выполняется его разбиение на 4 32-битных субблока и их обработка по несколько измененной схеме.

3. Объясните, как работают варианты алгоритма RC5, чем они отличаются от самого алгоритма RC5?

Структура алгоритма RC5, несмотря на свою простоту, представлялась многим криптологам как поле для возможных усовершенствований. Соответственно, появилось множество известных вариантов алгоритма RC5, в которых преобразования в «пол-раундах» классического RC5 несколько изменены:

1. Алгоритм RC5XOR, в котором сложение с ключом раунда по модулю 2w заменено операцией XOR (рис. 46):

Данный алгоритм оказался менее стоек, чем RC5, как к линейному, так и к дифференциальному криптоанализу.

2. Алгоритм RC5P, в котором сложение левого и правого обрабатываемых субблоков операцией XOR заменено сложением по модулю 2w (рис. 4):

Алгоритм оказался так же стоек, как и RC5, против линейного криптоанализа, но значительно слабее против дифференциального.

Рис. 46. Раунды алгоритмов RC5XOR и RС5Р

3. Алгоритм RC5PFR, отличающийся от RC5 циклическим сдвигом на фиксированное, а не переменное число битов (рис. 47):

где - число битов циклического сдвига, которое может быть различным в различных раундах алгоритма; в этом случае последовательность является дополнительным параметром алгоритма.

Данный вариант алгоритма RC5 не является хорошо изученным, однако эксперты предполагают, что алгоритм RC5PFR нестоек против дифференциального криптоанализа.

4. Алгоритм RC5KFR, в котором число битов сдвига является функцией ключа шифрования КС, т.е. для каждого ключа шифрования число битов сдвига является фиксированным (может быть различным для разных раундов алгоритма) (рис. 5):

Алгоритм RC5KFR также не является хорошо изученным алгоритмом, однако считается, что во многих случаях (особенно при недостаточно большом количестве раундов) криптоанализ данного варианта алгоритма RC5 сводится к анализу алгоритма RC5PFR, что не внушает уверенности в его стойкости.

Алгоритм RC5RA, в котором выполняется циклический сдвиг на переменное число битов, определяемое не значением младших log2w битов другого субблока, а некоей функцией f(), обрабатывающей в качестве входного значения все биты другого субблока:

И этот вариант алгоритма еще недостаточно изучен, но существует мнение, что алгоритм RC5RA может быть еще сильнее, чем RC5, против известных методов криптоанализа.

На основе алгоритма RC5 в 1998 г. был разработан алгоритм RC6, который также основан на циклических сдвигах на переменное число битов. Подавляющее большинство криптоаналитических исследований алгоритма RC5 могут быть в различной мере применены и к RC6.

Как выполняется процедура расширения ключа во всех вышеперечисленных алгоритмах?

Перед непосредственно шифрованием или расшифрованием данных выполняется процедура расширения ключа. Процедура генерации ключа состоит из четырёх этапов:

· Генерация констант

· Разбиение ключа на слова

· Построение таблицы расширенных ключей

· Перемешивание

Выводы

Освоили принцип работы алгоритма AES и приобрели практические навыки шифрования данных при помощи данного алгоритма в программном пакете CrypTool 1.4.30.

Уфа – 2021