Симметричное шифрование и дешифрование
Автор: annasann5 • Январь 13, 2024 • Практическая работа • 4,244 Слов (17 Страниц) • 99 Просмотры
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ[pic 1]
федеральное государственное бюджетное образовательное учреждение высшего образования
«Тольяттинский государственный университет»
(наименование института полностью) |
|
(Наименование учебного структурного подразделения) |
(код и наименование направления подготовки / специальности) |
|
(направленность (профиль) / специализация) |
ПРАКТИЧЕСКИЕ ЗАДАНИЕ
по учебному курсу «Информационная безопасность»
(наименование учебного курса)
Вариант 2 (при наличии)
Обучающегося | С.В. Головачев | |
(И.О. Фамилия) | ||
Группа | ПИбп-1902а | |
Преподаватель | Раченко Т.А. | |
(И.О. Фамилия) |
Тольятти 2023
Практические работы
Практическая работа № 1.
Тема: Симметричное шифрование и дешифрование.
Цель: Научиться кодировать и декодировать информацию симметричным методом.
Сведения, необходимые для выполнения работы:
К методам шифрования с симметричным ключом относятся: методы замены (моноалфавитная, гомофоническая, полигамная и полиалфавитная, например, по матрице Вижинера или модифицированной матрице), методы перестановки (например, по маршрутам Гамильтона или с использованием аппаратных схем), аналитические методы с использованием аналитических преобразований и аддитивные методы гаммирования или с применением генераторов (датчиков) псевдослучайных чисел.
Криптостойкость перечисленных методов шифрования определяется длинной ключа, которая для современных систем должна быть хотя бы 90 бит, но может достигать 1024 бита. Для повышения криптостойкости могут использоваться несколько ключей: зашифрованная с помощью первого ключа информация подвергается шифрованию с помощью второго ключа и т.д.
С этой же целью могут использоваться переменные методы шифрования, когда ключ шифрования используется и для выбора алгоритма шифрования. При симметричном шифровании процесс зашифровывания и расшифровывания использует некоторый секретный ключ.
Обычно реализуются два типа алгоритмов:
• Поточное шифрование (побитовое)
• Блочное шифрование (при шифровании текст предварительно разбивается на блоки, как правило не менее 64 бит).
Примеры симметричного шифрования: ГОСТ 28147-89, НМАС (алгоритм шифрования, использующий хеш-функцию и закрытый ключ),
Blow Fish, НМАС-МD5 (хеш-функция для генерации 128-битной цифровой подписи), IDEA, SHA (хеш-функция для генерации 160- битной цифровой подписи), DES (использует закрытый ключ и случайное число).
Достоинство симметричного шифрования - скорость выполнения преобразований и относительная легкость внесения изменений в алгоритм шифрования, недостаток – ключ известен получателю и отправителю, что создает проблемы при распространении ключей и доказательстве подлинности сообщения.
Задание:
1. Изучить симметричные алгоритмы шифрования.
2. Выбрать один из методов симметричного шифрования.
Шифрование:
C++Выделить код | |||
|
Дешифрование:
#include "TwoFish.h"
/********************************Constructor*********************************/
TwoFish::TwoFish(char *key, size_t length){
BYTE *u_key = new BYTE[length];
for (int i=0;i < length; i++){
u_key[i] = (BYTE) key[i];
}
keySchedule(u_key, length);
}
TwoFish::TwoFish(BYTE *key, size_t length){
keySchedule(key, length);
}
/*********************************Destructor*********************************/
...