Математические основы алгоритма
КУРСОВАЯ РАБОТА
по дисциплине: «Математические основы криптологии»
на тему: Общая структура алгоритма Rijndael (AES)
Выполнил студент группы: 09-Б-КЗ1
Власов Константин Александрович
Допущен к защите
Руководитель работы ________________________________________
( подпись ,дата, расшифровка подписи)
Защищена ______________________ Оценка _________________
( дата)
Члены комиссии __________________________________________
__________________________________________
__________________________________________
__________________________________________
( подпись ,дата, расшифровка подписи)
2012 г.
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ
УНИВЕРСИТЕТ
(КубГТУ)
Кафедра компьютерных технологий и информационной безопасности
Факультет ИИТиБ
УТВЕРЖДАЮ
Зав. кафедрой КТиИБ
д-р. техн. наук., проф. Симанков В.С.
«_____» _____________ 2012 г.
ЗАДАНИЕ
на курсовое проектирование
Студенту Власову Константину Александровичу группы 09-Б-КЗ1
факультета ИИТиБ
специальности 090104 Комплексная защита объектов информатизации
Тема работы Общая структура алгоритма Rijndael (AES)
Содержание задания Программная реализация общей структуры алгоритма Rijndael (AES) с длинами ключа 128, 192 и 256 бит_____
Объем работы:
а) пояснительная записка к работе 30 стр.
б) графическая частьлиста формата А1
Рекомендуемая литература: 1) С.Г. Баричев, В.В. Гончаров, Р.Е. Серов, Основы современной криптографии, 2-е издание, Москва, "Горячая линия - Телеком", 2002. 2) Осипенко Л. П., Васильченко А. А. Математические основы криптологии. Методические указания для выполнения курсовой работы. – Краснодар: Изд-во КубГТУ, 2009.
Срок выполнения работы: с ² 11 ² марта по ²__²200_ г.
Срок защиты: ²___²200_ г.
Дата выдачи задания: ²___²200_ г.
Дата сдачи работы на кафедру: ²___²______ 200_ г.
Руководитель работы ________________________
(подпись)
Задание принял студент
(подпись)
Реферат
Курсовая работа: содержит 38 страниц, 5 рисунков, 4 таблицы, 2 приложения.
AES, Rijndael, ПОЛЕ, ШИФРОВАНИЕ, КЛЮЧ, БЛОК, РАУНД, AddRoundKey, расширение ключа, SP-СЕТЬ, АЛГОРИТМ, SubBytes, ShiftRows, S-BOX.
В данной курсовой работе рассмотрен алгоритм шифрования AES (Rijndael). Рассмотрены основные математические операции на полях Галуа. Были разобраны и реализованы процедуры AddRoundKey, SubBytes, ShiftRows, MixColumns, играющие главную роль в работе алгоритма. Изучен принцип расширения ключа (Key Expansion) для увеличения криптостойкости. С помощью полученных знаний AES был реализован в среде программирования C# с помощью Microsoft Visual Studio 2010 в режиме шифрования ECB (ELECTRONIC CODEBOOK) для шифрования и расшифрования текстовой информации.
Содержание
Введение…………………………………………………………………..…….…5
1. Математические основы алгоритма…..…………………………………....….6
1.1 Основные определения и свойства колец и полей...…....…….6
1.2 Основные теоремы колец и полей..............................................7
1.3 Конечное поле.………………………………….……...….…..10
2. Основные определения и процедуры алгоритма…….………...……………11
2.1 Ключ шифра ……………………………………………....…...11
2.2 Блоки данных………...…...........................................................11
2.3 Ключи раундов………………………………….……...….…..11
2.4 AddRoundKey …...………………………...…...........................11
2.5 SubBytes и InvSubBytes…...……………….………...………...11
2.6 Таблицы подстановки S-Box и InvS-Box…………………….12
2.7 Преобразование ShiftRows и InvShiftRows……………...…...13
2.8 Преобразование MixColumns и InvMixColumns..……...……14
2.9 Преобразование SubWord………………….………...………..15
2.10 Преобразование RotWord…………………………………....15
2.11 Round Constant (RCON)……………………………………...15
2.12 Расширение ключа (Key Expansion)………………………...15
3. Общий алгоритм работы AES………………………………………………..16
4. Используемые математические операции…………………………………...17
Заключение……………………………………………………………………….20
Рекомендации по развитию программы.……………………………………….20
Список используемых источников………………………………………….....21
Приложение А. Скриншот программы…………………………………….......22
Приложение Б. Листинг программы……………………………………….......23
Введение
Целью проведения конкурса AES был поиск нового стандарта шифрования на замену таких алгоритмов как DES и IDEA, криптостойкость которых была подвергнута сомнению, а впоследствии и вовсем признали эти алгоритмы ненадежными. В результате проведения конкурса был выбран новый стандарт шифрования Advanced Encryption Standard (AES), также известный как Rijndael — симметричный алгоритм блочного шифрования с переменной длиной блока и переменной длиной ключа. Длина блока и длина ключа могут быть независимо установлены в 128, 192 или 256 бит. Обычно длина блока составляет 128 бит, поэтому в данной работе рассматривался именно этот размер. Алгоритм использует линейно-подстановочные преобразования и состоит из 10, 12 или 14 раундов в зависимости от длины ключа (соответственно 128, 192 и 256 бит). Блок данных, обрабатываемый с использованием алгоритма Rijndael, делится на массивы байтов, и каждая операция шифрования является байт-ориентированной.
Преобразование раунда алгоритма Rijndael не имеет структуру сети Фейстеля, а использует структуру типа SP-сеть (Substitution-Permutation network, подстановочно-перестановочная сеть) — разновидность блочного шифра, предложенная в 1971 году Хорстом Фейстелем. Ппреобразование каждого раунда состоит из четырех различных преобразований, называемых слоями. Каждый слой разрабатывался с учетом противодействия линейному и дифференциальному криптоанализу. В основу каждого слоя положена своя собственная функция.
Алгоритм Rijndael очень хорошо выполняется как в программной, так и в аппаратной реализации в широком диапазоне окружений, имеет небольшие требования к памяти, что делает его пригодным для окружений с ограниченными ресурсами. В этом случае он также демонстрирует отличное выполнение.
Математические основы алгоритма
В основе алгоритма AES лежит математика на полях Галуа .
Поле же образуется из кольца, обладающего некоторыми свойствами, которые рассмотрены ниже.