Лаб_11
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
ФАКУЛЬТЕТ КИБЕРБЕЗОПАСНОСТИ (КБ)
КАФЕДРА ЗАЩИЩЕННЫХ СИСТЕМ СВЯЗИ (ЗСС)
______________________________________________________________________________
Отчет
по лабораторной работе №11
«Индексы/Диофантовы уравнения»
Выполнили: студенты группы ИБС-32
Проверил:
доцент кафедры ЗСС к.т.н Кушнир Д.В.
Теоретическая часть
Символ Лежандра.
Алгоритм пошагового вычисления символа Лежандра:
Индексы.
Определение. Пусть числа a и b взаимно просты с n, т. е. НОД(a, n) = 1, НОД(b, n) = 1. Число s называется индексом b по модулю n и основанию a, если as ≡ b mod n.
Понятие индекса представляет собой аналогию понятия логарифма. (В дальнейшем часто будет использоваться понятие дискретный логарифм)
В общем случае определение значения индекса (или определения, что его не существует) является сложной задачей.
Один из способов решения – табличный.
Таблица индексов по модулю 7 для основания 3 (число 3 – первообразный корень).
1) 1, 2, 3, 4, 5, 6; 2) 30, 31, 32, 33, 34, 35.
Запишем две приведенные системы вычетов по модулю 7 и составим таблицу индексов:ind3n
0
1
2
3
4
5
n
1
3
2
6
4
5
n |
1 |
2 |
3 |
4 |
5 |
6 |
ind3n |
0 |
2 |
1 |
4 |
5 |
3 |
31≡3(mod7)
32≡2(mod7)
33≡6(mod7)
34≡4(mod7)
35≡5(mod7)
Диофантовы уравнения первой степени.
Диофантово уравнение с двумя неизвестными имеет вид:
a x + b y = c,
где a, b, c — заданные целые числа, x и y — неизвестные целые числа.
Найти одно из решений диофантова уравнения с двумя неизвестными можно с помощью Расширенного алгоритма Евклида.
Пусть a и b неотрицательны. Расширенный алгоритм Евклида по заданным неотрицательным числам a и b находит их наибольший общий делитель g, а также такие коэффициенты xg и yg, что:
a * xg + b * yg = g.
Если c делится на g = НОД (a,b), то диофантово уравнение a*x + b*y = c имеет решение; в противном случае диофантово уравнение решений не имеет.
одним из решений диофантова уравнения являются числа:
x0 = xg * (c / g) y0 = yg * (c / g).
Пример: имеются монеты достоинством только в 7 и 12 копеек, необходимо уплатить 43 копейки. Как это сделать? Решаем уравнение:
7 x + 12 y = 43
Применяем алгоритм Евклида:
12 = 7· 1 + 5 7 = 5· 1 + 2 5 = 2· 2 + 1 2 = 1· 2
Значит, наибольший общий делитель чисел 7 и 12 равен 1 , а его линейное выражение таково (расширенный алгоритм Евклида): 1 = 5 - 2· 2 = 5 - (7 - 5) · 2 = (12 - 7) - (7 - (12 - 7) · 2) = 12· 3 + 7· (- 5),
т.е. u = - 5, v = 3.
Частное решение: x 0 = uc = (- 5) · 43 = - 215 y 0 = vc = 3 · 43 = 129.
Т.о. необходимо «отобрать» у кассира 215 семикопеечных монет и дать ему 129 двенадцатикопеечных. Процедуру можно упростить, если записать общее решение неоднородного диофантова уравнения:
x = -215 - 12 t y = 129 + 7 t
При значении t = - 18, можно получить частное решение x = 1, y = 3, что более практично...
Практическая часть
Задание 1
Вариант 3 (3)
x^2=5 mod 233
a = 5, p = 233
Способ 1
a/p = a^((p-1)/2) mod p = 5^(116) mod 233 = 232 mod 233 = -1 mod 233
Способ 2
5/233 = (-1)^((5-1)/2*(233-1)/2) * (233/5) = 233/5 = 3/5 = (-1)^((3-1)/2*(5-1)/2)*(5/3) = 2/3 = (-1)^((3^2-1)/8)*(3/2) = -(3/2) = - (1/2) = -1 = (-1)^((2-1)/2) =
= -1
Вариант 16 (6)
x^2=4 mod 251
a = 4, p = 251
Способ 1
a/p = a^((p-1)/2) mod p = 4^(125) mod 251 = 1
Способ 2
4/251 = (-1)^((251^2-1)/8)*(251/4) = -(251/4) = -(3/4) = -((-1)^((3^2-1)/8) * (4/3))= -(-(4/3)) = 1/3 = 1
Задание 2
Вариант 3: а=5, p=21
5^0 = 1 mod 21
5^1 = 5 mod 21
5^2 = 4 mod 21
5^3 = 20 mod 21
5^4 = 16 mod 21
5^5 = 17 mod 21
5^6 = 1 mod 21
5^7 = 5 mod 21
5^8 = 4 mod 21
5^9 = 20 mod 21
5^10 = 16 mod 21
5^11 = 17 mod 21
5^12 = 1 mod 21
5^13 = 5 mod 21
5^14 = 4 mod 21
5^15 = 20 mod 21
5^16 = 16 mod 21
5^17 = 17 mod 21
5^18 = 1 mod 21
5^19 = 5 mod 21
5^20 = 4 mod 21
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
1 |
5 |
4 |
20 |
16 |
17 |
1 |
5 |
4 |
20 |
16 |
17 |
1 |
5 |
4 |
20 |
16 |
17 |
1 |
5 |
4 |
Вариант 16
Вариант 6: а=5, p=29
5^0 = 1 mod 21
5^1 = 5 mod 21
5^2 = 25 mod 21
5^3 = 9 mod 21
5^4 = 16 mod 21
5^5 = 22 mod 21
5^6 = 23 mod 21
5^7 = 28 mod 21
5^8 = 24 mod 21
5^9 = 4 mod 21
5^10 = 20 mod 21
5^11 = 13 mod 21
5^12 = 7 mod 21
5^13 = 6 mod 21
5^14 = 1 mod 21
5^15 = 5 mod 21
5^16 = 25 mod 21
5^17 = 9 mod 21
5^18 = 16 mod 21
5^19 = 22 mod 21
5^20 = 23 mod 21
5^21 = 28 mod 21
5^22 = 24 mod 21
5^23 = 4 mod 21
5^24 = 20 mod 21
5^25 = 13 mod 21
5^26 = 7 mod 21
5^27 = 6 mod 21
5^28 = 1 mod 21
0 |
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 |
1 |
5 |
25 |
9 |
16 |
22 |
23 |
28 |
24 |
4 |
20 |
13 |
7 |
6 |
1 |
5 |
25 |
9 |
16 |
22 |
23 |
28 |
24 |
4 |
20 |
13 |
7 |
6 |
1 |
Задание 3
Вариант 3: а=15, b=8, c=47
Составим уравнение 15x + 8y = 47
Применяем алгоритм Евклида:
15 = 8 * 1 + 7
8 = 7 * 1 + 1
7 = 1 * 7 + 0
7 = 15 – 8
1 = 15 – 2*7 = 15 – 2*(15 - 8) = 15 – 2*15 + 2*8 = -1 * 15 + 2 * 8
u = -1, v = 2
Частное решение:
X0 = uc = (-1) * 47 = -47
Y0 = vc = 2 * 47 = 94
Общее решение:
X = - 47 - 15 t
Y = 94 + 8 t
Вариант 16
Вариант 6: а=16, b=27, c=41
Составим уравнение
16*x + 27*y = 41
Расширенный алгоритм Евклида:
27 = 16*1 + 11
16 = 11*1+5
11 = 5 * 2+ 1
5 = 1*5 + 0
11 = 27 – 16
5 = 27 – 2*11 = 27 – 2*(27 – 16 ) = 27 – 2*27 + 2*16 = -1*27 + 2*16
1 = 11 – 2*5 = 27 – 16 – 2(-1*27 + 2 * 16) = 27 -16 + 2*27 – 4*16= 3*27 – 5*16
u = 3, v = -5
Частное решение:
X0 = uc = 3 * 41 = 123
Y0 = vc = -5 * 41 = -205
Общее решение:
X = 123 * 27 t
Y = -205 * (-16) t
