Файл: Программная реализация криптографических алгоритмов.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 30

Скачиваний: 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 и основана на трудности разложения больших целых чисел на простые сомножители.

Алгоритм создания открытого и секретного ключей:

  1. Получатель выбирает 2 больших простых целых числа p и q, на основе которых вычисляет n=p*q и функцию Эйлера φ(n)=(p-1)(q-1).

  2. Получатель выбирает целое число е (1<e< φ(n)), взаимно простое со значением функции φ(n). 

Пара чисел (e,n) публикуется в качестве открытого ключа.

  1. Получатель вычисляет целое число 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. Входные данные: открытый и закрытый ключи и сообщение.







Вывод.

В ходе лабораторной работы я изучила:

    1. Алгоритм двойного шифрования.

    2. Шифрование с использованием алгоритма RSA.

    3. Применила на практике алгоритм двойного шифрования (зашифровала свои ФИО).

    4. Написала программу реализующую алгоритм RSA и зашифровала сообщение.