Top Banner
Ахметов Б.С., Кузнецов А.А., Краснобаев В.А., Алимсеитова Ж.К., Кузнецова Т.Ю. ОСНОВЫ КРИПТОГРАФИИ: ЭЛЕМЕНТЫ ТЕОРИИ ЧИСЕЛ, ГРУПП, ПОЛЕЙ, КОЛЕЦ Учебное пособие Рекомендованно Республиканским учебно-методическим советом Министерства образования и науки Республики Казахстан Алматы - 2019
320

ОСНОВЫ КРИПТОГРАФИИ:

Jan 22, 2023

Download

Documents

Khang Minh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ОСНОВЫ КРИПТОГРАФИИ:

Ахметов Б.С., Кузнецов А.А., Краснобаев В.А.,

Алимсеитова Ж.К., Кузнецова Т.Ю.

ОСНОВЫ КРИПТОГРАФИИ: ЭЛЕМЕНТЫ ТЕОРИИ ЧИСЕЛ,

ГРУПП, ПОЛЕЙ, КОЛЕЦ

Учебное пособие

Рекомендованно Республиканским учебно-методическим советом

Министерства образования и науки Республики Казахстан

Алматы - 2019

Page 2: ОСНОВЫ КРИПТОГРАФИИ:

2

УДК 511.17:004(075.8)

ББК 32.973.202 я 73

О75

Рецензенты:

Доктор технических наук, профессор Джурунтаев Д.З.

Доктор PhD, ассоциированный профессор Картбаев Т.С.

Доктор PhD Алибиева Ж.М.

Ахметов Б.С., Кузнецов А.А., Краснобаев В.А., Алимсеитова Ж.К.,

Кузнецова Т.Ю. Основы криптографии: элементы теории чисел, групп,

полей, колец. Учебное пособие. – Алматы. АУЭС, 2019 – 320 с. Ил. 32.

Табл. 32. Библиогр. – 31 назв.

ISBN 978-601-7307-76-9

В учебном пособии излагаются основные понятия и положения теории

чисел, групп, полей, колец, составляющие математическую основу

современных методов и вычислительных алгоритмов помехоустойчивого

кодирования и криптографической защиты информации.

Учебное пособие предназначено для бакалавров, магистрантов и

докторантов по направлению подготовки кадров «Информационные и

коммуникационные технологии».

Печатается по плану издания Министерства образования и науки

Республики Казахстан на 2019 год.

УДК 511.17:004(075.8)

ББК 32.973.202 я 73

ISBN 978-601-7307-76-9

© Ахметов Б.С., Кузнецов А.А.,

© Краснобаев В.А., Алимсеитова Ж.К.,

© Кузнецова Т.Ю.

© АУЭС, 2019

Page 3: ОСНОВЫ КРИПТОГРАФИИ:

3

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 6

1. ОСНОВНЫЕ ПОНЯТИЯ И ТЕОРЕМЫ ТЕОРИИ ДЕЛИМОСТИ 8

1.1. Теоремы делимости 8

1.2. Наибольший общий делитель и алгоритм Евклида 11

1.3. Линейные диофантовы уравнения с двумя неизвестными 19

1.4. Простые числа и «основная» теорема арифметики 23

2. ЦЕПНЫЕ ДРОБИ 28

2.1. Разложение вещественных чисел в цепные дроби 28

2.2. Вычисление подходящих дробей 31

2.3. Золотое сечение и формулы Бине 35

2.4. Континуанты и анализ алгоритма Евклида 42

3. ВАЖНЕЙШИЕ ФУНКЦИИ ТЕОРИИ ЧИСЕЛ 46

3.1. Целая и дробная часть вещественного числа 46

3.2. Количество и сумма делителей положительного целого числа.

Совершенные числа

47

3.3. Мультипликативные функции и их свойства 50

3.4. Мультипликативная формула для количества и суммы делителей

положительного целого числа

52

3.5. Необходимые и достаточные условия существования совершенных

четных чисел

53

3.6. Простые числа Мерсенна и Ферма 56

3.7. Функция Мебиуса и ее свойства 59

3.8. Функция Эйлера и ее свойства 60

3.9. -функция Римана и некоторые ее свойства 64

4. ОСНОВНЫЕ ПОНЯТИЯ И СВОЙСТВА СРАВНЕНИЙ 70

4.1. Основные понятия теории сравнений 70

4.2. Основные свойства сравнений, подобные свойствам уравнений 71

4.3. Полная система отчислений 75

4.4. Приведенная система вычетов 77

5. СИСТЕМЫ ВЫЧЕТОВ И ИХ СВОЙСТВА 82

5.1. Комплексные корни m-й степени из единицы и их связь с

приведенной системой вычетов

82

5.2. Многочлены деления круга 88

6. ТЕОРЕМА ЭЙЛЕРА И ТЕОРЕМА ФЕРМА. СРАВНЕНИЯ ПЕРВОЙ

СТЕПЕНИ

95

6.1. Теорема Эйлера и теорема Ферма 95

6.2. Сравнение первой степени 100

7. КИТАЙСКАЯ ТЕОРЕМА ОБ ОСТАТКАХ 112

7.1. Сравнение произвольной степени по простому модулю 115

7.2. Сравнение произвольной степени по составному модулю 119

8. СИМВОЛ ЛЕЖАНДРА И ЕГО СВОЙСТВА. ЗАКОН ВЗАИМНОСТИ

ГАУССА. СИМВОЛ ЯКОБИ

129

Page 4: ОСНОВЫ КРИПТОГРАФИИ:

4

8.1. Сравнение второй степени. Символ Лежандра 129

8.2. Свойства символа Лежандра и закон взаимности Гаусса 132

8.3. Символ Якоби 140

9.ПРИМЕНЕНИЕ МЕТОДОВ ТЕОРИИ ЧИСЕЛ ДЛЯ

КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ

148

9.1. Схема распределения секрета с применением китайской теоремы об

остатках

148

9.2. Криптографические преобразования с открытым ключом 153

9.2.1. Алгоритм обмена ключами Диффи-Хеллмана 153

9.2.2. Алгоритм RSA 156

9.2.3. Алгоритм Эль-Гамаля 158

9.3. Алгоритм шифрования с правдоподобным отрицанием 162

10.ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ ТЕОРИИ ГРУПП 166

10.1. Определение и основные свойства группы 166

10.2. Подгруппы и смежные классы. Теоремы Келли и Лагранжа в

теории групп, теорема о гомоморфизме групп

176

10.3. Свойства симметрической группы 178

11. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ ТЕОРИИ ПОЛЕЙ И

КОЛЕЦ

191

11.1. Определение и основные свойства кольца 191

11.2. Определение и основные свойства поля 195

11.3. Многочлены над полем 197

11.4. Конечные поля, основанные на кольце многочленов 208

12. СТРУКТУРА И ОСНОВНЫЕ СВОЙСТВА КОНЕЧНЫХ ПОЛЕЙ 213

12.1. Линейные рекуррентные регистры с обратными связями 213

12.2. Примитивные элементы конечных полей 220

12.3. Минимальные многочлены и алгебраическая структура конечных

полей

224

13. ВЕКТОРНЫЕ ПРОСТРАНСТВА И ЭЛЕМЕНТЫ ЛИНЕЙНОЙ

АЛГЕБРЫ

237

13.1. Векторные пространства и основные свойства 237

13.2. Конечное поле как векторное пространство 243

13.3. Элементы линейной алгебры 247

13.4. Определение и основные свойства групповых кодов. Матричное

описание линейных блоковых кодов

251

14. СПЕКТРАЛЬНЫЕ ПРЕОБРАЗОВАНИЯ В КОНЕЧНЫХ ПОЛЯХ 265

14.1. Преобразование Фурье в полях Галуа 265

14.2. Свойства сдвига, свертки и корней при преобразовании Фурье в

полях Галуа

272

14.3. Ограничения сопряженности 280

15 ЭЛЕМЕНТЫ АЛГЕБРАИЧЕСКОЙ ТЕОРИИ БЛОКОВЫХ КОДОВ 289

15.1. Циклические коды. Определение и основные свойства 289

15.2. Теорема Боуза-Чоудхури-Хоквингема 298

15.3. Построение векторного пространства с заданными 300

Page 5: ОСНОВЫ КРИПТОГРАФИИ:

5

дистанционными свойствами через преобразования в спектральной

области

16. МАТЕМАТИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ В ГРУППЕ ТОЧЕК

ЭЛЛИПТИЧЕСКОЙ КРИВОЙ

306

16.1. Определение группы точек эллиптической кривой 306

16.2. Формулы сложения и скалярного умножения точек эллиптической

кривой в соответствии с ГОСТ P 34.10-2001 и FIPS-186

307

16.3. Формулы сложения и скалярного умножения точек эллиптической

кривой в соответствии с ДСТУ 4145-2002

317

СПИСОК ЛИТЕРАТУРЫ 318

Page 6: ОСНОВЫ КРИПТОГРАФИИ:

6

ВВЕДЕНИЕ

Теория чисел, или высшая арифметика, — раздел математики,

первоначально изучавший свойства целых чисел. В современной теории чисел

рассматриваются и другие типы чисел — например, алгебраические и

трансцендентные, а также функции различного происхождения, которые

связаны с арифметикой целых чисел и их обобщений.

В исследованиях по теории чисел, наряду с арифметикой и алгеброй,

применяются геометрические и аналитические методы, а также методы

теории вероятностей. Методы теории чисел широко применяются в

криптографии, вычислительной математике, информатике.

В элементарной алгебре применение арифметических операций

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

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

чисел вместо символов дают решение частных числовых задач. В

современной алгебре уровень абстракции возрастает: от обычных операций

над действительными числами переходят к общим операциям – процессам

образования в некотором множестве общего вида из двух или более данных

элементов некоторого нового элемента. При этом ставится цель изучить

общие свойства всевозможных систем, состоящих из множества и некоторого

числа заданных на нем и определенным образом взаимодействующих

операций, например, множества с двумя бинарными операциями,

взаимодействующими подобно сложению и умножению действительных

чисел.

Мы рассмотрим лишь самые основные определения и свойства

алгебраических систем (т.е. множеств с одной или несколькими операциями

на них), сознательно ограничив себя тем минимумом теории, который

необходим для нашей основной цели – изучения конечных полей. Будем

использовать следующие числовые множества: N – множество натуральных, Z

– целых, Q – рациональных, R – действительных и C – комплексных чисел.

Рассматриваемые основные понятия и положения теории чисел, групп,

полей, колец составляют математическую основу современных методов и

вычислительных алгоритмов помехоустойчивого кодирования и

криптографической защиты информации.

Обнаружение ошибок в технике связи – действие, направленное на

контроль целостности данных при передачи по каналам связи, при записи

и/или воспроизведении информации. Для обнаружения ошибок используют

коды обнаружения ошибок, для исправления – коды, исправляющие ошибки,

коды с коррекцией ошибок, помехоустойчивые коды.

Все существующие и используемые коды построены на математической

основе, изложенной в данном учебном пособии.

Криптография является методологической основой современных систем

обеспечения безопасности информации в компьютерных системах и сетях.

Современная криптография является отдельным научным направлением на

Page 7: ОСНОВЫ КРИПТОГРАФИИ:

7

стыке математики и информатики. Практическое применение криптографии

стало неотъемлемой частью жизни современного общества. Она используется

во многих отраслях, например, в электронном документообороте, электронной

коммерции, телекоммуникациях и т.д.

Учебное пособие предназначено для бакалавров, магистрантов и

докторантов по направлению подготовки кадров «Информационные и

коммуникационные технологии». При составлении учебного пособия были использованы материалы

источников, приведенных в списке литературы. В частности, основными

источниками для разделов по теории чисел были учебные пособия

Виноградова И.М. [1], Сизова С.В. [2], а также источники [3, 4]. При

подготовке разделов по теории групп, полей, колец использовались

материалы из учебника Блейхут Р. [5], Лиддл Р. [6] и другие.

Page 8: ОСНОВЫ КРИПТОГРАФИИ:

8

1. ОСНОВНЫЕ ПОНЯТИЯ И ТЕОРЕМЫ ТЕОРИИ ДЕЛИМОСТИ

1.1. Теоремы делимости

Теория чисел занимается изучением свойств целых чисел. Целыми мы

будем называть не только числа натурального ряда 1, 2, 3, . . . (положительные

целые), но также ноль и отрицательные целые -1, -2, -3, . . . Так что,

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

между большим и меньшим соседними членами везде будет равна единице.

Сумма a b , разность a b и произведение ab двух целых a и b

являются также целыми. Но частное a

b от деления a на b (если b не равно

нулю) может быть как целым, так и не целым.

Определение 1. В случае, когда частное a

b от деления a на b - целое,

обозначая его буквою q , имеем a bq , т.е. a представляется произведением

b на целое. Мы говорим тогда, что a делиться на b или, что b делит a . При

этом a называется кратным числа b , а b - делителем числа a . То

обстоятельство, что b является делителем числа a записывается так: \b a .

Иногда используют также следующие обозначения:

a b – a кратно b ;

b a –b делитель a .

Примеры.

21 7 3 , 0 9 0 , 85 17( 5) .

Поэтому можем сказать: 21 делится на 7, 0 делится на 9, -85 делится на

17, или: 7 делит 21, 9 делит 0, 17 делит -85.

Отношение1 делимости есть бинарное отношение на множестве Z

целых чисел. Если ограничиться рассмотрением множества N натуральных

чисел бинарное отношение делимости является рефлексивным,

антисимметричным и транзитивным. Поясним эти свойства подробнее.

Бинарное отношение (обозначим его символом * ) на заданном

множестве (обозначим его H ) является рефлексивным, если всякий элемент

данного множества находится в отношении с самим собою, т.е.

: *a H a a .

Отношение делимости на множестве целых чисел рефлексивно, т.к.

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

взаимосвязи. Распространёнными примерами отношений в математике являются равенство (=), делимость,

подобие, параллельность и многие другие.

Отношения обычно классифицируются по количеству связываемых объектов (арность) и собственным

свойствам, таким как симметричность, транзитивность, рефлексивность.

Page 9: ОСНОВЫ КРИПТОГРАФИИ:

9

:a Z a a .

Бинарное отношение * на множестве H является симметричным, если

для каждой пары элементов ( , )a b множества выполнение отношения *a b

влечет за собой выполнение отношения *b a :

, , * *a b H a b b a .

Отношение * на множестве H является антисимметричным, если для

каждой пары элементов ( , )a b множества выполнение отношений *a b и *b a

возможно только для равных a и b :

, , * *a b H a b a b a b .

Отношение делимости антисимметрично, т.к.

, ,a b Z a b b a a b .

Бинарное отношение * на множестве H является транзитивным, если

для любых трех элементов , ,a b c множества выполнение отношений *a b и *b c

влечет выполнение отношения *a c :

, , , * * *a b c H a b b c a c .

Отношение делимости транзитивно, т.к.

, , ,a b c Z a b b c a c .

Имеют место следующие теоремы делимости.

Теорема 1 (Теорема о транзитивности отношения делимости).

Если a кратно m, m кратно b, то a кратно b:

, , ,a b c Z a m m b a b .

Доказательство. Действительно, из 1a ma , 1m bm , следует

1 1a ba m . Таким образом, a представляется произведением b на целое

число 1 1a m и тем самым делится на b , т.е. a кратно b.

Теорема 2. (Теорема о кратности целого в сумме кратных целых чисел).

Если в равенстве вида

1 2 1 2... ...n ka a a c c c

Page 10: ОСНОВЫ КРИПТОГРАФИИ:

10

относительно всех членов, кроме какого-либо одного, известно, что они

кратны b , то и этот один член кратен b .

Доказательство. Действительно, пусть таким одним членом будет 1a .

Тогда имеем

2 2' ,..., 'n na ba a ba , 1 1 2 2' , ' ,..., 'k kc bc c bc c bc ,

1 1 2 2 1 2 2

1 2 2

... ( ... ) ' ' ... ' ' ... '

( ' ' ... ' ' ... ' ).

k n k n

k n

a c c c a a bc bc bc ba ba

b c c c a a

Таким образом, 1a представляется произведением b на целое число

1 2 2( ' ' ... ' ' ... ' )k nc c c a a и тем самым делится на

1 2 2( ' ' ... ' ' ... ' )k nc c c a a .

Теорема 3. (Теорема о делении с остатком).

Всякое целое a представляется единственным способом с помощью

положительного целого b равенством вида

a bq r ; 0 br .

Доказательство. Действительно, одно представление числа a

равенством такого вида получим, взяв bq равным наибольшему кратному

числа b , не превосходящему a . Допустив же существование представление

числа a ещё одним равенством того же вида: 1 1a bq r ; 10 br ; и

вычитывая почленно это последнее равенство из предыдущего, получим

1 10 ( )b q q r r . (1.1)

Отсюда убедимся (см. теорему 2), что разность 1r r кратна b. С

другой стороны, легко видеть, что та же разность двух неотрицательных

чисел, меньших b , сама будет численно меньше b . Числом, которое кратно b и

численно меньше b , может быть лишь число 0. Поэтому 1 0r r , а отсюда

1r r .

Из равенства (1.1) следует, что 10 ( ) 0b q q , т.е. 1 0q q . Таким

образом, второе представление числа a тождественно первому.

Определение 2. Число q называется неполным частным, а число r –

остатком от деления a на b. Очевидно, что при r=0 понятия «неполное

частное» и «частное» совпадают.

Примеры2. Пусть b = 14. Имеем:

2 [2, п. 1]: Заметим, что остаток – всегда есть число неотрицательное, а вот неполное частное может быть

каким угодно целым числом. Поэтому на вопрос: “Сколько будет минус пять поделить на три с остатком?”,

каждый должен бойко отвечать: “Минус два, в остатке — один!”

Page 11: ОСНОВЫ КРИПТОГРАФИИ:

11

177 14 12 9 , 0 9 14 ,

64 14 ( 5) 6 , 0 6 14 ,

154 14 11 0 , 0 10 4 .

1.2. Наибольший общий делитель и алгоритм Эвклида

В дальнейшем будем рассматривать лишь положительные делители

чисел.

Определение 3. Всякое целое, делящее одновременное целые , ,...,a b l ,

называется их общим делителем. Наибольший из общих делителей называется

общим наибольшим делителем и обозначается символом ( , ,...,a b l ).

Определение 4. Если ( , ,...,a b l )=1, то , ,...,a b l называются взаимно

простыми. Если каждое из чисел , ,...,a b l взаимно просто с каждым другим

из них, то , ,...,a b l называются попарно простыми. Очевидно, числа

попарно простые всегда и взаимно простые. В случае же двух чисел понятия

«попарно простые» и «взаимно простые» совпадают.

Примеры.

Числа 6, 10, 15, ввиду (6, 10, 15) = 1, взаимно простые. Однако они не

попарно простые, т.к. (6, 10) = 2, (6, 15) = 3, (10, 15) = 5.

Числа 8, 13, 21, ввиду (8, 13) = (8, 21) = (13, 21) = 1, – попарно простые.

Они также и взаимно простые, т.к. (8, 13, 21) = 1.

Возникает естественный вопрос о частоте появления пар взаимно

простых чисел, ответ на который дает теорема Чезаро [2, 7], для

формулировки которой введем несколько дополнительных обозначений.

Пусть { , 1,2,...}nX x n – произвольная строго возрастающая

последовательность натуральных чисел (или, что эквивалентно, произвольное

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

Обозначим через ( , )S X k число членов последовательности { , 1,2,...}nX x n ,

не превосходящих k .

Определение 5. Число

( , )

limk

S X k

k

называется (верхней асимптотической) плотностью последовательности X во

множестве натуральных чисел N .

Интерпретацией понятия плотности последовательности во множестве

натуральных чисел является вероятность наугад вытащить из натурального

ряда число, которое принадлежит этой последовательности.

Page 12: ОСНОВЫ КРИПТОГРАФИИ:

12

Пример. Пусть { 2 , 1,2,...}nX x n n – последовательность

положительных четных чисел. Очевидно, что в этом случае

( , ) 1

lim lim2 2k k

S X k k

k k

и плотность характеризует вероятность наугад вытащить из натурального

ряда четное число.

Пример. Пусть { 2 , 1,2,...}n

nX x n – геометрическая прогрессия,

состоящая из возрастающих положительных степеней числа 2. Очевидно, что

в этом случае ( , )

lim lim 02kk k

S X k k

k

и плотность характеризует вероятность наугад вытащить из натурального

ряда произвольное число, равное положительной степени числа 2. С

возрастанием n числа 2n в натуральном ряду появляются все реже, и

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

нулю.

Аналогично рассмотренному определению плотности

последовательности во множестве натуральных чисел введем определение

плотности множества пар натуральных чисел на координатной плоскости.

Пусть имеется произвольное множество {( , ), 1,2,...}n nX x y n

упорядоченных пар ( , )n nx y натуральных чисел. Обозначим через ( , )S X k

число пар из множества X , каждая компонента которых не превосходит k .

Графически это можно изобразить как число точек ( , )n nx y из множества

{( , ), 1,2,...}n nX x y n на координатной плоскости, попавших в квадрат

{( , ),0 ,0 }n n n nx y x k y k (см. рисунок 1.1).

Определение 6. Число

2

( , )limk

S X k

k

называется (верхней асимптотической) плотностью множества X пар чисел

( , )n nx y в прямом (декартовом) произведении двух множеств натуральных

чисел 2N N N .

Интерпретацией понятия плотности множества X во множестве 2N

является вероятность наугад выбрать на декартовой плоскости такую точку,

которая принадлежит последовательности {( , ), 1,2,...}n nX x y n .

Page 13: ОСНОВЫ КРИПТОГРАФИИ:

13

x

y

k

k

)1y, 1x(

)2y, 2x(

)3y, 3x(

...

)k,X(Sy, )k,X(Sx(

)iy, ix(

...

Рисунок 1.1 – Геометрическая интерпретация числа ( , )S X k

x

y

k

k

Рисунок 1.2 – Геометрическая интерпретация числа 2

( 1) / 2 1lim

2k

k k

k

Пример. Пусть X – множество пар натуральных чисел, у которых

первая компонента строго больше второй компоненты. Множеству X

соответствуют точки первой четверти координатной плоскости, лежащие под

биссектрисой y x (см. рисунок 1.2). Плотность такого множества равна:

Page 14: ОСНОВЫ КРИПТОГРАФИИ:

14

2 2

( , ) ( 1) / 2 1lim lim

2k k

S X k k k

k k

.

Это выражение также согласуется с представлением о том, что пар

натуральных чисел, у которых первая компонента строго больше второй

компоненты ровно половина от общего числа всех пар натуральных чисел.

Пусть X – множество всех упорядоченных пар натуральных чисел a и

b таких, что их наибольший общий делитель ( , ) 1a b . Частоту появления

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

Чезаро.

Теорема (Чезаро). Вероятность выбрать из множества натуральных

чисел N пару взаимно простых чисел равна

2 2

( , ) 6limk

S X k

k

.

Пусть d N . Через ( )P S обозначим вероятность события S . Тогда:

2

1 1(( , ) ) ( ) ( ) , 1

a b pP a b d P d a P d b P p

d d d d d

.

Просуммируем по всем возможным d получим единицу (полная группа

событий):

21

1 (( , ) )d N d

pP a b d

d

,

а сумма ряда 21

1

d d

известна и равна 2

6

, т.е.

2

16

p

, откуда 2

60,6p

.

Пример. Запишем две последовательности из 10 случайных (придумаем

их сами) натуральных чисел (для упрощения задачи в диапазоне от 1 до 10):

3, 6, 1, 8, 9, 3, 2, 6, 8, 10;

1, 3, 8, 4, 10, 2, 4, 7, 4, 3.

Как видно, если брать числа парами из двух последовательностей 6 из

10 пар содержат взаимно простые числа.

Далее займемся общими делителями двух чисел.

Справедливы следующие свойства делителей.

Свойство 1 (соотношение Безу3). Если ( , )a b d , тогда найдутся такие

целые числа u и v , что

3 Этьен Безу (фр. Etienne Bezout; 31 марта 1730, Немур – 27 сентября 1783, Бас-Лож близ Фонтенбло) –

французский математик, член Французской академии наук (1758). Преподавал математику в Училище

гардемаринов (1763) и Королевском артиллерийском корпусе (1768). Основные работы относятся к алгебре

Page 15: ОСНОВЫ КРИПТОГРАФИИ:

15

d au bv .

Доказательство. Рассмотрим множество

{ : , }A au bv u v Z .

Очевидно, что A Z (это идеал в Z ). Очевидно, что , , 0a b A .

Пусть ,x y A и 0y . Тогда остаток от деления x на y принадлежит

A .

Действительно:

x yq r , 0 r y ,

1 1 2 2 1 1 1 2( ) ( ) ( )r x yq au bv au bv q a u u q b v v q A .

Пусть d A – наименьшее положительное число из множества A .

Тогда a делится на d . Действительно,

1a dq r , 10 r d , a A , d A ,

следовательно, 1r A , т.е. 1 0r .

Аналогичными рассуждениями получаем, что b делится на d , т.е. d –

общий делитель a и b .

Далее, раз d A , тогда 0 0d au bv . Если теперь 1d – общий делитель a

и b , тогда 1d делитель 0 0au bv , т.е. 1d делитель d . Значит 1d d и d –

наибольший общий делитель.

Пример. (8,15) 1 8 2 15 ( 1) .

Свойство 2. Если a кратно b , то совокупность общих делителей чисел a и b совпадает с совокупностью делителей одного b ; в частности ( , )a b b .

Действительно, всякий общий делитель чисел a и b является делителем

и одного b . Обратно, раз a кратно b , то всякий делитель числа b является

также делителем числа a , т.е. является общим делителем чисел a и b . Таким

образом, совокупность общих делителей чисел a и b совпадает с

совокупностью общих делителей одного b . А так как наибольший делитель

числа b есть само b , то ( , )a b b .

Пример. (8,16) 8 , делители числа 8 совпадают с общими делителями

чисел 8 и 16.

Свойство 3. Если ,a bq c

(исследование систем алгебраических уравнений высших степеней, исключение неизвестных в таких

системах и др.). Автор неоднократно переиздававшегося шеститомного «Курса математики» (1764-1769).

Page 16: ОСНОВЫ КРИПТОГРАФИИ:

16

то совокупность общих делителей чисел a и b совпадает с совокупностью

общих делителей чисел b и c ; в частности ( , ) ( , )a b b c .

Действительно, написанное равенство показывает, что всякий общий

делитель чисел a и b делит также и c (см. теорему 2) и, следовательно,

является общим делителем чисел b и с . Обратно, то же равенство показывает,

что всякий общий делитель чисел b и с делит a и, следовательно, является

общим делителем чисел a и b . Таким образом, общие делители чисел a и b

те же, что и общие делители чисел b и с ; в частности, должны совпадать и

наибольшие из этих делителей, т.е. ( , ) ( , )a b b c .

Пример. 15 9 1 6 , т.е. (15, 9) (9,6) 3 .

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

также для вывода его важнейших свойств применяется алгоритм Эвклида. Он

состоит в нижеследующем. Пусть a и b - положительные целые и a b . В

соответствии с теоремой 3 находим цепочку равенств

1 1a bq r , 10 r b ,

1 2 2b rq r , 2 10 r r ,

1 2 3 3r r q r , 3 20 r r ,

… (1.2)

2 1n n n nr r q r , 10 n nr r ,

1 1n n nr r q ,

которая представляется единственным способом и заканчивается тогда, когда

получается некоторое 1 0nr .

Последнее неизбежно, так как ряд 2 3, , ,...b r r как ряд убывающих целых

чисел не может содержать более чем b положительных.

Рассматривая равенства (1.2), идя сверху вниз, убеждаемся в

справедливости свойств делителей. Действительно, общие делители чисел a

и b одинаковы с общими делителями чисел b и 2r , далее одинаковы с общими

делителями чисел 2r и 3r , чисел 3r и 4r , …, чисел 1nr и nr , наконец, с

делителями одного числа nr , являющегося последним неравным нулю

остатком алгоритма Эвклида. Одновременно с этим имеем:

2 2 3 1( , ) ( , ) ( , ) ... ( , )n n na b b r rr r rr .

Мы приходим к следующим результатам.

1. Совокупность общих делителей чисел a и b совпадает с

совокупностью делителей их общего наибольшего делителя.

2. Этот наибольший делитель равен последнему не равному нулю

остатку алгоритма Эвклида.

Page 17: ОСНОВЫ КРИПТОГРАФИИ:

17

Пример. Применим алгоритм Эвклида к нахождению (525, 231).

Находим (вспомогательные вычисления «уголком» приведены слева):

525 231 2 63,

231 63 3 42,

63 42 1 21,

42 21 2.

Последний положительный остаток есть 4 21r . Следовательно,

(525, 231) 21 .

Рассмотрим линейное представление наибольшего общего делителя 21.

Для этого будем двигаться снизу-вверх, подставляя соответствующие

равенства: (525,231) 21 63 42 1 63 (231 63 3) 63 4 231 1

(525 231 2) 4 231 1 525 4 231 9

525 4 231 ( 9),

т.е. 4u и 9v .

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

Утверждение 1. Обозначая буквою m любое положительно целое,

имеем ( , ) ( , )am bm a b m .

Действительно, умножив соотношения (1.2) почленно на m , получим

новые соотношения, где вместо 2 3, , , ,..., na b r r r будут стоять

2 3, , , , ..., nam bm r m r m r m . Поэтому ( , ) nam bm r m и, таким образом, верно

утверждение 1.

Пример. (15, 9) (5,3) 3 .

Утверждение 2. Обозначая буквою любой общий делитель чисел a

и b имеем

( , ),

a b a b

;

в частности, имеем

525

462

231

2

231

189

63

3

63

42

42

1

42

42

21

2

Page 18: ОСНОВЫ КРИПТОГРАФИИ:

18

, 1( , ) ( , )

a b

a b a b

,

т.е. частные от деления двух чисел на их наибольший делитель суть числа

взаимно простые.

Применяя утверждение 1, находим

( , ) , ,a b a b

a b

.

Отсюда следует утверждение 2.

Пример.

15 9 (15,9), 1

3 3 3

,

15 9, (5,3) 1

(15,9) (15,9)

.

Утверждение 3. Если ( , ) 1a b , то ( , ) ( , )ac b c b .

Действительно, ( , )ac b делит ac и bc , значит, оно делит и ( , )ac bc

равное c . Но ( , )ac b делит и b , поэтому оно делит и ( , )c b . Обратно, ( , )c b

делит ac и b , поэтому оно делит и ( , )ac b . Таким образом, ( , )ac b и ( , )c b

взаимно делят друг друга и, следовательно, равны между собою.

Пример. (4,3) 1 (4,3 2) (4,2) 2 .

Утверждение 4. Если ( , ) 1a b и ac делится на b , то c делится на b .

Действительно, при ac делящемся на b , имеем ( , )ac b b и ( , )b c b . А

этим и называется делимость c на b .

Пример. (4,3) 1, 3 8 24 4 8 4 .

Утверждение 5. Если каждое 1 2, ,..., ma a a взаимно просто с каждым

1 2, ,..., nb b b , то и произведение 1 2, ,..., ma a a взаимно просто с произведением

1 2, ,..., nb b b .

Действительно,

1 2 2 3( , ,..., , ) ( ,..., , ) ( ,..., , ) ... ( , ) 1m k m k m k m ka a a b a a b a a b a b .

И далее, полагая ради краткости 1 2, ,..., ma a a A , точно таким же

путём выводим

1 2 2 3( ... , ) ( ... , ) ( ... , ) ... ( , ) 1n n n nb b b A b b A b b A b A .

Page 19: ОСНОВЫ КРИПТОГРАФИИ:

19

Пример. В наборе 2, 3, 4, 6 каждое число взаимно просто с числами 5, 7,

11. Следовательно, произведение 2 3 4 6 144 взаимно просто с

произведением 5 7 11 385 .

Задания для самостоятельной работы

1. Справедливый ковбой зашел в бар и попросил у бармена стакан виски

за 3 доллара, пачку Marlboro за доллар и 11 центов, шесть пачек патронов для

своего кольта и дюжину коробков спичек. Услышав итоговую сумму - 28

долларов и 25 центов, ковбой пристрелил бармена. За что? ([2], п.1, с. 12).

2. Найдите d = (317811, 196418) и его представление в виде d = 317811u

+ 196418v.

1.3. Линейные диофантовы уравнения с двумя неизвестными

Обычно произвольное уравнение (но, как правило, все-таки с целыми

коэффициентами) получает титул "диофантово", если хотят подчеркнуть, что

его требуется решить в целых числах, т.е. найти все его решения, являющиеся

целыми. Имя Диофанта - выдающегося Александрийского математика -

появляется здесь не случайно. Диофант интересовался решением уравнений в

целых числах еще в третьем веке нашей эры.

Пусть требуется решить линейное диофантово уравнение:

, ax by c

где , ,a b c Z ; a и b – не нули.

Попробуем порассуждать, глядя на это уравнение.

Пусть ,a b d . Тогда 1a a d ; 1b b d и уравнение выглядит так:

1 1 ,a d x b d y c

т.е.

1 1( )d a x b y c .

Теперь ясно, что у такого уравнения имеется решение (пара целых чисел

x и y) только тогда, когда |d c . Предположим, что |d c , поделим обе части

уравнения на d и всюду далее будем считать, что , 1a b .

Рассмотрим несколько случаев.

Случай 1. Пусть 0c , уравнение имеет вид

0ax by

– «однородное линейное диофантово уравнение». Находим, что

Page 20: ОСНОВЫ КРИПТОГРАФИИ:

20

. b

x ya

Так как x должен быть целым числом, то y at , где t – произвольное

целое число (параметр). Следовательно, x bt и решениями однородного

диофантова уравнения 0ax by являются все пары вида

{ },bt at ,

где

0; 1; 2;...t .

Множество всех таких пар называется общим решением линейного

однородного диофантова уравнения, любая же конкретная пара из этого

множества называется частным решением.

Случай 2. Пусть теперь 0c . Этот случай закрывается следующей

теоремой.

Теорема. Пусть , 1a b , 0 0,x y – частное решение диофантова

уравнения ax by c . Тогда его общее решение задается формулами:

0

0

,

.

x x bt

y y at

Таким образом, общее решение неоднородного уравнения есть сумма

общего решения соответствующего однородного уравнения и некоторого

(любого) частного решения неоднородного уравнения.

Доказательство. То, что правые части указанных в формулировке

теоремы равенств действительно являются решениями, проверяется их

непосредственной подстановкой в исходное уравнение. Покажем, что любое

решение уравнения ax by c имеет именно такой вид, какой указан в

формулировке теоремы. Пусть *, *x y – какое-нибудь решение уравнения

ax by c . Тогда * *ax by c , но ведь и 0 0ax by c . Следуя

многолетней традиции доказательства подобных теорем, вычтем из первого

равенства второе и получим:

0 0( * ) ( * ) 0a x x b y y

- однородное уравнение.

Далее, используя случай 1, запишем общее решение:

0* ,x x bt

0*y y at ,

Page 21: ОСНОВЫ КРИПТОГРАФИИ:

21

откуда получаем:

0* ,x x bt

0* .y y at

Остается вопрос получения частного решения 0 0,x y . По условию

задачи , 1a b . Это означает, что найдутся такие ,u v Z , что 1au bv (см.

раздел 1.1), причем эти u и v легко находить с помощью алгоритма Евклида.

Умножим теперь равенство 1au bv на c и получим:

a uc b vc c ,

т.е.

,

.

Пример [2]. У вас в кармане монеты достоинством только в 7 и 12

копеек (вымышленная ситуация из фантастического произведения), а вам

надо уплатить 43 копейки. Как это сделать? Решаем уравнение:

Включаем алгоритм Евклида:

Значит, наибольший общий делитель чисел 7 и 12 равен 1, а его

линейное выражение таково:

т.е. . Частное решение:

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

неоднородного диофантова уравнения:

0x uc

0y vc

7 12 43. x y

12 7 1 5,

7 5 1 2,

5 2 2 1,

2 1 2.

1 5 2 2 5 (7 5) 2 (12 7) (7 (12 7) 2)

12 3 7 ( 5),

5, 3u v

0

0

( 5) 43 215,

3 43 129.

x uc

y vc

Page 22: ОСНОВЫ КРИПТОГРАФИИ:

22

и, легко видеть, что при , получается решение: .

Пример (алгоритм RSA). В 1978 г. Рон Ривест, Ади Шамир и Лен

Адельман разработали алгоритм шифрования Rivest-Shamir-Adleman (RSA) с

открытым ключом.

Генерация общесистемных параметров и ключей RSA

1. Выберите два простых числа и , содержите их в секрете.

2. Вычислите .

3. Вычислите .

4. Выберите такое , чтобы оно было взаимно простым по отношению к

, т.е. .

5. Определите такое , чтобы , .

Результат:

Общесистемные параметры , , , ;

Секретный ключ ;

Открытый ключ .

Шифрование сообщения М (положительное целое число, меньшее числа

):

.

Расшифрование криптограммы С (положительное целое число,

меньшее числа ):

.

На пятом шаге алгоритма генерации общесистемных параметров и

ключей RSA необходимо найти такое (секретный ключ), чтобы

выполнялось тождество , т.е. число должно делиться нацело

на :

,

для некоторого целого числа .

Это означает, что для вычисления достаточно решить линейное

диофантово уравнение от двух переменных и :

.

Реальный пример генерации ключей RSA

1. Выберем два простых числа и .

2. Вычисляем .

215 12 ,

129 7 ,

x t

y t

18t 1, 3x y

p q

n pq

( ) ( 1)( 1)n p q

e

( )n ( ( ), ) 1n e

d 1mod ( )de n ( )d n

p q n ( )n

,d n

,e n

n

eС М mod n

n

dM C mod n

d

1mod ( )de n 1de

( )n

1 ( )ne xd

x

d

x d

( ) 1n x ed

7p 11q

7 11 77n pq

Page 23: ОСНОВЫ КРИПТОГРАФИИ:

23

3. Вычисляем .

4. Выбираем число , чтобы оно было взаимно простым по отношению

к , т.е. . Выберем , .

5. Необходимо определить такое , чтобы , .

Для этого решим линейное диофантово уравнение от двух переменных

и :

.

Используем алгоритм Евклида:

Следовательно, линейное представление наибольшего общего делителя

чисел -60 и 7 имеет вид:

т.е. .

Частное решение:

Общее решение:

При имеем наименьшее положительное решение , которое и

используется в качестве секретного ключа.

1.4. Простые числа и "основная" теорема арифметики

Определение. Число , называется простым, если р имеет в

точности два положительных делителя: 1 и р. Остальные натуральные числа

(кроме 1) принято называть составными. Число 1 – на особом положении, по

договору, оно ни простое, ни составное.

Отметим некоторые наблюдения, связанные с простыми числами.

Наблюдение 1. Наименьший делитель любого числа , отличный от

1, есть число простое.

( ) ( 1)( 1) (7 1)(11 1) 60n p q

e

( )n ( ( ), ) 1n e 7e (60,7) 1

d 1mod7 (60)d ( )d n

x d

60 7 1x d

60 7 ( 9) 3,

7 3 2 1,

3 1 3.

1 7 3 2

7 ( 60 7 ( 9)) 2

( 60) ( 2) 7 ( 17),

2, 17u v

0

0

2,

17.

x uc

d vc

0

0

2 7 ,

17 60 .

x x bt t

d d at t

1t 43d

, 1р N р

a N

Page 24: ОСНОВЫ КРИПТОГРАФИИ:

24

Доказательство. Пусть , и с – наименьшее с этим свойством.

Если существует такое, что , то и , следовательно, или

.

Наблюдение 2. Наименьший отличный от 1 делитель составного числа

не превосходит .

Доказательство. , , с – наименьший, следовательно ,

, , значит , т.е. и .

Следующее наблюдение, отдавая дань уважения его автору – Евклиду,

назовем теоремой.

Теорема (Евклид). Простых чисел бесконечно много.

Доказательство. От противного. Пусть – все простые, какие

только есть. Рассмотрим число . Его наименьший отличный от 1

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

как иначе (см. вторую теорему делимости). Следовательно, простых чисел

бесконечно много.

Для составления таблицы простых чисел древний грек Эратосфен

придумал процедуру, которая получила название "решето Эратосфена":

2, 3, 4 , 5, 6 , 7, 8 , 9 , 10 , 11, 12 , 13, 14 , 15 , 16 , 17,...

Решето Эратосфена. Идем по натуральному ряду слева направо.

Подчеркиваем первое неподчеркнутое и невычеркнутое число, а из

дальнейшего ряда вычеркиваем кратные только что подчеркнутому. И так

много раз. Легко понять, что подчеркнутые числа – простые. Если вспомнить

наблюдение 2, то становится понятно, что когда вычеркнуты все кратные

простых, меньших р, то оставшиеся невычеркнутые, меньшие р2

– простые.

Это значит, что составление таблицы всех простых чисел меньших N

закончено сразу, как только вычеркнуты все кратные простых, меньших .

Пример. Составим таблицу всех простых чисел в диапазоне от 2 до 100.

Для этого достаточно вычеркнуть все кратные простых чисел 2, 3, 5, 7:

2, 3, 4, 5, 6, 7, 8, 9, 10,

11, 12, 13, 14, 15, 16, 17, 18, 19, 20,

91, 92, 93, 94, 95, 96, 97, 98, 99, 100.

Для чисел, растущих закономерно, например, для квадратов или

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

превосходящий все известные. Для простых же чисел, напротив, прилагаются

громадные усилия, чтобы именно это и сделать. Например, в 1876 году

француз Люка доказал, что число (2127

– 1) – простое, и 75 лет оно оставалось

наибольшим из известных простых чисел:

|с а 1с

1с 1 |с c 1с с 1 |с а 1с с

1 1с

a N a

|с а 1с 1а са

1 |а а 1а c 21 1aа ac a c 2a c c a

1 2, ,..., nр р р

1 2... 1nа р р р

1 2, ,..., nр р р

1|с

a

Page 25: ОСНОВЫ КРИПТОГРАФИИ:

25

21271 = 170141183460469231731687303715884105727.

В настоящее время составлены таблицы всех простых чисел, не

превосходящих 50 миллионов, далее известны только отдельные их

представители. Читателей всегда привлекает гигантизм, поэтому укажем здесь

два самых больших известных на сегодняшний момент простых числа [2]:

244497

1 и 286243

1. Последнее число записано пока в книгу рекордов Гиннеса, в

нем 25962 десятичных знака. Найдено оно было в рекламных целях –

демонстрация фирмой IBM возможностей очередного суперкомпьютера,

которому для проверки этого числа на простоту с помощью специальных

тестов (пригодных только для чисел вида 2n1) потребовалась неделя работы.

Теорема ("Основная теорема арифметики"). Всякое целое число,

отличное от 1, 0 и 1, единственным образом (с точностью до порядка

сомножителей) разложимо в произведение простых чисел.

Доказательство. Будем доказывать утверждение теоремы только для

натуральных чисел (для отрицательных чисел результат аналогичный).

Пусть , – его наименьший простой делитель. Значит, .

Если, далее, , то пусть – его наименьший простой делитель и ,

т.е. , и так далее, пока не станет равным единице. Это обязательно

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

порядком удовлетворяют условию обрыва убывающих цепей [2]. Имеем,

таким образом, , и возможность разложения доказана.

Покажем единственность. Пусть – другое разложение, т.е.

.

В последнем равенстве правая часть делится на , следовательно, левая

часть делится на . Покажем, что если произведение делится на ,

то один из сомножителей обязан делиться на .

Действительно, если , то все доказано. Пусть q1 не делит p1. Так как

q1 – простое число, то . Значит найдутся такие , что .

Умножим последнее равенство на , получим:

Оба слагаемых справа делятся на , следовательно, делится на

q1. Далее рассуждая по индукции приходим к выводу, что один из

сомножителей обязан делиться на .

Теперь пусть, например, . Значит , так как p1 – простое. Из

равенства

1а 1р 1 1а р а

1 1а 2р 1 2 2а р а

1 2 2а р р а nа

1 2...а а а

1 2... nа р р p

1 2... sa q q q

1 2 1 2... ...n sp p p q q q

1q

1q 1 2... nр р p 1q

kp 1q

1 1|q p

1 1, 1q p ,u v Z 1 1 1up vq

2... np p

2 1 2 1 1( ) ( ) .n n np p p p p u q p p v

1q 2... np p

kp 1q

1 1|q p 1 1q p

Page 26: ОСНОВЫ КРИПТОГРАФИИ:

26

банальным сокращением моментально получим равенство

.

Снова рассуждая по индукции, видим, что , и каждый сомножитель

левой части равенства обязательно присутствует в правой и

наоборот.

Следствие 1. Всякое рациональное число однозначно представимо в

виде

,

где .

Пример.

.

Следствие 2. Если – целые числа,

тогда наибольший общий делитель a и b равен

,

а наименьшее общее кратное (НОК) чисел a и b равно

,

где

,

.

Пример. Пусть

, .

Тогда

,

.

Для справедливости обсуждаемой теоремы просто необходима

аддитивная структура кольца целых чисел.

1 2 1 2... ...n sp p p q q q

2 2... ...n sp p q q

n s

1 2 1 2... ...n sp p p q q q

1 21 2

kk

p p p

1 2, , , k Z

33 2 1

2

40 2 52 3 5 7

63 3 7

1 2 1 21 2 1 2,n n

n na p p p b p p p

1 21 2( , ) n

na b p p p

1 21 2НОК( , ) n

na b p p p

{ , }i i imin a b

{ , }i i imax a b

3 210296 2 3 11 13a 24550 2 5 7 13b

( , ) 2 13 26a b

3 2 2НОК( , ) 2 3 5 7 11 13 1801800a b

Page 27: ОСНОВЫ КРИПТОГРАФИИ:

27

Задания для самостоятельной работы

1. Решите диофантовы уравнения:

а) 2x+7y=20;

б) 6x27y=21;

в) 11x+99y=41.

2. Для каждого целого z решите в целых числах уравнение 2x+3y=5z.

3. Решите уравнение 3sin7x+cos20x=4.

4. Сколькими различными способами можно расплатиться за

девяностосемикопеечную жевательную резинку лишь пятаками да

копейками?

5. Найдите секретный ключ в системе RSA, если , , .

6. Найдите секретный ключ в системе RSA, если , , .

7. Простое число - это число, имеющее в точности два различных

положительных делителя (единицу и себя). Найдите все натуральные числа,

имеющие в точности:

а) три различных положительных делителя;

б) четыре различных положительных делителя;

в) k штук различных положительных делителей (k > 4).

11p 13q 7e

17p 19q 5e

Page 28: ОСНОВЫ КРИПТОГРАФИИ:

28

2. ЦЕПНЫЕ ДРОБИ

2.1. Разложение вещественных чисел в цепные дроби

Пусть , т.е. - любое вещественное число.

Обозначим через наибольшее целое число, не превосходящее .

Тогда имеем:

, , .

Если , тогда обозначим через , т.е. имеем:

, .

Если не является целым числом, тогда повторим операции, получим:

, , , ,

т.е.

, .

Рассуждая аналогичным образом, для всех нецелых

получим:

, , , ;

, , , ;

, , , ,

т.е.

. (2.1)

R

1q

1 1q r 1 1r q 10 1r

1 0r 1

1

1

r

1

1

1q

1 1

1

1 2 2q r 2 1 2r q 20 1r 2

2

1

r

1

2

2

1

1q

q

2 1

2 3 1, ,..., s

2 3 3q r 3 2 3r q 30 1r 3

3

11

r

3 4 4q r 4 3 4r q 40 1r 4

4

11

r

1s s sq r 1s s sr q 0 1sr 1

1s

sr

1

2

3

4

1

1

1

1

1

...

1

1s

s

q

q

q

q

q

Page 29: ОСНОВЫ КРИПТОГРАФИИ:

29

Такое разложение числа называют цепной (непрерывной) дробью.

Если число является иррациональным, т.е. не может быть

представлено в виде отношения целых (рациональной дроби), тогда и всякое

, полученное при разложении в цепную дробь является также

иррациональным числом. В противном случае согласно (2.1) рациональным

оказалось бы и число .

Следовательно, при иррациональном числе разложение в

цепную может быть неограниченно (бесконечно) продолжено.

Пример 1. Разложим в цепную дробь иррациональное число .

, , ;

, , ;

, , ;

…,

откуда имеем:

.

Если число является рациональным, тогда оно может быть

представлено в виде отношения целых, т.е. в виде рациональной

несократимой дроби , , . Тогда процесс разложения в

цепную дробь является конечным и может быть выполнен с помощью

алгоритма Евклида:

, , ;

, , ;

, , ;

, , ;

, .

R

R

i

R

2

1 11r r 1 2 1r 1

1 2 1 2 12 1

2 12 1 ( 2 1)( 2 1)

1 1 2 22r r 2 2 1 2 2 1r 2

12 1

2 1

2 2 3 32r r 3 2 1r 3

12 1

2 1

12 1

12

12

12

...

R

a

b ,a b Z 0b

1 1a bq r 11 1

1

1raq q

b b

1

1

b

r

1 2 2b rq r 21 2 2

1 1 2

1rbq q

r r

1

2

2

r

r

1 2 3 3r r q r 312 3 3

2 2 3

1rrq q

r r

2

3

3

r

r

2 1n n n nr r q r 21

1 1

1n nn n n

n n n

r rq q

r r

1nn

n

r

r

1 1n n nr r q 1nn n

n

rq

r

Page 30: ОСНОВЫ КРИПТОГРАФИИ:

30

Следовательно, имеем конечную цепную дробь вида:

.

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

, , , …

называются подходящими дробями.

Пример 2. Разложим в цепную дробь рациональное число .

Используем алгоритм Евклида:

, , ;

, , ;

, , ;

, , ;

2 1 2 , .

Следовательно, имеем конечную цепную дробь вида:

с неполными частными , , , , и подходящими

дробями:

1

2

3

4

1

1

1

1

1

...

1

1n

n

aq

bq

q

q

qq

1 2, ,...q q

1 1q 2 1

2

1q

q 3 1

2

3

1

1q

qq

105

38

105 38 2 29 1

105 29 12 2

38 38

1

38

29

38 29 1 9 1

2

38 9 11 1

29 29

2

29

9

29 9 3 2 2

3

29 2 13 3

9 9

3

9

2

9 2 4 1 3

4

9 1 14 4

2 2

4

2

1

4

22

1

105 12

1381

13

14

2

1 2q 2 1q 3 3q 4 4q 5 2q

Page 31: ОСНОВЫ КРИПТОГРАФИИ:

31

, , , , .

2.2. Вычисления подходящих дробей

Заметим, что для всех подходящая дробь получается из

заменой в выражении

числа на число :

.

При этом каждая подходящая дробь путем приведения ее к одному

общему знаменателю может быть представлена в виде рациональной дроби:

.

Если принять для удобства , , тогда каждую подходящую

дробь выразим в виде рациональной дроби следующим образом:

, т.е. , ;

;

1 2 2

12

1

3

12

11

3

4

12

11

13

4

5

12

11

13

14

2

1s s 1s

1 1

2

1

1

1

...

1

s

s

q

q

q

1sq 1

1s

s

qq

1

2

1

1

1

...

1

1

s

s

s

q

q

qq

s

1

2

1

1

1

...

1

1

ss

s

s

s

Pq

Qq

qq

0 1P 0 0Q

1 11

11

q P

Q

1 1P q 1 1Q

1

2 1 02 2 1 22

2 2 1 0 2

1

1

1 1 0

qq P Pq q q P

q q Q Q Q

Page 32: ОСНОВЫ КРИПТОГРАФИИ:

32

;

…,

т.е. для всех каждая подходящая дробь выражается в виде

. (2.2)

Таким образом, числители и знаменатели подходящих дробей могут

быть вычислены по рекуррентным выражениям:

, . (2.3)

Вычисления по формулам (2.3) удобно выполнять при табличной записи

(см. таблицу 2.1): число равно произведению (стоит перед ячейкой с )

на (стоит над ячейкой с ) плюс (стоит перед ячейкой с ).

Аналогичное правило и для вычисления числа .

Таблица 2.1 – Схема вычисления подходящих дробей

0 1 2 … … … …

1 … …

0 1 … …

Пример 3. Вычислим подходящие дроби для числа из примера 2.

Вычисления числителей и знаменателей организуем в таблицу 2.2.

Таблица 2.2 – Вычисление подходящих дробей для числа

0 1 2 3 4 5 2 1 3 4 2

1 2 3 11 47 105

0 1 1 4 17 38

2 1 0

3 3 2 1 3 0 1 3 2 1 0 1 3 2 1 33

3 2 1 3 0 1 3 2 1 0 1 3 2 1 3

2 1 0

3

1

( )

( )1

q P Pq q q P q P P q q P P P q P P P

q q Q q Q Q q q Q Q Q q Q Q Qq Q Q

q

1s s

1 2 3

1 2 3 2 1 2

1 2 3 2 1 2

1 2 3

1

( )

( )1

s s s

s s s s s s s s s ss

s s s s s s s s s

s s s

s

q P Pq q q P P P q P P P

q q Q Q Q q Q Q Qq Q Q

q

1 2s s s sP q P P 1 2s s s sQ q Q Q

sP 1sP sP

sq sP 2sP 1sP

sQ

s 2s 1s s

sq 1q 2q 2sq 1sq sq

sP 1q 2P 2sP 1sP sP

sQ 2Q 2sQ 1sQ sQ

105

38

sP sQ

105

38

s

sq

sP

sQ

Page 33: ОСНОВЫ КРИПТОГРАФИИ:

33

Первые две строки и три столбца таблицы 2.2 заполняются исходными

данными. Рассмотрим четвертый столбец, т.е. когда . Для вычисления

необходимо число (стоящее перед ячейкой с ) умножить на число

(стоящее над ячейкой с ) и прибавить число (стоящее перед

ячейкой с ). Получим значение , которое записываем в

ячейку таблицы 2.2. Для вычисления действуем аналогично: число

(стоящее перед ячейкой с ) умножаем на число (стоящее над ячейками

с и ) и прибавляем число (стоящее перед ячейкой с ). Получаем

значение . Повторяя выполнение рекуррентного правила

(2.3) заполняем всю таблицу.

В последнем столбце таблицы 2.2 числитель и знаменатель подходящей

дроби определяют само рациональное число .

Рассмотрим собственные значения каждой вычисленной подходящей дроби:

, , , ,

т.е. дроби с четными номерами больше числа , а с нечетными –

меньше. Кроме того, каждая следующая подходящая дробь лежит на числовой

прямой (см. рисунок 2.1) ближе к числу , чем предыдущая.

Рисунок 2.1 – Значения подходящих дробей числа на числовой прямой

Указанное свойство доказывается следующим образом. Пусть -

рациональная несократимая дробь с и . Заменим в равенстве (2.2)

число на число , получим

.

2s 2P

1 2P 2P

2 1q 2P 0 1P

1P 2 2 1 0 2 1 1 3P q P P

2Q 1 1Q

2Q 2 1q

2P 2Q 0 0Q 1Q

2 2 1 0 1 1 0 1Q q Q Q

55

5

P

Q

1052,76315...

38

11

1

22

1

P

Q 2

2

2

33

1

P

Q 3

3

3

112,75

4

P

Q 4

4

4

472,764...

17

P

Q

105

38

105

38

2 3

N1 2 2 3 3

11

4 4

47

11

105

38

105

38

a

b

0b 1s

sq1

1s

s

q

1 1

1 1

s s s

s s s

P P

Q Q

Page 34: ОСНОВЫ КРИПТОГРАФИИ:

34

Тогда

,

т.е. имеем:

.

По определению (2.1) число . Кроме того, по определению

подходящих дробей всегда выполняется неравенство , откуда следует,

что разность по знаку противоположна и численно меньше разности

, т.е. число лежит между подходящими дробями и (ближе

к ).

Пример 4. Вычислим подходящие дроби для числа из примера 1.

Вычисления числителей и знаменателей организуем в таблицу 2.3.

Таблица 2.3 – Вычисление подходящих дробей для числа

0 1 2 3 4 5 6 7 8 … 1 2 2 2 2 2 2 2 …

1 1 3 7 17 41 99 239 577 …

0 1 2 5 12 29 70 169 408 …

Ограничимся вычислением первых восьми подходящих дробей:

, , , , ,

, , .

Очевидно, что . Причем и , т.е. с

увеличением точность аппроксимации числа подходящими дробями

возрастает. Уменьшается и сам диапазон .

Для наглядной демонстрации этого свойства рассмотрим разность

при . Обозначив

для получим

1 1 1 1 0s s s s s sQ Q P P

11 1

1

0s ss s s

s s

P PQ Q

Q Q

1 1s

1s sQ Q

s

s

P

Q

1

1

s

s

P

Q

a

b

s 1s

s

2

sP sQ

2

s

sq

sP

sQ

1 1 2

31,5

2 3

71, 4

5 4

171,417

12 5

411,4138

29

6

991,414286

70 7

2391,414201

169 8

5771,414216

408

7 82 4

72 10 5

82 10

s s

2 1 2s k s k

1s s 1s

1 1s s s s sh PQ Q P

1s

Page 35: ОСНОВЫ КРИПТОГРАФИИ:

35

,

а при с помощью равенств (2.3) найдем .

Тогда для справедливо равенство:

.

Пример 5. Для из примера 3 имеем:

, ,

, ,

т.е. с увеличением точность аппроксимации быстро возрастает.

Задания для самостоятельной работы

1. Разложите в цепную дробь числа:

1) ;

2) ;

3) ;

4) .

2. Найдите все подходящие дроби для 1) и 2) и восемь подходящих

дробей для 3) и 4). Для найденных значений найдите .

2.3. Золотое сечение и формулы Бине

Формулы Бине4 связывают числа Фибоначии и числа Люка с так

называемой золотой пропорцией (сечением).

Золотым сечением5 называется деление непрерывной величины на две

части в таком отношении, при котором меньшая часть относится к большей,

как большая к меньшей (см. рисунок 2.2).

4 Жак Филлип Мари Бине (1786 - 1856) – французский математик, механик и астроном. С его именем связана

формула для чисел Фибоначчи, хотя ее столетием ранее получил Абрахам де Муавр.

5 Золотое сечение (золотая пропорция, деление в крайнем и среднем отношении, гармоническое деление) –

соотношение двух величин a и b, b > a, когда справедливо b/a = (a+b)/b. Число, равное отношению b/a,

обычно обозначается прописной греческой буквой φ в честь древнегреческого скульптора и архитектора

Фидия (воплотившего золотое сечение во многих своих работах), реже – греческой буквой .

1 1 0 1 0 1 1 1 1 1h PQ Q P q

1s 1 ( 1)s

s sh h

1s

1 1 11

1 1 1

( 1)s

s s s s s ss s

s s s s s s

P P PQ Q P

Q Q Q Q Q Q

105

38

2

2 1

( 1)1

1 1

3

3 2

( 1) 1

4 1 4

4

4 3

( 1) 1

17 4 68

5

5 4

( 1) 1

38 17 646

s

5391/ 3976

10946 / 6765

3

е

1s s

Page 36: ОСНОВЫ КРИПТОГРАФИИ:

36

Рисунок 2.2 – Деление отрезка в золотой пропорции

Обозначим меньшую часть условной единицей, а большую часть

неизвестной переменной: , , т.е. будем искать золотую пропорцию,

как отношение большей части к единице. Другими словами, мы хотим

выяснить, во сколько раз нужно умножить меньшую часть, чтобы получить

большую часть пропорции. Получим соотношение:

,

откуда следует равенство .

Решая квадратное уравнение

(2.4)

получим корни

.

Положительное решение уравнения

дает соотношение золотого сечения как отношение большей части пропорции

к единице:

.

Фидий – один из лучших представителей классического стиля, считается основоположником европейского

искусства. Возглавляемая им аттическая школа скульптуры (2-й пол. 5 в. до н. э.) занимали ведущее место в

искусстве высокой классики.

,b a

a b ca c

c

a b

1b a x

1

1

x

x x

2 1x x

2 1 0x x

1 5

2x

1 51,618...

2x

1 5:1

2

Page 37: ОСНОВЫ КРИПТОГРАФИИ:

37

Таким образом, большая часть пропорции должна быть примерно в 1,6

раз больше, чем меньшая часть золотого сечения. Точное соотношение

задается т.н. золотым числом , которое, как будет показано ниже,

является иррациональным.

Обозначим теперь единицей большую часть пропорции, а меньшую

часть обозначим неизвестной переменной: , . Получим

соотношение:

,

откуда имеем квадратное уравнение с положительным решением

.

Таким образом, золотое сечение как отношение меньшей части

пропорции к единице имеет вид:

.

Полученные отношения должны быть обратными друг к другу, т.е.

.

Действительно, найдем число , обратное к золотому числу :

,

это и есть полученное выше отношение меньшей части пропорции к единице.

Разложим число в цепную дробь. Получим:

, , ;

1 5

2

1a b x

1

1 1

x

x

2 1 0x x

1 50,61...

2x

1 5:1

2

1

1 5 1 5:1 :1

2 2

1

1

1 1 5 2 2(1 5) 2(1 5) 1 5

2 4 21 5 (1 5)(1 5)

1 5

2

11 r 1

1 5 1 51

2 2r

1

2 2(1 5) 1 5

21 5 ( 1 5)(1 5)

Page 38: ОСНОВЫ КРИПТОГРАФИИ:

38

, , ;

…,

т.е. имеем бесконечную цепную дробь:

, (2.5)

откуда следует, что число , также как и число

являются иррациональными числами.

С использованием неполных частных в (2.5) найдем подходящие дроби

числа . Результаты вычислений c сведем в таблицу 2.4.

Таблица 2.4 – Вычисление подходящих дробей для числа

0 1 2 3 4 5 6 7 8 …

1 1 1 1 1 1 1 1 …

1 1 2 3 5 8 13 21 34 …

0 1 1 2 3 5 8 13 21 …

Очевидно, что и числители , и знаменатели всех подходящих

дробей принадлежат одной и той же числовой последовательности, т.е.:

.

Эти числа являются числами Фибоначчи.

Числа Фибоначчи6 – элементы числовой последовательности

, , …, , …

в которой каждое последующее число равно сумме двух предыдущих:

6 Леонардо Фибоначчи или Леонардо Пизанский (1170 - 1250) формулировал последовательность таких чисел

как решение следующей задачи: сколько пар кроликов может произойти от одной пары в течении года, если

каждая пара каждый месяц порождает новую пару, которая со второго месяца становится производителем,

кролики не дохнут.

1 21 r 2

1 5

2r

2

1 5

2

1 5 11

121

11

11

...

1 5

2

1 1 5

2

ss

s

P

Q

1 5

2

s

sq

sP

sQ

sP sQ

s

1

s ss

s s

P F

Q F

0F 1F nF

Page 39: ОСНОВЫ КРИПТОГРАФИИ:

39

, , , . (2.6)

Используя формулу (2.6) получим несколько чисел последовательности:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, …

Числа Фибоначчи можно рассматривать и для отрицательных индексов.

Для этого запишем формулу (2.6) для индекса :

и выразим число в виде

.

Последовательность Фибоначчи для запишем во вторую строку

таблицы 2.5. Очевидно, что .

Таблица 2.5 – Числа Фибоначчи и числа Люка для

… -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 …

… 13 -8 5 -3 2 -1 1 0 1 1 2 3 5 8 13 …

… -29 18 -11 7 -4 3 -1 2 1 3 4 7 11 18 29 …

Числа Люка7 – элементы числовой последовательности , , …, ,

…, в которой, как и для чисел Фибоначчи, каждое последующее число равно

сумме двух предыдущих, однако с другими начальными значениями:

, , , . (2.7)

Используя (2.7) выразим для отрицательных индексов:

. Полученные числа Люка записаны в третьей строке

таблицы 2.5. Очевидно, что .

Формулы Бине устанавливают аналитическую связь между золотым

числом и числами Фиббоначи или Люка .

Рассмотрим нулевую, первую и минус первую степени золотого числа:

0 1 ; ; .

7 Франсуа Эдуард Анатоль Люка (1842 - 1891) – французский математик, профессор. Первым обратил

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

1 2n n nF F F 1n 0 0F 1 1F

2n

2 1n n nF F F

nF

2 1n n nF F F

n Z1( 1)n

n nF F

nF nL n Z

n

nF

nL

0L 1L nL

1 2n n nL L L 1n 0 2L 1 1L

nL

2 1n n nL L L

( 1)n

n nL L

nF nL

1 1 5

2

1 1 5

2

Page 40: ОСНОВЫ КРИПТОГРАФИИ:

40

Число является корнем уравнения (2.4), т.е.

.

Последовательно умножая обе части полученного равенства на , ,

…, найдем третью, четвертую и т.д. степень золотого числа:

;

;

;

, (2.8)

т.е. -я степень золотого числа представима в виде линейной комбинации

соответствующих -ых чисел Люка и Фибоначчи.

Формула (2.8) справедлива для любого , т.к. числа Люка и

Фибоначчи для вычисляются по рассмотренным выше рекуррентным

соотношениям.

Рассмотрим сумму и разность -ой степени золотого числа:

,

.

Числа и , как и числа и , равны друг другу по абсолютной

величине. Однако, в зависимости от четности числа они могут как

совпадать, так и быть противоположны по знаку.

Предположим, что число , т.е. четно. Тогда

, ,

откуда получим:

2 1 01

2

2 1 0 1 5 3 51

2 2

3 2 1 3 5 1 5 4 2 5

2 2 2

4 3 2 4 2 5 3 5 7 3 5

2 2 2

1 2 1 1 2 25 5 5

2 2 2

n n n n n n n n nL F L F L F

n

n

n Z

0n

n

5 5

2 2

n n n n n nL F L F

5 5

2 2

n n n n n nL F L F

nL nL nF nF

n

2n k

2 2k kF F 2 2k kL L

Page 41: ОСНОВЫ КРИПТОГРАФИИ:

41

,

.

Для нечетных чисел справедливы равенства

, ,

откуда получим:

,

.

Обобщая полученные выражения имеем:

(2.9)

(2.10)

Выражения (2.9) и (2.10) устанавливают аналитические соотношения

между целыми числами Люка и Фибоначчи и степенью иррационального

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

выражения получили известность как формулы Бине.

Пример 1. Выразим и через иррациональные числа –

степени золотого числа. Имеем:

;

.

2 2 2 2 2 22

5 5

2 2

k k k k k kk

L F L FL

2 2 2 2 2 22

5 55

2 2

k k k k k kk

L F L FF

2 1n k

2 1 2 1k kF F 2 1 2 1k kL L

2 1 2 1 2 1 2 1 2 1 2 12 1

5 55

2 2

k k k k k kk

L F L FF

2 1 2 1 2 1 2 1 2 1 2 12 1

5 5

2 2

k k k k k kk

L F L FL

, 2 ;

, 2 1;

n n

n n n

n kL

n k

, 2 ;5

, 2 1.5

n n

n n n

n k

F

n k

10 123L 10 55F

10 10

10 10

10

1 5 1 5 123 55 5 123 55 5123

2 2 2 2L

10 10

10 10

10

1 5 1 5

2 2 123 55 5 123 55 555

5 5 2 5 2 5F

Page 42: ОСНОВЫ КРИПТОГРАФИИ:

42

Таким образом, целые числа 55 и 123 выражаются линейной

комбинацией иррациональных чисел – степенями золотого числа.

2.4. Континуанты и анализ алгоритма Евклида

Алгоритм Евклида позволяет за конечное число шагов найти

наибольший общий делитель чисел , . Возникает вопрос: как

много шагов понадобится алгоритму Евклида для поиска ? Для ответа на

этот вопрос введем несколько определений.

Пусть все неполные частные, полученные при выполнении

алгоритма Евклида, т.е.

. (2.11)

Тогда определитель (детерминант)

(2.12)

называется континуантой -ого порядка.

Разложим континуанту (2.12) по последнему столбцу, получим:

, (2.13)

т.е. континуанта -ого порядка равна произведению последнего неполного

частного на континуанту -ого порядка плюс континуанта -ого

порядка.

,a b Z 0a b

( , )a b

1 2, ,..., nq q q

1

2

3

4

1

1

1

1

...

1

n

aq

bq

q

q

q

1

2

3

1 2

1

1 0 0 ... 0 0

1 1 0 ... 0 0

0 1 1 ... 0 0

... ... ... ... ... ... ... ( , ,..., )

0 0 0 0 ... 1 0

0 0 0 0 ... 1

0 0 0 0 ... 1

n

n

n

q

q

q

q q q

q

q

n

1 2 1 2 1 1 2 2( , ,..., ) ( , ,..., ) ( , ,..., )n n n nq q q q q q q q q q

n

1n 2n

Page 43: ОСНОВЫ КРИПТОГРАФИИ:

43

Повторяя разложения по последнему столбцу для всех континуант в

разложении (2.13) получим следующее правило: континуанта

равна сумме всех возможных произведений неполных частных ,

одно из которых содержит все элементы , а остальные получаются

из него выбрасыванием одной или нескольких пар сомножителей с соседними

номерами. Если выброшены все сомножители, тогда считаем, что слагаемое

равно 1.

Пример 2. Используя правило вычисления континуант имеем:

.

Этот результат можем получить и последовательным разложением по

последнему столбцу:

Из формулы (2.13) следует интересное наблюдение: число слагаемых в

континуанте равно сумме числа слагаемых в континуантах

и . Кроме того, т.к. , число

слагаемых в континуантах порядка 1 и 2 равно числам Фибоначчи и , т.е.

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

Фибоначчи .

Отсюда следует еще одно наблюдение: значение континуанты

при равно числу слагаемых, т.е. . Однако

по смыслу цепной дроби (2.11) последнее неполное частное , и

наименьшее значение континуанты при ,

равно

Приведенные наблюдения позволяют доказать следующую теорему.

1 2( , ,..., )nq q q

1 2, ,..., nq q q

1 2, ,..., nq q q

1 2 3 4 5 1 2 3 4 5 1 2 3 1 2 5 1 4 5 3 4 5 1 3 5( , , , , )q q q q q q q q q q q q q q q q q q q q q q q q q

1 2 3 4 5 5 1 2 3 4 1 2 3

5 4 1 2 3 1 2 3 1 2 1

5 4 3 1 2 1 2 1 3 2 1 1

5 4 3 2 1 1 2 1 3 2 1 1

5 4 3 2 1 5 4 3

( , , , , ) ( , , , ) ( , , )

( ( , , ) ( , )) ( , ) ( )

( ( ( , ) ( )) ( ) 1) ( ( ) 1)

( ( ( ( ) 1) ) 1) ( 1)

q q q q q q q q q q q q q

q q q q q q q q q q q

q q q q q q q q q q q q

q q q q q q q q q q q q

q q q q q q q q q

5 4 1 5 2 1 5 3 2 1 3 1

1 2 3 4 5 1 2 3 1 2 5 1 4 5 3 4 5 1 3 5.

q q q q q q q q q q q

q q q q q q q q q q q q q q q q q q q q

1 2( , ,..., )nq q q

1 2 1( , ,..., )nq q q 1 2 2( , ,..., )nq q q 1( ) 1q 1 2 1 2( , ) 1q q q q

1F 2F

1 2( , ,..., )nq q q

1nF

1 2( , ,..., )nq q q 1 2 ... 1nq q q 1nF

2nq

1 2( , ,..., )nq q q 1 2 1... 1nq q q

2nq

1 2 1 2 1 1 2 2

1 1 1 2

( , ,..., ) ( , ,..., ) ( , ,..., )

2 ( ) .

n n n n

n n n n n n n n

q q q q q q q q q q

F F F F F F F F

Page 44: ОСНОВЫ КРИПТОГРАФИИ:

44

Теорема Ламе8. Пусть , причем алгоритму Евклида для

нахождения необходимо выполнить точно шагов, причем -

наименьшее с таким свойством. Тогда , .

Доказательство. Разложим число в цепную дробь (2.11).

Приводя правую часть (2.11) к общему знаменателю получим:

.

Однако и взаимно просты (как и все числители

взаимно просты знаменателям подходящих дробей). Следовательно, если

, тогда

Наименьшие значения и при определяются наименьшими

значениями континуант и , которые при

, равны, соответственно и .

Как следствие доказанной теоремы следует заметить, что если

натуральные числа и не превосходят , тогда число шагов алгоритма

Евклида не превысит

, (2.14)

где - верхнее целое числа .

Действительно, максимальное число шагов алгоритма Евклида

достигается при и , где - наибольшее целое, такое, что

. В соответствии с формулами Бине значение является

ближайшим целым к числу , т.е.

,

8 Габриель Ламе (1795 - 1870) – французский математик, механик, физик и инженер, член-корреспондент

Петербургской АН (1829); член Парижской академии наук (1843), профессор Политехнической школы (1832-

1863) и Парижского университета (1848-1863). В 1820-1832 работал в России (в Институте корпуса

инженеров путей сообщения в Петербурге).

0a b

( , )a b n a

2na F 1nb F

a

b

1 2

2 3

( , ,..., )

( , ,..., )

n

n

a q q q

b q q q

1 2( , ,..., )nq q q 2 3( , ,..., )nq q q

( , )a b d

1 2

2 3

( , ,..., ) ,

( , ,..., ) .

n

n

a q q q d

b q q q d

a b ( , ) 1a b

1 2( , ,..., )nq q q 2 3( , ,..., )nq q q

1 2 1... 1nq q q 2nq 2nF 1nF

a b N

log 5 3n N

x x

2na F 1nb F n

2nF N 2nF

2

5

n

2

5

n

N

Page 45: ОСНОВЫ КРИПТОГРАФИИ:

45

откуда

,

т.е. справедливо неравенство (2.14).

Пример 3. Если числа и не превосходят , тогда число шагов

алгоритма Евклида не превысит .

Задания для самостоятельной работы

1) Запишите в виде суммы произведений неполных частных континуату

седьмого порядка.

2) Каково наибольшее число шагов, необходимых алгоритму Евклида

для обработки двух чисел, меньших миллиарда?

3) Используя разложение в цепную дробь найдите с точностью до

десятого знака после запятой рациональную аппроксимацию числа

2 log 5 4,785 lg 1,672n N N

a b 61064,785 lg10 1,672 3 31 3 28

12

2

Page 46: ОСНОВЫ КРИПТОГРАФИИ:

46

3. ВАЖНЕЙШИЕ ФУНКЦИИ ТЕОРИИ ЧИСЕЛ

3.1. Целая и дробная часть вещественного числа

Целая часть от вещественного числа обозначается символом

и представляет собой наибольшее целое число, не превосходящее .

Пример: ; ; .

Дробная часть от вещественного числа обозначается символом

и представляет собой разность между и целой частью от .

Пример: ; ; .

Показатель, с которым данное простое число входит в произведение

, равен

. (3.1)

Действительно, число сомножителей произведения , кратных ,

равно . Среди них число сомножителей кратных равно . Среди

этих сомножителей ровно кратно и т.д. Сумма (3.1) дает общее

число вхождений простого в произведение , т.к. каждый сомножитель,

кратный но не кратный сосчитан в (3.1) точно раз, как кратный ,

, , …, .

Пример. Показатель, с которым число 3 входит в произведение 367!,

равен:

Пример. Число 10! в каноническом виде представимо через

произведение . Действительно, показатели с которыми входят

числа 2, 3, 5, 7 в произведение 10! равны:

,

,

x R x

x

7 7 2,3 2 4,75 5

x R

x x x x x

7 0 2,3 0,3 4,75 0,25

p

!n

log

2 31

...p n

ii

n n n n

p p p p

!n p

n

p

2p2

n

p

3

n

p

3p

p !nmp 1mp m p

2p 3p mp

3 367log

1

122 40 1367 367 367

3 4 1 180.3 3 9 27 81 243

367 367 367i

i

8 4 22 3 5 7

5 2 110 10 10

82 4 8

3 1 43 9

10 10

Page 47: ОСНОВЫ КРИПТОГРАФИИ:

47

,

,

т.е.

.

3.2. Количество и сумма делителей положительного целого числа.

Совершенные числа

В соответствии с основной теоремой арифметики каждое целое число,

отличное от -1, 0 и 1, единственным образом (с точностью до порядка

сомножителей) разложимо в произведение простых чисел, т.е. каждое такое

положительное число представимо в каноническом виде (разложении):

,

где – различные простые числа, а - кратности

появления соответствующих простых чисел в каноническом

разложении числа .

Если имеется также число , отличное от чисел -1, 0 и 1, с

каноническим разложением

,

тогда наибольший общий делитель чисел и равен

,

где .

Возникает естественный вопрос, а сколько всего существует различных

делителей числа , чему равна сумма этих делителей?

Все делители числа имеют вид

,

где .

Рассмотрим таблицу

102

5

101

7

8 4 210! 2 3 5 7

1 2

1 2 ... n

na p p p

1 2, ,..., np p p 1 2, ,..., n

1 2, ,..., np p p

a

b

1 2

1 2 ... n

nb p p p

a b

1 2

1 2( , ) ... n

na b p p p

min( , )i i i

1 2

1 2 ... n

na p p p

1 2

1 2 ... n

na p p p

1 2

1 2 ... n

nd p p p

0,1,...,i i

Page 48: ОСНОВЫ КРИПТОГРАФИИ:

48

каждая строка которой составлена из всех степеней соответствующего

фактора (сомножителя) в каноническом разложении числа .

Очевидно, что все делители числа

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

их между собою, при этом каждый делитель получим по одному разу. Таким

образом, количество различных делителей числа равно количеству

получаемых таким образом различных сомножителей. В первой строке

таблицы чисел и можно взять любое из них, во второй строке

чисел и можно взять любое из них, и т.д., т.е. всего различных комбинаций и

различных произведений равно

.

Следовательно, количество делителей числа задается

числовой функцией от этого числа, которую обозначим ,

.

Например, , делителями числа 12

являются 6 чисел: 1, 2, 3, 4, 6, 12.

Определим далее сумму делителей числа . Для этого

просуммируем числа в каждой строке таблицы и полученные суммы

перемножим:

.

Очевидно, что раскрыв скобки получим сумму всех возможных чисел

, ,

т.е. сумму всех делителей числа .

1

2

2

1 1 1

2

2 2 2

2

1, , ,... ,

1, , ,... ,

...

1, , ,... ,n

n n n

p p p

p p p

p p p

1 2

1 2 ... n

na p p p

1 2

1 2 ... n

nd p p p 1 2

1 2 ... n

na p p p

a

1 1 2 1

1 2( 1)( 1)...( 1)n

1 2

1 2 ... n

na p p p

( )a

1 2( ) ( 1)( 1)...( 1)na

2(12) (2 3) (2 1)(1 1) 6

1 2

1 2 ... n

na p p p

1 22 2 2

1 1 1 2 2 2(1 ... )(1 ... )...(1 ... )n

n n np p p p p p p p p

1 2

1 2 ... n

nd p p p 0,1,...,i i

1 2

1 2 ... n

na p p p

Page 49: ОСНОВЫ КРИПТОГРАФИИ:

49

Сумма элементов -ой строки таблицы является

суммой первых членов геометрической прогрессии9:

.

Следовательно, сумма делителей числа задается

числовой функцией от этого числа, которую обозначим ,

.

Например, , сумма делителей

числа 12 равна: 1 + 2 + 3 + 4 + 6 + 12 = 28.

Натуральное число называют совершенным, если

,

т.е. сумма собственных делителей совершенного числа (без делителя )

равна самому числу .

Если , тогда число называют недостаточным.

Если , тогда число называют избыточным.

Например, число 6 является совершенным, т.к.

,

число 8 является недостаточным, т.к.

,

9 Геометрической прогрессией называют последовательность чисел (членов прогрессии), в

которой каждое последующее число, начиная с , получается из предыдущего умножением его на

определенное число (знаменатель прогрессии), т.е. . Очевидно, что .

Сумма первых членов равна: .

i21 ... i

i i ip p p

1i

12 1 ( 1)

1 ...1

i

i ii i i

i

pp p p

p

1 2

1 2 ... n

na p p p

( )a

1

1

1( )

1

in

i

i i

pa

p

2 1 1 12 2 1 3 1

(12) (2 3) 7 4 282 1 3 1

a

( ) 2a a

d a

a( ) 2a a a

( ) 2a a a

1 1 1 12 1 3 1(6) (2 3) 3 4 12 2 6

2 1 3 1

3 13 2 1

(8) (2 ) 15 2 82 1

1 20, ,..., ,...nb b b

2b

0q 11: i ii b b q

1

1

n

nb b q

n1 1

1

1 1

(1 )

1

nn ni

i

i i

b qb b q

q

Page 50: ОСНОВЫ КРИПТОГРАФИИ:

50

число 12 является избыточным, т.к.

.

3.3. Мультипликативные функции и их свойства

Функция называется мультипликативной, если она удовлетворяет

следующим двум условиям.

1. Эта функция определена для всех целых положительных и не равна

нулю по меньшей мере при одном таком .

2. Для любых положительных взаимно простых и имеем:

.

Пример. Функция , где любое вещественное или

комплексное число является мультипликативной функцией, т.к.:

1) , ;

2) .

Свойства мультипликативных функций

Свойство 1. Для любой мультипликативной функции справедливо

равенство: . Действительно, пусть . Тогда:

.

Свойство 2. Для любой мультипликативной функции и попарно

простых чисел справедливо равенство:

В частности, выполняется равенство:

(3.2)

Свойство 3. Если определить и назначить произвольно

значения для , отвечающие положительным степеням простых чисел,

2 1 1 12 2 1 3 1

(12) (2 3) 7 4 28 2 122 1 3 1

( )a

a

a

1a 2a

1 2 1 2( ) ( ) ( )a a a a

( ) sa a s

: ( ) sa Z a a (1) 1 0

1 2 1 2 1 2 1 2( ) ( ) ( ) ( ) ( ) ( )s s sa a a a a a a a

(1) 1 ( ) 0a

( ) ( 1) ( ) (1) (1) 1a a a

1 2 3, , ,..., ka a a a

1 2 3 1 2 3

1 2 3 1 2 3

( ... ) ( ) ( ... )

( ) ( ) ( ... ) ... ( ) ( ) ( )... ( ).

k k

k k

a a a a a a a a

a a a a a a a a

1 2 1 2

1 2 1 2( ... ) ( ) ( )... ( )k k

k kp p p p p p

(1) 1

( )p

Page 51: ОСНОВЫ КРИПТОГРАФИИ:

51

тогда для любого будет определена некоторая

мультипликативная функция, заданная в общем случае выражением (3.2).

Пример. Пусть , а для всех простых и определим

. Тогда для произвольного выполняется равенство:

.

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

функции справедливы равенства: , , , ,

, .

Свойство 4. Произведение нескольких мультипликативных функций

является мультипликативной функцией. Действительно, для произведения

имеем:

1) , , …, , т.е. ;

2) Для любых имеем:

3)

Свойство 5. Пусть каноническое представление числа

и мультипликативная функция. Обозначим символом сумму по

всем делителям числа . Тогда справедливо равенство:

(Если , тогда правая часть считается раной 1.)

Для доказательства тождества раскроем скобки в правой части.

Получим сумму всех слагаемых вида

,

где , , …, .

А эта сумма и стоит в левой части тождества.

Свойство 6. Для любой мультипликативной функции функция

1 2

1 2 ... k

ka p p p

(1) 1 p 0

( ) 2p 1 2

1 2 ... k

ka p p p

1 2 1 2

1 2 1 2( ) ( ... ) ( ) ( )... ( ) 2k k k

k ka p p p p p p

(1) 1 (2) 2 (3) 2 (4) 2

(5) 2 (6) 4

1 2( ) ( )... ( )ka a a

1(1) 1 2 (1) 1 (1) 1k 1 2(1) (1)... (1) 1 (1)k

1 2( , ) 1a a

1 1 2 2 1 2 1 2 1 1 1 2 2 1 2 2 1 2

1 1 2 1 1 1 2 2 2 2 1 2

( , ) ( , )... ( , ) ( ) ( ) ( ) ( )... ( ) ( )

( ) ( )... ( ) ( ) ( )... ( ) ( ) ( ).

k k k

k k

a a a a a a a a a a a a

a a a a a a a a

1 2

1 2 ... k

ka p p p a

( )ad a

d a

1 22 2

1 1 1 2 2 2

2

1 0

( ) 1 ( ) ( ) ... ( ) 1 ( ) ( ) ... ( ) ...

1 ( ) ( ) ... ( ) ( ).i

k

d a

kj

k k k i

i j

d p p p p p p

p p p p

1a

3 31 2 1 2

1 2 3 1 2 3( ) ( ) ( )... ( ) ( ... )k k

k kp p p p p p p p

1 10 2 20 0 k k

( )a

Page 52: ОСНОВЫ КРИПТОГРАФИИ:

52

(3.3)

также мультипликативная.

Действительно:

1) .

2) Пусть и , , т.е. для

все и различны. Тогда:

3)

.

3.4. Мультипликативная формула для количества и суммы

делителей положительного целого числа

Мультипликативная формула для количества делителей заданного

числа. Пусть мультипликативная функция имеет вид , т.е. –

тождественная единица. Тогда, для функция (3.3) примет вид:

т.е. - число делителей заданного числа .

Пример. .

Для и мультипликативная функция имеет вид:

.

Числовая функция является мультипликативной, следовательно,

для всех взаимно простых и выполняется условие:

.

Например, и , следовательно:

( ) ( )d a

a d

1

(1) (1) 1d

1 2( , ) 1a a 31 2

1 1 2 3 ... n

na p p p p 31 2

2 1 2 3 ... k

ka q q q q

, 0i j ipjq

1 2

1 2 1 2

1 0 1 0

( ) ( ) ( ) ( ) ( ) ( )in k

j j

i i

d a a i j i j

a a d p q a a

( ) 1a ( )a

1 2

1 2 ... k

ka p p p

2

1

1 2

1 1

( ) ( ) 1 ( ) ( ) ... ( )

1 1 1 ... 1 1 (1 )(1 )...(1 ) 1,

i

i

k

i i i

d a i

k k

i k

d ai iраз

a d p p p

( )a 31 2

1 2 3, , ,..., k

ka p p p p

4 2(720) (2 3 5) (1 4)(1 2)(1 1) 30

a p 0 ( )a

( ) 1p

( )a

1a 2a

1 2 1 2( ) ( ) ( )a a a a

(72) (8 9) (8,9) 1

Page 53: ОСНОВЫ КРИПТОГРАФИИ:

53

.

Мультипликативная формула для суммы делителей заданного

числа. Пусть мультипликативная функция имеет вид , т.е. –

тождество. Тогда, для функция (3.3) примет вид:

Пример. .

Для и мультипликативная функция имеет вид:

.

Числовая функция является мультипликативной, следовательно,

для всех взаимно простых и выполняется условие:

.

Например, и , следовательно:

.

Используя свойство мультипликативности числовой функции ,

рассмотрим необходимые и достаточные условия существования четных

совершенных чисел.

3.5. Необходимые и достаточные условия существования четных

совершенных чисел

Достаточное условие существования четных совершенных чисел

сформулировано Евклидом в виде следующей теоремы.

Теорема Евклида о четных совершенных числах. Если имеет вид

3 2(72) (8 9) (8) (9) (2 ) (3 ) (3 1) (2 1) 4 3 12

( )a a ( )a

1 2

1 2 ... k

ka p p p

2

1

12

1 1

( ) ( ) 1 ( ) ( ) ... ( )

11 ... ( ).

1

i

i

i

k

i i i

d a i

k k

ii i i

i i i

a d p p p

pp p p a

p

5 3 24 2 2 1 3 1 5 1

(720) (2 3 5) 24182 1 3 1 5 1

a p 0 ( )a

1 1( )

1

pp

p

( )a

1a 2a

1 2 1 2( ) ( ) ( )a a a a

(72) (8 9) (8,9) 14 3

3 2 2 1 3 1(72) (8 9) (8) (9) (2 ) (3 ) 15 13 195

2 1 3 1

( )a

a

12 (2 1) 2a p

Page 54: ОСНОВЫ КРИПТОГРАФИИ:

54

и при этом - простое число, тогда число совершенно.

Доказательство. Если имеет такой вид, тогда

Среди показателей степени числа 2, таких, что -

простое число, есть, например, следующие числа (https://oeis.org/A000043):

1 = 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607, 1279, 2203, 2281,

3217, 4253, 4423, 9689, 9941, 11213, 19937, 21701, 23209, 44497, 86243,

110503, 132049, 216091, 756839, 859433, 1257787, 1398269, 2976221,

3021377, 6972593, 13466917, 20996011, 24036583, 25964951, 30402457,

32582657, …

Соответствующие простые и совершенные числа будут равны:

3,

7,

31,

127,

8 191,

131 071,

524 287,

2 147 483 647.

6,

28,

496,

8128,

33 550 336,

8 589 869 056,

137 438 691 328,

2 305 843 008 139 952 128.

Необходимое условие для существования четных совершенных чисел

сформулировано Эйлером только через 2000 лет в виде следующей теоремы.

12 1p a

a

1 21 1

1 1 1 1

2 1 1 ( 1)( 1)( ) (2 1) (2 1) ( 1)

2 1 1 1

2 2 1 2 2 2 2 2 .

p p pa p

p p

p p p p p p p a

1 12 1p

12 1p

12 (2 1) 2a p

Page 55: ОСНОВЫ КРИПТОГРАФИИ:

55

Теорема Эйлера о четных совершенных числах. Четные числа ,

имеющие вид (из теоремы Евклида)

,

являются единственными четными совершенными числами.

Доказательство. Пусть задано произвольное четное число, которое

запишем в виде

,

однозначно разложенное на степень числа 2 с показателем и нечетное

число . Тогда, в соответствии со свойством мультипликативности, сумма

делителей числа равна

.

Если число совершенно, тогда , т.е. справедливо

равенство

,

или, что эквивалентно,

.

Справа в последнем равенстве стоит несократимая дробь. Поэтому левая

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

некоторое натуральное число , т.е. одновременно выполняются равенства:

,

.

Так как , тогда в сумму делителей входят в

качестве слагаемых два различных делителя: и . Но их сумма

уже дает значение , равное сумме делителей . Следовательно,

число не имеет никаких других натуральных делителей, кроме и

. Но это возможно только для простых чисел , которые по

a

12 (2 1) 2a p

2a u

1

u

a

112 1

( ) (2 ) ( ) ( ) (2 1) ( )2 1

a u u u

a 1( ) 2 2a a u

1 12 (2 1) ( )u u

1

1

2 1

( ) 2

u

u

t

1(2 1)u t 1( ) 2u t

1(2 1)u t ( )d u

u d

d t 1(2 1)t t 12 t 1( ) 2u t

u t1(2 1)t u p

Page 56: ОСНОВЫ КРИПТОГРАФИИ:

56

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

на 1 и на . Следовательно, - есть простое число, и одновременно

1t , ,

а число имеет только евклидовский вид

.

3.6. Простые числа Мерсенна и Ферма

Рассмотренные выше необходимые и достаточные условия

существования четных совершенных чисел (теоремы Евклида и Эйлера) дают

неявную характеристику совокупности всех таких чисел. Однако для

построения всего набора четных совершенных чисел необходимо ответить на

вопрос: для каких натуральных показателей число будет

простым?

Положим . Тогда ограничение на степень двойки для простоты

числа постулируется следующей теоремой.

Теорема (условие простоты числа ). Число может быть

простым только тогда, когда число - простое.

Доказательство.

Если число составное, тогда имеется нетривиальное разложение

, где . Следовательно, число может быть разложено на

сомножители:

,

причем эти сомножители также не тривиальны, т.к. , что

противоречит простоте числа .

Результат теоремы не гарантирует обратного, т.е. того, что при простом

числе число будет простым. Утверждается только то, что каждое

простое число возможно только при простом числе .

Таким образом, евклидовская форма четных совершенных чисел

приводится к виду:

,

где и - простые числа.

p u p

12 1 p

a

12 (2 1) 2a p

1 12 1

1 q

2 1q

2 1q 2 1q

q

q

1 2q 11 q 2 1q

1 1 1 2( 1)2 1 (2 1)(1 2 ... 2 )q

11 2 1 2 1q

2 1q

q 2 1q

2 1q q

12qa p

q 2 1qp

Page 57: ОСНОВЫ КРИПТОГРАФИИ:

57

Остается вопрос: для каких простых число будет простым?

Простые числа вида называются простыми числами

Мерсенна10

. Для первых четырех простых чисел 2, 3, 5, 7 получаются первые

четыре простых числа Мерсенна 3, 7, 31, 127, которые приводят к

рассмотренным выше первым четырем совершенным числам 6, 28, 496, 8128.

Однако не верно то, что каждое простое число приводит к простому числу

. Например, для имеем - составное.

Для опять имеем простое число Мерсенна , и тем

самым пятое совершенное число .

Всего на январь 2016 года известно 49 простых чисел Мерсенна. При

этом порядковые номера достоверно установлены только у первых 44 чисел.

На декабрь 2018 года известно уже 51 простое число Мерсенна. При

этом порядковые номера достоверно установлены только у первых 47 чисел. В

частности, неизвестно, существуют ли другие простые числа Мерсенна,

меньшие известного рекордного.

Самым большим известным на январь 2016 года простым числом

является число Мерсенна , найденное Кертисом Купером

(англ. Curtis Cooper) в рамках проекта распределённых вычислений GIMPS11

.

Десятичная запись числа содержит 22 338 618 цифр.

Самым большим известным простым числом (на январь 2019 года)

является число Мерсенна , найденное 7 декабря 2018 года

Патриком Лярошем в рамках проекта добровольных вычислений GIMPS.

Десятичная запись числа содержит 24 862 048 цифр.

Простые числа Мерсенна применяются для построения генераторов

псевдослучайных чисел с большими периодами (один из важнейших

криптопримитивов в современной криптографии).

Двойные числа Мерсенна определяются как . На январь

2019 года известны только 4 простых числа такого вида (при 2,3,5,7).

Неизвестно, конечно или бесконечно множество простых чисел

Мерсенна и плотность их распределения во множестве натуральных чисел

также неизвестна. Неизвестно, существуют ли простые двойные числа

Мерсенна при . Эти вопросы являются открытыми в современной

теории чисел. Кроме того, в то время как вопрос о четных совершенных

числах принципиально решен теоремами Евклида и Эйлера и остается лишь

10

Марен Мерсенн (устаревшая транслитерация Марин Мерсенн; фр. Мерсенн; 8 сентября 1588 - 1 сентября

1648) - французский математик, физик, философ и богослов, теоретик музыки. На протяжении первой

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

практически со всеми видными учёными того времени. Эта переписка имеет огромную научную и

историческую ценность. Имеет личные научные заслуги в области математики, акустики и теории музыки. 11

GIMPS (Great Internet Mersenne Prime Search) – широкомасштабный проект добровольных вычислений по

поиску простых чисел Мерсенна.

q 2 1qp

2 1qp

q

2 1qp 11q 112 1 2047 23 89p

13q 132 1 8191p

2 33550336a p

74207281

74207281 2 1p

74207281p

82589933

82589933 2 1p

82589933p

2 12 1q

qpp

q

7q

Page 58: ОСНОВЫ КРИПТОГРАФИИ:

58

вопрос о простых числах Мерсенна, до сих пор не известно ни одного

нечетного совершенного числа, хотя и не доказано, что их не существует.

Неизвестно также конечное ли число нечетных совершенных чисел, если они

существуют. На сегодняшний день доказано, что нечётное совершенное

число, если оно существует, превышает 101500

. При этом число простых

делителей такого числа с учётом кратности не меньше 101. Поиском нечётных

совершенных чисел занимается проект распределённых вычислений

OddPerfect.org.

Простые числа Ферма

Простые числа Ферма вводятся очень похожим на числа Мерсенна

способом.

Рассмотрим число . Условие его простоты задается следующей

теоремой.

Теорема (условие простоты числа ). Число может быть

простым только тогда, когда , т.е. показатель степени есть степень числа

два.

Доказательство.

Если - разложение числа с нечетным множителем , тогда

будет разложением числа на два натуральных множителя и притом

нетривиальным, т.к. , что противоречит простоте числа

Результат теоремы сводит вопрос о существовании простых чисел

к следующему: для каких целочисленных показателей число

будет простым?

Простые числа вида называются простыми числами Ферма12

.

Для чисел 0, 1, 2, 3, 4 получаются первые четыре простых числа Ферма

3, 5, 17, 257, 65537. Однако для число делится на 641.

Относительно простых чисел Ферма неизвестно конечно или

бесконечно их множество, равно как и плотность распределения простых

чисел Ферма во множестве натуральных чисел также неизвестна. На январь

2019 года известно лишь пять приведенных таких числа, существование

других простых чисел Ферма является открытой проблемой.

12

Пьер де Ферма (фр. Pierre de Fermat, 17 августа 1601 — 12 января 1665) - французский математик, один из

создателей аналитической геометрии, математического анализа, теории вероятностей и теории чисел. По

профессии юрист, с 1631 года - советник парламента в Тулузе. Блестящий полиглот. Наиболее известен

формулировкой Великой теоремы Ферма. Ферма (как и Лейбниц) ошибочно полагал, что для всех

число является простым.

2 1ap

2 1a 2 1a

2qa

a um a 1u

2 ( 1)2 1 (2 1)(1 2 2 ... 2 )a m m m u m

2 1a

1 2 1 2 1m a 2 1a

2 1a

0q 22 1q

p

22 1q

p

5q 52 322 1 2 1p

0q

22 1q

p

Page 59: ОСНОВЫ КРИПТОГРАФИИ:

59

Перечислим еще раз вопросы, до сих пор остающиеся нерешенными:

- существуют ли нечетные совершенные числа?

- существует ли бесконечно много простых чисел Мерсенна и

соответствующих четных совершенных чисел ?

- существует ли бесконечно много простых чисел Ферма ?

Для теории чисел характерно, что в ней существует ряд проблем,

которые формулируются простейшими способами (и могут быть понятны

школьнику), однако их решение чрезвычайно сложно для очень

подготовленных математиков-профессионалов. В частности, из вопроса о

существовании простых чисел Ферма возникла малая теорема Ферма (будет

рассмотрена в последующих разделах). А знаменитая великая теорема Ферма

(для любого натурального числа уравнение не имеет

решений в целых ненулевых числах ) привела к возникновению

арифметической теории алгебраических чисел и прочих разделов

современной теории чисел.

Задания для самостоятельной работы

Найдите число делителей и сумму делителей чисел:

а) 5600;

б) 116424;

в) 510510.

3.7. Функция Мебиуса и ее свойства

Функция Мебиуса числа - это мультипликативная функция,

определенная равенствами: , , если . На остальных

натуральных числах функция дополняется до мультипликативности.

Из этого определения следует:

1. Если в каноническом разложении числа по меньшей

мере один из показателей превосходит 1 (если делится на

квадрат, отличный от 1), тогда ;

2. Если каноническое разложение числа имеет вид

(если свободно от квадратов), тогда ;

3. .

Пример: таблица 3.1.

2 1qp 12qa p

22 1q

p

2n n n na b c , ,a b c

( )a a

( ) 1p ( ) 0p 1

( )a

1 2

1 2 ... k

ka p p p

1 2, ,..., k a

( ) 0a

a 1 2, ,..., ka p p p

a ( ) ( 1)ka 0(1) ( 1) 1

Page 60: ОСНОВЫ КРИПТОГРАФИИ:

60

Таблица 3.1. – Значения функции Мебиуса для нескольких первых чисел

из натурального ряда

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 -1 -1 0 -1 1 -1 0 0 1 -1 0 -1 1 1 0

Пусть – произвольная мультипликативная функция и

- каноническое разложение числа . Тогда:

(если правую часть считаем равной 1).

Если мультипликативная функция - тождественная единица,

тогда:

Если мультипликативная функция имеет вид , тогда:

3.8. Функция Эйлера и ее свойства

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

и представляет собой количество чисел из натурального ряда меньших и

взаимно простых с . При этом полагают .

Пример: таблица 3.2.

( )a

a( )a

( )a1 2

1 2 ... k

ka p p p a

2 2

1

1 2

1

( ) ( ) 1 ( ) ( ) ( ) ( ) ... ( ) ( )

1 ( ) 1 ( ) 1 ( ) ... 1 ( )

i i

k

i i i i i i

d a i

k

i k

i

d d p p p p p p

p p p p

1a

( ) 1a

2

1

0, 1,( ) ( ) ( ) 1 ( ) ( ) ... ( )

1, 1.i

k

i i i

d a d a i

ad d d p p p

a

1( )a

a

212

1

1( ) ( ) ( )

11 , 1,1 1 1

1 ( ) ( ) ... ( )

1, 1.

i

i

d a d a

k

k

ii i i i

i i i i

d d dd

ap p p p

p p pa

( )a

a a

a (1) 1

Page 61: ОСНОВЫ КРИПТОГРАФИИ:

61

Таблица 3.2. – Значения функции Эйлера для нескольких первых чисел

из натурального ряда

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 8

Пусть - каноническое разложение числа . Тогда:

,

,

в частности, , .

Действительно, пусть пробегает числа . Положим

- наибольший общий делитель. Тогда есть число значений

, равных 1.

Рассмотрим функцию

Тогда:

.

Суммирование производится по всем делителям числа .

Но это означает, что делит и число , и число . Следовательно, в

суммировании участвуют только такие , которые кратны . Среди чисел

таких значений ровно , т.е.:

.

Если рассмотреть число в каноническом виде и внести

его внутрь скобок, получим:

( )a

a( )a

1 2

1 2, ,..., k

ka p p p a

1 2

1 1 1( ) 1 1 ... 1

k

a ap p p

1 1 2 2 11 1

1 1 2 2( ) ( )( )...( )k k

k ka p p p p p p

1( ) ( )p p p ( ) 1p p

x 0,1,2,..., 1a

( ) ( , )x a x a ( )a

( )x a

0, 1,( ) ( )

1, 1.x

x

x

d x

d

0 0

( ) ( ) ( )x

x

x a x a d

a d

d ( ) ( , )x a x a

d x a

x d0,1,2,..., 1a /a d

0 1 2

1 1 1( ) ( ) ( ) 1 1 ... 1

x xx a d d k

aa d d a

d p p p

a 1 2

1 2 ... k

ka p p p

Page 62: ОСНОВЫ КРИПТОГРАФИИ:

62

С формулой

связано так называемое правило включений и исключений, которое

раскрывает «физический смысл» функции Эйлера.

Правило включений и исключений. Пусть задано множество А и

выделено k его подмножеств. Количество элементов множества А, которые не

входят ни в одно из выделенный подмножеств, подсчитывается так: следует

из общего числа элементов А вычесть количества элементов всех k

подмножеств, прибавить количества элементов всех их попарных

пересечений, вычесть количества элементов всех тройных пересечений,

прибавить количества элементов всех пересечений по четыре и т.д. вплоть до

пересечения всех k подмножеств.

Иллюстрация правила включений и исключений для чисел вида

приведена на рисунке 3.1.

Рисунок 3.1 – Иллюстрация правила включений и исключений для

На рисунке 3.1 прямоугольник изображает множество всех целых чисел

от 0 до a; овал N1 - множество чисел, кратных p1; кружок N2 - числа, кратные

p2; пересечение N1,2 - множество чисел, делящихся одновременно на p1 и p2 ,

1 2

1 2

1 2

1 1 2 2

1 2

1 2

1 21 2

1 2

11 1

1 1 2 2

1 1 1( ) ... 1 1 ... 1

...

( )( )...( ).

k

k

k

k k

k

k

kk

k

k k

a p p pp p p

p p pp p p

p p p

p p p p p p

1 2

1 1 1( ) 1 1 ... 1

k

a ap p p

1 2

1 2a p p

N1 N2N1,2

1 2

1 2a p p

Page 63: ОСНОВЫ КРИПТОГРАФИИ:

63

т.е. на p1p2; числа вне овала и кружочка взаимно просты с a. Для подсчета

числа чисел, взаимно простых с a, нужно из a вычесть количество чисел в N1 и

количество чисел в N 2 (их, соответственно, a / p 1 и a / p 2 штук), при этом

общая часть N 1,2 (там a /( p 1 p 2 ) штук чисел) вычтется дважды, значит ее надо

один раз прибавить (это и есть правило "включение - исключение"). В

результате получим:

.

Свойства функции Эйлера

При число всегда четное. Действительно, если k взаимно

просто с a и k < a , то число a - k тоже меньше a, взаимно просто с a и не равно

k . (Если бы a и a - k имели общий делитель, то их разность a - ( a - k ) = k тоже

делилась бы на этот делитель, что противоречит взаимной простоте a и k.)

Значит числа, взаимно простые с a разбиваются на пары k и a - k ,

следовательно, их четное число.

Функция Эйлера мультипликативна. Действительно,

,

где , и – мультипликативные функции.

Выполняется соотношение:

Примеры.

,

,

,

1 2 1 2 1 2

1 1( ) 1 1

a a aa a a

p p p p p p

2a ( )a

1 2

( )( ) ( )

d a d a

a da d a

d d

1 a 2

( )

xd

d

d

1 2,

1 2

2

1

12

1 2

1 1

( ) 1 ( ) ( ) ... ( )

1 ( 1) ( ) ... ( ) ... .

i

i i i k

k

i i i

d a i

k k

i i i i i i k

i i

d p p p

p p p p p p p p p a

(5) 5 1 4

(30) (2 3 5) (2 1)(3 1)(5 1) 8

2 1 1 1(60) (2 3 5) 60 1 1 1 16

2 3 5

30

( ) (1) (2) (3) (5) (6) (10) (15) (30)

1 1 2 4 2 4 8 8 30.

d

d

Page 64: ОСНОВЫ КРИПТОГРАФИИ:

64

3.9. -функция Римана и некоторые ее свойства

Как функция вещественной переменной, дзета-функция была введена в

1737 году Эйлером, который и указал её разложение в произведение. Затем

эта функция рассматривалась Дирихле и, особенно успешно, Чебышёвым при

изучении закона распределения простых чисел. Однако наиболее глубокие

свойства дзета-функции были обнаружены позднее, после работы Римана

(1859), где дзета-функция рассматривалась как функция комплексной

переменной.

Дзета-функция Римана – функция комплексной переменной

, при определяемая с помощью ряда Дирихле13

:

,

где .

В области этот ряд сходится, является аналитической функцией

и допускает аналитическое продолжение на всю комплексную плоскость без

единицы.

Качественный график дзета-функции приведен на рисунке 3.2. Для

вещественных s > 1 качественный график дзета-функции приведен на рисунке

3.3.

В исходной области также верно представление в виде бесконечного

произведения (тождество Эйлера)

,

где произведение берётся по всем простым числам .

13 Рядом Дирихле называется ряд вида , где s и an – комплексные числа, n = 1, 2, 3, … .

Абсциссой сходимости ряда Дирихле называется такое число , что при он сходится;

абсциссой абсолютной сходимости называется такое число , что при ряд сходится

абсолютно (сходится ряд из модулей ).

Для любого ряда Дирихле справедливо соотношение (если и конечны).

( )s

Re( ) Im( )s s s Re( ) 1s

1 1 1( ) ...

1 2 3s s ss

s C

Re( ) 1s

1( )

1 sp

sp

1

n

sn

a

n

c Re( ) cs

a Re( ) as

1

n

sn

a

n

0 1a c c a

Page 65: ОСНОВЫ КРИПТОГРАФИИ:

65

Рисунок 3.2 – Качественный график дзета-функции Римана на действительной

оси. Слева от нуля значения функции увеличены в 100 раз для наглядности

Рисунок 3.3 – Качественный график дзета-функции для вещественных s > 1

Идея доказательства использует лишь простую алгебру, доступную

прилежному школьнику. Изначально именно этим способом Эйлер вывел свое

тождество.

Доказательство использует свойство (аналогии) решета Эратосфена.

Рассмотрим функцию

Page 66: ОСНОВЫ КРИПТОГРАФИИ:

66

и умножим ее слева и справа на , получим:

.

Теперь вычтем из , получим:

,

т.е. в результате мы удалим все элементы с делителем 2.

Повторим процедуру: умножим на , получим

,

вычтем из , получим:

,

где удалены все элементы с делителями 2 и/или 3.

Как можно увидеть, правая сторона просеивается через решето.

Бесконечно повторяя, получаем:

.

Поделим обе стороны на всё, кроме , получим выражение:

,

1 1 1( ) ...

1 2 3s s ss

1

2s

1 1 1 1( ) ...

2 2 4 6s s s ss

1( )

2ss ( )s

1 1 1 11 ( ) 1 ...

2 3 5 7s s s ss

1

3s

1 1 1 1 11 ( ) ...

3 2 3 9 15s s s s ss

1 11 ( )

3 2s ss

11 ( )

2ss

1 1 1 1 11 1 ( ) 1 ...

3 2 5 7 11s s s s ss

1 1 1 1 1... 1 1 1 1 1 ( ) 1

11 7 5 3 2s s s s ss

( )s

1( ) 1

1 1 1 1 11 1 1 1 1 ...

2 3 5 7 11s s s s s

s

Page 67: ОСНОВЫ КРИПТОГРАФИИ:

67

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

.

Чтобы сделать доказательство строгим, необходимо потребовать только

лишь, чтобы, когда , просеиваемая правая часть приближалась к 1,

что немедленно следует из сходимости ряда Дирихле для . Это равенство

представляет собой одно из основных свойств дзета-функции.

Существуют явные формулы для значений дзета-функции в чётных

целых точках:

,

где – число Бернулли.

В частности,

, , , .

Про значения дзета-функции в нечётных целых точках известно мало:

предполагается, что они являются иррациональными и даже

трансцендентными, но пока доказана только лишь иррациональность числа

ζ(3). Также доказано, что среди значений ζ(5), ζ(7), ζ(9), ζ(11) есть хотя бы

одно иррациональное.

При справедливы следующие тождества:

,

где – функция Мебиуса;

,

где – функция Луивилля;

,

1( )

1 sp

sp

Re( ) 1s

( )s

21

2

(2 )2 (2 ) ( 1)

(2 )!

mm

mm Bm

2mB

2

(2)6

4

(4)90

6

(6)945

8

(8)9450

Re( ) 1s

1

1 ( )

( ) sn

n

s n

( )n

1

(2 ) ( )

( ) sn

s n

s n

( )n

2

1

( )( )

sn

ns

n

Page 68: ОСНОВЫ КРИПТОГРАФИИ:

68

где – число делителей числа ;

;

,

где – число простых делителей числа ;

;

.

Дзета-функция имеет в точке простой полюс с вычетом,

равным 1.

При , функция удовлетворяет уравнению:

, (3.4)

где – гамма-функция Эйлера (расширяет понятие факториала на поле

нецелых действительных и комплексных чисел):

, ,

.

Уравнение (3.4) называется функциональным уравнением Римана14

.

Для функции

,

14

Георг Фридрих Бернхард Риман (нем. Georg Friedrich Bernhard Riemann; 17 сентября 1826 года, Брезеленц,

Ганновер – июля 1866 года, Селаска, Италия, близ Лаго-Маджоре) – немецкий математик, механик и физик.

За свою короткую жизнь (всего 10 лет трудов) он преобразовал сразу несколько разделов математики.

( )n n

1

( )( )

(2 ) sn

ns

s n

2 ( )

1

( ) 2

(2 )

n

sn

s

s n

( )n n

3 2

1

( ) ( )

(2 ) sn

s n

s n

4 2

1

( ) ( ( ))

(2 ) sn

s n

s n

( )s 1s

0s 1s ( )s

1( ) 2 sin (1 ) (1 )2

s s ss s s

( )z

1

11

1( )

1

z

n

nz

zz

n

\{0, 1, 2,...}z C

( ) ( 1) ( 1)z z z

/21( ) ( 1) ( )

2 2

s ss s s s

Page 69: ОСНОВЫ КРИПТОГРАФИИ:

69

введённой Риманом для исследования и называемой кси-функцией

Римана, это уравнение принимает вид:

.

Как следует из функционального уравнения Римана, в полуплоскости

, функция имеет лишь простые нули в отрицательных чётных

точках: . Эти нули называются «тривиальными»

нулями дзета-функции. Далее, при вещественных .

Следовательно, все «нетривиальные» нули дзета-функции являются

комплексными числами. Кроме того, они обладают свойством симметрии

относительно вещественной оси и относительно вертикали и лежат

в полосе , которая называется критической полосой. Согласно

гипотезе Римана, они все находятся на критической прямой .

Гипотеза Римана о распределении нулей дзета-функции

сформулирована в 1859 году. В то время, как не найдено какой-либо

закономерности, описывающей распределение простых чисел среди

натуральных, Риман обнаружил, что количество простых чисел, не

превосходящих , – функция распределения простых чисел, обозначаемая

, – выражается через распределение «нетривиальных нулей» дзета-

функции. Многие утверждения о распределении простых чисел, в том числе о

вычислительной сложности некоторых целочисленных алгоритмов, доказаны

в предположении верности гипотезы Римана. Гипотеза Римана входит в

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

Математический институт Клэя (Clay Mathematics Institute, Кембридж,

Массачусетс) выплатит награду в один миллион долларов США.

Задания для самостоятельной работы

Составьте таблицу значений функции Мёбиуса μ(n) и функции Эйлера

φ(n) для всех значений n от 1 до 100.

( )s

( ) (1 )s s

Re( ) 0s ( )s

0 ( 2) ( 4) ( 6) ...

( ) 0s (0,1)s

1Re( )

2s

0 Re( ) 1s

1Re( )

2s

x( )x

Page 70: ОСНОВЫ КРИПТОГРАФИИ:

70

4. ОСНОВНЫЕ ПОНЯТИЯ И СВОЙСТВА СРАВНЕНИЙ

4.1. Основные понятия теории сравнений

Теория сравнений изучает свойства целых чисел в связи с остатками от

деления их на заданное положительное целое число , которое называют

модулем.

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

на модуль . Если двум целым и отвечает один и тот же остаток , тогда

числа и называют равноостаточными или сравнимыми по модулю .

Сравнимость чисел и по модулю записывается в виде выражения:

, (4.1)

что эквивалентно:

возможности представить число в виде , где - целое;

делимости на .

Действительно, из сравнимости (4.1) следует:

, , ,

Откуда

, , .

Обратно, из равенства , представляя в виде

, ,

Получим

, ,

т.е. имеем сравнение (4.1).

Бинарное отношение сравнимости является отношением

эквивалентности на множестве целых чисел. Это отношение разбивает все

множество целых чисел на классы (подмножества) сравнимых между собой по

модулю чисел. На рисунке 4.1 наглядно продемонстрирован процесс

разбиения множества целых чисел на восемь классов эквивалентности

(классов вычетов). Это разбиение основано на применении отношения

сравнимости целых чисел по модулю .

m

m a b ra b m

a b m

moda b m

a a b mt t

a b m

1a mq r 2b mq r 0 r m

1 2( )a b m q q a b mt 1 2t q q

a b mt b

2b mq r 0 r m

1a mq r 1 2q q t

m

8m

Page 71: ОСНОВЫ КРИПТОГРАФИИ:

71

Рисунок 4.1 – Классы эквивалентности целых чисел по модулю

4.2. Основные свойства сравнений, подобные свойствам равенств

Свойство 1. Два числа, сравнимые с третьим, сравнимы между собою.

Это следует из самого определения классов эквивалентности, заданных

отношением сравнимости целых чисел по модулю (рисунок 4.1).

Пример. .

Свойство 2. Сравнения по одинаковому модулю можно почленно

складывать.

Действительно, пусть

, , …, . (4.2)

Тогда

, , …, , (4.3)

откуда

,

что эквивалентно

.

Очевидно, что слагаемое, стоящее в какой-либо части сравнения, можно

переносить в другую часть, изменив знак на обратный:

.

8m

m

3 11 19mod8 3 19mod8

1 1 moda b m 2 2 moda b m modk ka b m

1 1 1a b mt 2 2 2a b mt k k ka b mt

1 2 1 2 1 2... ... ( ... )k k ka a a b b b m t t t

1 2 1 2... ... modk ka a a b b b m

mod

mod

1mod

a b m

b b m

a b m

Page 72: ОСНОВЫ КРИПТОГРАФИИ:

72

Кроме того, к каждой части сравнения можно прибавить любое число,

кратное модулю:

.

Пример.

, , .

Свойство 3. Сравнения по одинаковому модулю можно почленно

перемножать.

Действительно, рассмотрим сравнения (4.2) и вытекающие из них

равенства (4.3). Перемножая почленно равенства (4.3) получим:

,

где - целое, что эквивалентно

.

Если при этом и , тогда имеем:

,

т.е. обе части сравнения можно возвести в одну и ту же степень.

Пример.

.

Пример.

При любом натуральном число делится на 7.

Действительно,

, , .

Возведем первое сравнение в степень , второе – в степень ,

третье – в степень и сложим. Получим:

,

т.е. число делится на 7.

mod

0mod

mod

a b m

mk m

a mk b m

5 3mod8

7 15mod8

2 18mod8

3 19mod8

4 12mod8

1 7mod8

11 13mod8

2 8 0mod8

5 13mod8

1 2 1 2... ...k ka a a b b b mN

N

1 2 1 2... ... modk ka a a b b b m

1 2 ... ka a a a 1 2 ... kb b b b

modk ka b m

1 7mod8

2 10mod8

2 70mod8

n 2 137 16 23n n n

37mod7 2 16mod7 2 23mod7 2

2n 1n

n2 1 2 1 237 16 23 (2 2 2 )mod7 2 (2 2 1)mod7 2 7mod7n n n n n n n n

2 137 16 23n n n

Page 73: ОСНОВЫ КРИПТОГРАФИИ:

73

Кроме того, каждую часть сравнения можно умножить на одно и то же

целое число:

.

Свойства 2 и 3 обобщаются следующей теоремой.

Пример.

.

Теорема 1 (сложение и умножение сравнений).

Если в выражении многочлена с целыми коэффициентами

значения и заменим сравнимыми по модулю числами

и , соответственно, тогда новое выражение будет

сравнимо с прежним по модулю :

.

В частности, если

, , …, , ,

тогда получим:

.

Свойство 4. Обе части сравнения и модуль можно умножить на одно и

то же целое число.

Действительно, из следует

,

и, следовательно, .

Пример.

mod

mod

mod

a b m

k k m

ak bk m

3 11mod8

2 2mod8

6 22mod8

1 2

1 2, ,..., 1 2 ,..., k

k kS A x x x

1 2, ,..., kA 1 2 ,..., kx x x m

1 2, ,..., kB 1 2 ,..., ky y y

m

1 2 1 2

1 2 1 2, ,..., 1 2 , ,..., 1 2,..., ,..., modk k

k kk kB y y y A x x x m

1 1 moda b m 2 2 moda b m modk ka b m 1 modx x m

1 1

1 1 1 1 1 1 1... ... modn n n n

n n n nx a x a x a x b x b x b m

moda b m

a b mt ak bk mkt

modak bk mk

Page 74: ОСНОВЫ КРИПТОГРАФИИ:

74

.

Свойство 5. Обе чести сравнения и модуль можно разделить на любой

их общий делитель.

Действительно, пусть

, , , .

Имеем:

, ,

и, следовательно,

Пример.

.

Свойство 6. Если сравнение имеет место по нескольким модулям,

то оно имеет место и по модулю, равному наименьшему общему кратному

этих модулей.

В самом деле, из

, , …,

следует, что разность делится на все модули . Поэтому она

должна делится и на наименьшее общее кратное этих модулей, т.е.

.

Пример.

.

Свойство 7. Если сравнение имеет место по модулю , то оно имеет

место и по модулю , равному любому делителю числа .

Действительно, из равенства следует, что разность

должна делится на . Поэтому она должна делится и на любой делитель

числа , т.е. .

Пример.

Свойство 8. Если одна часть сравнения и модуль делятся на какое либо

число, то и другая часть сравнения должна делится на то же число.

3 11mod8 6 22mod16

moda b m 1a a d 1b b d 1m m d

a b mt 1 1 1a d b d m dt 1 1 1a b m t

1 1 1moda b m

4 12mod8 2 6mod4 1 3mod2

a b

1moda b m 2moda b m mod ka b m

a b 1 2, ,..., km m m

m

moda b m

4 19mod54 19mod15

4 19mod3

m

d m

moda b m a b

m d

m moda b d

4 12mod 4,4 12mod8

4 12mod 2.

Page 75: ОСНОВЫ КРИПТОГРАФИИ:

75

Действительно, из равенства следует . Если числа

и кратны , тогда и должно быть кратным .

Пример.

.

Свойство 9. Если , тогда .

Это равенство непосредственно следует из (см. алгоритм

Евклида).

Пример.

.

4.3. Полная система вычетов

Отношение сравнимости по произвольному модулю m есть отношение

эквивалентности на множестве целых чисел. Это отношение эквивалентности

индуцирует разбиение множества целых чисел на классы эквивалентных

между собой элементов, т.е. в один класс объединяются числа, дающие при

делении на m одинаковые остатки. Таким образом, всем числам класса

отвечает один и тот же остаток , и мы получим все числа класса, если в

форме заставим пробегать все целые числа. Следовательно,

число классов эквивалентности ("индекс эквивалентности") в точности равно

m.

Определение. Любое число из класса эквивалентности будем называть

вычетом по модулю m. Вычет, получаемый при , равный самому

остатку , называется наименьшим неотрицательным вычетом. Вычет ,

самый малый по абсолютной величине, называется абсолютно наименьшим

вычетом.

Если число m – нечетно, тогда в качестве абсолютно наименьших

вычетов следует брать числа

.

Если число m – четно, тогда в качестве абсолютно наименьших вычетов

следует брать числа

,

.

moda b m a b mt

a m d b d

33 108mod15, 33 3 11,15 3 5 108 3 36

moda b m ( , ) ( , )a m b m

a b mt

33 108mod15 (33,15) 3 (108,15)

r aa mq r q

0q

r

1 1,..., 1,0,1,...,

2 2

m m

1,..., 1,0,1,...,2 2

m m

,..., 1,0,1,..., 12 2

m m

Page 76: ОСНОВЫ КРИПТОГРАФИИ:

76

Определение. Совокупность вычетов, взятых по одному из каждого

класса эквивалентности, называется полной системой вычетов по модулю m

(в полной системе вычетов, таким образом, всего m различных чисел).

Пример. Пусть m = 5. Тогда:

0, 1, 2, 3, 4 - наименьшие неотрицательные вычеты;

-2, -1, 0, 1, 2 - абсолютно наименьшие вычеты.

Для m = 6 имеем:

0, 1, 2, 3, 4, 5 - наименьшие неотрицательные вычеты;

-2, -1, 0, 1, 2, 3 или -3, -2, -1, 0, 1, 2 - абсолютно наименьшие вычеты.

Все приведенные совокупности чисел образуют полные системы

вычетов по модулю 5 или 6, соответственно.

Лемма 1.

1) Любые m попарно не сравнимых по модулю m чисел образуют

полную систему вычетов по модулю m.

2) Если а и m взаимно просты, а x пробегает полную систему вычетов по

модулю m, тогда значения линейной формы аx + b, где b - любое целое число,

также пробегают полную систему вычетов по модулю m.

Доказательство. Утверждение 1) – очевидно. Докажем утверждение 2).

Чисел аx + b ровно m штук. Покажем, что они между собой не сравнимы

по модулю m.

Предположим, что для некоторых различных x1 и x2 из полной системы

вычетов справедливо сравнение

ax1 + b ax2 + b (mod m).

Тогда, в соответствии с рассмотренными выше свойствам сравнений,

получаем:

ax1 ax2 (mod m),

x1 x2 (mod m)

– противоречие с тем, что x1 и x2 различны и взяты из полной системы

вычетов.

Пример. Пусть а = 2, m = 5, (2, 5) = 1, а x пробегает полную систему

вычетов по модулю m, например, все наименьшие неотрицательные вычеты.

Тогда значения линейной формы аx + b, где b - любое целое число, также

пробегают полную систему вычетов по модулю m. В таблице 4.1 приведены

все значения линейной формы для различных b, пробегающих все

наименьшие неотрицательные вычеты по модулю m = 5.

Page 77: ОСНОВЫ КРИПТОГРАФИИ:

77

Таблица 4.1 – Все значения линейной формы 2x + b по модулю m = 5

X 2x 2x + b

b = 0 b = 1 b = 2 b = 3 b = 4

0 0 0 1 2 3 4

1 2 2 3 4 0 1

2 4 4 0 1 2 3

3 1 1 2 3 4 0

4 3 3 4 0 1 2

4.4. Приведенная система вычетов

Поскольку все числа из данного класса эквивалентности получаются из

одного числа данного класса прибавлением числа, кратного m, тогда все числа

из данного класса имеют с модулем m один и тот же наибольший общий

делитель. По некоторым соображениям, повышенный интерес представляют

те вычеты, которые имеют с модулем m наибольший общий делитель, равный

единице, т.е. вычеты, которые взаимно просты с модулем

Определение. Приведенной системой вычетов по модулю m

называется совокупность всех вычетов из полной системы, взаимно простых с

модулем m.

Приведенную систему вычетов обычно выбирают из наименьших

неотрицательных вычетов 0, 1, …, m - 1. Так как среди этих чисел число

взаимно простых с т есть (т), тогда число чисел приведенной системы,

равно как и число классов, содержащих числа, взаимно простые с модулем,

равно (т).

Пример. Пусть m = 42. Полная система вычетов содержит 42 числа,

например, это могут быть числа 0, 1, …, 41 (наименьшие неотрицательные

вычеты) или, например, числа -21, …, -1, 0, 1, …, 20 (абсолютно наименьшие

вычеты).

Приведенная система вычетов состоит из

чисел, выбранных, например, из наименьших неотрицательных вычетов:

1, 5, 11, 13, 17, 19, 23, 25, 29, 31, 37, 41,

или, из абсолютно наименьших вычетов:

-19, -17, -13, -11, -5, -1, 1, 5, 11, 13, 17, 19.

Лемма 2.

(42) (2 3 7) (2 1)(3 1)(7 1) 12

Page 78: ОСНОВЫ КРИПТОГРАФИИ:

78

1) Любые (т) чисел, попарно не сравнимые по модулю m и взаимно

простые с модулем, образуют приведенную систему вычетов по модулю m.

2) Если (a, m) = 1 и x пробегает приведенную систему вычетов по

модулю m, тогда аx так же пробегает приведенную систему вычетов по

модулю m.

Доказательство.

Утверждение 1) – очевидно. Докажем утверждение 2).

Числа аx попарно несравнимы (это доказывается так же, как в лемме 1),

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

(a,m)=1, (x,m)=1 (ax,m)=1.

Значит, числа аx образуют приведенную систему вычетов.

Лемма 3.

Пусть m1, m2, ..., mk – попарно взаимно просты и

m1 m2 ...mk =M1 m1 =M2 m2 =...=Mk mk ,

где

Mj =m1 ...mj-1 mj+1 ...mk.

1) Если x1, x2, ..., xk пробегают полные системы вычетов по модулям m1,

m2, ..., mk соответственно, тогда значения линейной формы

M1 x1 +M2 x2 + ...+Mk xk

пробегают полную систему вычетов по модулю m=m1 m2 ...mk .

2) Если 1, 2, ..., k пробегают приведенные системы вычетов по

модулям m1, m2, ..., mk соответственно, то значения линейной формы

M1 1 +M2 2 + ...+Mk k

пробегают приведенную систему вычетов по модулю m=m 1 m 2 ...m k .

Доказательство. 1) Форма M1 x1 +M2 x2 + ...+Mk xk принимает, очевидно, m1 m2 ...mk = m

значений. Покажем, что эти значения попарно несравнимы.

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

M1 x1 +M2 x2 + ...+Mk xk M1 x1

+M2 x2

+ ...+Mk xk

(mod m),

т.е. различные x1, x2, ..., xk и x1, x2

, ..., xk

дают сравнимые по модулю m

числа.

Page 79: ОСНОВЫ КРИПТОГРАФИИ:

79

Всякое Mj, отличное от Ms, кратно ms (в произведении Mj =m1 ...mj-1 mj+1

...mk всегда присутствует ms для всех s ≠ j). Убирая слева и справа в последнем

сравнении слагаемые, кратные ms, получим:

Ms xs Ms xs

(mod ms ) xs xs

(mod ms )

– противоречие с тем, что xs пробегает полную систему вычетов по модулю ms.

2) Форма

M1 1 +M2 2 + ...+Mk k

принимает, очевидно,

(m1) (m2) ... (mk) = (m1 m2 ... mk)= (m)

различных значений (функция Эйлера является мультипликативной), которые

между собой по модулю m=m1 m2 ... mk попарно несравнимы. Последнее

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

при доказательстве утверждения 1) этой леммы.

Так как

(M1 1 +M2 2 + ...+Mk k ,ms )=(Ms s ,ms )=1

для каждого 1 s k , то

(M1 1 +M2 2 + ...+Mk k,ms)=1,

следовательно множество значений формы M1 1 +M2 2 + ...+Mk k образует

приведенную систему вычетов по модулю m.

Лемма 4. Пусть

x1, x2, ..., xk, x

пробегают полные, а

1, 2, ..., k,

– пробегают приведенные системы вычетов по модулям m1, m2, ..., mk и m=m1

m2 ...mk соответственно, где (mi, mj)=1 при i j . Тогда дроби

{x1 /m1 +x2 /m 2 +...+x k /m k }

совпадают с дробями {x/m} , а дроби

{1 /m1 + 2 /m2 +...+ k /mk }

Page 80: ОСНОВЫ КРИПТОГРАФИИ:

80

совпадают с дробями {/m}.

Доказательство. Доказательство обоих утверждений леммы 4 легко

получается применением предыдущей леммы 3 после того, как привести

каждую сумму

{x1 /m1 +x2 /m 2 +...+x k /m k }

и

{1 /m1 + 2 /m2 +...+ k /mk }

к общему знаменателю:

{x 1 /m 1 +x 2 /m 2 +...+x k /m k }={(M 1 x 1 +M 2 x 2 +...+M k x k )/m} ;

{ 1 /m 1 + 2 /m 2 +...+ k /m k }={(M 1 1 +M 2 2 +...+M k k )/m} ,

где M j =m 1 ...m j-1 m j+1 ...m k .

Если теперь принять во внимание, что дробные части чисел,

получающихся при делении на модуль m любых двух чисел, сравнимых по

модулю m, одинаковы (они равны r/m , где r – наименьший неотрицательный

вычет из данного класса), то утверждения настоящей леммы становятся

очевидными.

Задания для самостоятельной работы

1. Докажите, что 3105

+ 4105

делится на 181.

2. Докажите, что число 52n−1

·2n+1

+ 3n+1

·22n−1

при любом натуральном n

делится на 19.

3. Найдите остаток от деления числа (96746 + 28)

15 на 39.

4. При делении натурального числа n на 3 и на 37 получаются,

соответственно, остатки 1 и 33. Найдите остаток от деления n на 111.

Решения:

1. Докажите, что 3105

+ 4105

делится на 181.

35 62 mod 181

45 119 mod 181

Следовательно,

3105

62 mod 181

4105

119 mod 181

и

3105

+ 4105

62+119 mod 181 = 0 – делится на 181.

2. Докажите, что число 52n−1

·2n+1

+ 3n+1

·22n−1

при любом натуральном n

делится на 19.

3·2=6 52 mod19

Page 81: ОСНОВЫ КРИПТОГРАФИИ:

81

52n−1

·2n+1

+ 3n+1

·22n−1

= 2n+1

(52n−1

+ 3n+1

·2n−2

) = 2n+1

(52n−1

+ 33 ·3

n-2 ·2

n−2) =

= 2n+1

(52n−1

+ 33 ·5

2n−4) =2

n+1·5

2n−4(5

3 + 3

3) = 2

n+1·5

2n−4·152 = 2

n+1·5

2n−4·8·19

3. Найдите остаток от деления числа (96746 + 28)

15 на 39.

96746 + 28 = 14 mod 39

142 = 1 mod 39

1414

= 1 mod 39

(96746 + 28)

15 = 14 mod 39

4. При делении натурального числа n на 3 и на 37 получаются,

соответственно, остатки 1 и 33. Найдите остаток от деления n на 111.

Используя китайскую теорему об остатках находим n = 70.

Page 82: ОСНОВЫ КРИПТОГРАФИИ:

82

5. СИСТЕМЫ ВЫЧЕТОВ И ИХ СВОЙСТВА

5.1. Комплексные корни m-ой степени из единицы и их связь с

приведенной системой вычетов

Рассмотрим комплексные корни m-ой степени из единицы и изучим их

связь с системами вычетов и мультипликативной функцией Мебиуса (m).

Корнями m-й степени из единицы называют комплексные корни

уравнения , , т.е. такие комплексные числа, m-я степень

которых равна 1. Представим комплексную единицу в тригонометрическом

виде:

.

Тогда по формуле Муавра15

, получим:

, ,

где – комплексные корни m-ой степени из единицы.

Используя формулу Эйлера

корни из единицы могут быть представлены в показательной форме:

, .

Значения корней для приведены в таблице 5.1.

Таблица 5.1 – Комплексные корни m-ой степени из единицы

m ,

1

2 ,

3 , ,

4 , , ,

15

Абрахам де Муавр (фр. и англ. Abraham de Moivre; 26 мая 1667, Витри-ле-Франсуа — 27 ноября 1754,

Лондон) – английский математик французского происхождения. Член Лондонского королевского общества

(1697), Парижской (1754) и Берлинской (1735) академий наук. Формула Муавра для комплексных чисел

утверждает, что для любого .

1 0mx 1m

1 cos0 sin0i

2 2cos sink

k ki

m m

0,1,..., 1k m

k

cos sinixe x i x

2 ki

mk e

0,1,..., 1k m

k 1,2,...,6m

k 0,1,..., 1k m

0 1

0 1 1 1

0 1 1

1 3

2

i

2

1 3

2

i

0 1 1 i 2 1 3 i

(cos sin )z r i (cos sin ) (cos sin )m m m mz r i r m i m m Z

Page 83: ОСНОВЫ КРИПТОГРАФИИ:

83

5

, , ,

,

6 , , , , ,

Таким образом, корней из единицы всегда ровно m и все они различны,

т.е. индексы у комплексных корней из единицы образуют полную систему

вычетов по модулю m.

Корнями m-ой степени из единицы являются комплексные числа

. При этом модуль каждого корня равен 1:

.

На комплексной плоскости корни из единицы образуют вершины

правильного многоугольника, вписанного в единичную окружность. Одной из

вершин всегда является комплексная единица.

В качестве примера на рисунке 5.1 корни пятой степени из единицы

представлены в вершинах правильного пятиугольника, вписанного в

единичную окружность на комплексной плоскости.

Рисунок 5.1 – Комплексные корни 5-ой степени из единицы

(вершины пятиугольника)

Корень m -ой степени из единицы называется первообразным, если

его индекс k взаимно прост с m, т.е. .

В этом случае, последовательные степени

0 1 1

5 1 5 5

4 8i

2

5 1 5 5

4 8i

3

5 1 5 5

4 8i

4

5 1 5 5

4 8i

0 1 1

1 3

2

i

2

1 3

2

i

3 1

4

1 3

2

i

5

1 3

2

i

Re( ) Im( )k k k

2 2Re ( ) Im ( ) 1k k k

k

( , ) 1k m

Page 84: ОСНОВЫ КРИПТОГРАФИИ:

84

k1, k

2, ...,k

m-1

корня k образуют всю совокупность корней m-ой степени из единицы или,

другими словами, k является порождающим элементом циклической

группы всех корней m-ой степени из единицы.

Это означает, что первообразный корень в виде соответствующих

степеней позволяет выразить все остальные корни.

Пример. Для случая m = 5 (рисунок 5.1) все корни (кроме ) являются

первообразными.

Пример. Для случая m = 6 (таблица 5.1) только корни

и

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

например, корня 16

:

,

,

,

.

Очевидно, что число различных первообразных корней m -ой степени из

единицы равно (m), т.е. индексы у первообразных корней образуют

приведенную систему вычетов по модулю m.

16

Правило сложения комплексных чисел: ;

правило умножения комплексных чисел: .

0

1

1 3

2

i

5

1 3

2

i

1

1 3

2

i

0

0 1 1

2

1 1 1 2

1 3 1 3 1 3 3 3 1 3

2 2 2 2 4 4 4 4 2 2i i i i

3 2

1 1 1 2 1 3

1 3 1 3 1 3 3 31

2 2 2 2 4 4 4 4i i i

4 2 2

1 1 1 2 2

4

1 3 1 3 1 3 3 3

2 2 2 2 4 4 4 4

1 3,

2 2

i i i

i

5 3 2

1 1 1 3 2 5

1 3 1 31

2 2 2 2i i

1 1 2 2 1 2 1 2( ) ( ) ( ) ( )x iy x iy x x i y y

1 1 2 2 1 2 1 2 1 2 2 1( )( ) ( ) ( )x iy x iy x x y y i x y x y

Page 85: ОСНОВЫ КРИПТОГРАФИИ:

85

Если – корень из единицы, то сопряжённое к нему

число – также корень из единицы. На комплексной

плоскости сопряженные (комплексно-сопряженные) числа получаются

зеркальным отражением друг друга относительно вещественной оси. Модуль

сопряжённого числа такой же, как у исходного, а их аргументы отличаются

знаком. Другими словами, комплексно-сопряженные корни зеркально

расположены относительно вещественной оси.

Сумма 0 + 1 +...+ m-1 всех корней m-ой степени из единицы равна нулю

для любого целого m > 1. Действительно, пусть

0 + 1 +...+ m-1 = a .

Умножим эту сумму на ненулевое число 1. Такое умножение

геометрически в комплексной плоскости означает поворот правильного m -

угольника, в вершинах которого расположены корни 0, 1,..., m-1, на

ненулевой угол 2/m. При этом корень 0 перейдет в корень 1, корень 1

перейдет в корень 2 , и т.д., а корень m-1 перейдет в корень 0 , т.е. сумма 0 +

1 +...+ m-1 не изменится.

Имеем 1 a =a, откуда a = 0.

Теорема 1. Пусть m > 0 - целое число, a Z, x пробегает полную

систему вычетов по модулю m. Тогда, если а кратно m, то

,

в противном случае, при а не кратном m ,

.

Доказательство.

При а кратном m имеем: a=md и

.

При а не делящемся на m, разделим числитель и знаменатель дроби a/m

на d – наибольший общий делитель а и m, получим несократимую дробь a1/m1.

Тогда, по лемме 1, a1 x будет пробегать полную систему вычетов по модулю

m.

Имеем:

Re( ) Im( )k k k

Re( ) Im( )k k k

2ax

im

x

e m

2

0ax

im

x

e

2

cos2 sin2 1ax

im

x x x

e dx i dx m

Page 86: ОСНОВЫ КРИПТОГРАФИИ:

86

ибо сумма всех корней степени m1 из единицы равна нулю.

Теорема 2.

Пусть m > 0 – целое число, пробегает приведенную систему вычетов

по модулю m. Тогда (сумма первообразных корней степени m):

,

где – функция Мебиуса.

Доказательство.

Пусть

– каноническое разложение числа m;

, , …, ;

i пробегает приведенную систему вычетов по модулю mi .

Имеем:

Рассмотрим произвольную сумму (для некоторого s) в произведении в

левой части последнего равенства. При s = 1 только корень 0 = 1 не является

первообразным, поэтому сумма всех первообразных корней есть сумма всех

корней минус единица:

.

Таким образом, если m свободно от квадратов (т.е. не делится на

квадрат простого числа), тогда

1

1

22

1 1

2 2cos sin 0

a xax iimm

x x x

k ke e d i

m m

2

( )ime m

( )m

1 2

1 2 ... k

km p p p

1

1 1m p 2

2 2m p k

k km p

1 21 2

1 21 2

1 2 1 2

1 1 2 2

1 2

2 ...22 2

, ,...,

...2 2

, ,...,

...

.

kk

kk

k k

k k

k

iii im m mmm m

M M Mi i

m m

e e e e

e e

2 2

1 0 1 1s s

s s

s s

xi im m

x

e e

Page 87: ОСНОВЫ КРИПТОГРАФИИ:

87

.

Если же какой-нибудь показатель s больше единицы (т.е. m делится на

квадрат простого числа), тогда сумма всех первообразных корней степени ms

есть сумма всех корней степени ms минус сумма всех не первообразных

корней, т.е. всех корней некоторой степени, меньшей ms . Именно, если

ms =p s m s * ,

тогда:

и, очевидно,

Пример.

Сумма всех корней 6-й степени из единицы (см. таблицу 5.1) равна

нулю:

, , , , , ,

.

Если x пробегает полную систему вычетов по модулю m при а не

кратном m=6 соответствующие величины примут значения всех шести

корней и их сумма также будет равна 0. Если а будет кратно m=6, например, а

= 12, тогда величины шесть раз будут равны корню , сумма

которых равна 6.

Наконец, сумма первообразных корней степени 6 равна

.

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

функции Мебиуса:

1 2

1 2

1 2

22 22

... ( 1)( 1)...( 1) ( 1) ( )k

k

k

ii iimm m km

k

e e e e m

*

*1 22 2

0

0 0 0s s

s

s s s

s s

jx m ii im m m

x j

e e e

1 2

1 2

1 2

22 22

... (0)(0)...(0) 0k

k

k

ii iimm mm

k

e e e e

0 1 1

1 3

2

i

2

1 3

2

i

3 1

4

1 3

2

i

5

1 3

2

i

0 1 2 3 4 5 0

26

axi

e

26

axi

e

0 1

1 5

1 3 1 31

2 2

i i

Page 88: ОСНОВЫ КРИПТОГРАФИИ:

88

.

5.2. Многочлены деления круга

Известны формулы сокращенного умножения

Раскрыв скобки, легко проверить и общую формулу

, (5.1)

которая изучается в школе как формула геометрической прогрессии:

,

где - первый (начальный) член прогрессии, а каждый последующий член

получается из предыдущего умножением его на определенное число

(знаменатель прогрессии), т.е. и при имеем равенство

(5.1).

Рассмотрим последовательно каждое разложение для

обозначая получаемые при этом неприводимые (неразложимые на

сомножители) многочлены.

Получим следующие разложения:

– для :

,

откуда

;

– для :

,

откуда

22(6) (2 3) ( 1) 1

ime

2

3 2

4 2 2 2

5 4 3 2

-1 ( -1)( 1),

-1 ( 1)( 1),

-1 ( -1)( 1) ( 1)( 1)( 1),

-1 ( 1)( 1).

x x x

x x x x

x x x x x x

x x x x x x

1 21 ( 1)( 1)n n nx x x x x

1 11

1

( 1)

1

nni

i

b xb x

x

1b

1i ib b q

0x 1

1

n

nb b q 1 1b

1nx 2,3,...n

( )iФ x

2n 2

1 2( )( ) (1 1 1 1, ( ) 1)x x x Ф x x Ф x x

2

1 2( ) (1 )x Ф x Ф x

3n 3 2 2

3( )( ) ( )1 1 1 1x x x x Ф x x x

Page 89: ОСНОВЫ КРИПТОГРАФИИ:

89

;

– для :

,

откуда

;

– для :

откуда

;

– для :

,

откуда

;

– для :

откуда

;

– для :

,

откуда

;

– для :

,

откуда

и т.д.

3

1 3( ) (1 )x Ф x Ф x

4n 4 2 2

4( )(1 1 1)( ( )1) 1x x x x Ф x x

4

1 2 4( ) ( ) ( )1x Ф x Ф x Ф x

5n 5 4 3 2 4 3 2

51 1 1( )( ) ( 1,)x x x x x x Ф x x x x x

5

1 5( ) (1 )x Ф x Ф x

6n 6 3 3 2 2 2

6( )( ) ( )( )( )( ) (1 1 1 1 )1 1 1 1x x x x x x x x x Ф x x x

6

1 2 3 6( ) (1 ) ( ) ( )x Ф x Ф x Ф x Ф x

7n 7 6 5 4 3 2 6 5 4 3 2

71 1 1( )( ) ( ) 1,x x x x x x x x Ф x x x x x x x

7

1 7( ) (1 )x Ф x Ф x

8n

8 4 4 2 4 4

8( )( ) ( )( )( )( ) (1 1 1 1 1 1 1 1)x x x x x x x Ф x x

8

1 2 4 8( ) (1 ) ( ) ( )x Ф x Ф x Ф x Ф x

9n

9 3 6 3 2 6 3 6 3

9( )( )1 1 1 1( )( )( ) ( )1 1 1x x x x x x x x x Ф x x x

9

1 3 9( ) ( ) ( )1x Ф x Ф x Ф x

Page 90: ОСНОВЫ КРИПТОГРАФИИ:

90

Таким образом, разложение многочлена на неприводимые

множители имеет вид:

(5.2)

где произведение берется по всем делителям числа .

Если , тогда количество делителей числа задается

формулой (см. раздел 3.1):

,

т.е. число сомножителей в правой части выражения (5.2) равно .

Формулу (5.2) можно использовать и для непосредственного

нахождения многочленов . Пусть, например, – степень простого

числа. Для этого примера рассмотрим число , которое равно

наибольшему делителю числа , не равному при этом самому числу .

Количество делителей чисел и равно и , т.е.

формула (5.2) примет вид

,

откуда

.

Пример. Найдем . Число есть степень простого числа,

, следовательно,

.

Поделим «уголком»:

0

получим результат:

1nx

1 ( ),n

d

d n

x Ф x

d n1 2

1 2 ... k

kn p p p n

1 2( ) ( 1)( 1)...( 1)kn

( )n

( )nФ x 1

1n p

1 1

1m p

n n

n m 1( ) 1n 1( )m

1 ( 1) ( )n m

nx x Ф x

1( )

1

n

n m

xФ x

x

81( )Ф x 481 3n 33 27m

81

81 27

1( )

1

xФ x

x

81 1x 27 1x 81 54x x 54 27 1x x

54 1x 54 27x x

27 1x 27 1x

Page 91: ОСНОВЫ КРИПТОГРАФИИ:

91

.

Зная правило вычисления , где – степень простого числа,

можно найти и все , где – составное число.

Пример. Для - произведения двух простых, имеем:

,

,

Рассмотрим корни уравнений и в комплексной области.

Первые два уравнения имеют по

одному (вещественному) корню , , соответственно. Очевидно, что

это два корня уравнения , т.к. .

Рассмотрим уравнение . Над полем вещественных

чисел это уравнение не имеет решений, т.к.

.

Однако приняв дополнительное правило (определение

комплексной единицы) получим:

,

т.е. имеем два комплексных корня уравнения :

, .

Так как корнями уравнения являются:

54 27

81( ) 1Ф x x x

( )nФ x 1

1n p

( )kФ x 1 2

1 2 ... k

kk p p p

k pq

1

1

1 11 ( ) ( ) ( )

( ) 1

p pp

p p

x xx Ф x Ф x Ф x

Ф x x

1

1

1 11 ( ) ( ) ( )

( ) 1

q qq

q q

x xx Ф x Ф x Ф x

Ф x x

1

1

1 ( ) ( ) ( ) ( )

1 ( 1)( 1)( ) .

( ) ( ) ( ) ( 1)( 1)

pq

p p pq

pq pq

pq p q

p p

x Ф x Ф x Ф x Ф x

x x xФ x

Ф x Ф x Ф x x x

( ) 0iФ x 1ix

1 21 0, ( ) ( ) 1 0Ф x x Ф x x

1x 1x 2 1 0x 2

1 2( ) (1 )x Ф x Ф x 2

3( 0) 1Ф x x x

21 1 4 1 1 3

2 2x

2 1i

1 3 1 3

2 2

ix

3( ) 0Ф x

1

1 3

2

ix

2

1 3

2

ix

3

1 3( ) (1 )x Ф x Ф x 3 1 0x

Page 92: ОСНОВЫ КРИПТОГРАФИИ:

92

, , .

Корнями уравнения являются комплексные числа

1x i , .

которые, совместно с корнями , уравнений ,

составляют совокупность корней 4-ой степени из единицы:

0 1 , , , .

Комплексными корнями уравнения

являются числа:

, ,

, ,

которые вместе с решением уравнения , образуют

совокупность комплексных корней 5-й степени из единицы.

Таким образом, в совокупность комплексных корней n-ой степени из

единицы входят корни всех , т.е. таких , где - делитель числа n.

По этой причине многочлены называют многочленами деления круга.

Заметим, что корни n-й степени из единицы, т.е. решения уравнения

, заодно являются и корнями mn-й степени, т.е. корнями уравнения

. Например, всякий корень 3-й степени из единицы является и

корнем 6-й степени из единицы, и корнем 9-й степени, и корнем 12-й степени

и т.д.

Пример. Для имеем

,

следовательно, корнями уравнения являются:

один корень уравнения ;

один корень уравнения ;

0 0 1x 1 1

1 3

2

ix

2 2

1 3

2

ix

2

4 1( ) 0Ф x x

2x i

1x 1x 1 1( 0)Ф x x

2 1( 0)Ф x x

1 i 2 1 3 i

4 3 2

5 1) 0(Ф x x x x x

1

5 1 5 5

4 8i

2

5 1 5 5

4 8i

3

5 1 5 5

4 8i

4

5 1 5 5

4 8i

1x 1 1( 0)Ф x x

( )d n

Ф x ( )iФ x i

( )iФ x

1 0nx

1 0nmx

6n

6

1 2 3 6( ) (1 ) ( ) ( )x Ф x Ф x Ф x Ф x

6 1 0x

1x 1 1( 0)Ф x x

1x 2 1( 0)Ф x x

Page 93: ОСНОВЫ КРИПТОГРАФИИ:

93

два комплексных корня уравнения :

, ;

два комплексных корня уравнения :

, ,

т.е. (см. таблицу 5.1) имеем:

0 1 , , , , , .

Так как , тогда все корни уравнения

являются также и корнями уравнения .

По определению, корень называется первообразным степени n, если он

не удовлетворяет никакому уравнению при натуральном , т.е.

он не является корнем степени k для любого .

Пример:

1 – единственный первообразный корень степени 1,

1 – первообразный корень степени 2,

– первообразные корни степени 3.

Очевидно, что корни многочлена – это числа вида

,

где k – взаимно простое с n число, 1 k n, т.е. корни многочленов

деления круга являются первообразными корнями n-й степени из 1.

Количество первообразных корней (положительных целых чисел

меньших n и взаимнопростых с n) определяется функцией Эйлера , т.е.

степень многочленов деления круга также определяется функцией

Эйлера .

3( ) 0Ф x

1 3

2

ix

1 3

2

ix

2

6( ) 01Ф x x x

1 3

2

ix

1 3

2

ix

1

1 3

2

i

2

1 3

2

i

3 1

4

1 3

2

i

5

1 3

2

i

3

1 2 3( ) ( ) ( )1x Ф x Ф x Ф x 3 1 0x 6 1 0x

1 0kx k n

k n

1 3

2 2

i

( )nФ x

2 2cos sin

k ki

n n

( )nФ x

( )n

( )nФ x

( )n

Page 94: ОСНОВЫ КРИПТОГРАФИИ:

94

Задания для самостоятельной работы

1. Выпишите все наименьшие неотрицательные вычеты и все абсолютно

наименьшие вычеты:

а) по модулю 6,

б) по модулю 8.

Выпишите приведенные системы вычетов по этим модулям. Нарисуйте

отдельно на комплексной плоскости корни шестой и корни восьмой степени

из единицы, на обоих рисунках покажите первообразные корни и найдите в

каждом случае их сумму.

2. Найдите сумму всех первообразных корней: а) 15-й; б) 24-й; в) 30-й

степени из единицы.

3. Найдите многочлены деления круга , .

4. Найдите многочлены деления круга , .

5. Найдите многочлены деления круга , .

( )iФ x 10,...,15i

25( )Ф x 49( )Ф x

21( )Ф x 22( )Ф x

Page 95: ОСНОВЫ КРИПТОГРАФИИ:

95

6. ТЕОРЕМА ЭЙЛЕРА И ТЕОРЕМА ФЕРМА.

СРАВНЕНИЯ ПЕРВОЙ СТЕПЕНИ

6.1. Теорема Эйлера и теорема Ферма

Теорема Эйлера и теорема Ферма играют важнейшую роль в построении

криптографических методов с несимметричными ключами.

Теорема (Эйлер).

Пусть m>1, (a,m)=1 , (m) – функция Эйлера. Тогда:

a(m) 1(mod m).

Доказательство.

Пусть х пробегает приведенную систему вычетов по mod m :

x=r 1 ,r 2 ,...,r c

где c= (m) их число, r 1 ,r 2 ,..., r c - наименьшие неотрицательные вычеты по

mod m. Следовательно, наименьшие неотрицательные вычеты,

соответствующие числам ax суть соответственно:

1 , 2 ,..., c

– тоже пробегают приведенную систему вычетов, но в другом порядке (см.

Лемму 2 из раздела 4.4). Значит:

a r 1 j(mod m)

a r 2 j(mod m)

...

a r c jc(mod m)

Перемножим эти с сравнений. Получим:

a c r 1 r 2 ...r c j 1 j 2 ... j c (mod m)

Так как

r 1 r 2 ...r c = 1 2 ... c 0

и взаимно просто с модулем m , то, поделив последнее сравнение на r 1 r 2 ...rc,

получим

a ( m ) 1(mod m),

что и завершает доказательство.

Page 96: ОСНОВЫ КРИПТОГРАФИИ:

96

Пример. Пусть m = 6, a = 5, (a,m)=1 , (m) = (23) = 2. Следовательно,

a(m)

= 52 1(mod 6) .

Теорема Ферма является непосредственным следствием теоремы

Эйлера.

Теорема (Ферма).

Пусть р – простое число, р не делит a . Тогда:

a p-1 1(mod p) .

Доказательство 1.

Положим в условии теоремы Эйлера m=p, тогда (m)=p-1 (см. главу 3).

Получаем a p-1 1(mod p).

Необходимо отметить важность условия взаимной простоты модуля и

числа a в формулировках теорем Эйлера и Ферма.

Простой пример: сравнение

62 1(mod 3)

очевидно не выполняется.

Однако можно легко подправить формулировку теоремы Ферма, чтобы

снять ограничение взаимной простоты.

Следствие 1. Без всяких ограничений на a Z,

ap a(mod p) .

Доказательство. Умножим обе части сравнения a p-1 1(mod p) на a.

Ясно, что получится сравнение, справедливое и при a, кратном р.

Пример. Сравнение

63 6(mod 3)

выполняется.

Конечно, доказательство 1 теоремы Ферма получилось столь коротким

благодаря проведенной предварительной подготовке (доказана теорема

Эйлера и изучены свойства функции (m)). Рассмотрим еще один вариант

доказательства теоремы Ферма.

Доказательство 2. Так как р - простое число, то все биномиальные

коэффициенты:

(кроме и ) делятся на р, ибо числитель выписанного выражения

содержит р, а знаменатель не содержит этого множителя.

Воспользовавшись формулой для бинома Ньютона, получим:

! ( 1)( 2)...( 1)

!( )! 1 2 ...

k

p

p p p p p kC

k p k k

0

pC p

pC

Page 97: ОСНОВЫ КРИПТОГРАФИИ:

97

,

где и – какие угодно целые числа, всегда делится на р.

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

всегда делится на р;

всегда делится на р; и вообще,

всегда делится на р.

Положим теперь в последнем выражении

.

Получится, что

делится на р, а это и есть теорема Ферма в более общей формулировке.

Следствие 2.

(a+b) p a

p +b

p (mod p).

Приведем несколько примеров, причем эффективность применения

теорем Ферма и Эйлера отчасти основывается на том, что сравнения,

даваемые этими теоремами, удобно возводить в степень, так как справа в них

стоит единица, которая при возведении в степень равна единице.

Пример. Девятая степень однозначного числа оканчивается на 7.

Найдите это число.

Решение. Дано уравнение

a 9 7(mod 10).

Кроме того, очевидно, что (7, 10) = 1 и (a, 10) = 1.

1 1 1 2 2 2 2 2 2 1 1 1

1 2 1 2 1 2 1 2 1 2 1 2( ) ...p p p p p p p p

p p p pA A A A C A A C A A C A A C A A

1A 2A

1 2 3 1 2 3

1 2 3 1 2 3 1 2 1 2

( )

( ) ( ) ( )

p p p p

p p p p p p

A A A A A A

A A A A A A A A A A

1 2 3 4 1 2 3 4( ) p p p p pA A A A A A A A

1 2 3 1 2 3( ... ) ...p p p p p

a aA A A A A A A A

1 2 3 ... 1aA A A A

1 2 3 1 2 3( ... ) ...p p p p p p

a aA A A A A A A A a a

Page 98: ОСНОВЫ КРИПТОГРАФИИ:

98

По теореме Эйлера, a(10)

1(mod 10). Следовательно, a4 1(mod 10) и,

после возведения в квадрат, a8 1(mod 10). Поделим почленно a

9 7(mod 10)

на a8 1(mod 10) и получим a 7(mod 10). Это означает, что a = 7.

Пример. Доказать, что 1 18

+2 18

+3 18

+4 18

+5 18

+6 18 -1(mod 7).

Доказательство. Числа 1, 2, 3, 4, 5, 6 взаимно просты с 7. По теореме

Ферма имеем:

Возведем эти сравнения в куб и сложим:

1 18

+2 18

+3 18

+4 18

+5 18

+6 18 6(mod 7) -1(mod 7)

Пример. Найти остаток от деления 7 402

на 101.

Решение. Число 101 – простое, (7, 101)=1, следовательно, по теореме

Ферма:

7 100

1(mod 101).

Возведем это сравнение в четвертую степень:

7 400

1(mod 101),

домножим его на очевидное сравнение

7 2 49(mod 101),

получим:

7 402

49(mod 101).

Следовательно, остаток от деления 7 402

на 101 равен 49.

Пример. Найти две последние цифры числа 243402

.

Решение. Две последние цифры этого числа суть остаток от деления его

на 100. Имеем:

243=200+43;

200+43 43(mod 100)

и, возведя последнее очевидное сравнение в 402-ую степень, раскроем его

левую часть по биному Ньютона (мысленно, конечно). В этом гигантском

выражении все слагаемые, кроме последнего, содержат степень числа 200, т.е.

6

6

6

1 1mod7;

2 1mod7;

...

6 1mod7.

Page 99: ОСНОВЫ КРИПТОГРАФИИ:

99

делятся на 100, поэтому их можно выкинуть из сравнения, после чего

понятно, почему

243402

43402

(mod 100).

Далее, 43 и 100 взаимно просты, значит, по теореме Эйлера,

43 (100)

1(mod 100).

Считаем:

(100) = (22 5

2)=(10–5)(10–2)=40.

Имеем сравнение:

43 40 1(mod 100),

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

сравнение, проверенное на калькуляторе:

43 2 49(mod 100).

Получим:

,

следовательно, две последние цифры числа 243402

суть 4 и 9.

Пример. Доказать, что (73 12

-1) делится на 105.

Решение. Имеем:

105=3 5 7,

(73,3)=(73,5)=(73,7)=1.

По теореме Ферма:

732 1(mod 3),

734 1(mod 5),

736 1(mod 7).

Перемножая, получаем:

73 12 1(mod 3),(mod 5),(mod 7),

откуда, по свойствам сравнений, немедленно следует:

7312

-1 0(mod 105),

400

2

402

43 1mod100

43 49mod100

43 49mod100

Page 100: ОСНОВЫ КРИПТОГРАФИИ:

100

ибо 105 - наименьшее общее кратное чисел 3, 5 и 7. Именно это и

требовалось.

6.2. Сравнение первой степени

Рассмотрим сравнение с одним неизвестным вида:

f(x) 0(mod m),

где

– многочлен с целыми коэффициентами.

Если m не делит a0, тогда говорят, что n – степень сравнения. Ясно, что

если какое-нибудь число х подходит в сравнение, то в это же сравнение

подойдет и любое другое число, сравнимое с х по mod m.

Следовательно: решить сравнение – значит найти все те х, которые

удовлетворяют данному сравнению, при этом весь класс чисел по mod m

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

системы, которые этому сравнению удовлетворяют.

Пример. Дано сравнение: x 5 +x+1 0(mod 7)

Из чисел: 0, 1, 2, 3, 4, 5, 6, этому сравнению удовлетворяют два:

x1 =2, x2 =4.

Это означает, что у данного сравнения два решения:

x 2(mod 7) и x 4(mod 7).

Сравнения называются равносильными, если они имеют одинаковые

решения – полная аналогия с понятием равносильности уравнений. Однако, в

отличие от алгебраических уравнений, которые могут быть неразрешимы в

радикалах, сравнение любой степени всегда решается, хотя бы, например,

перебором всех вычетов по mod m. Правда, перебор и подстановка всех

вычетов - зачастую весьма долгий процесс (особенно, при больших m и n), но

и здесь математики придумали хитроумные наборы инструкций, исполняя

которые можно всегда найти все решения данного сравнения любой степени,

минуя нудный процесс перебора.

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

Рассмотрим сравнения первой степени вида

ax b(mod m). (6.1)

1

0 1

n n

nf x a x a x a

Page 101: ОСНОВЫ КРИПТОГРАФИИ:

101

Рассмотрим два случая.

Случай 1. Пусть а и m взаимно просты.

Тогда сравнение (6.1) можно решить несколькими способами.

Способ 1 (решение сравнения (1) через числитель предпоследней подходящей дроби)

Несократимая дробь m/a может быть разложена в цепную дробь:

.

Эта цепная дробь, разумеется, конечна, так как m/a - рациональное

число. Рассмотрим две ее последние подходящие дроби:

, .

Откуда имеем:

,

т.е.

и

.

Из последнего равенства имеем

,

т.е.

,

1

2

3

4

1

1

1

1

1

...

1n

n

mq

aq

q

q

qq

11

1

nn

n

P

Q

nn

n

P m

Q a

1 1 11

1 1 1

( 1)n

n n n n n nn n

n n n n n n

P P P Q P Q

Q Q Q Q Q Q

1 1 1 1 ( 1)n

n n n n n nPQ P Q mQ P a

1 1 1( ) ( )mod ( 1) modn

n n nmQ P a P a m m

1

1( ) ( 1) modn

nP a m

1

1( ( 1) ) 1modn

na P m

Page 102: ОСНОВЫ КРИПТОГРАФИИ:

102

и единственное решение сравнения

ax b(mod m)

есть:

.

Пример. Решить сравнение 111x 75(mod 322).

Решение. (111, 322) = 1. Используем алгоритм Евклида:

322 = 111 · 2+100

111 = 100 · 1+11

100 = 11 · 9+1

11 = 1 · 11

Следовательно, n=4, а соответствующая цепная дробь имеет вид:

.

Посчитаем числители подходящих дробей, составив для этого

стандартную таблицу 6.1:

Таблица 6.1 – Числители подходящих дробей рациональной дроби

qn 0 2 1 9 11 Pn 1 2 3 29 322

Числитель предпоследней подходящей дроби равен 29, следовательно,

x (-1) 3 29 75 -2175 79(mod 322)

Способ 2 (решение сравнения (1) через разложение наибольшего общего делителя в

линейную комбинацию)

Дано сравнение ax b(mod m), где a и m взаимно просты.

1

1( ( 1) ) modn

na P b b m

1

1( 1) modn

nx P b m

322 12

11111

19

11

m

a

322

111

Page 103: ОСНОВЫ КРИПТОГРАФИИ:

103

Используя алгоритм Евклида, найдем разложение наибольшего общего

делителя (a, m) = 1 в виде линейной комбинации чисел a и m:

au+vm=1 = (a, m).

Умножим это равенство на b:

aub+vmb=b,

откуда следует:

aub b(mod m).

Следовательно, решением сравнения

ax b(mod m)

является

x ub(mod m).

Пример. Решить сравнение 111x 75(mod 322) вторым способом.

Используя результат работы алгоритма Эвклида (см. предыдущий

пример) имеем:

1 = 100 – 11 · 9 =

= 100 – (111 – 100) · 9 = 100 · 10 – 111 · 9 =

= (322 – 111 · 2) · 10 – 111 · 9 = 322 · 10 – 111 · 29,

т.е.

u = – 29, v = 10

и решением сравнения 111x 75(mod 322) явлляется

x ub(mod m) = – 29 · 75 = – 2175 79(mod 322).

Способ 3 (решение сравнения (1) с использованием теоремы Эйлера)

С использованием теоремы Эйлера можем получить еще один способ

решения сравнения.

Теорема 2.

Пусть m>1, (a,m)=1.

Тогда сравнение

ax b(mod m)

имеет решение:

Page 104: ОСНОВЫ КРИПТОГРАФИИ:

104

x ba (m)-1

(mod m).

Доказательство. По теореме Эйлера, имеем:

a (m) 1(mod m),

следовательно,

a ba (m)-1 b(mod m) .

Пример. Решить сравнение 7x 3(mod 10).

Вычисляем:

(10)=4; x 3 7 4-1

(mod 10) 1029(mod 10) 9(mod 10).

Видно, что этот способ решения сравнений хорош (в смысле минимума

интеллектуальных затрат на его осуществление), но может потребовать

возведения числа а в довольно большую степень, что довольно трудоемко.

Однако на практике даже для очень больших чисел этот метод можно

использовать, применяя алгоритм быстрого возведения в степень.

Алгоритм быстрого возведения в степень

При непосредственном возведении в степень через цепочку операций

умножений вычислительная сложность реализации растет пропорционально

показателю степени, т.е. для возведения числа в степень в общем случае

требуется выполнить умножений:

.

Асимптотическая оценка вычислительной сложности такой реализации

операции возведения в степень есть .

В основе алгоритма быстрого возведения в степень лежит

использование так называемой схемы Горнера17

, которая позволяет быстро

вычислить значение некоторого многочлена в заданной точке.

Пусть задан многочлен

и необходимо найти его значение в заданной точке, т.е. при фиксированном

значении . Тогда при непосредственной подстановке значения

получим 17

Уильям Джордж Горнер (англ. William George Horner, 1786 – 22 сентября 1837) – британский математик, в

честь которого названа схема Горнера. Также он считается изобретателем зоотропа (от др.-греч. ζωή —

жизнь, τροπή – вращение) – устройства для демонстрации движущихся рисунков, конструкция которого

основана на персистенции, то есть инерции человеческого зрения.

x n

1n

умноженийn

n xxxxx1

...

)(nO

2

0 1 2( ) ... n

ng x a a x a x a x

0x x 0x x

Page 105: ОСНОВЫ КРИПТОГРАФИИ:

105

,

т.е. необходимо выполнить операций сложения и операции

возведения в степень.

Перепишем теперь многочлен в другом виде:

.

Теперь, при подстановке значения для вычисления значения

необходимо выполнить операций сложения и операций

умножений. Очевидно, что сложность вычислений при такой схеме (Горнера)

значительно снижена.

Используя схему Горнера для реализации быстрого возведения в

степень, представим число в следующем виде:

,

где - двоичное представление числа , т.е. и

.

Отсюда следует, что для возведения числа в степень требуется

реализовать не более операций возведения в квадрат и не более операций

умножений, где - число элементов в двоичной записи числа , т.е.

.

Таким образом, асимптотически вычислительную сложность быстрого

вычисления можно оценить как .

Реализация алгоритма быстрого возведения числа в степень

сводится к следующей итеративной процедуре.

Вход. Число и двоичный вектор как двоичное

представление показателя степени .

Выход. Число .

1. Установить , , .

2. Если вычислить .

3. Вычислить .

4. Принять .

5. Если перейти к шагу 2.

6. Если в качестве результата принять число .

2

0 0 1 0 2 0 0( ) ... n

ng x a a x a x a x

( 1)n ( 2)n

( )g x

2

0 1 2 1 2 1 0( ) ... (...(( ) ) ... )n

n n n ng x a a x a x a x a x a x a x a x a

0x x

0( )g x ( 1)n ( 1)n

nx

1 2 1 0 1 01((...(( 2 ) 2 ) 2 ...) 2 ) 2 2 2 2 2((...((( ) ) ...) )k k k k km m m m m m m mmnx x x x x x

01 m,...,m,m kk n 10,mi

011

1 222 mm...mmn kk

kk

x n

k k

1k n

2log 1k n

nx )(log 2 nO

x n

x 01,...,, mmm kk

nnxa

1a xak ki

1im iaaa

2)( ii aa

1 ii

0i

0inxa

Page 106: ОСНОВЫ КРИПТОГРАФИИ:

106

Пример. Возвести 3 в степень 25 с помощью алгоритма быстрого

возведения в степень.

Для решения стандартным способом необходимо выполнить 25

умножений. Однако применив схему Горнера получим алгоритм быстрого

возведения в степень, который потребует не более

операций возведения в квадрат и умножений.

Действительно, число 25 в двоичном виде имеет следующее

представление:

,

т.е.

«11001».

Следовательно,

,

что требует только две операции умножения и четыре операции возведения в

квадрат.

Приведенный алгоритм позволяет существенно упростить процедуру

решения сравнения (6.1) с использованием теоремы Эйлера, т.к. после

каждого умножения и/или возведения в квадрат можно приводить результат

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

Пример. Решить сравнение 3x 10(mod 37) с использованием теоремы

Эйлера и алгоритма быстрого возведения в степень.

Вычисляем:

(37)=36; 36 – 1 = 35 = «100011»

,

.

Пример. Решить сравнение 111x 75(mod 322) третьим способом.

Решение.

,

,

2log 25 1 4k

4 3 025 1 2 1 2 1 2

25 1 2 1 2 0 2 0 2 1 2 2 2 23 ((((3 ) 3 ) 3 ) 3 ) 3 (((3 3) ) ) 3 847288609443

35 1 2 0 2 0 2 0 2 1 2 1 2 2 2 2 23 ((((3 ) 3 ) 3 ) 3 ) 3 ) 3 (((3 ) ) ) 3) 3 35 2 2 2 2 2 2 2 2 2 2 2 2

2 2

3 mod37 ((((3 ) ) ) 3) 3mod37 (((9 ) ) 3) 3mod37 ((7 ) 3) 3mod37

(33 3) 3mod37 25 3mod37 33 3mod37 25,

3510 3 mod37 10 25mod37 28x

(322) (2 7 23) (2) (7) (23) 1 6 22 132

132 1 131 "10000011" 131 1 2 0 2 0 2 0 2 0 2 0 2 1 2 1

2 2 2 2 2 2 2

111 (((((((111 ) 111 ) 111 ) 111 ) 111 ) 111 ) 111 ) 111

((((((111 ) ) ) ) ) 111) 111,

Page 107: ОСНОВЫ КРИПТОГРАФИИ:

107

.

Способ 4 (решение сравнения (1) с использованием биномиальных коэффициентов)

Решение сравнения (1) с использованием биномиальных коэффициентов

основывается на выводе следующей теоремы.

Теорема 3. Пусть р – простое число, 0 < a < p . Тогда сравнение

ax b(mod p)

имеет решение:

,

где - биномиальный коэффициент

,

где – биномиальный коэффициент.

Доказательство.

131

2 2 2 2 2 2 2

2 2 2 2 2 2

2 2 2 2 2

2 2 2 2

2 2 2

2 2

2

111 mod322

((((((111 ) ) ) ) ) 111) 111mod322

(((((85 ) ) ) ) 111) 111mod322

((((141 ) ) ) 111) 111mod322

(((239 ) ) 111) 111mod322

((127 ) 111) 111mod322

(29 111) 111

(197 111)

2

111mod322

293 111mod322

197 111mod322 293,

13175 111 mod322 75 293mod322 79x

1 1( 1) moda a

px b C pp

a

pC

! ( 1)( 2)...( 1)

!( )! 1 2 ...

a

p

p p p p p aC

a p a a

a

pC

1 1

1

1 1 ( 1)( 2)...( 1)( 1) ( 1)

1 2 ...

( 1)( 2)...( 1)( 1) .

1 2 ...

a a a

p

a

p p p p ax b C b

p p a

p p p ab

a

Page 108: ОСНОВЫ КРИПТОГРАФИИ:

108

Числитель последнего сомножителя состоит (после раскрытия скобок)

из суммы различных произведений, в котором только одно (последнее)

произведение не кратно . Следовательно,

,

что после подстановки в сравнение

ax b(mod p)

дает искомое тождество.

Пример. Решить сравнение 7x 2(mod 11).

Вычисляем:

,

.

Рассмотренные четыре способа позволяют решить сравнение (6.1) при

условии, что числа а и m взаимно просты.

Рассмотрим теперь случай, когда взаимная простота а и m не

выполняется.

Случай 2. Пусть (a,m)=d .

В этом случае, для разрешимости сравнения ax b(mod m) необходимо,

чтобы d делило b, иначе сравнение вообще выполняться не может.

Действительно, ax b(modm) бывает тогда, и только тогда, когда ax-b делится

на m нацело, т.е.

ax-b=t · m , t Z ,

откуда

b=ax - t m,

а правая часть последнего равенства кратна d .

Пусть

b=db1, a=da1, m=dm1.

Тогда обе части сравнения

xa1 d b1 d(mod m1 d)

1( 1) 1 2 ... 1a a p

11 11 ( 1) 1 2 ... 1

( 1) ( 1) mod1 2 ...

aa a a

p

a bx b C b m

p a a

7

11

11!330

7!(11 7)!C

1 61 1( 1) mod 2 ( 1) 330 60 5mod11

11

a a

px b C pp

Page 109: ОСНОВЫ КРИПТОГРАФИИ:

109

и его модуль поделим на d :

xa1 b1 (mod m1 ),

где уже а 1 и m 1 взаимно просты.

Согласно случаю 1, такое сравнение имеет единственное решение x0:

x x0 (mod m1 ) (6.2)

По исходному модулю m, числа (6.2) образуют столько решений

исходного сравнения, сколько чисел вида (6.2) содержится в полной системе

вычетов:

0, 1, 2, ..., m-2, m-1.

Очевидно, что из чисел

x=x 0 +t m

в полную систему наименьших неотрицательных вычетов попадают только

x0, x0 +m1, x0 +2m1, ..., x0 +(d - 1)m1 ,

т.е. всего d чисел. Значит у исходного сравнения имеется d решений.

Подведем итог рассмотренных случаев в виде следующей теоремы.

Теорема 1. Пусть (a,m)=d . Если b не делится на d, сравнение

ax b(mod m)

не имеет решений.

Если b кратно d, сравнение имеет d решений.

Пример. Решить сравнение 111x 75(mod 321) .

Решение. (111,321)=3, поэтому поделим сравнение и его модуль на 3:

37x 25(mod 107)

и уже

(37,107)=1.

Используем алгоритм Евклида:

107=37 2+33

37=33 1+4

33=4 8+1

4=1 4

Page 110: ОСНОВЫ КРИПТОГРАФИИ:

110

Имеем n=4 и цепная дробь такова:

Таблица для нахождения числителей подходящих дробей имеет

следующий вид.

Таблица 6.2 – Числители подходящих дробей рациональной дроби

q n 0 2 1 8 4

P n 1 2 3 26 107

Следовательно,

x (-1) 3 26 25 -650(mod 107) -8(mod 107) 99(mod 107) .

Три решения исходного сравнения:

x 99(mod 321),

x 206(mod 321),

x 313(mod 321),

и других решений нет.

Задания для самостоятельной работы

1. Решите сравнения (4-мя способами):

a) 5x 3(mod 12);

b) 256x 179(mod 337);

c) 1215x 560(mod 2755);

d) 1296x 1105(mod 2413);

e) 115x 85(mod 335).

1. Докажите, что:

а) 13 176

-1 делится на 89 ;

б) 52 60

-1 делится на 385.

3. Докажите, что 3 100

-3 60

-3 40

+1 делится на 77.

4. Докажите, что:

а) 1 19

+2 19

+4 19

+5 19

+7 19

+8 19 0(mod 9);

б) 1 14

+3 14

+7 14

+9 14 0(mod 10).

107 12

1371

18

4

m

a

107

37

Page 111: ОСНОВЫ КРИПТОГРАФИИ:

111

5. Найдите две последние цифры десятичной записи числа:

а) 19 321

;

б) 131 161

.

6. Найдите остаток от деления:

а) числа 3 200

+7 200

на 101 ;

б) числа 7 65

+11 65

на 80.

7. Докажите, что существует такая степень числа 2, все последние 1000

цифр которой в десятичной записи будут единицами и двойками.

8. Пусть a, a+d, a+2d, ... - произвольная бесконечная арифметическая

прогрессия, первый член и разность которой являются натуральными

числами. Докажите, что эта прогрессия содержит бесконечно много членов,

каноническое разложение которых состоит из одних и тех же простых чисел

(взятых, разумеется, в разных степенях).

9. Выведите теорему Эйлера из теоремы Ферма.

10. Решите сравнения (4-мя способами):

а) 5x 3(mod 12);

б) 256x 179(mod 337);

в) 1215x 560(mod 2755);

г) 1296x 1105(mod 2413);

д) 115x 85(mod 335).

2. Решите систему сравнений

3. Найдите все целые числа, которые при делении на 7 дают в остатке 3,

при делении на 11 дают в остатке 5, а при делении на 13 дают в остатке 4.

4. Решите систему сравнений

5. Пусть (m 1 ,m 2 )=d

Докажите, что система сравнений

имеет решения тогда и только тогда, когда b 1 b 2 (mod d) . В случае,

когда система разрешима, найдите ее решения .

6. Решите систему сравнений

7. Пусть (a,m)=1 , 1<a<m . Докажите, что разыскание решения

сравнения ax b(mod m) может быть сведено к разысканию решений

сравнений вида b+mt 0(mod p) , где р – простой делитель числа а .

Page 112: ОСНОВЫ КРИПТОГРАФИИ:

112

7. КИТАЙСКАЯ ТЕОРЕМА ОБ ОСТАТКАХ

Несколько взаимосвязанных утверждений известны в математике под

названием китайской теоремы об остатках18

.

В настоящее время эта теорема играет ключевую роль в обосновании

различных методов современной теории защиты информации.

Лемма 1 (Китайская теорема об остатках). Пусть дана простейшая

система сравнений первой степени:

(7.1)

где m 1 ,m 2 ,...,m k попарно взаимно просты.

Пусть, далее,

m 1 m 2 ...m k =M s m s ; M s M s 1(mod m s ).

Очевидно, что такое число M s

всегда можно подобрать хотя бы с

помощью алгоритма Евклида, т.к. (m s ,M s )=1.

Пусть также

x 0 =M 1 M 1

b 1 +M 2 M 2

b 2 +...+M k M k

b k .

Тогда система (7.1) равносильна одному сравнению

x x 0 (mod m 1 m 2 ...m k ),

т.е. набор решений (7.1) совпадает с набором решений сравнения

x x0 (mod m 1 m 2 ...m k ).

Доказательство.

Имеем: m s делит M j , при s j. Следовательно,

x 0 M s M s

b s (mod m s ) ,

18 Эта теорема в её арифметической формулировке была описана в трактате китайского

математика Сунь Цзы «Сунь Цзы Суань Цзин», предположительно датируемом третьим

веком н. э. и затем была обобщена Цинь Цзюшао в его книге «Математические

рассуждения в 9 главах» датируемой 1247 годом, где было приведено точное решение.

1 1

2 2

mod ;

mod ;

...

mod .k k

x b m

x b m

x b m

Page 113: ОСНОВЫ КРИПТОГРАФИИ:

113

откуда

x 0 b s (mod m s ) .

Это означает, что система (7.1) равносильна системе

которая, очевидно, в свою очередь, равносильна одному сравнению

x x 0 (mod m 1 m 2 ...m k ).

Пример. Решите систему сравнений:

пользуясь леммой 1.

Решение:

b1 =1; b2 =3 ; b3 =2 ;

m 1 m 2 m 3 = 140,

M 1 =35, M 2 =28, M 3 =20 .

Далее:

35 M 1 1(mod 4),

28 M 2 1(mod 5),

20 M 3 1(mod 7).

Решая сравнения (например, простым перебором), получаем

M 1

=3, M 2

=2, M 3

=6.

Следовательно

x 0 =35 3 1+28 2 3+20 6 2=513.

После этого, по лемме 1:

x 513(mod 140) 93(mod 140).

0 1

0 2

0

mod ;

mod ;

...

mod ,k

x x m

x x m

x x m

1mod 4;

3mod5;

2mod7,

x

x

x

Page 114: ОСНОВЫ КРИПТОГРАФИИ:

114

В следующей лемме, для краткости формулировки, сохранены

обозначения леммы 1.

Лемма 2. Если b1, b2, ..., bk пробегают полные системы вычетов по

модулям m1, m2, ..., mk соответственно, то x0 пробегает полную систему

вычетов по модулю m1m2 ...mk.

Доказательство. Действительно, x0 =A1b1 +A2b2 +...+Akbk пробегает m1m2

...mk различных значений. Покажем, что все они попарно не сравнимы по

модулю m1m2 ...mk.

Ну пусть оказалось, что

A 1 b 1 +A 2 b 2 +...+A k b k A 1 b' 1 +A 2 b' 2 +...+A k b' k (mod m 1 m 2 ...m k ).

Значит,

A 1 b 1 +A 2 b 2 +...+A k b k A 1 b' 1 +A 2 b' 2 +...+A k b' k (mod m s )

для каждого s , откуда

M s M s

b s M s M s

b' s

Вспомним теперь, что

M s M s 1(mod m s ),

значит

M s M s 1+m s t,

откуда

(MsMs, ms)=1.

Разделив теперь обе части сравнения

M s M s

b s M s M s

b' s

на число M s M s

, взаимно простое с модулем, получим, что

b s b's mod ms ,

т.е. b s =b' s для каждого s.

Итак, x 0 пробегает m 1 m 2 ...m k различных значений, попарно не

сравнимых по модулю m 1 m 2 ...m k , т.е. полную систему вычетов.

Page 115: ОСНОВЫ КРИПТОГРАФИИ:

115

7.1. Сравнения любой степени по простому модулю

Рассмотрим сравнения вида

,

где р - простое число, а

– многочлен с целыми коэффициентами.

Лемма 1. Произвольное сравнение , где р - простое

число, равносильно некоторому сравнению степени не выше .

Доказательство.

Разделим на многочлен с остатком:

,

где, как известно, степень остатка не превосходит . Но ведь, по

теореме Ферма, . Это означает, что

,

а исходное сравнение

равносильно сравнению

.

Пример. Рассмотрим сравнения вида

.

В соответствии с леммой 3 это сравнение равносильно некоторому

другому сравнению, степени не выше .

Имеем:

0(   )f x mod p

1

0 1

n n

nf x a x a x a

0(   )f x mod p

1p

f x px x

pf x x x Q x R x

R x 1p

0(   )px x mod p

 f x R x mod p

0(   )f x mod p

0(   )R x mod p

5 22 1 0(  3)x x mod

1 3 1 2p

Page 116: ОСНОВЫ КРИПТОГРАФИИ:

116

т.е.

и сравнение

равносильно сравнению

.

Проверка: подставляя все вычеты по модулю 3 найдем единственное

решение сравнения . Это значение также является

единственным решением сравнения .

Доказанная лемма полезна тем, что с ее помощью можно свести

решение сравнения высокой степени к решению сравнения меньшей степени.

Лемма 2. Если сравнение степени n по

простому модулю р имеет более n различных решений, то все коэффициенты

кратны р.

Доказательство. Пусть сравнение

,

имеет решение и – наименьшие неотрицательные вычеты

этих решений. Тогда, очевидно, многочлен

представим в виде:

5 2 3

5 32

3 2

3

2

2 1

2 2 2 2

2 1

2 2

2 1

x x x x

x x x

x x

x x

x x

5 2 22 1 2 1(  3)x x x x mod

5 22 1 0(  3)x x mod

2 2 1 0(  3)x x mod

2x 5 22 1 0(  3)x x mod

2 2 1 0(  3)x x mod

1

0 1 0(   )n n

na x a x a mod p

0 1, , , na a a

1

0 1 0(   )n n

na x a x a mod p

1n 1 2 1, , , ,n nx x x x

1

0 1

n n

nf x a x a x a

1 2 2 1

1 2 2 1

1 2 2

1 2

1

·...·

·...·

·..

( )( ) ( )( )( )

( )(

.· ...

...

) ( )( )

( )( ) ( )

( )( )

( )

.

n n n

n n

n

f x a x x x x x x x x x x

b x x x x x x x x

c x x x x x x

k x x x x

l x x

m

Page 117: ОСНОВЫ КРИПТОГРАФИИ:

117

Действительно, коэффициент b нужно взять равным коэффициенту при

x n-1

в разности

,

коэффициент с – это коэффициент перед xn-2

в разности

и т.д.

Теперь положим последовательно

.

Имеем:

1) , следовательно, р делит m;

2) , следовательно, р делит l,

ибо р не может делить , так как ;

3) , следовательно, р делит k и т.д.

Получается, что все коэффициенты a, b, c,...,k, l кратны р . Это означает,

что все коэффициенты тоже кратны р, ведь они являются суммами

чисел, кратных р. (Убедитесь в этом самостоятельно, раскрыв скобки в

написанном выше разложении многочлена f(x) на суммы произведений

линейных множителей.)

Пример: у сравнения степени n = 2 по простому

модулю р = 3 все коэффициенты в правой части кратны р = 3. Сравнение

имеет 3 различных решения (0, 1 и 2).

Следует обратить внимание на важность условия простоты модуля

сравнения в формулировке леммы 2. Если модуль - число составное, то

сравнение n -ой степени может иметь и более n решений, при этом,

коэффициенты многочлена не обязаны быть кратными р.

Пример: сравнение второй степени x2 1(mod 16) имеет аж целых

четыре различных решения:

x 1(mod 16), x 7(mod 16), x 9(mod 16), x 15(mod 16).

Подведем итог.

Всякое нетривиальное сравнение по mod p равносильно сравнению

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

понять доказательство еще одной замечательной теоремы теории чисел –

теоремы Вильсона. Александр Вильсон (1714–1786) – шотландский астроном

и математик-любитель, трудился профессором астрономии в Глазго. Теоремы

1 2 nf x a x x x x x x

1 2 1 2 1( ) n nf x a x x x x x x b x x x x x x

1 2 1, , , ,n nx x x x x

1 0  f x m mod p

2 2 1 2 1 0  f x m l x x l x x mod p

2 1x x 2 1, x p x p

3 3 1 3 2 0  f x k x x x x mod p

0 1, , , na a a

26 3 9 0(  3)x x mod

Page 118: ОСНОВЫ КРИПТОГРАФИИ:

118

Ферма, Эйлера и Вильсона всегда идут сладкой троечкой во всех учебниках и

теоретико-числовых курсах.

Теорема (Вильсон). Сравнение

выполняется тогда и только тогда, когда р - простое число.

Доказательство. Пусть р - простое число. Если , то, очевидно,

.

Если , тогда рассмотрим сравнение:

.

Ясно, что это сравнение степени не выше (если раскрыть скобки в

первом слагаемом в получим слагаемое , которое сократится с из

второго слагаемого). Это сравнение имеет решение: 1, 2, 3, ... , , т.к.

при подстановке любого из этих чисел, слагаемое в квадратных скобках

обращается в ноль, а сравнимо с нулем по теореме Ферма (х и р

взаимно просты, т.к. х < р ). Это означает, по лемме 2, что все коэффициенты

выписанного сравнения кратны р, в частности, на р делится его свободный

член, равный .

Обратно. Если р – не простое, то найдется делитель d числа р, 1 < d < p.

Тогда делится на d, поэтому не может делится на d и,

значит, не может делиться также и на р . Следовательно, сравнение

не выполняется.

Пример. Число

1 2 3 ... 10 + 1 = 3628800 +1 = 3628801

делится на 11 (признак делимости на 11 - если сумма цифр в десятичной

записи числа на четных позициях совпадает с суммой цифр на нечетных

позициях, то число кратно 11).

Пример-задача. Доказать, что если простое число р представимо в виде

4n+1, то существует такое число х , что х 2 +1 делится на р .

1 ! 1 0(   )p mod p

1! 1 0(  2)mod

11 2 1 1 0(   )px x x p x mod p

2р 1px 1px

1р 1р

1 1px

1 2 3 ... ( 1) 1р

1 !p 1 ! 1p

1 ! 1 0(   )p mod p

Page 119: ОСНОВЫ КРИПТОГРАФИИ:

119

Решение. Пусть – простое число. По теореме Вильсона,

делится на р . Заменим в выражении все множители

большие через разности числа р и чисел меньших

.

Получим:

Так как это число делится на р, то и сумма делится на

р, т.е.

.

Рассмотренный пример-задача тесно связан с проблематикой,

касающейся представления натуральных чисел в виде сумм степеней (с

показателями степени n > 1) других натуральных чисел. Из приведенного

примера-задачи можно вывести, что натуральное число N в том и только в том

случае представимо в виде суммы двух квадратов, когда в разложении N на

простые множители все простые множители вида 4n+3 входят в четных

степенях. Что касается представления чисел в виде сумм степеней, то здесь

известна общая замечательная теорема:

Для любого натурального k существует такое натуральное N

(разумеется, зависящее от k), что каждое натуральное число представимо в

виде суммы не более чем N слагаемых, являющихся k-ми степенями целых

чисел.

7.2. Сравнения любой степени по составному модулю

Переход от решения сравнений по простому модулю к более сложной

задаче – решению сравнений по составному модулю осуществляется с

помощью следующей теоремы.

Теорема 1. Если числа m1, m2, … mk попарно взаимно просты, то

сравнение

равносильно системе сравнений:

4 1р n

4 1!n 1 2 3 ... 4 1n

1 / 2 2p n

1 / 2 2p n

2

2

1

( )

1 ! 1 1 2 3 2 2 2 1 1  

= 1 2 3 2 1 2 2 1 2 1 1 

= 1 2 3 2 1

]

( ) .

[n

p n p n p n p

n A p n n

A p n

21 2 3 1)2( n

2 ! 1 / 2 !x n p

1 20mod kf x m m m

Page 120: ОСНОВЫ КРИПТОГРАФИИ:

120

При этом, если Т1, Т2, ..., Тк – числа решений отдельных сравнений этой

системы по соответствующим модулям, то число решений Т исходного

сравнения равно Т1 Т2 ...Тк .

Доказательство. Первое утверждение теоремы (о равносильности

системы и сравнения) очевидно, т.к. если a b (mod m), то a b (mod d), где d

делит m. Если же a b (mod m1) и a b (mod m2), то a b (mod HOK (m1, m2)),

где НОК (m1, m2) – наименьшее общее кратное m1 и m2 .

Обратимся ко второму утверждению теоремы (о числе решений

сравнения).

Каждое сравнение f (x) 0(mod ms) выполняется тогда и только тогда,

когда выполняется одно из Ts сравнений вида x bs (mod ms), где b s пробегает

вычеты решений сравнения f (x) 0(mod ms). Всего различных комбинаций

таких простейших сравнений

Т1 Т2 ...Тк штук. Все эти комбинации приводят к различным классам вычетов

по mod( m 1 m 2 … m k ).

Итак, решение сравнения сводится к решению

сравнений вида f (x) 0(mod pa

). Оказывается, что решение этого последнего

сравнения, в свою очередь, сводится к решению некоторого сравнения

g (x) 0(mod p)

c другим многочленом в левой части, но уже с простым модулем.

Процесс сведения.

Очевидно, выполнение сравнения влечет, что х

подходит в сравнение .

Пусть – какое-нибудь решение сравнения .

Это означает, что

,

1

2

( ) 0mod ;

( ) 0mod ;

...

( ) 0mod .k

f x m

f x m

f x m

1 1

2 2

mod ;

mod ;

...

mod ,k k

x b m

x b m

x b m

1 2

1 20mod ... k

kp p pf x

0mod pf x

0modf x p

1 modx px 0modf x p

1 1x x pt

Page 121: ОСНОВЫ КРИПТОГРАФИИ:

121

где .

Вставим это х в сравнение . Получим сравнение

,

которое тоже, очевидно, выполняется.

Разложим далее левую часть полученного сравнения по формуле

Тейлора по степеням (х – х1):

.

Но, ведь, , следовательно,

.

Заметим, что число всегда целое, т.к. – многочлен с

целыми коэффициентами.

Теперь в сравнении

можно слева отбросить члены, кратные :

.

Разделим последнее сравнение и его модуль на р:

.

Заметим, опять, что – целое число, т.к. . Далее

ограничимся случаем, когда значение производной не делится на р. В

этом случае имеется всего одно решение сравнения первой степени

1t Z

20modf x p

1 1

20modf x pt p

21 11 1 1

'( ) ''( )( ) ( ) ( ) ( ) ...

1! 2!

f x f xf x f x x x x x

1 1x x pt

211 1 1 1

11

'( ) ''( )( ) ( ) ( ) ...

1! 2!

f x f xf f xx pt pt pt

( )

1( )

!

kf x

k1 1( )xf pt

1 1

20modf x pt p

2p

1

211

'( )( )

10mo

!d

f xf x ppt

1 11

( ) '( )

!0mod

1t

f x f xp

p

1( )f x

p1 m( ) 0 odf px

1'( )f x

Page 122: ОСНОВЫ КРИПТОГРАФИИ:

122

относительно :

t 1 t1

mod p.

Это означает, что

t 1 = t1

+ pt2,

где , и

.

Снова вставим в сравнение , разложим его

левую часть по формуле Тейлора по степеням (х - х2) и отбросим члены,

кратные p3:

.

Делим это сравнение и его модуль на р2:

Опять – целое число, ведь число t1

такое, что

.

Кроме того, , значит

,

т.е. , как и , не делится на р.

Имеем единственное решение сравнения первой степени

1 11

( ) '( )

!0mod

1t

f x f xp

p

1t

2t Z

2

2 2

1 1 1 1 2 2 2

x

x pt x pt p tx x p t

2

2 2x x p t 30modf x p

2

32

2 222

2

'( )( ) ( )

1!0mod

f xf f x px p t p t

2 2

2 2

( ) '( )

!0mod

1t

f x f xp

p

2

2

( )f x

p

1 1

20modf px pt

2 1 modx x p

2 1'( ) ' )m d( of x f x p

2'( )f x 1'( )f x

Page 123: ОСНОВЫ КРИПТОГРАФИИ:

123

относительно t2:

t 2 t2

mod p.

Это означает, что

t 2 = t2

+ pt3,

где , и

и процесс продолжается дальше и дальше, аналогично предыдущим шагам, до

достижения степени pa, в которой стоит простое число р в модуле исходного

сравнения

.

Итак: всякое решение сравнения , при

условии не делит , дает одно решение сравнения

вида

,

т.е.

.

Пример. Решить сравнение .

Решение. Примем , . Cравнение

имеет всего одно решение .

Тогда:

,

т.е. не делится на .

Далее:

,

2 2

2 2

( ) '( )

!0mod

1t

f x f xp

p

3t Z

3

2 3 3

2 2 3 3 3

x

x p t p t x p tx

0mod pf x

2 1 modx x p 0modf x p

p 1'( )f x 0mod pf x

x x p t

modx x p

4 7 4 0mod27x x

3p 3 27p

4 7 4 0mod3x x

1mod3x

3

1 1'( ) 4 7 2mod3xf x x

3p

11 1 3x t

Page 124: ОСНОВЫ КРИПТОГРАФИИ:

124

.

Ищем t1:

3 + 3t12 0 mod 9,

после деления на р = 3:

1+2t1 0 mod 3,

t 1 1 mod 3

- единственное решение. Далее:

t1 = 1+3t2,

x =1+3t1 = 4 + 9t2,

,

18 + 920t2 0 mod 27,

и, после деления на p2 = 9, находим t2:

2 + 20t2 0 mod 3,

t2 2 mod 3,

t2 =2+3t3,

откуда

x = 4 +9(2+3t3) = 22 + 27t3.

Значит, единственным решением исходного сравнения является

x 22 mod 27.

Следующая теорема относится к специфическому виду сравнений.

Теорема 2. Пусть A, m, n - натуральные числа; (A, m) = 1,

x x0 mod m

– одно из решений сравнения

x n A (mod m ).

Тогда все решения этого сравнения получаются умножением x0 на

вычеты решений сравнения

y n 1 mod m.

1

23(1) '(1) m d30 otf f

3

2(4) 9 '( 0m d4) 3of t f

Page 125: ОСНОВЫ КРИПТОГРАФИИ:

125

Доказательство. Перемножим сравнения:

откуда видно, что – решения сравнения x n A mod m.

Если теперь , то . Действительно,

предположим, что . Очевидно, что (x0, m) = 1, т.к. иначе было

бы:

x0 = dx0, m = dm

,

x0 = d n (x0

)

n A mod dm

,

следовательно, d делит А и делит m, что противоречит взаимной простоте А и

m. Значит (x0, m) = 1 и сравнение можно поделить на x0 , т.е.

– а это противоречит исходному предположению. Таким

образом, для разных y1 и y2, получаются разные решения.

Осталось убедиться, что каждое решение сравнения

xn A mod m

получается именно таким способом. Имеем:

x n A mod m

x 0 n A mod m,

следовательно,

x n x0

n mod m.

Возьмем число y такое, что

x yx0 mod m.

Тогда

y n x 0

n x 0

n mod m,

т.е.

y n 1mod m.

0

0

mod

1mod

( ) mod

n

n

n

x A m

y m

x y A m

0x y

1y 2 mody m 0 1x y 0 2 modx y m

0 1 0 2 modx y x y m

0 1 0 2 modx y x y m

1 2 mody y m

Page 126: ОСНОВЫ КРИПТОГРАФИИ:

126

Задания для самостоятельной работы

1. Решите системы сравнений:

2. Решите систему сравнений

3. Пусть (m 1 ,m 2 )=d

Докажите, что система сравнений

имеет решения тогда и только тогда, когда b 1 b 2 (mod d) . В случае, когда

система разрешима, найдите ее решения .

4. Решите систему сравнений

5. Пусть (a,m)=1 , 1<a<m . Докажите, что разыскание решения

сравнения ax b(mod m) может быть сведено к разысканию решений

сравнений вида b+mt 0(mod p) , где р – простой делитель числа а .

3mod 4;

1mod5;

2mod7,

x

x

x

6mod14;

4mod5;

7mod9,

x

x

x

3mod17;

1mod15;

6mod11;

5mod14;

x

x

x

x

3 5mod7;

2 3mod5;

3 3mod9.

x

x

x

Page 127: ОСНОВЫ КРИПТОГРАФИИ:

127

6. Какому сравнению степени ниже 7 равносильно сравнение: 2x 17

+ 6x 16

+ x 14

+ 5x 12

+ 3x 11

+ 2x 10

+ x 9 + 5x

8 + 2x

7 + 3x

5 + 4x

4 + 6x

3 + 4x

2 + x + 4

0(mod 7).

7. Используя процесс перебора всех вычетов из полной системы, решите

сравнение 3x 14

+ 4x 13

+ 3x 12

+ 2x 11

+ x 9 + 2x

8 + 4x

7 + x

6 + 3x

4 + x

3 + 4x

2 + 2x

0(mod 5) предварительно понизив его степень.

8. Пусть (a 0 , m)=1. Укажите сравнение n -ой степени со старшим

коэффициентом 1, равносильное сравнению a 0 x n +a 1 x

n-1 +...+a n 0(mod m)

9. Докажите, что сравнение f(x) 0(mod p), где р – простое, x n

+a 1 x n-1

+...+a n-1 x+a n , n p имеет n решений тогда и только тогда, когда все

коэффициенты остатка от деления x p -x на f(x) кратны р .

10. Перед вами крупная задачка, разделенная на несколько мелких

частей. Решите их по порядку:

а)

- характеристическая функция множества простых чисел. Докажите, что

где, как обычно, [x] - целая часть числа х .

б) Сообразите, что где (m) – число простых чисел, не

превосходящих m ("функция распределения" простых чисел).

в) Убедитесь, что

где:

("сигнум", т.е. знак х ).

г) Пусть p n - n -ое в порядке возрастания простое число, т.е. p 1 =2, p 2

=3, p 3 =5, ... Докажите, что p n n 2 +1 для всех n .

д) Докажите, что (Внимание! Перед вами формула, выражающая

простое число p n через его номер! ) **

:

11. Сколько решений имеет сравнение x

5 + x +1 0(mod105) ?

12. Решите сравнения:

а) 7 x 4 +19 x +25 0(mod27);

Page 128: ОСНОВЫ КРИПТОГРАФИИ:

128

б) 9 x 2 +29 x +62 0(mod64);

в) 6 x 3 +27 x

2 +17 x +20 0(mod30);

г) 31 x 4 +57 x

3 +96 x +191 0(mod225);

д) x 3 +2 x +2 0(mod125);

е) x 4 +4 x

3 +2 x

2 +2 x +12 0(mod625).

Page 129: ОСНОВЫ КРИПТОГРАФИИ:

129

8. СИМВОЛ ЛЕЖАНДРА И ЕГО СВОЙСТВА.

ЗАКОН ВЗАИМНОСТИ ГАУССА. СИМВОЛ ЯКОБИ

8.1. Сравнения второй степени. Символ Лежандра

Из сравнений степени в дальнейшем будем рассматривать только

простейшие, а именно – двучленные сравнения:

(8.1)

Если сравнение (8.1) имеет решения, тогда называется вычетом

степени по модулю

В противном случае называется невычетом степени по модулю

В частности, при вычеты или невычеты называются квадратичными,

при - кубическими, при - биквидратичными и т.д.

Подробно рассмотрим случай и, в первую очередь, рассмотрим

двучленные сравнения второй степени по простому нечетному модулю

(8.2)

Если - квадратичный вычет по модулю тогда сравнение (8.2) имеет

два решения.

Действительно, если - квадратичный вычет, тогда сравнение (8.2)

имеет, по крайней мере, одно решение Но тогда, ввиду

то же сравнение имеет и второе решение Это

второе решение отлично от первого, так как из мы имели бы

что невозможно, ввиду

Указанными двумя решениями и исчерпываются все решения сравнения

(8.2), так как последнее, будучи сравнением второй степени, более двух

решений иметь не может.

Пример. Число 2 является квадратом по модулю 7, т.к.

4 2 16 2(mod7).

Следовательно, 2 - квадратичный вычет.

Отметим, что сравнение x 2 2(mod7) имеет еще и другое решение:

2 3

2 9 2(mod7).

1n

(mod ); ( , ) 1.nx a m a m

a

n .ma n .m

2n 3n 4n

2n   :p

2 (mod );( , ) 1.x a p a p

a ,p

a

1(mod ).x x p2 2

1 1( ) ,x x 1(mod ).x x p

1 1(mod )x x p

12 0(mod ),x p 1(2, ) ( , ) 1.p x p

Page 130: ОСНОВЫ КРИПТОГРАФИИ:

130

Напротив, число 3 является квадратичным невычетом по модулю 7, т.к.

сравнение x2 3(mod7) решений не имеет, в чем нетрудно убедиться

последовательным перебором полной системы вычетов: x = 0,1,2,3,4,5,6.

Приведенная система вычетов по модулю состоит из

квадратичных вычетов, сравнимых с числами

(8.3)

и квадратичных невычетов.

Действительно, среди вычетов приведенной системы по модулю

квадратичными вычетами являются те и только те, которые сравнимы с

квадратами чисел (приведенная система вычетов)

(8.4)

т.е. с числами (8.3).

При этом числа (8.3) по модулю не сравнимы, так как из

следовало бы, что сравнению

среди чисел (8.4) удовлетворяют четыре:

Пример. Рассмотрим приведенную систему вычетов по модулю :

1, 2, 3, 4, 5, 6.

Возведем все эти числа в квадрат и приведем по модулю , получим:

12 = 1, 2

2 = 4, 3

2 = 2, 4

2 = 2, 5

2 = 4, 6

2 = 1.

Следовательно, числа 1, 2, 4 являются квадратичными вычетами по

модулю , а числа 3 = -4, 5 = -2, 6 = -1 являются квадратичными

невычетами.

Введем в рассмотрение символ Лежандра

p1

2

p

2

2 2 11 ,2 , , ,

2

p

1

2

p

p

1 1, , 2, 1,1,2, , ,

2 2

p p

p

2 2 1(mod ),0 k l ,

2

pk l p

2 2(mod ),x l p

; ; ; .x l k k l

7p

7p

7p

Page 131: ОСНОВЫ КРИПТОГРАФИИ:

131

(читается: символ по ).

Число называется числителем, а число - знаменателем символа

Лежандра.

Символ Лежандра определяется для всех не делящихся на Он

задается равенством

если - квадратичный вычет по модулю и равенством

,

если - квадратичный невычет по модулю

Вычислить символ (и таким путем определить, является

квадратичным вычетом или же квадратичным невычетом по модулю )

позволяет следующая теорема (критерий Эйлера).

Теорема (критерий Эйлера).

При не делящемся на имеем

Доказательство.

Действительно, по теореме Ферма

Один и только один из сомножителей левой части последнего сравнения

делится на (оба сомножителя не могут одновременно делится на в

противном случае их разность 2 должна была делиться на Поэтому имеет

место одно и только одно из сравнений

a

p

a p

a p

,a .p

1a

p

a p

1a

p

a .p

a

p

a

p

a p

1

2 (mod ).p

aa p

p

1

1 1

2 2

1(mod ),

( 1)( 1) 0(mod ).

p

p p

a p

a a p

p ,p

).p

Page 132: ОСНОВЫ КРИПТОГРАФИИ:

132

(8.5)

(8.6)

Но всякий квадратичных вычет удовлетворяет при некоторых

сравнению и, следовательно, также получаемому из него

почленным возведением в степень сравнению (8.5). При этом

квадратичными вычетами и исчерпываются все решения сравнения (8.5), так

как, будучи сравнением степени , он не может иметь более чем

решений. Поэтому квадратичные невычеты удовлетворяют сравнению (8.6).

Пример. Имеем

Поэтому и - квадратичный вычет по модулю , т.е.

сравнение имеет два решения и .

Пример. Имеем

Поэтому и - квадратичный невычет по модулю

(сравнение не имеет решений).

Далее мы выведем важнейшие свойства символа Лежандра .

8.2. Свойства символа Лежандра и закон взаимности Гаусса

Свойство 1. Если то .

Это свойство следует из того, что числа одного и того же класса будут

одновременно квадратичными вычетами или невычетами.

Пример. Рассмотрим числа тогда

, ,

1

2 1(mod ),p

a p

1

2 1(mod ).p

a p

a x2(mod )a x p

1

2

p

1

2

p 1

2

p

145 1(mod29).

51

29

5 29

2 5(mod29)x 11x 11(mod29) 18x

143 1(mod29).

31

29

3 29

2 3(mod29)x

a

p

1(mod ),a a p 1a a

p p

9 2(mod7),

399 mod7 1

7

322 mod7 1

7

Page 133: ОСНОВЫ КРИПТОГРАФИИ:

133

т.е. числа 9 и 2 (лежат в одном классе эквивалентности) являются

квадратичными вычетами по модулю 7. Действительно, .

Свойство 2.

Действительно, и, следовательно, - квадратичный вычет.

Свойство 3. .

Это свойство следует из критерия Эйлера при :

Так как - четное, если вида и нечетное, если вида

то отсюда следует, что -1 является квадратичным вычетом по модулю

если вида и является квадратичным невычетом по модулю

если вида

Пример. Для число -1 = 4 является квадратичным вычетом

по модулю 7. Для число -1 = 6 является квадратичным невычетом

по модулю 7.

Свойство 4.

Действительно, имеем

откуда и вытекает утверждение.

Отсюда следствие:

т. е. в числителе символа можно отбросить любой квадратичный множитель.

Пример. По модулю имеем:

,

23 9 2mod7

11.

p

21 1 1

1

21

( 1)p

p

1a

1

21

( 1) (mod ).p

pp

1

2

p p 4 1,m p

4 3,m

,p p 4 1,m ,p

p 4 3.m

5 4 1p

7 4 3p

.ab l a b l

p p p p

1 1 1 1

2 2 2 2( ) (mod ),p p p p

ab l a b lab l a b l p

p p p p

2

,ab a

p p

7p

6 2 3 2 3(1)( 1) 1

7 7 7 7

Page 134: ОСНОВЫ КРИПТОГРАФИИ:

134

.

Чтобы вывести дальнейшие свойства символа Лежандра докажем сперва

вспомогательную формулу.

Полагая рассмотрим сравнения

(8.7)

где - абсолютно наименьший вычет - его модуль, так что

Числа

образуют приведенную систему вычетов по модулю .

Перемножая теперь сравнения (8.7) и сокращая на

получим

откуда по критерию Эйлера имеем

(8.8)

Далее находим

что будет четным или нечетным, в зависимости от того, будет ли наименьший

неотрицательный вычет числа меньше или больше т.е. будет ли

или

212 2 3 3( 1) 1

7 7 7

1

1,

2

pp

1 1

1 1

2 2

1

1 (mod ),

2 (mod ),

(mod ),p p

a r p

a r p

a p r p

x xr ,ax xr 1.x

1 11, 1, 2, 2, , , ,a a a a a p a p

p

11 1 21 2 ,pp r r r

1

1

21 2 (mod ),

p

pa p

11 2 .p

a

p

22 2 2 2 ,

ax ax ax ax ax

p p p p p

ax1

,2

p 1 1

1 1.

Page 135: ОСНОВЫ КРИПТОГРАФИИ:

135

Отсюда, очевидно,

и потому из (8) находим

Предполагая нечетным, преобразуем последнее равенство.

Имеем ( -четное):

,

Откуда

. (8.9)

Формула (8.9) и есть та, которую мы имели в виду доказать. Она

позволит нам вывести еще два важнейших свойства символа Лежандра.

Свойство 5.

Следует из формулы (8.9) при Но можно представить в виде где - одно из чисел

При этом

что будет четным при и при и будет нечетным при и

Поэтому число 2 будет (следствие к свойству 5):

квадратичным вычетом по модулю если вида или вида

;

и квадратичным невычетом по модулю если вида или

вида .

Пример. По модулю 7 число 2 является квадратичным вычетом, т.к.

2

1 ( 1) ,

ax

p

1

1

2

( 1) .

p

x

ax

pa

p

aa p

1 1 1

1 1 1

( ) ( )42 2 2 2 2 ( 1) ( 1)

p p p

x x x

a p x a px

p p

a p a pa a p

p p p p

21

1

1

82( 1)

p

x

ax p

pa

p p

2 1

82

( 1) .p

p

1.a p ,p ms s s

1,3,5,7.2 2

2(8 ) 1 18 2 ,

8 8

m s sm ms

1s 7s 3s 5.s

,p p 8 1m

8 7m

,p p 8 3m

8 5m

Page 136: ОСНОВЫ КРИПТОГРАФИИ:

136

.

Пример. По модулю 11 число 2 является квадратичным невычетом, т.к.

.

Проверяем

.

Пример. По модулю 13 число 2 является квадратичным невычетом, т.к.

.

Проверяем

.

Пример. По модулю 17 число 2 является квадратичным вычетом, т.к.

.

Проверяем

.

Свойство 6 (закон взаимности Гаусса).

Если и -простые нечетные, тогда

.

Так как

будет нечетным лишь в случае когда и будут вида и четным, если

хоть одно из этих чисел будет вида тогда указанное свойство можно

формулировать следующим образом.

Если оба числа и вида тогда

27 1

682

( 1) ( 1) 17

11 8 1 3

211 1

1582

( 1) ( 1) 111

13 8 1 5

213 1

2182

( 1) ( 1) 113

17 8 2 1

217 1

3682

( 1) ( 1) 117

p q

1 1

2 2( 1)p q

q p

p q

1 1

2 2

p q

p q 4 3,m

4 1,m

p q 4 3,m

Page 137: ОСНОВЫ КРИПТОГРАФИИ:

137

.

Если же хоть одно из них вида тогда

.

Доказательство.

Для доказательства заметим, что ввиду формула (8.9) принимает вид

(8.10)

Полагая теперь рассмотрим пар чисел, получаемых,

когда в выражениях числа и независимо друг от друга пробегают

системы значений

Никогда не может быть потому что из этого равенства следовало

бы, что кратно что ввиду (так как )

невозможно. Поэтому мы можем положить где -число пар с

и где -число пар с Очевидно, есть так же число пар с

(этому не противоречит неравенство так как из

следует ).

Поэтому

Аналогичным путем убедимся, что

Но тогда равенство (8.10) дает нам

q p

p q

4 1,m

q p

p q

h

1

1

( 1) .p

x

a ax

p p

1

1,

2

qq

1 1p q

,qx py x y

1 11,2, , ; 1,2, , .x p y q

,qx py

py ,q ( , ) ( , ) 1p q y q 0 y q

1 1 1 2 ,p q S S 1S

qx py 2S .py qx 1S

px y

q 1,x p

2

p py

q

12

p py p

q

1

1

1

.q

y

pS y

q

1

2

1

.q

x

pS x

q

Page 138: ОСНОВЫ КРИПТОГРАФИИ:

138

поэтому

откуда и следует отмеченное свойство.

Пример. Для чисел и имеем:

.

Для чисел и имеем:

.

Приведенный закон взаимности Гаусса и другие свойства символа

Лежандра удобно использовать при больших простых в качестве числителей и

знаменателей.

Пример. Найдем .

Имеем

103 = 25 ·4 + 3,

348 = 84 ·4 + 3,

используя критерий взаимности, получим

.

Далее

38 = 2 · 19,

и, в соответствии со свойством 4, имеем

.

Со свойством 5, имеем

1 2( 1) , ( 1) ,S Sp q

q p

1 2 1 1( 1) ( 1) ,S S p qp q

q p

5 4 1p 7 4 3q

5 71

7 5

11 4 2 3p 7 4 3q

11 71 ( 1)

7 11

103

347

103 347 38

347 103 103

103 38 2 19

347 103 103 103

Page 139: ОСНОВЫ КРИПТОГРАФИИ:

139

,

или, используя следствие к свойству 5, имеем:

,

т.е., в соответствии со свойством 4, получим

.

Далее,

19 = 4·4 + 3, 103 = 25 ·4 + 3,

используя критерий взаимности, получим

.

Так как

8 = 22·2,

из следствия к свойству 4 получим

,

откуда

,

или, используя следствие к свойству 5, имеем:

т.е. 103 – квадратичный невычет по модулю 347.

2103 1

82

( 1) 1103

2103 8 12 7 1

103

38 2 19 19

103 103 103 103

19 103 8

103 19 19

8 2

19 19

219 1

82

( 1) 119

219 8 2 3 1

19

Page 140: ОСНОВЫ КРИПТОГРАФИИ:

140

8.3. Символ Якоби

Полезным обобщением символа Лежандра является символ Якоби19

.

Пусть Р – нечетное, большее единицы, и – разложение на

простые сомножители (среди них могут быть и равные).

Пусть, далее, . Тогда символ Якоби определяется

равенством

.

Символ Якоби равен знаку перестановки приведённой системы

вычетов по модулю P, которая задаётся как умножение элементов этой

группы на a (где a обязательно взаимно просто с P).

В отличие от символа Лежандра, символ Якоби нельзя напрямую

использовать для проверки разрешимости квадратичного сравнения. То есть,

если задано сравнение, то равенство единице символа Якоби вовсе не

означает, что данное сравнение разрешимо.

В общем случае неверно, что для символа Якоби выполняется то же

условие, что и для символа Лежандра (критерий Эйлера):

Например, для и , , имеем:

,

однако

.

Эта особенность используется в тестах простоты.

Числа a, взаимно простые с P, для которых не выполнен критерий

Эйлера, называются эйлеровыми свидетелями непростоты числа P

(поскольку для простого P этот критерий выполняется). Если P – составное

число, то такое число a, для которого выполняется критерий Эйлера,

19

Карл Густав Якоб Якоби (нем. Carl Gustav Jacob Jacobi; 10 декабря 1804, Потсдам — 18 февраля 1851,

Берлин) – немецкий математик и механик. Внес огромный вклад в комплексный анализ, линейную алгебру,

динамику и другие разделы математики и механики.

1 2... nP p p p

( , ) 1a P a

P

1 2

...n

a a a a

P p p p

1

2 (mod ).p

aa P

P

7a 15 3 5P (7,15) 1

27 7 7 1 21 (2 mod5) 1 ( 1) 1

15 3 5 3 5

15 1

727

7 7 mod15 13mod1515

Page 141: ОСНОВЫ КРИПТОГРАФИИ:

141

называют лжецом для теста Эйлера. Доказано, что для любого составного P

есть не более P/2 лжецов, различных по модулю P. Данное свойство

используется в вероятностном тесте Соловея-Штрассена на простоту. В этом

алгоритме выбираются случайные числа a и для них проверяется критерий

Эйлера. Если находится свидетель непростоты, тогда доказано, что число P –

составное. В противном случае говорят, что P – простое с некоторой

вероятностью.

Известные свойства символа Лежандра дают возможность установить

аналогичные свойства и для символа Якоби.

Свойство 1. Если то .

Действительно, если числа сравнимы по модулю они

сравнимы также и по всем модулям :

.

Пример. Рассмотрим числа . Тогда

.

Действительно,

.

Проверяем:

,

.

Свойство 2.

Действительно,

1(mod ),a a P 1a a

P P

1 2... nP p p p

1 2, ,..., np p p

1 1 1 1

1 2 1 2

... ...n n

a a a a a a a a

P p p p p p p P

47 12(mod35), (47,35) 1

47 12

35 35

47 47 47 2 5 12 12 12

35 5 7 5 7 5 7 35

2 347 47 47 2 5(2 mod5)(5 mod7) ( 1)( 1) 1

35 5 7 5 7

22 312 2 3 3 3

(3 mod5)(3 mod7) ( 1)( 1) 135 35 5 7

11.

P

Page 142: ОСНОВЫ КРИПТОГРАФИИ:

142

Свойство 3. .

Действительно,

.

Однако

где - некоторое четное целое (получаемое в результате раскрытия скобок).

Следовательно,

.

Пример.

.

Проверяем:

.

Свойство 4.

Действительно, имеем

1 2

1 1 1 1... 1.

nP p p p

1

21

( 1)P

P

1 2 11 1...

2 2 2

1 2

1 1 1 1... ( 1)

npp p

nP p p p

1 2

1 2

1 2

1 1 11 2 1 2 ... 1 2 1

1 ... 1 2 2 2

2 2 2

1 1 1... 2 ,

2 2 2

n

n

n

p p p

P p p p

p p pN

2N

1 2 1 21 11 1 1 1 1... ...

22 2 2 2 2 2 21

( 1) ( 1) ( 1) ( 1)n np pP p p p p

N

P

15 1

21

( 1) 115

3 1 5 1

22 21 1 1

( 1) ( 1) ( 1)( 1) 115 3 5

.ab l a b l

P P P P

Page 143: ОСНОВЫ КРИПТОГРАФИИ:

143

Отсюда следствие:

т.е. в числителе символа Якоби можно отбросить любой квадратичный

множитель.

Пример. По модулю имеем:

.

Проверяем:

.

Свойство 5.

Действительно,

.

Однако

1 2

1 1 1 2 2 2

1 2 1 2

...

... ... ...

... ... ...

n

n

n n n

ab l ab l ab l ab l

P p p p

a b l a b l l

p p p p p p p

a a a b b b l

p p p p p p p

... .a b l

P P P

2

,ab a

P P

15 3 5P

14 2 7 2 7 2 2 7 7( 1)( 1)(1)( 1) 1

15 15 15 15 3 5 3 5

14 14 14 2 4( 1)(1) 1

15 3 5 3 5

2 1

82

( 1) .P

P

22 21 2 11 1

...8 8 8

1 2

2 2 2 2... ( 1)

npp p

nP p p p

2 2 2

1 2

2 2 2 2

1 2

2 2 2

1 2

1 1 11 8 1 8 ... 1 8 1

8 8 81 ... 1

8 8 8

1 1 1... 2 ,

8 8 8

n

n

n

p p p

P p p p

p p pN

Page 144: ОСНОВЫ КРИПТОГРАФИИ:

144

где - некоторое четное целое (получаемое в результате раскрытия скобок).

Следовательно,

.

Пример.

.

Проверяем:

.

Свойство 6 (аналог закона взаимности Гаусса).

Если и - положительные нечетные взаимно

простые числа, тогда

.

Действительно,

Однако (см. свойство 3)

2N

2 22 2 2 2 21 2 1 21 11 1 1 1 1

... ...28 8 8 8 8 8 8

2( 1) ( 1) ( 1) ( 1)

n np pP p p p p

N

P

215 1

2882

( 1) ( 1) 115

2 23 1 5 1

8 82 2 3

( 1) ( 1) ( 1)( 1) 115 3 5

1 2... nP p p p 1 2... mQ q q q

1 1

2 2( 1)P Q

Q P

P Q

1 1 1 2 1

2 1

1 2 1 2

1 1 1 2 2 2

11 1 1 1 1

1 1 12 2 2 2 2 2

1 2

1 1

22 2

1

... ... ...

( 1) ( 1) ...( 1)

( 1) ( 1)

m

m m m

n

qp q p q p

m

p q p

Q q q q q q q q

P p p p p p p p

p p p

q q q

p

q

2 2 2

1 1

1 1 11 1 1

2 22 2 2 2 2 2

2

11

2 21 2 1 2

1 1 1 2 2 2

...( 1) ...( 1)

( 1) ... ... ...

(

m n m

n mji

i j

q p qq p

n

m m

qp

n n n

m

p p p

q q q

p p p p p p p

q q q q q q q

1 1

11

2 2

1) .

n mji

i j

qp

P

Q

Page 145: ОСНОВЫ КРИПТОГРАФИИ:

145

,

,

где и - некоторые четные целые (получаемые в результате раскрытия

скобок).

Следовательно,

Пример.

.

Проверяем:

,

.

Символ Якоби используется для быстрого вычисления символа

Лежандра. Действительно, рассматривая символ Лежандра как частный

случай символа Якоби, можно вычислить символ Лежандра значительно

быстрее, чем непосредственно применяя критерий Эйлера.

Пример. Найдем количество решений сравнения .

Число - простое, следовательно, сравнение имеет

два решения если символ Лежандра (т.е. если число 219 есть

квадратичный вычет по модулю 383) и не имеет решений, если

(если число 219 не является квадратичным вычетом по модулю 383).

1 22 2

1

1 1 1 1 1... 2 2

2 2 2 2 2

nn i

i

P p p p pN N

1 22 2

1

1 1 1 1 1... 2 2

2 2 2 2 2

mm i

i

Q q q q qN N

12N 22N

1 1 1 2

1 1

111 1

2 2 2 22 2

11

2 2

( 1) ( 1) ( 1) ( 1)

( 1) .

n mji

i j

n mji

i j

qpP Q

N N

qp

P P

Q Q

P Q

Q P

55 1 21 1

2 221 55 55

( 1)55 21 21

21 3 7 3 7( 1)( 1)(1)( 1) 1

55 5 5 11 11

55 13 13 13(1)( 1) 1

21 21 3 7

2 219mod383x

383 2 219mod383x

2191

383

2191

383

Page 146: ОСНОВЫ КРИПТОГРАФИИ:

146

Для нахождения символа Лежандра последовательно применяем

рассмотренные выше свойства.

Из свойства 6 имеем:

.

Поскольку , в соответствии со следствием свойства 4, имеем

.

Снова используя свойство 6 имеем:

.

Далее, используя свойство 4 получим:

.

Используя свойство 5 найдем

,

т.е.

.

Используя свойство 6 имеем:

,

т.е. число 219 есть квадратичный вычет по модулю 383 и сравнение

имеет два решения.

219 383 164

383 219 219

2164 2 41

164 41

219 219

41 219 14

219 41 41

14 2 7

41 41 41

1681 1

82

( 1) 141

291 7

383 41

7 41 11

41 7 7

2 219mod383x

Page 147: ОСНОВЫ КРИПТОГРАФИИ:

147

Задания для самостоятельной работы

1. Среди вычетов приведенной системы по модулю 37 укажите

квадратичные вычеты и квадратичные невычеты.

2. Найдите символ Лежандра:

а) ; б) ; в) .

3. С помощью критерия Эйлера установите, имеет ли решение

сравнение x 2 5(mod13)?

4. С помощью символа Лежандра установите, имеют ли решения

сравнения:

а) x 2 22(mod13);

б) x 2 239(mod661);

в) x 2 412(mod421).

5. Решите сравнения:

а) x 2 7(mod137);

б) x 2 23(mod101).

6. Используя закон взаимности Гаусса, найдите:

а) ; б) ; в) .

7. Используя закон взаимности Гаусса, найдите:

а) , б) , в) .

20

7

200

43

1601600

839

59

269

37

557

43

991

433

1709

755

2203

1032

2593

Page 148: ОСНОВЫ КРИПТОГРАФИИ:

148

9. ПРИМЕНЕНИЕ МЕТОДОВ ТЕОРИИ ЧИСЕЛ ДЛЯ

КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ

9.1. Схема разделения секрета на основе китайской теоремы об

остатках

В криптографии под разделением секрета (англ. Secret sharing)

понимают любой метод распределения секрета среди группы участников,

каждому из которых достается доля секрета (англ. shadow). Секрет потом

может воссоздать только коалиция участников [12, 15, 16].

В отличии от процедуры разбиения секрета, в процедуре разделения

секрета количество долей, которые нужны для восстановления секрета, может

отличаться от того, на сколько долей мы разделили секрет. Такая схема носит

названия пороговой схемы (t, n), где n – количество долей, на которые был

разделен секрет, а t - количество долей, которые нужны для восстановления

секрета.

В тривиальном случае t = n мы получаем схему разбиения секрета.

Идеи схем t ≠ n были независимо предложены в 1979 году Ади

Шамиром и Джорджем Блэкли (англ. George Robert (Bob) Blakley Jr.). Кроме

этого подобные процедуры исследовались Гусом Симмонсом.

В 1983 году Миньотт, Морис (англ. Maurice Mignotte), Асмут и Блум

предложили две схемы разделения секрета, основанные накитайской теореме

об остатках. Для некоторого числа (в схеме Миньотта это сам секрет, в схеме

Асмута-Блума - некоторое производное число) вычисляются остатки от

деления на последовательность чисел, которые раздаются сторонам.

Благодаря ограничениям на последовательность чисел, восстановить секрет

может только определённое число сторон.

Схема Асмута-Блума – пороговая схема разделения секрета,

построенная с использованием простых чисел [16]. Позволяет разделить

секрет (число) между n сторонами таким образом, что его смогут

восстановить любые m участников. Подробно эта схема рассмотрена в [12] и в

Википедии.

Пусть M - некоторый секрет, который требуется разделить. Выбирается

простое число p, большее M. Выбирается n взаимно простых друг с другом

чисел , таких что:

; ; .

Выбирается случайное число r и вычисляется

M' = M + rp.

nddd ,...,, 21

pdi i : 1: ii ddi nmnmnm ddpdddd ...... 3221

Page 149: ОСНОВЫ КРИПТОГРАФИИ:

149

Следует отметить, что M' должно быть больше любого произведения

долей неавторизованных участников (но меньше любого произведения

долей авторизированных участников).

Для восстановления секрета вычисляются доли:

.

Участникам раздаются доли секрета .

Теперь, используя китайскую теорему об остатках можно восстановить

секрет M имея m и более долей.

Пример. Предположим нам нужно разделить секрет M = 2 между 4-мя

участниками таким образом, чтобы любые 3 из них могли этот секрет

восстановить (а два участника – не могли бы). То есть нужно реализовать

(3,4)-пороговую схему.

В качестве простого числа выберем p = 3, в качестве взаимно простых -

11,13,17,19. Проверяем, что:

,

11 < 13 < 17 < 19,

11 13 17 > 3 17 19.

Выбираем случайное число r = 51 и вычисляем:

.

Вычисляем доли:

;

;

;

.

Доли секрета:

1) ,

2) ,

3) ,

4) .

Теперь попробуем восстановить исходный секрет, имея на руках,

например, три доли секрета

2) ,

3) ,

ii dMk mod'

ii kdp ,,

3,19,17,13,11: pddi ii

2 51 3 155M M rp

111mod1551 k

1213mod1552 k

217mod1553 k

319mod1554 k

3,11,1

3,13,12

3,17,2

3,19,3

3,13,12

3,17,2

Page 150: ОСНОВЫ КРИПТОГРАФИИ:

150

4) .

Составим систему уравнений:

;

;

.

Мы можем восстановить , используя китайскую теорему об остатках.

Находим

M 1 = 17*19 = 323,

M 2 = 13*19 = 247,

M 3 = 13*17 = 221.

Далее ищем обратные:

323 M 1 1(mod 13), M 1

= 6,

247 M 2 1(mod 17), M 2

= 2,

221 M 3 1(mod 19), M 3

= 8.

Откуда

x 0 =323 6 12 + 247 2 + 221 8 3 = 29548.

Получаем ответ:

M = x 29548 (mod 13*17*19) 29548 (mod 4199) 155 (mod 4199).

M

Зная восстанавливаем секрет:

.

Попробуем восстановить секрет по двум долям секрета, например,

2) ,

3) .

Так как меньше произведения долей неавторизованных участников:

155 < 13 17 = 221

это также возможно.

3,19,3

12 mod13M

2 mod17M

3 mod19M

M

M

mod 155mod3 2M M p

3,13,12

3,17,2

M

Page 151: ОСНОВЫ КРИПТОГРАФИИ:

151

Составим систему уравнений:

;

.

Используя китайскую теорему об остатках находим

M 1 = 17, M 2 = 13.

17 M 1 1(mod 13), M 1

= 10,

13 M 2 1(mod 17), M 2

= 4,

откуда

x 0 =17 10 12 + 13 4 2 = 2144.

Получаем ответ:

M = x 2144 (mod 13*17) 2144 (mod 221)

Зная восстанавливаем секрет:

.

Очевидно, что для правильной работы этой схемы должно выполнятся

условие:

M > 1719 = 323.

Для этого выберем r = 150. Получим:

M = M + rp = 2 + 150 * 3 = 452.

Вычисляем доли:

;

;

;

.

Доли секрета:

1) ,

2) ,

3) ,

4) .

12 13M mod

2 mod17M

M

mod 155 mod3 2M M p

1 mod4 2 1 15 1k

2 mod145 102 3k

3 452mod17 10k

4 452mod19 15k

3,11,1

3,13,10

3,17,10

3,19,15

Page 152: ОСНОВЫ КРИПТОГРАФИИ:

152

Попробуем восстановить исходный секрет, имея на руках, например,

три доли секрета

1) ,

2) ,

3) .

Составим систему уравнений:

;

;

.

Используя китайскую теорему об остатках восстановим .

Находим

M 1 = 17*19 = 323,

M 2 = 13*19 = 247,

M 3 = 13*17 = 221.

Далее ищем обратные:

323 M 1 1(mod 13), M 1

= 6,

247 M 2 1(mod 17), M 2

= 2,

221 M 3 1(mod 19), M 3

= 8.

Откуда

x 0 =323 6 10 + 247 2 + 221 8 15 = 50840.

Получаем ответ:

M = x 50840 (mod 13*17*19) 50840 (mod 4199) 452 (mod 4199).

Зная восстанавливаем секрет:

.

Попробуем восстановить секрет по двум долям секрета, например,

2) ,

3) .

Составим систему уравнений:

3,13,10

3,17,10

3,19,15

10 mod13M

10 mod17M

15 mod19M

M

M

mod 452mod3 2M M p

3,13,10

3,17,10

Page 153: ОСНОВЫ КРИПТОГРАФИИ:

153

;

.

Используя китайскую теорему об остатках находим

M 1 = 17, M 2 = 13.

17 M 1 1(mod 13), M 1

= 10,

13 M 2 1(mod 17), M 2

= 4,

откуда

x 0 =17 10 10 + 13 4 10 = 2220.

Получаем ответ:

M = x 2220 (mod 13*17) 2220 (mod 221)

Зная пытаемся восстанавлить секрет:

.

Так как выполняется ограничение M > 1719 = 323 секрет не

восстановлен, что и требовалось показать.

9.2. Криптографические преобразования с открытым ключом

9.2.1 Алгоритм обмена ключами Диффи-Хеллмана

Уитфилд Диффи (Whitfield Diffie) и Мартин Хеллман (Martin Hellman)

разработали протокол обмена секретными ключами с использованием

шифрования с открытым ключом в 1976 г. Идея заключалась в том, чтобы

применять безопасный метод согласования секретного ключа без передачи

ключа каким-либо другим способом [12, 15].

При работе алгоритма Диффи - Хеллмана, каждая сторона (Алиса и

Боб):

1. Генерирует случайное натуральное число a - закрытый ключ

2. Совместно с удалённой стороной устанавливает открытые

параметры p и g (обычно значения p и g генерируются на одной стороне и

передаются другой), где:

p является случайным простым числом;

g является первообразным корнем по модулю p.

3. Вычисляет открытый ключ A, используя преобразование над

закрытым ключом

10 mod13M

10 mod17M

M

mod 10 mod3 1M M p

Page 154: ОСНОВЫ КРИПТОГРАФИИ:

154

.

4. Обменивается открытыми ключами с удалённой стороной;

5. Вычисляет общий секретный ключ K, используя открытый ключ

удаленной стороны B и свой закрытый ключ a

.

К получается равным с обеих сторон, потому что:

.

В практических реализациях, для a и b используются числа порядка

10100

и p порядка 10300

. Число g не обязано быть большим и обычно имеет

значение в пределах первого десятка.

Напомним, первообразный корень по модулю p есть такое число g, что

и ни для какого , т.е. g

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

p – любое число, меньшее , выражается степенью числа g.

Теорема. Пусть – разложение на простые, (g, a) = 1.

В этом случае g – первообразный корень по модулю а тогда и только тогда,

когда g не является решением ни одного из сравнений

, , …, .

Схема формирования и обмена ключами по алгоритму Диффи -

Хеллмана приведена на рисунке 9.1.

Рисунок 9.1 – Схема формирования и обмена ключами по алгоритму Диффи -

Хеллмана

aA g mod p

aK B mod p

a b

a b a bB mod p g mod p mod p g mod p mod p A mod p abg mod p

( ) 1 1modp pg g p 1modlg p 1 ( ) 1l p p

( )p

1 2

1 2( ) ... m

ma p p p

1

( )

1mod

a

pg a

2

( )

1mod

a

pg a

1

( )

1mod

a

pg a

Page 155: ОСНОВЫ КРИПТОГРАФИИ:

155

Пример использования алгоритма Диффи – Хеллмана

Положим, что Ева - криптоаналитик. Она читает пересылку Боба и

Алисы, но не изменяет содержимого их сообщений.

Пусть Алиса и Боб установили общесистемные параметры: p = 23 и g =

5 – первообразный корень по модулю p.

Действительно, и

, .

Предположим, что Алиса сформировала свой секретный (закрытый)

ключ a = 6, а Боб сформировал b = 15.

Алиса формирует открытый ключ

A = ga mod p = 8;

Боб формирует открытый ключ

B = gb mod p = 19.

Алиса и Боб обмениваются открытыми ключами.

Алиса вычисляет секретный ключ

.

.

Секретные ключи Алисы и Боба совпадают.

Сторонний наблюдатель (криптоаналитик Ева) может перехватить A

и/или B. Кроме того, ему известны числа p = 23 и g = 5. Для нахождения

секретного ключа криптоаналитику необходимо решить задачу

дискретного логарифмирования:

по известным А, g, p из формулы A = ga mod p найти а;

и/или

по известным B, g, p из формулы B = gb mod p найти b.

Задача дискретного логарифмирования относится к классу NP

теоретико-сложностных задач, относительно которых на сегодняшний день не

известно эффективных алгоритмов решения (хотя и не доказано их

отсутствие). Таким образом, изученные методы теории чисел могут быть

полезны для построения системы конфиденциальной связи, при которой не

требуется дорогостоящая и громоздкая схема распределения секретных

ключей (например, посредством фельдъегерской связи). Достаточно

реализовать схему обмена ключами по алгоритму Диффи-Хелмана и абоненты

( ) 22 2 11p

1

( ) 22

25 22mod23

a

pg

2

( ) 22

115 2mod23

a

pg

6 mod 19 mod 23 2a

a b abK B mod p g mod p mod p g n

15 mod 8 mod 23 2b

b a abK A mod p g mod p mod p g n

K

Page 156: ОСНОВЫ КРИПТОГРАФИИ:

156

(Алиса и Боб) получат идентичный секретный ключ, неизвестный стороннему

наблюдателю.

9.2.2 Алгоритм RSA

В 1978 г. Рон Ривест, Ади Шамир и Лен Адельман разработали

алгоритм шифрования Rivest-Shamir-Adleman (RSA) с открытым ключом. В

отличие от алгоритма Диффи-Хеллмана RSA может использоваться для

шифрования и расшифрования (дешифрование осуществляет

криптоаналитик), а также для формирования и проверки электронной

цифровой подписи (ЭЦП).

Механизм шифрования реализует услугу конфиденциальности,

механизм ЭЦП предназначен для реализации других услуг безопасности:

целостности, аутентичности, причастности (неотпирательства). Например, для

подтверждения подлинности (аутентичности) финансовых отчетов,

отправляемых в налоговую администрацию, бухгалтер подписывает их ЭЦП,

подтверждая тем самым свою причастность к формированию этого

документа. Если в налоговой администрации ЭЦП пройдет проверку, это

означает, что документ был подписан тем, кто имел на это право и документ

не был модифицирован при передаче. В этом случае, отправитель не сможет

отказаться от причастности к отправлению документа.

В отличие от алгоритма Диффи-Хеллмана, безопасность алгоритма RSA

базируется на факторизации больших чисел. Задачу факторизации больших

чисел принято считать очень сложной, если числа очень велики (1024 бит или

больше) [12, 15].

Генерация общесистемных параметров и ключей RSA

1. Выберите два простых числа и и содержите их в секрете.

2. Вычислите .

3. Вычислите .

4. Выберите такое , чтобы оно было взаимно простым по отношению

к , т.е. .

5. Определите такое , чтобы , .

Результат:

Общесистемные параметры , , , ;

Секретный ключ ;

Открытый ключ .

Схема RSA для направленного шифрования

Для обеспечения конфиденциальности процесс

криптопреобразования (шифрование - расшифрование) имеет вид:

p q

n pq

1 1n p q

e

n , 1n e

d 1mod ( )de n ( )d n

p q n n

,d n

,e n

Page 157: ОСНОВЫ КРИПТОГРАФИИ:

157

шифрование

;

расшифрование

.

Схема RSA для формирования и проверки ЭЦП

Для обеспечения аутентичности процесс криптопреобразования

(формирование ЭЦП) имеет вид:

формирование ЭЦП

.

Отправляется посылка «сообщение + ЭЦП»: .

проверка ЭЦП

;

если подпись подлинная, проверка пройдена;

если подпись подделана, проверка не пройдена.

Примечание. Число n должно содержать порядка 200 знаков или больше. Тогда оба

числа p и q должны иметь длину, по крайней мере, 100 знаков. Ключи для

использования на практике должны иметь длину не менее 1024 бит. В случае с

секретной информацией рекомендуется использовать ключи длиной 2048 бит

и более.

Пример использования схемы RSA

1. Выберем два простых числа и .

2. Теперь вычисляем .

3. Вычисляем .

4. Выбираем число , чтобы оно было взаимно простым по отношению

к , т.е. . Выберем .

5. Необходимо определить такое , чтобы , .

Для этого решим сравнение . Воспользуемся теоремой Эйлера:

. Тогда .

Секретный ключ: .

Открытый ключ: .

Предположим, что нужно зашифровать сообщение . С помощью

формулы шифрования получаем следующее:

.

eС М mod n

dM C mod n

dС М mod n

M C

' eM C mod n

'M M

'M M

11p 13q

11 13 143n pq

1 11 0 12 120n p q

e

n , 1n e 7e

d 1mod ( )de n ( )d n

1mo 207 d1d (120) 24 1mo7 127 d 0 (120) 1 237 7 103mod120d

103, 120d n

7, 120e n

9M

7 mod 9 mod143 48eС М n

Page 158: ОСНОВЫ КРИПТОГРАФИИ:

158

При получении зашифрованной информации она подвергается

обработке алгоритмом расшифрования:

.

При формировании и проверке ЭЦП преобразования меняются местами.

9.2.3 Алгоритм Эль-Гамаля

Схема Эль-Гамаля (Elgamal) – криптосистема, предложенная Тахером-

Эль-Гамалем в 1984 году. Схема Эль-Гамаля лежит в основе стандартов

электронной цифровой подписи в США и России [12, 15].

Генерация общесистемных параметров и ключей

1. Генерируется случайное простое число p длины n битов.

2. Выбирается произвольное целое число g, являющееся

первообразным корнем по модулю p.

3. Выбирается случайное целое число x такое, что .

4. Вычисляется

.

5. Открытым ключом является тройка (p, g, y), закрытым ключом –

число x.

Схема Эль-Гамаля для направленного шифрования

Шифрование

Сообщение M шифруется следующим образом:

1. Выбирается сессионный ключ - случайное целое число k такое, что

.

2. Вычисляются числа

,

.

3. Пара чисел (a, b) является шифртекстом.

Нетрудно видеть, что длина шифртекста в схеме Эль-Гамаля длиннее

исходного сообщения M вдвое.

Расшифровывание

Зная закрытый ключ x, исходное сообщение можно вычислить из

шифротекста (a, b) по формуле:

.

9 48 mod143 9dM C mod n

1 x p

modxy g p

1 1k p

modka g p

modkb y M p

1( ) modxM b a p

Page 159: ОСНОВЫ КРИПТОГРАФИИ:

159

При этом нетрудно проверить, что

и поэтому

.

Пример направленного шифрования по схеме Эль-Гамаля

Генерация общесистемных параметров и ключей Допустим, что нужно зашифровать сообщение M = 5.

Произведем генерацию ключей.

1. Пусть p = 11.

2. Найдем первообразный корень по модулю p.

Примем g = 2. . Выполним проверку:

, ,

g = 2 не является решением ни одного из сравнений

, , …,

т.е. g = 2 – первообразный корень по модулю p = 11.

3. Выберем x = 8 - случайное целое число x такое, что .

4. Вычислим

.

5. Итак, открытым является тройка (p, g, y) = (11, 2, 3), закрытым

ключом является число x = 8.

Шифрование

1. Выбираем случайное целое число k такое, что . Пусть k =

9.

2. Вычисляем число

3.

.

и число

.

4. Полученная пара (a, b) = (6, 9) является шифротекстом.

1 mo) d( x kxa g p

1

mod x k xk xk xkb a y M g g M g M p

1 1( ) (11) 10 2 5p

1

( ) 10

522 2 32 10mod11

a

pg

2

( ) 10

252 2 4mod11

a

pg

1

( )

1mod

a

pg a

2

( )

1mod

a

pg a

1

( )

1mod

a

pg a

1 x p

8 2 mod11 3modxy g p

1 1k p

9mod 2 mod 11 512 mod11 6ka g p

9 mod 3 5mod11 19683 5mod11 9kb y M p

Page 160: ОСНОВЫ КРИПТОГРАФИИ:

160

Расшифрование

Необходимо получить сообщение M = 5 по известному шифротексту

(a, b) = (6,9) и закрытому ключу x = 8.

Вычисляем M по формуле:

.

Получили исходное сообщение M = 5.

Схема Эль-Гамаля для формирования и проверки ЭЦП

Формирование ЭЦП

Для подписи сообщения М выполняются следующие операции:

1. Выбирается сессионный ключ - случайное целое число k такое, что

. Для формирования цифровой подписи это число должно быть

взаимно простым с , т.е. (основное отличие в выборе числа k

при формировании ЭЦП).

2. Вычисляются числа

,

.

3. Пара чисел (r, s) являются ЭЦП.

Проверка ЭЦП

1. Зная открытый ключ (p, g, y), подпись (r, s) сообщения М проверяется

следующим образом:

2. Проверяется выполнимость условий: 0 < r < p и 0 < s < p – 1. Если

хотя бы одно из них не выполняется, подпись считается неверной.

3. Проверяется равенство:

Очевидно, что

.

4. Если равенство выполняется - подпись подлинная, проверка

пройдена; если равенство не выполняется - подпись подделана, проверка не

пройдена.

Пример формирования и проверки ЭЦП по схеме Эль-Гамаля

Генерация общесистемных параметров и ключей Пусть p = 23, g = 5.

11 8mod 9 6 mod11 5(( ) )xM b a p

1 1k p

1p ( , 1) 1k p

modkr g p1( ) mods M xr k p

mod r s My r g p

/ mod  mod mod

k M xr kr s xr ks xr My r g g p g g p g p

Page 161: ОСНОВЫ КРИПТОГРАФИИ:

161

Секретный ключ x = 7 - случайное целое число x такое, что .

Вычисляем открытый ключ

.

Итак, открытым ключом является тройка

(p, g, y) = (23, 5, 17).

Формирование ЭЦП

Пусть М = 3.

1. Выберем случайное число k такое, что выполняется условие

и . Пусть k = 5.

2. Вычислим числа

,

.

3. Пара чисел (r, s) = (20, 21) являются ЭЦП для сообщения.

Проверка ЭЦП

Проверяем выполнимость условий:

и .

Условие

0 < 20 < 23 и 0 < 21 < 22

выполняется.

Проверяем сравнение

Вычислим левую часть:

Вычислим правую часть:

Так как правая и левая части равны, то это означает что подпись верна.

1 x p

7 mod 5 mod 23 17xy g p

1 1k p ( , 1) 1k p

5mod 5 mod 23 20kr g p

1 1mod 3 – 7 20 5 mod 23 ) 21(s M xr k p

0 r p 0 – 1s p

mod r s My r g p

20 2117  20 23 10r sy r mod

35 23 10Mg mod

Page 162: ОСНОВЫ КРИПТОГРАФИИ:

162

9.3. Алгоритм шифрования с правдоподобным отрицанием

Шифрование с правдоподобным отрицанием или отрицаемое

шифрование (англ. deniable encryption, также двусмысленное шифрование) –

способ криптографического преобразования, в котором зашифровываются

совместно два или более различных сообщения на двух или более различных

ключах. Этот метод обеспечивает возможность правдоподобного отрицания

наличия одного или группы сообщений как таковых.

Основной задачей шифрования с правдоподобным отрицанием является

обеспечение стойкости к т.н. принуждающим атакам. В модели таких атак

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

отправителя, получателя или хранителя зашифрованной информации и

принуждает выдать ключ для расшифрования. Стойкость к атакам с

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

передаваемых сообщений не является секретным и атакующему

предоставляется ключ, по которому расшифрование криптограммы ведет к

раскрытию этого сообщения. При этом процедура расшифрования

выполняется таким образом, что у атакующего нет обоснованных доводов

полагать, что с криптограммой были связаны ещё какие-то другие сообщения.

Двусмысленное шифрование разрешает прочитать зашифрованное сообщение

несколькими осмысленными способами в зависимости от использованного

ключа. Иными словами, оно дает пользователю шанс скрыть секретное

сообщение, даже если его вынудили раскрыть один из ключей.

Существенным требованием к алгоритмам отрицаемого шифрования

является обеспечение равновероятностного влияния битов криптограммы на

биты расшифрованного текста, которое состоит в том, что изменение любого

бита криптограммы должно приводить к инвертированию любого бита

расшифрованного текста с вероятностью, достаточно близкой к 0.5.

Возможный сценарий (из Википедии) выглядит так:

1. Алиса – жена Боба, подозревающего ее в измене. Она хочет передать

сообщение своему тайному возлюбленному Карлу. Она конструирует 2

ключа: один для того, чтобы хранить в секрете, и второй, которым можно

пожертвовать в критической ситуации. Затем она передаёт настоящий ключ (а

может быть и оба) Карлу.

2. Вслед за этим она пишет Карлу безвредное сообщение M1 про

особенности жизнедеятельности улиток – это сообщение можно показать

Бобу в случае, если он обнаружит их переписку, а также письмо M2 Карлу,

полное горячих чувств. После этого она комбинирует эти два сообщения и

посылает получившийся шифртекст С Карлу.

3. Карл, используя данные ему ключи, расшифровывает исходное

сообщение M2 и, при желании, M1.

4. Боб обнаруживает сообщение, посланное Алисой Карлу. В порыве

ревности он заставляет Алису расшифровать письмо.

Page 163: ОСНОВЫ КРИПТОГРАФИИ:

163

5. Алиса восстанавливает открытый текст M1, используя жертвенный

ключ. Таким образом в руки Боба попадает скучный текст об улитках, и, так

как наличие ещё одного ключа держится в тайне, он полагает, что никакого

подозрительного смысла сообщение не несло.

Также Алиса может послать одну криптограмму и Бобу, и Карлу. При

этом Боб, расшифровав сообщение при помощи своего ключа, узнает, что

Карл хочет написать на него донос. Карлу же письмо поведает, что Боб

пытается украсть его деньги. Попытки Алисы поссорить их не будут

раскрыты, пока Боб и Карл не узнают о том, что у них разные ключи.

Алгоритм 1.

Выполнение отрицаемого шифрования осуществляется с

использованием секретного ключа в виде набора подключей и

двух простых чисел . Шифрование блоков и двух

сообщений осуществляют путём вычисления значений

,

.

и формирование блока криптограммы , который является решением

системы сравнений:

В соответствии с китайской теоремой об остатках решение вычисляется

по следующей формуле:

.

Пусть для раскрытия при вынуждающей атаке предназначено

сообщение . Тогда атакующему представляются в качестве ключа

шифрования тройка значений . Расшифровывание предназначенного

для раскрытия сообщения выполняется по формуле

,

где операции и выполняются по модулям и , соответственно

(т.е. должно выполняться условие ).

Расшифровывание секретного сообщения выполняется по той же

формуле, но с использованием другого ключа:

1 2 3 4, , ,K K K K

1 2,p p 1 1M p 2 2M p

1

1 1 2 1modKС M K p

3

2 2 4 2modK

С M K p

С

1

3

1 2 1

2 4 2

mod ,

mod .

K

K

С M K p

С M K p

31 1 1

1 2 2 2 1 2 4 1 1 2 1 2( mod ) ( mod ) modKKС M K p p p M K p p p p p

1 1M p

1 2 1, ,K K p

111

2 1( ) modKM СK p

1

1 1 2 1modKС M K p

1

2K 1

1K

1p 1 1p

1 1( , 1) 1K p

Page 164: ОСНОВЫ КРИПТОГРАФИИ:

164

,

где операции и выполняются по модулям и , соответственно

(т.е. должно выполняться условие )..

Пример. Пусть , . Пусть также

и . Тогда:

,

.

Используя китайскую теорему об остатках, имеем:

Предположим, что атакующий вынудил отправителя передать ему

секретный ключ. Отправитель передает ему тройку .

Атакующий расшифровывает предназначенное для раскрытия сообщение:

,

.

.

Для расшифровывания секретного сообщения выполняем следующие

вычисления:

,

.

.

Очевидно, что для расшифрования атакующему достаточно было бы

предоставить только число и найти

,

Однако, не понятно, как тогда объяснить алгоритм шифрования,

использовавшийся отправителем. В данном случае отправитель может указать

и правдоподобный алгоритм шифрования:

121

4 2( ) modKM СK p

1

1 1 2 1modKС M K p

1

4K 1

3K

2p 2 1p

3 2( , 1) 1K p

1 2 3 43, 2, 5, 4K K K K 1 25, 7p p

1 2M 2 3M

1 3

1 1 2 1mod 2 2mod5 1mod5KС M K p

3 5

2 2 4 2mod 3 4mod7 6mod7K

С M K p

31 1 1

1 2 2 2 1 2 4 1 1 2 1 2

3 5

( mod ) ( mod ) mod

2 2 7 3 3 4 5 3 mod(5 7) mod35 6mod35.14916

KKС M K p p p M K p p p p p

1 2 13, 2, 5K K p

1 1

2 1mod 2 mod5 3mod5K p 1 1

1 1mod( 1) 3 mod4 3mod4K p 1

11 3

2 1( ) mod (6 3) mod5 2KM СK p

1 1

4 2mod 4 mod7 2mod7K p 1 1

3 2mod( 1) 5 mod6 5mod6K p 1

31 5

4 2( ) mod (6 2) mod7 3K

M СK p

1 5p

1 1mod 6mod5 1M С p

Page 165: ОСНОВЫ КРИПТОГРАФИИ:

165

для некоторого случайного целого . Тогда криптограмма могла бы быть

получена лишь по тройке :

.

Задания для самостоятельной работы

1. Постройте пороговую (4, 3) схему разделения секрета Асмута - Блума

с параметрами , , , , . Разделите секрет

на 4 доли, . Покажите, что наличие первых двух долей секрета не

позволяет восстановить секрет. Восстановите секрет по первым трем долям

секрета.

2. Зашифруйте с помощью схемы Эль-Гамаля сообщение если

, , . Используйте наименьший первообразный корень (ответ

) по модулю . Расшифруйте сообщение, убедитесь в совпадении

расшифрованного и исходного сообщения.

3. Сформируйте цифровую подпись по схеме Эль-Гамаля для

сообщения , если , , . Используйте наименьший

первообразный корень (ответ ) по модулю . Проверьте

аутентичность сообщения по сформированной подписи.

4. Продемонстрируйте возможности алгоритма шифрования с

правдоподобным отрицанием на основе китайской теоремы об остатках при

следующих исходных данных: , ,

и .

1

1 2 1

KС M K tp

t С

1 2 13, 2, 5K K p

1 3

1 2 1 2 2 ( 3) 5 1KС M K tp

5p 1 11d 2 13d 3 17d 4 19d 5M

100r

2M 17p 4x 5k

3g 17p

2M 17p 4x 7k

3g 17p

1 2 3 45, 3, 7, 2K K K K 1 27, 11p p

1 4M 2 5M

Page 166: ОСНОВЫ КРИПТОГРАФИИ:

166

10. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ ТЕОРИИ ГРУПП

10.1. Определение и основные свойства группы

Известны две операции на множестве Z целых чисел – сложение и

умножение. Обобщим понятие операции на произвольное множество.

Пусть S – некоторое множество, и пусть обозначает множество

упорядоченных пар (s, t), где . Тогда произвольное отображение из

в S мы будем называть (бинарной) операцией на множестве S. В этом

определении мы требуем, чтобы образ каждой пары был

непременно элементом множества S – это так называемое свойство

замкнутости операции.

Под алгебраической системой или алгебраической структурой мы

будем понимать некоторое множество S с одной или несколькими операциями

на нем.

В элементарной арифметике мы имеем дело с двумя операциями –

сложением и умножением, важным свойством которых является

ассоциативность. Среди всевозможных алгебраических систем, имеющим

одну ассоциативную операцию, самыми изученными и развитыми являются

группы. Теория групп – один из старейших разделов абстрактной алгебры,

который к тому же особенно богат приложениями.

Определение 1. Группой (G, ) называется некоторое множество G с

бинарной операцией на нем, для которых выполняются следующие четыре

условия:

1. Замкнутость. Для любых выполняется условие ;

2. Ассоциативность. Для любых выполняется условие

;

3. Существование единичного элемента. В G существует единичный

элемент (или единица) e, такой, что для любого a G

4. Существование обратного элемента. Для каждого a G

существует обратный элемент b = a-1

G, такой, что

Некоторые группы удовлетворяют также дополнительному условию

коммутативности.

5. Коммутативность (дополнительное свойство). Для любых

S S,s S t S

S S( ),s t S S

,a b G *a b G

, ,a b с G

( ) ( )a b c a b c

.a e e a a

1 1 .a a a a e

,a b G

Page 167: ОСНОВЫ КРИПТОГРАФИИ:

167

то она называется абелевой (или коммутативной).

Для простоты мы часто для групповой операции будем использовать

мультипликативное обозначение (как для обычного умножения) и вместо ab

писать ab или просто ab (называя этот элемент произведением элементов a и

b). Но необходимо подчеркнуть, что при этом мы не предполагаем, что

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

групповой операции бывает удобно использовать аддитивную запись и писать

a+b вместо ab (называя этот элемент суммой элементов a и b), 0 вместо e

(называя этот элемент нулем) и – a вместо a-1

. Такие (аддитивные)

обозначения обычно резервируются для абелевых групп.

Группу (G, ) будем также обозначать упрощенно через G.

Определение 2. Группа называется конечной (соответственно

бесконечной), если она состоит из конечного (соответственного

бесконечного) числа элементов. Число элементов конечной группы

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

обозначение .

Пример. Множество чисел с операцией сложения (или

умножения) по модулю 6 является конечной группой, ее порядок равен 6.

Единичный элемент e группы G, а также обратный элемент a-1

(или - a)

для каждого данного элемента a G определяются однозначно.

Для n=0Z полагаем

a0=e=1

в мультипликативных обозначениях и

0a=e =0

в аддитивных (здесь второй нуль является единичным элементом группы G).

Для всех a, b G имеет место равенство

(для групповой операции умножения),

или

(для групповой операции сложения).

Пример. Для группы с операцией сложения по модулю 6

единичный элемент e = 0 и для любого выполняется .

Для группы с операцией умножения по модулю 6

единичный элемент e = 1 и для любого выполняется .

,a b b a

G

{0,1,2,3,4,5}G

1 1 1( )a b b a

( ) ( ) ( )a b b a

{0,1,2,3,4,5}G

a G ( )moda e n a

{0,1,2,3,4,5}G

a G ( )moda e n a

Page 168: ОСНОВЫ КРИПТОГРАФИИ:

168

Закон ассоциативности гарантирует, что выражение вида , где

aiG, 1 ≤ i ≤ n, не содержит никакой двусмысленности, так как независимо от

расстановки скобок это выражение всегда представляет один и тот же элемент

группы G. Пусть aG и nN. Будем применять запись

и называть элемент an n-й степенью элемента a.

Если же для групповой операции применяется аддитивное обозначение +,

то вместо an будем писать

и называть элемент na кратным элемента a.

Используя обычные обозначения, мы получаем следующие правила (см.

таблицу 10.1) для степенного (кратного) выполнения операций.

Таблица 10.1 – Обозначения степени (кратного) для разных групповых

операций

Операция умножения Операция сложения

an

=(a1

)n

ama

n=a

m+n

(am)

n=a

mn

(n) a=n (a)

ma + na=(m + n) a

m (na)=(mn) a

Примеры.

1) Пусть G – множество целых чисел с операцией + (обычным

сложением). Известно, что это ассоциативная операция и что сумма двух

целых чисел – однозначно определенное целое число. Легко убедиться, что G

– группа, в которой единичным элементом является нуль e = 0, а обратным

для целого числа a – противоположное число a. Эту группу обозначают

через Z.

2) Множество, состоящее из единственного элемента e с операцией ,

определенной условием ee=e, образует группу.

3) Пусть G – множество {0,1,2,3,4,5} остатков от деления целых чисел

на 6 и для a, b G пусть ab – остаток от деления на 6 обычной суммы чисел

a и b. Существование единичного элемента и обратных здесь очевидно, но для

установления ассоциативности операции требуются некоторые вычисления.

Полученную группу можно непосредственно обобщить, заменив целое число

6 любым натуральным числом n.

Интересный класс образуют группы, в которых каждый элемент

является степенью некоторого фиксированного элемента группы (при

аддитивной записи говорят о кратном, а не о степени).

1 2 , , na a a

( сомножителей )na aa a n a

( слагаемых )na a a a n a

Page 169: ОСНОВЫ КРИПТОГРАФИИ:

169

Определение 3. Мультипликативная группа G называется циклической,

если в ней имеется такой элемент a, что каждый элемент bG является

степенью элемента a, т.е. существует целое число k, такое, что b=ak. Этот

элемент a называется образующим (первообразным) группы G. Для

циклической группы G применяют обозначение G = a.

Порядком элемента a называют наименьшее натуральное число k,

такое, что ak = e. Очевидно, что a является первообразным элементом тогда и

только тогда, когда его порядок максимален (равен порядку группы).

Если G - конечная группа, то ее порядок называется порядком

элемента a. В противном случае a называется элементом бесконечного

порядка.

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

Заметим также, что циклическая группа может иметь не один образующий.

Например, в аддитивной группе целых чисел Z с операцией сложения

образующими являются как 1, так и 1. Действительно, все целые числа

можно получить прибавляя (или отнимая) 1 или -1.

Рассмотрим классы эквивалентности, на которые отношение

сравнимости по модулю n разбивает множество Z (они называются классами

вычетов по модулю n). Ими являются множества

Мы можем определить на множестве {[0], [1], …, [n-1]} классов вычетов

по модулю n некоторую бинарную операцию (которую мы снова обозначим

знаком +, хотя она, конечно, не является обычным бинарным сложением),

положив

(10.1)

где a и b – произвольные элементы соответствующих классов [a] и [b], а

сумма a+b справа является обычной суммой чисел a и b.

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

операцию, т.е. что наше определение корректно, мы должны проверить, что

класс вычетов [a]+[b] однозначно определяется классами [a] и [b] и не зависит

от выбора их представителей a и b. Ассоциативность операции (10.1) следует

из ассоциативности обычного сложения. Единичным элементом является [0],

а обратным элементом для [a] будет [a]. Итак, множество элементов {[0], [1],

…, [n-1]} образует группу относительно операции +.

[0] , 2 , ,0, ,2 , ,

[1] , 2 1, 1,1, 1,2 1, ,

[ 1] , 1, 1, 1,2 1,3 1, .

n n n n

n n n n

n n n n n

[ ] [ ] [ ],a b a b

Page 170: ОСНОВЫ КРИПТОГРАФИИ:

170

Определение 4. Аддитивная группа, образованная множеством {[0], [1],

…, [n-1]} классов вычетов по модулю n с операцией (10.1), называется

группой классов вычетов по модулю n обозначается Zn.

Группа Zn является циклической группой с образующим элементом [1],

и эта группа имеет порядок n.

Существует удобный способ задания конечной группы – в виде

таблицы. Эта таблица, представляющая групповую операцию (она обычно

называется таблицей групповой операции или таблицей Кэли группы),

строится так: ее строки и столбцы помечаются элементами группы и на

пересечении строки, помеченной элементом a, и столбца, помеченного

элементом b, ставится элемент ab.

Пример абелевой конечной группы – аддитивная группа классов

вычетов Z6, таблица Кэли которой приведена в таблице 10.2.

Таблица 10.2 – Таблица Кэли группы классов вычетов Z6

Очевидно, что для всех абелевых групп таблица симметрична

относительно главной диагонали.

Пример. Рассмотрим множество комплексных корней n-ой степени из

единицы

, .

При умножении корней

и ,

соответствующие углы

и

22 2

cos sink

in

k

k ki e

n n

0,1,..., 1k m

2 ki

nk e

2 s

in

s e

, {0,1,..., 1}k s n

2k

k

n

2s

s

n

Page 171: ОСНОВЫ КРИПТОГРАФИИ:

171

складываются:

,

т.е.

.

В качестве примера в таблице 10.3 приведена таблица Кэли для

комплексных корней 5-й степени из единицы, где:

, , ,

, .

Таблица 10.3 – Таблица Кэли для группы комплексных корней 5-й степени из

единицы с операцией умножения

*

Любая целая степень корня из единицы тоже является корнем из

единицы:

,

т.е. множество корней замкнуто относительно операции умножения.

Нейтральным (единичным) элементом группы является комплексная

единица, т.е. .

Обратный элемент для каждого элемента этой группы совпадает с

сопряжённым ему (на комплексной плоскости сопряженные (комплексно-

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

относительно вещественной оси):

.

2 22 2 2 ( )k sk s k sii i in nn n n

k s e e e e

( )modk s k s n

0 1 1

5 1 5 5

4 8i

2

5 1 5 5

4 8i

3

5 1 5 5

4 8i

4

5 1 5 5

4 8i

0 1 2 3 4

0 0 1 2 3 4

1 1 2 3 4 0

2 2 3 4 0 1

3 3 4 0 1 2

4 4 0 1 2 3

2 2

( )mod( )

sk ks

i is n n

k ks ne e

0e

2

1

( )mod

2 2 2 2( ) cos sin cos sin

ki

nk k n

k k k ke i i

n n n n

Page 172: ОСНОВЫ КРИПТОГРАФИИ:

172

Например, для комплексных корней 5-й степени из единицы имеем:

;

,

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

части комплексного числа (см. рисунок 10.1).

Рисунок 10.1 – Комплексные корни 5-ой степени из единицы

(вершины пятиугольника)

Очевидно, что операцию умножения комплексных корней из единицы

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

10.3), т.е. группа корней n-ой степени из единицы с операцией умножения

изоморфна группе классов вычетов Zn.

В качестве порождающего (первообразного) элемента группы

комплексных корней из единицы можно взять любой элемент , индекс k

которого взаимно прост с n (см. понятие приведенной системы вычетов).

Аналогично, в группе Zn если минимальное положительное число m, такое,

что

совпадает с порядком группы, т.е. , тогда a – есть первообразный

элемент (это эквивалентно условию, когда порядок a максимален и равен

). Это условие выполняется при .

1

1 ( 1)mod5 4( )

1

2 ( 2)mod5 3( )

k

... 1modm раз

a a a am e am n

m n

m n ( , ) 1a n

Page 173: ОСНОВЫ КРИПТОГРАФИИ:

173

Для комплексных корней произведение можно заменить модульным

сложением индексов , т.е. корень будет первообразным,

если условие

не выполняется для всех положительных целых , а выполняется только

для , т.е. когда .

Для группы относительно умножения первообразный элемент будет

определен иначе. Напомним, первообразный корень группы Zn с операцией

модульного умножения есть такое число g, что

и

ни для какого , т.е. g является образующим мультипликативной

группы кольца вычетов по модулю n – любое число, меньшее ,

выражается степенью числа g.

Теорема. Пусть – разложение на простые, (g, n) = 1.

В этом случае g – первообразный корень по модулю n тогда и только тогда,

когда g не является решением ни одного из сравнений

, , …, .

Пример Z5.

Первообразными элементами группы классов вычетов Z5 с операцией

сложения (аддитивной группы) являются все ненулевые элементы, т.к. для

всех положительных целых выполняется условие .

Соответственно в группе комплексных корней 5-й степени с операцией

умножения корней (изоморфной аддитивной группе Z5) все корни, кроме

будут первообразными.

В группе классов вычетов Z5 с операцией умножения

(мультипликативной группы) первообразными элементами будут все

ненулевые и неединичные элементы, кроме 4, т.к.

и

.

( )modk s k s n 0a

mod 0mod... ( ) 0modm

a a a a am n n

m раз

am n

m n

m n ( , ) 1a n

( ) 1modng n

1modlg n

1 ( )l n

( )n

1 2

1 2( ) ... m

mn p p p

1

( )

1mod

n

pg n

2

( )

1mod

a

pg n

1

( )

1mod

n

pg n

5a ( ,5) 1a

0

2(5) 4 2

4/2 24 4 1mod5

Page 174: ОСНОВЫ КРИПТОГРАФИИ:

174

Действительно, возводя поочередно в степень, имеем:

, , , – цикл максимальный (в виде

степеней числа 2 выражаются все элементы мультипликативной группы

классов вычетов Z5), т.е. 2 – первообразный элемент мультипликативной

группы;

, , , – цикл максимальный (в виде

степеней числа 3 выражаются все элементы мультипликативной группы

классов вычетов Z5), т.е. 3 – первообразный элемент;

, – цикл не максимальный (в виде степеней числа

4 не выражаются все элементы мультипликативной группы классов вычетов

Z5), т.е. 4 – не первообразный элемент.

Пример Z7.

Первообразными элементами аддитивной группы классов вычетов Z7

являются все ненулевые элементы, т.к. для всех положительных целых

выполняется условие .

В мультипликативной группе классов вычетов Z7 первообразным

будет только число 5, т.к.:

и

, , , ,

а

и .

В качестве более сложного примера построим конечную неабелеву

группу. Одним из способов построения групп с интересной алгебраической

структурой является исследование преобразований простых геометрических

фигур и алгебраическая интерпретация этих преобразований. Например,

равносторонний треугольник с вершинами , и (занумерованными по

часовой стрелке) можно вращением или отражением относительно оси

отобразить на себя точно шестью различными способами, причем каждое из

этих вращений и отражений имеет обратное преобразование. Используя

некоторые очевидные факты, можно быстро построить алгебраическую

группу. Обозначим эти шесть преобразований символами (см.

таблицу 10.4).

В таблице указаны преобразования треугольника, например,

преобразование означает, что вершина переходит в вершину

вершина переходит в вершину , а вершина С переходит в вершину .

Таким образом, треугольник поворачивается на .

12 2 22 432 3mod5 42 1mod5

13 3 23 4 33 2mod5 43 1mod5

14 3 24 1mod5

7a

( ,7) 1a

(7) 6 2 3

32 1mod7 33 1mod7 34 1mod7 26 1mod7

25 4 1mod7 35 6 1mod7

A B C

, , , , ,e a b c d f

ABC BCA A,B B C A

120o

Page 175: ОСНОВЫ КРИПТОГРАФИИ:

175

Таблица 10.4 – Преобразования равностороннего треугольника

1 (нет изменений – единичный элемент группы),

2 (вращение против часовой стрелки),

3 (вращение по часовой стрелке),

4 (отражение относительно биссектрисы угла ),

5 (отражение относительно биссектрисы угла ),

6 (отражение относительно биссектрисы угла ),

Пусть группа определяется множеством

и результат групповой операции также является элементом группы, т.е.

групповая операция означает преобразование, которое получается

последовательным выполнением сначала преобразования , а затем

преобразования . Например,

.

Построим таблицу Кэли для операции (см. таблицу 10.5).

Таблица 10.5 – Таблица Кэли для группы вращений и симметрических

преобразований равностороннего треугольника

* e A b c d f

e e A b c d f

a a B e d f c

b b E a f c d

c c F d e b a

d d c f a e b

f f d c b a e

Поскольку таблица построена, можно забыть о ее геометрическом

происхождении. Таблица сама определяет группу. Подчеркнем, что это

пример неабелевой группы (нет симметрии относительно главной диагонали),

так как, например, . Заметим также, что каждый элемент

появляется один раз в каждом столбце и в каждой строке (это условие

существование обратного элемента к каждому элементу группы) и для

конечных групп это условие выполняется всегда.

Рассмотренный пример – простейший случай симметрической группы,

т.е. группы перестановок степени .

( )e ABC ABC

( )a ABC CAB

( )b ABC BCA

( )c ABC ACB A

( )d ABC CBA B

( )f ABC BAC C

( ,*)G

{ , , , , , }G e a b c d f

*y x

*y x

x

y

* ( )*( ) ( )a d ABC CAB ABC CBA ABC BAC f

*x y

* *a c c a

n

Page 176: ОСНОВЫ КРИПТОГРАФИИ:

176

10.2. Симметрическая группа

Пусть представляет собой множество . Взаимно-

однозначное отображение этого множества на самого себя называется

перестановкой. Всего имеется таких перестановок, и можно определить

группу, называемую симметрической группой и обозначаемую через ,

элементами которой являются перестановки20

на множестве .

В качестве групповой операции * в используется композиция

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

треугольником).

Нейтральным (единичным) элементом в является тождественная

перестановка, которая преобразует множество в самое себя.

Каждую перестановку из удобно представить в виде подстановки21

:

,

где - подстановка элемента элементом в результате

перестановки множества , .

Например, на выбранных целых числах рассмотрим

перестановку, записанную в виде подстановки

.

Эта перестановка заменяет 0 на 1, 1 на 2, 2 на 0 и 3 на 2 (здесь важно

понимать, что элементы не просто заменяются, они меняются местами, т.е.

переставляются).

Рассмотрим еще одну подстановку, например,

.

Тогда композиция (последовательное выполнение) перестановок будет

соответствовать третьей подстановке:

20

Сначала может несколько смущать то обстоятельство, что элементами группы являются операторы –

операторы перестановок на множестве . На самом деле в примере преобразований равностороннего

треугольника речь также идет именно о группе перестановок 21

Термины «перестановка» и «подстановка» часто используются как синонимы. В данном случае

подстановкой называют наглядный способ записи перестановки.

X 1 2{ , ,..., }nx x x

!n

nS

X

nS

e nS

1 2{ , ,..., }nx x x

nS

1 2

1 2

...

...

n

n

x x xs

y y y

( )i iy s x ix iy

1 2{ , ,..., }nX x x x iy X

{0,1,2,3}X

1

0 1 2 3

1 3 0 2s

2

0 1 2 3

3 1 0 2s

X

Page 177: ОСНОВЫ КРИПТОГРАФИИ:

177

.

С таким определением групповой операции группа перестановок ,

для является не абелевой группой, содержащей элементов.

По определению симметрической группы , каждой

подстановке соответствует единственная подстановка , такая,

что

, ,

где - единичная подстановка, то есть для всех .

Воспользуемся обозначениями:

,

,

где произведения содержат множителей.

Соответственно имеем:

.

Множество подстановок степени n, которое является замкнутым

относительно операции умножения и вычисления обратного для

элемента , называется группой подстановок. Каждая такая группа

является подгруппой симметрической группы .

По определению, порядок элемента группы a равен наименьшему

натуральному числу k, такому, что ak = e. Соответственно, для группы

подстановок порядком подстановки является такое наименьшее натуральное

k, для которого .

Пример. Пусть . Рассмотрим произвольную подстановку из трех

элементов, например,

.

Найдем порядок этой подстановки:

,

3 1 2

0 1 2 3

2 3 1 0s s s

nS

2n !n

1 2 !{ , ,..., }n nS s s s

ns S 1

ns S

1 1( ) ( ) ( )s s y s s y e y y Y

( ) ne y S ( )e y y y Y

... ks s s s 1 1 1... ks s s s

k

0k k k ks s s s s e

ns S1

ns S

nS

0ks s e

3n

a b cs

c a b

2a b c

sb c a

Page 178: ОСНОВЫ КРИПТОГРАФИИ:

178

,

т.е. реализует тождественное преобразование и порядок подстановки

равен 3.

В данном примере подстановка порождает цикл длины 3, т.е. имеем

циклическую подгруппу симметрической группы .

10.3. Подгруппы и смежные классы. Теоремы Кэли и Лагранжа в

теории групп, теорема о гомоморфизме групп

Каждая группа содержит некоторые подмножества, которые сами

образуют группу при той же групповой операции. Например, таким свойством

обладает подмножество {[0], [2], [4]} аддитивной группы Z6.

Определение 5. Подмножество H группы G называется подгруппой

этой группы, если H само образует группу относительно операции группы G.

Подгруппы группы G, отличные от тривиальных подгрупп {e} и G,

называется ее собственными подгруппами.

Легко проверяется, что множество всех степеней произвольного

элемента a группы G образует подгруппу этой группы.

Определение 6. Подгруппы группы G, состоящая из всех степеней

элемента a этой группы, называется подгруппой (циклом), порожденной

элементом a, и обозначается символом a. Эта подгруппа, очевидно,

циклическая. Если a - конечная подгруппа, то ее порядок называется

порядком элемента a. В противном случае a называется элементом

бесконечного порядка.

Нетрудно показать, что любое целое число m, обладающее тем

свойством, что am = e, делится на k. Если S – некоторое непустое

подмножество группы G, то подгруппа H группы G, состоящая из всех

конечных произведений степеней элементов из S, называется подгруппой,

порожденной множеством S, и обозначается символом S, а S называется

множеством образующих подгруппы H.

Для аддитивной группы Z целых чисел понятие сравнимости по модулю

n (где n – натуральное число) тесно связано с подгруппой n, порожденной

элементом n, так как

Таким образом, подгруппа n определяет отношение эквивалентности

на множестве Z. Эту ситуацию можно обобщить следующим образом.

Теорема 1. Если H – подгруппа группы G, то отношение RH на G,

определяемое условием

3 0a b c

s s ea b c

3s e s

s2{ , , }s G s s e 3S

(mod ) .a b n a b n

Page 179: ОСНОВЫ КРИПТОГРАФИИ:

179

является отношением эквивалентности.

Доказательство тривиально.

Соответствующие отношению RH классы эквивалентности называются

левыми смежными классами группы G по подгруппе H и обозначаются

, если G – мультипликативная группа,

или

a + H={a + h | hH}, если G – аддитивная группа,

где a – фиксированный элемент группы G.

Аналогично определяется разбиение группы G на правые смежные

классы по подгруппе H, которые имеют вид H a ={ha | hH}.

Если G – абелева группа, то ее левые смежные классы по подгруппе H

совпадают с правыми.

Пример. Пусть G = Z12 – аддитивная группа классов вычетов и пусть H

– подгруппа, порожденная элементом [3], т.е.

H = a = {[0], [3], [6], [9]}.

Тогда различными (левыми) смежными классами G по H являются

Группа Z12 коммутативна, т.е. левые и правые классы совпадают:

Пример. Рассмотрим симметрическую группу (см. пример

группы вращений и симметрических преобразований равностороннего

треугольника) с преобразованиями (перестановками) и

таблицей Кэли, приведенной в таблице 10.2. Найдем ее циклические

подгруппы:

– циклическая подгруппа порядка 3;

– циклическая подгруппа порядка 3;

– циклическая подгруппа порядка 2;

– циклическая подгруппа порядка 2;

( , ) ,Ha b R a bh для некоторого h H

aH ah h H

[0] {[0],[3],[6],[9]},

[1] {[1],[4],[7],[10]},

[2] {[2],[5],[8],[11]}.

H

H

H

[0] {[0],[3],[6],[9]} [0],

[1] {[1],[4],[7],[10]} [1],

[2] {[2],[5],[8],[11]} [2].

H H

H H

H H

3G S

{ , , , , , }G e a b c d f

1{ , * , * }a a a a b a b e G

1{ , * , * }b b b b a b a e G

2{ , * }c c c c e G

3{ , * }d d d d e G

Page 180: ОСНОВЫ КРИПТОГРАФИИ:

180

– циклическая подгруппа порядка 2.

Симметрическая группа не коммутативна, т.е. левые и правые смежные

классы могут не совпадать. Найдем смежные классы по подгруппе

:

левыми смежными классами по являются:

;

;

правыми смежными классами по являются:

;

.

Теорема Кэли. Любая конечная группа изоморфна некоторой

подгруппе группы перестановок множества элементов группы

. При этом каждый элемент сопоставляется с

перестановкой , задаваемой тождеством , где g – произвольный

элемент группы G.

Пример. Пронумеруем вершины треугольника (см. пример группы

вращений и симметрических преобразований равностороннего треугольника),

например, следующим образом:

.

Тогда преобразования треугольника можем заменить перестановками:

,

,

,

,

,

4{ , * }f f f f e G

1 { , , }G a b e

3G S 1 { , , }G a b e

1* { , , }e G a b e

1* { , , }с G f d c

3G S 1 { , , }G a b e

1 * { , , }G e a b e

1 * { , , }G c d f c

( ,*)G

nS

1 2 1{ , , ,..., }nG e a a a a G

a ( ) *a g a g

" " "0"," " "1"," " "2"A B C

0 1 2( )

0 1 2e ABC ABC

0 1 2( )

2 0 1a ABC CAB

0 1 2( )

1 2 0b ABC BCA

0 1 2( )

0 2 1c ABC ACB

0 1 2( )

2 1 0d ABC CBA

Page 181: ОСНОВЫ КРИПТОГРАФИИ:

181

.

По теореме Кэли аддитивная группа классов вычетов

изоморфна некоторой подгруппе группы перестановок множества

элементов . Найдем отображение используя общее правило

из теоремы Кэли. Операция в соответствует сложению

элементов по модулю 3, т.е. получим:

– число 0 прибавляем ко всем элементам группы ;

– число 1 прибавляем ко всем элементам группы ;

– число 2 прибавляем ко всем элементам группы .

Таким образом, аддитивная группа классов вычетов

изоморфна циклической подгруппе симметрической группы из

предыдущего примера.

Теорема 2. Если H – конечная подгруппа группы G, то каждый (левый

или правый) смежный класс группы G по подгруппе H содержит столько же

элементов, сколько и H.

Определение 7. Если подгруппа H группы G такова, что множество

смежных классов G по H конечно, тогда число этих смежных классов

называется индексом подгруппы H в группе G и обозначается через .

Так как левые смежные классы группы G по подгруппе H образуют

разбиение этой группы, то из теоремы 2 вытекает следующий важный

результат.

Теорема 3 (теорема Лагранжа в теории групп). Порядок конечной

группы G равен произведению порядка любой её подгруппы H на индекс

этой подгруппы в G. В частности, порядок любой подгруппы H

0 1 2( )

1 0 2f ABC BAC

3 {0,1,2}Z

3G S

{0,1,2} 3 3: Z S

( ) *a g a g * 3Z

0 1 2(0)

0 1 2e

3 {0,1,2}Z

0 1 2(1)

1 2 0b

3 {0,1,2}Z

0 1 2(2)

2 0 1a

3 {0,1,2}Z

3 {0,1,2}Z

1 { , , }G e b a 3S

( ):G H

( ):G H

Page 182: ОСНОВЫ КРИПТОГРАФИИ:

182

группы G и ее индекс в G делят порядок группы G, и порядок любого

элемента a G делит порядок группы G.

Пример. Пусть G=Z6. Найдем все циклические подгруппы,

порожденные элементами группы:

1 = {[1], [2], [3], [4], [5], [0]} – совпадает с группой G, порядок

элемента [1] равен 6;

2 = {[2], [4], [0]} – обозначим эту подгруппу символом H1, порядок

элемента [2] (как и порядок подгруппы H1) равен 3;

3 = {[3], [0]} – обозначим эту подгруппу символом H2, порядок

элемента [3] (как и порядок подгруппы H2) равен 2;

4 = {[4], [2], [0]} – совпадает с группой H1, порядок элемента [4] равен

3;

5 = {[5], [4], [3], [2], [1], [0]} – совпадает с группой G, порядок

элемента [5] равен 6.

Найдем разложения на классы смежности (левые и правые классы

совпадают) группы G по подгруппам H1 и H2.

По подгруппе H1 имеем следующие смежные классы:

[0] + {[0], [2], [4]} = {[0], [2], [4]};

[1] + {[0], [2], [4]} = {[1], [3], [5]}

т.е. индекс подгруппы H1 в группе G равен (G : H1) = 2.

По подгруппе H2 имеем следующие смежные классы:

[0] + {[0], [3]} = {[0], [3]};

[1] + {[0], [3]} = {[1], [4]};

[2] + {[0], [3]} = {[2], [5]},

т.е. индекс подгруппы H1 в группе G равен (G : H2) = 3.

Очевидно, что порядок группы G равен произведению порядка любой её

подгруппы на индекс этой подгруппы в G:

;

.

Пример. Рассмотрим симметрическую группу с

преобразованиями (перестановками) и таблицей Кэли,

приведенной в таблице 2. Циклические подгруппы (см. пример выше):

– циклическая подгруппа порядка 3;

– циклическая подгруппа порядка 2;

– циклическая подгруппа порядка 2;

1 1( : ) 3 2 6G H G H

2 2( : ) 2 3 6G H G H

3G S

{ , , , , , }G e a b c d f

1{ , , }a b e G

2{ , }c e G

3{ , }d e G

Page 183: ОСНОВЫ КРИПТОГРАФИИ:

183

– циклическая подгруппа порядка 2.

Левыми смежными классами по являются:

;

.

Правыми смежными классами по являются:

;

.

Следовательно, индекс подгруппы в группе равен и

.

Аналогичными рассуждениями получим, что и

.

Следствия (теоремы Лагранжа в теории групп).

1. Порядок любой подгруппы конечной группы G делит порядок G.

2. Из того, что порядок элемента группы равен порядку циклической

подгруппы, образованной этим элементом, следует, что порядок любого

элемента конечной группы G (равный порядку циклической подгруппы) делит

порядок G. Это следствие обобщает теорему Эйлера и малую теорему Ферма в

теории чисел.

3. Группа порядка p, где p – простое число, циклична (порядок элемента,

отличного от единицы, не может быть равен 1, все элементы, кроме единицы,

имеют порядок p, и, следовательно, каждый из них порождает группу).

Подгруппы и порядки элементов для циклических групп описываются

несложно. Относящиеся к этому факты обобщаются в следующей теореме.

Теорема 4.

(I) Каждая подгруппа циклической группы также является

циклической.

(II) В конечной циклической группе a порядка m элемент ak

порождает подгруппу порядка .

Пример. Рассмотрим аддитивную группу G=Z6. Циклическая подгруппа

5 = {[5], [4], [3], [2], [1], [0]} совпадает с группой G, порядок элемента [5]

равен m = 6. Следовательно, элемент [5]2 = [4] порождает подгруппу порядка

4{ , }f e G

3G S 1 { , , }G a b e

1* { , , }e G a b e

1* { , , }с G f d c

3G S 1 { , , }G a b e

1 * { , , }G e a b e

1 * { , , }G c d f c

1G G 1( : ) 2G G

1 1( : ) 3 2 6G G G G

( : ) 3, 2,3,4iG G i

( : ) 2 3 6, 2,3,4i iG G G G i

( , )

m

k m

Page 184: ОСНОВЫ КРИПТОГРАФИИ:

184

.

Примечание: [5]2 – соответствует сложению элемента [5] с самим собою

(использована запись из мультипликативной формы, хотя группа аддитивная).

Действительно,

4 = {[4], [2], [0]},

т.е. порядок элемента [4] и порядок подгруппы 4 равен 3. Подгруппа 4

циклической подгруппы 5 также циклична.

(III) Если d – положительный делитель порядка m конечной

циклической группы a, то a содержит единственную подгруппу индекса d.

Для любого положительного делителя l числа m группа a содержит в

точности одну подгруппу порядка l.

Пример. Аддитивная группа G=Z15 содержит две подгруппы

{[3], [6], [9], [12], [0]}

и

{[5], [10], [0]}

порядка 5 и 3, соответственно (15 = 35).

(IV) Пусть l – положительный делитель порядка конечной циклической

группы a. Тогда a содержит элементов порядка l.

Пример. Аддитивная группа G=Z15 содержит две подгруппы

{[3], [6], [9], [12], [0]}

и

{[5], [10], [0]}.

При этом в подгруппе

{[3], [6], [9], [12], [0]}

имеется элемента [3], [6], [9], [12] порядка 5, а в подгруппе

{[5], [10], [0]}

имеется элемента [5], [10] порядка 5.

(V) Конечная циклическая группа a порядка m содержит

образующих (т.е. таких элементов ar, что a

r=a). Образующими являются те

и только те степени ar элемента a, для которых (r, m) = 1.

Пример. Аддитивная группа G=Z63 содержит подгруппу девятого

порядка:

6 63

( , ) (2,6) 2

m

k m

( )l

(5) 4

(3) 2

( )m

Page 185: ОСНОВЫ КРИПТОГРАФИИ:

185

{[7], [7]2=[14], [7]

3=[21], [7]

4=[28], [7]

5=[35],

[7]6=[42], [7]

7=[49], [7]

8=[56], [7]

9=[0]}.

Эта подгруппа содержит образующих:

[7], [7]2=[14], [7]

4=[28], [7]

5=[35], [7]

7=[49], [7]

8=[56],

для которых 7r=7.

Доказательство (всех пунктов теоремы).

(I) Пусть H – подгруппа циклической группы a, такая, что H {e}.

Если anH, то a

nH; поэтому H содержит по крайней мере одну степень

элемента a с положительным показателем. Пусть d – наименьший

положительный показатель, для которого adH, и пусть a

sH. Деление s на d

дает s = qd + r, 0≤ r <d, q, r Z. Таким образом, as(a

d)

q = a

rH, что

противоречит минимальности d, если r0. Поэтому показатели всех степеней

элемента a, принадлежащих H, кратны d, так что H = ad.

(II) Положим d=(k,m). Порядок группы ak – наименьшее натуральное

число n, такое, что akn

= e. Последнее равенство справедливо тогда и только

тогда, когда m/d делит n. Наименьшее натуральное число n с таким свойством

есть m/d.

(III) Если d задано, то ad является подгруппой порядка m/d группы a

и потому имеет индекс d в a ввиду (II). Если ak – другая подгруппа индекса

d группы a, то ее порядок равен m/d так что d=(k,m) в силу (II). В частности,

d делит k, так что akad и ak является подгруппой группы ad. Но так как

обе группы одного порядка, то они совпадают. Вторая часть вытекает из того

факта, что подгруппами порядка l являются те и только те подгруппы,

индексы которых равны m/l.

(IV) Пусть |a|=m и m = dl. В силу (II) элемент ak имеет порядок l в том

и только том случае, если (k,m)=d. Поэтому число элементов порядка l равно

количеству целых чисел k, 1≤ k ≤ m, для которых (k,m)=d. Значит, k=dh, где 1≤

h ≤ l, и тогда условие (k,m)=d эквивалентно условию (h,l)=1. Количество

таких чисел h равно .

(V) Образующими группы a являются те и только те элементы,

порядки которых равны m, так что первая часть следует из (IV). Вторая же

часть вытекает из (II).

При сравнении структуры двух групп весьма важную роль играют такие

отображения одной группы в другую, которые сохраняют их операции.

Определение 8. Отображение f: G→H группы G в группу H называется

гомоморфизмом группы G в H, если оно сохраняет операцию группы G. Это

значит, что если и – операции в группах G и H соответственно, то для всех

a, b G имеет место равенство f(ab) = f(a) f(b). Если, кроме того, f –

отображение на H, то оно называется эпиморфизмом (или гомоморфизмом

(9) 6

( )l

Page 186: ОСНОВЫ КРИПТОГРАФИИ:

186

«на»), и в этом случае H называется гомоморфным образом группы G.

Гомоморфизм группы G в G называется эндоморфизмом этой группы. Если f –

взаимно однозначный гомоморфизм группы G на группу H, то он называется

изоморфизмом, и в таком случае говорят, что группы G и H изоморфны.

Изоморфизм группы G на G называется автоморфизмом этой группы.

Краткое определение.

Отображение называется гомоморфизмом, если .

Инъективный22

гомоморфизм называется мономорфизмом.

Сюръективный23

гомоморфизм называется эпиморфизмом.

Биективный24

гомоморфизм называется изоморфизмом.

Изоморфизм группы на себя называется автоморфизмом.

В качестве примера рассмотрим отображение f аддитивной группы Z

целых чисел на группу Zn классов вычетов по модулю n, определяемое

условием f(a)=[a]. Тогда

так что f – гомоморфизм (точнее, эпиморфизм).

Если f: G→H – гомоморфизм и e – единичный элемент группы G, то из

ee=e следует f(e)f(e)= f(e), так что f(e)=e – единичный элемент группы H. Из

равенства aa1

= e получаем f(a1

)=(f(a))1

для всех aG.

Автоморфизмы группы G представляют особый интерес, в частности,

потому, что они сами образуют группу относительно обычной композиции

отображений. Важными примерами автоморфизмов группы G являются ее

внутренние автоморфизмы. Внутренний автоморфизм fa определяется для

фиксированного элемента a группы G условием fa(b) = aba1

для всех bG.

Очевидно, что fa – автоморфизм группы G, и все внутренние автоморфизмы

группы G получаются, когда a пробегает все элементы группы G. Элементы b

и aba1

называются сопряженными, и если S – непустое подмножество в G, то

множество aSa1

={asa1

| sS} называется сопряженным с S. Таким образом,

сопряженными с S множествами в группе G оказываются образы множества S

при всевозможных внутренних автоморфизмах группы G и только они.

Определение 9. Ядром гомоморфизма f: G→H группы G в группу H

называется множество

22

Инъекция, инъективное отображение – отображение множества X в множество Y, при котором разные

элементы множества X переводятся в разные элементы множества Y, то есть, если два образа при

отображении совпадают, то совпадают и прообразы. 23

Сюръе кция (от фр. sur «на, над» + лат. jactio «бросаю»), сюръективное отображение – отображение

множества X на множество Y, при котором каждый элемент множества Y является образом хотя бы одного

элемента множества X. 24

Биекция – это отображение, которое является одновременно и сюръективным, и инъективным. При

биективном отображении каждому элементу одного множества соответствует ровно один элемент другого

множества, при этом определено обратное отображение, которое обладает тем же свойством. Поэтому

биективное отображение называют еще взаимно однозначным отображением (соответствием), одно-

однозначным отображением.

f ( ) ( ) ( )f xy f x f y

( ) [ ] [ ] [ ] ( ) ( ) для , ,f a b a b a b f a f b a b Z

Page 187: ОСНОВЫ КРИПТОГРАФИИ:

187

где e – единичный элемент группы H.

Таким образом, ядро гомоморфизма определяется как множество

прообразов единичного элемента («прообразов нуля» для аддитивной

группы).

Пример. Для гомоморфизма f: Z→Zn , определенного условием f(a) =

[a], ядро Ker f состоит из всех aZ, для которых [a]=[0]. Так как это условие

выполняется для тех и только тех чисел a, которые делятся на n, то получаем,

что Ker f = n – подгруппа группы Z, порожденная числом n.

Легко проверить, что ядро Ker f гомоморфизма f: G→H всегда является

подгруппой группы G. Более того, эта подгруппа Ker f обладает важным

дополнительным свойством: для любых aG и bH Ker f имеет место быть

включение aba1Ker f. Это приводит нас к следующему важному понятию.

Определение 10. Подгруппа H группы G называется нормальной

подгруппой (или нормальным делителем) этой группы, если ghg1H для всех

gG и hH.

Ясно, что каждая подгруппа абелевой группы нормальна, поскольку в

этом случае ghg1

=gg1

h=eh=h. Дадим два критерия нормальности подгруппы.

Теорема 5.

(I) Подгруппа H группы G нормально тогда и только тогда, когда

она совпадает со всеми своими сопряженными подгруппами, т.е. тогда и

только тогда, когда подгруппа H инвариантна относительно всех

внутренних автоморфизмов группы G.

(II) Подгруппа H группы G нормальна тогда и только тогда, когда

для любого элемента aG левый смежный класс aH совпадает с правым

смежным классом Ha.

Важным свойством нормальной подгруппы является тот факт, что

множество (левых) смежных классов по ней можно наделить групповой

структурой.

Теорема 6. Если H – нормальная подгруппа группы G, то множество

(левых) смежных классов группы G по подгруппе H образует группу

относительно операции

Определение 11. Пусть H – нормальная подгруппа группы G. Тогда

группа, образованная (левыми) смежными классами группы G по подгруппе H

с операцией, введенной в теореме 6, называется факторгруппой группы G по

подгруппе H и обозначается через G/H.

Ker ( ) ,f a G f a e

( )( ) ( ) .aH bH ab H

Page 188: ОСНОВЫ КРИПТОГРАФИИ:

188

Если факторгруппа G/H конечна, тогда ее порядок совпадает с индексом

(G:H) подгруппы H в G. Таким образом, из теоремы 3 получаем, что для

конечной группы G

Каждая нормальная подгруппа группы G естественным образом

определяет некоторый гомоморфизм этой группы, причем верно и обратное

утверждение.

Теорема 7 (о гомоморфизме групп). Пусть f: G→G1 = f(G) –

гомоморфизм группы G на группу G1. Тогда ядро Ker f является нормальной

подгруппой группы G, причем группа G1 изоморфна факторгруппе G/Ker f.

Обратно, если H – нормальная подгруппа группы G, то отображение :

G→G/H, определяемое условием (a)=aH для любого aG, является

гомоморфизмом группы G на G/H, причем Ker=H.

Гомоморфный образ группы

В честь победы коммунизма

Изоморфен факторгруппе

По ядру гомоморфизма.

Пример. Для гомоморфизма f: Z→Z5, определенного условием f(a) = [a]

по модулю 5, ядро Ker f состоит из всех целых чисел aZ, кратных 5:

.

Группа Z5 изоморфна факторгруппе (обозначается

). Действительно, имеем следующие элементы факторгруппы :

,

,

,

,

.

Групповую операцию над произвольными элементами и

факторгруппы можно записать как

.

Эта операция эквивалентна сложению соответствующих элементов

группы классов вычетов :

.

| / | ( : ) | | / | | .G H G H G H

Ker [5] , 10, 5,0,5,10,f

Z/Ker f 5Z Z/Ker f

Z/Ker f

0 Ker [0]f

1 Ker [1]f

2 Ker [2]f

3 Ker [3]f

4 Ker [4]f

Kera f

Kerb f Z/Ker f

( Ker ) ( Ker ) ( ) Kera f b f a b f

5Z

[ ] [ ] [ ]a b a b

Page 189: ОСНОВЫ КРИПТОГРАФИИ:

189

Выведем теперь для конечной группы одно важное соотношение для

мощностей классов сопряженных элементов.

Определение 12. Пусть S – непустое подмножество группы G. Его

нормализатором в группе G называется множество

Если S={b}, то N({b}) будем называть нормализатором элемента b в G и

обозначать N(b).

Теорема 8. Для любого непустого подмножества S группы G

нормализатором N(S) является подгруппа группы G, причем имеет место

взаимно однозначное соответствие между левыми смежными классами

группы G по подгруппе N(S) и различными множествами aSa1

,

сопряженными с S.

Доказательство. Очевидно, что eN(S), и если a, b N(S), то a1

и ab

тоже принадлежат N(S), так что N(S) – подгруппа группы G. Далее,

Таким образом, сопряженные с S множества aSa1

и bSb1

совпадают

тогда и только тогда, когда элементы a и b принадлежат одному и тому же

левому смежному классу группы G по подгруппе N(S). Отсюда следует вторая

часть теоремы.

Если собрать все элементы группы G, сопряженные с фиксированным

элементом a, то получим множество, называемое классом сопряженных с a

элементов группы G или классом сопряженности группы G, содержащим

элемент a. Для некоторых элементов соответствующие им классы

сопряженности состоят из единственного элемента (а именно из самого

исходного элемента). Таким свойством обладают элементы центра группы и

только они.

Определение 13. Центром группы G называется ее подмножество

Без труда проверяется, что центр – нормальная подгруппа группы G.

Очевидно, что группа G является абелевой тогда и только тогда, когда C=G.

Несложный подсчет приводит к следующему важному равенству, которое

иногда называют «уравнением классов сопряженности».

Теорема 9. Пусть G – конечная группа с центром C. Тогда имеет

место равенство

1( ) { }.N S a G aSa S

1 1 1 1 1 1 1

1

( ) ( )

( ) ( ).

aSa bSb S a bSb a a b S a b

a b N S b aN S

{ для всех }.C c G ca ac a G

Page 190: ОСНОВЫ КРИПТОГРАФИИ:

190

где n1, …, nk – мощности классов сопряженности группы G, содержащих

более одного элемента, так что ni 2, и при этом каждое число ni делит

порядок |G| группы G, 1 ≤ i ≤ k.

Доказательство. Поскольку отношение «a сопряжено с b» является

отношением эквивалентности на G, то различные классы сопряженности

группы G образуют разбиение множества G. Поэтому порядок |G| группы G

равен сумме мощностей различных классов сопряженности, состоящих из

единственного элемента (они соответствуют элементам центра C), а мощности

n1, …, nk остальных классов сопряженности превышают единицу. Отсюда и

вытекает требуемое равенство. Для доказательства того, что каждое из чисел

ni делит |G|, достаточно заметить, что ni – число элементов, сопряженных с

некоторым элементом aiG, и потому в силу теоремы 8 оно равно числу

левых смежных классов группы G по подгруппе N(ai), а индекс нормализатора

по теореме 3 делит порядок |G| группы G.

Задания для самостоятельной работы

1. Найдите все циклические подгруппы, порожденные ненулевыми

элементами группы . Чему равны индексы этих подгрупп в группе

?

2. Найдите левостороннее и правостороннее разложения на смежные

классы группы симметричных самосовмещений (кручений) квадрата по

подгруппе симметрий квадрата относительно одной из его диагоналей.

Подсказка: группа кручений квадрата содержит восемь элементов (повороты

на 90°, 180°, 270° и 360°, а также четыре симметрии относительно его

диагоналей и прямых, которые проходят через центр квадрата и параллельны

его сторонам).

3. Найдите порядок подстановки .

4. Постройте таблицу Кэли для симметрической группы . Найдите все

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

по самой большой и самой маленькой (по мощности) нетривиальной

циклической подгруппе. Покажите, что группа симметрий ромба

(состоящая из 4 преобразований: тождественное, поворот на 180 и два

отражения относительно диагоналей) изоморфна некоторой подгруппе

симметрической группы (выполняется теорема Кэли). Покажите

выполнение теоремы Лагранжа. Запишите все элементы факторгруппы .

Покажите выполнение теоремы о гомоморфизме групп.

1

| | | | ,k

i

i

G C n

8G Z

8G Z

0 1 2 3 4

2 4 3 1 0s

4S

G

4S

4 /S G

Page 191: ОСНОВЫ КРИПТОГРАФИИ:

191

11. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ ТЕОРИИ

ПОЛЕЙ И КОЛЕЦ

11.1. Определение и основные свойства кольца

В большинстве числовых систем, используемых в элементарной

арифметике, имеется две различные бинарные операции: сложение и

умножение. Примерами могут служить целые, рациональные и

действительные числа. Сейчас мы определим важный тип алгебраических

структур, называемый кольцом, который обладает основными свойствами

указанных числовых систем.

Определение 1. Кольцом (R, +, ) называется множество R с двумя

бинарными операциями, обозначаемыми символами + и , такими, что:

1. R – абелева группа относительно операции +.

2. Замкнутость относительно операции , т.е. для любых

выполняется условие ;

3. Операция ассоциативна, т.е. для всех a, , c R:

4. Выполняются законы дистрибутивности, т.е. для всех a, b, c R

Следует обратить внимание на то, что операции + и не обязательно

являются обычным сложением и умножением. Для краткости кольцо (R, +, )

будем обозначать одной буквой R.

Единичный элемент аддитивной группы кольца R называется нулевым

элементом (или нулем) кольца R и обозначается символом 0, а обратный к

элементу a этой группы обозначается через a.

Вместо a+(b) пишут обычно a b, а вместо ab – просто ab. Из

определения кольца получается общее свойство для всех a R. Из

этого в свою очередь следует, что для всех a, b R.

Простейшим примером кольца является, по-видимому, кольцо обычных

целых чисел Z. Рассматривая его свойства, нетрудно обнаружить среди них

такие, которыми не обладает произвольное кольцо. Таким образом, кольца

допускают дальнейшую классификацию.

Определение 2.

(I) Кольцо называется кольцом с единицей, если оно имеет

мультипликативный единичный элемент, т.е. если существует такой элемент

e R, что для любого a R. Мультипликативный единичный

элемент называют единицей и обозначают .

(II) Кольцо называется коммутативным, если операция

коммутативна.

,a b R

0 0 0a a ( ) ( )a b a b ab

ae ea a

1e

Page 192: ОСНОВЫ КРИПТОГРАФИИ:

192

(III) Кольцо называется целостным кольцом (или областью

целостности), если оно является коммутативным кольцом с единицей e 0, в

котором равенство влечет за собой или .

(IV) Кольцо R называется телом, если R {0} и ненулевые элементы в

R образуют группу относительно операции .

(V) Коммутативное тело называется полем.

Относительно операции сложения каждый элемент кольца имеет

обратный.

Относительно операции умножения элемент, обратный данному

элементу, не обязательно существует, но в кольце с единицей обратные

элементы могут существовать. Это означает, что для данного элемента

может существовать элемент , такой, что . Если это так, то

называется правым обратным к . Аналогично если существует элемент ,

такой, что , то называется левым обратным к .

В кольце с единицей единичный элемент единствен.

Если элемент a имеет как правый обратный элемент b, так и левый

обратный элемент c, тогда элемент a – называется обратимым. Обратный ему

элемент является единственным и обозначается как:

.

Обратимый элемент кольца называется единицей кольца. Множество

всех единиц в кольце замкнуто относительно умножения, так как если и -

единицы, то имеет обратный элемент, равный .

Примеры колец:

1) Множество R всех вещественных чисел – это коммутативное кольцо

с единицей относительно операции сложения и умножения. Каждый

ненулевой элемент кольца – это единица этого кольца.

2) Множество всех целых чисел Z (+, , 0) образуют коммутативное

кольцо с единицей относительно операций «+» и «». Обратимыми

элементами (единицами кольца) являются только «+1» и «1».

3) Четные числа образуют коммутативное кольцо без единицы.

4) Множество всех 2х2 матриц с элементами из R образуют

некоммутативное кольцо с единицей относительно операций сложения и

умножения матриц.

Пример. Построим таблицы Келли для кольца целых чисел по модулю

4.

Имеем . Операции «+» и «» происходят по модулю 4

(mod 4). На рисунке 11.1 приведены таблицы Кэлли для операций модульного

сложения и умножения. Очевидно, что числа 1 и 3 являются обратимыми

элементами (единицами кольца) и образуют мультипликативную группу

кольца R.

0ab 0a 0b

a

b 1ab b

a c

1ca c a

1 1 1; ( )a a a

a b

c ab1 1 1c a b

0, 1, 2, 3R

Page 193: ОСНОВЫ КРИПТОГРАФИИ:

193

Рисунок 11.1 – Таблицы Кэлли для операций сложения и умножения по

модулю 4

Определение 4. Подмножество S кольца (R, +, ) называется

подкольцом этого кольца, если оно замкнуто относительно операции «+» и

«» и образует кольцо относительно этих операций.

Определение 5. Подмножество I кольца R называется (двусторонним)

идеалом этого кольца, если оно является подкольцом кольца R и для всех

и имеет место .

Определение 5’. Непустое подмножество коммутативного кольца с

единицей называется идеалом в (обозначается как ), если

выполняются следующие два условия:

– для любых элементов элемент ;

– для любых и элемент .

Элементы составляют базис идеала

.

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

найдутся такие элементы , что .

Пример. Пусть – коммутативное кольцо, , и пусть

. Тогда - идеал кольца. Например,

если - коммутативное кольцо целых чисел, , тогда множество

четных чисел образует идеал .

Определение 6. Пусть – коммутативное кольцо. Идеал

называется главным, если существует такой элемент , что

. В этом случае идеал называют также главным

идеалом, порожденным элементом .

Определение 7. Идеалы являются нормальными подгруппами

аддитивной группы кольца, следовательно, каждый идеал определяет

некоторое разбиение множества на смежные классы по аддитивной

a I r R ar I

IR R I R

,a b I a b I

a I с R a с R

1 2, ,..., ka a a

1 2 1 1 2 2 1 2( , ,..., ) { ... ; , ,..., }k k k kI a a a a r a r a r r r r R R

I R

1 2, ,..., ka a a 1 2( , ,..., )kI a a a

R a R

( ) { ; }I a a r r R R { ; }I a r r R R

R Z 2a R

{2 ; }I r r R R Z

R I Ra R

( ) { ; }I a a r r R R I R

a R

I RR

Page 194: ОСНОВЫ КРИПТОГРАФИИ:

194

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

идеала .

Класс вычетов кольца по модулю идеала , содержащий элемент

, будем обозначать через

.

Элементы , принадлежащие одному и тому же классу вычетов по

модулю (т.е. такие , что ), будем называть сравнимыми

по модулю :

.

Множество классов вычетов кольца (R, +, ) по модулю идеала

образует кольцо относительно операций «+» и «», которые определяются

равенствами:

,

.

Определение 8. Кольцо классов вычетов кольца по модулю идеала

называется факторкольцом кольца по идеалу и обозначается .

Пример. Рассмотрим коммутативное кольцо целых чисел и

главный идеал , порожденный числом . Идеал - множество

всех чисел, кратных числу . Элементами факторкольца являются

классы вычетов по модулю . Например, если , тогда идеал –

множество всех чисел, кратных числу 5. Классы вычетов кольца по

модулю

,

,

,

,

образуют факторкольцо - множество классов вычетов по модулю 5.

Понятие гомоморфизма групп допускает очевидное обобщение на

случай колец.

Определение 9. Отображение кольца в кольцо

называется гомоморфизмом, если для любых справедливо:

,

,

I RI R

R I Ra R

[ ]a a I

,a b R

I R ,a b R a b I

I Rmoda b I

I R

( ) ( ) ( )a I b I a b I

( ) ( )a I b I a b I

R IR I /R I

R Z( )I n n ( )I n

n / ( )Z n

n 5n (5)I

R Z(5)I

[0] 0 (5) ... 10, 5,0,5,10,...

[1] 1 (5) ... 9, 4,1,6,11,...

[2] 2 (5) ... 8, 3,2,7,12,...

[3] 3 (5) ... 7, 2,3,8,13,...

[4] 4 (5) ... 6, 1,4,9,14,...

/ (5)Z

: R S R S

,a b R

( ) ( ) ( )a b a b

( ) ( ) ( )ab a b

Page 195: ОСНОВЫ КРИПТОГРАФИИ:

195

т.е. сохраняются обе операции кольца.

Множество

называется ядром гомоморфизма .

Теорема (о гомоморфизме колец). Если – гомоморфизм

кольца на кольцо , тогда - идеал кольца , причем кольцо

изоморфно факторкольцу . Обратно, если - идеал кольца , тогда

отображение , определяемое условием для всех

является гомоморфизмом кольца на факторкольцо с ядром .

Гомоморфный образ кольца

изоморфен факторкольцу

по ядру гомоморфизма колец.

Пример. Рассмотрим отображение , которое является

гомоморфизмом кольца целых чисел на кольцо чисел {0, 1, 2, 3, 4} с

операциями сложения и умножения по модулю 5. Ядром гомоморфизма

являются все целые числа, кратные числу 5, т.е.

.

Гомоморфный образ кольца есть кольцо , которое изоморфно

факторкольцу - кольцу классов вычетов по модулю 5.

11.2. Определение и основные свойства поля

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

операциями «+» и «» при этом выполняются следующие аксиомы:

1) Относительно операции + - множество является абелевой группой.

2) Поле замкнуто относительно операции и множество ненулевых

элементов образуют абелеву группу относительно операции .

3) Выполняется закон дистрибутивности. Для всех a, b, c H

4) Единичным элементом относительно операции + является «0» (e+=0).

Обратный элемент обозначается как «a». Для операции единичный элемент

«1» (e=1). При этом обратный элемент обозначается как a1

.

Примеры полей. Множество вещественных чисел, множество

комплексных чисел – примеры полей с бесконечным количеством элементов.

, ( ) 0Ker a R a S

: R S

: R S

R S Ker R S

/R Ker I R

: /R R I ( )a a I a R

R /R I Ker

5: Z Z

(5) ... 10, 5,0,5,10,...Ker

Z 5Z

/ (5)Z

( ) .a b c a c b c

Page 196: ОСНОВЫ КРИПТОГРАФИИ:

196

Поле с q элементами называется конечным полем или полем Галуа и

обозначается GF(q). Мощность множества элементов называется порядком

поля (количество элементов поля). Если множество конечно, тогда говорят,

что и поле конечно, это поле Галуа и q является порядком поля.

Например, кольцо чисел {0, 1, 2, 3, 4} с операциями сложения и

умножения по модулю 5 является конечным полем GF(5), порядок поля равен

5.

Простейший способ построения конечного поля – это использование

кольца целых чисел с операциями по модулю q. Это кольцо является полем

тогда и только тогда, когда q = p, p – простое число.

Пример. Множество {0, 1} с операциями по модулю 2 образует

конечное поле GF(2). Построим таблицы Кэли (см. рисунок 11.2).

Рисунок 11.2 – Таблицы Кэли для операций в GF(2)

Пример. Множество {0, 1, 2} с операциями по модулю 3 образует

конечное поле GF(3). Построим таблицы Кэли (см. рисунок 11.3). Найдем

единичные элементы (выделены в таблицах).

Рисунок 11.3 – Таблицы Кэли для операций в GF(3)

Пример. Множество {0, 1 ,2, 3} с операциями по модулю 4 не образует

конечное поле GF(4). Это легко увидеть, проверяя наличие обратных

элементов по умножению – для числа 2 обратного не существует, т.е.

множество ненулевых элементов не образуют абелеву группу относительно

операции умножения.

Page 197: ОСНОВЫ КРИПТОГРАФИИ:

197

Рисунок 11.4 – Таблицы Кэли для операций в Z4

Для конечных полей в строках и столбцах таблицы Кэли ненулевые

элементы не должны повторяться (условие наличия обратного элемента) и

должна наблюдаться симметрия относительно главной диагонали (условие

коммутативности).

Ниже будет показано, что поле GF(4) все же можно построить, но с

использованием не кольца целых чисел, а кольца многочленов от некоторой

формальной (неопределенной) переменной.

11.3. Многочлены над полем

Многочленом над полем GF(q) называется математическое выражение

где символ x называется неопределенной переменной, коэффициенты fn1,…,f0

принадлежат полю GF(q), а индексы и показатели степеней являются целыми

числами.

Нулевым многочленом называется многочлен f(x) = 0.

Приведенным многочленом называется многочлен, старший

коэффициент fn1 которого равен 1.

Два многочлена равны, если равны все их коэффициенты fi.

Степенью deg f(x) ненулевого многочлена f(x) называется индекс

старшего коэффициента fn1; степень многочлена f(x) обозначается через deq

f(x). Степень ненулевого многочлена всегда конечна. Степень нулевого

многочлена по соглашению полагается равной отрицательной бесконечности

.

Множество всех многочленов над полем GF(q) образует кольцо

многочленов относительно сложения и умножения, определяемых по

обычным правилам сложения и умножения многочленов. Такое

полиномиальное кольцо можно определить для каждого поля Галуа GF(q).

1 2

1 2 1 0( ) ,n n

n nf x f x f x f x f

Page 198: ОСНОВЫ КРИПТОГРАФИИ:

198

Это кольцо обозначается через GF(q)[x]. В исследованиях по кольцам GF(q)[x]

элементы поля GF(q) иногда называются скалярами.

Суммой двух многочленов f(x) и g(x) из GF(q)[x] называется многочлен

GF(q)[x], определяемый равенством

где, конечно, члены с индексом, большим наибольшей из степеней

многочленов f(x) и g(x), равны нулю. Степень суммы не превосходит

наибольшей из этих двух степеней. Например, над GF(2)

Произведением двух многочленов из GF(q)[x] называется многочлен из

GF(q)[x], определяемый равенством

Например, над GF(2)

Пример. Пусть и заданы над .

Тогда:

Степень произведения равна сумме степеней множителей.

Кольцо многочленов во многих отношениях аналогично кольцу целых

чисел. Скажем, что многочлен a(x) делится на многочлен b(x) или что b(x)

делит a(x), если существует многочлен q(x), такой, что b(x)q(x) = a(x).

Многочлен p(x), делящийся только на многочлены ap(x) или a, где a –

произвольный ненулевой элемент поля GF(q), называется неприводимым

многочленом. Приведенный неприводимый многочлен называется простым

многочленом.

Наибольший общий делитель двух многочленов a(x) и b(x)

обозначается через НОД[a(x), b(x)] или через (a(x), b(x)) и определяется как

приведенный многочлен наибольшей степени, делящий одновременно оба из

них.

0

( ) ( ) ( ) ,i

i i

i

f x g x f g x

3 2 2

3 2 3

( 1) ( 1)

(1 1) (1 1) .

x x x x

x x x x x

0

( ) ( ) .i

i

j i j

i j

f x g x f g x

3 2 2 5( 1)( 1) 1.x x x x x x

3 2( ) 2 1a x x x 3 2( ) 2 1b x x x (3)GF

3 2 3 2

6 5 3 5 4 2 3 2

6 5 4

( ) ( ) ( 2 1)(2 1)

2 2 2 2 1

2 2 2 1.

a x b x x x x x

x x x x x x x x

x x x

Page 199: ОСНОВЫ КРИПТОГРАФИИ:

199

Наименьшее общее кратное двух многочленов a(x) и b(x) обозначается

через НОК[a(x), b(x)] и определяется как приведенный многочлен наименьшей

степени, делящийся на оба из них.

Наибольший общий делитель и наименьшее общее кратное определены

единственным образом. Если наибольший общий делитель двух

многочленов a(x) и b(x) равен 1, то ни называются взаимно простыми.

Если b(x) одновременно делится на a(x) и делит a(x), то b(x) = ca(x), где c

–элемент поля GF(q). Это доказывается следующим образом. Должны

существовать многочлены u(x) и v(x), такие что b(x)=a(x)u(x) и a(x)=b(x)v(x);

следовательно, b(x)=a(x)u(x)v(x). Но степень правой части равна сумме

степеней b(x), u(x) и v(x). Так как эта величина должна быть равной степени

левой части, то u(x) и v(x) должны иметь нулевую степень и, таким образом,

являются скалярами.

Для многочленов над полем вещественных чисел очень полезна (и

элементарно вводится) операция дифференцирования. В случае многочленов

над конечным полем определение дифференцирования в смысле операции

предельного перехода невозможно. Тем не менее удобно определить

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

производная. Такой многочлен называется формальной производной от

многочлена.

Определение 1. Пусть a(x)=an1xn1

+ an2xn2

+…+a1x+ a0 – многочлен над

GF(q). Формальная производная от a(x) определяется как многочлен вида

где коэффициенты ((i)) называются числами поля GF(q) или скалярами и

вычисляются как сумма i членов в поле GF(q):

Пример. Рассмотрим многочлен над . Найдем

формальную производную:

.

Для многочлена над формальная производная

будет равна:

.

Легко проверить, что сохраняются многие полезные свойства

производных, а именно что

2 3

1 2 1'( ) (( 1)) (( 2)) ,n n

n na x n a x n a x a

(( )) 1 1 1.i

3 2( ) 1a x x x (2)GF

2 1 2'( ) (1 1 1) (1 1)a x x x x

3 2( ) 2 1b x x x (3)GF

2 1'( ) (1 1 1)2 (1 1) 2b x x x x

Page 200: ОСНОВЫ КРИПТОГРАФИИ:

200

и что если a2(x) делит b(x), то a(x) делит b(x).

Пример. Пусть и заданы над .

Тогда имеем:

, ,

и

В кольце многочленов, так же, как и в кольце целых чисел, деление в

общем случае невозможно. Однако для многочленов над полями тоже имеют

место сокращение и деление с остатком. Алгоритм деления для многочленов

дается следующим утверждением.

Теорема 1 (аналог третьей теоремы делимости для многочленов).

Для каждой пары многочленов и , , существует

единственная пара многочленов (частное) и (остаток), таких, что

и .

Доказательство. Частное и остаток находятся по элементарному

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

тогда

В правой части стоит ненулевой многочлен, степень которого меньше deg

b(x), а в левой – ненулевой многочлен, степень которого не меньше deg b(x).

Следовательно, оба многочлена равны нулю, и представлены единственно.

Практическое вычисление частного и остатка выполняется с помощью

простого правила деления многочленов «уголком». Обычно мы будем больше

интересоваться не частным, а остатком. При этом остаток от деления

многочлена на многочлен , как и в [2], будем обозначать в виде:

.

[ ( ) ( )]' '( ) ( ) ( ) '( )a x b x a x b x a x b x

3 2( ) 2 1a x x x 3 2( ) 2 1b x x x (3)GF

'( )a x x '( ) 2b x x

3 2 3 2

4 3 4 3 4 3

'( ) ( ) ( ) '( ) ( )(2 1) ( 2 1)(2 )

2 2 2 2

a x b x a x b x x x x x x x

x x x x x x x x

3 2 3 2

6 5 3 5 4 2 3 2

6 5 4 4 3

[ ( ) ( )]' [( 2 1)(2 1)]'

[2 2 2 2 1]'

[2 2 2 1]' 2 .

a x b x x x x x

x x x x x x x x

x x x x x

( )a x ( )b x ( ) 0b x

( )q x ( )r x

( ) ( ) ( ) ( )a x q x b x r x

deg ( ) deg ( )r x b x

1 1 2 2( ) ( ) ( ) ( ) ( ) ( ) ( ),a x b x q x r x b x q x r x

1 2 2 1( )[ ( ) ( )] ( ) ( ).b x q x q x r x r x

( )r x

( )a x ( )b x

( )( ) [ ( )]b xr x R a x

Page 201: ОСНОВЫ КРИПТОГРАФИИ:

201

Часто остаток называют вычетом многочлена a(x) по модулю

многочлена b(x). Несколько отличным понятием является сравнение

,

которое означает, что при делении на b(x) многочлены a(x) и r(x) дают один и

тот же остаток, но степень многочлена r(x) не обязательно меньше степени

многочлена b(x).

Иногда при вычислении остатка удобнее разбивать деление на этапы.

Это можно осуществить с помощью следующей теоремы.

Пример (деление многочленов над конечным полем). Рассмотрим

многочлены и над . Найдем

многочлены и с помощью «деления уголком»:

,

т.е.

и

, ,

Теорема 2. Пусть b(x) кратен многочлену g(x). Тогда для любого a(x)

Доказательство. Пусть b(x)=g(x)h(x) для некоторого h(x). Раскрывая

правую часть, получаем

( ) ( ) (mod ( ))r x a x b x

5 4( ) 2 4 3a x x x x 2( ) 3 1b x x (5)GF

( )q x ( )r x5 4

2

5 33 2

4 3

4 2

3 2

3

2

2

2 4 33 1

2 44 2 2 1

4 3

2

3 4 3

2

3 2 3

3 1

2 2

x x xx

x xx x x

x x x

x x

x x x

x x

x x

x

x

5 4 3 2 2 )2 (4 3 4 2 2 1 3 1 2( )( ) 2x x x x x x x x

3 2 1( 2) 4 2q x xx x 2( 2)r x x deg ( ) deg ( )r x b x

( ) ( ) ( )[ ( )] [ [ ( )]].g x g x b xR a x R R a x

1 ( )

1 2 ( ) ( )

( ) ( ) ( ) [ ( )]

( ) ( ) ( ) ( ) ( ) [ [ ( )]],

b x

g x b x

a x q x b x R a x

q x g x h x q x g x R R a x

Page 202: ОСНОВЫ КРИПТОГРАФИИ:

202

где степень остатка меньше deg g(x). Раскрываем левую часть, имеем

и, согласно алгоритму деления, такая запись однозначна при степени остатка,

меньшей deg s(x). Теорема вытекает из отождествления подобных членов в

обоих выражениях.

Теорема 3.

Доказательство сводится к упражнению: использовать алгоритм

деления для выражения в обеих частях равенства и приравнять остатки.

Подобно тому, как часто бывает полезным представление

положительных целых чисел в виде произведения простых сомножителей,

часто бывает полезным представление приведенных многочленов в виде

произведения простых многочленов.

Теорема 4. (аналог основной теоремы арифметики для

многочленов). Ненулевой многочлен над некоторым полем однозначно

(с точностью до порядка следования множителей) разлагается в

произведение элемента поля и простых многочленов над этим полем:

.

Доказательство. Ясно, что входящим в произведение элементом поля

должен быть коэффициент , где – степень многочлена

. Можно пренебречь этим элементом и доказывать

теорему для приведенных многочленов.

Предположим, что теорема не верна. Пусть

является таким приведенным многочленом наименьшей степени, для которого

теорема не верна. Тогда имеются два разложения:

где и – простые многочлены.

Все многочлены должны отличаться от всех многочленов ,

так как в противном случае можно было бы сократить общие члены и

( )( ) ( ) ( ) [ ( )],g xa x q x g x R a x

( ) ( ) ( )

( ) ( ) ( ) ( )

(I) [ ( ) ( )] [ ( )] [ ( )],

(II) [ ( ) ( )] { [ ( )] [ ( )]}.

d x d x d x

d x d x d x d x

R a x b x R a x R b x

R a x b x R R a x R b x

( )a x

c

1 2( ) ( ) ( ) ( )na x cp x p x p x

na n

1 0( ) ...n

na x a x a x a

1 0( ) ...na x x a x a

1 2 1 2( ) ( ) ( ) ( ) ( ) ( ) ( ),k ja x p x p x p x q x q x q x

( )kp x ( )jq x

( )kp x ( )jq x

Page 203: ОСНОВЫ КРИПТОГРАФИИ:

203

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

способами.

Без потери общности предположим, что степень многочлена не

больше степени многочлена . Тогда

где .

Далее,

и

Откуда

Разложим многочлен s(х) и многочлен, стоящий в квадратных скобках,

на простые множители, разделив, если надо, на соответствующий элемент

поля так, чтобы все множители были приведенными. Поскольку не

содержится в левой части, мы получили два различных разложения

приведенного многочлена, степень которого меньше степени . Его

противоречие доказывает теорему.

B силу теоремы об однозначном разложении теперь ясно, что для

любых двух многочленов a(x) и b(x) НОД[a(x),b(x)] и НОК[a(x),b(x)] являются

единственными, так как наибольший общий делитель равен произведению

всех общих для a(x) и b(x) простых делителей, причем каждый делитель

входит в наименьшей из степеней, в которых он входит в a(x) и b(x), a

наименьшее общее кратное равно произведению всех простых делителей,

входящих либо в a(x), либо в b(x), причем каждый делитель входит в

наибольшей из степеней, в которых он входит в a(x) или b(x). Далее, любой

многочлен, делящий как a(x), так и b(x), делит НОД[a(x),b(x)], a любой

многочлен, делящийся и на a(x)‚и на b(x), делится на НОК[a(x),b(x)].

Из алгоритма деления многочленов вытекает важное следствие,

известное пол названием алгоритма Евклида для многочленов.

Теорема 5 (алгоритм Эвклида для многочленов).

Наибольший общий делитель двух многочленов a(x) и b(x) над полем

GF(q) можно вычислить с помощью итеративного применения алгоритма

1( )q x

1( )p x

1 1( ) ( ) ( ) ( ),p x q x h x s x

1 1deg ( ) deg ( ) deg ( )s x q x p x

1 2 1 2( ) ( ) ( ) ( ) ( ) ( ) ( ),k ja x p x p x p x q x q x q x

1 2

1 2 2 1 2

( ) [ ( ) ( ) ( )][ ( ) ( )]

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ),

k

k k j

a x q x h x s x p x p x

q x h x p x p x s x p x p x q x q x q x

2 3 1 2 2( ) ( ) ( ) ( ) ( )[ ( ) ( ) ( ) ( ) ( )].k j ks x p x p x p x q x q x q x h x p x p x

1( )q x

( )a x

Page 204: ОСНОВЫ КРИПТОГРАФИИ:

204

деления. Если deg a(x) ≥ deg b(x) ≥0, то последовательность вычислений

такова:

и процесс обрывается, как только получается равный нулю остаток. Тогда

rn(x)=НОД[a(x),b(x)], где – некоторый скаляр.

Доказательство. Отправляясь от первого уравнения, видим, что

НОД[a(x),b(x)] делит и делимое, и делитель, и, следовательно, остаток.

Проводя это рассуждение далее по всем уравнениям, видим, что

НОД[a(x),b(x)] делит rn(x). Отправляясь от последнего уравнения, видим, что

rn(x) делит делитель и остаток, так что он делит и делимое. Проводя это

рассуждение по всем уравнениям вплоть до первого, видим, что rn(x) делит

НОД[a(x),b(x)]. Так как rn(x) делит НОД[a(x),b(x)] и делится на него, то

получаем утверждение теоремы.

Следствие 1. НОД[a(x),b(x)] представим в виде линейной комбинации

многочленов a(x) и b(x):

,

где u(x) и v(x) – многочлены над GF(q).

Доказательство. Последнее уравнение с ненулевым остатком в

утверждении предыдущей теоремы даёт выражение многочлена rn(x) через

rn1(x) и rn2(x). Перебирая уравнения снизу вверх, исключаем сначала rn1(x),

затем rn2(x) и т.д. и в конце концов получим выражение rn(x) только через r(x)

и s(x).

Пример. Рассмотрим два многочлена и

над двоичным полем . Найдем наибольший общий

делитель:

,

т.е.

1 1

2 1 2

1 3 2 3

1 1

( ) ( ) ( ) ( ),

( ) ( ) ( ) ( ),

( ) ( ) ( ) ( ),

( ) ( ) ( ),n n n

a x q x b x r x

b x q x r x r x

r x q x r x r x

r x q x r x

( ( ), ( )) ( ) ( ) ( ) ( )a x u x b x xa b x vx

5 3( ) 1а x x x 4 3( )b x x x x (2)GF

5 3 4 3

5 4 2

4 3 2

4 3

2

1

1

1

1

x x x x x

x x x x

x x x

x x x

x x

Page 205: ОСНОВЫ КРИПТОГРАФИИ:

205

,

далее:

,

т.е.

,

.

Откуда

.

В приведенных выше обозначениях имеем:

, ;

, , ;

, .

Перебирая уравнения снизу-вверх получаем следующую цепочку

равенств:

Подставив значения и с учетом арифметики

двоичного поля (тождественность операций сложения и вычитания) имеем:

т.е. имеем

, , .

5 3 4 3 2( 1) ( )( 1) ( 1)x x x x x x x x

4 3 2

4 3 2 2

2

2

1

1

1

1

x x x x x

x x x x

x x

x x

4 3 2 2( ) ( 1)( 1) (1)x x x x x x 2 2( 1) ( 1)(1)x x x x

5 3 4 3( 1, ) 1x x x x x

1 1( ) ( ) ( ) ( ),a x q x b x r x 1( ) 1q x x 2

1( ) 1r x x x

2 1 2( ) ( ) ( ) ( )b x q x r x r x 2

2( ) 1q x x 2 ( ) 1r x

1 3 2( ) ( ) ( )r x q x r x 2

3( ) 1q x x x

5 3 4 3

2

2 1 2 1

2 2 1

( ( ), ( )) ( 1, ) ( ) 1

( ) ( ) ( ) ( ) ( )( ( ) ( ) ( ))

( )( ( )) ( )(1 ( ) ( )).

a x b x x x x x x r x

b x q x r x b x q x a x q x b x

a x q x b x q x q x

1( ) 1q x x 2

2( ) 1q x x

5 3 4 3 5 3 2 4 3 2

5 3 2 4 3 3 2

( 1, ) 1 ( 1)( 1) ( )(1 ( 1)( 1))

( 1)( 1) ( )( ),

x x x x x x x x x x x x x

x x x x x x x x x

( ( ), ( )) ( ) ( ) ( ) ( )a x u x b x xa b x vx 2( ) 1u x x 3 2( )v x x x x

Page 206: ОСНОВЫ КРИПТОГРАФИИ:

206

Пример. Рассмотрим два многочлена и

над полем . Найдем наибольший общий делитель. Имеем:

,

т.е.

,

далее:

,

т.е.

,

откуда

.

Перебирая уравнения снизу-вверх получаем:

т.е. , .

Для произвольного элемента поля GF(q) можно вычислить значение

многочлена над GF(q) в этой точке, подставив элемент вместо

неопределённой переменной.

Например, пусть над GF(3)

Тогда получаем

Если a()=0, то элемент называется корнем многочлена a(x) или

корнем уравнения a(x)=0. Многочлен не обязательно имеет корни в своём

собственном поле.

3 2( ) 2 2a x x x x 2( ) 2b x x x (3)GF

3 2 2

3 2

2 2 2

2 2

2

x x x x x

x x x

x

3 2 2(2 2) ( 2 )(2 ) ( 2)x x x x x x x

2

2

2 2

2

0

x x x

x x x

2( 2 ) ( 2)( ) (0)x x x x

3 2 2(2 2, 2 ) 2x x x x x x

3 2 2 3 2 2

3 2 2

(2 2, 2 ) 2 (2 2) ( 2 )(2 )

(2 2)(1) ( 2 )( ),

x x x x x x x x x x x x

x x x x x x

( ) 1u x ( )v x x

5 4 2( ) 2 2.a x x x x

Page 207: ОСНОВЫ КРИПТОГРАФИИ:

207

Например, многочлен не имеет корней в :

, .

Теорема 6. Элемент является корнем многочлена a(x) тогда и только

тогда, когда x делит a(x). Более того, корнями многочлена a(x) степени n

является не более n элементов поля.

Доказательство. Согласно алгоритму деления,

где степень меньше единицы, т.е. является элементом поля .

Тогда

следовательно, и соответственно .

Обратно, если делит , то

так что , и, таким образом, – корень многочлена .

Пример. Над полем элемент является корнем многочлена

, т.к. делит :

Разложим теперь многочлен в произведение элемента поля и

простых множителей: . Степень многочлена

равна сумме степеней простых множителей, и для каждого корня имеется

один такой множитель. Следовательно, существует не более n корней.

2( ) 1a x x x (2)GF

(0) 1a (1) 0a

( ) ( ) ( ) ( ),a x x q x s x

( )s x ( )s x 0s

( ) ( ) ( ) ( ),a q s

0( ) ( )0 ( ) ,a q s 0( ) 0s x s

x ( )a x

( ) ( ) ( )a x x q x

( ) ( ) ( ) 0a q ( )a x

(3)GF 1 5 4 2( ) 2 2p x x x x 1 2x x x ( )p x

3 2

3 2 2

2 2 2

2 2 1

2

2

0

x x x x

x x x

x

x

( )a x

1 2( ) ( ) ( ) ( )na x cp x p x p x ( )a x

Page 208: ОСНОВЫ КРИПТОГРАФИИ:

208

11.4. Конечные поля, основанные на кольце многочленов

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

образом, каким были построены поля из кольца целых чисел. Пусть имеется

множество многочленов (произвольной степени) над полем F. Очевидно, что

это бесконечное множество удовлетворяет условиям кольца, это кольцо

многочленов обозначим F[x].

Так же, как были построены для кольца Z кольца отношений, можно

построить и кольца отношений для кольца F[x]. Выбирая из F[x]

произвольный многочлен p(x), можно определить кольцо отношений,

используя p(x) в качестве модуля для задания арифметики этого кольца. Мы

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

ограничение снимает ненужную неопределенность построения.

Определение 1. Для произвольного приведенного многочлена p(x)

ненулевой степени над полем F кольцом многочленов по модулю p(x)

называется множество всех многочленов над F, степень которых не

превосходит степени многочленов p(x), с операциями сложения и умножения

многочленов по модулю p(x). Это кольцо принято обозначать через F(x)/(p(x)).

Произвольный элемент r(x) кольца F[x] можно отобразить в элемент

кольца F(x)/(p(x)) с помощью соответствия r(x)→Rg(x)[r(x)]. Два элемента a(x) и

b(x) из F[x], отображаемые в один и тот же элемент из F(x)/(p(x)), называются

сравнимыми:

Теорема 1. Множество F(x)/(p(x)) является кольцом.

Пример. Выберем в кольце многочленов над конечным полем F =

GF(2), например, многочлен p(x) = x3+1. Тогда кольцо многочленов по

модулю p(x) обозначим как GF(2)[x]/(x3+1). Оно состоит из элементов {0, 1, x,

x+1, x2, x

2+1, x

2+x, x

2+x+1}. В этом кольце умножение выполняется, например,

следующим образом:

.

Теорема 2. Кольцо многочленов по модулю приведенного многочлена

p(x) является полем тогда и только тогда, когда многочлен p(x) прост.

Доказательство. Пусть многочлен p(x) прост. Чтобы доказать, что

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

ненулевой элемент имеет мультипликативный обратный. Пусть s(x) –

некоторый ненулевой элемент кольца. Тогда deg s(x) < deg p(x). Так как

многочлен p(x) прост, то НОД[s(x), p(x)]=1. По следствию

( ) ( )(mod ( )).a x b x p x

3 3

2 2 2 2 4 2 2

1 1( 1) ( ) [( 1) ] [ ]

x xx x R x x R x x x x

1 ( ) ( ) ( ) ( )a x p x b x s x

Page 209: ОСНОВЫ КРИПТОГРАФИИ:

209

для некоторых многочленов a(x) и b(x). Следовательно,

Таким образом, в кольце многочленов по модулю p(x) многочлен

Rp(x)[b(x)] является мультипликативным обратным к s(x).

Предположим теперь, что степень многочлена p(x) равна по меньшей

мере 2 и то он не прост. Тогда p(x)=r(x)s(x) для некоторых r(x) и s(x), степени

которых равны по меньшей мере 1. Если кольцо является полем, то многочлен

r(x) имеет обратный r1

(x), и поэтому

Но s(x)0, и мы получаем противоречие. Следовательно, такое кольцо не

может быть полем.

Если над полем GF(q) найден простой многочлен степени n, то,

используя развитую в данном параграфе теорию, можно построить поле

Галуа, содержащее qn элементов. В этом построении элементы поле

представляются многочленами над GF(q) степени не выше n1. Всего

существует qn таких элементов, и, следовательно, их столько же, сколько

элементов в поле.

В качестве примера простроим поле GF(4) по полю GF(2), используя

примитивный многочлен p(x)=x2+x+1. Перебирая все возможные разложения,

легко проверить неприводимость этого многочлена. Элементы поля задаются

многочленами {0, 1, x, x+1}. Приведенные на рисунке 11.5 таблицы сложения

и умножения Кэли строятся по готовым правилам. Конечно, после того как

арифметические таблицы построены, можно заменить многочленные

Многочленные

обозначения

Двоичные

обозначения

Целочисленные

обозначения

Степени

обозначения

0 00 0 0

1 01 1 x0

x 10 2 x1

x+1 11 3 x2

( ) ( )

( ) ( ) ( ) ( ) ( )

1 [1] [ ( ) ( ) ( ) ( )]

{ [ ( )] [ ( )]} { [ ( )] ( )}.

p x p x

p x p x p x p x p x

R R a x p x b x s x

R R b x R s x R R b x s x

1

( ) ( )

1

( )

( ) [ ( )] [ ( ) ( ) ( )]

[ ( ) ( )] 0.

p x p x

p x

s x R s x R r x r x s x

R r x p x

Page 210: ОСНОВЫ КРИПТОГРАФИИ:

210

Рисунок 11.5 – Таблицы Кэли для примера GF(4)

Таблица 11.1 содержит список простых многочленов над GF(2). Одним

из способов проверки простоты этих многочленов является метод проб и

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

для многочленов высоких степеней для этого потребуется ЭВМ. Собранные в

таблице 11.1 простые многочлены представляются собой специальные

частные случаи простых многочленов, известных под названием

примитивных многочленов.

Таблица 11.1 – Простые многочлены над GF(2)

Степен

ь

Простые

многочлены

Степен

ь

Простые

многочлены

Степен

ь

Простые

многочлены

2 12 22

3 13 23

4 14 24

5 15 25

6 16 26

7 17 27

8 18 28

9 19

10 20

11 21

Подытожим следующие факты:

1) над каждым полем Галуа существует простые многочлены любой

заданной степени;

2) разработанные построения достаточны для получения всех полей

Галуа – других полей нет;

3) в каждом поле имеются некоторые предпочтительные, так

называемые примитивные элементы.

2 1x x 12 4 4 1x x x x 22 1x x

3 1x x 13 4 3 1x x x x 23 4 1x x

4 1x x 14 10 6 1x x x x 24 7 2 1x x x x

5 2 1x x 15 1x x 25 3 1x x

6 1x x 16 12 3 1x x x x 26 6 2 1x x x x

7 3 1x x 17 3 1x x 27 7 2 1x x x x

8 4 3 2 1x x x x 18 7 1x x 28 3 1x x

9 4 1x x 19 5 2 1x x x x

10 3 1x x 20 3 1x x

11 2 1x x 21 2 1x x

Page 211: ОСНОВЫ КРИПТОГРАФИИ:

211

Приведем наиболее существенные результаты, относящиеся к полям

Галуа:

1. Число элементов любого поля Галуа равно степени простого числа.

2. Для любого простого p и целого положительного m наименьшим

подполем поля GF(pm) является поле GF(p). Элементы поля GF(p) называются

целыми числами поля GF(pm), а число p – его характеристикой.

3. В поле Галуа характеристики 2 для каждого элемента поля

выполняется равенство =.

4. Для любого простого p и целого положительного m существует поле

Галуа с pm элементами.

5. Каждое поле Галуа GF(q) содержит хотя бы один примитивный

элемент.

6. Над каждым полем Галуа существует хотя бы один примитивный

многочлен любой положительной степени.

7. Каждый примитивный элемент имеет над любым подполем простой

минимальный многочлен.

8. Два поля Галуа с одним и тем же число элементов изоморфны.

9. Для любого q, являющегося степенью простого числа, и любого

положительного целого m поле GF(q) является подполем в GF(qm), а GF(q

m)

является расширением поля GF(q).

10. Если n не делит m, то GF(qn)не является подполем поля GF(q

m).

11. Для любого элемента поля GF(qm) степень минимального

многочлена над GF(q) является делителем m.

12. Приведенным многочленом называется такой многочлен, старшая

степень которого имеет коэффициент равный 1.

13. Неприводимым многочленов называется такой многочлен, который

не раскладывается на произведения других многочленов над заданным полем.

Пример.

Многочлен x2+x+1 неприводимый над GF(2), в то же время многочлен

x2+1=(x+1)(x+1)=x

2+x+x+1=x

2+1 – приводимый над GF(2).

14. Приведенный неприводимый многочлен называется простым

многочленом.

Задания для самостоятельной работы

1. Сформируйте таблицы Келли для кольца целых чисел по модулю 5 и

по модулю 7. Покажите, что эти кольца являются полями (проверьте все

свойства поля).

2. Сформируйте таблицы Кэли для операций сложения и умножения

двоичных многочленов по модулю многочленов и

. Покажите, что множество двоичных многочленов степени не

выше 2 образуют конечное поле .

3( ) 1g x x x 3 2( ) 1g x x x

3(2 )GF

Page 212: ОСНОВЫ КРИПТОГРАФИИ:

212

3. Сформируйте таблицы Кэли для операций сложения и умножения

многочленов с коэффициентами из по модулю многочлена

. Покажите, что множество многочленов с коэффициентами из

степени не выше 1 образуют конечное поле .

4. Используя РСЛОС в конфигурации Галуа и Фибоначчи сформируйте

все элементы расширенных конечных полей из предыдущих заданий.

Запишите сформированные m-последовательности.

5. Используя РСЛОС в конфигурации Галуа и Фибоначчи сформируйте

все элементы конечного поля , построенного по кольцу двоичных

многочленов с операциями по модулю многочлена . Запишите

сформированные m-последовательности.

6. Завершите заполнение таблиц 11.3 и 11.5.

7. Нарисуйте структурную схему РСЛОС в конфигурации Фибоначчи

для неприводимого над не приведенного многочлена

, найдите все состояния регистра, запишите соответствующие им многочлены

– элементы .

(3)GF2( ) 2g x x x

(3)GF 2(3 )GF

4(2 )GF4( ) 1g x x x

(3)GF 2 1( 2) 2g x xx

2(3 )GF

Page 213: ОСНОВЫ КРИПТОГРАФИИ:

213

12. СТРУКТУРА И ОСНОВНЫЕ СВОЙСТВА КОНЕЧНЫХ ПОЛЕЙ

12.1. Линейные рекуррентные регистры с обратными связями

Арифметику полей Галуа, равно как и многие ее приложения в

кодировании, криптографии, теории сигналов и пр., удобно реализовать с

помощью логических цепей. Простейшие цепи содержат ячейки памяти,

объединенные в так называемые регистры сдвига, отводы, задающие связи

между ячейками, переключательные устройства и пр.

Регистры сдвига содержат элементы памяти, называемые разрядами,

причем в каждом разряде хранится один элемент поля. Например, для

двоичного поля в каждом разряде двоичного регистра храниться один бит.

Для полей в троичном разряде храниться трит и т.д.

Для определения элементов расширенного конечного поля ,

которое строиться по кольцу многочленов с операциями по модулю

многочлена

, (12.1)

используют регистры сдвига с линейными обратными связями (РСЛОС),

причем в каждом разряде регистра хранится элемент .

На рисунке 12.1 изображена общая схема построения таких регистров в

конфигурации Фибоначчи (рисунок 12.1а) и в конфигурации Галуа (рисунок

12.1б).

а)

б)

Рисунок 12.1 – Структурная схема линейных регистров в конфигурации

Фибоначчи (а) и в конфигурации Галуа (б)

(3)GF

( )mGF p

2 1

0 1 2 –1 ( ) m m

m mg g g x g x g x g xx

( )GF p

Page 214: ОСНОВЫ КРИПТОГРАФИИ:

214

Рассмотрим сначала функционирование линейных регистров в

конфигурации Галуа, которые позволяют формировать последовательность

элементов расширенного поля . На рисунке 12.2 в общем виде

приведена структурная схема РСЛОС для

. Обычно в качестве

используют приведенный многочлен, для коэффициента при старшей степени

старшего которого выполняется равенство .

Рисунок 12.2 – Структурная схема РСЛОС (конфигурация Галуа) для

построения элементов расширенных конечных полей Галуа

Прямоугольниками на рисунке 12.2 изображены ячейки памяти, в

которых хранятся элементы поля которые выступают в роли

коэффициентов многочленов (12.1). Линиями изображена логика обратной

связи, то есть путь продвижения элементов поля , стрелки указывают

направление сдвига. В кругах формально обозначена операция умножения на

элемент или сложение элементов поля. Начальное положение элементов

регистра сдвига равно нулю. Работа начинается с подачи на вход схемы

единичного символа. На втором и следующих тактах регистр сдвига

заполняется в соответствии работы схемы, которая задается логикой обратной

связи. Обратные связи соответствуют коэффициентам порождаемого

многочлена . Значение символа, который подается по обратной связи

обозначается как . Выход крайней правой ячейки является выходом

регистра. На каждом такте в ячейках памяти регистра сдвига сохраняется

последовательность из m элементов поля Галуа . Эта

последовательность задает коэффициенты многочлена (1), то есть это один

элемент расширенного поля .

Пример. Рассмотрим расширенное поле , построенное через

кольцо двоичных многочленов с операциями по модулю многочлена

. Многочлен неприводим над и может быть

использован для построения . Элементами поля являются многочлены:

. Для формирования этих элементов воспользуемся

РСЛОС, структурная схема которого изображена на рисунке 12.3.

( )mGF p

2 1

0 1 2 –1 ( ) m m

m mg g g x g x g x g xx ( )g x

1 1m mg g

x1

xm-1

+

-gm-1-g2-g1

+ +...x0

-g0

xm

gm-1

( )GF p

( )GF p

ig

( )g xmx

( )GF p

( )mGF p2(2 )GF

2  1( )g x х х ( )g x (2)GF2(2 )GF

0, 1, , 1х х 2(2 )GF

Page 215: ОСНОВЫ КРИПТОГРАФИИ:

215

Рисунок 12.3 – Структурная схема регистра сдвига с обратной связью

(конфигурация Галуа) для построения элементов поля

Коэффициенты многочлена задают логику регистра, то есть

обратные связи регистра сдвига. Начальное состояние элементов регистра

равно нулю. Работа регистра начинается с подачи на его вход единичного

символа. На каждом такте в ячейках регистра сохраняются элементы поля

в виде коэффициентов соответствующих многочленов.

В таблице 12.1 приведено содержание элементов регистра сдвига и

соответствующие действия, которые выполняются в регистре. Столбец

таблицы «x2» отвечает значениям, которые получены на выходе регистра, и

которые подаются по цепи обратной связи.

Таблица 12.1 – Состояние ячеек регистра сдвига с обратной связью для

Выполняемые операции

0 0 0 На начальном этапе регистр обнулен

1 0 0

Опуская ключ в нижнее положение введем в регистр 1 в левую

ячейку “ ”. Получаем последовательность (10), которая

сохраняется в ячейках РСЛОС. Далее ключ переключается в

верхнее положение и больше его значение не меняется.

0 1 0

На следующем этапе содержание РСЛОС сдвигается на одну

ячейку вправо. Это эквивалентно умножению предыдущего

значения на . Таким образом, получаем последовательность

(01), которая соответствует многочлену .

Содержание крайней правой ячейки до этого равнялось нулю, то

есть по цепи обратной связи ничего не передается.

0

1

0

+

1

1

На следующем этапе содержание регистра сдвигается на одну

ячейку вправо, что эквивалентно умножению на x. Содержание

РСЛОС равнялось единице в ячейке “ ”, поэтому после сдвига

это будет уже единица на выходе с РСЛОС (обозначено как

условная ячейка “ ”). Таким образом, по цепи обратной связи

передается единица и в содержимое ячеек, в которые поступают

отводы обратной связи, будет добавлена единица. Такая

операция эквивалентна приведению многочлена по модулю

многочлена

. Результатом будет значение ,

т.е. единицы будут в ячейках “ ” и “ ”.

1 1

x1+x0

x2

2(2 )GF

( )g x

2(2 )GF

2(2 )GF0х 1х 2х

х0 10 1х x x

2х2  1( )g x х х 1х

0х 1х

Page 216: ОСНОВЫ КРИПТОГРАФИИ:

216

Выполняемые операции

0

1

1

+

1

1

На следующем этапе содержимое сдвигается на одну ячейку

вправо, что эквивалентно умножению на x. Получаем значение

. На выходе из РСЛОС появляется единица, т.е.

выполняется приведение многочлена

по модулю

многочлена . Полученное значение равняется

последовательности (10), которая была в начале, т.е. дальнейшие

вычисления будут повторяться.

1 0

Таким образом, на каждом этапе работы РСЛОС в ячейках регистра

хранятся элементы поля, а именно – коэффициенты соответствующих

многочленов .

Приведенный пример не использует аддитивно обратные элементы,

потому как в поле аддитивно обратные совпадают с самими

элементами. Рассмотрим более сложный пример.

Пример. Рассмотрим расширенное поле , построенное через

кольцо троичных многочленов с операциями по модулю многочлена

. Многочлен является примитивным над полем GF(3) и

его коэффициенты лежат в поле . Однако для построения РСЛОС

согласно рисунку 2 в цепи обратной связи не обходимо использовать

аддитивно обратные, а именно:

и

.

Поэтому схема РСЛОС будет следующей (см. рисунок 12.4).

Рисунок 12.4 – Структурная схема регистра сдвига с обратной связью

(конфигурация Галуа) для построения элементов поля

В таблице 12.2 приводится содержание элементов регистра сдвига и

соответствующие действия, которые выполняются в регистре.

0х 1х 2х

2х x2х x

( )g x

0, 1, , 1х х

(2)GF

3(3 )GF

3 2 1( )g x x x ( )g x

(3)GF

1 2 1g

0 1 2g

x1

x2

+

1

x0

2

x3

3(3 )GF

Page 217: ОСНОВЫ КРИПТОГРАФИИ:

217

Таблица 12.2 – Состояние ячеек регистра сдвига с обратной связью для

Выполняемые операции

0 0 0 0 На начальном этапе регистр обнулен

1 0 0 0

Введем в регистр 1 в левую ячейку “х0”. Получаем

последовательность (100), которая сохраняется в ячейках

РСЛОС.

0 1 0 0

Содержимое РСЛОС сдвигается на одну ячейку вправо.

Получаем последовательность (010). По цепи обратной связи

ничего не передается.

0 0 1 0

Содержимое РСЛОС сдвигается на одну ячейку вправо.

Получаем последовательность (001). По цепи обратной связи

ничего не передается.

0

2

0

1

0

+

0 1

Содержимое РСЛОС сдвигается на одну ячейку вправо. По цепи

обратной связи передается. Единица, которая умножается на

соответствующие элементы и добавляется к содержимому

определенных ячеек. Эта операция эквивалентна приведению

многочлена х3

по модулю порождаемого многочлена g(х) =

x3+2x+1. Результатом будет значение х + 2, то есть имеем

последовательность (210). 2 1 0

0 2 1 0

Содержимое РСЛОС сдвигается на одну ячейку вправо.

Получаем последовательность (021). По цепи обратной связи

ничего не передается.

0

2

0

1

2

+

0 1

Содержимое регистра сдвигается на одну ячейку вправо По

цепи обратной связи передается единица, которая умножается

на соответствующие элементы и добавляется к содержимому

определенных ячеек. Эта операция эквивалента привидению

многочлена х3 + 2х

2 по модулю порождаемого многочлена g(х) =

x3+2x+1. Результатом будет значение 2х

2+ х + 2, то есть имеем

последовательность (212). 2 1 2

… … … … Задание для самостоятельной работы. Найти оставшиеся

значения РСЛОС.

Пример. Рассмотрим расширенное поле , построенное через

кольцо троичных многочленов с операциями по модулю неприведенного

многочлена . Для его коэффициентов найдем значения:

, , .

Поэтому схема РСЛОС будет следующей (см. рисунок 12.5).

3(3 )GF0х 1х 2х 3х

2(3 )GF

2 1( 2) 2g x xx

11

2 2 2g 1 2 1g 0 1 2g

Page 218: ОСНОВЫ КРИПТОГРАФИИ:

218

Рисунок 12.5 – Структурная схема РСЛОС в конфигурации Галуа для

неприводимого не приведенного многочлена над

В таблице 12.3 приведены значения ячеек РСЛОС и соответствующие

им многочлены – элементы поля .

Таблица 12.3 – Состояние ячеек РСЛОС в конфигурации Галуа с

Элементы поля

0 0 0

1 0 1

0 1

1 2

2 2

2 0 0 2

2 1

1 1

1 0 1

Последовательность, полученная на выходе РСЛОС, обратные связи

которого заданы примитивным многочленом, имеет период и это

максимальный период последовательностей, которые можно сформировать

с помощью регистра из ячеек и линейной обратной связью. Поэтому такие

последовательности называют последовательностями максимального

периода, или m-последовательностями.

Рассмотрим функционирование линейных регистров в конфигурации

Фибоначчи. На рисунке 12.6 в общем виде приведена структурная схема

РСЛОС для . Обычно используют

приведенный многочлен , для которого . Обозначения на

этом рисунке такие же, как и в рассмотренных выше регистрах в

конфигурации Галуа.

x1

+

1

x0

2

x2

2

(3)GF

2(3 )GF

2 1( 2) 2g x xx

0х 1х2(3 )GF

x

1 2x

2 2x

22x

2 x

1 x

1mp

m

2 1

0 1 2 –1 ( ) m m

m mg g g x g x g x g xx

( )g x 1 1m mg g

Page 219: ОСНОВЫ КРИПТОГРАФИИ:

219

Рисунок 12.6 – Структурная схема РСЛОС (конфигурация Фибоначчи)

Начальное положение элементов регистра сдвига равно нулю. Работа

начинается с подачи на вход схемы единичного символа. На втором и

следующих тактах регистр сдвига заполняется в соответствии работы схемы,

которая задается логикой обратной связи. Обратные связи соответствуют

коэффициентам порождаемого многочлена . Выход крайней правой

ячейки является выходом регистра. РСЛОС в конфигурации Фибоначчи

формируют такую же самую выходную последовательность, как и регистры в

конфигурации Галуа, но содержание ячеек регистра будет другим. Следует

отметить, что нумерация ячеек (по соответствующим степеням многочлена

) в этой конфигурации регистра является обратной.

Пример. Рассмотрим РСЛОС в конфигурации Фибоначчи с

, схема которого приведена на рисунке 12.7.

В таблице 12.4 приведено содержание ячеек регистра сдвига и

соответствующие действия, которые выполняются в регистре.

Рисунок 12.7 – Структурная схема РСЛОС (конфигурация Фибоначчи) с

g(х)=x3+2x+1

Таблица 12.4 – Регистр сдвига с обратной связью Выполняемые операции

0 0 0 На начальном этапе регистр обнулен

1 0 0 Введем в регистр 1 в левую ячейку “ ”. Получаем

последовательность (100), которая сохраняется в

ячейках РСЛОС.

0 1 0

Содержимое РСЛОС сдвигается на одну ячейку вправо.

Получаем последовательность (010). По цепи обратной

связи ничего не передается.

x1

...

-g1

+

x0

-g0

x2

-g2

+

xm-1

-gm-1

+

gm-1

xm

( )g x

( )g x

3 2 1( )g x x x

x1

1

+

x0

2

x2

2х 1х 0х

Page 220: ОСНОВЫ КРИПТОГРАФИИ:

220

Выполняемые операции

1 0 1

Содержимое РСЛОС сдвигается на одну ячейку вправо.

По цепи обратной связи передается единица, которая

записывается в крайнюю левую ячейку. Получаем

последовательность (101).

2 1 1

Содержимое РСЛОС сдвигается на одну ячейку вправо.

По цепи обратной связи передается число 1·2 = 2,

которое записывается в крайнюю левую ячейку.

Получаем последовательность (211).

0 2 1

Содержимое РСЛОС сдвигается на одну ячейку вправо.

По цепи обратной связи передается число 1·1 + 1·2 = 3

mod 3 = 0, которое записывается в крайнюю левую

ячейку. Получаем последовательность (021).

… … … Задание для самостоятельной работы. Найти

оставшиеся значения РСЛОС.

12.2. Примитивные элементы конечных полей

Определение 1. Примитивным элементом поля GF(q) называется

такой элемент , что все элементы поля, за исключением нуля, могут быть

представлены в виде степеней элемента .

Например, в поле GF(5): 21=2, 2

2=4, 2

3=3, 2

4=1, так что 2 является

примитивным элементом поля GF(5).

Примитивные элементы полезны для построения полей, так как если

один из них найден, то, перемножая степени этого примитивного элемента,

можно построить таблицу умножения в поле. В данном разделе будет

показано, что каждое поле содержит примитивный элемент.

Поле образует абелеву группу двояким способом. Множество всех

элементов поля образует абелеву группу по сложению, и множество всех

элементов поля, исключая нуль, образует абелеву группу по умножению. Мы

будем работать с группой по умножению. Согласно следующей теореме,

порядок этой группы делится на порядок каждого её элемента.

Теорема 1. Пусть 1, 2, …,q1 – ненулевые элементы поля GF(q). Тогда

Доказательство. Множество ненулевых элементов поля GF(q) образует

конечную группу по умножению. Пусть – какой-либо ненулевой элемент из

GF(q), и пусть h – порядок этого элемента по умножению. Тогда, согласно

теореме, h делит q1. Следовательно,

2х 1х 0х

1

1 2 11 ( )( ) ( ).q

qx x x x

1 ( 1)/ ( 1)/( ) 1 1,q h q h q h

Page 221: ОСНОВЫ КРИПТОГРАФИИ:

221

так что является корнем многочлена xq11.

Пример. В поле GF(5) имеем:

Теорема 2. Группа ненулевых элементов поля GF(q) по умножению

является циклической.

Доказательство. Если число простое, то теорема тривиальна, ибо

порядок всех элементов, за исключение нуля и единицы, равен , так что

каждый такой элемент примитивен. Доказывать теорему надо только для

составного числа . Рассмотрим разложение числа на простые

множители:

Так как GF(q) – поле, то среди его ненулевых элементов должен

найтись хотя бы один, не являющийся корнем многочлена , поскольку

этот многочлен может иметь не более корней. Следовательно, для

каждого i можно найти такой ненулевой элемент ai поля GF(q), что

.

Пусть и пусть . Докажем, что порядок b равен и,

следовательно, группа является циклической.

Шаг 1. Порядок элемента равен .

Доказательство. Очевидно, что , так что порядок элемента делит

. Он равен числу вида pni

i. Если ni меньше vi, то . Но

и, следовательно, порядок элемента bi равен .

Шаг 2. Порядок элемента b равен q1.

Доказательство. Предположим, что bn=1. Покажем сначала, что из

этого следует равенство n=0(mod pvi

i) для всех i=1,…,s для каждого i можно

записать

2 2

4 3 2 3 2 2 4 4

( 1)( 2)( 3)( 4) ( 3 2)( 2 2)

3 2 2 1 4 2 1 4 4 1.

x x x x x x x x

x x x x x x x x x x

1q

1q

1q 1q

1

1 i

sv

i

i

q p

1q 1

1i

q

px

1

i

q

p

1

1i

q

p

ia

1vii

q

p

i ib a

1

s

i

i

b b

1q

ib iv

ip

1viip

ib

iv

ip 1vi

ip

ib 1

( 1)/1,

vii ip q p

i ib a

iv

ip

( )

1.

v ji

j i

n p

b

Page 222: ОСНОВЫ КРИПТОГРАФИИ:

222

Заменяя b на si=1bi.и используя равенство , находим

Таким образом,

Поскольку pi являются различными простыми числами, то n=0(mod pvi

i)

для каждого i. Следовательно, n==si=1p

vii. Теорема доказана.

Теорема 3. В каждом поле Галуа имеется примитивный элемент.

Доказательство. Так как нулевые элементы поля GF(q) образуют

циклическую группу, то среди них имеется элемент порядка q1. Этот

элемент является примитивным.

Использование примитивного элемента для умножения в поле

иллюстрируется следующими примерами.

Пример 1. В поле GF(8) порядок каждого ненулевого элемента делит 7.

Так как 7 – простое число, то каждый элемент, за исключением нуля и

единицы, имеет порядок, равный 7, и, следовательно, примитивен. Поле GF(8)

можно построить с помощью многочлена .

Для построения всех степеней элемента удобно использовать регистр

сдвига в конфигурации Галуа (см. рисунок 12.8).

Рисунок 12.8 – Схема двоичного регистра сдвига в конфигурации Галуа для

Основываясь на примитивном элементе = x, имеем:

1vi

ip

ib

( )

1.

v ji

j i

n p

b

0(mod ).j iv v

i i

j i

n p p

3  1)       (p x x x

x0 x1+ x2

3  1)       (p x x x

0

2 2

3

4 2

5 2

6 2

7 0

1,

,

,

1,

,

1,

1,

1 .

x

x

x

x x

x x

x

Page 223: ОСНОВЫ КРИПТОГРАФИИ:

223

В таком представлении умножение выполняется легко: например,

.

Проверка:

Пример 2. Порядок каждого элемента в поле GF(16) делит 15. Элемент

может иметь порядок 1, 3, 5 или 15. Поле GF(16) можно построить с помощью

многочлена и примитивного элемента =z имеем (см. рисунок

12.9):

Рисунок 12.9 – Схема двоичного регистра сдвига в конфигурации Галуа для

Основываясь на примитивном элементе = x, имеем:

В таком представлении поля умножение опять просто, например,

.

Проверка:

4 5 9 2

2 2 4 3 2 3 2

4 3 2 2

( )( 1)

( )mod( 1) .

x x x x x x x x x x

x x x x x

4   1)       (p z z z

z0 z1+ z2 z3

4   1)       (p z z z

0

2 2

3 3

4

5 2

6 3 2

7 3

1,

,

,

,

1,

,

,

1,

z

z

z

z

z z

z z

z z

8 2

9 3

10 2

11 3 2

12 3 2

13 3 2

14 3

15 0

1,

,

1,

,

1,

1,

1,

1.

z

z z

z z

z z z

z z z

z z

z

11 12 23 8

3 2 3 2

6 5 4 3 5 4 3 2 4 3 2

6 4 3 4 2 8

( )( 1)

( )mod( 1) 1 .

z z z z z z

z z z z z z z z z z z z

z z z z z z z

Page 224: ОСНОВЫ КРИПТОГРАФИИ:

224

При построении расширения поля в виде множества многочленов

удобно, чтобы многочлену x соответствует примитивный элемент поля. В

этом случае в таблице умножения можно использовать x в качестве основания

логарифмов, и это самое простое из возможных оснований. Такое построение

поля можно осуществить с помощью простых многочленов специального

частного вида, называемых примитивными.

Определение 2. Примитивным многочленом p(x) над полем GF(q)

называется простой многочлен над GF(q) такой, что в расширении поля,

построенном по модулю p(x), соответствующий многочлену x элемент поля

является примитивным.

Для каждого поля Галуа существуют примитивные многочлены всех

степеней. Можно сказать, что примитивный многочлен представляет собой

простой многочлен, корнем которого является примитивный элемент

поля.

12.3. Минимальные многочлены и алгебраическая структура

конечных полей

Определение 1. Число элементов наименьшего подполя поля GF(q)

называется характеристикой поля GF(q).

Теорема 1. Каждое поле Галуа содержит единственное наименьшее

подполе, число элементов которого равно простому числу. Следовательно,

характеристика каждого поля Галуа является простым числом.

Доказательство. Поле содержит элементы 0 и 1. Для задания подполя

рассмотрим подмножество G={0,1,1+1,1+1+1,…}, обозначая его элементы

через {0,1,2,3,…}. Это подмножество является циклической группой по

сложению, которая должна содержать конечное число p элементов. Мы

покажем, что p – простое число и что G=GF(p). Сложение в G является

сложением по модулю p, так как G образует циклическую группу по

сложению. В силу дистрибутивности умножение также должно быть

умножением по модулю p, ибо

где элемент суммируется раз и суммирование ведется по модулю p.

Следовательно, умножение также является умножением по модулю p. По

умножению каждый элемент обратим, так как последовательность {, 2,

3,…} образует циклическую подгруппу в G.

Таким образом, подмножество G содержит единичный элемент,

замкнуто относительно операций сложения и умножения и содержит

элементы, обратные его элементам и по сложению, и по умножению.

Следовательно, оно является подполем, и арифметика в этом подполе есть

(1 1) ,

Page 225: ОСНОВЫ КРИПТОГРАФИИ:

225

арифметика по модулю p. Но это в точности поле, и, следовательно, p должно

быть простым.

Пример 1. Конечное поле GF(8), которое задано через кольцо двоичных

многочленов с операциями по модулю многочлена является

расширением GF(23) двоичного поля GF(2). Поле GF(2) является наименьшим

подполем поля GF(8) и 2- характеристика поля GF(8).

Пример 2. Наименьшим подполем конечного поля GF(81) является поле

GF(3). Поле GF(81), может быть задано через кольцо многочленов с

операциями по модулю многочлена четвертой степени над GF(3).

В поле Галуа GF(q) мы построили подполе GF(p), где p – простое число.

В частности, если q, с которого мы начинаем, само является простым числом,

то, как мы видим, поле GF(q) можно интерпретировать как поле чисел по

модулю q. Следовательно, для заданного простого числа действительно

существует только одно поле с данным числом элементов, хотя, конечно, оно

может быть представлено многими разными способами. Два поля,

различающихся только представлениями, называются изоморфными.

Пример 1. Поле GF(8) можно построить как с помощью многочлена

, так и с помощью многочлена . Основываясь

на примитивном элементе = x, имеем (см. рисунок 12.10):

C помощью C помощью

Рисунок 12.10 – Схема регистров и набор его состояний как элементы

изоморфных представлений GF(8)

Пример 2. Конечное поле GF(16) может быть задано как через кольцо

двоичных многочленов с операциями по модулю двоичного многочлена

3 (         1)  p z z z

3  1)       (p x x x 3  2( )      1 p x x x

3  1)       (p x x x 3  2( )      1 p x x x

x0 x1+ x2 x0 x1 x2

+

0

2 2

3

4 2

5 2

6 2

7 0

1,

,

,

1,

,

1,

1,

1 .

x

x

x

x x

x x

x

0

2 2

3 2

4 2

5

6 2

7 0

1,

,

,

1,

1,

1,

,

1 .

x

x

x

x x

x

x x

Page 226: ОСНОВЫ КРИПТОГРАФИИ:

226

четвертой степени, т.е. как расширение GF(24), так и как расширение GF(4

2)

поля GF(4) через кольцо многочленов над GF(4) с операциями по модулю

многочлена второй степени над GF(4). Поле GF(2) является наименьшим

подполем поля GF(16). Поле GF(4) также является подполем (не наименьшим)

поля GF(16). Поля GF(24) и GF(4

2) отличаются только представлением, т.е.

они изоморфны.

Задание для самостоятельной работы. Постройте конечное поле

GF(42) по примитивному многочлену . Это поле содержит

подполе GF(22), которое построено по примитивному многочлену

.

Мы увидели, что исходное поле GF(q) является расширением поля

GF(p). Теперь рассмотрим многочлены над GF(p), корнями которых являются

некоторые выбранные элементы поля GF(q). Для большей точности введем

следующее определение.

Определение 2. Пусть GF(q) – некоторое поле, и пусть GF(Q) –

расширение поля GF(q), и пусть элемент – элемент GF(Q). Простой

многочлен наименьшей степени над GF(q), для которого ,

называется минимальным многочленом элемента над GF(q).

Пример. Для конечного поля , которое задано через кольцо

двоичных многочленов по модулю , двоичный многочлен

является минимальным многочленом элемента

. Действительно,

,

и

.

Утверждение. Если является минимальным многочленом элемента

, где - простое, тогда является также минимальным

многочленом элементов для любого натурального .

Доказательство. Если с коэффициентами из является

минимальным многочленом элемента , тогда, по определению,

, т.е. - один из корней многочлена . Но в соответствии с

малой теоремой Ферма

для любого простого , т.е. корнями будут и элементы

2   ( ) 3g x x x

2   ( ) 1p z z z

( ) f x ( ) 0f

3(2 )GF3   ( ) 1g x x x

3 2 ( )   1f x x x 3( 1) (2 )x GF

2 2 1x 3 2 3 2 2( 1)( 1) ( 1) mod ( )x x x x x x g x

3 2 2 2    1 (( ) ) ( 1) 1 0f x x

( ) f x

( )mGF p p ( ) f x

( )ip mGF p i

( ) f x ( )GF p

( )mGF p

 ( 0)f  x ( ) f x

modpa a p

p ( ) f x

Page 227: ОСНОВЫ КРИПТОГРАФИИ:

227

 p , , , …,

для любого натурального .

Определение. В силу конечности поля множество элементов

{ , , , …, }

конечно, оно называется классом сопряженных элементов.

Сумма сопряженных элементов называется -ичным следом

элемента :

, .

Пример. Для конечного поля из предыдущего примера двоичный

многочлен является минимальным многочленом элемента

. Следовательно, многочлен является

также минимальным многочленом элементов

,

,

т.е.

.

Элемент

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

.

След элемента равен

.

Теорема. Над GF(qm) q-ичный след принимает в качестве значения

каждое из чисел поля GF(q) одинаково часто, а именно qm1

раз.

Доказательство. Пусть – элемент поля GF(q), а – элемент из GF(qm),

след которого равен . Тогда является корнем многочлена

2

(  )p p p 3

((  ) )p p p p ip

i

( )mGF p

 p2

(  )p p p 3

((  ) )p p p p ip

ip p

( )trace ( )mGF p

1

0

( )i

mp

i

trace

( ) ( )trace GF p

3(2 )GF3 2 ( )   1f x x x

3( 1) (2 )x GF 3 2 ( )   1f x x x

2 2 1x 4 4 2( 1) ( 1)mod ( )x x x g x

3 2 2 4(     1 ( )( )( ))f x x x x x x

8 4 2( 1) ( )mod ( )x x x g x

2 4{ , , }

3(2 )GF

2 4 2 2( ) ( 1) ( 1) ( 1) 1 (2)trace x x x x GF

Page 228: ОСНОВЫ КРИПТОГРАФИИ:

228

Степень этого многочлена равна qm1

, и, следовательно, он имеет не

более qm1

корней. Но всего существует только q таких многочленов, и

каждый из элементов поля GF(qm) является корнем одного из них. Это

доказывает теорему.

Пример. Для конечного поля из предыдущего примера

двоичный след принимает в качестве значения числа «0» и «1» равное число

раз, т.е. 4 раза след равен нулю и 4 разе – единице. Классы сопряженных

элементов, следы и минимальные многочлены для всех элементов конечного

поля , построенного как кольцо многочленов по модулю многочлена

приведено в таблице 12.5.

Таблица 12.5 – Классы сопряженных элементов, следы и минимальные

многочлены элементов конечного поля ,

Классы сопряженных

элементов

Следы Минимальные

многочлены

Задание для самостоятельной работы. Найти следы и минимальные

многочлены для всех элементов конечного поля , построенного как

кольцо многочленов с коэффициентами из степени не выше 1 с

операциями по модулю многочлена .

Теорема. Квадратное уравнение

1 2

.m mq q qx x x x

3(2 )GF

3(2 )GF3( ) 1g x x x

3(2 )GF 3( ) 1g x x x

0 (0) 0trace ( )x x 0 1 (1) 1trace 0( ) 1x x 1 2 4, ,

1

2

4

1 2 4

2 2

( )

( )

( )

( ) ( ) ( ) 0.

trace

x x x x

trace

trace

1 2 4

1 2 4

1 2 1 4 2

3 2

4

1 2 4 3 1

( )( )( )

(

.

)

( )

x x x

x x

x x

x

3 5 6

4 2 1

, ,

, ,

3

5

6

3 5 6

2

2

( 1) ( 1)

( 1

( )

( )

( )

) 1.

trace

trace

trace

x x x

x

3 5 6

3 5 6

3 5 3 6 5 6

3 5 6

3

3

2

2

( )( )( )

( )

( )

1.x

x x x

x x

x

x

2(3 )GF

(3)GF2( ) 2g x x x

Page 229: ОСНОВЫ КРИПТОГРАФИИ:

229

где a – элемент поля GF(2m), имеет корни в поле GF(2

m) тогда и только

тогда, когда двоичный след этого a равен нулю.

Доказательство. Пусть – корень этого квадратного уравнения.

Вычисленный в точке двоичный след соответствующего квадратичного

трехчлена равен

По отношению к сложению след дистрибутивен, а следы элементов и

2 являются одним и тем же элементов поля GF(2). Следовательно,

Обратно, каждое является корнем для некоторого a, а

именно для a, равного . Всего имеется уравнений с двумя

корнями каждое, что завершает доказательство.

Пример. Квадратное уравнение

имеет корни в поле , тогда и только тогда, когда

. Например, уравнение имеет корень .

Покажем, что минимальный многочлен всегда существует и является

единственным.

Теорема 2. Каждый элемент из GF(Q) имеет единственный

минимальный многочлен над GF(q). Если минимальный многочлен элемента

равен f(x) и является корнем многочлена g(x), то f(x) делит g(x).

Доказательство. Прежде всего всегда является корнем многочлена

xQx, представляющего собой многочлен над GF(q). Воспользуемся теоремой

об однозначном разложении:

где множители в правой части – простые многочлены над полем GF(q). Если

– корень левой части, то в правой части должен найтись некоторый член,

корнем которого является . Это может быть только один из членов правой

части, так как над расширением GF(Q) простые многочлены дальше

разлагаются в произведение линейных членов и констант, и может быть

корнем только одного из линейных членов.

Чтобы доказать вторую часть теоремы, положим

2 0,x x a

2tr( ) tr(0) 0.a

tr( ) 0.a

2 0x x a 2( )

12m

2 0,x x a

3(2 )GF 3( ) 1g x x x

1 2 4{0, , , }a 2 4 0x x

1x

1 2( ) ( ) ( ),Q

hx x f x f x f x

Page 230: ОСНОВЫ КРИПТОГРАФИИ:

230

где степень многочлена s(x) меньше степени f(x), так что не может быть его

корнем. Но

следовательно, s(x) должен равняться нулю, и теорема доказана.

Следствие 1. Если f1(x),…,fh(x) – все различные многочлены над GF(q),

являющиеся минимальными для одного или нескольких элементов из GF(Q),

то

Доказательно следует из теоремы, так как каждый такой элемент является

корнем многочлена xQx.

При Q=q разложение сводится к равенству

которое мы уже встречали в предыдущей теореме. Минимальный многочлен

над GF(q) элемента , принадлежащего GF(q), является многочленом первой

степени f(x)=x.

Пример. Для конечного поля , построенного по многочлену

имеем:

,

где под фигурными скобками указаны минимальные многочлены.

Теорема 3. Пусть g(x) – произвольный многочлен над GF(q). Тогда

существует расширение GF(Q), в котором g(x) распадается на произведение

линейных множителей.

Доказательство. Без потери можно предположить, что g(x) приведен.

Построим последовательность расширений

( ) ( ) ( ) ( ),g x f x h x s x

0 ( ) ( ) ( ) ( ) ( );g f h s s

1 2( ) ( ) ( ).Q

hx x f x f x f x

1 2 1( )( ) ( ).q

qx x x x x x

3(2 )GF3( ) 1g x x x

3 3 2

0 1 2 4 3 5 6

1 1 1

2 6 5 3 4 3 3 2

8 7 6 5 4 3 2 7 6 5 4 3 2

8 8

( )( )( )( )( )( )( )( )

( )( 1)

.

x x x x x x

x x x x x x x x

x x x x x x x x x x

x x x x x x x x x x x x x x

x x x x

1 2( ) ( ) ( ) ( )GF q GF Q GF Q GF Q

Page 231: ОСНОВЫ КРИПТОГРАФИИ:

231

по следующему правилу. На каждом шаге запишем g(x) в виде произведения

простых многочленов над GF(Qj). Если еще имеются нелинейные множители,

то выберем один из них, скажем gj(x), и построим расширенные поля GF(Qj),

используя gj(y), в качестве простого модуля. В этом расширении g(x) можно

разложить далее, поскольку новый элемент =y является корнем многочлена

gj(x). Таким образом (в случае необходимости унифицирую обозначения)

будем действовать до тех пор, пока все множители не станут линейными.

Поскольку степень g(x) конечна, этот процесс закончится после конечного

числа шагов.

Определение 3. Любое расширение поля GF(q), в котором многочлен

g(x) над GF(q) распадается в произведение линейных множителей и констант,

называется полем разложения многочлена g(x).

Пример. Многочлен является неприводимым над

. Расширение поля является полем разложения многочлена .

Например, если , тогда

,

где - примитивный элемент .

Теперь у нас есть все необходимое для описания структуры

произвольного поля Галуа.

Теорема 4. Пусть – примитивный элемент поля Галуа GF(Q),

являющегося расширением поля GF(q), и пусть m – степень минимального

многочлена f(x) элемента над GF(q). Тогда число элементов в поле равно

Q=qm и каждый элемент может быть представлен в виде

где am1, …, a0 – элементы поля GF(q).

Доказательство. Очевидно, что каждый элемент вида

принадлежит полю GF(Q). Такое разложение единственно, так как если

– другое представление элемента , то

3   ( ) 1xg x x (2)GF3(2 )GF ( ) g x

3(2 ) (2)[ ] / ( )GF GF x g x

3 1 2 4    1 )( )() ( )(g x x x x x x

x 3(2 )GF

1 2 1

1 2 1 0,m m

m ma a a a

1 2 1

1 2 1 0,m m

m ma a a a

1 2 1

1 2 1 0 ,m m

m mb b b b

1 1

1 1 1 1 0 00 ( ) ( ) ( ),m

m ma b a b a b

Page 232: ОСНОВЫ КРИПТОГРАФИИ:

232

и, следовательно, является корнем многочлена степени m1, что

противоречит выбору числа m. Всего имеется qm таких элементов , и,

следовательно, число элементов поля Q не меньше qm.

С другой стороны, каждый ненулевой элемент поля может быть

представлен в виде некоторой степени элемента . Но если f(x) –

минимальный многочлен элемента , то f()=0. Следовательно,

Полученное равенство можно использовать для того, чтобы выразить элемент

m через сумму меньших степеней элемента :

Полученное соотношение можно повторно применять для редукции

любой степени элемента к линейной комбинации степеней (m1, …, 1

, 0),

что дает

и т.д. Следовательно, каждый элемент поля GF(Q) может быть представлен в

виде линейной комбинации элементов m1, m2

…, , 0, так что Q не может

быть больше qm и теорема доказана.

Следствие (к теореме 4). Каждое поле Галуа содержит pm элементов,

где p – некоторое простое, а m – положительное целое число.

Доказательство. Каждое поле Галуа содержит подполе с p элементами,

к которому надо применить теорему 4.

Заметим, что теорему 4 можно использовать и для того, чтобы связать с

каждым элементом поля некоторый многочлен степени не выше m1 путем

простой замены элемента на неопределенную переменную x. Эти

многочлены можно рассматривать как элементы поля. Складываться и

умножаться они будут по модулю минимального многочлена f(x) элемента .

Это в точности то же самое поле, которое получается в предыдущей теореме,

если в качестве простого многочлена выбрать f(x). Следовательно, число

элементов в каждом поле Галуа равно степени простого числа, и каждое поле

Галуа может быть построено с помощью арифметики по модулю простого

многочлена.

Наконец, мы должны доказать и обратное: такое поле существует для

каждого простого p и целого положительного числа m. Прежде всего

установим некоторые предварительные результаты.

1

1 1 0 0,m m

mf f f

1

1 1 0.m m

mf f f

1 1

1 1 1 0

1 2

2 1 0

( )

,

m m

m m

m

m

f f f f

f f f

Page 233: ОСНОВЫ КРИПТОГРАФИИ:

233

Теорема 5. Пусть характеристика поля GF(q) равна p. Тогда для любых

элементов и из GF(q) и любого положительного целого m

Доказательство. Предположим, что теорема верна для m=1. Тогда

Возведем это равенство в p-ю степень:

и снова используем теорему для m=1:

Повторяя эту процедуру m1 раз, получаем

Следовательно, теорему надо доказать только для m=1,

воспользовавшись биномиальным разложением

видим, что достаточно доказать, что в поле GF(q) выполняется равенство

Но для каждого i

Является целым числом, а p – простое. Следовательно, знаменатель делит

(p1)!, а число кратно p. Таким образом, =0 (mod p), и поскольку

арифметикой целых чисел в поле GF(q) является арифметика по модулю p, то

в GF(q) биномиальный коэффициент =0. Наконец, если p=2, то ()2=2

, а

если p нечетно, то ()p= p

. Это завершает доказательство теоремы.

( ) .m m mp p p

( ) .p p p

(( ) ) ( ) ,p p p p p

2 2 2

( ) .p p p

( ) .m m mp p p

0

( ) ( ) ,p

p p i p i

i

i

0, 1, , 1.p

i i p

!! ( 1)!

!( )! !( )!

p

i

p p p

i p i i p i

p

i p

i

p

i

Page 234: ОСНОВЫ КРИПТОГРАФИИ:

234

Теорема 6. Пусть p – простое, а m – положительное целое число. Тогда

наименьшее поле разложения многочлена , рассматриваемого

над полем GF(p), содержит pm элементов.

Доказательство. Каждый многочлен над GF(p) имеет наименьшее поле

разложения. Пусть GF(Q) – наименьшее поле разложения многочлена

. Тогда в поле GF(Q) многочлен g(x) имеет pm корней (возможно,

кратных). Мы покажем, что pm корней различны и образуют поле. Из этого

будет следовать, что GF(Q) содержит pm элементов.

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

достаточно показать, что оно замкнуто относительно операций сложения и

умножения и содержит обратные для всех ненулевых элементов. Пусть и

– корни многочлена g(x). Согласно теореме 5,

так что – также корень многочлена, и, следовательно, множество

замкнуто относительно операции сложения. Далее,

и таким образом, тоже является корнем. И множество корней замкнуто

относительно операции умножения. Далее, является аддитивным

обратным элементу , так что каждый элемент имеет аддитивный обратный.

Аналогично легко проверить, что если - корень многочлена, то и 1 – также

его корень.

Наконец, проверим, что все pm корней многочлена различны.

Это вытекает из вида формальной производной:

так как ((p))=0 в поле GF(Q). Следовательно, многочлен не имеет

кратных корней.

Теперь мы получили обращение следствия 2.

Следствие. Для каждого простого p и положительного целого числа m

существует поле Галуа с pm элементами.

Покажем, наконец, что если q является не простым числом, а степенью

простого числа, то GF(qm) можно построить как расширение поля GF(q). Для

этого достаточно доказать существования над GF(q) простых многочленов

степени m.

( )mpg x x x

( )mpg x x x

( ) ,m m mp p p

( ) ,m m mp p p

mpx x

1[ ] / (( )) 1 1,m mp m pd x x dx p x

mpx x

Page 235: ОСНОВЫ КРИПТОГРАФИИ:

235

Теорема 7. Для каждого целого положительного m над каждым

конечным полем GF(q) существует хотя бы один простой многочлен степени

m.

Доказательство. Так как q – степень простого числа, то qm также

является степенью простого числа. Согласно следствию 3, существует поле с

qm элементами. Это поле содержит примитивный элемент , и, по теореме 4,

минимальный многочлен этого элемента над GF(q) является простым

многочленом степени m.

Следствие. Для каждого целого положительного m над каждым

конечным полем GF(q) существует хотя бы один примитивный многочлен

степени m.

Доказательство. Пусть – примитивный элемент поля GF(qm), и пусть

f(x) – минимальный многочлен элемента над GF(q). Тогда в поле

многочленов по модулю f(x) примитивный элемент =x является корнем

многочлена f(x), так что многочлен x представляет собой примитивный

элемент поля.

Теорема 8. Каждый элемент поля GF(2m) имеет в этом поле

квадратный корень. Для нечетных простых p половина ненулевых элементов

поля GF(pm) имеет квадратный корень в GF(p

m). Половина ненулевых

элементов поля GF(pm) имеет квадратный корень в расширении GF(p

2m), а не

в GF(pm).

Доказательство. Так как ненулевой элемент поля имеет квадратный

корень в любом поле, то рассматривать надо только ненулевые элементы

поля. Сначала рассмотрим поле GF(2m) характеристики 2 с примитивным

элементом . Тогда порядок элемента является нечетным числом. Каждый

элемент поля может быть записан в виде i для некоторого i, и поэтому

, если i четно, и если i нечетно. В любом случае

является элементом поля GF(2m).

Рассмотрим теперь поле GF(q), характеристика которого равна

простому нечетному числу p, а примитивным элементом является =q+1

, где

– примитивный элемент расширения GF(q2) (порядка q

21=(q+1)(q1)) и q+1

четно, так как q равно степени нечетного простого числа. Любой элемент

может быть записан в виде i или в виде

(q+1)i для некоторого i. Тогда, если i

четно, то и принадлежит полю GF(q2), но не полю GF(q), так как

i(q+1)/2 в этом случае не кратно q+1.

Пример. Для поля квадратные корни всех элементов выписаны

в таблице 12.6.

Таблица 12.6 – Квадратные корни элементов

/2i ( )/2i n

/2i

3(2 )GF

3(2 )GF

0 0 1 1 2 3 4 5 6

0 0 1 (1 7)/2 4 1 (3 7)/2 5 2 (5 7)/2 6 3

Page 236: ОСНОВЫ КРИПТОГРАФИИ:

236

Задания для самостоятельной работы

1. Постройте конечное поле GF(42) по примитивному многочлену

. Это поле содержит подполе GF(22), которое построено по

примитивному многочлену .

2. Найти следы и минимальные многочлены для всех элементов

конечного поля , построенного как кольцо многочленов с

коэффициентами из степени не выше 1 с операциями по модулю

многочлена . Покажите, что

, где - минимальные

многочлены. Представьте все элементы поля в нормальном базисе.

Продемонстрируйте возведение в степень элемента .

4. Найдите все классы сопряженных элементов конечного поля ,

заданного через кольцо двоичных многочленов по модулю .

Найдите все минимальные многочлены и следы всех элементов поля.

Представьте все элементы поля в нормальном базисе.

Продемонстрируйте возведение в степень элемента .

2   ( ) 3g x x x 2   ( ) 1p z z z

2(3 )GF

(3)GF2( ) 2g x x x

9

1 2 8( )( ) ( ) ( )i

i

x x x x x x f x ( )if x

2(3 )GF

3m 2 1a x 5(2 )GF

5 2( ) 1g x x x

5(2 )GF

2m 4 2 1a x x

Page 237: ОСНОВЫ КРИПТОГРАФИИ:

237

13. ВЕКТОРНЫЕ ПРОСТРАНСТВА И ЭЛЕМЕНТЫ ЛИНЕЙНОЙ

АЛГЕБРЫ

13.1. Векторные пространства. Основные свойства

Известный пример векторного пространства дает трехмерное евклидово

пространство, фигурирующее во многих физических задачах. Его обобщением

является n-мерное векторное пространство над полем вещественных чисел.

Понятие n -мерного пространства тесно связано с идеями линейной алгебры и

теории матриц и играет важную роль во многих приложениях.

Для произвольного поля можно дать абстрактное определение

векторных пространств.

Определение 1. Пусть F – некоторое поле. Назовем его элементы

скалярами: . Множество V называется векторным пространством, и

его элементы называются векторами, если для пар элементов и из V

определена операция векторного сложения (обозначается плюсом):

,

а для элементов множества V и элементов поля F определена такая операция

скалярного умножения (обозначается приписыванием):

,

что результат выполнения операции дает элемент из множества V, при этом

выполняются следующие аксиомы:

1) множество V является абелевой группой относительно операции

векторного сложения:

;

2) выполняется закон дистрибутивности:

;

3) выполняется закон ассоциативности: для произвольного вектора v и

произвольных скаляров и выполняется равенство

.

4) нулевой элемент множества V называется началом координат

пространства V и обозначается через 0 как элемент абелевой группы.

ic F

1v 2v

1 2 3v v v V

k i iv c v

1 2 3v v v V

1 2 1 2( )c v v cv cv

1 2 1 2( )c c v c v c v

1c 2c

1 2 1 2( ) ( )c c v c c v

Page 238: ОСНОВЫ КРИПТОГРАФИИ:

238

Пример 1. Будем рассматривать множество векторов длины с

элементами-координатами из поля . Мощность такого векторного

пространства равна 23=8 элементов. Построим векторное пространство и

проверим выполнение аксиом. Имеем:

v0 = (0,0,0) Множество векторов образует абелеву группу, например,

Множество замкнуто относительно операции сложения

«+», причем для всех

,

то есть – единичный элемент.

v1 = (1,0,0)

v2 = (0,1,0)

v3 = (1,1,0)

v4 = (0,0,1)

v5 = (1,0,1)

v6 = (0,1,1)

v7 = (1,1,1)

В векторном пространстве V сумма вида

,

где – скаляры, называется линейной комбинацией векторов v1,…, vk.

Множество векторов v1,…, vk. называется линейно зависимым, если

существует множество не равных нулю скаляров {c1,…,ck}, такое, что

В примере 1 линейно зависимыми векторами будут:

Это означает, что один из векторов можно выразить через линейную

комбинацию других векторов: v2 = v1 + v4 + v7.

Множество векторов, которое не является линейно зависимым,

называется линейно независимым, то есть для которого не найдется ни одной

комбинации ненулевых скаляров ci, обращающих в 0 линейную комбинацию.

Например, в примере 1 вектора v1,v2,v4 линейно независимы. Отметим, что

нулевой вектор 0 не может принадлежать линейно независимому множеству;

каждое множество, содержащее 0, является линейно зависимым.

О множестве векторов говорят, что оно порождает векторное

пространство, если каждый вектор пространства равен хотя бы одной

линейной комбинации векторов из этого множества.

Рассмотрим линейную комбинацию векторов {v1, v6} из примера 1.

Подставим значения скаляров c1, c2 из GF(2) и значения векторов v1, v6 в

линейную комбинацию u. Получим:

3n

(2)GF

1 2 5(1,1,0) (0,1,1) (1,0,1)v v v V

1, ,2 1ni

0 i iv v v

0v

1 1 2 2 ... , ,k k i iu c v c v c v c F v V

ic

1 1 2 2 ... 0.k kc v c v c v

1 2 4 71 1 1 1 0.v v v v

Page 239: ОСНОВЫ КРИПТОГРАФИИ:

239

Множество является векторным пространством,

порожденным векторами v1 и v6. Данное множество является абелевой

группой и является подгруппой V, т.е. . Векторное пространство,

порождаемое конечным множеством векторов, называется конечномерным

векторным пространством. Мы в первую очередь интересуемся

конечномерными векторными пространствами.

Теорема 1. Если векторное пространство V порождено конечным

множеством из k векторов A={v1,…, vk} и V содержит m линейно

независимых векторов B={u1,…,um}, то .

Доказательство. Мы опишем правило построения последовательности

множеств A0, A1, A2,…, Am, таких, что каждое из множеств порождает V,

каждое из множеств содержит k элементов, выбираемых из A и B, и

множество Ar содержит u1,…ur. Таким образом, среди k элементов множества

Am будут содержаться u1,…, um, и следовательно, k ≥ m.

Так как никакая линейная комбинация векторов из B с ненулевыми

коэффициентами не равна нулю, то никакой элемент из B не может быть

представлен в виде линейной комбинации других элементов из B. Если

множество Ar-1 не содержит ur и порождает V, то должен быть способ

представления ur в виде линейной комбинации элементов из Ar-1, включающий

хотя бы один вектор из A (скажем. vj), не принадлежащий множеству B.

Уравнение, задающее эту линейную комбинацию, можно разрешить

относительно vj, представив vj в виде линейной комбинации из ur и других

элементов из Ar-1.

Это построение осуществляется следующим образом. Пусть A0=A. Если

Ar-1 содержит ur, то полагаем Ar=Ar-1; в противном случае ur не принадлежит

множеству Ar-1, но может быть представлен в виде линейной комбинации

элементов из Ar-1, содержащей некоторый элемент vj из A, не принадлежащий

B. Множество Ar образуем из множества Ar-1 заменой vj на ur.

Произвольный вектор v равен некоторой линейной комбинации

элементов из Ar-1 и, следовательно, также элементов из Ar, если исключить

вектор vj, используя линейную комбинацию, связывающую vj и ur с другими

векторами из Ar-1. Следовательно, множество Ar порождает V, и из Ar-1 мы

построили Ar с желаемыми свойствами. Таким образом, множество Am может

быть построено, и доказательство закончено.

Теорема 2. Два множества линейно независимых векторов,

порождающих одно и то же векторное пространство, содержит

одинаковое количество векторов.

0 1 6 7' , , ,{ }V v v v v

'V V

k m

c1 c2 c1v1 + c2v6 = u

0 0 (0,0,0) = v0

1 0 (1,0,0) = v1

0 1 (0,1,1) = v6

1 1 (1,1,1) = v7

Page 240: ОСНОВЫ КРИПТОГРАФИИ:

240

Доказательство. Если одно множество содержит m векторов, а другое k

векторов, то по теореме 1 m ≥ k и k ≥ m, и, следовательно, m=k.

Для случая из примера 1 построим линейные комбинации векторов {v7,

v6} и {v1, v7}. Получим:

c1 c2 c1v7 + c2v6 = u c1 c2 c1v1 + c2v7 = u

0 0 (0,0,0) = v0 0 0 (0,0,0) = v0

1 0 (1,1,1) = v7 1 0 (1,0,0) = v1

0 1 (0,1,1) = v6 0 1 (1,1,1) = v7

1 1 (1,0,0) = v1 1 1 (0,1,1) = v6

Число линейно независимых векторов во множестве, порождающем

конечномерное векторное пространство V, называется размерностью

пространства V. Множество k линейно независимых векторов, порождающее

k-мерное векторное пространство, называется базисом этого пространства.

Это и есть множества {v1,v6}, {v6,v7}, {v1,v7} для примера 1. Базис любого

векторного пространства только один, но с точностью до линейного

преобразования:

Линейное преобразование над данным базисом переводит его в другой

базис – линейно-эквивалентный. Это соответствует сдвигу начала координат

(v0) в другую точку пространства.

Согласно теореме 1, в k-мерном векторном пространстве каждое

множество, содержащее более k векторов, является линейно зависимым.

Теорема 3. В k-мерном векторном пространстве V любые k линейно

независимых векторов образуют базис пространства V.

Доказательство. Пусть {v1,…, vk} – произвольное множество k линейно

независимых векторов из V. Если оно не порождает V, то в V найдется такой

вектор v, что он не равен никакой линейной комбинации векторов v1,…, vk.

Множество {v, v1,…, vk} содержит k+1 линейно независимых векторов из V,

что противоречит теореме 2. Следовательно, множество {v1,…, vk} порождает

V и является базисом.

Если множество линейно независимых векторов k-мерного пространства

не является базисом, то оно должно содержать меньше k векторов.

Дополнение такого множества векторами так, чтобы оно превратилось в

базис, называется пополнением базиса.

Теорема 4. Заданное множество линейно независимых векторов в

конечномерном векторном пространстве всегда может быть дополнено до

множества, образующего базис.

1 6 7

7 1 6

v ;

v .

v v

v v

Page 241: ОСНОВЫ КРИПТОГРАФИИ:

241

Доказательство. Если данное множество не является базисом, то

некоторый вектор пространства не является линейной комбинацией векторов

данного множества. Выберем такой произвольный вектор и присоединим его

к исходному множеству, увеличив объем множества на единицу. Если

полученное множество все еще не является базисом, повторим процесс.

Процесс обязательно оборвется, та как число линейной независимых векторов

в множестве не может превосходить размерность пространства. Полученное

по завершении процесса множество векторов удовлетворяет условиям

теоремы.

Непустое подмножество векторного пространства называется

векторным подпространством, если оно также является векторным

пространством относительно исходных операций векторного сложения и

умножения на скаляр. Относительно операции векторного сложения

векторное пространство является группой, а векторное подпространство

подгруппой. Чтобы установить, что непустое подмножество векторного

пространства образует подпространство, достаточно проверить только

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

на скаляры. Замкнутость относительно умножения на скаляры гарантирует,

что нулевой вектор принадлежит подмножеству; другие необходимо свойства

наследуются из исходного пространства.

Теорема 5. Множество всех линейных комбинаций множества

векторов {v1, …, vk} произвольного векторного пространства V образует

подпространство в V.

Доказательство. Каждая линейная комбинация векторов v1, …, vk

является векторов из V и поэтому множество W всех линейных комбинаций

образует подмножество пространства V. Оно не пусто, так ка 0 принадлежит

W. Мы должны показать, что W является подпространством.

Если

w=b1v1+…+bkvk

и

u=c1v1+…+ckvk

– два произвольных элемента подмножества W, то

w+u=(b1+c1)v1+…+(bk+ck)vk

также принадлежит W.

Далее для произвольного вектора w скалярное кратное вектора w,

aw=ab1v1+…+abkvk,

также принадлежит W. Так как W замкнуто относительно векторного

сложения и умножения на скаляр, то оно является векторным

подпространством.

Page 242: ОСНОВЫ КРИПТОГРАФИИ:

242

Пример 2. Пусть задано поле GF(2), n = 7, |V7| = 27

= 128. Зафиксируем

три линейно независимых вектора:

v1 = (1,0,0,1,0,1,1),

v2 = (0,1,0,1,1,1,0),

v3 = (0,0,1,0,1,1,1).

Их линейная комбинация порождает подпространство из |V3| = 23

= 8

векторов. Построим его и проверим свойства замкнутости относительно

векторного сложения.

c1 c2 c3 c1v1 + c2v2 + c3v3 = u Проверка свойства замкнутости:

v4+v5=(1,1,0,0,1,0,1)+(1,0,1,1,1,0,0)=

=(0,1,1,1,0,0,1)=v6 V3

v6+v3=(0,1,1,1,0,0,1)+(0,0,1,0,1,1,1)=

=(0,1,0,1,1,1,0)=v2 V3

V3 является векторным

подпространством пространства V7.

0 0 0 (0,0,0,0,0,0,0)=v0

1 0 0 (1,0,0,1,0,1,1)=v1

0 1 0 (0,1,0,1,1,1,0)=v2

0 0 1 (0,0,1,0,1,1,1)=v3

1 1 0 (1,1,0,0,1,0,1)=v4

1 0 1 (1,0,1,1,1,0,0)=v5

0 1 1 (0,1,1,1,0,0,1)=v6

1 1 1 (1,1,1,0,0,1,0)=v7

Теорема 6. Если размерность векторного подпространства W

конечномерного векторного пространства V равна размерности V, то W=V.

Доказательство. Обозначим размерность обоих пространств через k.

Выберем в W базис. Он образует множество k линейно независимых векторов

пространства V, поэтому является базисом в V. Следовательно, каждый вектор

из W принадлежит также V.

Для заданного поля F величина (a1,a2,…,an) , составленная из элементов

поля, называется n-последовательностью элементов поля. Относительно

операций покомпонентного сложения и покомпонентного умножения на

скаляры множество n-последовательностей элементов поля F образует

векторное пространство, которое обозначается через Fn. С помощью выбора

базиса v1,…,vn любое конечномерное векторное пространство можно

превратить в пространство n-последовательностей, представляя каждый

вектор

v = a1v1+…+anvn

Page 243: ОСНОВЫ КРИПТОГРАФИИ:

243

n-последовательностью его коэффициентов (a1,…,an). Следовательно, мы

можем ограничиться рассмотрением только векторных пространств n-

последовательностей.

13.2. Поле Галуа как векторное пространство

Рассмотрим неприводимый над многочлен

и расширение поля как

кольцо многочленов с операциями по модулю . Тогда поле Галуа

можно рассматривать как векторное пространство

размерности .

Действительно, каждому многочлену из

поставим в соответствие вектор его коэффициентов .

Операцию сложения многочленов представим в виде покомпонентного

сложения соответствующих векторов. Очевидно, что сформированное

множество векторов будет абелевой группой по сложению с единичным

элементом – нулевым вектором (началом координат).

Пример 3. Рассмотрим расширенное поле , построенное через

кольцо троичных многочленов с операциями по модулю неприведенного

многочлена .

Воспользуемся РСЛОС в конфигурации Галуа (см. рисунок 13.1).

Рисунок 13.1 – Структурная схема РСЛОС в конфигурации Галуа с

над

В таблице 13.1 приведены значения ячеек РСЛОС и соответствующие

им многочлены – элементы поля .

Таблица 13.1 – Состояние РСЛОС с над

Элементы поля Элементы векторного

пространства

0 0 0 {0, 0}

1 0 1 {1, 0}

0 1 {0, 1}

1 2 {1, 2}

( )GF p

0 1 ) ( m

mg g gx x g x ( ) ( )[ ] / ( )mGF p GF p x g x

( )g x

( )mGF p ( )m

mV GF p

m1

0 1 1 ( ) m

mf a a xx x a

( )mGF p 0 1 1}, , { , ma a a

}, , {0 0 , 0

2(3 )GF

2 2( )g xx x

x1

+

2

x0

1x

2

2 2( )g xx x (3)GF

2(3 )GF

2 2( )g xx x (3)GF

0х 1х

2(3 )GF2(3)GF

x

1 2x

Page 244: ОСНОВЫ КРИПТОГРАФИИ:

244

2 2 {2, 2}

2 0 {2, 0}

0 2 {0, 2}

2 1 {2, 1}

1 1 {1, 1}

Многочлен является примитивным над ,

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

и РСЛОС формирует последовательность всех элементов поля

(последовательность максимальной длинны или m-последовательность).

Базисом пространства могут быть выбраны вектора {1, 0} и {0, 1}, которые

соответствуют многочленам и .

Определение 2. Множество степеней примитивного элемента

принято называть полиномиальным или стандартным базисом, а элемент

- генератором базиса. Каждый элемент поля представляется в

полиномиальном базисе единственным образом в виде:

.

Сложение элементов расширенного поля , представленных в

стандартном базисе, сводится к покомпонентному сложению над

соответствующих коэффициентов многочленов, а умножение – к умножению

многочленов с операциями по модулю неприводимого многочлена.

Эквивалентном операции сложения многочленов в является

операция сложения векторов из .

Базис пространства можно выбрать и другим способом.

Например, для реализации быстрого возведения в степень удобен нормальный

базис.

Определение 3. Нормальным базисом называют множество

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

,

где генератор базиса является корнем примитивного многочлена. Каждый

элемент поля представляется в нормальном базисе единственным

образом в виде:

,

2 2x

2

2x

2 x

1 x

2 2( )g xx x (3)GF2(3 )GF

x (3)GF

0 0x 1 1x

x

0 1 2 1{ 1, , , , }m m

x ( )mGF q

0 1 2 1

0 1 2 1

m m

m ma a a a

( )mGF q

( )GF q

( )mGF q

( )mGF q

( )mGF q

0 1 2 2

{ , , , , }m mq q q q

( )mGF q

0 1 2 1

0 1 2 1

m mq q q q

m ma a a a

Page 245: ОСНОВЫ КРИПТОГРАФИИ:

245

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

умножение многочленов в виду справедливости тождества Ферма и

тождества Фробениуса (справедливому для любых

элементов поля может быть оптимизировано (существенно

сокращено число необходимых операций). Действительно, возведение в

степень (равно как и в любую степень ) эквивалентно циклическому

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

Следует заметить, что, хотя нормальный базис существует для любого

расширения конечного поля, не для каждого примитивного многочлена он

может быть задан. Необходимым условием построения нормального базиса

является линейная независимость элементов базиса.

Пример 4. В конечном поле , построенном через кольцо

двоичных многочленов по модулю , элемент

представим в стандартном базисе:

,

где генератором базиса является примитивный элемент поля ,

корень многочлена .

Т.к. - примитивный элемент поля, попробуем использовать его в

качестве генератора нормального базиса:

,

где , и .

Очевидно, что , т.е. множество базисом не

является.

Рассмотрим теперь примитивный многочлен ,

используем его корень в качестве генератора нормального базиса:

,

где , и .

Элементы множества линейно независимы, следовательно,

имеем нормальный базис. Представим, например, элемент в

нормальном базисе:

.

qx x

( )q q qx y x y

( )mGF q

q mq

3(2 )GF3   ( ) 1xg x x ( 1)x

0 1 21 1 0

x 3(2 )GF

( ) g x

2 4{ , , }

x 2 2x 4 2( )x x 4 2 2 4{ , , }

3 2( )    1x xg x

x

2 4{ , , }

x 2 2x 4 2( 1)x x 2 4{ , , }

( 1)x

0 2 40 1 1

Page 246: ОСНОВЫ КРИПТОГРАФИИ:

246

Пример 5. Представим все элементы поля в нормальном базисе

и покажем реализацию возведения в степень через циклический сдвиг

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

использовать генератор - корень примитивного многочлена

.

Результат представления элементов в виде вектора их коэффициентов в

стандартном и нормальном базисе представлен в таблице 13.2.

Таблица 13.2 – Элементы в стандартном и нормальном базисе

Элемент

поля

Стандартный базис Нормальный базис

0 0 0 0 0 0 0

1 1 0 0 1 1 1

0 1 0 1 0 0

0 0 1 0 1 0

1 1 0 0 1 1

0 1 1 1 1 0

1 1 1 0 0 1

1 0 1 1 0 1

Для демонстрации возведения в степень возьмем, например, элемент

. Тогда получим:

, что соответствует циклическому сдвигу вектора

коэффициентов «011» на одну ячейку вправо, т.е. получим вектор «101»;

, что соответствует циклическому

сдвигу вектора коэффициентов «101» на одну ячейку вправо, т.е. получим

вектор «110»;

, что соответствует

циклическому сдвигу вектора коэффициентов «110» еще на одну ячейку

вправо, т.е. получим вектор «011».

Очевидно, что использование нормального базиса очень удобно при

реализации алгоритма быстрого возведения в степень. Напомним, что в

основе этого алгоритма лежит формула

,

где - двоичное представление числа , т.е. и

.

3(2 )GF

2m

x 3 2( )    1x xg x

3(2 )GF

0 1 1 x 2 2x 1 x 2 2x 4 2 1x x

x2x

1x 2x x2 1x x 2 1x

2m

1a x 2 2 1a x

4 4 3 2 2( 1)mod( 1)a x x x x x

8 4 2 3 2( )mod( 1) 1a x x x x x a

1 2 1 0 1 01((...(( 2 ) 2 ) 2 ...) 2 ) 2 2 2 2 2((...((( ) ) ...) )k k k k km m m m m m m mmnx x x x x x

01 m,...,m,m kk n 10,mi

011

1 222 mm...mmn kk

kk

Page 247: ОСНОВЫ КРИПТОГРАФИИ:

247

Тогда, например, для возведения элемента из поля в

произвольную степень (от 0 до ) достаточно выполнить не более 9

циклических сдвигов (возведений в квадрат) и не более 9 умножений25

.

Домашнее задание. Представьте все элементы поля в

нормальном базисе. Продемонстрируйте возведение в степень элемента

.

Таким образом, каждый вектор из пространства n-последовательностей

над GF(q) можно представить многочленом от формальной переменной x

степени не выше n – 1. Компоненты вектора отождествляются с

коэффициентами многочлена. Множество многочленов обладает структурой

векторного пространства, идентичной структуре пространства n-

последовательностей над GF(q), а так же структурой кольца многочленов

GF(q)[x]/(xn – 1).

13.3. Элементы линейной алгебры

Скалярное произведение двух n-последовательностей из Fn:

равно скаляру, определяемому так:

Можно сразу же проверить, что

uv=vu, (cu)v=c(uv)

и

w(u+v)=(wu)+(wv).

Заметим, что скалярное умножение векторов не является

эквивалентом умножения соответствующих многочленов из GF(q)[x]/(xn -

1)26

.

Если скалярное произведение двух векторов равно нулю, то они

называются ортогональными. Ненулевые векторы над GF(q) могут быть

ортогональными сами себе. Вектор, ортогональный к каждому элементу

множества, называется ортогональным к множеству.

Для примера 2

(1,0,0,1,0,1,1)=v1

25

Для записи числа потребуется около 300 десятичных цифр, а для того, чтобы

возвести в такую степень достаточно выполнить не более 9 циклических сдвигов и не более 9 умножений! 26

Эквивалентом умножения многочленов является свертка соответствующих векторов.

a 1023(2 )GF10232 2

2(3 )GF

3m

2 1a x

1 1( ,..., ) v ( ,..., )n nu a a и b b

1 1 1 1( ,..., ) ( ,..., ) ... .n n n nu v a a b b a b a b

1000 10 100 3 100 3002 (2 ) (10 ) 10

Page 248: ОСНОВЫ КРИПТОГРАФИИ:

248

(0,1,0,1,1,1,0)=v2

(0,0,1,0,1,1,1)=v3

вектора v1 и v2 как и вектора v2 и v3 ортогональны друг другу. Однако вектора

v1 и v3 не ортогональны, т.к. их скалярное произведение не равно нулю.

Теорема 7. Пусть V – векторное пространство n-последовательностей

над некоторым полем F, и пусть W – некоторое его подпространство.

Множество векторов, ортогональных к W, также образует

подпространство.

Доказательство. Обозначим через U множество всех векторов,

ортогональных к W. Так как 0 принадлежит U, то U не пусто. Пусть w –

произвольный вектор из W, а u1 и u2 – два произвольных вектора из U. Тогда

wu1=wu2=0 и wu1+wu2=0=w(u1+u2), так что u1+u2 принадлежит U. Также

w(cu1)=c(wu1)=0, и, следовательно, cu1 принадлежит U. Таким образом, U

является подпространством.

Множество векторов, ортогональных к W, называется ортогональным

дополнением W и обозначается через W. В случае конечномерных векторных

пространств над полем вещественных чисел пересечение W и W содержит

только нулевой вектор, но над полем GF(q) подпространство W может иметь

нетривиальное пересечение с W или может даже принадлежать W, либо

содержать W. В действительности можно даже построить примеры

подпространств, которые сами являются своими ортогональными

дополнениями.

Например, над GF(2) подпространство из векторов {(0,0), (1,1)}

пространства всех двоичных последовательности длины 2 совпадает со своим

ортогональным дополнением. Вектор (1,1) ортогонален сам себе.

Теорема 8. Вектор, ортогональный к каждому вектору множества,

порождающего W, принадлежит ортогональному дополнению пространства

W.

Доказательство. Предположим, что множество {w1,…,wn} порождает

W. Вектор w из W можно записать в виде w=c1w1+…+cnwn. Тогда

Если u ортогонален к каждому wi, то он ортогонален к каждому w из W.

Если размерность подпространства W в векторном пространстве n-

последовательностей равна k, то размерность ортогонального дополнения W

равна n-k.

Теорема 9. Пусть W – подпространство в пространстве n-

последовательностей, и пусть W – его ортогональное дополнение. Тогда W

представляет собой ортогональное дополнение подпространства W.

1 1 1 1( ... ) ... .n n n nw u c w c w u c w u c w u

Page 249: ОСНОВЫ КРИПТОГРАФИИ:

249

Доказательство. Пусть размерность W равна k. Тогда, согласно

теореме, размерность W равна n-k, а размерность ортогонального дополнения

пространства W равна k. Но каждый вектор из W ортогонален W

.

Следовательно, W содержится в ортогональном дополнении к W и имеет ту

же самую размерность, так что эти подпространства совпадают.

Алгоритм нахождения базисных векторов ортогонального

дополнения через приведение генераторных матриц к каноническому

виду. Зафиксируем конечное поле . Пусть – базисные

вектора подпространства , где - пространство n-

последовательностей над :

,

,

,

.

Обозначим через – базисные вектора подпространства

причем подпространства (являются ортогональными

дополнениями друг друга):

,

,

,

.

Составим из элементов векторов и

соответствующие (генераторные) матрицы:

, .

Из условия ортогональности следует

,

( )GF q 1 2, , , kg g g

k nV W nW

( )GF q

1 11 12 1 , , , ng g g g

2 21 22 2 , , , ng g g g

1 2 , , , k k k kng g g g

,, : ( )i ji j g GF q

1 2, , , rh h h

,r nU W k rV U

1 11 12 1 , , , nh h h h

2 21 22 2 , , , nh h h h

1 2 , , , r r r rnh h h h

,, : ( )i ji j h GF q

1 2, , , kg g g 1 2, , , rh h h

11 12 1

21 22 2

1 2

...

...

... ... ... ...

...

n

n

k k kn

g g g

g g gG

g g g

11 12 1

21 22 2

1 2

...

...

... ... ... ...

...

n

n

r r rn

h h h

h h hH

h h h

k rV U

, : 0i ji j g h

Page 250: ОСНОВЫ КРИПТОГРАФИИ:

250

что в матричном виде соответствует записи

.

Если известна матрица G, тогда для нахождения элементов матрицы H

(векторов ) необходимо решить систему линейных уравнений

,

причем число уравнений равно kr, а число неизвестных равно nr, т.е.

существует множество равноценных (в смысле нахождения совокупности

базисных векторов) решений.

Для быстрого поиска одного из возможных решений приведем

генераторные матрицы G и H (посредством линейных преобразований) к

каноническому виду:

,

,

где – единичная подматрица, и - соответствующие подматрицы,

полученные в результате линейных преобразований матриц G и H.

Теперь выражение

соответствует системе из kr уравнений и kr неизвестных, причем решение

этой системы позволяет по известной матрице G* найти матрицу H*, где

.

Пример 6. Пусть векторное пространство над задано

базисными векторами

,

,

.

Найдем базис ортогонального дополнения , .

Для этого запишем базис пространства в матричной форме:

.

0TGH

1 2, , , rh h h

, : 0i ji j g h

*G I P

* *H P I

I P *P

* * 0TG H

* TP P

3 4V W (3)GF

1 1, 0, 1, 1g

2 1, 2, 1, 2g

3 1, 1, 2, 2g

41U W 13V U

3 4V W

1 0 1 1

1 2 1 2

1 1 2 2

G

Page 251: ОСНОВЫ КРИПТОГРАФИИ:

251

Приведем матрицу к канонической форме посредством линейных

преобразований. Ко второй и третьей строке прибавим первую строку,

умноженную на 2, получим:

.

Теперь добавим вторую строку к третьей, а вторую строку умножим на

два, получим:

.

Прибавим к первой строке третью строку, умноженную на 2. Получим

матрицу в каноническом виде:

.

Таким образом, имеем:

, .

Следовательно, базис ортогонального пространства в матричном виде

может быть записан как:

.

Для проверки перемножим любую строку из на строку из ,

получим 0, т.е. действительно задает базис ортогонального дополнения

, .

13.4 Определение и основные свойства групповых кодов.

Матричное описание линейных блоковых кодов

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

конечным алфавитом, скажем над алфавитом из q символов {0, 1, 2, …, q1}.

G

1 0 1 1

0 2 0 1

0 1 1 1

1 0 1 1

0 1 0 2

0 0 1 2

1 0 0 2

* 0 1 0 2

0 0 1 2

G

2

2

2

P

* 2 2 2 1 1 1TP P

* 1 1 1 1H

*G *H*H

41U W 13V U

Page 252: ОСНОВЫ КРИПТОГРАФИИ:

252

Определение 4. Блоковый код мощности M над алфавитом из q

символов определяется как множество из M q-ичных последовательностей

длины n, называемых кодовыми сигналами или кодовыми словами.

Если q = 2, то символы называются битами. Обычно M = qk для

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

называя код (n, k)-кодом. Каждой последовательности из k q-ичных символов

можно сопоставить последовательность из n q-ичных символов, являющуюся

кодовым словом.

Блоковый код задает блок из k информационных символов n-

символьным кодовым словом. Относительная скорость R блокового кода

определяется равенством

О блоковом коде судят по трем параметрам: длине блока n,

информационной длине k и минимальному расстоянию d. Минимальное

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

слов. Минимальное расстояние вводится двумя следующими определениями.

Определение 5. Расстоянием по Хэммингу между двумя q-ичными

последовательностями x и y длины n называется число позиций, в которых

они различны. Это расстояние обозначается через d(x, y).

Например, возьмем x=10101 и y=01100, тогда имеем d(10101, 01100)=3.

В качестве другого примера, возьмем x=30102 и y=21103, тогда d(30102,

21103)=3.

Определение 6. Пусть С={ci, i=0, …, M 1} – код. Тогда минимальное

расстояние кода С равно наименьшему из всех расстояний по Хэммингу

между различными парами кодовых слов, т.е.

(n, k)-код с минимальным расстоянием d называется также (n, k, d)-

кодом.

Очевидно, что линейный (n, k, d) код С над GF(q) есть подпространство

пространства n-последовательностей над GF(q).

Определение 7. Линейный код есть подпространство в .

Таким образом, линейный код есть непустое множество n-по-

следовательностей над GF(q), называемых кодовыми словами, такое, что

сумма двух кодовых слов является кодовым словом, и произведение любого

кодового слова на элемент поля также является кодовым словом. В любом

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

всегда есть кодовое слово. Точнее, если с – кодовое слово, то с также

кодовое слово и, следовательно, с+(с) тоже будет кодовым словом.

Каждое слово в линейном коде связано с остальными словами кода так

/ .R k n

,min ( , ).i j

i j

i jc c C

d d c c

k nV W

( )nGF q

Page 253: ОСНОВЫ КРИПТОГРАФИИ:

253

же, как любое другое кодовое слово. Расположение соседних кодовых слов

вокруг нулевого слова есть типичное расположение слов вокруг любого

другого кодового слова. Например, предположим, что с – некоторое кодовое

слово и c1, ..., сr – кодовые слова, находящиеся на некотором расстоянии d от

с; тогда сс – нулевое слово и с1с, с2с, ..., сrс – кодовые слова, находящиеся

на расстоянии d от нулевого слова. Таким образом, для определения

минимального расстояния линейного кода достаточно определить расстояние

между нулевым словом и ближайшим к нему другим кодовым словом.

Определение 8. Вес Хэмминга кодового слова равен числу его

ненулевых компонент. Минимальный вес кода есть минимальный вес

ненулевого кодового слова.

Теорема 10. Для линейного кода минимальное расстояние d* находится

из равенства

где минимум берется по всем кодовым словам, кроме нулевого.

Доказательство.

Следовательно, для нахождения линейного кода, исправляющего t

ошибок, необходимо найти линейный код с минимальным весом,

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

Изучение метрических свойств линейных кодов много проще, чем

нелинейных.

Например, для случая из примера 6 имеем (n = 4, k = 3, d) код над

GF(3). Его ортогональное дополнение есть (n = 4, k = 1, d*) код над GF(3).

Задание для самостоятельной работы. Найдите все элементы этих

подпространств и рассчитайте кодовые расстояния.

Предположим, что передано некоторое кодовое слово по каналу с

ошибками и в канале произошла одиночная ошибка. Тогда принятое слово

находится на равном 1 расстоянии по Хэммингу от переданного слова. В

случае, когда расстояние до каждого другого слова больше чем 1, устройство

декодирования (декодер) исправит ошибку, если положит, что действительно

переданным словом было ближайшее к принятому кодовое слово.

В более общем виде если произошло t ошибок и если расстояние от

принятого слова до каждого другого кодового слова больше t, то декодер

исправит эти ошибки, приняв ближайшее к принятому кодовое слово в

качестве действительно переданного. Это всегда будет так, если

( )w c c

*w

0min ( ) *,

cd w c w

0, ,

min ( , ) min (0, ) min ( ).i j i j

ci j i j

i j i jc c C c c C c C

d d c c d c c w c

* 2 1.w t

Page 254: ОСНОВЫ КРИПТОГРАФИИ:

254

Иногда удается исправлять конфигурацию из t ошибок даже тогда, когда

это неравенство не удовлетворяется. Однако если d<2t+1, то исправление

любых t ошибок не может быть гарантировано, так как тогда оно зависит от

того, какое слово передавалось и какова была конфигурация из t ошибок

внутри блока.

Геометрическая иллюстрация процесса декодирования дается на

рисунке 13.2. В пространстве всех q-ичных n-последовательностей выбрано

некоторое множество n-последовательностей, объявленных кодовыми

словами. Если d – минимальное расстояние этого кода, а t – наибольшее целое

число, удовлетворяющее условию d 2t+1, то вокруг каждого кодового слова

можно описать непересекающиеся сферы радиуса t. Принятые слова,

лежащие внутри сфер, декодируются как кодовое слово, являющееся центром

соответствующей сферы. Если произошло не более t ошибок, то принятое

слово всегда лежит внутри соответствующей сферы и декодируется

правильно.

Рисунок 13.2 – Сферы декодирования (задача упаковки шаров)

Некоторые принятые слова, содержащие более t ошибок, попадут

внутрь сферы, описанной вокруг другого кодового слова, и будут

декодированы неправильно. Другие принятые слова, содержащие более t

ошибок, попадут в промежуточные между сферами декодирования области. В

зависимости от применения последний факт можно интерпретировать одним

из двух способов.

Неполный декодер декодирует только те принятые слова, которые

лежат внутри сфер декодирования, описанных вокруг кодовых слов.

2 1.d t

Page 255: ОСНОВЫ КРИПТОГРАФИИ:

255

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

декодер объявляет нераспознаваемыми. Такие конфигурации ошибок при

неполном декодировании называются неисправляемыми. Большинство

используемых декодеров являются неполными декодерами.

Полный декодер декодирует каждое принятое слово в ближайшее

кодовое слово. Геометрически это представляется следующим образом:

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

их к сферам так, что каждая точка попадает в ближайшую сферу. Обычно

некоторые точки находятся на равных расстояниях от нескольких сфер; тогда

одна из этих сфер произвольно объявляется ближайшей. Если происходит

более t ошибок, то полный декодер часто декодирует неправильно, но бывают

и случаи попадания в правильное кодовое слово. Полный декодер

используется в тех случаях, когда лучше угадывать сообщение, чем вообще не

иметь никакой его оценки.

Задача неполного декодирования тесно связана с т.н. задачей упаковки

шаров: найти такой способ размещения шаров (см. рисунок 13.2), чтобы при

заданном их числе максимизировать радиус t. Значение t называют радиусом

упаковки кода. Очевидно, что при плотной упаковке (с наибольшим радиусом

t при фиксированном числе шаров/числе кодовых слов) неполный декодер

будет исправлять наибольшее число ошибок.

Если при упаковке шаров остались точки векторного пространства из

всех n-последовательностей, тогда такая упаковка не совершенна. Если шары

упаковки содержат все точки этого пространства, такая упаковка совершенна,

соответствующий код называют совершенным. Радиус сфер, которые

покрывают все точки векторного пространства называют радиусом покрытия

кода. Для совершенного кода радиусы упаковки и покрытия совпадают.

Пример 4 (двоичный код Хемминга длины 7). Рассмотрим векторное

пространство из двоичных последовательностей длины 7. Зададим его

подпространство генераторной матрицей

.

Этот код содержит 24 = 16 векторов (кодовых слов) с минимальным

весом Хемминга равным d = 3, т.е. имеем (7, 4, 3) двоичный код (Хемминга).

Радиус упаковки кода равен t = 1.

Проверим код на совершенность. Для этого рассчитаем число векторов,

покрываемых сферами упаковки кода, и сравним его с общим числом

двоичных последовательностей длины 7.

1 0 0 0 1 1 0

0 1 0 0 0 1 1

0 0 1 0 1 1 1

0 0 0 1 1 0 1

G

Page 256: ОСНОВЫ КРИПТОГРАФИИ:

256

Всего сфер 16, в каждой сфере 8 векторов: центр сферы и 7 векторов

отличающихся по Хеммингу от центра сферы на 1 позицию. Таким образом

всего упаковано 168 = 128 векторов. Всего имеется 27 = 128 двоичных

последовательностей длины 7, т.е. данный код является совершенным.

Рассмотрим ортогональное дополнение, базис которого задан матрицей

, .

Соответствующий двоичный код имеет параметры (7, 3, 4), его

называют дуальным к исходному (7, 4, 3) коду. Проверим дуальный код на

совершенность. Радиус упаковки кода равен t = 1 и число упакованных

векторов равно 238 = 64, следовательно код не совершенен.

Задание для самостоятельной работы. Найдите все элементы

(кодовые слова) двоичных (7, 3, 4) и (7, 4, 3) кодов, проверьте значения d для

этих подпространств.

Линейный код С образует подпространство в GF(q). Для изучения этих

кодов будет полезна теория линейных пространств. Любое множество

базисных векторов может быть использовано в качестве строк для построения

(kn)-матрицы G, которая называется порождающей матрицей кода.

Пространство строк матрицы G есть линейный код С, любое кодовое слово

есть линейная комбинация строк из G. Множество qk кодовых слов называется

линейным (n, k)-кодом. Строки матрицы G линейно независимы, и число

строк k равно размерности подпространства. Размерность всего пространства

GFп(q) равна п. Всего существует qk кодовых слов, и qk

различных k-

последовательностей над GF(q) могут быть отображены на множество

кодовых слов.

Любое взаимно однозначное соответствие k-последовательностей и

кодовых слов может быть использовано для кодирования, но наиболее

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

c=iG,

где і — информационное слово, представляющее собой k-последовательность

кодируемых информационных символов, а с – образующая кодовое слово n-

последовательность. Задаваемое последним равенством соответствие между

информационным и кодовым словами определяет кодер и зависит от выбора

базисных векторов в качестве строк матрицы G; в то же время само

множество кодовых слов не зависит от этого выбора.

В качестве простого примера двоичного блокового кода рассмотрим

порождающую матрицу

1 0 1 1 1 0 0

1 1 1 0 0 1 0

0 1 1 1 0 0 1

H

0TGH

Page 257: ОСНОВЫ КРИПТОГРАФИИ:

257

В этом случае информационное слово

будет кодироваться в кодовое слово

Порождающая матрица является сжатым описанием линейного кода.

Сравните двоичный линейный (100,50)-код, для описания которого требуется

10050=5000 битов, определяющих элементы матрицы G, с произвольным

(100, 50)-кодом, имеющим 250

кодовых слов и требующим для описания

примерно 1017

битов.

Поскольку С является подпространством, оно имеет ортогональное

дополнение С, которое состоит из всех векторов, ортогональных к С.

Ортогональное дополнение также является подпространством и, таким

образом, может рассматриваться как код. Когда С само рассматривается как

код, оно называется кодом, дуальным к С. Ортогональное дополнение С

имеет размерность пk, и любой его базис также состоит из пk векторов.

Пусть Н – матрица со строками, являющимися этими базисными векторами.

Тогда п-последовательность с является кодовым словом в том и только том

случае, когда они ортогональна каждой вектор-строке матрицы Н, т. е. когда

Это равенство позволяет проверить, является ли данное слово кодовым.

Матрица Н называется проверочной матрицей кода. Она является (пk)п

матрицей; поскольку равенство сНт = 0 выполняется при подстановке вместо с

любой строки матрицы G, то

Для порождающей матрицы G, рассмотренной в предыдущем примере,

получаем

10010

01001 .

00111

G

0 1 1i

1 0 0 1 0

01  1  0 1 0 0 1 01  1  1   0

0 0 1 1 1

с

TcH =0.

TGH =0.

Page 258: ОСНОВЫ КРИПТОГРАФИИ:

258

что является одним из возможных выборов матрицы Н. Заметим, что точно

так же, как существует много способов выбора матрицы G, существует много

способов выбора матрицы Н.

Теорема 1. Порождающая матрица кода С является проверочной

матрицей дуального кода С

.

Доказательство непосредственно следует из предыдущих рассуждений.

Связь минимального веса кода и проверочной матрицы устанавливается

следующей теоремой.

Теорема 2. Код С содержит ненулевое кодовое слово веса Хэмминга не

более w тогда и только тогда, когда Н содержит множество из w линейно

зависимых столбцов.

Доказательство. Для любого кодового слова с выполняется равенство

сНT =0. Пусть с имеет вес w. Исключим из рассмотрения нулевые компоненты

вектора с. Полученное равенство будет соотношением линейной зависимости

w столбцов из Н., следовательно, Н содержит множество из w линейно

зависимых столбцов.

Обратно, если Н содержит множество из w линейно зависимых

столбцов, то найдется равная нулю линейная комбинация, составленная не

более чем из w столбцов. Соответствующие w ненулевых коэффициентов

определяют вектор веса не более w, для которого СHT= 0.

Следствие 1. Код имеет минимальный вес не менее w тогда и только

тогда, когда каждое множество из w1 столбцов матрицы H линейно

независимо.

Отсюда следует, что для того чтобы найти (n, k)-код, исправляющий t

ошибок, достаточно найти (пk)n-матрицу Н, в которой любые 2t столбцов

линейно независимы.

Из данного (п, k)-кода с минимальным расстоянием d* можно получить

новый код с теми же параметрами, если в каждом кодовом слове выбрать две

позиции и поменять местами символы в этих позициях. Однако в этом случае

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

исходного. Говорят, что такой код эквивалентен исходному. Вообще два

линейных кода, одинаковых с точностью до перестановки координат,

называются эквивалентными.

Порождающие матрицы G и G' эквивалентных кодов просто связаны

друг с другом. Сам код является пространством строк матрицы G и поэтому

остается неизменным при элементарных операциях над строками.

Перестановка координат кода эквивалентна перестановке столбцов в матрице

G. Таким образом, два кода эквивалентны тогда и только тогда, когда их

порождающие матрицы получаются одна из другой посредством:

1) перестановки столбцов и

1 0 1 1 0H ,

0 1 1 0 1

Page 259: ОСНОВЫ КРИПТОГРАФИИ:

259

2) элементарных операций над строками.

Каждая порождающая матрица G эквивалентна некоторой матрице

канонического ступенчатого вида, и, поскольку строки G линейно

независимы, все строки эквивалентной матрицы являются ненулевыми.

Следовательно, с точностью до перестановки столбцов любая порождающая

матрица эквивалентна матрице, которая в первых k столбцах содержит

единичную подматрицу размером kk. Эквивалентную матрицу можно

записать в виде

где Р есть k(nk)-матрица. Любая порождающая матрица может быть

приведена к такому частному виду при помощи последовательности

элементарных операций над строками и последующей перестановки столбцов.

Такую порождающую матрицу будем называть порождающей матрицей в

систематическом виде.

Предположим, что G = [1 Р]. Тогда естественным определением

проверочной матрицы в систематическом виде, очевидно, является равенство

Н = [PT

1], поскольку

Определение 4. Систематическим кодом называется код, у которого

каждое кодовое слово начинается с информационных символов. Оставшиеся

символы называются проверочными символами.

Принято говорить о систематическом коде, хотя это всегда означает

систематическое кодирование соответствующего кода

Теорема 3. Каждый линейный кед эквивалентен систематическому

линейному коду.

Доказательство. Систематический линейный код кодируется

умножением информационного вектора на порождающую матрицу G в

систематическом виде, а каждая порождающая матрица G эквивалентна

некоторой систематической матрице. В качестве примера выберем

тогда i = [0 1 1] при систематическом кодировании отобразится в слово с = [0

1 1 1 0].

Рассматривая код в систематическом виде, можно получить простое

G=[1 P],

1    0.

1

[ ]T

P

GH P P P

1 0 0 1 01 0 1 1 0

0 1 0 0 1 , ;0 1 1 0 1

0 0 1 1 1

G H

Page 260: ОСНОВЫ КРИПТОГРАФИИ:

260

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

неточной, и большинство хороших кодов имеет минимальное расстояние,

существенно меньшее, чем следует из границы, но бывают случаи, когда она

оказывается полезной. Пусть задан некоторый систематический (n, k)-

линейный код с минимальным расстоянием d*. Следующая теорема

накладывает ограничение на возможные значения (n, k, d*).

Теорема 4. (граница Синглтона). Минимальное расстояние

(минимальный вес) любого линейного (n, k)-кода удовлетворяет неравенству

Доказательство. Ненулевое слово минимального веса в коде имеет вес

d*. Существуют слова систематического кода с одним ненулевым

информационным символом и nk проверочными символами. Такое кодовое

слово не может иметь вес, больший 1+nk. Таким образом, минимальный вес

кода не может быть больше 1+nk.

Определение 5. Любой код с минимальным расстоянием,

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

называется кодом с максимальным расстоянием.

Граница Синглтона показывает, что для исправления t ошибок код

должен иметь не менее 2t проверочных символов (2 проверочных символа на

ошибку). Большинство кодов, даже оптимальных, имеют намного больше

проверочных символов, чем требует граница Синглтона, но параметры

некоторых кодов удовлетворяют границе с равенством. Коды с максимальным

расстоянием имеют точно 2t проверочных символов.

Стандартное расположение

Поскольку разность двух кодовых слов линейного кода является

кодовым словом, нулевое слово всегда будет кодовым. Если мы знаем, какое

множество принятых слов линейного кода лежит ближе всего к нулевому

слову, то с помощью простого сдвига начала координат нетрудно выяснить,

какие из принятых слов лежат ближе всего к любому другому кодовому

слову.

Пусть d* нечетно и d*=2t+1. Внутри сферы радиуса t с центром в

нулевом слове находится множество точек

Эта сфера содержит все принятые слова, которые декодируются в

нулевое кодовое слово. Внутри сферы радиуса t с центром в кодовом слове с

находится множество точек

* 1 .d n k

* 1 ,d n k

0 {v | (0,v) }.S d t

Page 261: ОСНОВЫ КРИПТОГРАФИИ:

261

тогда

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

сферы декодирования или (что эффективнее) внутри сферы декодирования с

центром в нулевом слове, а точки, лежащие внутри других сфер получать по

мере необходимости с помощью простого сдвига.

Стандартное расположение представляет собой способ описания всех

этих сфер. Пусть 0, с2, с3, .... сqk суть qk кодовых слов (n, k)-кода. Построим

таблицу следующим образом. В первой строке выпишем все кодовые слова.

Из оставшихся в GFn(q) слов, лежащих на расстоянии 1 от нулевого слова,

выберем любое и обозначим его v1. Во второй строке запишем 0+v1, с2+v1,

с3+v1, …, сqk+v1. Таким же, образом строятся следующие строки. На j-м шаге

выберем слово vj, которое является ближайшим к нулевому и отсутствует в

предыдущих строках, и запишем в j-й строке 0+vj, с2+vj, с3+vj, …, сqk+vj. Эта

процедура закончится, когда после очередного шага не останется

неиспользованных слов.

Если рассматривать код как подгруппу, то описанная процедура

порождает смежные классы по этой подгруппе:

с1 = 0 с2 с3 … сqk;

0+v1 с2+v1 с3+v1 … сqk+v1;

… … … … …

0+vj с2+vj с3+vj … сqk+vj.

Следовательно, процесс закончится, когда каждое слово в таблице

встретится ровно один раз. По теореме Лагранжа всего в таблице будет qnk

строк. Слова из первого столбца называются лидерами смежных классов.

Первый столбец содержит все слова, лежащие внутри сферы

декодирования с центром в нулевом слове, т. е. все слова, находящиеся на

расстоянии не более t от нулевого. Во втором столбце содержаться все слова,

лежащие внутри сферы декодирования с центром в слове с2 и т.д.

В качестве примера рассмотрим (5, 2, 3)-код с порождающей матрицей

Этот код позволяет исправлять одну ошибку. Стандартное

расположение выглядит следующим образом (см. таблицу 13.3).

c {v | (c,v) }.S d t

c 0 0c {v+c | v S }.S S

1 0 1 1 1  .

0 1 1 0 1G

Page 262: ОСНОВЫ КРИПТОГРАФИИ:

262

Таблица 13.3 – Таблица стандартного расположения

(0,0,0,0,0) (1,0,1,1,1) (0,1,1,0,1) (1,1,0,1,0)

(1,0,0,0,0) (0,0,1,1,1) (1,1,1,0,1) (0,1,0,1,0)

(0,1,0,0,0) (1,1,1,1,1) (0,0,1,0,1) (1,0,0,1,0)

(0,0,1,0,0) (1,0,0,1,1) (0,1,0,0,1) (1,1,1,1,0)

(0,0,0,1,0) (1,0,1,0,1) (0,1,1,1,1) (1,1,0,0,0)

(0,0,0,0,1) (1,0,1,1,0) (0,1,1,0,0) (1,1,0,1,1)

Сферы радиуса 1 не пересекаются. Имеются всего четыре сферы, шесть

точек внутри каждой сферы, т.е. сферами покрыто 24 точки. Всего в

пространстве имеется 32 точки, т.е. 8 точек не вошли в сферу.

Линейный код, для которого радиус покрытия совпадает с радиусом

упаковки, называют совершенным. Для совершенного кода все точки будут

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

все точки пространства.

Пример. Код (7, 4, 3)27

, заданный порождающей матрицей (см. пример 4)

является совершенным.

Действительно, всего сфер (столбцов таблицы стандартного

расположения) равно , в каждом столбце 8 строк, т.е. всего сферами

покрыто 128 точек. Это все точки из векторного пространства .

Очевидно, что ценность стандартного расположения относительна. Для

больших n и k составлять такую таблицу не практично. Таблицу можно

упростить, если мы сможем помнить только первый столбец и находить

остальные столбцы по мере необходимости. Это можно сделать, введя

понятие синдрома ошибок.

Для любого принятого вектора v определим синдром равенством

Теорема 5. Все векторы из одного смежного класса имеют одинаковый

синдром, присущий только этому смежному классу.

Доказательство. Если v и v лежат в одном смежном классе, то v=сi+у,

v=сj+у, для некоторого у и кодовых слов Сi и Сj. Для любого кодового слова с

выполняется равенство сНT=0. Отсюда получаем

27

Это хорошо известный двоичный код Хемминга

5(2)GF

1 0 0 0 1 1 0

0 1 0 0 0 1 1

0 0 1 0 1 1 1

0 0 0 1 1 0 1

G

42 167(2)GF

Ts=vH .

Page 263: ОСНОВЫ КРИПТОГРАФИИ:

263

и, следовательно, s=s. Обратно, допустим, что s=s, тогда (vv)Нт=0, и

поэтому разность vv является кодовым словом. Следовательно, v и v

принадлежат одному смежному классу.

Любые два вектора из одного смежного класса имеют одинаковый

синдром. Следовательно, нам необходимо только свести в таблицу синдромы

и лидеры смежных классов. Затем мы можем производить декодирование

следующим образом. По принятому вектору v вычисляем синдром и находим

соответствующий этому синдрому лидер смежного класса. Этот лидер

является разностью между принятым словом и каждым словом, которое

одновременно является центром сферы кодирования. Таким образом, мы

исправим ошибку, вычтя из слова v лидер смежного класса.

В примере, приведенном выше, проверочной матрицей будет

и новая таблица запишется в виде

Лидеры

смежных

классов

Синдромы

0 0 0 0 0

0 0 0 0 1

0 0 0 1 0

0 0 1 0 0

0 1 0 0 0

1 0 0 0 0

0 0 0

0 0 1

0 1 0

1 0 0

1 0 1

1 1 1

0 0 0 1 1

0 0 1 1 0

0 1 1

1 1 0

Эта таблица проще, чем стандартное расположение. Предположим, что

принят вектор v=10010. Тогда s = VНТ=101. Лидер смежного класса будет

равен 01000. Отсюда получим, что переданное слово равно

1001001000=11010, а информационное слово равно 11.

Задания для самостоятельной работы

1. Представьте все элементы поля в нормальном базисе.

Продемонстрируйте возведение в степень элемента .

T T T Ts=vH yH , s =v H yH .

1 1 1 0 0

0 0 0 1 0 ,

1 1 0 0 1

H

4(2 )GF

2m 3 1a x x

Page 264: ОСНОВЫ КРИПТОГРАФИИ:

264

2. Представьте все элементы поля в нормальном базисе.

Продемонстрируйте возведение в степень элемента .

3. Векторное пространство V2 над задано базисными векторами

v1 = (1, 1, 1),

v2 = (1, 2, 0).

Найдите базис ортогонального дополнения к заданному пространству и

все его вектора. Проверьте на совершенность найденное ортогональное

дополнение.

4. Найдите все элементы линейных кодов – подпространств

и , если их генераторные матрицы имеют вид

и .

Рассчитайте кодовые расстояния, проверьте коды на совершенность.

2(3 )GF

3m 2 1a x (3)GF

5

3 (3)V GF5

1 (3)V GF

1 0 1 1

1 2 1 2

1 1 2 2

G

1 1 1 1G

Page 265: ОСНОВЫ КРИПТОГРАФИИ:

265

14. СПЕКТРАЛЬНЫЕ ПРЕОБРАЗОВАНИЯ В КОНЕЧНЫХ ПОЛЯХ

14.1. Преобразование Фурье в полях Галуа

Дискретное преобразование Фурье (в англоязычной литературе

Discrete Fourier Transform – DFT) – это одно из преобразований Фурье,

широко применяемых в алгоритмах цифровой обработки сигналов (его

модификации применяются в сжатии звука в MP3, сжатии изображений в

JPEG и др.), а также в других областях, связанных с анализом частот в

дискретном (к примеру, оцифрованном аналоговом) сигнале.

Дискретное преобразование Фурье (ДПФ) требует в качестве входа

дискретную функцию. Такие функции часто создаются путём дискретизации

(выборки значений из непрерывных функций).

Дискретные преобразования Фурье помогают решать

дифференциальные уравнения в частных производных и выполнять такие

операции, как свёртки. Дискретные преобразования Фурье также активно

используются в статистике, при анализе временных рядов. Существуют также

многомерные дискретные преобразования Фурье.

Прямое дискретное преобразование Фурье задается формулой:

, . (14.1)

Обратное дискретное преобразование Фурье имеет вид:

, . (14.2)

В (14.1) и (14.2) используются следующие обозначения:

– количество значений сигнала, измеренных за период времени

а также количество компонент разложения;

, – дискретные отсчеты с номерами

, т.е. измеренные значения исходного сигнала в дискретных

временных точках ; дискретные отсчеты являются входными

данными для прямого преобразования и выходными для обратного;

, – комплексных амплитуд синусоидальных

сигналов:

,

21 1

0 0

k n

iN Nkniw tN

k n n

n n

X x e x e

0,1,..., 1k N

21 1

0 0

1 1k n

iN Nkniw tN

n k k

k k

x X e X eN N

0,1,..., 1n N

N,T

( )n nx x t 0,1,..., 1n N

0,1,..., 1n N

n

nt T

N

kX 0,1,..., 1k N N

Re( ) Im( )k k kX X i X

Page 266: ОСНОВЫ КРИПТОГРАФИИ:

266

которые являются выходными данными для прямого преобразования и

входными для обратного; т.к. амплитуды комплексные, по ним можно

вычислить одновременно вещественную амплитуду и фазу -го

сигнала;

– вещественная амплитуда -го сигнала:

;

– фаза -го сигнала (аргумент комплексного числа):

;

– индекс частоты; частота -го сигнала равна , где –

период времени, в течение которого брались входные данные;

– круговая частота (радиальная частота, частота

вращения); ;

– мнимая единица, т.е. это такое число, квадрат которого равен −1.

Формула Эйлера связывает тригонометрические функции с

комплексной экспонентой (рисунок 14.1):

,

,

, .

Рисунок 14.1 – Демонстрация формулы Эйлера

kА k k

kА k

2 2Re ( ) Im ( )k k k

k

X X XА

N N

k k

Im( ) Im( ) 2arg( ) arctan arcsin

Re( )

k kk k k n

k k

X XX kn w t

X A N

k kk

kf

T T

22k k

kw f

T

2 2k n

k nw t T kn

T N N

i

cos sinixe x i x

cos( ) sin( ) cos sinixe x i x x i x

cos Re( )2

ix ixixe e

x e

sin Im( )2

ix ixixe e

x ei

Page 267: ОСНОВЫ КРИПТОГРАФИИ:

267

Используя формулу Эйлера прямое и обратное преобразование Фурье

запишем в тригонометрическом виде:

, ,

, .

Комплексные корни m-ой степени из единицы

Корнями m-й степени из единицы называют комплексные корни

многочлена , , т.е. такие комплексные числа, m-я степень которых

равна 1. Представим комплексную единицу в тригонометрическом виде:

.

Тогда по формуле Муавра28

, получим:

, ,

где – комплексные корни m-ой степени из единицы.

Используя формулу Эйлера

корни из единицы могут быть представлены в показательной форме:

, ,

Таким образом, корней из единицы всегда ровно m и все они различны.

Корнями m-ой степени из единицы являются комплексные числа

. При этом модуль каждого корня равен 1:

.

28

Абрахам де Муавр (фр. и англ. Abraham de Moivre; 26 мая 1667, Витри-ле-Франсуа — 27 ноября 1754,

Лондон) – английский математик французского происхождения. Член Лондонского королевского общества

(1697), Парижской (1754) и Берлинской (1735) академий наук. Формула Муавра для комплексных чисел

утверждает, что для любого .

21 1

0 0

cos siniN Nkn

Nk n n k n n k n

n n

X x e x w t ix w t

0,1,..., 1k N

21 1

0 0

1 1Re( )cos Im( )sin

iN NknN

n k n k n n k n

k n

x X e X w t X w tN N

0,1,..., 1n N

1mx 1m

1 cos0 sin0i

2 2cos sink

k ki

m m

0,1,..., 1k m

k

cos sinixe x i x

2 ki

mk e

0,1,..., 1k m

Re( ) Im( )k k k

2 2Re ( ) Im ( ) 1k k k

(cos sin )z r i (cos sin ) (cos sin )m m m mz r i r m i m m Z

Page 268: ОСНОВЫ КРИПТОГРАФИИ:

268

На комплексной плоскости корни из единицы образуют вершины

правильного многоугольника, вписанного в единичную окружность. Одной из

вершин всегда является комплексная единица.

Таким образом, ядром дискретного преобразования Фурье является

комплексный корень степени N из единицы (комплексные корни многочлена

), т.е. такие комплексные числа, N -я степень которых равна 1, где N

– количество значений сигнала, измеренных за период, а также количество

компонент разложения (длина дискретной последовательности, над которой

выполняется дискретное преобразование Фурье).

По аналогии с дискретным преобразованием Фурье над вещественными

числами рассмотрим дискретное преобразование Фурье над конечным

полем. Для этого в качестве ядра преобразования будем использовать такие

корни многочлена из расширенного поля, которые имеют порядок N,

т.е. которые являются корнем степени N из единицы в расширенном конечном

поле.

Дискретное преобразование Фурье над конечным полем

Дискретное преобразование Фурье над конечным полем – это один

из видов дискретного преобразования Фурье для вектора

,

над конечным полем , определяемое как вектор

, ,

где делит при некотором целом положительном , с компонентами,

вычисляемыми как (прямое преобразование):

, , (14.3)

где – элемент порядка в поле (т.е. такой элемент, что и

для всех целых ).

Индекс принято назвать временем, а вектор – временной функцией

или сигналом. Аналогично индекс принято назвать частотой, а вектор

– частотной функцией или спектром.

В качестве длины преобразования Фурье над конечным полем можно

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

1Nx

1Nx

0 1 1( , ,..., )nv v v v ( )iv GF q

( )GF q

0 1 1( , ,..., )nV V V V ( )m

jV GF q

n 1mq m

1

0

nij

j i

i

V v

0,1,..., 1j n

n ( )mGF q 1n

1k 0 k n i v

j V

1mq

Page 269: ОСНОВЫ КРИПТОГРАФИИ:

269

играют примитивные длины . В последнем случае является

примитивным элементом поля .

В отличие от поля комплексных чисел в поле Галуа преобразование

Фурье существует не для любой дины , так как не для любого в поле

существует элемент этого порядка. Для многих целей, однако, таких

элементов оказывается достаточно. Если – наименьшее число, такое, что

делит , тогда над полем

существует преобразование Фурье

длины и компоненты этого преобразования лежат в поле . К

сожалению, для некоторых значений преобразования, хотя они и

существуют, лежат в столь большом расширении поля, что неприемлемы для

данного практического применения.

В случае дискретного преобразования Фурье преобразование

вещественнозначной временной функции является комплексным.

Аналогично если в случае преобразования в поле Галуа временная функция v

принимает значения поле , то ее спектр лежит в расширении поля

.

Обратное преобразование Фурье над конечным полем имеет вид

, , (14.4)

где интерпретируется как элемент (число) по модулю характеристики

поля , т.е. .

Пример (преобразование Фурье в конечном поле). Пусть дано поле

и вектор над этим полем примитивной длины

. Вычислим преобразование Фурье вектора , т.е. найдем спектр

, . Вычислим также обратное преобразование

Фурье вектора и проверим правильность приведенных выше формул.

Решение. Разложим поле на классы сопряженных элементов:

,

,

.

Для примитивной длины компоненты частотной функции

(спектра) определяются формулой:

1mn q

( )mGF q

n n

m n

1mq ( )GF q

n ( )mGF q

n

kX

( )n nx x t

( )GF q V

( )mGF q

1

0

1 nij

i j

j

v Vn

0,1,..., 1i n

n p

( )GF q modn n p

(2)GF 0,0,1,0,1 1( ),1,v 32 1 7n v

0 1 6( , ,..., )V V V V 3(2 )jV GF

V3(2 )GF

0{ }1 2 4{ , , } 3 6 5{ , , }

32 1 7n V

Page 270: ОСНОВЫ КРИПТОГРАФИИ:

270

, ,

где – примитивный элемент порядка 7 в поле . Но в поле все

элементы, за исключением нуля и единицы, имеют порядок 7, т.е. являются

примитивными.

Зафиксируем конечное поле как кольцо двоичных многочленов

с операциями по модулю и примитивный элемент . Для

такого представления поля имеем:

,

,

,

,

,

,

,

.

Тогда используя формулу (14.3) получим:

;

где в скобках приведены коэффициенты соответствующих многочленов

(элементов поля ), начиная со старшей степени (формат big-endian);

6

0

ij

j i

i

V v

0,1,...,6j

3(2 )GF 3(2 )GF

3(2 )GF3( ) 1g x x x x

3(2 )GF

0 0 1

x 2 2x

3 1x 4 2x x

5 2 1x x 6 2 1x

0 0 1 2 3 4 5 6 0 0 1 0 1 1 1 0V v v v v v v v 0 1 2 3 4 5 6

1 0 1 2 3 4 5 6

2 4 5 60 0 1 0 1 1 1 (100) (110) (111) (101) 0,

V v v v v v v v

3(2 )GF

0 2 4 6 1 3 5

2 0 1 2 3 4 5 6

4 1 3 50 0 1 0 1 1 1 (110) (010) (011) (111) 0;

V v v v v v v v

0 3 6 2 5 1 4

3 0 1 2 3 4 5 6

6 5 1 4 40 0 1 0 1 1 1 (101) (111) (010) (110) ;

V v v v v v v v

0 4 1 5 2 6 3

4 0 1 2 3 4 5 6

1 2 6 30 0 1 0 1 1 1 (010) (100) (101) (011) 0;

V v v v v v v v

0 5 3 1 6 4 2

5 0 1 2 3 4 5 6

3 6 4 2 20 0 1 0 1 1 1 (011) (101) (110) (100) ;

V v v v v v v v

0 6 5 4 3 2 1

6 0 1 2 3 4 5 6

5 3 2 10 0 1 0 1 1 1 (111) (011) (100) (010) .

V v v v v v v v

Page 271: ОСНОВЫ КРИПТОГРАФИИ:

271

Таким образом, в результате преобразования Фурье временного вектора

получен его спектр:

.

Обратное преобразование Фурье вектора задаётся

выражением:

, ,

множитель .

Получим:

;

Таким образом, обратное преобразование Фурье для спектра

дает временную функцию

,

которая равна изначально заданному вектору. Следовательно, все

выполненные преобразования корректны.

Теорема [2]. Над полем характеристики р вектор и его спектр

связаны отношениями

0,0,1,0,1 1( ),1,v

4 2(0,0,0, ,0, , )V

4 2(0,0,0, ,0, , )V

6

0

ij

i j

j

v V

0,1,...,6i

1 1mod2 1

7n

0 0 01 0 2 0 3 0 4 0 5 0 6

0 0 1 2 3 4 5 6

4 2 10 0 0 0 (110) (100) (010) 0;

v V V V V V V V

1 0 11 1 2 13 1 4 15 1 6

1 0 1 2 3 4 5 6

4 4 2 2 1 1 1 4 20 0 0 0 (010) (110) (100) 0;

v V V V V V V V

2 0 21 2 2 2 3 2 4 2 5 2 6

2 0 1 2 3 4 5 6

4 1 2 4 1 2 5 6 30 0 0 0 (111) (101) (011) 1;

v V V V V V V V

3 0 31 3 2 3 3 3 4 3 5 3 6

3 0 1 2 3 4 5 6

4 5 2 6 1 3 2 1 40 0 0 0 (100) (010) (110) 0;

v V V V V V V V

4 0 41 4 2 4 3 4 4 4 5 4 6

4 0 1 2 3 4 5 6

4 2 2 1 1 4 6 3 50 0 0 0 (101) (011) (111) 1;

v V V V V V V V

5 0 51 5 2 5 3 5 4 5 5 5 6

5 0 1 2 3 4 5 6

4 6 2 3 1 5 3 5 60 0 0 0 (011) (111) (101) 1;

v V V V V V V V

6 0 61 6 2 6 3 6 4 6 5 6 6

6 0 1 2 3 4 5 6

4 3 2 5 1 6 0 0 00 0 0 0 1.

v V V V V V V V

4 2(0,0,0, ,0, , )V

0,0,1,0,1 1( ),1,v

( )GF q

Page 272: ОСНОВЫ КРИПТОГРАФИИ:

272

, , (14.5)

где интерпретируется как число поля, т.е. по модулю .

Доказательство. В любом поле

.

По определению элемента элемент при всех является корнем

многочлена в левой части. Следовательно, для всех по модулю

элемент

является корнем последнего многочлена. Но это эквивалентно

равенству

, ;

Если же , тогда

,

что всегда отлично от нуля, если не кратно характеристике .

Комбинируя эти равенства, получаем

.

Наконец, кратно и поэтому не кратно . Следовательно,

.

Это доказывает справедливость выражений (14.5).

14.2. Свойства сдвига, свертки и корней многочленов при

преобразовании Фурье в полях Галуа

Преобразование Фурье обладает многими сильными свойствами,

которые переносятся на случай конечных полей. Примером является свойство

свертки, доказываемое в приведенной ниже теореме (можно доказать и

обратную теорему, поменяв местами временную и частотную области).

1

0

nij

j i

i

V v

1

0

1 nij

i j

j

v Vn

n p

1 21 ( 1)( ... 1)n n nx x x x x

r r0r n

r

1

0

0n

rj

i

0(mod )r n

0modr n

1 1

0 0

1 (mod )n n

rj

i i

n p

n p

1 1 1 1( )

0 0 0 0

(mod )n n n n

ij kj k i j

k k k i

j k k j

v v v n p v

1 1m Mq p n n p

0(mod )n p

Page 273: ОСНОВЫ КРИПТОГРАФИИ:

273

Теорема о свертке (свойство свертки). Предположим, что заданы три

временных вектора:

,

,

,

такие, что

Тогда

, (14.6)

где двойные скобки означают, что индексы вычисляются в арифметике по

модулю .

Доказательство. Найдем преобразование Фурье вектора с

компонентами :

,

что доказывает теорему.

Заметим также, что выбор в формуле свертки

приводит к формуле типа равенства Парсеваля:

. (14.7)

Пример 1 (свойство свертки).

Пусть заданы два временных вектора над двоичным полем и , а

также их спектры и :

,

, .

Тогда спектр вектора имеет вид:

0 1 1( , ,..., )nv v v v

0 1 1( , ,..., )nu u u u

0 1 1( , ,..., )nc c c c

,i i ic v u 0,..., 1.i n

1

(( ))

0

1 n

j j k k

k

C V Un

0,..., 1,j n

n

i i ic v u

1 1 1 1 1 1( )

(( ))

0 0 0 0 0 0

1 1 1n n n n n nij ij ik i j k

j i i i k k i k j k

i i k k i k

C v u v U U v U Vn n n

0j

1 1

(( ))

0 0

1n nij

j i i j k k

i k

C v u V Un

1 1

(( ))

0 0

1n n

i i n k k

i k

v u V Un

v u

V U

(0,0,1,0,1,1,1)v 4 2 1(0,0,0, ,0, , )V

(1,0,1,0,1,1,0)u 2 4 0 1 0 0(0, , , , , , )U

,i i ic v u 0,..., 1i n

Page 274: ОСНОВЫ КРИПТОГРАФИИ:

274

,

т.е.

;

;

;

и т.д.

В результате получим пару «сигнал-спектр»:

, .

Поменяв местами временную и частотную области сформулируем

обратную теорему.

Обратная теорема о свертке (свойство свертки). Предположим, что

Тогда

, . (14.8)

Свойство свертки удобно пояснять с помощью преобразования

соответствующих многочленов.

Представим сигнальный вектор с помощью

временного многочлена :

,

а полученный с помощью преобразования Фурье в поле Галуа спектральный

вектор с помощью многочлена :

который называется спектральным многочленом или ассоциированным с

многочленом.

Тогда свертка двух векторов записывается как произведение

соответствующих многочленов. При этом компоненты вектора в другой

области определяются покомпонентным умножением.

Например, пусть имеем два временных вектора и

, которые запишем в виде сигнальных многочленов

1

(( ))

0

1 n

j j k k

k

C V Un

0,..., 1,j n

1 2 2 4 0 4 1 0 0 3 6 5 0

0 0 0 0 0 0C 2 1 4 2 0 1 4 0 0 5 2 4 6

1 0 0 0 0 0C 2 4 1 0 2 1 0 4 0 1 3 4 5

2 0 0 0 0 0C

(0,0,1,0,1,1,0)c 0 6 5 3( , , ,0, ,0,0)С

,j j jС V U 0,..., 1.j n

1

(( ))

0

n

i i k k

k

c v u

0,..., 1i n

0 1 1( , ,..., )nv v v v

( )v x

0 1 2 1

0 1 2 1( ) ... n

nv x v x v x v x v x

0 1 1( , ,..., )nV V V V ( )V x

0 1 2 1

0 1 2 1( ) ... n

nV x V x V x V x V x

( )v x

0 1 1( , ,..., )nv v v v

0 1 1( , ,..., )nu u u u

Page 275: ОСНОВЫ КРИПТОГРАФИИ:

275

и

.

Найдем произведение этих многочленов в кольце как многочлен

,

где

,

,

,

,

т.е. имеем свертку (8) (см. обратную теорему о свертке):

,

и соответствующий спектральный многочлен

определяется как

,

где

и

спектральные многочлены, ассоциированные с сигнальными многочленами

и .

Предположим, что заданы два спектральных многочлена

и

.

Тогда их произведение

0 1 2 1

0 1 2 1( ) ... n

nv x v x v x v x v x

0 1 2 1

0 1 2 1( ) ... n

nu x u x u x u x u x

1nx

0 1 2 1

0 1 2 1( ) ... n

nc x c x c x c x c x

0 0 0 1 1 2 2 1 1...n n nc v u v u v u v u

1 1 0 0 1 1 2 2 1...n nc v u v u v u v u

2 2 0 1 1 0 2 3 1... nc v u v u v u v u

1 1 0 2 1 3 2 0 1...n n n n nc v u v u v u v u

1

(( ))

0

n

i i k k

k

c v u

0,..., 1i n

0 1 2 1

0 1 2 1( ) ... n

nС x С x С x С x С x

,j j jС V U 0,..., 1j n

0 1 2 1

0 1 2 1( ) ... n

nV x V x V x V x V x

0 1 2 1

0 1 2 1( ) ... n

nU x U x U x U x U x

( )v x ( )u x

0 1 2 1

0 1 2 1( ) ... n

nV x V x V x V x V x

0 1 2 1

0 1 2 1( ) ... n

nU x U x U x U x U x

Page 276: ОСНОВЫ КРИПТОГРАФИИ:

276

соответствует свертке (14.6) (см. прямую теорему о свертке)

,

причем соответствующий временной многочлен

определяется как

Пример 2 (свойство свертки).

Пусть заданы два временных вектора над двоичным полем и , а

также их спектры и :

,

, .

Найдем свертку векторов во временной области, которая соответствует

произведению временных многочленов

и

,

получим (в кольце ):

.

Спектр временного вектора

определяется через покомпонентное умножение спектров и :

;

;

0 1 2 1

0 1 2 1( ) ( ) ( ) ... n

nС x V x U x С x С x С x С x

1

(( ))

0

1 n

j j k k

k

C V Un

0,..., 1,j n

0 1 2 1

0 1 2 1( ) ... n

nc x c x c x c x c x

,i i ic v u 0,..., 1.i n

v u

V U

(0,0,1,0,1,1,1)v 4 2 1(0,0,0, ,0, , )V

(1,0,1,0,1,1,0)u 2 4 0 1 0 0(0, , , , , , )U

2 4 5 6( )v x x x x x

2 4 5( ) 1u x x x x

1nx

2 4 5 6( ) ( ) ( ) 1с x v x u x x x x x

(0,0,1,0,1,1,1)с

V U

0 0 0 0C 2

1 0 0C

Page 277: ОСНОВЫ КРИПТОГРАФИИ:

277

;

;

;

;

,

т.е. имеем спектральный вектор и соответствующий многочлен:

, .

Теорема о сдвиге (свойство сдвига). Если является парой

преобразования Фурье (сигнал-спектр), тогда парами преобразований Фурье

являются также

и

.

Доказательство получается непосредственной подстановкой.

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

. (14.9)

2. Найдем преобразование Фурье для вектора вида , получим:

, (14.10)

что доказывает теорему о сдвиге.

Пример 1 (свойство сдвига).

Пусть задана пара из временного над и спектрального

над векторов:

, .

Тогда, в соответствии с первым свойством, парами преобразования

Фурье будут также вектора:

4

2 0 0C 4 0 4

3C 1

4 0 0C 2 0 2

5C 1 0 1

6C

4 2 1(0,0,0, ,0, , )С 4 3 2 5 1 6( )С x x x x

{ } { }i jv V

(( 1)){ } { }i

i jv V

(( 1)){ } { }j

i jv V

{ }i

iv

1 1

( 1)

(( 1))

0 0

n nij i i j

i i j

i i

v v V

(( 1)){ }iv

1 1 1

( 1)

1

0 0 0

n n nij i j ij j j

i i i j

i i i

v v v V

{ } { }i jv V (2)GF

3(2 )GF

(0,0,1,0,1,1,1)v 4 2 1(0,0,0, ,0, , )V

Page 278: ОСНОВЫ КРИПТОГРАФИИ:

278

, ,

, ,

, ,

, ,

, ,

, .

Пример 2 (свойство сдвига).

Пусть задана пара из временного над и спектрального

над векторов:

, .

Тогда, в соответствии со вторым свойством, парами преобразования

Фурье будут также вектора:

, ,

, ,

, ,

, ,

, ,

, .

Как устанавливает следующая теорема, спектральные преобразования

тесно связаны с корнями многочленов.

Теорема о корнях (свойство корней).

1. Элемент является корнем многочлена тогда и только тогда,

когда j-я частотная компонента равна нулю.

2. Элемент является корнем многочлена тогда и только тогда,

когда i-я временная компонента

равна нулю.

Доказательство состоит в непосредственной проверке.

Для первого утверждения очевидно, что

.

Второе утверждение доказывается тем же путем:

2 4 5 6(0,0, ,0, , , )v 4 2 1(0,0, ,0, , ,0)V 4 1 3 5(0,0, ,0, , , )v 4 2 1(0, ,0, , ,0,0)V 6 5 1 4(0,0, ,0, , , )v 4 2 1( ,0, , ,0,0,0)V 1 2 6 3(0,0, ,0, , , )v 2 1 4(0, , ,0,0,0, )V 3 6 4 2(0,0, ,0, , , )v 2 1 4( , ,0,0,0, ,0)V 5 3 2 1(0,0, ,0, , , )v 1 4 2( ,0,0,0, ,0, )V

{ } { }i jv V (2)GF

3(2 )GF

(0,0,1,0,1,1,1)v 4 2 1(0,0,0, ,0, , )V

(1,0,0,1,0,1,1)v 0 0 0(0,0,0, ,0, , )V

(1,1,0,0,1,0,1)v 3 5 6(0,0,0, ,0, , )V

(1,1,1,0,0,1,0)v 6 3 5(0,0,0, ,0, , )V

(0,1,1,1,0,0,1)v 2 1 4(0,0,0, ,0, , )V

(1,0,1,1,1,0,0)v 5 6 3(0,0,0, ,0, , )V

(0,1,0,1,1,1,0)v 1 4 2(0,0,0, ,0, , )V

j ( )v x

jV

i ( )V x

iv

1

0

( )n

j ij

i j

i

v v V

Page 279: ОСНОВЫ КРИПТОГРАФИИ:

279

.

Пример (свойство корней).

Пусть задана пара из временного над и спектрального

над векторов:

, .

Им соответствуют временной и частотный многочлены:

, .

Проверим выполнимость свойства корней.

Для временного многочлена известно разложение вида:

,

т.е. нулевыми будут первая , вторая и четвертая компоненты спектра

(как это и есть на самом деле, ).

Найдем значения спектрального многочлена во всех точках :

,

,

,

,

,

,

.

Следовательно, корнями спектрального многочлена являются

элементы , , , , т.е. нули во временном векторе будут стоять на

позициях 2, 4, 5, 6:

2 0v , , , ,

как это и есть на самом деле, т.к. .

Отметим, что разложение спектрального многочлена имеет вид

1

0

( )n

i ij

j i

j

V V v

{ } { }i jv V (2)GF

3(2 )GF

(1,1,0,1,0,0,0)v 0 4 2 1( ,0,0, ,0, , )V

3( ) 1v x x x 0 4 3 2 5 1 6( )V x x x x

3 1 2 4( ) 1 ( )( )( )v x x x x x x

1V 2V 4V0 4 2 1( ,0,0, ,0, , )V

3(2 )i GF

0(0) 0V 1 0 4 3 2 5 1 6 0 1 4 2 0( ) 0V

2 0 4 6 2 10 1 12 0 5 6 3( ) 0V 3 0 4 9 2 15 1 18 0 2 1 4 0( ) 0V

4 0 4 12 2 20 1 24 0 6 3 5( ) 0V 5 0 4 15 2 25 1 30 0 3 5 6( ) 0V 6 0 4 18 2 30 1 36 0 0 0 0( ) 0V

( )V x2 4 5 6

4 0v 5 0v 6 0v

(1,1,0,1,0,0,0)v

Page 280: ОСНОВЫ КРИПТОГРАФИИ:

280

,

т.е. многочлен в поле имеет только корни , ,

, (корень тройной кратности) и не имеет никаких

других корней в этом поле.

14.3. Ограничения сопряженности

Преобразование Фурье длины над принимает значения в

расширении поля . Если мы начнем с произвольного n – мерного

вектора над и вычислим обратное преобразование Фурье, то в общем

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

большего поля. Нам надо найти ограничения на спектр, которые

гарантировали попадание компонент временного вектора в .

Ограничения такого рода знакомы по полю комплексных чисел.

Напомним, что в поле комплексных чисел спектр имеет вещественное

обратное преобразование Фурье тогда и только тогда, когда

Следующая теорема описывает множество ограничений, которые

называются ограничениями (или условиями) сопряженности и устанавливают

аналогичное условие для конечного поля.

Теорема (ограничения сопряженности). Пусть есть -мерный

вектор с компонентами из , где делит . Тогда обратное

преобразование Фурье вектора является вектором с компонентами из

тогда и только тогда, когда выполняются следующие равенства:

, (14.11)

где двойные скобки означают, что индексы вычисляются в арифметике по

модулю .

Доказательство. По определению

,

В поле характеристики для любого целого справедливо равенство

.

5 3 2 1 3( ) ( )( )( )( )V x x x x x

( )V x 3(2 )GF2 5 4 3

5 2 6 1 1x

n ( )GF q

( )mGF q

( )mGF q

( )GF q

( )GF q

( )P f

*( ) ( ).P f P f

V n

( )mGF q n 1mq

V v

( )GF q

(( ))

q

j qjV V

n

1

0

nij

j i

i

V v

0,..., 1.j n

p r

( )r r rp p pa b a b

Page 281: ОСНОВЫ КРИПТОГРАФИИ:

281

Далее, если – элемент поля , тогда при всех .

Следовательно,

.

Обратно, предположим, что для всех . Тогда

,

Пусть . Так как взаимно просто с , тогда, когда

принимает все значения от 0 до , число также принимает все значения

от 0 до . Следовательно,

,

и в силу однозначности преобразования Фурье для всех .

Таким образом, являются корнями многочлена при всех , и

этими корнями исчерпывается все поле .

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

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

{ , , …, },

причем степени примитивного элемента образуют множество:

где – наименьшее положительное число, удовлетворяющее равенству

В силу конечности поля такое всегда существует.

Например, если и , тогда классы сопряженных элементов

соответствуют степеням примитивного элемента из множеств:

iv ( )GF q q

i iv v i

1 1 1

(( )

0 0 0

qn n n

q ij qij q qij

j i i i qj

i i i

V v v v V

(( ))

q

j qjV V 0,..., 1j n

1 1

0 0

n nqij q qij

i i

i i

v v

0,..., 1.j n

k qj q 1mn q j

1n k1n

1 1

0 0

n nik q ik

i i

i i

v v

0,..., 1k n

q

i iv v i

iv qx x i

( )GF q

( )mGF q

( )  i q2

( )i q1

( )m ji q

1, ,..., ,jm

jA j jq jq

jm

1(mod ).jm

jq j n

( )mGF qjm

2q 7n

Page 282: ОСНОВЫ КРИПТОГРАФИИ:

282

Класс сопряженных элементов выделяет в спектре множество

частот

. (14.12)

Назовем это множество частот хордой (для обозначения хорды будем

использовать также множество ).

Приведенная выше теорема утверждает, что если временной сигнал

принимает значения в поле , то значения спектра в одной из частот

хорды определяет значения спектра при всех частотах этой хорды.

В таблице 14.1 [2] приведены классы сопряженных элементов для

некоторых малых полей в несколько измененных обозначениях. Для того

чтобы подчеркнуть получающиеся симметрии, классы сопряженных

элементов выписаны с использованием отрицательных целых чисел. При

желании отрицательное число можно заменить положительным целым

. Классы сопряженных элементов по модулю 21 включены в таблицу для

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

Заметим, что если члены классов сопряженных элементов по модулю 21

умножить на 2, то эти классы становятся классами сопряженных элементов по

модулю 63.

Таблица 14.1 – Классы сопряженных элементов для некоторых малых полей

По модулю 7

{-1,-2,3}

{0}

{1,2,3}

По модулю 63

{-11,-22,19,-

25,13,26}

{-9,-18,27}

{-5,-10,-20,23,-

17,29}

{-3,-6,-12,-24,15,30}

{-1,-2,-4,-8,-16,31}

{0}

{1,2,4,8,16,-31}

{3,6,12,24,-15,-30}

{5,10,20,-23,17,-29}

{7,14,28,-7,-14,-28}

{9,18,-27}

{11,22,-19,25,-13,-

26}

{21,-21}

По модулю 31

{-5,-10,11,-

9,13}

{-3,-6,-12,7,14}

{-1,-2,-4,-8,15}

{0}

{1,2,4,8,-15}

{3,6,12,-7,-14}

{5,10,-1,9,13}

По модулю 127

{-21,-42,43,-41,45,-

37,53}

{-19,-38,51,-25,-

50,27,54}

{-13,-26,-52,23,46,-

35,57}

{-11,-22,-44,39,-

49,29,58}

{-9,-18,-36,55,-17,-

34,59}

{-7,-14,-28,-

56,15,30,60}

{-5,-10,-20,-40,47,-

33,61}

{-3,-6,-12,-24,-48,31,62}

{-1,-2,-4,-8,-16,-32,63}

{0}

По модулю

15

{-1,-2,-4,7}

{0}

{1,2,4,-7}

{3,6,-3,-6}

{5,-5}

По модулю 21

{-3,-6,9}

{-1,-2,-4,-

8,5,10}

{0}

{1,2,4,8,-5,10}

{3,6,-9}

{7,-7}

0 0 ,A 1 1,2,4 ,A 2 3,6,5 .A

jA

1, ,..., m jj j qj q jV V V V

jA

( )GF q

j

n j

Page 283: ОСНОВЫ КРИПТОГРАФИИ:

283

{1,2,4,8,16,32,-63}

{3,6,12,24,48,-31,-62}

{5,10,20,40,-47,33,-61}

{7,14,28,56,-15,-30,-60}

{9,18,36,-55,17,34,-59}

{11,22,44,-39,49,-29,-

58}

{13,26,52,-23,-46,35,-

57}

{19,38,-51,25,50,-27,-

54}

{21,42,-43,41,-45,37,-

53}

Пример (ограничения сопряженности).

Для и классы сопряженных элементов задаются

множествами

, , ,

которые выделяют хорды (множества частот):

0V , , .

0V

Ограничения сопряженности имеют следующий вид:

.

Для хорды условие означает, что может принимать

только значения равные нулю или единице, т.е. .

Для хорды ограничения сопряженности принимают вид:

, , ,

т.е. для определения значений элементов хорды достаточно задать только

значение одной частоты из , остальные однозначно определяются по

условиям сопряженности. Например, если , тогда значения

и задаются однозначно.

Для хорды ограничения сопряженности принимают вид:

, ,

2q 7n

0 0A 1 1,2,4A 2 3,6,5A

1 2 4, ,V V V 3 6 5, ,V V V

2

2 mod7j jV V

0V 2

0 0V V 0V

0 (2)V GF

1 2 4, ,V V V

2

1 2V V 2

2 4V V 2

4 1V V

3(2 )GF5

2V 2 3

4 2V V 2 4 6

1 4 2V V V

3 6 5, ,V V V

2

3 6V V 2

6 5V V 2

5 3V V

Page 284: ОСНОВЫ КРИПТОГРАФИИ:

284

и для определения значений элементов хорды также достаточно задать только

одно значение из . Например, если , тогда значения

и задаются однозначно.

Таким образом, значения спектра в одной из частот хорды определяет

значения спектра во всех частотах этой хорды.

Определение. Каждая хорда с элементами из

при равенстве нулю всех элементов остальных хорд задает в общем

виде спектр

. (14.13)

Обратное преобразование Фурье всех спектров вида (14.13) дает

множество временных последовательностей , которое

образует векторное подпространство пространства n-

последовательностей с элементами из . Действительно, множество

векторов вида (14.13) замкнуто относительно операции векторного сложения,

кроме того, выполняются все аксиомы. Далее, в силу линейности

преобразования Фурье сумма векторов в одной области равна сумме

соответствующих им векторов в другой области, т.е. после обратного

преобразования Фурье полученные последовательности

также образуют векторное пространство во временной области.

Будем говорить, что хорда порождает во временной области

векторное подпространство пространства n-последовательностей

с элементами из .

Размерность порождаемого подпространства будем называть q-ичным

содержанием хорды, эта размерность определяется из условий

сопряженности.

Для обозначения q-ичного содержания хорды в дальнейшем будем

использовать запись .

Сумма подпространств во временной области соответствует

объединению соответствующих хорд (объединению множеств частот).

Размерность суммы векторных подпространств равна сумме q-

ичных содержаний соответствующих хорд.

Сумма подпространств, порожденных всеми возможными хордами,

совпадает с пространством n-последовательностей с элементами из

т.е. полная (по всем возможным хордам) сумма q-ичных содержаний

равна длине последовательности:

3(2 )GF 2

5V 2 4

3 5V V 2 4 1

6 3 5V V V

1, ,..., m jj j qj q jV V V V

( )mGF q

1(0,0,...,0, ,0,0,...,0, ,0,..., )m ji qj q jV V V V

0 1 1( , ,..., )nv v v v

( )GF q

0 1 1( , ,..., )nv v v v

jV

0 1 1( , ,..., )nv v v v ( )GF q

jV

j qV

( ),GF q

Page 285: ОСНОВЫ КРИПТОГРАФИИ:

285

. (14.14)

Пример (двоичное содержание хорды).

Используя хорду из предыдущего примера зададим спектр в общем

виде:

,

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

векторам

,

.

Выполнив обратное преобразование Фурье получим два вектора во

временной области:

,

.

Эти два вектора образуют векторное подпространство размерности 1

пространства двоичных последовательностей длины . Таким образом,

битовое содержание хорды равно .

Используя хорду зададим спектр в общем виде:

,

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

векторам

,

,

,

,

,

,

,

.

Выполнив обратное преобразование Фурье получим 8 двоичных

векторов

,

j qj

V n

0V

0( ,0,0,0,0,0,0)V V

(0,0,0,0,0,0,0)

(1,0,0,0,0,0,0)

(0,0,0,0,0,0,0)

(1,1,1,1,1,1,1)

7n

0V 0 21V

1 2 4, ,V V V

1 2 4(0, , ,0, ,0,0)V V V V

(0,0,0,0,0,0,0)

(0,1,1,0,1,0,0)1 2 4(0, , ,0, ,0,0) 2 4 1(0, , ,0, ,0,0) 3 6 5(0, , ,0, ,0,0) 4 1 2(0, , ,0, ,0,0) 5 3 6(0, , ,0, ,0,0) 6 5 3(0, , ,0, ,0,0)

(0,0,0,0,0,0,0)

Page 286: ОСНОВЫ КРИПТОГРАФИИ:

286

,

,

,

,

,

,

,

которые образуют подпространство размерности 3, т.е. битовое содержание

хорды равно .

Задание для самостоятельной работы: постройте векторное

пространство, заданное хордой . Для подпространств, заданных

хордой и хордой проверьте свойство сдвига.

Обобщая полученные результаты имеем следующее:

хорда порождает подпространство размерности 1;

хорда порождает подпространство размерности 3;

хорда порождает подпространство размерности 3.

В соответствии с (14) сумма подпространств, порожденных хордами

, и имеет размерность

,

т.е. сумма пространств совпадает с пространством всех двоичных

последовательностей длины .

Определение. Предположим теперь, что мы выбрали хорду Ak и

определили спектр

Согласно теореме об ограничениях сопряженности, обратное

преобразование Фурье для этого спектра является вектором над GF(q),

который можно представить многочленом . Так как в частотной области

свертка преобразуется в произведение , тогда ,

и, следовательно, многочлен обладает следующим специальным

свойством:

. (14.15)

(1,1,1,0,1,0,0)

(0,1,1,1,0,1,0)

(0,0,1,1,1,0,1)

(1,0,0,1,1,1,0)

(0,1,0,0,1,1,1)

(1,0,1,0,0,1,1)

(1,1,0,1,0,0,1)

1 2 4, ,V V V 1 2 4 2, , 3V V V

3 6 5, ,V V V

1 2 4, ,V V V 3 6 5, ,V V V

0V

1 2 4, ,V V V

3 6 5, ,V V V

0V 1 2 4, ,V V V 3 6 5, ,V V V

0 1 2 4 3 6 522 2, , , , 1 3 3 7V V V V V V V n

7n

0, ,

1, .

k

j

k

j AW

j A

( )w x2( ) ( ) ( )w x w x w x

2

jW 2

j jW W

( )w x

2( ) ( )(mod 1)nxw x w x

Page 287: ОСНОВЫ КРИПТОГРАФИИ:

287

Произвольный многочлен , удовлетворяющий этому условию,

называется идемпотентом.

Каждый идемпотент может быть получен следующим образом. Выберем

несколько хорд и положим , если j принадлежит одной из них, и

в противном случае. Обратное преобразование Фурье дает во временной

области многочлен, который является идемпотентом, и каждый идемпотент

можно построить таким способом. Таким образом, в каждом подпространстве,

порожденном хордой имеется только один ненулевой идемпотент

(напомним, что каждый вектор можно представить многочленом от

формальной переменной x, компоненты вектора отождествляются с

коэффициентами многочлена и наоборот).

Теорема (о принадлежности произвольного вектора

подпространству, порожденному хордой ). Произвольный вектор

принадлежит векторному подпространству, порожденному

хордой , тогда и только тогда, когда

, (14.16)

где , а многочлен является единственным

ненулевым идемпотентом в подпространстве, порожденном хордой .

Доказательство. По определению идемпотента его спектральные

компоненты . Следовательно, для всех элементов векторного

подпространства, порожденного хордой , выполняется равенство

.

Покомпонентное произведение , элементов спектра

соответствует свертке во временной области (см. обратную теорему

о свертке). Следовательно, вектор принадлежит векторному

подпространству, порожденному хордой , тогда и только тогда, когда

.

Пример (идемпотенты). В предыдущем примере спектр

двоичного вектора содержит только

нулевые и единичные элементы. Следовательно, многочлен

является идемпотентом.

Проверим выполнимость свойства (14.15):

( )w x

0jW 1jW

jV

( )w x

jV

0 1 1( , ,..., )nv v v v

jV

( ) ( ) ( )(mod 1)nv x v x xw x

1

0 1 1( ) ... n

nv x v v x v x

( )w x

jV

{0,1}jW

jV

j j jV W V

j jV W 0,..., 1j n

( ) ( )v x w x

0 1 1( , ,..., )nv v v v

jV

( ) ( ) ( )(mod 1)nv x v x xw x

(0,1,1,0,1,0,0)W (1,1,1,0,1,0,0)w

2 4( ) 1w x x x x

Page 288: ОСНОВЫ КРИПТОГРАФИИ:

288

,

т.е. многочлен действительно является идемпотентом.

Многочлен – единственный ненулевой идемпотент

из векторного подпространства, порожденного хордой . Для любого

вектора из этого подпространства должно выполняться

равенство (14.16):

.

Например, для имеем:

и

Задание для самостоятельной работы: найдите все остальные

ненулевые идемпотенты для случая из предыдущего примера (для оставшихся

хорд и ). Для каждого случая проверьте свойство (14.15) и

(14.16). Обобщая результаты проверьте свойство (14.14).

Задания для самостоятельной работы

1. Выполните прямое преобразование Фурье вектора

длины над . При вычислениях используйте наименьше

расширение поля. Выполните обратное преобразование Фурье и убедитесь в

правильности полученных результатов.

2. Проверьте выполнимость свойств свертки, сдвига и корней для

предыдущего задания.

3. Используя ограничения сопряженности запишите все хорды

(множества частот) для временных векторов длины над .

Рассчитайте троичное содержание каждой хорды. Сколько существует

способов задания подпространства размерности 5 троичных

последовательностей длины 8 через различные хорды? Найдите все ненулевые

идемпотенты (для каждой хорды и для каждого способа задания

подпространства размерности 5 троичных последовательностей длины 8).

2 2 4 8 27 4( ) (1 (mod 1) 1) ( )w x x x x x xx x w x

2 4( ) 1w x x x x 2 4( ) 1w x x x x

1 2 4, ,V V V

0 1 1( , ,..., )nv v v v

7( ) ( ) ( )(mod 1)v x v x xw x

(0,1,1,1,0,1,0)v

2 3 5( )v x x x x x

2 3 5

2 3 5 2 3 4 6 3 4 5 7 5

2

6 7 9

2 3 5

4

7

( ) ( ) ( )(1 )

(mod 1) ( ).

w xv x x x x x

x x x x x x x x x x x x x x x x

x x x x x v x

x x x

0V 3 6 5, ,V V V

1,1,2,0,0,2,1,1v

8n (3)GF

8n (3)GF

Page 289: ОСНОВЫ КРИПТОГРАФИИ:

289

15 ЭЛЕМЕНТЫ АЛГЕБРАИЧЕСКОЙ ТЕОРИИ БЛОКОВЫХ КОДОВ

15.1. Циклические коды. Определение и основные свойства

Сперва напомним основные определения из теории линейных кодов.

Зафиксируем конечное поле и рассмотрим векторное

пространство , как множество -последовательностей c элементами из

с покомпонентным сложением и умножением на скаляр.

Линейный код над есть подпространство в , т.е.

непустое множество n-последовательностей (кодовых слов) c элементами из

, где – размерность линейного подпространства, - минимальный

вес Хемминга (число ненулевых элементов) произвольного ненулевого

кодового слова кода :

.

В виду линейности подпространства набор весов различных

ненулевых кодовых слов совпадает с набором расстояний по Хеммингу между

различными кодовыми словами, т.е. называют также минимальным

кодовым расстоянием по Хеммингу кода . Величину называют

относительной скоростью кода, а называют относительным

минимальным кодовым расстоянием.

Линейный код (как линейное подпространство в ) задается

набором базисных (линейно независимых) векторов

,

,

,

которые обычно представляются в матричном виде через порождающую

матрицу

( )GF q

nV n

( )GF q

( , , )n k d kV ( )GF q nV

( )GF q k d

( )hw c

c kV

, 0min ( )

kh

c V cd w c

kV

d

kVk

Rn

d

n

kV nV

0,0 0,1 0, 1( , ,..., )ng g g

1,0 1,1 1, 1( , ,..., )ng g g

1,0 1,1 1, 1( , ,..., )k k k ng g g

0,0 0,1 0, 1

1,0 1,1 1, 1

1,0 1,1 1, 1

...

...

... ... ... ...

...

n

n

k k k n

g g g

g g gG

g g g

Page 290: ОСНОВЫ КРИПТОГРАФИИ:

290

ранга и размерности .

Произвольное кодовое слово кода есть линейная

комбинация строк из матрицы .

Кодирование заключается в сопоставлении каждого информационного

слова с символами из некоторому кодовому слову

. Наиболее простой способ кодирования задается выражением

. (15.1)

Посредством линейных операций над строками матрицу удобно

привести к каноническому виду

,

где - единичная подматрица размером , - подматрица размером

в правой части матрицы , - символ конкатенации

(объединения).

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

правило кодирования , т.е. информационный вектор

будет в явном виде содержаться в кодовом слове .

Линейное подпространство, отождествляющее код , имеет

ортогональное дополнение (обозначим его ). Базис подпространства

задается векторами

,

,

и обычно представляется в матричном виде через проверочную матрицу

( )rank G k k n

0 1 1( , ,..., )nс с с с kV

G

0 1 1( , ,..., )ki i i i ( )GF q

0 1 1( , ,..., )nс с с

c iG

G

* * *

0, 0, 1 0, 1

* * *

1, 1, 1 1, 1

* * *

1, 1, 1 1, 1

1 0 ... 0 ...

0 1 ... 0 ...*

... ... ... ... ... ... ... ...

0 0 ... 1 ...

k k n

k k n

k k k k k n

g g g

g g gG I P

g g g

I k k P

( )k n k *G

c iG

c i iP 0 1 1( , ,..., )ki i i i

0 1 1( , ,..., )nс с с с

kV

n kU n kU

0,0 0,1 0, 1( , ,..., )nh h h

1,0 1,1 1, 1( , ,..., )nh h h

1,0 1,1 1, 1( , ,..., )n k n k n k nh h h

0,0 0,1 0, 1

1,0 1,1 1, 1

1,0 1,1 1, 1

...

...

... ... ... ...

...

n

n

n k n k n k n

h h h

h h hH

h h h

Page 291: ОСНОВЫ КРИПТОГРАФИИ:

291

ранга и размерности .

Условие ортогональности векторов из и в матричном виде

записывается как

, (15.2)

где под нулем понимается нулевая матрица, размерности .

Линейное подпространство называют дуальным (двойственным) к

кодом над . Определение кода через ортогональное дополнение

(через дуальный код) можно сформулировать следующим образом:

произвольная -последовательностей c элементами из

является кодовым словом кода тогда и только тогда, когда она

ортогональна каждой строке проверочной матрицы , т.е. при .

Посредством линейных операций над строками приведем матрицу к

каноническому виду

,

где - подматрица размером в левой части матрицы , -

единичная подматрица размером , - символ конкатенации

(объединения).

Тогда из условия имеем (с операциями над

).

Единичные вектор-столбцы в матрицах и могут быть выбраны

произвольно с соответствующим формированием единичных подматриц и

систематическим размещением информационных символов в кодовом слове.

Алгебраическое кодирование основано на использовании специальных

алгебраических уравнений. Действительно, каждый вектор из можно

представить многочленом от формальной переменной степени не выше

. При этом элементы вектора отождествляются с коэффициентами

многочлена, а множество многочленов имеет структуру векторного

пространства, идентичную структуре пространства , а так же структуру

кольца многочленов по модулю двучлена .

Рассмотрим следующие многочлены:

информационный многочлен

(соответствует вектору );

( )rank H n k ( )n k n

kV n kU

0TGH

( )k n k

n kU

kV ( )GF q kV

n kU

n 0 1 1( , ,..., )nс с с с

( )GF q kV

H 0TсH

H

* * *

0,0 0,1 0, 1

* * *

1,0 1,1 1, 1

* * *

1,0 1,1 1, 1

... 1 0 ... 0

... 0 1 ... 0* *

... ... ... ... ... ... ... ...

... 0 0 ... 1

k

k

n k n k n k k

h h h

h h hH P I

h h h

*P ( )n k k *H I

( ) ( )n k n k

* * 0TG H * TP P ( )GF q

*G *H

nV

x

1n

nV

1nx

0 1 1

0 1 1( ) ... k

ki x i x i x i x

i

Page 292: ОСНОВЫ КРИПТОГРАФИИ:

292

кодовый многочлен (соответствует

вектору ).

Зададим, например, с помощью корней

приведенный ненулевой многочлен

степени и правило кодирования

, (15.3)

которое является полиномиальным аналогом выражения (15.1).

Линейный код, правило кодирования для которого задается выражением

(15.3), называют циклическим. Свойство цикличности означает, что если

является кодовым многочленом, тогда и

,

также является кодовым многочленом (это следует из правила (15.3)

подстановкой ).

Операция в векторном виде соответствует

циклическому сдвигу последовательности на символов.

Многочлен

по аналогии с матрицей называют порождающим многочленом, а

соответствующая ему матрица может быть получена сдвинутой построчной

записью коэффициентов многочлена [38-40]:

. (15.4)

Условие взаимной ортогональности (15.2) в полиномиальной форме

имеет вид:

0 1 1

0 1 1( ) ... n

nc x c x c x c x

c

0 1 1, ,..., ( )m

n kX X X GF q

0 1 1( ) ( )( )...( )n kg x x X x X x X

r n k

( ) ( ) ( )c x i x g x

( )c x

( )mod( 1)i nx c x x 0,1,..., 1i n k

( ) ii x x

( )mod( 1)i nx c x x

i

2

0 1 2( ) ... n k

n kg x g g x g x g x

G

G

( )g x

0 1 2

0 1 1

0 1

... 0 ... 0

0 ... ... 0

... ... ... ... ... ... ... ...

0 0 0 ... ...

n k

n k n k

n k

g g g g

g g g gG

g g g

Page 293: ОСНОВЫ КРИПТОГРАФИИ:

293

, (15.5)

где

- проверочный многочлен, т.е. полиномиальный аналог матрицы .

Используя правило свертки (в форме умножения многочленов)

соответствующую проверочную матрицу получим сдвинутой построчной

записью коэффициентов многочлена , но только в другом порядке (см.

правило свертки и условие (15.5)):

. (15.6)

Многочлен в общем случае определен над и тогда кодовые

многочлены также будут определены над расширенным полем .

Однако в случае, если все корни являются также

всеми корнями некоторого набора минимальных многочленов элементов

, тогда порождающий многочлен всегда будет иметь

коэффициенты из подполя , причем:

,

где пробегает по классам сопряженных элементов поля , -

минимальный многочлен элемента , - примитивный элемент,

- наименьшее общее кратное.

Принимая во внимание разложения двучлена на произведение

всех минимальных многочленов:

из условия (15.5) получим

, , (15.7)

( ) ( ) 1 0mod( 1)n ng x h x x x

2

0 1 2( ) ... k

kh x h h x h x h x

H

H( )g x

2 1 0

1 1 0

1 0

0 ... 0 ...

0 ... ... 0

... ... ... ... ... ... ... ...

... ... 0 0 0

k

k k

k

h h h h

h h h hH

h h h

( )g x ( )mGF q

( )c x ( )mGF q

0 1 1, ,..., ( )m

n kX X X GF q

( )mGF q ( )g x

( )GF q

( ) . . . ( )i

i

g x Н О К f x

i ( )mGF q ( )if x

( )i mGF q

. . .Н О К

1nx

1 . . . ( )n

i

i

x Н О К f x

( ) . . . ( )i

i

g x Н О К f x

( ) . . . ( )j

j i

h x Н О К f x

Page 294: ОСНОВЫ КРИПТОГРАФИИ:

294

т.е. многочлены и являются произведениями различных

минимальных многочленов элементов поля .

Пример. Рассмотрим поле и минимальные многочлены всех

элементов поля (см. таблицу 15.1).

Таблица 15.1 – Минимальные многочлены поля ,

Элементы поля Минимальные многочлены

, ,

, ,

Выберем в качестве порождающего многочлен вида

,

который задает двоичный (7, 4, 3) код.

Из (15.7) находим, что проверочным многочленом будет

.

Используя (15.4) и (15.6) находим порождающую и проверочную

матрицы:

,

.

Легко убедится в справедливости (15.2) и (15.5) для данного примера.

Рассмотрим теперь корни многочленов и , зададим матрицы

и через корни этих многочленов.

Рассмотрим многочлен

, .

( )g x ( )h x

( )mGF q3(2 )GF

3(2 )GF 3( ) 1g x x x

0 1 0 ( ) 1f x x

1 2 4 3 1 2 4

1 2 4( ) ( ) ( ) 1 ( )( )( )f x f x f x x x x x x 3 5 6 3 2 3 5 6

3 5 6( ) ( ) ( ) 1 ( )( )( )f x f x f x x x x x x

3

1( ) ( ) 1g x f x x x

3 2 4 2

0 3( ) ( ) ( ) ( 1)( 1) 1h x f x f x x x x x x x

1 1 0 1 0 0 0

0 1 1 0 1 0 0

0 0 1 1 0 1 0

0 0 0 1 1 0 1

G

0 0 1 0 1 1 1

0 1 0 1 1 1 0

1 0 1 1 1 0 0

H

( )g x ( )h x

G H

0 1 1( ) ( )( )...( )n kg x x X x X x X ( )m

iX GF q

Page 295: ОСНОВЫ КРИПТОГРАФИИ:

295

Из правила (15.3) следует, что элементы являются

также корнями многочлена

.

Значение многочлена в его корне равно нулю, т.е. для всех

выполняется равенство

,

что в матричном виде соответствует записи:

.

Полученное выражение соответствует условию взаимной

ортогональности произвольного кодового слова и матрицы

в правой части произведения, т.е. . Следовательно, положим

, (15.8)

где – проверочная матрица кода, заданная корнями порождающего

многочлена.

Для построения матрицы с элементами из подполя следует

заменить каждый элемент в (15.8) вектор-столбцом из

элементов поля , при этом сопряженные корни образуют линейно

эквивалентные строки матрицы и могут быть опущены.

Рассуждая аналогичным образом получим, что для проверочного

многочлена

,

0 1 1{ , ,..., }j n kX X X X

2 1

0 1 2 1( ) ... n

nс x с с x c x с x

0 1 1{ , ,..., }j n kX X X X

0 1 1

0 1 1( ) ... n

j j j n jc X c X c X c X

2 1

0 0 0

2 1

1 1 1

2 10 1 2 1 2 2 2

2 1

1 1 1

1 ...

1 ...

( , , ,..., ) 01 ...

... ... ... ... ...

1 ...

Tn

n

nn

n

r r r

X X X

X X X

с c c c X X X

X X X

0 1 2 1( , , ,..., )nc с c c c

0TcH

0 1 1

0 0 0 0

0 1 1

1 1 1 1

0 1 1

1 1 1 1

...

..., 0,..., 1

... ... ... ... ...

...

n i

n i

n i

n k n k n k n k

X X X X

X X X XH i n

X X X X

H

H ( )GF q

( )i m

jX GF q m

( )GF q

0 1 1( ) ( )( )...( )kh x x Y x Y x Y ( )m

iY GF q

Page 296: ОСНОВЫ КРИПТОГРАФИИ:

296

порождающая матрица с учетом (15.4) и (15.6) может быть задана с

помощью корней :

. (15.9)

Для построения матрицы с элементами из подполя следует

заменить каждый элемент в (15.9) вектор-столбцом из

элементов поля , при этом сопряженные корни образуют линейно

эквивалентные строки матрицы и могут быть опущены.

Пример. Для предыдущего примера имеем:

.

Зафиксируем как кольцо многочленов с операциями по модулю

(см. таблицу 15.2).

Таблица 15.2 – Элементы поля

Элементы поля в виде степени

примитивного элемента

Элементы поля в

виде многочленов

Элементы поля в виде

вектора коэффициентов

многочленов

1 100

010

001

110

011

111

101

Для построения матрицы с двоичными элементами следует заменить

каждый элемент в (15.8) вектор-столбцом из бит (см.

последнюю колонку таблицы 15.2). Т.к. корни многочлена принадлежат

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

корень (остальные строку будут линейно эквивалентными).

Например, проверочная матрица может быть задана в виде степеней

элемента :

G

0 1 1{ , ,..., }kY Y Y

1 2 0

0 0 0 0

1 2 0

1 1 1 1

1 2 0

1 1 1 1

...

..., 1,...,0

... ... ... ... ...

...

n n i

n n i

n n i

k k k n k

Y Y Y Y

Y Y Y YG i n

Y Y Y Y

G ( )GF q

( )i m

jY GF q m

( )GF q

1 2 4( ) ( )( )( )g x x x x

3(2 )GF3 1x x

3(2 )GF

i

01 x2 2x3 1x 4 2x x5 2 1x x 6 2 1x

H3(2 )i

jX GF 3

( )g x

1

Page 297: ОСНОВЫ КРИПТОГРАФИИ:

297

что после подстановки столбцов из таблицы 15.2 примет вид:

.

Эта матрица может быть задана также в виде степеней элемента :

что после подстановки столбцов из таблицы 2 примет вид:

.

Третий вариант построения матрицы в виде степеней элемента :

что после подстановки столбцов из таблицы 15.2 примет вид:

.

1

1 0 1 1 1 2 1 3 1 4 1 5 1 6

0 1 2 3 4 5 6

( ) , 0,.., 1

( ) ( ) ( ) ( ) ( ) ( ) ( )

,

iH i n

1 0 0 1 0 1 1

0 1 0 1 1 1 0

0 0 1 0 1 1 1

H

2

2

2 0 2 1 2 2 2 3 2 4 2 5 2 6

0 2 4 6 1 3 5

( ) , 0,.., 1

( ) ( ) ( ) ( ) ( ) ( ) ( )

,

iH i n

1 0 0 1 0 1 1

0 0 1 0 1 1 1

0 1 1 1 0 0 1

H

4

1

4 0 4 1 4 2 4 3 4 4 4 5 4 6

0 4 1 5 2 6 3

( ) , 0,.., 1

( ) ( ) ( ) ( ) ( ) ( ) ( )

,

iH i n

1 0 0 1 0 1 1

0 1 1 1 0 0 1

0 1 0 1 1 1 0

H

Page 298: ОСНОВЫ КРИПТОГРАФИИ:

298

Все эти три матрицы задают одно и тоже линейное подпространство

(как и матрица в предыдущем примере).

Порождающая матрица через корни проверочного многочлена задается

степенями элементов , , , , причем из последних трех элементов

достаточно использовать только один (это сопряженные корни). Т.к. все

степени элемента равны тогда достаточно использовать только

одну единичную строку, образованную двоичным представлением элемента

.

Итого получим следующие варианты матрицы :

15.2. Теорема Боуза-Чоудхури-Хоквингема

Теорема Боуза-Чоудхури-Хоквингема (БЧХ) устанавливает

соответствие между специально заданным порождающим многочленом

циклического кода и кодовым расстоянием, которое характеризует

возможности кода для обнаружения и исправления ошибок.

H

0 3 5 6

0 0 1,

0G

0 0 0 0 0 0 0 0

3 4 1 5 2 6 3 0

( ), 1,...,0

( )

1 1 1 1 1 1 1

0 0 1 0 1 1 1;

1 1 1 0 0 1 0

1 0 1 1 1 0 0

i

iG i n

0 0 0 0 0 0 0 0

5 2 4 6 1 3 5 0

( ), 1,...,0

( )

1 1 1 1 1 1 1

0 0 1 0 1 1 1;

0 1 0 1 1 1 0

1 1 1 0 0 1 0

i

iG i n

0 0 0 0 0 0 0 0

6 1 2 3 4 5 6 0

( ), 1,...,0

( )

1 1 1 1 1 1 1

0 0 1 0 1 1 1.

1 0 1 1 1 0 0

0 1 0 1 1 1 0

i

iG i n

Page 299: ОСНОВЫ КРИПТОГРАФИИ:

299

Теорема (БЧХ). Пусть - порождающий многочлен циклического

кода длины над и - элемент порядка . Если корнями многочлена

являются подряд следующих степеней элемента

тогда минимальное кодовое расстояние кода, порожденного

многочленом , не меньше .

Доказательство. Рассмотрим проверочную матрицу кода (15.8). После

подстановки корней получим:

. (15.10)

Для того чтобы показать, что расстояние кода не меньше ,

достаточно показать, что любая совокупность из столбцов матрицы

линейно независима, т.е. нужно доказать, что ранг матрицы равен .

Запишем матрицу через произведение следующих матриц:

Для всех и выполняется неравенство

(элемент имеет порядок ). Следовательно, диагональная матрица в правой

части не вырождена и ее ранг равен . Матрица в левой части произведения

является матрицей Вандермонда и ее ранг равен . Ранг произведения

матриц равен наименьшему рангу сомножителей, т.е. ранг матрицы равен

и любая совокупность из столбцов этой матрицы линейно

( )g x

n ( )GF q n

( )g x 2t : 1 2 1, ,..., ,i i i t

( )g x 2 1d t

1 2 1, ,...,i i i t

0 2 ( 1)

0 1 2( 1) ( 1)( 1)

0 2 2( 2) ( 1)( 2)

0 2 1 2( 2 1) ( 1)( 2 1)

...

...

...

... ... ... ... ...

...

i i n i

i i n i

i i n i

i t i t n i t

H

2 1d t

1 2d t

H 2t

H

0 2 ( 1)

0 1 2( 1) ( 1)( 1)

0 2 2( 2) ( 1)( 2)

0 2 1 2( 2 1) ( 1)( 2 1)

0 0 1 0 2 0 1 0

0 1 1 1 2 1 1 1

0 2 1

...

...

...

... ... ... ... ...

...

( ) ( ) ( ) ... ( )

( ) ( ) ( ) ... ( )

( ) (

i i n i

i i n i

i i n i

i t i t n i t

n

n

H

0

2 2 2 1 2 2

0 2 1 1 2 1 2 2 1 1 2 1 ( 1)

0 0 ... 0

0 0 ... 0

.) ( ) ... ( ) 0 0 ... 0

... ... ... ... ... ... ... ... ... ...

( ) ( ) ( ) ... ( ) 0 0 0 ...

i

n i

t t t n t n i

, 0,1,..., 1i j n i j i j

n

n

2t

H2t 1 2d t

Page 300: ОСНОВЫ КРИПТОГРАФИИ:

300

независима. Следовательно, минимальное кодовое расстояние равно ,

что и требовалось доказать.

Определение. Если поле символов кода совпадает с полем корней

многочлена такой код называют кодом Рида-Соломона, их

параметры над связаны соотношением (верхняя граница

Синлгтона), т.е. они обладают максимально-достижимым кодовым

расстоянием (МДР). Ограничением на подполе с заменой всех

в (10) соответствующими векторами-столбцами из элементов

поля получают коды над , параметры которых

удовлетворяют ограничению (нижняя граница БЧХ) .

Теорема (об идемпотентах циклических кодов). Каждый циклический

код содержит в качестве кодового слова единственный многочлен ,

такой, что многочлен является кодовым словом тогда и только, когда

Многочлен является идемпотентом.

Доказательство. Пусть g(x) – порождающий многочлен, и пусть

Тогда является идемпотентом. Его корни совпадают с корнями

и, следовательно, он является кодовым словом. Кроме того,

для всех j, и поэтому .

Далее, многочлен , откуда следует, что

,

это и доказывает теорему.

15.3. Построение векторного пространства с заданными

дистанционными свойствами с помощью преобразований в спектральной

области

Каждое слово c(x) циклического кода задается многочленом степени

n1. В несистематическом виде оно может быть записано как

c(x)=g(x)i(x),

2 1d t

( )g x ( , , )n k d

( )mGF q 1d n k

( )GF q

( )i mGF q m

( )GF q ( )GF q ( , , )n k d

1d n km

( )w x

( )c x

( ) ( ) ( )(mod 1).nc x c x xw x

( )w x

0, ( ) 0,

1, ( ) 0,

j

j j

если gW

если g

( )w x

( )g x j j jW G G

( ) ( ) ( )w x g x g x

( ) ( ) ( )c x a x g x

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )(mod 1)nc x x a x x g x a x gw xw c x x

Page 301: ОСНОВЫ КРИПТОГРАФИИ:

301

где i(x) – информационный многочлен степени k1. Во временной области это

дает (циклическую) свертку:

Следовательно, в частотной области операция кодирования может быть

записана в виде произведения

Любой удовлетворяющий этому равенству спектр задает в частотной

области кодовое слово при условии, что во временной области все

компоненты являются GF(q)-значными. В силу произвольности

информационного спектра единственная существенная роль компонент Gj

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

компоненты Cj спектра кодового слова. Таким образом, можно дать

следующее альтернативное определение циклического кода. Циклическим

кодом, который задан порождающим многочленом

,

называется множество таких слов над GF(q), у которых все спектральные

компоненты, принадлежащие заданному множеству так называемых

проверочных частот , равны нулю.

Хотя каждое слово циклического кода является вектором над GF(q),

спектр кодового слова является вектором над GF(qm). Следовательно,

циклический код может быть определен как множество всех спектральных

векторов, компоненты которых в заданном множестве частот равны

нулю. Нельзя выбирать произвольный спектральный вектор, у которого стоят

нули в заданном множестве частот; обратные преобразования некоторых из

таких векторов могут иметь компоненты, не принадлежащие полю GF(q). Для

того, чтобы кодовое слово принадлежало полю GF(q), выбирать нужно только

спектр, который удовлетворяет условиям сопряженности, приведенным ранее.

Коды БЧХ являются такими циклическими кодами, в которых

проверочные частоты выбираются последовательно. Исправляющий t

ошибок код БЧХ длиной n = qm1 определяется как множество всех кодовых

слов над GF(q), спектр которых равен нулю в заданном блоке из 2t

последовательных частот.

Доказательство границы БЧХ в частотной области представляется

простым и интуитивно очевидным.

Теорема 1 (граница БЧХ). Пусть n делит qm1 при некотором m.

Единственным вектором из GFn(q) веса не более d1, имеющим d1

последовательных нулевых компонент спектра, является нулевой вектор.

1

(( ))

0

.n

i i k k

k

c g i

.j j jC G I

0 1 1( ) ( )( )...( )n kg x x X x X x X

0 1 1, ,..., n kV V V

Page 302: ОСНОВЫ КРИПТОГРАФИИ:

302

Если n = q1 (или n делит q1), то код БЧХ является кодом Рида-

Соломона; кодовое слово и его спектр лежат в одном и том же поле.

Используя для вычисления спектральных компонент информационные

символы, можно осуществить кодирование непосредственно в частотной

области. Каждый спектр, у которого 2t последовательных компонент равны

нулю, является кодовым словом. Кодирование (построение векторного

пространства) осуществляется следующим образом. Какие-либо 2t

последовательных частот (например, первые 2t) выбираются для обеспечения

необходимого ограничения: символы в этих частотах полагаются равными

нулю. Остальные n2t координат спектра заполняются информационными

символами из GF(q). Тогда обратное преобразование Фурье дает

(несистематическое) кодовое слово, как показано на рисунке 15.1. Поскольку

имеется n2t частот. В которых записываются информационные символы. То

получается (n, n2t)-код Рида-Соломона.

Рисунок 15.1 – Кодирование кодом Рида-Соломона с помощью

преобразования Фурье

Для более общего случая кодов БЧХ кодирование является более

сложным. Теперь мы имеем два поля: поле символов GF(q) и поле локаторов

GF(qm), используемое для спектра. Опять 2t последовательных компонент

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

компоненты представляют собой k информационных символов, которые

должны выбираться из GF(qm) такими q

k способами, чтобы обратное

преобразование Фурье принимало значение в GF(q).

Пример (задача 1). Используя теорему БЧХ оцените размерность и

минимальное кодовое расстояние векторного пространства над и

дуального к нему, если спектр базисных векторов длины задан

нулевыми хордами: , в поле . Найдите идемпотент,

k

d kV (2)GF

7n

0А 1 2 4, ,А А А 3(2 )GF

Page 303: ОСНОВЫ КРИПТОГРАФИИ:

303

однозначно задающий это векторное пространство. Какой спектр будут иметь

вектора из ортогонального дополнения?

Решение. Классы сопряженных элементов поля задают хорды

, и .

По условию задачи спектр кодовых слов имеет вид:

,

где , и связанные ограничениями сопряженности частоты. Хорда

содержит 3 бита, т.к. элемент хорды может принимать любое

значение из , т.е. . По теореме БЧХ .

Идемпотент, однозначно задающий векторное пространство , будет

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

преобразования Фурье спектра

,

это вектор

,

т.е. идемпотентом является многочлен .

Проверяем свойство идепотента:

.

Векторы из ортогонального дополнения будут иметь спектр вида:

.

Эти векторы являются словами дуального кода, параметры которого в

соответствии с теоремой БЧХ равны: , .

Пример (задача 2). Используя теорему БЧХ оцените размерность и

минимальное кодовое расстояние векторного пространства над и

дуального к нему, если спектр базисных векторов длины задан нулевой

хордой: в поле . Найдите идемпотент, однозначно задающий это

векторное пространство. Какой спектр будут иметь вектора из ортогонального

дополнения?

Решение. Классы сопряженных элементов поля задают хорды

3(2 )GF

0А 1 2 4, ,А А А 3 5 6, ,А А А

0 1 2 3 4 5 60, 0, 0, , 0, ,V V V V V V V

3V 5V 6V

3 5 6, ,А А А3(2 )GF 3k 2 1 3 1 4d t

3V

0 1 2 3 4 5 60, 0, 0, 1, 0, 1, 1V V V V V V V

1,0,0,1,0,1,1

3 5 6( ) 1w x x x x

2 6 10 12 7 3 5 6( ) 1 mod( 1) 1 ( )w x x x x x x x x w x

0 1 2 3 4 5 6, , , 0, , 0, 0V V V V V V V

4k 2 1 2 1 3d t

k

d kV (2)GF

3n

0А 4(2 )GF

4(2 )GF

Page 304: ОСНОВЫ КРИПТОГРАФИИ:

304

,

,

,

,

.

Для построения подпространства двоичных векторов длины

следует использовать мультипликативную подгруппу в порядка 3. Эту

подгруппу образуют элементы поля , им соответствуют две хорды

и .

По условию задачи спектр кодовых слов имеет вид:

,

где и связанные ограничениями сопряженности частоты. Т.к. по

условиям сопряженности и значениями элементов хорды

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

равно 2. Следовательно . По теореме БЧХ .

Идемпотент, однозначно задающий векторное пространство , будет

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

преобразования Фурье спектра

.

Вычислим обратное преобразование Фурье. Для этого в качестве ядра следует

выбрать элемент порядка 3, например, возьмем элемент . Получим:

;

;

.

это вектор

,

т.е. идемпотентом является многочлен .

Проверяем свойство идепотента:

1 2 4 8, , ,А А А А

3 6 12 9, , ,А А А А

5 10,А А

7 14 13 11, , ,А А А А

3n 4(2 )GF

0 5 10, ,

0А 5 10,А А

0 5 100, ,V V V

5V 10V2

5 10V V 2

10 5V V0 5 100, , ,

5 10,А А 2k 2 1 1 1 2d t

2V

0 5 100, 1, 1V V V

5

5 0 0 5 01 5 0 2

0

1( ) 0 ( ) 1 ( ) 1 1 0 1 1 0

3v

5 1 0 5 11 5 1 2 10 5

1

1( ) 0 ( ) 1 ( ) 1 1 0 1

3v

5 2 0 5 21 5 2 2 5 10

2

1( ) 0 ( ) 1 ( ) 1 1 0 1

3v

0,1,1

2( )w x x x

Page 305: ОСНОВЫ КРИПТОГРАФИИ:

305

Вектора из ортогонального дополнения будут иметь спектр вида:

.

Эти векторы являются словами дуального кода, для которого в

соответствии с теоремой БЧХ имеем: . Для правильной оценки

следует выполнить замену переменных: . Тогда элементы

запишем в виде и спектр примет вид

.

Откуда имеем .

Задания для самостоятельной работы

По аналогии с последними примерам решите следующие задачи.

1. Используя теорему БЧХ оцените размерность и минимальное

кодовое расстояние векторного пространства над и дуального к

нему, если спектр базисных векторов длины задан нулевой хордой:

в поле . Найдите идемпотент, однозначно задающий это векторное

пространство. Какой спектр будут иметь вектора из ортогонального

дополнения?

2. Используя теорему БЧХ оцените размерность и минимальное

кодовое расстояние векторного пространства над и дуального к

нему, если спектр базисных векторов длины задан нулевыми хордами:

, в поле . Найдите идемпотент, однозначно задающий это

векторное пространство. Какой спектр будут иметь вектора из ортогонального

дополнения?

3. Используя теорему БЧХ оцените размерность и минимальное

кодовое расстояние векторного пространства над и дуального к

нему, если спектр базисных векторов длины задан нулевыми хордами:

, в поле . Найдите идемпотент, однозначно задающий это

векторное пространство. Какой спектр будут иметь вектора из ортогонального

дополнения?

0 5 10, 0, 0V V V

1k d5 1 0 5 10, ,

0 1 2, ,

0 1 2, 0, 0V V V

2 1 2 1 3d t

k

d kV (2)GF

5n 0А4(2 )GF

k

d kV (3)GF

8n

4А 5 7,А А 2(3 )GF

k

d kV (3)GF

4n

4А 2 6,А А 2(3 )GF

Page 306: ОСНОВЫ КРИПТОГРАФИИ:

306

16. МАТЕМАТИЧЕСКИЕ ПРЕОБРАЗОВАНИЯ В ГРУППЕ ТОЧЕК

ЭЛЛИПТИЧЕСКОЙ КРИВОЙ

16.1. Определение группы точек эллиптической кривой

Эллиптической кривой (используется обозначение ) называется

множество точек , удовлетворяющих уравнению (форма Виерштрасса):

.

Это уравнение может рассматриваться над произвольными полями и, в

частности, над конечными полями, представляющими для криптографии

особый интерес.

Принято говорить, что кривая гладкая в точке (x0; y0), если частные

производные и не обращаются одновременно в нуль в этой

точке. Это определение не зависит от вида поля. Для рациональных точек

кривой гладкость означает существование касательной кривой в этой точке.

Если кривая гладкая во всех точках, тогда ее называют не особой (без

особенностей) и гладкой кривой. Точки кривой, одновременно обращающие в

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

содержащая особые точки называется кривой с особенностями.

Пример 1. Суперсингулярные кривые , для которых

для любого поля характеристики 2 или 3 частные производные

и

обращаются в нуль лишь в точке (0; 0) которая и является особой.

Пример 2. Рассмотрим кривые

, .

Найдем частные производные кривой

,

.

Кривая имеет особую точку лишь в том случае, если

и дискриминант уравнения положительный .

EC

y,x

2 3 2

1 3 2 4 5y a xy a y x a x a x a

x/F y/F

/F x /F y

2 3 2y xy x ax

2/ 3 2F x y x ax

/ 2F y y x

2( ; ) ( )F x y y f x 3( )f x x ax b

( , ) / 2F x y x y 2( , ) / 3F x y y x a

0 0;Р х у EC

0 0y 23 0x a 0D

Page 307: ОСНОВЫ КРИПТОГРАФИИ:

307

Если характеристика поля не равна 2, то и обращаются в

ноль лишь тогда и только тогда, когда и – кратный корень функции

. Именно по этой причине для использования в современных

стандартах несимметричных криптосистем на базе эллиптической кривой

требуется, чтобы все корни ее уравнения были различны, т.е. чтобы

эллиптическая кривая была гладкой всюду.

В криптографии эллиптические кривые рассматриваются над двумя

типами конечных полей:

простыми полями нечётной характеристики ( ,

где - простое число) 29

;

полями характеристики 2 ( , где -

неприводимый над многочлен степени от

неопределенной переменной )30

.

16.2. Формулы сложения и скалярного умножения точек

эллиптической кривой в соответствии с ГОСТ P 34.10-2001 и FIPS-186

Рассмотрим математические преобразования в группе точек

эллиптической кривой, определенные в соответствии с ГОСТ P 34.10-2001 и

FIPS-186.

Пусть будет задано простое число . Тогда эллиптической кривой

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

чисел, удовлетворяющие тождеству:

, (16.1)

где и выполнено условие .

Действительно, вычислив частные производные имеем:

,

,

то есть их одновременно равенство нулю будет происходить только в случае

и .

29

– кольцо отношений целых чисел, определенное приведением по модулю простого числа . 30

– кольцо отношений многочленов от неопределенной переменной , определенное

приведением по модулю неприводимого над многочлена .

/F x /F y

0 0y 0x3( )f x x ax b

( ) [ ] / ( )GF p Z x p

3p

(2 ) ( )[ ] / ( ( ))mGF GF p x f x ( )f x

(2)GF deg ( )f x m

x

3p

2 3 (mod )y x ax b p

, pa b F 3 24 27 0 (mod )a b p

2( , ) / 3F x y x x a

( , ) / 2F x y y y

0y 3

ax

[ ] / ( )Z x p p

( )[ ] / ( ( ))GF p x f x x

( )GF p ( )f x

Page 308: ОСНОВЫ КРИПТОГРАФИИ:

308

Рассмотрим первый корень 3

ax , подставим его в уравнение

кривой и найдем (если они существуют) такие точки, которые образуют

особенность:

3

03 3

a aa b

,

откуда

03 3 3

a a aa b ,

то есть имеем уравнение:

2 33

aa b

и это уравнение выполняется и после подъема во вторую степень, то есть

2 24 93

aa b

,

что дает следующее условие существования особых (которые обращают в

ноль обе производные) точек:

3 24 27 0a b .

Случай 3

ax дает то же тождество.

Точками эллиптической кривой называют такие пары (x, y),

удовлетворяющие тождество (1), а числа x и y, соответственно - х- и у-

координатами точки.

Точки эллиптической кривой будем обозначать Q(x, у), P(x, у) или

просто Q, P. Две точки эллиптической кривой равны, если равны их

соответствующие х- и у -координаты.

На множестве всех точек эллиптической кривой E введем операцию

сложения, которую будем обозначать знаком "+". Эту операцию будем

представлять таким образом. Пусть ( , ), ( , )P x y Q x y EC - две точки на EC .

Проведем такую прямую, проходящую через ( , )P x y и ( , )Q x y . Поскольку EC

описывается уравнением третьей степени, тогда эта прямая пересечет EC ещё

не более чем в одной точке. Воспользуемся третьей точкой пересечения для

определения операции сложения.

Page 309: ОСНОВЫ КРИПТОГРАФИИ:

309

Поскольку нужно построить группу, то есть такое множество точек

кривой, которая является замкнутой относительно операции сложения, тогда

нужно ввести т.н. единичный элемент группы. Пусть это будет воображаемое

точка O - точка на конечности. Тогда по определению единичного элемента

группы для произвольной точки ( , )P x y EC будет всегда происходить

равенство:

( , ) ( , )P x y O P x y .

Если добавление « » образовано через сечение и EC прямой,

проходящей через заданные две точки кривой, тогда ясно, что обратная

элемент ( , )P x y в отношении « » есть такая точка, которая является

симметричной относительно оси абсцисс до точки ( , )P x y , то есть

( , ) ( , )P x y P x y

и тогда действительно ( , ) ( , )P x y P x y О

ибо третья точка пересечения прямой, проходящей через ( , )P x y и ( , )P x y

из которых EC является точка на конечности O .

Для выполнения условия существования обратного элемента групповую

операцию сложения

1 1 1 2 2 2 3 3 3( , ) ( , ) ( , )P x y P x y P x y

определим как это показано на рисунке 16.1, то есть это обратная

(симметрична относительно оси абсцисс) третьей точке пересечения прямой.

Для двух произвольных точек 1 1 1( , )P x y и 2 2 2( , )P x y эллиптической

кривой Е рассмотрим несколько вариантов.

Пусть координаты точек 1 1 1( , )P x y и 2 2 2( , )P x y удовлетворяют

условию 1 2x x . В этом случае их суммой будем называть точку 3 3 3( , )P x y

координаты которой определяются сравнениями

2

3 1 2

3 1 3 1

mod ;

mod ,

x x x p

y x x y p

(16.2)

где

2 1

2 1

mody y

px x

.

Page 310: ОСНОВЫ КРИПТОГРАФИИ:

310

P1(X1,Y1)

P2(X2,Y2)

-P3(X3,-Y3)

P3(X3,Y3)

x

y

Рисунок 16.1 - геометрическая интерпретация операции сложения точек

эллиптической кривой

Действительно, если 1 2x x , тогда запишем уравнение прямой,

пересекает кривую в точках 1 1 1( , )P x y и 2 2 2( , )P x y в виде:

1 1

2 1 2 1

y y x x

y y x x

,

откуда имеем

1 2 1 1 2 1( )( ) ( )( )x x y y y y x x ,

что, после раскрытия скобок и приведения подобных принимает обычный вид

уравнения первой степени:

Ax B y ,

2 1

2 1

y yA

x x

, 2 1

1 1

2 1

y yB y x

x x

.

Найдем координаты третьей точки пересечения прямой Ax B y и

эллиптической кривой. Для этого подставим уравнение прямой в (16.1) и

найдем решение уравнения. Получим:

2 3 (mod )Ax B x ax b p

Page 311: ОСНОВЫ КРИПТОГРАФИИ:

311

Раскроем скобки и приведем подобные (операции по модулю для

удобства записывать не будем):

3 2 2 2( 2 ) 0x A x a AB x B b .

Полученное уравнение от одной переменной x запишем в

каноническом виде (через корни уравнения), которые и являются x -

координатами трех точек 1 1 1( , )P x y , 2 2 2( , )P x y и 3 3 3( , )P x y :

3 2

1 2 3 1 2 3 1 2 1 3 2 3 1 2 3( )( )( ) ( ) ( ) ( ) 0x x x x x x x x x x x x x x x x x x x x x

откуда имеем: 2

1 2 3( )A x x x ,

1 2 1 3 2 32 ( )a AB x x x x x x , 2

1 2 3( )B b x x x .

Используя первое уравнение получим значение x -координаты третьей

точки: 2

2 2 13 1 2 1 2

2 1

y yx A x x x x

x x

,

полностью совпадает с первой частью формулы (16.2).

Найдем теперь значение y -координаты точки 3 3 3( , )P x y (см. рисунок

16.1), для этого подставим найденное 3x в уравнение прямой, получим

2 1 2 1 2 13 3 3 1 1 3 1 1

2 1 2 1 2 1

( )y y y y y y

y Ax B x y x x x yx x x x x x

.

Поскольку y -координата точки 3 3 3( , )P x y является обратной то y -

координаты найденной третьей точки 3 3 3( , )P x y пересечения прямой и

кривой значения 3y получим путем инверсии:

2 13 3 1 3 1

2 1

( ) ( )y y

y y x x yx x

.

Получим искомое значение (16.2).

Page 312: ОСНОВЫ КРИПТОГРАФИИ:

312

Рассмотрим теперь случай, когда выполнено равенство 21 xx и

1 2 0y y , т.е. случай удвоения точек, когда точки 1 1 1( , )P x y и 2 2 2( , )P x y

совпадают в одну (см. рисунок 16.2).

P3(X3,Y3)

-P3(X3,-Y3)

x

y

P1(X1,Y1)=P2(X2,Y2)

Рисунок 16.2 - Геометрическая интерпретация операции удвоения точек

эллиптической кривой

Координаты точки 3 3 3( , )P x y определим следующим образом (операция

удвоения точки):

2

3 1

3 1 3 1

2 mod ;

mod ,

x x p

y x x y p

(16.3)

где

2

1

1

3mod

2

x ap

y

.

Действительно, если 1 1 1 2 2 2( , ) ( , )P x y P x y , вместо прямой, проходящей

через точки 1 1 1( , )P x y и 2 2 2( , )P x y проведем касательную, ее уравнение

будет иметь вид

Ax B y ,

где 2

1

1

3

2

x aA

y

,

2

11 1

1

3

2

x aB y x

y

,

Page 313: ОСНОВЫ КРИПТОГРАФИИ:

313

то есть коэффициент 2 1

2 1

y y

x x

заменяется на отношение производных,

рассчитанных в точке соприкосновения 1 1 1 2 2 2( , ) ( , )P x y P x y .

Проведя такие же, как и в предыдущем случае изложения получим

формулу удвоения точки соприкосновения в виде (16.3).

Таким образом, результатом удвоения точки 1 1 1 2 2 2( , ) ( , )P x y P x y есть

точка 3 3 3( , )P x y , которая является симметричной относительно оси абсцисс (с

обращенной в у -координатою) до точки 3 3 3( , )P x y пересечения прямой

линии, является касательной в точке 1 1 1 2 2 2( , ) ( , )P x y P x y , и эллиптической

кривой.

В случае, когда выполнено условие 21 xx и 1 2 mody y p сумму точек

1 1 1( , )P x y и 2 2 2( , )P x y называть нулевой точкой O , не определяя ее х - и у -

координаты. В этом случае точка 2 2 2( , )P x y называется отрицанием точки

1 1 1( , )P x y . Для нулевой точки O выполнено равенство

P O O P P , (16.4)

где P – произвольная точка элептической кривой.

По введенной операции сложения множество всех точек эллиптической

кривой, вместе с нулевой точкой, образуют конечную абелеву

(коммутативную) группу, которую обычно обозначают как ECH и которая

имеет порядок m. Для этой группы выполняется неравенство

1 2 1 2p p m p p .

Точка Q называется точкой кратности k, или просто кратной точкой

эллиптической кривой ЕС, если для некоторой точки Р выполнено равенство

...k разів

Q P P P kP . (16.5)

Операция, которая определена формулой (16.5), называется скалярного

умножения точек эллиптической кривой, где k - скаляр, на который

формально умножается точка P . Точка P имеет порядок k , если ее скалярное

умножение на k равна нулевой точке О, то есть, если kP O .

Рассмотрены преобразования в группе точек эллиптических кривых,

используемых при построении криптосистем с открытым ключом. В основе

обоснования их устойчивости лежит сведения задачи криптоанализа к

решению теоретико-сложной задачи дискретного логарифмирования в группе

точек эллиптической кривой.

Воспользуемся понятием дискретного логарифма.

Page 314: ОСНОВЫ КРИПТОГРАФИИ:

314

Пусть H - конечная группа, g и y - элементы этой группы. Любое

целое k , что kg y называется дискретным логарифмом y по основанию

g . Каждый элемент y H имеет дискретный логарифм по основанию g

тогда и только тогда, когда H будет циклической группой с образуемой g . В

общем случае известные алгоритмы для вычисления дискретных логарифмов

в группах порядка m имеют примерно одинаковую сложность относительно

m как и для алгоритмов факторизации.

Относительно группы точек эллиптической кривой используют

следующее понятие дискретного логарифма на кривой.

Пусть ECH - конечная группа точек эллиптической кривой, iP и jP -

элементы этой группы. Любое целое k , что i jkP P называется дискретным

логарифмом на эллиптической кривой. Криптостойкость алгоритмов,

построенных на эллиптических кривых обосновывается на сложности

нахождения дискретного логарифма и заключается в определении x по

известным точкам iP и jP .

Рассмотрим пример.

Задача.

Эллиптическая кривая над полем задана уравнением

.

Найдите все элементы группы точек эллиптической кривой. Задайте

групповую операцию табличным образом. Найдите порядки всех элементов

группы. Найти все циклические подгруппы.

Решение.

Запишем все точки на плоскости в данном поле (см. таблицу 16.1).

Таблица 16.1 – Точки на плоскости в полем и точки кривой

х y

0 0

0 1

0 2

0 3

0 4

1 0

1 1

1 2 P1

1 3 P2

х y

1 4

2 0

2 1

2 2

2 3

2 4

3 0

3 1

3 2

х y

3 3

3 4

4 0 P3

4 1

4 2

4 3

4 4

(5)GF

2 3 2y x x

(5)GF2 3 2y x x

Page 315: ОСНОВЫ КРИПТОГРАФИИ:

315

Для нахождения точек удобно сперва найти все квадратичные вычеты

по модулю 5:

т.е. квадратичными вычетами являются числа 1 и 4 (число 0 является

квадратичным вычетом по любому модулю).

Следовательно, уравнение имеет решения только тогда,

когда равно 0, 1 или 4.

Далее, найдем значения :

- решений нет;

- решениями будут пары (1, 1) и (1, 3);

- решений нет;

- решений нет;

- решение есть, это пара (4, 0);

Получаем, что в поле имеется 4 точки (с точкой О), которые

принадлежат этой эллиптической кривой (удовлетворяют уравнению

).

Построим циклические подгруппы (циклы, порожденные отдельными

точками). Возьмем, например, точку P1(0,1) и будем ее складывать с самой

собой до получения единичного элемента группы: P1, 2P1,…, О.

Находим сначала 2P1. Ищем λ для удвоения точек, причем параметры

эллиптической кривой а=1, b=2:

.

Находим координаты точки:

,

.

Получаем, что

2P1(0,1) = P3(4,0).

Ищем 3P1 = 2P1 + P1 = P3 + P1.

2

2

2

2

2

0mod5;

1 1mod5;

2 4mod5;

3 4mod5;

0

4 1mod5,

2 3 2y x x 3 2x x

3 2x x 30 2 2x x x

31 2 4x x x 32 2 2x x x 33 2 2x x x 34 2 0x x x

(5)GF

2 3 2y x x

2

1 13 / 2 3 1 1 / 2 2 1х а y

2

3 12 1 2 1 1 5 4x x mod

3 1 3 1 1 4 2 5 5 0y x x y mod

Page 316: ОСНОВЫ КРИПТОГРАФИИ:

316

Формула для удвоения точек не подходит, поэтому используем другую,

для сложения:

.

Координаты:

,

.

Получаем, что

3P1 (4,0)= P2 (1,3).

Ищем 4P1 = 3P1 + P1 = P2 + P1.

.

На данном этапе прекращаем расчеты и записываем получившийся

цикл:

P1, 2P1 = P3, 3P1 = P2, 4P1 = O.

Теперь построим таблицу 16.2 для сложения для всех элементов

множества точек (слева).

Таблица 16.2 – Таблица Кэлли для сложения точек эллиптической кривой

+ 0 P1 P2 = 3P1 P3 = 2P1

0 0 P1 P2 P3

P1 P1 P3 0 P2

P2 = 3P1 P2 0 P3 P1

P3 = 2P1 P3 P2 P1 0

Используя таблицу 16.2 легко найдем остальные циклы (таблица 16.3),

порожденные точками (записаны в первом столбце). Порядки циклов

приведены в последнем столбце.

Таблица 16.3 – Циклы точек эллиптической кривой

2 1 2 1/ 2 0 / 1 4 2 / 3 2 / 2 1y y x x

2

3 1 2 1– 4 1 1x x x

3 1 2 1) 1 4( 1 0 3y x x y

2 1 2 1/ 2 3 / 1 1 y y x x O

1 2 3 4 p

P1 P1 P3 P2 0 4

P2 P2 P3 P1 0 4

P3 P3 0 2

Page 317: ОСНОВЫ КРИПТОГРАФИИ:

317

16.3. Формулы сложения и скалярного умножения точек

эллиптической кривой в соответствии с ДСТУ 4145-2002

Эллиптическая кривая над конечным полем имеет вид

,

где , , .

Суммой двух точек над полем при

называть точку , координаты которой определяются

сравнениями

(16.6)

При удвоение точки координаты определим

следующим образом:

(16.7)

Задания для самостоятельной работы

Доказать формулы (16.6) и (16.7) по аналогии с выводом формул (16.2)

и (16.3).

(2 )mGF

2 3 2y xy x Ax B

, (2 )mA B GF 0B 0,1A

1 1 1 2 2 2( , ) ( , )P x y P x y (2 )mGF

2 2 2( , )P x y O 3 3 3( , )P x y

2

2 1 2 13 1 2

2 1 2 1

2 13 1 3 3 1

2 1

;

( ) .

y y y yx x x A

x x x x

y yy x x x y

x x

1 1 1( , )P x y 3 3 3( , )P x y

2

3 1 2

1

2 13 1 1 3 3

1

;

.

Bx x

x

yy x x x x

x

Page 318: ОСНОВЫ КРИПТОГРАФИИ:

318

СПИСОК ЛИТЕРАТУРЫ

1. Виноградов И. М. Основы теории чисел: Учебное пособие. 12-е изд.,

стер. – СПб.: Издательство «Лань», 2009. – 176 с.

2. Сизый С.В. Лекции по теории чисел: Учеб. пособие для студентов

вузов. – 2-е изд., испр. – М.: ФИЗМАТЛИТ, 2008. – 192 с.

3. Егоров Д.Ф. Элементы теории чисел. Государственное издательство:

Москва – Петроград, 1923. – 202 с.

4. Хассе Г. Лекции по теории чисел. Издательство иностранной

литературы: Москва, 1953. – 528 с.

5. Блэйхут Р. Теория и практика кодов, контролирующих ошибки: Пер. с

англ. – М.: Мир, 1986. – 576 с.

6. Лиддл Р., Нидеррайтер Г. Конечные поля: в 2-х томах. Т. 1. Пер. с

англ. – М.: Мир, 1988. – 430 с.

7. Д. Кнут. Искусство программирования. Том 1. Основные алгоритмы –

3-е изд. – М.: «Вильямс», 2006. – С. 720.

8. Есин В.И., Кузнецов А.А., Сорока Л.С. Безопасность

информационных систем и технологий. Х.:ООО «ЭДЭНА», 2010. – 656с.

9. Сачков В.Н. Введение в комбинаторные методы дискретной

математики. – М.: Наука. Гл. ред. физ.-мат. лит., 1982. – 384 с.

10. Сачков В.Н. Вероятностные методы в комбинаторном анализе. М.,

Наука, 1978 г. – 287 с.

11. Сендеров В., Спивак А. Многочлены деления круга. // Научно-

популярный физико-математический журнал "Квант". – 1998, №1 – С. 3-18.

12. Шнайер Б. Прикладная криптография: Протоколы, алгоритмы,

исходные тексты на языке Си. – Переводчик: Дубнова Н. - 2-e издание. - М.:

Диалектика, 2003. – 610 с.

13. Сергиенко А. Б. Цифровая обработка сигналов. - 2-е. - Спб: Питер,

2006. – С. 751.

14. Трифонов П. В. , Федоренко С. В. Метод быстрого вычисления

преобразования Фурье над конечным полем. – Пробл. передачи информ., 39:3

(2003), С. 3-10.

15. Горбенко І.Д., Горбенко Ю.І. Прикладна криптологія. Теорія.

Практика. Застосування: Підручник для вищих навчальних закладів. – Харків:

Вид-во «Форт», 2013. – 880с.

16. Asmuth C., Bloom J. A modular approach to key safeguarding // IEEE

Trans. Inf. Theory / F. Kschischang – IEEE, 1983. – Vol. 29, Iss. 2. – P. 208–210.

17. Ахметов Б.С., Корченко А.Г., Сиденко В.П., Дрейс Ю.А.,

Алимсеитова Ж.К. Қолданбалы криптология: шифрлау әдістері. Учебник. -

Алматы: Қ. И. Сәтбаев атындағы ҚазҰТЗУ, 2016. – 500 б.

18. Болотов А.А., Гашков С. Б., Фролов А.Б., Часовских А.А.

Элементарное введение в эллиптическую криптографию. Том 1.

Алгебраические и алгоритмические основы. – М.: КомКнига, 2006. – 328 с.

Page 319: ОСНОВЫ КРИПТОГРАФИИ:

319

19. Болотов А.А., Гашков С. Б., Фролов А.Б., Часовских А.А.

Элементарное введение в эллиптическую криптографию. Том 2. Протоколы

криптографии на эллиптических кривых. – М.: КомКнига, 2006. – 280 с.

20. ГОСТ Р 34.10-2012. Информационная технология.

Криптографическая защита информации. Процессы формирования и проверки

электронной цифровой подписи – 24 с.

21. FIPS PUB 186-3. FEDERAL INFORMATION PROCESSING

STANDARDS PUBLICATION. Digital Signature Standard (DSS). – 131 p.

22. ДСТУ 4145-2002. Информационные технологии. Криптографическая

защита информации. Цифровая подпись, основанная на эллиптических

кривых. Формирование и проверка. – 44 с.

23. www.nist.gov

24. www.eprint.iacr.org

25. www.iso.org

26. www.springerlink.com

27. www.cacr.math.uwaterloo.ca

28. www.financialcryptography.com

29. www.austinlinks.com

30. www.world.std.com/~franl/crypto.html

31. www.cryptonessie.org

32. www.osti.gov/eprints

Page 320: ОСНОВЫ КРИПТОГРАФИИ:

320

Ахметов Бахытжан Сражатдинович,

Кузнецов Александр Александрович,

Краснобаев Виктор Анатольевич,

Алимсеитова Жулдыз Кенесхановна,

Кузнецова Татьяна Юрьевна

ОСНОВЫ КРИПТОГРАФИИ: ЭЛЕМЕНТЫ ТЕОРИИ ЧИСЕЛ,

ГРУПП, ПОЛЕЙ, КОЛЕЦ

Учебное пособие

Рекомендованно Республиканским учебно-методическим советом

Министерства образования и науки Республики Казахстан

Формат изд. 60х80

Тираж 300 экз. Зак. __

Копировально-множительное бюро

некоммерческого акционерного общества

«Алматинский университет энергетики и связи»

050013, Алматы, Байтурсынова, 126/1