
Лабораторная работа №13
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
Факультет Инфокоммуникационных сетей и систем Кафедра Защищенных систем связи
Дисциплина Криптографические методы защиты информации
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №13
Решение задач дискретной математики
(тема отчета)
Информационная безопасность (10.03.01)
(код и наименование направления/специальности)
Студент группы ИКБ-06:
Ерохин А.Г.
(Ф.И.О.) (подпись)
Д.т.н., проф. каф. ЗСС:
Яковлев В.А.
(Ф.И.О.) (подпись)
Цель работы: Приобретение навыков выполнения вычислений дискретной математики.
Ход выполнения лабораторной работы:
В ходе выполнения работы необходимо решить 4 задания. Вариант, используемый для заданий, является номером студента в группе – 10.
Задание 1. Найти наибольший общий делитель
НОД (8888; 2410) = 2 * НОД (4444; 1205) = 2 * НОД (4444 – 3*1205; 1205) = 2 * НОД (829; 1205) = 2 * НОД (829; 376) = 2 * НОД (77; 376) = 2 * НОД (77; 68) = 2 * НОД (9; 68) = 2 * НОД(9; 5) = 2 * НОД (4; 5) = 2 * НОД (4; 1) = 2
Ответ: НОД (8888; 2410) = 2
Задание 2. Используя алгоритм быстрого возведения в степень, вычислить
3110 mod 7 = 955 mod 7 = (954 * 9) mod 7 = (9(3*18) * 9) mod 7 = 118 mod 7 * 9 mod 7 = 2
Ответ: 2
Задание 3. Найти обратный элемент к числу а по mod b
a = 61, b = 107
a * a-1 mod b = 1
Для решения используем расширенный алгоритм Евклида
a*x + b*y = 1
61*x + 107*y = 1
a |
|
b |
|
q |
|
R |
61 |
= |
107 |
* |
0 |
+ |
107 |
107 |
= |
61 |
* |
1 |
+ |
46 |
61 |
= |
46 |
* |
1 |
+ |
15 |
46 |
= |
15 |
* |
3 |
+ |
1 |
15 |
= |
1 |
* |
15 |
+ |
0 |
1 |
= |
46 |
+ |
(-3) |
* |
15 |
15 |
= |
61 |
+ |
(-1) |
* |
46 |
46 |
= |
107 |
+ |
(-1) |
* |
61 |
1 = 107 + (-1)*61 + (-3)*(61+ (-1)*(107 + (-1)*61))
1 = 107 + (-1)*61 + (-3)*(61 + 61 – 107)
1 = 107 + (-1)*61 + (-3)*(-107) + (-3)*(2*61)
1 = (-7) * 61 + 4 * 107
x = -7 = 100 mod 7 = 100 = a-1
Ответ: a-1 = 100
Задание 4. Используя тест Ферма, проверить является ли число р простым
Теорема. Если p-простое и НОД(a, p) = 1, то 𝑎p−1 = 1 𝑚𝑜𝑑 p
Исследуемое число: p = 229
Выберем 3 случайных числа a: a1 = 3, a2 = 5, a3 = 7
Для каждого a вычислим НОД (ai; p):
НОД (3; 229) = НОД (3; 229 – 3 * 76) = НОД (3; 1) = 1
НОД (5; 229) = НОД (5; 229 – 5 * 45) = НОД (5; 4) = НОД (1; 4) = 1
НОД (7; 229) = НОД (7; 229 – 7 * 32) = НОД (7; 5) = НОД (2; 5) = НОД (2; 1) = 1
Так как проверки в пункте 2 пройдены, то переходим к следующему этапу. Для каждого 𝑎𝑖 проверяем: 𝑎𝑖p−1 = 1 𝑚𝑜𝑑 p:
3229-1 = 1 mod 229
3228 = 1 mod 229
8157 = 1 mod 229
81 * 14928 = 1 mod 229
81 * 21714 = 1 mod 229
81 * 1447 = 1 mod 229
81 * 144 * 1263 = 1 mod 229
214 * 126 * 75 = 1 mod 229
20 * 126 = 1 mod 229
2520 = 1 mod 229
2520 mod 229 = 1
2520 – 229*11 = 1
Следовательно 3229-1 mod 229 = 1.
5229-1 = 1 mod 229
5228 = 1 mod 229
12576 = 1 mod 229
5338 = 1 mod 229
532 * 2712 = 1 mod 229
61 * 1212 = 1 mod 229
61 * 214 = 1 mod 229
13054 = 1 mod 229
13054 mod 229 = 1
13054 – 229*57 = 1
Следовательно 5229-1 mod 229 = 1.
7229-1 = 1 mod 229
7228 = 1 mod 229
11157 = 1 mod 229
4319 = 1 mod 229
43 * 179 = 1 mod 229
43 * 1043 = 1 mod 229
43 * 16 = 1 mod 229
688 = 1 mod 229
688 mod 229 = 1
688 – 229*3 = 1
Следовательно 7229-1 mod 229 = 1.
Так как все проверки пройдены, то можно сделать вывод, что число 229 – простое, с итоговой вероятностью, что мы приняли составное число за простое:
Вывод: В ходе выполнения лабораторной успешно закрепили навыки выполнения вычислений дискретной математики. Были выполнены такие операции как: вычисление НОД, алгоритм быстрого возведения в степень, вычисление обратного элемента по модулю с использованием расширенного алгоритма Евклида, а также использовали тест Ферма, для определения простоты числа, с итоговой вероятностью равной 0,125.
Санкт-Петербург 2023 г