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

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

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

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

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

(СПбГУТ)

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

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

______________________________________________________________________________

Отчет

по лабораторной работе №11

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

Выполнили: студенты группы ИБС-32

Проверил:

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

Теоретическая часть

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

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

  1. Индексы.

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

  • ind3n

    0

    1

    2

    3

    4

    5

    n

    1

    3

    2

    6

    4

    5

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

n

1

2

3

4

5

6

ind3n

0

2

1

4

5

3

30≡1(mod7)
31≡3(mod7)
32≡2(mod7)
33≡6(mod7)
34≡4(mod7)
35≡5(mod7)

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

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

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 копейки. Как это сделать? Решаем уравнение:

+ 12 = 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),

т.е. = - 5, = 3.

Частное решение: uc = (- 5) · 43 = - 215  vc = 3 · 43 = 129.

Т.о. необходимо «отобрать» у кассира 215 семикопеечных монет и дать ему 129 двенадцатикопеечных. Процедуру можно упростить, если записать общее решение неоднородного диофантова уравнения:

= -215 - 12  = 129 + 7 t

При значении = - 18, можно получить частное решение = 1, = 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

  1. 7 = 15 – 8

  2. 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

  1. 11 = 27 – 16

  2. 5 = 27 – 2*11 = 27 – 2*(27 – 16 ) = 27 – 2*27 + 2*16 = -1*27 + 2*16

  3. 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

9

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