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

крипта_5

.docx
Скачиваний:
0
Добавлен:
17.06.2026
Размер:
40.15 Кб
Скачать

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

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

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

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

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

(СПбГУТ)

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

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

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

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

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

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

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

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

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

__________

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

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

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

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

Цель работы

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

Ход работы

Задание 1

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

Для варианта – 5

N вар

Число а

р = 23

р = 29

5

13

13

1) x = √13 mod 23

Решение уравнения x = √13 mod 23

p = 23, 23 = 4*5 + 3

1) x = √13 mod 23

23 - простое, 23 = 3 mod 4

x = a^((p+1)/4) mod p

x = 13^6 mod 23 = 6

2) x = -6 mod 23 = 17

Проверка:

1) 6^2 mod 23 = 36 mod 23 = 13 mod 23

2) 17^2 mod 23 = 289 mod 23 = 13 mod 23

(6, 17)

2) x = √13 mod 29

Решение уравнения x = √13 mod 29

p = 29, 29 = 4*7 + 1

1) x = √13 mod 29

29 - простое, 29 = 1 mod 4

Применяем алгоритм Чиполлы

Шаг 1: Находим t такое, что t² - a - квадратичный невычет

t = 24, t² - a = 24² - 13 = 12

Символ Лежандра ((12/29) = (12^(p-1/2) mod 29) = 12^14 mod 29) = 28 = -1 → невычет

пусть (t^2-a) mod p = w

Шаг 2: Работаем в расширении поля F_29(√12)

Вычисляем (t + √w)^((p+1)/2) = (t + √w)^15

Возводим в степень 15:

(24 + 1√12)² = 576 + 48√12 + 144 = 8 + 19√12

(8 + 19√12)² = 64 + 304√12 + 51984 = 17 + 14√12

(17 + 14√12)² = 289 + 476√12 + 28224 = 2 + 12√12

(2 + 12√12)² = 4 + 48√12 + 20736 = 21 + 19√12

Результат: 19 + 0√12

Шаг 3: Получаем корни:

x₁ = 19

x₂ = 10

Проверка:

19² mod 29 = 361 mod 29 = 13 (должно быть 13)

10² mod 29 = 100 mod 29 = 13

Итог:

Для p = 23, a = 13:

x = 6 и x = 17 (mod 23)

Проверка: 6² = 36 mod 23 ≡ 13 mod 23

17² = 289 mod 23 ≡ 13 mod 23

Для p = 29, a = 13:

x = 19 и x = 10 (mod 29)

Проверка: 19² = 361 mod 29 ≡ 13 mod 29

10² = 100 mod 29 ≡ 13 mod 29

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

Для варианта - 5

n=3*7, для вариантов 1-6, a=16

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

Для варианта - 5

n=3*7, для вариантов 1-6, a=16

Найдем корни уравнения

Решение уравнения x = √1 mod 3

p = 3, 3 = 4*0 + 3

1) x = √1 mod 3

3 - простое, 3 = 3 mod 4

x = a^((p+1)/4) mod p

x = 1^1 mod 3 = 1

2) x = -1 mod 3 = 2

Проверка:

1) 1^2 mod 3 = 1 mod 3 = 1 mod 3

2) 2^2 mod 3 = 4 mod 3 = 1 mod 3

(1, 2)

Для a=16, p=7

Решение уравнения x = √2 mod 7

p = 7, 7 = 4*1 + 3

1) x = √2 mod 7

7 - простое, 7 = 3 mod 4

x = a^((p+1)/4) mod p

x = 2^2 mod 7 = 4

2) x = -4 mod 7 = 3

Проверка:

1) 4^2 mod 7 = 16 mod 7 = 2 mod 7

2) 3^2 mod 7 = 9 mod 7 = 2 mod 7

(4, 3)

Китайская теорема об остатках

1-ый случай: (1 mod 3) и (4 mod 7)

M = 3 * 7 = 21

Находим Mi и yi:

M1 = M/m1 = 21/3 = 7

M1 * y1 ≡ 1 mod m1 → 7 * y1 ≡ 1 mod 3 → 1 * y1 ≡ 1 mod 3 → y1 = 1

M2 = M/m2 = 21/7 = 3

M2 * y2 ≡ 1 mod m2 → 3 * y2 ≡ 1 mod 7 → 3 * y2 ≡ 1 mod 7 → y2 = 5

Вычисляем x0 = (7 * 1 * 1 + 3 * 5 * 4) mod 21 = 67 mod 21 = 4

Ответ: x = 4

2-й случай: (1 mod 3) и (3 mod 7)

M = 3 * 7 = 21

Находим Mi и yi:

M1 = M/m1 = 21/3 = 7

M1 * y1 ≡ 1 mod m1 → 7 * y1 ≡ 1 mod 3 → 1 * y1 ≡ 1 mod 3 → y1 = 1

M2 = M/m2 = 21/7 = 3

M2 * y2 ≡ 1 mod m2 → 3 * y2 ≡ 1 mod 7 → 3 * y2 ≡ 1 mod 7 → y2 = 5

Вычисляем x0 = (7 * 1 * 1 + 3 * 5 * 3) mod 21 = 52 mod 21 = 10

Ответ: x = 10

3-й случай: (2 mod 3) и (4 mod 7)

M = 3 * 7 = 21

Находим Mi и yi:

M1 = M/m1 = 21/3 = 7

M1 * y1 ≡ 1 mod m1 → 7 * y1 ≡ 1 mod 3 → 1 * y1 ≡ 1 mod 3 → y1 = 1

M2 = M/m2 = 21/7 = 3

M2 * y2 ≡ 1 mod m2 → 3 * y2 ≡ 1 mod 7 → 3 * y2 ≡ 1 mod 7 → y2 = 5

Вычисляем x0 = (7 * 1 * 2 + 3 * 5 * 4) mod 21 = 74 mod 21 = 11

Ответ: x = 11

4-й случай: (2 mod 3) и (3 mod 7)

M = 3 * 7 = 21

Находим Mi и yi:

M1 = M/m1 = 21/3 = 7

M1 * y1 ≡ 1 mod m1 → 7 * y1 ≡ 1 mod 3 → 1 * y1 ≡ 1 mod 3 → y1 = 1

M2 = M/m2 = 21/7 = 3

M2 * y2 ≡ 1 mod m2 → 3 * y2 ≡ 1 mod 7 → 3 * y2 ≡ 1 mod 7 → y2 = 5

Вычисляем x0 = (7 * 1 * 2 + 3 * 5 * 3) mod 21 = 59 mod 21 = 17

Ответ: x = 17

Итог: x = (4, 10, 11, 17) mod 21

Задание 2

2.1 Зашифровать сообщение в криптосистеме Рабина

Для варианта – 5

p

q

5

43

7

Вариант N = 5

Сообщение M= 105205305

p =43, q=7

Зашифровка сообщения

1)Открытый ключ n = p*q = 43 * 7 = 301

2)Разбиваем сообщение М на блоки: 105, 205, 30, 3. Каждый блок сообщение Mi < n

3) Вычисляем криптограмму по формуле: Ci = Mi2 mod n

1: C1 = 105^2 mod 301 = 11025 mod 301 = 189

2: C2 = 205^2 mod 301 = 42025 mod 301 = 186

3: C3 = 30^2 mod 301 = 900 mod 301 = 298

4: C4 = 3^2 mod 301 = 9 mod 301 = 9

4) Получаем криптограмму: С = [189, 186, 298, 9]

Расшифровка второго блока сообщения C2 = 186:

  1. Найдем квадратные корни уравнения:

При p = 43:

Решение уравнения x = √14 mod 43

p = 43, 43 = 4*10 + 3

1) x = √14 mod 43

43 - простое, 43 = 3 mod 4

x = a^((p+1)/4) mod p

x = 14^11 mod 43 = 10

2) x = -10 mod 43 = 33

Проверка:

1) 10^2 mod 43 = 100 mod 43 = 14 mod 43

2) 33^2 mod 43 = 1089 mod 43 = 14 mod 43

(10, 33)

При p = 7

Решение уравнения x = √4 mod 7

p = 7, 7 = 4*1 + 3

1) x = √4 mod 7

7 - простое, 7 = 3 mod 4

x = a^((p+1)/4) mod p

x = 4^2 mod 7 = 2

2) x = -2 mod 7 = 5

Проверка:

1) 2^2 mod 7 = 4 mod 7 = 4 mod 7

2) 5^2 mod 7 = 25 mod 7 = 4 mod 7

(2, 5)

Итог: r = 10, 33 mod 43 s = 2, 5 mod 7

  1. Применим китайскую теорему об остатках:

Для всех случаев: М = 43*7 = 301

1-ый случай: 10 mod 43 и 2 mod 7

Находим Mi и yi:

M1 = M/m1 = 301/43 = 7

M1 * y1 ≡ 1 mod m1 → 7 * y1 ≡ 1 mod 43 → 7 * y1 ≡ 1 mod 43 → y1 = 37

M2 = M/m2 = 301/7 = 43

M2 * y2 ≡ 1 mod m2 → 43 * y2 ≡ 1 mod 7 → 1 * y2 ≡ 1 mod 7 → y2 = 1

Вычисляем x0 = (7 * 37 * 10 + 43 * 1 * 2) mod 301 = 2676 mod 301 = 268

Ответ: x = 268

2-ой случай: 10 mod 43 и 5 mod 7

Находим Mi и yi:

M1 = M/m1 = 301/43 = 7

M1 * y1 ≡ 1 mod m1 → 7 * y1 ≡ 1 mod 43 → 7 * y1 ≡ 1 mod 43 → y1 = 37

M2 = M/m2 = 301/7 = 43

M2 * y2 ≡ 1 mod m2 → 43 * y2 ≡ 1 mod 7 → 1 * y2 ≡ 1 mod 7 → y2 = 1

Вычисляем x0 = (7 * 37 * 10 + 43 * 1 * 5) mod 301 = 2805 mod 301 = 96

Ответ: x = 96

3-й случай: 33 mod 43 и 2 mod 7

Находим Mi и yi:

M1 = M/m1 = 301/43 = 7

M1 * y1 ≡ 1 mod m1 → 7 * y1 ≡ 1 mod 43 → 7 * y1 ≡ 1 mod 43 → y1 = 37

M2 = M/m2 = 301/7 = 43

M2 * y2 ≡ 1 mod m2 → 43 * y2 ≡ 1 mod 7 → 1 * y2 ≡ 1 mod 7 → y2 = 1

Вычисляем x0 = (7 * 37 * 33 + 43 * 1 * 2) mod 301 = 8633 mod 301 = 205

Ответ: x = 205

4-ый случай: 33 mod 43 и 5 mod 7

Находим Mi и yi:

M1 = M/m1 = 301/43 = 7

M1 * y1 ≡ 1 mod m1 → 7 * y1 ≡ 1 mod 43 → 7 * y1 ≡ 1 mod 43 → y1 = 37

M2 = M/m2 = 301/7 = 43

M2 * y2 ≡ 1 mod m2 → 43 * y2 ≡ 1 mod 7 → 1 * y2 ≡ 1 mod 7 → y2 = 1

Вычисляем x0 = (7 * 37 * 33 + 43 * 1 * 5) mod 301 = 8762 mod 301 = 33

Ответ: x = 33

Итак, среди возможных исходов: 268, 96, 205, 33

Среди них присутствует исходный блок M2 = 205

2.2 Расшифровать криптограмму, в криптосистеме Рабина

Для вариант – 5

М

С

5

30

95

Криптограмма С = 95

Исходное сообщение М = 30

p = 23, q =7

Аналогично расшифровки сообщения из п. 2.1 вычислим:

  1. r2 = 95 mod 23 s2 = 95 mod 7

Для r:

Решение уравнения x = √3 mod 23

p = 23, 23 = 4*5 + 3

1) x = √3 mod 23

23 - простое, 23 = 3 mod 4

x = a^((p+1)/4) mod p

x = 3^6 mod 23 = 16

2) x = -16 mod 23 = 7

Проверка:

1) 16^2 mod 23 = 256 mod 23 = 3 mod 23

2) 7^2 mod 23 = 49 mod 23 = 3 mod 23

(16, 7)

Для s:

Решение уравнения x = √4 mod 7

p = 7, 7 = 4*1 + 3

1) x = √4 mod 7

7 - простое, 7 = 3 mod 4

x = a^((p+1)/4) mod p

x = 4^2 mod 7 = 2

2) x = -2 mod 7 = 5

Проверка:

1) 2^2 mod 7 = 4 mod 7 = 4 mod 7

2) 5^2 mod 7 = 25 mod 7 = 4 mod 7

(2, 5)

Итог: x=16, 7 mod 23 x=2, 5 mod 7

  1. Применив китайскую теорему об остатках имеем:

1-й: 16 mod 23 2 mod 7 => x=16

2-й: 16 mod 23 5 mod 7 => x = 131

3-й: 7 mod 23 2 mod 7 => x = 30

4-й: 7 mod 23 5 mod 7 => x = 145

Итак, имеем блоки: 16, 131, 30, 145

Среди данных сообщений имеется исходное M=30

Вывод

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

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