Similar presentations:
Технологии и Методы программирования
1.
Астраханский государственный технический университетКурсовой проект
по дисциплине «Технологии и Методы программирования»
на тему:
Алгоритм шифрования AES
Выполнил
ДИБББ-22
студент гр.
Ступин А.О.
Руководитель
ст.преп.
2.
Постановка задачи• Разработка программного продукта, который:
• реализует алгоритм шифрования AES;
• реализует алгоритм дешифрования AES.
3.
Введение• В современном мире безопасность — это
наиглавнейшая проблема информационного мира.
• Если раньше можно было достаточно легко спрятать
необходимую информацию, то с появлением более
развитых систем связи, с появлением и развитием
Интернета, с превращением мира в
информационное сообщество, нельзя быть
уверенным в безопасности каждого бита
информации.
4.
Криптография• Криптография — наука о
методах обеспечения
конфиденциальности,
целостности данных,
аутентификации, шифрования.
• В современном мире
криптография может
предложить множество
различных алгоритмов
шифрования.
md2/4/5/6
Sha-1/2
Haval
Rijndael(AES)
DES
DFC
RC4
RC5
RSA
DSA
Rabin
Elgamal
ГОСТ 28147-89
…
5.
Классификация алгоритмов6.
AES-128• AES (он же Rijndael) –
современный
симметричный алгоритм
блочного шифрования,
принятый в качестве
стандарта шифрования
правительством США по
результатам конкурса AES.
Виды AES:
• AES-128
• AES-192
• AES-256
Цифровое обозначение
соответствует длине применяемого
ключа, выраженной в битах.
7.
Операции в алгоритме«Получить расписание ключей»
(GetKeyExpansion).
начало
четыре столбца (слова) основного
ключа перенести в первые четыре
слова расширенного ключа;
делать 40 раз
произвести циклическую
перестановку байта исходного
слова;
заменить байты слова в
соответствии с S-box;
сложить слово и столбец матрицы
Rcon;
кц
конец
«Сложить блок с раундовым ключом»
(AddRoundKey)
8.
«Умножить нафиксированную
матрицу» (MixColums)
«Заменить байты блока в
соответствии с S-box» (SubBytes)
9.
Шифрованиеначало
получить «расписание» ключей;
сложить блок и ключ0;
делать 9 раз
заменить байты блока в соответствии с S-box;
сдвинуть i-тую строку на i позиций влево;
умножить на фиксированную матрицу;
сложить блок и ключN;
кц
заменить байты блока в соответствии с S-box;
сдвинуть i-тую строку на i позиций влево;
сложить блок и ключ10;
конец
10.
Дешифрованиеначало
сложить блок и ключ11;
делать 9 раз
сдвинуть i-тую строку на i позиций вправо;
заменить байты блока в соответствии с
Inverse-S-box;
сложить блок и ключN;
умножить на матрицу обратную в
MixColums;
кц
сдвинуть i-тую строку на i позиций вправо;
заменить байты блока в соответствии с
Inverse-S-box;
сложить блок и ключ0;
конец
11.
Входные и выходные данныеВходные данные:
• 128-битный ключ шифрования в 16-тиричном формате
(введенный, случайно сгенерированный или
загруженный файлом);
• информация, предназначенная для
шифрования/дешифрования, в виде файла.
Выходные данные:
• зашифрованный/дешифрованный файл
• ключ (в случае его сохранения)
12.
Системные требованияРекомендуемая конфигурация:
• Intel-совместимый процессор с частотой не менее 1,6
ГГц;
• не менее 512 МБ ОЗУ;
• не менее 20 MБ свободного места на диске;
• дисковод CD-ROM/DVD-ROM.
• Операционная система: Windows 10. Среда
разработки – IntelliJ IDEA Community Edition 2021.2.2.
13.
Заключение• В результате курсового проектирования разработана
программа, реализующая криптографический
алгоритм AES-128.
Программа отвечает
поставленным
требованиям и может
быть использована для
обеспечения
безопасности файлов
на компьютере.