Алгоритм RSA. Жданов О.Н - 13 стр.

UptoLike

Составители: 

13
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
Лабораторная работа 1
АТАКА НА АЛГОРИТМ ШИФРОВАНИЯ RSA
ПОСРЕДСТВОМ МЕТОДА ФЕРМА
Цель работы: изучить атаку на алгоритм шифрования RSA посредством
метода Ферма.
Ход работы:
ознакомиться с теорией, изложенной в п. 1.2 («Взлом алгоритма RSA
при неудачном выборе параметров криптосистемы»);
получить вариант задания у преподавателя (табл. 1 приложения);
используя разложение модуля на простые числа методом Ферма и полу-
ченные исходные данные, определить следующие показатели:
множители модуля (p и q);
значение функции Эйлера для данного модуля ()N
ϕ
;
обратное значение экспоненты по модулю ()N
ϕ
;
дешифровать зашифрованный текст, исходный текст должен быть фра-
зой на русском языке;
результаты и промежуточные вычисления оформить в виде отчета.
Примечание. Для выполнения практического задания рекомендуется ис-
пользовать программу BCalc.exe, которая находится на диске, прилагаемом к
методическим указаниям.
Пример выполнения лабораторной работы
c помощью программы BCalc
Исходные данные: N = 65815671868057; e = 7423489; C = 38932868535359.
Найти
1. Вычисляем n = [sqrt(N)] + 1. В поле A помещаем N, в поле B – 2; нажи-
маем кнопку «D = A^(1/B)». В поле D заносится число 8112686, в первую стро-
ку таблицысообщение «[error]». Это свидетельствует, о том, что N не являет-
ся квадратом целого числа.
2. t
1
= n + 1. Возводим число t
1
в квадрат: A: = 8112687, B: = 2, C: = 0 (воз-
ведение в квадрат будет производиться не по правилам модульной арифмети-
ки), нажимаем «D = A^B
mod C» => D = t
1
^2 = 65815690359969. Вычисляем
w
1
= t
1
^2 – N. Для этого A:= t
1
^2, B:= –N, затем нажимаем «D = A + B» => D =
= w
1
= 18491912. Проверяем, является ли w
1
квадратом целого числа: A:= w
1
,
B:= 2, нажимаем «D = A^(1/B)» => в первой строке таблицы появляется сооб-
щение «[error]», следовательно проделываем п. 2 заново с t
2
= n + 2 и так далее,
пока не найдем, что некое w
i
является квадратом целого числа.