Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kratky_Kurs_Lektsiy_izbrannoe_2013.doc
Скачиваний:
0
Добавлен:
18.02.2020
Размер:
422.4 Кб
Скачать

28

Министерство образования и науки Украины

Запорожский национальный технический университет

_______________________________________________________

Г.Л. Козина, А.В. Неласая

Краткий курс лекций по математическим основам криптографии

(избранные главы)

Запорожье

2013

Козина Г.Л., Неласая А.В. Краткий курс лекций по математическим основам криптографии. – Запорожье: ЗНТУ, 2013. – 28 стр.

Настоящий курс лекций (избранные главы) предназначен для изучения математических основ криптографии в рамках курсов «Безопасность программ и данных» и «Технологии защиты информации» для студентов направлений «Программная инженерия» и «Компьютерные науки».

Содержание

§ 1 Понятия теории чисел 4

§ 2 Генераторы псевдослучайных чисел. Линейный конгруэнтный генератор 8

§ 5 Алгоритм последовательного возведения в квадрат 10

§ 8 Дискретный логарифм 12

§ 10 Группы 14

§ 11 Кольца. Поля 19

§ 12 Эллиптические кривые в криптографии 22

Литература 28

§ 1 Понятия теории чисел

Натуральное число называется простым, если оно не имеет делителей, кроме себя и 1. Натуральное число называется составным, если оно имеет, по крайней мере, два делителя, больших 1.

Утверждение. Любое натуральное число, отличное от 1, можно представить в виде произведения простых чисел.

Утверждение. Для каждого натурального числа существует единственное разложение на простые множители с точностью до следования сомножителей.

Каноническим разложением натурального числа n называется представление числа в виде

где p1, p2,…, pk – попарно различные простые числа, 1, 2,…, k – натуральные числа.

Утверждение (теорема Евклида). Множество простых чисел бесконечно.

Утверждение. Если натуральное число n – составное, то оно имеет хотя бы один делитель, больший 1 и не превосходящий .

Обозначим через НОД( a, b ) наибольший общий делитель двух чисел a и b .

Если два числа a и b не имеют общих делителей, они называются взаимно простыми, т.е. НОД( a, b ) = 1 или ( a, b ) = 1.

Обозначим через НОК( a, b ) наименьшее общее кратное двух чисел a и b . Для любых двух натуральных чисел a и b наименьшее общее кратное определяется формулой

НОК( a, b ) = a b / НОД( a, b ).

Если два числа a и b взаимно просты, то НОК( a, b ) = a b.

Алгоритм Евклида нахождения наибольшего общего делителя

Пусть даны два натуральных числа a и b , a < b .

Найдем остатки от деления

b = a q0 + r1

a = r1 q1 + r2

r1 = r2 q2 + r3

r2 = r3 q3 + r4

…………….

rn-2 = rn-1 qn–1 + rn

rn-1 = rn qn

НОД( a, b ) = rn .

Пример. Найдем НОД(114, 534).

534 = 114*4 + 78, 114 = 78*1 + 36, 78 = 36*2 + 6, 36 = 6*6. НОД(114, 534)=6.

Сравнения и их свойства

Возьмем натуральное число n и рассмотрим остатки от деления целых чисел на n .

Определение. Два целых a и b сравнимы по модулю n, если разность ab делится на n без остатка:

a = b mod n (1)

Сравнения обладают следующими свойствами:

  1. a = a mod n

  2. a = b mod n b = a mod n

  3. a = b mod n и b = c mod n a = c mod n

  4. a = b mod n  k + b = k + a mod n

  5. a = b mod n  kb = ka mod n

  6. kb = ka mod n и ( k, n ) = 1  a = b mod n

  7. a = b mod n и c = d mod n a + c = b + d mod n

  8. a = b mod n и c = d mod n a c = b d mod n

  9. a = b mod n ak = bk mod n для любого целого k

  10. a = b mod n a = b + n t , где t – целое число

Запись означает, что само число a делится на , т.е. .

Если зафиксировать некоторый модуль сравнения , то всякое натуральное число можно единственным образом представить в виде

, (2)

где – частное от деления на , а – остаток, совпадающий с одним из чисел

Остаток называют вычетом числа по модулю . Запись вида (2), где , допускает не только натуральные, но и любые целые числа. Из равенства (2) следует, что , т.е. всякое число сравнимо со своим остатком (вычетом) по модулю .

Пусть и – два произвольных числа, записанные в виде (2):

, .

Каждый из остатков и – это одно из чисел множества { }, поэтому их разность может делиться на лишь в одном случае, когда . Но тогда и разность может делиться на тогда и только тогда, когда . Отсюда следует, что тогда и только тогда, когда числа и имеют одинаковые остатки при делении на .

Определение. Классом вычетов по модулю называются все числа, имеющие один и тот же вычет по модулю , и, следовательно, сравнимые между собой по этому модулю:

Каждому вычету отвечает свой класс вычетов: .

Классы вычетов попарно не пересекаются, и каждое целое число попадает ровно в один класс. Используя операции сложения и умножения чисел, можно производить аналогичные операции и над классами вычетов.

Пусть и – два класса вычетов. Выберем любые два числа из этих классов: . Пусть оказалось, что сумма имеет вычет , а произведение – вычет :

.

Тогда будем считать, что «сумма» классов и равна , а их «произведение» равно :

.

Класс, которому принадлежит сумма (соответственно произведение ) не зависит от выбора элементов и в классах и .

Пример. Пусть модуль сравнения . В этом случае имеем два класса вычетов – и , а операции над ними выглядят так:

Часто в обозначениях классов вычетов опускают черту, записывая их как обычные натуральные числа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]