Leg (y, p) - символ Лежандра, вычисляется как символ Якоби.
3. Теоретическая часть.
3.1. Криптосистема RSA.
3.1.1. Описание системы.
Генерация ключей:
Абонент A:
· Генерирует два простых числа p и q примерно одинакового размера.
· Вычисляет n=pq, j(n) =(p-1)(q-1).
· Выбирает случайное число e, 1< e < j(n), такое, что НОД(e, j(n))=1.
· Используя расширенный алгоритм Евклида, вычисляет d,
1<d< j(n), такое, что ed=1 (mod j(n)).
· Открытым ключом объявляет пару чисел (n,e), в качестве секретного ключа хранит число d.
Числа n,e,d называют, соответственно, модулем, экспонентой зашифрования и расшифрования.
Шифрование:
Абонент B:
· Получает копию открытого ключа (n,e) абонента А.
· Представляет сообщение, как число m из интервала [0, n-1] (в необходимых случаях разбивает его на блоки, являющиеся числами в этом интервале).
· Вычисляет c=me mod n.
· Посылает шифртекст c абоненту А.
Расшифрование:
Абонент A:
· Получает шифртекст c.
· Используя секретный ключ d, вычисляет сообщение m=cd mod n.
3.1.2. Пример.
· Генерация ключей:
Пусть p = 73, q = 127, тогда n = 9271, j(n) = 9072, e = 17,d = 1601.
· Шифрование:
m = 610
c = me mod n = 61017 mod 9271 = 8335
· Расшифрование:
m = c d mod n = 83351601 mod 9271 = 610
3.1.3. Задание.
· Спроектировать систему по следующим параметрам.
Сгенерировать и сохранить p= p((1[k(n)]6)10),
Сгенерировать и сохранить q= p((1[k(n)]6)10+4),
Вычислить n=p×q,
Вычислить phi=j(n) = (p-1)(p-1).
Взять e взаимно простое с phi.
Вычислить d=e-1 mod phi.
· Взять сообщение m=k(n).
Вычислить шифробозначение (криптограмму) c=k(N)emod n.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.