ВУЗ:
Составители:
11
Лабораторная работа № 3
«АЛГОРИТМЫ ШИФРОВАНИЯ С ОТКРЫТЫМ КЛЮЧОМ»
Задание. Написать и отладить программу, реализующую алгоритм
шифрования RSA для передачи секретных сообщений в адрес абонента B.
Рекомендуемые значения параметров
113
B
p
,
281
B
q
,
3
B
e
. В работе
использовать подпрограммы Лабораторной работы № 2.
Требование к содержанию отчета. В отчете для примера выполнения
программы привести исходные данные:
B
p
,
B
q
,
B
e
, открытый текст
m
; расчетные
данные:
B
n
,
B
z
,
B
d
, полученный шифротекст
c
и расшифрованный открытый
текст
m
.
Общие сведения. Алгоритм шифрования RSA является алгоритмом с
открытым ключом. Для генерации двух ключей (личного
B
K
и открытого
B
K
)
абоненту B необходимо выполнить следующие действия.
1. Выбрать два больших случайных простых числа
B
p
и
B
q
.
2. Вычислить
B B B
n p q
,
11
B B B
z p q
.
3. Выбрать случайным образом простое число
B
e
, меньшее, чем
B
n
, у которого
нет общих делителей (кроме 1) с числом
B
z
(взаимно простые числа). Числа
B
e
и
B
n
составляют открытый ключ абонента B:
( , )
B B B
K e n
.
4. С помощью обобщенного алгоритма Евклида вычислить число
B
d
(
1
mod
B B B
d e z
– инверсия
B
e
по модулю
B
z
), такое что остаток от деления
BB
ed
на
B
z
был равен 1:
mod 1
B B B
e d z
. Числа
B
d
и
B
n
составляют личный
ключ абонента B:
( , )
B B B
K d n
.
Абонент A шифрует сообщение
B
mn
по формуле
mod
B
e
B
c m n
и пересылает шифротекст
c
участнику B по открытой линии.
Абонент B, получивший зашифрованное сообщение, вычисляет открытый
текст по формуле
mod
B
d
B
m c n
.
Для шифрования большого сообщения оно разбивается на маленькие
блоки
iB
mn
.
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- следующая ›
- последняя »