- •Способы криптографической защиты информации в радиосвязи методические указания
- •090102 “Компьютерная безопасность”, 090105 “Комплексное обеспечение информационной безопасности
- •Введение
- •Шифрование данных в группе симметричных блочных алгоритмов redoc.
- •Теоретическое введение
- •Алгоритм redoc III
- •Алгоритм зашифрования redoc III
- •Создание таблицы ключей
- •Алгоритм расшифрования redoc III
- •Шифрование данных с помощью генератора Геффе.
- •Теоретическое введение
- •Обобщенный генератор Геффе
- •Описание алгоритма решения задачи Решение данной задачи можно разбить на следующие этапы.
- •Хеширование данных с помощью алгоритма md5.
- •Теоретическое введение
- •Присоединение заполняющих (дополнительных) битов
- •Добавление длины
- •Инициализация md буфера
- •Обработка сообщения в блоках по 16 слов
- •Шифрование данных с помощью алгоритма a5.
- •Теоретическое введение
- •Шифр а5/0.
- •Шифр а5/1
- •Шифр а5/2.
- •Шифр а5/3
- •Шифрование данных с помощью алгоритма Blowfish.
- •Теоретическое введение Функциональное преобразование f(X) сети Фейстеля:
- •Алгоритм шифрования 64-битного блока с известным массивом p и f(X)
- •Алгоритм Blowfish
- •Выбор начального значения p-массива и таблицы замен
- •Шифрование данных с помощью алгоритма seal.
- •Теоретическое введение Обозначения.
- •Длина выхода.
- •Отображение ключа в таблицы.
- •Описание функции генерации таблиц.
- •Псевдослучайная функция.
- •Алгоритм seal (отображение 32-битного индекса в l бит).
- •Процедура инициализации seal.
- •Шифрование данных с помощью алгоритма rc2.
- •Теоретическое введение Структура алгоритма
- •Процедура расширения ключа
- •Шифрование данных с помощью алгоритма cast.
- •Теоретическое введение
- •Библиографический список
- •Содержание
- •Способы криптографической защиты
- •090102 “Компьютерная безопасность”, 090105 “Комплексное обеспечение информационной безопасности
- •394026 Воронеж, Московский просп., 14
Создание таблицы ключей
Таблица ключей, используемая в алгоритме шифрования REDOC III, строится на основании секретного ключа и генератора псевдослучайных чисел (ГПСЧ).
Заполнение таблицы осуществляется циклически и состоит из 35 шагов.
На каждом шаге объединяются пары двух символов секретного ключа по порядку в одно 2 байтовой значение, причем одна пара за один шаг. Полученное значение используется для инициализации ГПСЧ.
После того, как ГПСЧ инициализирован, производится циклическое заполнение таблицы ключей, состоящей из 2560 элементов. Каждый последующий элемент является псевдослучайным числом, сгенерированным ГПСЧ. Сгенерированное число записывается по индексу kn, где k – номер шага заполнения, а n – простое число, выбранное из табл.1 по номеру шага создания таблицы ключей.
Таблица 1
1 |
3 |
5 |
7 |
11 |
13 |
17 |
19 |
23 |
29 |
31 |
37 |
41 |
43 |
47 |
53 |
59 |
61 |
67 |
71 |
73 |
79 |
83 |
89 |
97 |
101 |
103 |
107 |
109 |
113 |
127 |
131 |
137 |
139 |
149 |
Алгоритм расшифрования redoc III
Алгоритм расшифрования заключается в последовательном выполнении описанных в алгоритме зашифрования действий.
1) Создать таблицу ключей из 256 10-байтовых ключей, используя секретный ключ.
2) Создать два 10-байтовых блока маски M1 и M2, где M1 представляет собой XOR первых 128 10-байтовых ключей, а M2 - XOR вторых 128 10-байтовых ключей.
3) Для расшифрования 10-байтового блока:
а) Выполнить XOR для десятого байта блока данных и десятого байта M2. Выбрать ключ из таблицы ключей, рассчитанной на 1 этапе, используя вычисленное значение в качестве индекса таблицы. Выполнить XOR каждого, кроме десятого, байта блока данных с соответствующим байтом выбранного ключа.
б) Выполнить XOR для девятого байта блока данных и девятого байта M2. Выбрать ключ из таблицы ключей, рассчитанной на 1 этапе, используя вычисленное значение в качестве индекса таблицы. Выполнить XOR каждого, кроме девятого, байта блока данных с соответствующим байтом выбранного ключа.
в) Продолжать для всего блока данных (для байтов с 8 по 1), пока каждый байт не будет использован для выбора ключа из таблицы после выполнения для него XOR с соответствующим значением M2. Затем выполнить XOR с ключом для каждого, кроме использованного для выбора ключа, байта.
г) Повторить для M1 этапы (а) – (в).
Задание:
Используя алгоритм шифрования данных REDOC, написать программу шифрования и дешифрования произвольного набора символов на любом языке программирования.
Порядок выполнения работы:
написать на языке программирования функцию шифрования, в которую в качестве параметров передается ключ и символ (или строка символов) исходного текста.
написать функцию дешифрования, в которую в качестве параметров передается ключ и символ (или строка символов) зашифрованного текста.
Оформление отчета:
В отчете следует привести краткие теоретические сведения. Кроме того, должны быть представлены: краткая блок-схема, текст программы, шифруемый набор символов, результаты выполнения программы.
Контрольные вопросы:
В чем заключается суть метода шифрования REDOC?
Какой характерной особенностью обладает REDOC III?
Что используется в качестве таблице ключей?
5
ЛАБОРАТОРНАЯ РАБОТА №2