Министерство образования и науки Луганской народной республики
ГОУ ВПО «Луганский государственный университет имени Владимира Даля»
Стахановский инженерно-педагогический институт
Кафедра информационных систем
Лабораторная работа № 6
по дисциплине «МСЗКИ»
Луганск, Стаханов 2021
Лабораторная работа № 6
Тема: Алгоритмы асимметричного шифрования.
Алгоритм RSA
Цель: изучение алгоритма и методики практической реализации алгоритма RSA
Задания для выполнения
1) Ознакомиться с разделами методических указаний к данной лабораторной работы.
2) С помощью алгоритма RSA зашифровать и дешифровать число, равное дате рождения (число), составленной с номером варианта (например, Вы родились 12 апреля, а Ваш вариант – 3, тогда искомое число - 12+3=15). Значения и приведены в таблице ниже.
3) с помощью алгоритма RSA зашифровать и дешифровать свою фамилию и имя. Параметры и такие же, как и во второй задаче.
Шаг 1. Вычислить N как произведение двух простых чисел p и q:
Выбираю два простых числа.P=3 q=29
Вычисляем модуль — произведение наших p и q N = p*q = 87
Вычисляем функцию Эйлера: φ = (p-1)*(q-1)=56
Выбираем число e, отвечающее следующим критериям:
(I) оно должно быть простое,
(II) оно должно быть меньше φ — остаются варианты: 41, 43, 47, 53
(III) оно должно быть взаимно простое с φ; остаются варианты Выберем e=41. Это, так называемая, открытая экспонента.
(IV) Теперь пара чисел {41, 87} — это мой открытый ключ.
Нужно вычислить число d, обратное е по модулю φ.
(d×е)%φ=1. Или (d×5)%12=1. d может быть равно 5 ((5×5)%12=25%12=1), но чтобы оно не путалось с e в дальнейшем повествовании, давайте возьмём его равным 17. Можете проверить сами, что (17×5)%12 действительно равно 1 (17×5-12×7=1). Итак d=17. Пара {5, 17} — это секретный ключ.
Алгоритм шифрования сообщения M.
Числовые эквиваленты русских букв, цифр и символа пробела
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
А |
Б |
В |
Г |
Д |
Е |
Ё |
Ж |
З |
И |
Й |
К |
Л |
М |
Н |
О |
П |
Р |
С |
Т |
У |
Ф |
Х |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
Ц |
Ч |
Ш |
Щ |
Ъ |
Ы |
Ь |
Э |
Ю |
Я |
Пр. |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Разбиваем исходный текст сообщения на блоки M1, M2,…, Mn
(Д, О, Р, О, Ф, Е, Е, В, А); (5,16,18,16,22,6,6,3,1)
Шифруем текст сообщения в виде последовательности блоков:
Ci = Mie mod N
С1=57(mod 56) = 1287 mod56 = 01,
С2=167(mod 56) = 612220032 mod56 = 01,
С3=187(mod 56) = 10000000 mod56 = 01,
С4=167(mod 56) = 4586471424 mod56 = 01,
С5=227(mod 56) = 279936 mod56 = 01,
С6=67(mod 56) = 170859375 mod56 = 01.
С7=67(mod 56) = 35831808 mod56 = 01,
С8=37(mod 56) = 268435456 mod56 = 01,
С9=17(mod 56) = 1 mod56 = 01.
Отправляем криптограмму сообщением: C1, C2, …, Cn (01, 01, 01, 01, 01, , 01). Получатель расшифровывает с помощью секретного ключа d по формуле:
Мі=Сіd (mod n)
М1=014(mod 56) = 1
М2=014(mod56) = 1
М3=014(mod56) = 1
М4=014(mod56) = 1
М5=014(mod56) = 1
М6=54(mod56) = 625
М7=014(mod56) = 1
М8=274(mod56) = 531441
М9=014(mod 56) = 1
Полученная последовательность чисел (1, 1, 1, 1, 1, 17, 1, 17,1) представляет собой исходное сообщение M.
Вывод: в лабораторной работе были проведены исследования структуры алгоритма и методики практической реализации криптосистемы шифрования RSA .
© ООО «Знанио»
С вами с 2009 года.