
3
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Факультет Инфокоммуникационных сетей и систем
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №3
Криптосистема Рабина
(тема отчета)
Направление/специальность подготовки
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Выполнил студент 3 курса:
Травкина Е.А., ИКБ-14
(Ф.И.О., № группы) (подпись)
Преподаватель:
д.т.н., проф. Яковлев В.А.
(Ф.И.О., № группы) (подпись)
Цель работы
Закрепить знания, полученные на лекциях по теме “Криптосистема Рабина”.
1 задание
Для
шифрования найти открытый ключ - n,
определить количество двоичных разрядов
в нем-
. Разбить сообщение на блоки длиной
двоичных
разрядов. Зашифровать каждый блок,
представив его десятичным числом.
Расшифровать второй блок криптограммы.
№ |
p |
q |
19 |
11 |
17 |
Зашифровать сообщение: 119219319
Найдем открытый ключ n:
n = p*q = 17*11 = 187
Количество двоичных разрядов |n|:
128<187<256;
27<187<28
|n| = 8
Разобьем сообщение на блоки длиной |n| - 1 = 7 двоичных разрядов:
11921931910 → 0111000 1101100 1001000 1110111
Зашифруем каждый блок, представив его десятичным числом:
M1 = 01110002 = 56:
C1 = m12 mod 187 = 562 mod 187 = 144
M2 = 11011002 = 108:
C2 = m22 mod 187 = 1082 mod 187 = 70
M3 = 10010002 = 72:
C3 = m32 mod 187 = 722 mod 187 = 135
M4 = 11101112 = 119:
C4 = m42 mod 187 = 1192 mod 187 = 136
Полученная криптограмма: {144, 70, 135, 136}
Расшифруем второй блок криптограммы C2 = 70:
Найдем коэффициенты Безу yp, yq:
17 = 11*1+6; 6 = 17 – 11
11 = 6*1+5; 5 = 11 – 6
6 = 5*1 +1; 1 = 6 – 5
1 = 6 – 5 = 17 – 11 – (11 – 6) = 17 – 11 – 11 + 17 – 11 = 2*17 – 3*11
Yp = -3; yq = 2
Проверим p и q:
Так как 17 = 4*K+1 используем алгоритм Чипполе:
Mp
=
b = 12
Mp = = mod 17
= (
Mp = 6
Mq
=
mod
p =
mod 11 =
mod 11 = 9
Mq = ±9
Находим 4 числа:
x1 = (yp*p*mq + yq*q*mp) mod n = ( -3*11*6 + 2*17*9) mod 187 = 108
x2 = n – x1 = 187 – 108 = 79
x3 = (yp*p*mq - yq*q*mp) mod n = ( -3*11*6 – 2*17*9) mod 187 = 57
x4 = n – x3= 187 – 57 = 130
Получили исходное сообщение второго блока криптограммы m2 = 108
Задание 2.
№ |
М |
С |
19 |
110 |
25 |
Расшифровать криптограмму C=25, при известном ключе p=23, q=7, исходное сообщение M=110.
Проверим, есть ли у задачи решение:
НОД (23,7) = 1
Числа p и q простые.
23 mod 4 = 3
7 mod 4 = 3
Находим коэффициенты Безу:
23 = 7*3 + 2 2 = 23 – 7*3
7 = 2*3 + 1 1 = 7 – 2*3 = 7 – (23 – 7*3) *3 = 7*10 – 23*3
23*(-3) + 7*10 = 1
yp = -3; yq = 10
Используя китайскую теорему об остатках, вычислим четыре числа, среди которых одно будет являться истинным исходным сообщением.
mp
=
mod
p =
mod 23 =
mod 23 = 18
mp = 18
mq=
mod
q=
mod7=
mp = 2
Найдем 4 корня:
n = p*q = 23*7 = 161
x1 = (yp*p*mq + yq*q*mp) mod n = ((-3)*23*2 + 10*7*18) mod 161 = 156
x2 = n – x1 = 161 – 156 = 5
x3 = (yp*p*mq - yq*q*mp) mod n = ((-3)*23*2 - 10*7*18) mod 161 = 110
x4 = n – x3 = 161 – 110 =51
Среди 4х корней получили исходное сообщение M = 110.
Вывод
В ходе выполнения лабораторной работы были закреплены знания по теме «Криптосистема Рабина», зашифровано сообщение в КС Рабина, а также произведено дешифрование криптограммы при известном закрытом ключе.
Санкт-Петербург
2024