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

Лабораторная работа №12

.pdf
Скачиваний:
1
Добавлен:
10.08.2024
Размер:
702.43 Кб
Скачать

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

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

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

Факультет Инфокоммуникационных сетей и систем

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

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

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

Индексы/Диофанты уравнения

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

Информационная безопасность (10.03.01)

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

Студент:

 

 

 

Ерохин А.Г.

ИКБ-03

(Ф.И.О.)

 

 

(подпись)

Студент:

 

 

 

Чистяков А.С.

ИКБ-03

(Ф.И.О.)

 

 

(подпись)

Студент:

Пантюхин М.А. ИКБ-03

(Ф.И.О.) (подпись)

К.тех.н, доцент кафедры ЗСС: Кушнир Д.В.

(Ф.И.О.) (подпись)

Санкт-Петербург

2022

Часть 1. Квадратичные сравнения

I.Символ Лежандра.

 

a

 

p 1

 

a

 

1.

 

 

2

 

 

 

 

 

 

p

 

 

(mod p)

2. Алгоритм пошагового вычисления символа Лежандра:

II. Индексы.

Определение. Пусть числа 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.

2

• Запишем две приведенные системы вычетов по модулю 7 и составим таблицу индексов:

30≡1(mod7)

ind3n

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

2

 

3

 

4

 

5

31≡3(mod7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32≡2(mod7)

n

1

 

3

 

2

 

6

 

4

 

5

33≡6(mod7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

34≡4(mod7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

1

 

2

 

 

3

4

 

5

 

6

35≡5(mod7)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ind3n

 

0

 

2

 

 

1

4

 

5

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

III. Диофантовы уравнения первой степени.

Диофантово уравнение с двумя неизвестными имеет вид:

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

3

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 семикопеечных монет и дать ему двенадцатикопеечных.

Процедуру можно упростить, если записать общее решение неоднородного диофантова уравнения:

x = -215 - 12 t y = 129 + 7 t

При значении t = - 18, можно получить частное решение x = 1, y = 3, что более практично..

Задание 1.

Определить разрешимо ли квадратичное сравнение x^2=a mod p. (Вычислить, без программирования, символ Лежандра двумя методами из пункта I., сравнить, что получено одинаковое значение).

Вариант 7.

2 = 5 257

1 – й способ:

 

5

 

257−1

 

 

 

(

) = 5 2

257

= 256 257 = −1 257

 

257

 

 

 

 

 

 

 

 

2 – й способ:

 

 

 

 

 

 

5

 

257

2

5

(

 

) = (

 

) = (

 

) = − (

 

) = −1

257

5

5

2

Ответ: Уравнение не имеет решений

4

Вариант 17.

2 = 5 257

1 – й способ:

 

5

 

257−1

 

 

 

 

 

 

 

 

 

 

 

(

) = 5 2

 

257

= 256 257 = −1 257

 

257

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 – й способ:

 

 

 

 

 

 

 

 

 

 

 

5

257

 

 

2

 

 

5

 

 

(

 

) = (

 

 

) = (

 

) = − (

 

) = −1

257

5

5

2

Ответ: Уравнение не имеет решений

Вариант 24.

 

 

 

 

 

 

 

 

 

 

 

2 = 6 239

 

 

 

 

 

 

 

 

 

 

1 – й способ:

 

 

 

 

 

 

 

 

 

 

 

 

6

 

239−1

 

 

 

 

 

 

 

 

 

 

 

(

) = 6 2

 

239

= 1 257

 

 

239

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 – й способ:

 

 

 

 

 

 

 

 

 

 

 

3

239

2

 

 

 

−1

(

 

) = − (

 

 

) = − (

 

) = − (

 

) = 1

239

3

 

3

3

Ответ: Уравнение имеет решения

Задание 2.

Составить таблицу индексов для основания а и модуля p. Отметить случаи (если встретились), когда задача вычисления индекса (дискретного логарифма) неразрешима.

Вариант 7. a = 7, p = 29

idn3n

n

0

1

1

3

2

9

3

27

4

23

5

11

6

4

7

12

8

7

9

21

5

10

5

11

15

12

16

13

19

14

28

15

26

16

20

17

2

18

6

19

18

20

25

21

17

22

22

23

8

24

24

25

14

26

13

27

10

28

1

Вариант 17. a = 7, p = 29

idn3n

n

0

1

1

3

2

9

3

27

4

23

5

11

6

4

7

12

8

7

9

21

10

5

11

15

12

16

13

19

14

28

15

26

16

20

17

2

18

6

6

19

18

20

25

21

17

22

22

23

8

24

24

25

14

26

13

27

10

28

1

Вариант 24. a = 2, p = 23

idn3n

n

0

1

1

2

2

4

3

8

4

16

5

3

6

6

7

12

8

24

9

19

10

9

11

18

12

7

13

14

14

28

15

27

16

25

17

21

18

13

19

26

20

23

21

17

22

5

Задание 3.

Решить (без программирования) диофантово уравнение ax+by=c. Выписать частное и общее решение. Выбрать конкретное решение с «не слишком большими» значениями «x» и «y».

7

Вариант 7.

a = 11, b = 24, c = 43 11x + 24y = 43

Применяем алгоритм Евклида:

24 = 11*2 + 2

11 = 2*5 + 1

2 = 1*2

Следовательно НОД = 1:

1 = 11 – 2*5

2 = 24 – 11*2 1 = 11 – 5*(24 – 11*2) = 11 +10*11 – 5*24

1 = (-5)*24 + 11*11 -> u = 11, v = -5

x0 = uc = 11*43 = 473 y0 = vc = (-5)*43 = -215

x = 473 – 24t y = -215 + 11t

При значении t = 19 получаем: x = 17, y = -6

Вариант 17.

a = 11, b = 24, c = 43 11x + 24y = 43

Применяем алгоритм Евклида:

24 = 11*2 + 2

11 = 2*5 + 1

2 = 1*2

Следовательно НОД = 1:

1 = 11 – 2*5

2 = 24 – 11*2 1 = 11 – 5*(24 – 11*2) = 11 +10*11 – 5*24

1 = (-5)*24 + 11*11 -> u = 11, v = -5

x0 = uc = 11*43 = 473 y0 = vc = (-5)*43 = -215

x = 473 – 24t y = -215 + 11t

При значении t = 19 получаем: x = 17, y = -6

8

Вариант 24.

a = 11, b = 21, c = 31 11x + 21y = 31

Применяем алгоритм Евклида:

21 = 11*1 + 10

11 = 10*1 + 1

10 = 1*10

Следовательно НОД = 1:

1 = 11 – 10*1

10 = 21 – 11*1 1 = 11 – 1*(21 – 11*1) = 11 +11 – 21

1 = (-1)*21 + 2*11 -> u = 2, v = -1

x0 = uc = 2*31 = 62 y0 = vc = (-1)*31 = -31

x = 62 – 21t y = -31 + 11t

При значении t = 3 получаем: x = -1, y = 2

9