Файл: Программная реализация криптографических алгоритмов.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 39
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ
МИНИСТЕРСТВО науки и высшего ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное бюджетное образовательное учреждение
высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ»
Кафедра информатики и компьютерных технологий
ПРАКТИЧЕСКАЯ РАБОТА №5
По дисциплине Информационная безопасность и защита информации
(наименование учебной дисциплины согласно учебному плану)
Тема работы: «Программная реализация криптографических алгоритмов»
Выполнил: студент гр. САМ-22 Кутуков Д.И.
(шифр группы) (подпись) (Ф.И.О.)
Оценка:
Дата:
Проверил
руководитель работы: Дагаев А. В.
(должность) (подпись) (Ф.И.О.)
Санкт-Петербург
2023
1. Цель работы
Знакомство с основными методами криптографической зашиты информации.
2. Краткие теоретические сведения
Криптография – обеспечивает сокрытие смысла сообщения с помощью шифрования и открытия его расшифровкой, которые выполняются по специальным алгоритмам с помощью ключей.
Ключ – конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования данных, обеспечивающее выбор только одного варианта из всех возможных для данного алгоритма.
Криптоанализ – занимается вскрытием шифра без знания ключа (проверка устойчивости шифра).
Кодирование – (не относится к криптографии) – система условных обозначений, применяемых при передаче информации. Применяется для увеличения качества передачи информации, сжатия информации и для уменьшения стоимости хранения и передачи.
Криптографические преобразования имеют цель обеспечить недоступность информации для лиц, не имеющих ключа, и поддержание с требуемой надежностью обнаружения несанкционированных искажений.
Большинство средств защиты информации базируется на использовании криптографических шифров и процедур шифрования-расшифровки. В соответствии со стандартом ГОСТ 28147-89 под шифром понимают совокупность обратимых преобразований множества открытых данных на множество зашифрованных данных, задаваемых ключом и алгоритмом преобразования.
В криптографии используются следующие основные алгоритмы шифрования:
-
алгоритм замены (подстановки) – символы шифруемого текста заменяются символами того же или другого алфавита в соответствии с заранее обусловленной схемой замены; -
алгоритм перестановки – символы шифруемого текста переставляются по определенному правилу в пределах некоторого блока этого текста; -
гаммирование – символы шифруемого текста складываются с символами некоторой случайной последовательности; -
аналитическое преобразование – преобразование шифруемого текста по некоторому аналитическому правилу (формуле).
Процессы шифрования и расшифровки осуществляются в рамках некоторой криптосистемы. Для симметричной криптосистемы характерно применение одного и того же ключа как при шифровании, так и при расшифровке сообщений. В асимметричных криптосистемах для шифрования данных используется один (общедоступный) ключ, а для расшифровки – другой (секретный) ключ.
Шифры перестановки
Алгоритмы двойных перестановок. Сначала в таблицу записывается текст сообщения, а потом поочередно переставляются столбцы, а затем строки. При расшифровке перестановки проводятся в обратном порядке. Например, сообщение “Приезжаю_шестого” можно зашифровать следующим образом:
| 2 | 4 | 1 | 3 | | | 1 | 2 | 3 | 4 | | | 1 | 2 | 3 | 4 |
4 | П | Р | И | Е | | 4 | И | П | Е | Р | | 1 | А | З | Ю | Ж |
1 | З | Ж | А | Ю | | 1 | А | 3 | Ю | Ж | | 2 | Е | _ | С | Ш |
2 | _ | Ш | Е | С | | 2 | Е. | _ | С | Ш | | 3 | Г | Т | О | О |
3 | Т | О | Г | О | | 3 | Г | Т | О | О | | 4 | И | П | Е | Р |
Двойная перестановка столбцов и строк
В результате перестановки получена шифровка АЗЮЖЕ_СШГТООИПЕР. Ключом к шифру служат номера столбцов 2413 и номера строк 4123 исходной таблицы.
Число вариантов двойной перестановки достаточно быстро возрастает с увеличением размера таблицы: для таблицы 3 х 3 их 36, для 4 х 4 их 576, а для 5*5 их 14400.
Криптосистема шифрования данных RSA
Предложена в 1978 году авторами Rivest, Shamir и Aldeman и основана на трудности разложения больших целых чисел на простые сомножители.
Алгоритм создания открытого и секретного ключей:
-
Получатель выбирает 2 больших простых целых числа p и q, на основе которых вычисляет n=p*q и функцию Эйлера φ(n)=(p-1)(q-1). -
Получатель выбирает целое число е (1<e< φ(n)), взаимно простое со значением функции φ(n).
Пара чисел (e,n) публикуется в качестве открытого ключа.
-
Получатель вычисляет целое число d, которое отвечает условию: e*d=1(mod φ(n) ).
Пара чисел (d,n) является секретным ключом.
Шифрование сообщения с использованием открытого ключа:
Если m – сообщение (сообщениями являются целые числа в интервале от 0 до n-1), то зашифровать это сообщение можно как c=mе mod(n).
Дешифрование сообщения с использованием секретного ключа:
Получатель расшифровывает, полученное сообщение с: m=cd mod (n).
3. Задание
Практическая работа состоит из двух частей:
Часть 1 – применение одного из алгоритмов симметричного шифрования;
Часть 2 – шифрование с использованием алгоритма RSA.
4. Ход Работы
Часть 1:
Применение алгоритма двойной перестановки
Вход: ПРОКИНА ЛИЗАВЕТА АНДРЕЕВН
Ключ: 41352 – столбцы, 24135 – строки
Выход: ЕЗВАТКПОРИНАА ДЛН ВРЕЕН
Часть 2:
1. Написать программу, реализующую алгоритм шифрования и дешифрования сообщения RSA.
2. Входные данные: открытый и закрытый ключи и сообщение.
Вывод.
В ходе лабораторной работы я изучила:
-
Алгоритм двойного шифрования. -
Шифрование с использованием алгоритма RSA. -
Применила на практике алгоритм двойного шифрования (зашифровала свои ФИО). -
Написала программу реализующую алгоритм RSA и зашифровала сообщение.