Скачиваний:
3
Добавлен:
14.06.2023
Размер:
134.14 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М.А. Бонч-Бруевича»

(СПБГУТ)

__________________________________________________________________

Факультет ИКСС

Кафедра ЗСС

Отчет к лабораторной работе № 11 по дисциплине:

«Математические основы защиты информации»

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

Выполнил студент Группа ИКБ-14:

Травкина Е. А.

Проверил:

Кушнир Д.В.

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

2023

Лабораторная/Практика.

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

  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.

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

Вариант 23(3): x^2=5 mod 233

  1. 5/233 = 5^((233-1)/2) mod 233 = 5^116 (mod 233) = 232 = -1

  2. a/p = (-1)^(((233-1)/2)((5-1)/2)*(233/5) = (-1)^(116*2)*(233/5) = 233/5

233 = 5*q+r = 5*46 + 3

233/5 = 3/5

3/5= (-1)^(((5-1)/2)((3-1)/2)*(5/3) = (-1)^(2*1)*(5/3) = 5/3

5 = 3*q+r = 3*1 + 2

5/3 = 2/3

2*2/3 = (-1)^((3^2-1)/8)*(2/3) = (-1)^(1)*(2/3) = -2/3

3 = 2*p +r = 2*2 - 1

2/3 = -1/3

-1/3 = (-1)^((p-1)/2) = (-1)^1 = -1

Ответ: символ Лежандра равен -1, следовательно 5 – квадратичный невычет

Задание 2.

Составить таблицу индексов для основания а и модуля p. Отметить случаи (если встретились), когда задача вычисления индекса (дискретного логарифма) неразрешима. Вариант 23(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

Таблица индексов

N

1

4

5

16

17

20

Ind5(n)

0, 6…

2,8…

1,7…

4,10…

5,11…

3,9…

Задание 3.

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

15x + 8y = 47

15 = 8*1 + 7 >> 8 = 15 – 7 = 15 – (8-1)

8 = 7*1 + 1 >> 7 = 8 – 1

7 = 7*1

1 = 8 – 7*1 = 8 - (15 - 8) = (-1)*15 + 2*8

u = -1

v = 2

x0 = uc = -1*47 = -47

y0 = vc = 2*47 = 94

x = -47 + 8*t

y= 94 - 15*t

При t = 6, y = 4, x = 1.

7

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