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

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

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

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

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

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

(СПБГУТ)

__________________________________________________________________

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

Кафедра ЗСС

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

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

Тема: «Китайская теорема об остатках»

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

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

Проверил:

Кушнир Д.В.

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

2023

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

Китайская теорема об остатках

Согласно китайской теореме об остатках, система уравнений:

x= 1 mod 2 x= 2 mod 3 x= 6 mod 7

Имеет единственное решение на промежутке [0... 2*3*7], если числа 2,3,7 — взаимно простые.

Найдем решение на промежутке от 0 до 42 (перебором):

Решения первого уравнения: 1,3,5,7,9,11,...37,39,41, ... Решения второго уравнения: 2,5,8,11,...38,41,... Решения третьего уравнения: 6,13,20,27,34,41,...

Итоговое решение x=41.

Найдём аналитически решение системы уравнений:

x=1 mod 13 x=4 mod 15 x=8 mod 19

Выразим x из первого уравнения:

Выражение x=1 mod 13, можно записать в виде:

x=1+13*t, где t - некоторое произвольное целое.

Подставляем выражение для x из первого уравнения во второе уравнение:

x = 4 mod 15 1+13t = 4 mod 15 13t = 3 mod 15 t = 3/13 mod15

В модульной арифметике "нет такого понятия как деление", вместо деления необходимо производить умножение на обратный элемент.

t = 3*(13)(-1) mod15

Обратный элемент находят с помощью расширенного алгоритма Эвклида, для небольших чисел в демонстрационных целях можно использовать метод перебора на основе определения обратного элемента:

1*13=13 mod 15 2*13=11 mod 15 3*13= 9 mod 15 4*13= 7 mod 15 5*13= 5 mod 15 6*13= 3 mod 15 7*13= 1 mod 15 ... т.е. t = 3*(13)(-1) =3*7 mod 15

t = 6 mod 15

раскроем модуль:

t = 6 + 15*u, где u - целое число.

теперь подставим это в выражение для х:

x = 1+13t = 1 + 13(6 + 15u) = 79 + 195u

(таким образом, мы получили выражение для «х» с учетом двух уравнений).

Подставим найденное выражение для х в третье уравнение:

79+195u=8 mod19

5u=5mod19

u=5/5mod19 (тут можно было бы тоже не делить на 5, а умножать на обратное к 5 число, но выражение запись 5*5(-1)mod 19 всегда равно 1 по определению обратного элемента, т.е. получаем:

u = 1 mod 19 раскрываем модуль:

u = 1 + 19v, где v - целое число.

Подставляем в выражение для х

Итого с учетом всех трёх уравнений:

x = 79 + 195u = 79 + 195*(1 + 19v) = 274+3705v

Решение на промежутке [0 ... 13*15*19]=274, но есть и другие решения системы, вне промежутка, которые можно получить, принимая в качестве v значения 0, 1, 2, 3, …, …, …, … (В качестве v можно брать и отрицательные числа, что необходимо для решения некоторых задач).

Типичные задачи, которые можно решить на основе подобных подходов:

Задача 1: Как часто стрелки часов (секундная, минутная, часовая) сходятся вместе.

Задача 2: В какие моменты времени несколько спутников с разным периодом обращения вокруг Земли будут одновременно пересекать заданную долготу.

Китайская теорема об остатках может использоваться и в криптографии, как для выполнения процедур шифрования, так и для криптоанализа.

Решение на основе Китайской теореме об остатках:

Задание.

Задача 1 (Методом перебора)

Имеется не более 105 кубиков. Их поочерёдно располагают по 3, по 5 или по 7 в ряд. Последний ряд в некоторых случаях оказывается заполненным не полностью (несколько кубиков оказываются «лишними»). По количеству «лишних» кубиков определить их общее количество.

Вариант 23(3). Остаток кубиков при раскладывании в ряд по 3 – 0, в ряд по 5 – 2, в ряд по 7 – 4.

Раскладывают по 3 кубика с остатком 0 будем максимум в 35 рядов. Остаток от кубиков 0.

3, 6, 9, 12… 99, 102, 105

Раскладывают по 5 кубика с остатком 2 будем максимум в 21 ряд. Остаток от кубиков 3.

2, 7, 12, 17… 92, 97, 102

Раскладывают по 7 кубика с остатком 4 будем максимум в 15 ряд. Остаток от кубиков 3.

4, 11, 18, 25… 88, 95,102

Ответ: x = 102

Задача 2

    1. Вариант 23 (3)

    2. Спутник1 пролетает над городом в x1 = 2 час и имеет период обращения y1 = 3 часов.

    3. Спутник2 пролетает над городом в x2 = 3 час и имеет период обращения y2 = 5 часов.

    4. Спутник3 пролетает над городом в x3 = 4 час и имеет период обращения y3 = 8 часов.

Определить, когда все три спутника пролетят одновременно и как часто это бывает:

  1. Использовать аналитический метод:

Составим уравнения, и упорядочим их по возрастанию модуля для удобства:

8 mod 24

x = 2 ( mod 3 )

x = 3 ( mod 5 )

x = 4 ( mod 8 )

x = 2 + 3t

2+3t = 3mod5

3t = 1mod5

t = 1*3^(-1)mod5

1*3 = 3 mod5

2*3 = 1 mod5

t = 2 mod5

t = 2+5u

x = 2 + 3t = 2 + 3(2+5u) = 2 + 6 + 15u = 8 + 15u

8+15u = 4 mod8

15u = 4 mod8

u=4*15^(-1) mod8

u=4 mod 8

u=4+8v

x = 8+15u = 8 + 15(4 + 8v) =53+56 + 120v= 68 + 120v

  1. Использовать метод, основанный на Китайской теореме об остатках (приведённый на «слайдах»).

x = 2 ( mod 3 )

x = 3 ( mod 5 )

x = 4 ( mod 8 )

    1. M = 3*5*8 = 120

    2. M1 = 120 / 3 = 40, M2 = 120 / 5 = 24, M3 = 120/8 = 15

    3. N1 = 1, N2 = 4, N3 = 7

    4. X = 2*40*1 + 3*24*4 + 4*15*7 = 788 788 = 68 mod 120

8

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