Скачиваний:
0
Добавлен:
18.09.2026
Размер:
124 Кб
Скачать

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

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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

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

(СПбГУТ)

ФАКУЛЬТЕТ КИБЕРБЕЗОПАСНОСТИ (КБ)

КАФЕДРА ЗАЩИЩЕННЫХ СИСТЕМ СВЯЗИ (ЗСС)

______________________________________________________________________________

Отчет

по лабораторной работе №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}

15

Соседние файлы в предмете Математические основы защиты информации