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

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

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

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

Добавлен: 06.11.2023

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

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

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

Задание 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=33

1. Хеш-функция квадратичной свертки вычисляют по значению на предыдущем шаге и числовому коду знака 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 05

4. Докажем, что расшифровка значения хеш-функции даёт верный результат.

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 – Таблица для расчета хещ-функции в режиме отображения формул