Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЛР-5 (Квадратичные вычеты. Криптосистема Рабина)

.docx
Скачиваний:
3
Добавлен:
18.04.2026
Размер:
44.08 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Кибербезопасности

Кафедра Защищенных систем связи

Дисциплина Криптографические протоколы

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №5

Квадратичные вычеты. Криптосистема Рабина

(тема отчета)

Направление/специальность подготовки

10.03.01 Информационная безопасность

(код и наименование направления/специальности)

Выполнил студент 3 курса:

Лянгузов Н.А., ИКБ-31

(Ф.И.О., № группы) (подпись)

Преподаватель:

д.т.н., проф. Яковлев В.А.

(Ф.И.О., № группы) (подпись)

Цель работы

Закрепить знания, полученные на лекциях по темам «Квадратичные вычеты» и “Криптосистема Рабина”.

Задание 1

    1. Решите уравнение

р=23, и р=29. Вариант 22: a = 47 и 52

1) x= mod 23

x2 = 47 mod 23 = 1 mod 23

x=+-1

x=1 mod 23=1

x=(-1) mod 23 = 22

Ответ: 1, 22

2) x= mod 29

x2= 52 mod 29 = 23 mod 29

a=23

p=29

x=(t + ) mod p

Берем 1, чтобы (t2 - a) - не было квадратным вычетом

t=5

x=(5+ )15

15=8+4+2+1

2: (5+ )2=25+10 +2=27+ 10

4: (27+10 )2=729+ 540 +200=929 +540 = (1 + 18 ) mod 29

8: (1+18 )2 = 1 +36 +648 = 649 +36 = (11 + 7 ) mod 29

15: (5+ )2 = (5+ )( 27 +10 )( 1 + 18 )( 11 + 7 ) = 72345 +52026 =(9+0 ) mod 29 = 9 mod 29

x = +-9

x=9 mod 29=9

x=(-9) mod 29 = 20

Ответ: 9, 20

    1. Найдите все решения уравнение

n=11*19, для вариантов 20 – 25, a=218

Вариант №22

=

Получим 4 системы уравнений:

1)

2)

3)

4)

Решение 1-й системы уравнений:

Т.к. модули m1, m2 попарно взаимно простые, система уравнений имеет единственное решение: x=x0 mod M, где М = m1∙ m2.

M = m1∙ m2 = 11 ∙ 19 = 209

x0 = M1y1a1 + M2y2a2

Miyi = 1mod mi

;

M1y1 = 1 mod m1 M2y2 = 1 mod m2

19y1 = 1 mod 11 11y2 = 1 mod 19 y1 =7 y2 = 7

x0 = 19∙7∙3 + 11∙7∙16 = 1631

x = x0 mod M

x = 1631 mod 209 = 168

Решение 2-й системы уравнений:

Т.к. модули m1, m2 попарно взаимно простые, система уравнений имеет единственное решение: x=x0 mod M, где М = m1∙ m2.

M = m1∙ m2 = 11 ∙ 19 = 209

x0 = M1y1a1 + M2y2a2

Miyi = 1mod mi

;

M1y1 = 1 mod m1 M2y2 = 1 mod m2

19y1 = 1 mod 11 11y2 = 1 mod 19 y1 =7 y2 = 7

x0 = 19∙7∙3 + 11∙7∙(-16) = -833

x = x0 mod M

x = -833 mod 209 = 3

Решение 3-й системы уравнений:

Т.к. модули m1, m2 попарно взаимно простые, система уравнений имеет единственное решение: x=x0 mod M, где М = m1∙ m2.

M = m1∙ m2 = 11 ∙ 19 = 209

x0 = M1y1a1 + M2y2a2

Miyi = 1mod mi

;

M1y1 = 1 mod m1 M2y2 = 1 mod m2

19y1 = 1 mod 11 11y2 = 1 mod 19 y1 =7 y2 = 7

x0 = 19∙7∙(-3) + 11∙7∙(-16) = -1631

x = x0 mod M

x = -1631 mod 209 = 41

Решение 4-й системы уравнений:

Т.к. модули m1, m2 попарно взаимно простые, система уравнений имеет единственное решение: x=x0 mod M, где М = m1∙ m2.

M = m1∙ m2 = 11 ∙ 19 = 209

x0 = M1y1a1 + M2y2a2

Miyi = 1mod mi

;

M1y1 = 1 mod m1 M2y2 = 1 mod m2

19y1 = 1 mod 11 11y2 = 1 mod 19 y1 =7 y2 = 7

x0 = 19∙7∙(-3) + 11∙7∙16 = 833

x = x0 mod M

x = 1631 mod 209 = 206

Проверка

x1: 1682mod 209 = 28224mod 209 =9

x2: 32mod 209 = 9mod 209 = 9

x3: 412mod 209 = 1681mod 209 = 9

x4: 2062mod 209 = 42436mod 209 = 9

Ответ: х1 = 168; х2 = 3; х3 = 41; х4 = 206;

Задание 2

Для шифрования найти открытый ключ - n, определить количество двоичных разрядов в нем-   . Разбить сообщение на блоки длиной   двоичных разрядов. Зашифровать каждый блок, представив его десятичным числом. Расшифровать второй блок криптограммы.

p

q

22

37

7

Зашифровать сообщение: 122222322

Найдем открытый ключ n: n = p * q = 259

Количество двоичных разрядов:

256<259<512

28<259<29

|n| = 9

Разобьем сообщение на блоки длиной 9 – 1 = 8 двоичных разрядов:

12222232210 = 00000111 01001000 11110110 11110010

Зашифруем каждый блок сообщения:

M1 = 000001112 = 7

C1 = 72 mod 259 = 49

M2 = 010010002 = 72

C2 = 722 mod 259 = 4

M3 = 111101102 = 246

C3 = 2462 mod 259 = 169

M4 = 111100102 = 242

C4 = 2422 mod 259 = 30

Полученная криптограмма: {49, 4, 169, 30}

Расшифруем второй блок криптограммы C2 = 4

Найдем коэффициенты Безу:

37 = 7*5+2; 2 = 37 – 7*5

7 = 2*3+1; 1 = 7 – 2*3

1 = 7 – 2*3 = 7 – 3(37 – 7*5) = 7 – 3*37 + 3*5*7 = 16*7 – 3*37

yp= 4; yq=16

Так как 37 = 4k + 1, то используем алгоритм Чиполлы:

Mq =

b = 3

b2 – c =9 – 4 = 5

( ) = -1; не вычет

w2 = 5

= (3+w)19

(3+w)2 = 14+6w

(3+w)4 = 6+20w

(3+w)8 = 1+18w

(3+w)16 = 30+36w

(3+w)19 = (30+36w)(14+6w)(3+w) = 2

Mq = 2

Mp = = 42 mod 7 = 16 mod 7 = 2

Находим 4 числа:

n = 259

7-1 mod 37 = 16

37-1 mod 7 = 4

x1 = 2*7*16+2*37*4 = 520 = 2 mod 259

x2 = 2*7*16+5*37*4 = 964 = 187 mod 259

x3 = 35*7*16+2*37*4 = 4216 = 72 mod 259

x4 = 35*7*16+5*37*4 = 4660 = 257 mod 259

Получили исходное сообщение второго блока криптограммы x3 = 72

Расшифровать криптограмму 77 при известном ключе p=23, q=7, исходное сообщение – 56

Mp = = 776 mod 23 = 13

Mp = 13

77 mod 7 = 0

x2 = 0 mod 7

Mq = 0

x = 7k

Mp = 13:

7k = 13 mod 23

k = 13 * 7-1 mod 23 = 15 mod 23

x = 7*15 = 105

Mp = 10:

7k = 10 mod 23

k = 10 * 10 mod 23 = 8 mod 23

x = 7*8 = 56

Среди корней получили исходное сообщение 56.

Вывод

В ходе выполнения лабораторной работы были закреплены знания, полученные на лекциях по темам «Квадратичные вычеты» и “Криптосистема Рабина”.

Санкт-Петербург

2026

Соседние файлы в предмете Криптографические протоколы