Лаб_10
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,
СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
ФАКУЛЬТЕТ КИБЕРБЕЗОПАСНОСТИ (КБ)
КАФЕДРА ЗАЩИЩЕННЫХ СИСТЕМ СВЯЗИ (ЗСС)
______________________________________________________________________________
Отчет
по лабораторной работе №10
«Квадратичные сравнения»
Выполнили: студенты группы ИБС-32
Проверил:
доцент кафедры ЗСС к.т.н Кушнир Д.В.
Теоретическая часть
Рассмотрим случай x^2=a mod n
Частный случай. Сравнение по модулю простого числа p.
x^2=a mod p. (p-простое, a-целое, НОД(a,p)=1).
Такое сравнение имеет либо два решения, либо не имеет решений.
Пример x^2=3 mod 11 => решения x=5 mod 11 и x=-5 mod 11 (-5=6 mod 11). Т.о. решения 5 и 6.
Пример x^2=2 mod 11 => не имеет решения.
В уравнении
x^2=a mod p, a- называют квадратичным вычетом, если уравнение имеет решения; a- называют квадратичным невычетом, если уравнение не имеет решения. Если p – простое, то (p-1)/2 элементов поля Zp квадратичные вычеты и (p-1)/2 – квадратичные невычеты.
Пример:
p=7, Z*7={1,2,3,4,5,6} (все ненулевые элементы)
12=1 mod 7 22=4 mod 7 32=2 mod 7 42=2 mod 7 52=4 mod 7 62=1 mod 7
Числа 1,2,4 – квадратичные вычеты, а числа 3,5,6 – квадратичные невычеты.
Символ Лежандра
Определение. Для любого простого нечётного «p» и целого «a» символ Лежандра определяется как:
0, если a=0 mod p = 1, если «a» квадратичный вычет по mod p -1, если «a» квадратичный невычет по mod p
Свойства символа Лежандра (см. лекции)
Алгоритм вычисления символа Лежандра (см. лекции)
Критерий Эйлера. (позволяет определить, является ли число a по mod p квадратичным вычетом или невычетом)
Если a(p-1)/2 = 1 mod p, то «a» – квадратичный вычет по модулю «p».
Если a(p-1)/2 = -1 mod p, то «a» – квадратичный невычет по модулю «p».
При составном «n» возможно получение значения a(n-1)/2 = 0 mod n, что означает, что «a» делит «n» (уравнение не имеет решений).
Т.о.
один из способов вычисления символа
Лежандра:
Решение квадратичного сравнения (модуль – простое).
Случай 1. p = 4k+3, т.е. p=3 mod 4, тогда:
X1= a(p+1)/4 mod p и X2= - a(p+1)/4 mod p
Пример.
x^2=3 mod 23. Решение: x=±16 mod 23. x^2=1 mod 11. Решения нет.
Случай 2. p = 4k+1. (Решение относительно сложное – в данной работе не будет рассмотрено)
Решение квадратичного сравнения (модуль – составной).
Квадратичное сравнение по составному модулю может быть приведено к решению системы сравнений по модулю в виде простого числа. Другими словами, мы можем анализировать x^2=a mod n, если имеем разложение n на множители. Теперь мы можем решить каждое анализируемое уравнение (если оно разрешимо) и найти k пар ответов для x.
Пример:
X^2=36 mod 77; 77=7*11.
X^2=36 mod 7=1 mod 7 X^2=36 mod 11=3 mod 11.
Так как каждое из чисел 7 и 11, являются числами вида 4k+3, то возможно использовать указанный выше способ решения.
Далее необходимо проверить, что 1 и 3 квадратичные вычеты. Проверка выполняется (a(p-1)/2 = 1 mod p) и далее решаем каждое уравнение в отдельности, получаем: x=±1 mod 7 и x=±5 mod 11
В итоге формируется 4-ые отдельные системы, каждая из которых даст по одному ответу. Ответ находим по модулю 77.
Система 1: x= +1 mod 7 и x= +5 mod 11 => x= -6 = 71 mod 77; Система 2: x= +1 mod 7 и x= -5 mod 11 => x=-27 = 50 mod 77; Система 3: x= -1 mod 7 и x= +5 mod 11 => x= 27; Система 4: x= -1 mod 7 и x= -5 mod 11 => x= 6.
Практическая часть
Задание 1
Вариант 3 (39)
Вычислим остатки квадратов:
1 |
1 |
2 |
4 |
3 |
9 |
4 |
16 |
5 |
25 |
6 |
36 |
7 |
10 |
8 |
25 |
9 |
3 |
10 |
22 |
11 |
4 |
12 |
27 |
13 |
13 |
14 |
1 |
15 |
30 |
16 |
22 |
17 |
16 |
18 |
12 |
19 |
10 |
Проверим является ли числом вычетом использовав формулу: =ЕСЛИ(СЧЁТЕСЛИ($B$1:$B$25;D1)>0;"ВЫЧЕТ";"невычет")
Вариант 16 (51)
Вычислим остатки квадратов:
1 |
1 |
2 |
4 |
3 |
9 |
4 |
16 |
5 |
25 |
6 |
36 |
7 |
49 |
8 |
13 |
9 |
30 |
10 |
49 |
11 |
19 |
12 |
42 |
13 |
16 |
14 |
43 |
15 |
21 |
16 |
1 |
17 |
34 |
18 |
18 |
19 |
4 |
20 |
43 |
21 |
33 |
22 |
25 |
23 |
19 |
24 |
15 |
25 |
13 |
Проверим является ли числом вычетом использовав формулу: =ЕСЛИ(СЧЁТЕСЛИ($B$1:$B$25;D1)>0;"ВЫЧЕТ";"невычет")
Задание 2
Вариант 3
Числа из промежутка [300…400]
4*84 + 1 = 337 числа меньше половины: 168, 167, 166, 165. Числа больше половины: 169, 170, 171, 172
4*76 + 3 = 307 Числа меньше половины: 153, 152, 151, 150. Числа больше половины: 154, 155, 156, 157
Для числа 337 |
Символ Лежандра |
165 |
1 |
166 |
-1 |
167 |
1 |
168 |
1 |
169 |
1 |
170 |
1 |
171 |
-1 |
172 |
1 |
Для числа 307 |
Символ Лежандра |
150 |
1 |
151 |
-1 |
152 |
-1 |
153 |
1 |
154 |
-1 |
155 |
1 |
156 |
1 |
157 |
-1 |
Пример расчета символа Лежандра для а = 167 и р = 337
167/337 = (-1)^((167-1)/2*(337-1)/2) * (337/167) = 337/167 = 3/167 = (-1)^((3-1)/2*(167-1)/2) * (167/3) = -(167/3) = -2/3 = (-1)^((3^2-1)/8)*(3/2) = 3/2 = 1/2 = 1
Вариант 16
Числа из промежутка [400...500]
4* 100 +1 = 401 Числа меньше половины: 200, 199, 198, 197. Числа больше половины: 201, 202, 203, 204
4 * 104 + 3 = 419 Числа меньше половины: 209, 208, 207, 206. Числа больше половины: 210, 211, 212, 213
Для числа 401 |
Символ Лежандра |
197 |
1 |
198 |
1 |
199 |
-1 |
200 |
1 |
201 |
1 |
202 |
-1 |
203 |
1 |
204 |
1 |
Для числа 419 |
Символ Лежандра |
206 |
1 |
207 |
1 |
208 |
1 |
209 |
1 |
210 |
-1 |
211 |
-1 |
212 |
-1 |
213 |
-1 |
Пример расчета символа Лежандра для а = 199 и р = 401
199/401 = (-1)^((199-1)/2*(401-1)/2) * (401/199) = 401/199 = 3/199 = (-1)^((3-1)/2*(199-1)/2) * (199/3) = -(199/3) = -1/3 = -1
Вывод
После проделанных вычислений можно заметить, что в случае 4*k+1 символы Лежандра отражены зеркально. А в случае 4*k+3 символы Лежандра инвертируются
Задание 3
a1 = 4, a2 = 7, p = 19
x2 = 4 mod 19
x1 = 4(19+1)/4 mod 19 = 17 mod 19 x2 = -4(19+1)/4 mod 19 = -17 mod 19 = 2 mod 19
x2 = 7 mod 19
x1 = 7(19+1)/4 mod 19 = 11 mod 19 x2 = -7(19+1)/4 mod 19 = -11 mod 19 = 8 mod 19
Задание 4
Вариант 16
n = 437
X2 = 36 mod 437
437 = 19*23
X2 = 36 mod 19 = 17 mod 19
X2 = 36 mod 23 = 13 mod 23
Проверка:
17(19-1)/2 = 1 mod 19
13(23-1)/2 = 1 mod 23
X = -+17(19+1)/4 mod 19 = -+ 6 mod 19
X = -+13(23+1)/4 mod 23 = -+6 mod 23
Система 1: х = +17 mod 19 и x = +6 mod 23 => x = 6 mod 437
Система 2: x = +6 mod 19 и x = -6 mod 23 => x = 63 mod 437
Система 3: x = -6 mod 19 и x = 6 mod 23 => x = 374 mod 437
Система 4: x = -6 mod 19 и x = -6 mod 23 => x = 431 mod 437
Ответ: {6, 63, 374, 431}
Вариант 3
n = 319
x2 = 36 mod 319
x2 = 36 mod 11 = 3 mod 11
x2 = 36 mod 29 = 7 mod 29
Проверка:
3(11-1)/2 = 1 mod 11
7(29-1)/2 = 1 mod 29
X = -+5 mod 11
X = -+23 mod 29
Система 1: x = +5 mod 11 и x = +23 mod 29 => x = 228 mod 319
Система 2: x = +5 mod 11 и x = -23 mod 29 => 283 mod 319
Система 3: x = -5 mod 11 и x = +23 mod 29 => 91 mod 319
Система 2: x = -5 mod 11 и x = -23 mod 29 => 36 mod 319
Ответ: {228, 283, 91, 36}
