Файл: Применить алгоритм rsa для зашифровки или расшифровки сообщения.docx

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

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

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

Добавлен: 06.11.2023

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

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Задание 4.1Применить алгоритм RSA для зашифровки или расшифровки сообщения.

Вариант

Задание

7

Зашифровать текст «SOLVE» методом RSA при p=3, q=11, e=7. Буква A соответствует числу 0 и так далее.
Выполнение задания:Пара чисел {d, n} — это секретный ключ, пара чисел {e, n} — это открытый ключ.Вычисляем модуль - произведение p и q: n=p×q=3×7=21. Вычисляем функцию Эйлера: φ=(p-1) ×(q-1) =2×6=12.Осталось вычислить число d, обратное е по модулю φ. То есть остаток от деления по модулю φ произведения d×e должен быть равен 1. Запишем это в обозначениях, принятых во многих языках программирования: (d×е) mod φ=1. Или (d×5) mod 12 = 1. d может быть равно 5 ((5×5) mod 12=25 mod 12=1), но, чтобы оно не совпадало с e в дальнейшем, возьмём его равным 17. Можете проверить, что (17×5) mod12 действительно равно 1 (17×5-12×7=1). Итак, d=17. Согласно условию, сообщение S имеет код 18. Обозначим его S=18. Кроме него уже есть открытый ключ: {e, n} = {7, 21}. Шифрование выполняется по следующему алгоритму. Возводим сообщение в степень e по модулю n. То есть, вычисляете 18 в степени 7 (612220032) и берём остаток от деления на 21. Получается 18 — это закодированное сообщение. Полученные данные S=18 отправляются по каналу связи.Подробности компьютерной технологии реализации расчётов приведены в Приложении 1.Ответ: Закодированное сообщение SOLVE= 18 14 11 00 04Рисунок 1 - Таблица для шифрования по алгоритму RSA в режиме отображения результатовРисунок 2 - Таблица для шифрования по алгоритму RSA в режиме отображения формулЗадание 4.2Найти пересылаемые значения A, B и секретный ключ Kx, Ky, если:n =11, q=7, x=6, y=9.Выполнение задания:Ответ: А=4, В=8, секретный ключ Kx=3,Ky=3.Подробности компьютерной технологии реализации расчётов приведены в Приложении 2.Приложение 2
Рисунок 3 - Таблица для расчёта секретного ключа в режиме отображения результатовРисунок 4 - Таблица для расчёта секретного ключа в режиме отображения формулЗадание 4.3.Для заданного сообщения КОД выполнить следующее.1. Вычислить значение хеш-функции по формуле квадратичной свёртки;2. Зашифровать значение хеш-функции по алгоритму RSA (значения p=3, q=11, e=7); 3.Написать подписанное цифровой подписью сообщение в цифровой форме; 4.Расшифровать значение хеш-функции, приведя подробные вычисления, и доказать правильность расшифровки5.Внести преднамеренное искажение - числовой код последней буквы сообщения увеличить на 8 (считать, что за символом с кодом 32 следует буква с кодом 1 и так далее) и, рассчитав значение хеш-функции в искажённом сообщении, доказать наличие ошибки.Выполнение задания:Как было рассчитано раннее, n=p*q=3*11=331. Хеш-функция квадратичной свертки вычисляют по значению на предыдущем шаге и числовому коду знака i:где S0 = 0, а n – простое число, входящее в оба ключа. После обработки последнего символа формируется хеш всего сообщения S.Процедура проверки подлинности ЭП и самого сообщения после его получения заключается в следующем:1. От полученного сообщения отделяется электронная подпись.2. Открытым ключом отправителя по электронной подписи находится хеш переданного сообщения по формуле:3. Вычисляется хеш S’ полученного сообщения по указанной выше формуле.4. Сравнивается S’ и S’’.Электронная подпись признается подлинной, если значения хешей совпадают.Таким образом, c помощью секретного ключа {d; n} электронная подпись создается, присоединяется к электронному документу и передается вместе с ним. Открытым ключом {e; n} проверяются подлинность подписи и сохранность документа.

Процесс вычислений сведём в расчётную схему в таблицу 1.



Знак

Код знака wi

Значение хеш-функции

0







0

1

К

11

22

2

О

15

16

3

М

13

12
Значение хеш-функции равно 12.2. Зашифруем значение хеш-функцииТаким образом, значение хэш-функции в зашифрованном виде (т.е. в виде цифровой подписи) равно 21.3. После этого запишем кодированное представление подписанного текста.Таким образом, будет отправлено сообщение с электронной подписью:21 11 15 054. Докажем, что расшифровка значения хеш-функции даёт верный результат.S’’=Реmod n =127mod33=21.При получении было выявлено первоначальное значение хеш-функции 21, правильность расшифровки доказана. 5. Внесём преднамеренное искажение - числовой код последней буквы сообщения увеличим на 8. Заменим 05 на 13 и получим сообщение КОМ. Новое значение хеш-функции равно 16, то есть отличается от извлечённого из цифровой подписи.



Знак

Код знака wi

Значение хеш-функции

0







0

1

К

11

22

2

О

15

16

3

Д

5

16
Вывод: S’≠S’’, следовательно, полученный документ не совпадает с исходным. Подробности компьютерной технологии реализации расчётов приведены в Приложении 3.Ответы1. Значение хеш-функции по формуле квадратичной свёртки равно 12.2. Значение хеш-функции в зашифрованном виде равно 21.3. Подписанное сообщение имеет вид 21 11 15 05.4. Расшифрованное значение хеш-функции равно первоначальному 12, вычисления верны.
5. Искажение привело к новому значению хеш-функции 16 и поэтому оно может быть обнаружено.Приложение 3Рисунок 5 – Таблица для расчета хещ-функции в режиме отображения результатовРисунок 6 – Таблица для расчета хещ-функции в режиме отображения формул