Текст
                    В. М. Фомичев
ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Курс лекций
Под общей редакцией доктора физико-математических наук Н. Д. Подуфалова
Москва • “Л14ЮГЛ1110И ” • 2003
ББК 32.97
Ф76
Фомичев В. М.
Ф76 ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ. Курс лекций / Под общ. ред. д-ра физ.-мат. н. Н. Д. Подуфалова. - М.: ДИАЛОГ-МИФИ, 2003-400 с.
ISBN 5-86404-185-8
Книга написана ведущим специалистом в области криптологии, имеющим многолетний опыт преподавания в МИФИ.
Изложены базовые вопросы криптологии и необходимые для их изучения основы математического аппарата. С целью закрепления материала даны задачи и упражнения.
Рекомендуется для студентов, аспирантов, изучающих дисциплины по криптологии и компьютерной безопасности, преподавателей, а также практических работников, имеющих дело с криптографическими методами защиты информации.
Учебно-справочное издание
Фомичев Владимир Михайлович
ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ. Курс лекций
Под общ. ред. д-ра физ.-мат. н. Н. Д. Подуфалова
Редактор О. А. Голубев
Корректор В. С. Кустов
Макет Н.В Дмитриевой
Лицензия ЛР N 071568 от 25.12.97. Подписано в печать 22.09.2003
Формат 60x84/16. Бум. офс. Печать офс. Гарнитура Таймс.
Усл. печ. л. 23,25. Уч.-изд. л. 14,5. Тираж 3 000 экз. Заказ ЧМЬЭ
ЗАО “ДИАЛОГ-МИФИ”, ООО “Д и М”
115409, Москва, ул. Москворечье, 31, корп. 2. Т.: 320-43-55, 320-43-77
Http://www.bitex.ru/~dialog. E-mail: dialog@bitex.ru
Подольская типография
142100, г. Подольск, Московская обл., ул. Кирова, 25
ISBN 5-86404-185-8	© Фомичев В. М., 2003
© Оригинал-макет, оформление обложки ЗАО “ДИАЛОГ-МИФИ”, 2003
ВСТУПИТЕЛЬНОЕ СЛОВО
Неуклонно возрастают многообразие и сложность проблем информационной безопасности, возникающих в ходе активного развития информационных технологий. Современные решения многих проблем защиты информации немыслимы без использования методов криптологии. Систематическому изложению теоретических основ криптологии и важнейших ее приложений для решения задач защиты информации посвящена данная книга.
Учебник написан ведущим специалистом в области криптологии, доцентом кафедры криптологии и дискретной математики МИФИ, имеющим многолетний опыт преподавания. Содержание учебника полностью соответствует государственному образовательному стандарту высшего профессионального образования по специальности «Комплексное обеспечение информационной безопасности автоматизированных систем» (шифр 075500). Десятки вузов России, разворачивающих в настоящее время подготовку специалистов по защите информации, нуждаются в подобном учебнике, что повышает его актуальность и ценность.
Этот учебник выгодно отличается от немногих предшествующих изданий на русском языке высокой степенью полноты и самодостаточности материала. Автор добился цельности и логичности изложения, четкости определения основных понятий, математической строгости. Для закрепления материала даны задачи и упражнения.
Книга может быть также полезна как преподавателям при подготовке лекций и семинарских занятий, так и практическим работникам.
Доктор физико-математических наук, профессор, академик Российской академии образования (РАО)
Н. Д. Подуфалов
Май 2003 года
/1И/МОМ1И0И
3
ПРЕДИСЛОВИЕ
Предлагаемая читателю книга задумана как учебник по охватывающим 3 семестра курсам «Математические основы криптологии» и «Криптографические методы защиты информации», читавшимся автором в течение 10 лет на факультете информационной безопасности МИФИ.
Учебник предназначен^прежде всего для студентов, обучающихся по специальности 075500 - «Комплексное обеспечение информационной безопасности автоматизированных систем», но может быть также полезен молодым специалистам и аспирантам, специализирующимся в области криптографических методов защиты информации. Преподаватели могут использовать учебник для подготовки лекций и семинарских занятий.
Цель данного учебника - представить в единой книге основы математического аппарата, необходимого для изучения основ криптологии, и изложить базовые вопросы криптологии, используя математический язык как инструмент достижения лаконичности и точности утверждений.
Современная криптология, корнями уходящая во многие фундаментальные математические науки, впитала в себя огромное количество теорем, фактов, криптографических схем, алгоритмов и пр. Невозможно уместить все это в одной книге, не ограничивая материал при отборе. Поэтому важно пояснить принципы отбора материала, а также структурные и содержательные особенности учебника.
Книга состоит из двух частей: в первой представлены избранные главы дискретной математики, необходимые для изучения шифров, во второй - основы криптологии.
Основной «математический маршрут» читателя по первой части учебника выглядит так: дискретные множества отображения множеств -> конечные автоматы.
К первой группе вопросов относятся необходимые сведения (гл. 1 и 2) о теоретико-множественных операциях, о некоторых бинарных отношениях и алгебраических структурах, заданных на конечных множествах.
НИДЛОГИЧИФИ
4
Предисловие
Вторая группа вопросов весьма обширна и охватывает отображения к¥(т), где пит- натуральные числа, X - конечное множество и, при необходимости, кольцо вычетов или поле. В связи с этими отображениями рассмотрена следующая тематика: булевы функции (гл. 3), функции Л-значной логики (гл. 4), критерии сбалансированности и биективности отображений (гл. 5), периодические свойства последовательностей и преобразований множеств (гл. 6), криптографические свойства псевдослучайных последовательностей (гл. 7) и нелинейных отображений (гл. 8).
Третья группа вопросов (гл. 9) касается автоматов Мили, которые являются подходящей математической моделью многих алгоритмов, реализуемых электронными схемами и компьютерными программами.
Для рассмотрения отдельных вопросов как в первой, так и во второй части учебника этот «запас знаний» недостаточен, так как местами используются теоремы линейной алгебры и некоторые начальные сведения из теории вероятностей. Разделы по этим математическим дисциплинам не включены в книгу ввиду ограниченности ее размеров, в этих случаях потребуется соответствующая подготовка читателя.
Предметом второй части являются шифрсистемы, используемые для защиты дискретной информации. Основное внимание уделено симметричным шифрсистемам, тем не менее дается понятие об асимметричных и гибридных шифрсистемах, сравниваются достоинства и недостатки обоих принципов шифрования.
Обсуждены особенности задач криптографии и криптоанализа -составных частей криптологии (гл. 10). Рассмотрены основные компоненты криптосистем, определяющие их стойкость: криптографические протоколы, ключевые системы (гл. 10 и 11), семейства шифрующих отображений или алгоритмы шифрования (гл. 12-18). В гл. 12 рассмотрены модели открытых текстов, в гл. 13 представлены различные подходы к оценке стойкости криптосистем. В гл. 14 все шифры классифицируются на шифры замены и перестановки, дается представление об эволюции шифров замены и перестановки с древних времен до начала «машинной» эры в XX в. Гл. 15 посвящена математическим моделям современных симметричных шиф
5
В. М. Фомичее. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
ров - шифрующим автоматам, содержательное определение которых введено автором с целью преодоления ряда недостатков, свойственных моделям на базе автоматов Мили, рассматривавшимся ранее. В гл. 16, 17 и 18 представлены принципы построения и криптографические свойства соответственно поточных шифров, блочных шифров и криптографических генераторов. В гл. 19 дано описание некоторых криптографических схем, что дает возможность предметно изучить реализацию тех или иных криптографических принципов.
Для закрепления материала в завершение большинства глав даны задачи и упражнения, в общей сложности около 300 задач. Основная масса задач относится к первой части учебника, при изучении материала второй части целесообразно перенести «центр тяжести» практических занятий на лабораторный практикум. Несколько задач для гл. 3 и 4 заимствованы из [55]. Многие задачи носят «фольклорный характер», то есть хорошо известны специалистам и их авторство установить невозможно. Ряд задач сформулирован автором. В конце книги выборочно и по возможности лаконично даны ответы и решения.
Все определенные термины выделены в тексте полужирным шрифтом и систематизированы в алфавитном порядке в словаре терминов. Такие объекты, как утверждения, теоремы, рисунки, а также наиболее важные для изложения материала формулы отмечены двойным номером, первый из них есть номер главы, а второй - порядковый номер объекта в главе. По такому же принципу используется двойная, тройная и четверная нумерация для разделов глав и их составных частей.
Окончание доказательств отмечено в тексте символом ♦.
В завершение приведен список литературы, использованной при подготовке книги. Каждая работа из списка была в той или иной мере полезна при написании учебника. И все же определенные методические предпочтения были сделаны: при изложении некоторых вопросов теории булевых функций и функций £-значной логики -книге С. В. Яблонского [85], при обращении к описаниям криптографических схем, режимов шифрования и криптографических протоколов - книге Б. Шнайера [38], при рассмотрении криптографических свойств шифров - работам Р. Рюппеля и книге Алферо
6
Предисловие
ва А. П., Зубова А. Ю., Кузьмина А. С., Черемушкина А. В. [48]. Помимо представленных в списке работ необходимо упомянуть весьма интересный неопубликованный обзор по поточным шифрам, подготовленный Б. Емельянниковым. Обзор в электронном виде был распространен им среди коллег совершенно бескорыстно.
Автор благодарен за полезные доброжелательные замечания и содействие в издании книги Н. Д. Подуфалову, С. П. Горшкову, В. А. Копытцеву, О. А. Логачеву, Ю. В. Логинову, Т. В. Петровой и В. В. Ященко.
Отзывы о книге и замечания, направленные на ее улучшение, автор с благодарностью примет по адресу kaf42@mail.ru.
В. М. Фомичев
Май 2003 года
7
Часть I
ИЗБРАННЫЕ ГЛАВЫ ДИСКРЕТНОЙ МАТЕМАТИКИ
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
1.1. Понятие множества
Понятие множества является фундаментальным в математике и определяется, как правило, через равносильные понятия, такие, как совокупность, семейство, класс и др. Например: множество есть совокупность объединенных по некоторым признакам различных объектов, называемых элементами множества.
Если х - элемент множества X, то говорят, что х принадлежит X, при этом пишут: х е X . В противном случае делается запись: х £ X или хеХ.
Два множества X и Y равны (или не равны), запись - X = Y (X&Y), если состоят из одних и тех же элементов (найдется элемент одного множества, не являющийся элементом другого множества).
Множество, состоящее из конечного (бесконечного) числа элементов, называют конечным (бесконечным).
Говорят, что между множествами X и Y существует взаимнооднозначное соответствие (или биекция) <р, если каждому элементу хеХ соответствует единственный элемент ф(х)еУ и каждому элементу yeY соответствует единственный элемент хеХ, такой, что (р(х) = у. Записываем это: <р:Х<->У.
Бесконечное множество X, элементы которого можно занумеровать (то есть между множеством X и натуральным рядом существует взаимно-однозначное соответствие), называется счетным. Остальные бесконечные множества называются несчетными.
Для описания конечного множества X, состоящего из элементов Х1.Х2, , Хп, обычно используется запись
X = {л-|, Х2, ... , Х„}, порядок следования элементов несуществен.
СМОГЛИ	8
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
Число п элементов конечного множества X называют мощностью или порядком множества и обозначают через |х|. Множество мощности п часто называют п-множеством.
Кроме записи, использующей перечисление элементов множества, для задания множества применяют описательный способ и рекурсивный способ.
Например, если N - множество всех натуральных чисел, то множество М четных натуральных чисел описывается так:
М = {ieN: i делится на 2 без остатка} -или задается рекурсивным способом:
М = {ieN: 2еМ, и если ieM, то i+2eM}.
1.2.	Подмножества и операции над множествами
Если каждый элемент множества Y является элементом множества X, то Y называется подмножеством множества X. В этом случае используется запись YaX.
Если К с X и У * X, то используется запись Y<zX . В этом случае множество Yназывается собственным подмножеством множествах.
Включение с обладает свойствами:
а)	рефлексивности - ХеХ;
б)	транзитивности - если ХсУ, YaZ, то XoZ.
Включение а обладает свойством транзитивности.
Множество, не содержащее элементов, называется пустым и обозначается через 0. Считается, что 0 является подмножеством любого множества и | 01 =0.
Для каждой пары множеств X и У определим
1) операцию объединения:
Хи У = {х; хеХ или хе У};
2) операцию пересечения:
ХпУ = {х: хеХ и хе У}.
Каждая из этих операций коммутативна и ассоциативна:
ХиУ = УиХ; ХпУ = УпХ;
9
В. М. Фомичев. ДИСКРЕТНАЯ_МАТЕМАТИКА И КРИПТОЛОГИЯ
(X<jY)<jZ = X<j(Y<jZ); (Xr>Y)riZ = Xn(FnZ).
Операции объединения и пересечения связаны законами дистрибутивности:
Xn(FuZ) = (XnF)u(XnZ); Xu(FnZ) = (ХиУ)п(ХиХ). (1.1)
Разность множеств X и У определяется так:
Х\У= {х: хеХ и xtY}.
Из этого определения следует:
(Х\У)и(ХпУ) = Х.
Если Xa.U, то дополнением для множества X в множестве U назовем множество X:
X =(ЛХ.
Справедливы следующие равенства, называемые законами де Моргана. Если Х,У с U , то
ХпУ = ХоУ; ХиУ = ХпУ.	(1.2)
Декартовым произведением множеств XbX2,...,Xm называется
множество наборов из m элементов {(xi,X2,...,xm)}, гдех/еХ^ i = l,m.
Декартово произведение ХхХх...хХ с пг сомножителями называется m-й декартовой степенью множества X и обозначается Х^т\
Несложно доказать (математическая индукция), что
|Х1хХ2х...хХт|=П|Х(.|.
(=1
1.3. Системы подмножеств множества
Семейство множеств {Xi,X2,...,Xk} называется покрытием множества X, если имеет место равенство
X = XiuX2u...uXb
множества Xi,X2,...,Xk называются блоками покрытия.
Семейство непустых множеств {Xi,X2,...,Xk} называется разбиением множества X с блоками Xi,X2,...,X*, если:
10
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
I) это семейство является покрытием множества X;
2) X, r>Xj = 0 для различных i,je{ 1,2,...,к}.
Порядок записи блоков несуществен в силу коммутативности операции разбиения.
Разбиение {Y\,Y2,...,Ym} множества X называется продолжением разбиения {Xi,X2,...,Xk} того же множества, если для всякого блока Yi разбиения {УьY2,...,У,п} найдется блок Xj разбиения {Xi,X2,...,Xk} такой, что Yi^Xj. Из данного определения следует, что т>к.
Число ТДпрПг,—,пк) разбиений множества мощности п на к непустых блоков, где мощность z-ro блока разбиения равна п„ z=l,2,...,к, П1+П2+...+пк = п, определяется формулой
2 к) п{\п2\...пк\
Для разбиения справедливо правило суммы:
|Х| = |Х1|+|Х2[+...+|ХЛ|,
'Для покрытия - обобщенное правило суммы:
]х[ <
Для точного подсчета и оценивания порядка множества через порядки множеств покрывающей системы используется формула включений и исключений (доказывается методом математической индукции [66]).
Пусть имеется N предметов и п свойств zi, Z2, zn, которыми обладает или не обладает каждый из предметов. Обозначим через N(zlf...,Zi) число предметов, обладающих свойствами
(и может быть, некоторыми другими). Тогда число No предметов, не обладающих ни одним из свойств zi, Z2, , z„, равно
^ = ^-5i+52-53+...+(-1)X
где Sk определяется формулой, к = 1,2,
3.= z ................Ч>-
11
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Из формулы следует, что для покрывающей системы подмножеств Xi,X2,...,Xffl конечного множества А' справедливо:
Ж	I	I
|XIuX2u...uXm|=£|X/|- 2	Х||ПХ,.|+...
/=1
.. .+(-!/'• Е	kn...nX(.J+...+(-l)m-1-|X1nX2n...nXm|.
Подмножество А множества X® называется бинарным отношением, заданным на множестве X.
Бинарное отношение А на множестве X называется:
1)	симметричным, если (х,х)еА для любого хеХ,
2)	рефлексивным, если из (х,у)еА следует (у,х)еЛ;
3)	транзитивным, если из (x,y),(y,z)eA следует (x,z)gA.
Если бинарное отношение является симметричным, рефлексивным и транзитивным, то его называют отношением эквивалентности.
Принадлежность двух элементов множества X одному блоку некоторого разбиения множества X является отношением эквивалентности на множестве X. С другой стороны, всякое отношение эквивалентности А на множестве X определяет разбиение множества X на классы эквивалентности, то есть на подмножества, каждое из которых состоит из эквивалентных элементов. Множество этих классов эквивалентности называют фактор-множеством множества X по отношению А и обозначают Х/А.
Множество всех подмножеств множества X называется булеаном множества X и обозначается 2х.
Утверждение 1.1. Если X есть «-множество, то |2Х| = 2".
Доказательство. Каждому подмножеству Y множества X = {xi,x2,...,x„) взаимно-однозначно соответствует n-мерный двоичный вектор a v = {, а2,..., аи}, в котором а, = 1 тогда и только тогда, когда х(е Y, i = 1,п . Следовательно, |2Х| = 2".	♦
В силу того же соответствия легко показать, что числа неупорядоченных и упорядоченных подмножеств мощности т данного множества мощности п соответственно равны:
12
________	_	Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
Ст М _ п-\т)
А™ =—-—.
(п-т)!
Теорема 1.1 (Шпернер). Пусть S = {Xi,X2,...,Xm} - семейство различных подмножеств «-множества X, и мощности подмножеств равны	соответственно. Если семейство S состоит из попарно
невложимых подмножеств, то есть для всех	/ j,
выполняются неравенства ХДХ2 0, то
Доказательство. Рассмотрим цепочку подмножеств множества X:
0 = Со с С} g... с С, g ... с Сп = X,
где |С,-| = i, i = 0,n. Такая цепочка называется полной (неуплотняе-мой, насыщенной), так как между ее звеньями нельзя вставить дополнительного множества.
Число различных полных цепочек равно и!.
Рассмотрим полную цепочку, содержащую в качестве звена множество Xh l<i<m. Если |Х,| = г, цепочка имеет вид
Со с С, с... с СгЧ с X,. с Сг+1 с...сС„
и число таких цепочек равно г.'-(н-г)/. При i & j ни одна полная цепочка не проходит одновременно через X,- и Х7, иначе было бы верно либо Xj\Xj = 0, либо Xj\Xi = 0. Поэтому число полных цепочек, про-т
ходящих через все подмножества семейства S, равно !-(и-nJ!. м
Это число не превышает числа всех полных цепочек. Поэтому т ^2и. !• (n-nj!< п!.
Отсюда следует справедливость теоремы Шпернера.	♦
13
a M. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Используем далее обозначения: [х] - целая часть числа х, В(п) = С'"/2].
Следствие. В «-множестве имеется не более В(п) попарно невло-жимых подмножеств.
Доказательство следует из теоремы 1.1 и неравенств
” j < В(п), 1 <i<m.	♦
1.4.	Частично упорядоченные множества
Множество А называется упорядоченным (линейно упорядоченным, вполне упорядоченным), если для любых а,Ь,сеА выполняются свойства:
(1)	рефлексивность (я<а);
(2)	антисимметричность (если а<Ъ, Ь<а, то а = Ь)\
(3)	транзитивность (если а<Ь, Ь<с, то а<с);
(4)	линейность (либо а<Ь, либо Ь<а).
Пример. Множество R действительных чисел, множество Z целых чисел (в обоих случаях выражение а<Ь означает, что число а не превосходит числа Ь).
Множество А называется частично упорядоченным (ч.у.м.), если для любых а,Ь,сеА выполняются свойства (1)-(3).
Примеры:
1.	Декартова «-я степень упорядоченного множества X, где |Х|>1.
Для элементов х = (х\,Х2,...,хп) и у = (у\,уъ...,уп) множества Xм положим: х<у <=> х,<у, для i =	(символ о означает «тогда и
только тогда, когда»). Нетрудно видеть, что - ч.у.м., но не упорядоченное множество.
2.	Множество Z целых чисел, где a<b <=> а/b {а делит без остатка число Ь).
14
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
Из приведенных примеров видно, что при определении ч.у.м. А следует определить не только множество А, но и рассматриваемое отношение порядка. В общем случае ч.у.м. будем обозначать <А,<>. Когда рассматриваемое отношение порядка не допускает двусмысленности, ч.у.м. будем обозначать просто символом А.
Ч.у.м. А можно рассматривать как множество, на котором задано бинарное отношение со свойствами (1)-(3).
Диаграмма ч.у.м. А (диаграмма Хааса) - это изображение на плоскости множества Я, пара элементов (а,Ь) которого соединена дугой (направленным отрезком) тогда и только тогда, когда а<Ъ, а*Ь и не найдется отличного от а и b элемента с&А такого, что а< с< Ь.
Иначе говоря, диаграмма ч.у.м. А - это ориентированный граф (см. разд. 7 данной главы), множество вершин которого совпадает с множеством А, и пара (а,Ь) является дугой графа тогда и только тогда, когда а<Ь, а^Ь, и не найдется отличного от а и b элемента сеА такого, что а< с< Ь.
Цепь в <А,<> - это подмножество множества А, обладающее свойством линейности.
Элементы а,Ь ч.у.м. А называются сравнимыми, если они принадлежат некоторой цепи, и несравнимыми в противном случае. Несравнимость элементов а и b обозначим а || b. Таким образом, в цепи нет несравнимых элементов.
Антицепь в <А,<> - это подмножество множества А, любые два различных элемента которого несравнимы.
Длину цепи С (обозначим ее 1(C)) определим как длину соответствующего пути в диаграмме, то есть 1(C) = I d -1.
Длина ч.у.м. А (обозначим ее 1(A)) определяется как длина самой длинной из цепей множества А, то есть 1(A) = п, если в А найдется цепь длины п и не найдется цепи длины п+1.
Ширина ч.у.м. А (обозначим ее h(A)) определяется как мощность самой мощной из антицепей множества А, то есть h(A) = п, если в А найдется антицепь, состоящая из п элементов, и не найдется антицепи, состоящей из п+1 элементов.
Пусть В - подмножество ч.у.м. А и а&А. Элемент а называется верхней (нижней) границей множества В, если Ь<а (а<Ь) для всех
15
3. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Ь&В. Верхняя (нижняя) граница а множества В называется его верхней (нижней) гранью, если а<с (с<а) для любой верхней (нижней) границы с множества В. Обозначение: а = sup# (а = inf#).
Ч.у.м. А называется решеткой, если для всех а,ЬеА:
sup(a,b)eA, inf(a,b)eA.
Докажем корректность данных определений на примере supH. Действительно, если oq = sup/1 и сц = sup/l, то одновременно ао<а{ и Я1<ао. Отсюда по свойству (2) из определения ч.у.м. имеем а0 = ац ♦
Для двух элементов а,ЬеА выполнены свойства:
а<Ь •» znf{a,#} = а <=> sup{a,#} = b.
Наряду с ч.у.м. <А<> можно рассматривать ч.у.м. <А>>. При этом полагается, что a<b b>a. Второе множество называется двойственным первому, и наоборот. Если имеется утверждение о ч.у.м., то, заменяя в нем все вхождения < на >, получаем утверждение, двойственное к исходному утверждению. Таким образом, для ч.у.м. выполняется принцип двойственности, состоящий в том, что некое утверждение имеет место в <А<> тогда и только тогда, когда двойственное ему утверждение имеет место в <А>>.
Например, если ч.у.м. <А<> - решетка, то двойственное ему ч.у.м. <А,>> также решетка.
Решетка <А,<> называется подрешеткой решетки <#,<>, если Ас#.
Утверждение 1.2. Пусть <А\,<>, <Л2,<>,..., <АЬ<> - подрешетки к
решетки <В<>. Тогда < Г) Д ,^> также решетка.
>=1
Доказательство следует из того, что если свойства решетки выполняются в каждом из подмножеств, то эти свойства выполняются и в пересечении подмножеств.	♦
Пусть НсВ, где <В<> - решетка. Через <[77],<> обозначим минимальную подрешетку решетки <В<>, обладающую свойством [Н]^Н (то есть <[77], <> содержится в любой другой решетке, содержащей И). Подрешетку <[Н\,<> назовем подрешеткой, порожденной множеством Н.
16
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
Утверждение 1.3. Пусть <А\,<>, <А2,<АЬ<>,... - система всех подрешеток решетки <В<> таких, что НсА^ к = 1,2,... Тогда <[//],<> = <ПЛ ,<>. к
Доказательство. Так как Н^Ак для всякого к, то НсП Ак . Следо-к
вательно, решетка <ПА ,<> содержит <[//],<>. Покажем, что она к
минимальная, содержащая <[//],<>.
Предположим, что нашлась решетка <В’,<>, содержащая <[77], <> и являющаяся собственной подрешеткой решетки <ПЛ ,<>, тогда к
B’af]Ак . Но по определению решетка <В’,<> содержит <[77],<>, зна-к
чит, В’ e{At,A2>...} иТГ^ПА .
к
Полученные соотношения взаимно противоречивы. Следовательно, указанной решетки <В’,<> не существует.	♦
Решетки А и А’ называются изоморфными (обозначается А^А’), если существует взаимно-однозначное соответствие ср между множествами А и А’ такое, что a<b в А оср(л)<(р(/?) в А’.
1.5. Свойства некоторых решеток
Рассмотрим классы решеток, представляющие интерес для криптографических приложений.
1.5.1. Решетка двоичных п-мерных векторов
Обозначим через У„ множество двоичных n-мерных векторов. Весом вектора а = (ai,a2,...,ан) (обозначается ||а||), aeVn, называется число единичных координат вектора а:
||а|| = ai+a2+...+an.
Говорят, что вектор а = (at,a2,...,an) не превосходит вектора b= (bi,b2,...,bH), a,beVn (обозначается a<b), если а,<7>, для любого i = 1,2,...,л. Очевидно, если а<Ь, то ||<я|| <||й||.
17
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Несложно проверить, что <К,<> является решеткой и выполнено следующее утверждение.
Утверждение 1.4. Пусть А есть «-множество. Тогда <2А,<> - решетка и <2а,<> = <К,<>.
Лемма 1.1 (Ансель, 1966). Решетка <Vn,<> разбивается на 5(п) цепей со следующими свойствами:
1) число цепей длины п-2р равно	0<р<[п/2], где мини-
мальный (максимальный) элемент каждой такой цепи есть вектор ве* са р (веса п-р);
2) если (аьаг) и (аг,«з) - дуги диаграммы решетки <У,„<>, лежац щие на цепи длины п-2р, то элемент Ь, образующий вместе с элементами <2ьй2>Дз подрешетку решетки <Vn,<>, изоморфную решетке <V2,<>, лежит на цепи длины п-2р-2.
Доказательство (индукция по п).
1.	Пусть п = 1. Тогда <Vi,<> есть цепь длины 1. В этом случае первое утверждение леммы верно.
2.	Пусть п = 2. Тогда <V2,<> покрывается двумя цепями длины 2 и 0 (рис 1.1).
Непосредственно проверяется, что лемма верна для п = 2.
3.	Пусть лемма верна для п-1, где п>2. Разобьем множество К на два подмножества К,о и Кд:
VnJ= {xeVn: х = (xipc2,...pcn.ij)}, уе{0,1},
при этом <Vn,0,<> s <V,s <V„.i,<>.
По предположению индукции каждое из множеств К,о и V„, i разбивается на указанное множество цепей, причем между этими множествами цепей существует биекция, индуцируемая изоморфизмом <р решеток <К.о,<> и <У„д,<>:
18
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
ф(Х! Л, • • • Л.-1,0) = ф(Х1 Л, • • • Л.-1,1 )•
Пусть С - одна из цепей решетки <Vn0,<> и а - ее наибольший элемент. Тогда ф(С) - соответствующая цепь решетки <Vn.i,<> и ф(а) -ее наибольший элемент. Преобразуем пару цепей вида (С,ф(С)) в другую пару цепей. Изымем из цепи ф(С) элемент ф(а) и добавим его к цепи С (это возможно, так как а<ф(а)). Тем самым цепь С удлиняется на одно звено, а цепь ф(С) укорачивается на одно звено. После таких преобразований получим непересекающиеся цепи, покрывающие <Vn,<>. Если через ^п.2Рм обозначить число цепей длины п-2р в решетке <Vn,<>, то из описания преобразований цепей следует, что
t («) _ £	(«-1) I t (л-1)
Ь«-2р	~ S«-2p-l Т” 4>л-2р+1
Отсюда, используя предположение индукции, имеем:
W’=	= cr-cf.
В завершение доказательства первого утверждения леммы заметим, что если у цепи С длины п-2р-1 в решетке <Уп>о,<> минимальный элемент - это вектор веса р, а максимальный элемент - это вектор веса п-1-р, то после удлинения эта цепь имеет длину п-2р, ее минимальный элемент - это вектор веса р, а максимальный элемент - вектор веса п-р. Аналогичные рассуждения проводятся в решетке <Упд,<> для цепи ф(С) длины н-2р+1. Таким образом, первое утверждение леммы выполнено.
Второе утверждение леммы вытекает непосредственно из правила преобразования цепей.	♦
Следствие. Ширина решетки <V„<> равна В(п).
Доказательство. По доказанной лемме (а также по следствию теоремы Шпернера), /z(<V„,<>) не превосходит В(п). С другой стороны, множество векторов веса [п/2] образует в данной решетке антицепь и мощность его равна В(п). Следовательно, ширина данной решетки равна В(п).	♦
1.5.2. Решетка делителей целого числа
Обозначим через £>(«) множество всех делителей натурального числа п. Заметим, что D(ri) является ч.у.м. относительно отношения /.
19
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Утверждение 1.5. <£>(«),/> является решеткой.
Доказательство. Если d/n и b/п, то, определяя max(J,fe) = HOK(d,b\, min(<Z,Z>) = НОД^,Ь\ получаем, что max(J,fe)eD(n) и min(d,b)eD(n).	♦
Несложно убедиться, что если b/п, то D(b) является подрешеткой решетки D(n).
Пусть число п разлагается в произведение степеней простых делителей р\,рг,—,ps, при этом к,-кратность делителяpt, i = l,2,...,s (такое разложение называется каноническим):
п= рх'  p22-...-pss.
Назовем натуральное число свободным от квадратов, если оно не делится на квадрат какого-либо числа, иначе говоря, не имеет кратных делителей в каноническом разложении. Множество свободных от квадратов делителей числа п обозначим через D\n).
Утверждение 1.6. <D\ri),/> = <D(pl-p2-...-ps),/>^<Vs,<>.
Утверждение 1.7. Для длины и ширины решетки D(ri) верны соотношения:
Z(Z)(n)) = к\+ k2+...+ks.
B(ki+k2+...+ks) > h(D(n)i) > B(s).
Утверждения 1.6 и 1.7 читатель может доказать самостоятельно в качестве упражнения.
1.6. Графы
1.6.1. Основные понятия
Множество X = {хьХг,...} вкупе с бинарным отношением U на множестве X называется графом G (обозначается G = (X, U)).
Элементы множества X называются вершинами, а элементы множества U - ребрами графа G.
Если (xi,Xj)eU, то говорят, что вершины х, и Xj смежны или что ребро (х„х7) соединяет вершины х, и xj. Если i = j, то ребро (xj.x/) называется петлей.
20
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
Ребро (xbXj) называют инцидентным вершинам х, и Xj. Два ребра, инцидентных одной и той же вершине, называют смежными. Вершина, не инцидентная ни одному ребру, называется изолированной. Вершину, инцидентную одному ребру, и само это ребро называют висячими или концевыми.
Ребра, которым поставлена в соответствие одна и та же пара вершин, называются кратными или параллельными.
Граф без кратных ребер (и без петель) называется полным, если смежны его любые две (различные) вершины.
Если элементы каждой пары (xi,Xj) упорядочены, то G называется ориентированным графом или орграфом, а его ребра называются дугами. В противном случае граф G называется неориентированным.
Говорят, что G - граф с помеченными вершинами (ребрами, дугами), если вершины (ребра, дуги) графа помечены элементами некоторого множества.
Граф G = (X,U) называется двудольным, если имеет место разбиение X = X\<jXi такое, что пара (Х|,ху)е17 только тогда, когда х, и х; принадлежат различным блокам разбиения.
Если множества X и U конечны, то граф G называют конечным. Если | At = и, то граф называют и-вершинным, или графом с п вершинами. Если вершины графа G занумерованы, нередко каждая вершина отождествляется с ее номером.
Число ребер, инцидентных вершине i неориентированного графа, называется степенью вершины i, ze{ 1,2,...,и}, при этом петля учитывается дважды.
Каждая вершина i орграфа характеризуется парой чисел где р,- число ребер, входящих в вершину i, и <7, -число ребер, исходящих из вершины i. Числа р, и q, называются полустепенью захода и полустепенью исхода вершины i.
1.6.2. Пути в графе
Путем в графе G из вершины i в вершину j (соединяющим вершины i и j) называется система s,j ребер:
Si.j={(i\,i2), (й>,й),.--, (Й-ьЙ)}, й = Й й =j-
21
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Длиной пути stj (обозначается называют число ребер, составляющих этот путь.
Если ребро принадлежит какому-либо пути, то говорят, что этот путь проходит через данное ребро. Аналогично если вершина i принадлежит какому-либо ребру некоторого пути, то говорят, что этот путь проходит через вершину i.
Путь называется простым, если он не проходит дважды ни через одну вершину. Очевидно, что простой путь не проходит дважды ни через одно ребро.
Путь Sjj называется циклом, если i = j. В частности, петля есть цикл длины 1. Всякую вершину графа G, лежащую (не лежащую) на цикле, называют циклической (ациклической).
Подходом к циклу называется путь в графе, все вершины которого за исключением последней являются ациклическими.
Неориентированный (ориентированный) граф G называется связным (сильно связным), если найдется путь в G, соединяющий любые его две различные вершины.
Множество вершин неориентированного (ориентированного) графа разбивается на классы эквивалентности, где две вершины эквивалентны тогда и только тогда, когда имеется путь из одной вершины в другую. Такой класс вершин со всеми соединяющими их ребрами (дугами) называется компонентой связности (компонентой сильной связности) графа. Связный неориентированный (сильно связный ориентированный) граф состоит из единственной компоненты связности (сильной связности). Несвязный /i-вершинный граф может содержать от двух до п компонент связности (сильной связности).
Орграф G связен, если связен неориентированный граф, полученный из G заменой дуг на ребра.
Пусть - множество всех путей в графе G, идущих из i в j, i,je{ 1,2,...,и}. Величина Ijj = min/(я) называется длиной кратчай-.veS(/,J)
шего пути из i в j, а всякий путь из z в j длины Ijj называется кратчайшим путем из i в j.
Диаметром «-вершинного сильно связного орграфа (связного неориентированного графа) G называется величина
22
__Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
DiamG = max /. у .
Л/€{1,2,...л}
Если граф G несвязен (орграф не сильно связен), то DiamG = оо.
Если DiamG = t, то это означает, что:
а)	для любой пары вершин (ij) в графе G длина кратчайшего пути из i в j не превосходит f,
б)	для некоторой пары вершин (y,w) в графе G длина кратчайшего пути из v в w равна t.
Теорема 1.2. Диаметр и-вершинного сильно связного орграфа G не превышает п.
Доказательство. Из сильной связности графа G следует, что для любой пары его вершин (i,j) найдется путь из i в j некоторой длины t. Если t<n, то теорема выполнена. Если t>n+l, то последовательность вершин, соответствующая данному пути, содержит t+1 вершину, где t+l>n+2. Следовательно, в данной последовательности вершин найдутся две одинаковые вершины, не стоящие одновременно на концах пути. Часть пути, заключенная между этими двумя вершинами, является циклом. Удалим из рассматриваемого пути этот цикл, оставив лишь вершину, стоящую на одном из концов циклического отрезка пути. В результате получим путь, также идущий из i в j, но уже более короткой длины.
Эта процедура удаления циклов продолжается до тех пор, пока не получится путь длины, не превосходящей п. Следовательно, в графе G длина кратчайшего пути из i в j не превосходит п для всех i,je{ 1,2,...,п}.	♦
Данная в теореме оценка диаметров графов достижима. Например, всякий граф, составляющий один полный цикл длины п, имеет диаметр, равный п.
Оценка теоремы 1.2 может быть улучшена для частных классов п-вершинных сильно связных графов. Например, [62], если G есть п-вершинный сильно связный орграф, у которого полустепени захода и исхода каждой вершины ограничены снизу числом к, где 1<к<п-1, то DiamG < 3-[(«-!)/&]-1.
23
''В:М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
1.6.3. Отношения между графами
Графы G и Н называют изоморфными (обозначается GzH), если существует взаимно-однозначное соответствие между их вершинами и ребрами такое, что соответствующие ребра соединяют соответствующие вершины. Более точно, если G = (X,U), Н = (X',U'), графы G и Н изоморфны и (р есть взаимно-однозначное соответствие множеств X и X', то (v,w)et7 тогда и только тогда, когда (9(v),9(w))6t/:
Граф Н = (X',U') называется подграфом графа G = (X,U), если Х'^Х и U' получено из U изъятием всех ребер, инцидентных хотя бы одной вершине из Х\Х'.
Граф Н называется частью графа G (обозначается HZG), если ЛГ'сХи U'cU.
Путь, цикл в графе являются частями этого графа. Компонента связности графа является его подграфом.
Непосредственно из определений следует, что если Н и G есть п-вершинные графы и HZ.G, то DiamAZ>DiamG.
1.6.4. Способы задания графов
Обычно граф G задается следующими способами:
1. Списком ребер графа с указанием их .концов вкупе со списком изолированных вершин.
2. Таблицей (матрицей) чисел Ig размера пхт, называемой матрицей инциденций графа G, где п - число вершин, т - число ребер графа. Если вершины и ребра графа занумерованы числами от 1 до п и от 1 до т соответственно, то элемент а,-,7 матрицы IG, размещенный в r-й строке и j-m столбце равен:
а)	0, если вершина i не инцидентна ребру j (ребра графа также занумерованы);
б)	1, если i является концом дуги или ребра неориентированного ребрау;
в)	-1, если i является началом дуги j в орграфе.
3. Матрицей Mg размера пхп, называемой матрицей смежности (матрицей соседства) вершин графа G. Элемент a,j матрицы Mg ра
24
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
вен числу ребер или дуг вида (i,j) в графе. Для неориентированных графов ajj = ajj. Матрица инцидентностей и матрица смежности однозначно задают непомеченный граф.
1.7.	Отображения множеств
Однозначным отображением * (далее - отображением) множества X в множество Y или функцией ср (обозначается (р:Х->У) называется соответствие, определяющее для каждого элемента хеХ единственный элемент у е У. При этом будем писать: ф(х) = у.
Множество X называется областью определения отображения ф, множество Y - областью значений отображения ф, элемент у называется образом элемента х относительно отображения <р, а элемент х называется прообразом элемента у относительно отображения <р. Полным прообразом элемента у относительно ф называется множество всех его прообразов (обозначается ф!'1!(у)).
Отображения ф и ф равны, если совпадают их области определения и области значений и для любого х из области определения Ф(х) = ф(х).
Пусть имеется отображение ф:Х—>У. Отображение ф: X’—>У называют ограничением отображения ф на множество X’, где Х’сХ, если ф(х) = ф(х) для любого хеХ’.
Отображение ф конечного множества X в конечное множество У называется сбалансированным, если мощность множества | ф*’11^)! одинакова для всех у е У.
Отображение ф:Х->У называется:
а)	сюръективным или отображением на, если для любого уеУ выполнено ф,'|,(у>0;
б)	инъективным, если из х#>с' следует ф(х)^ф(х');
в)	биективным или взаимно-однозначным, если это отображение одновременно сюръективно и инъективно.
* В математике рассматриваются и многозначные отображения, ставящие в соответствие каждому элементу л еХ некоторое подмножество элементов множества Y.
25
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Если даны два отображения ф:Х—>У и ф:У—>Z, то произведением (композицией, суперпозицией) этих отображений называют отображение o:X-»Z, определяемое равенством о(х) = \|/(<р(х)) (при этом записывается о = ф-ф).
Утверждение 1.8. Операция умножения, определенная на последовательности перемножаемых отображений, обладает свойством ассоциативности.
Доказательство. Достаточно показать, что для всякой тройки отображений ф:Х-»У, ф.’У->£ %:Z—>W выполнено:
(^ Ф>Ф = ^(ф-ф).
Согласно определению произведения отображений имеем для произвольного хеХ:
(£(ф-ф))(х) = ^((ф-ф)(х)) = ^(ф(ф (х)) = £-ф(ф(х)) = ((^ф)ф)(х).	♦
Композиция отображений в общем случае некоммутативна, то есть ф-ф *ф-ф.
Отображение е множества X в себя называют единичным (тождественным), если е(х) = х для любого хеХ.
Отображения <р:Х—>У и ф:У—>Х называют взаимно-обратными, если ф-ф = ф -ф = е, при этом пишется: ф’1 = ф, ф'1 = ф.
Отображения, для которых существуют обратные, называются обратимыми.
Утверждение 1.9. Всякое обратимое отображение имеет единственное обратное отображение.
Доказательство. Пусть у отображения ф имеется два различных обратных отображения: ф и %. С учетом ассоциативности ф справедлива следующая цепочка равенств:
Ф = е-ф = (^ф)-ф = £-(ф-ф) = ^-е =
Следовательно, отображения ф и S, равны.	♦
Теорема 1.3. Отображение ф:Х—>У имеет обратное тогда и только тогда, когда оно биективно (взаимно-однозначно).
Доказательство. Пусть отображение ф имеет обратное. Предположим, что оно неинъективно, то есть для некоторых различных
26
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
элементов лих' множества X справедливо ф(х) = фОО. Тогда выполнена цепочка равенств
х = е(х) = (р ’^фСх) - ф И(ф(х)) = ф _1(ф(х’)) = ф _1-ф(х’) = е(х’) = х*.
Имеем противоречие, из которого заключаем, что отображение ф инъективно.
Если отображение ф несюръективно, то найдется у из У такой, что равенство ф(х) = у не выполняется ни при каком хеХ. С другой стороны, обозначив фИ(у) = а, получаем, что
ф(«) = Ф-(<р '‘(У)) = Ф’Ф ’’(У) = e(Y) = Y,
что противоречит невыполнению равенства ф(х) = у. Следовательно, отображение ф и инъективно и сюръективно, то есть биективно.
Пусть теперь отображение ф биективно. Тогда для любого хеХ найдется единственный у из У такой, что ф(х) = у. И наоборот, для любого у из У найдется единственный хеХ такой, что ф(х) = у. Определим отображение ф:У—>Х следующим образом: ф(у) = х, если ф(х) = у. Нетрудно убедиться, что отображение ф - обратное к отображению ф.
Следствие. Если ф:Х—>У и ф:У->/ - биективные отображения, то биективна и их композиция ф-ф, при этом
(ф-ф)'1 = ф’1-у'1.
Доказательство. Утверждение вытекает из равенств
(ф-ф)-(ф ‘‘-ф '*) = ф-(ф-ф ’‘)-ф ’’ = ж-е-у '* = Ф’Ф '* = «•	♦
Отображение ф:Х—>Х называют преобразованием множества X. Его степень определяется индуктивно:
ф* = ф^ф*'1), к = 1,2,..., ф° = е.
Элемент хеХ называется неподвижным элементом преобразования ф, если ф(х) = х.
Теорема 1.4. Биективность преобразования конечного множества равносильна его инъективности (сюръективности).
27
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Доказательство. Пусть преобразование ф конечного множества X инъективно. Покажем, что оно и сюръективно, то есть для любого хеХ найдется х' из X такой, что ф(х') = х.
Рассмотрим последовательность {ф*(х)}, к = 0,1,2,..., элементов множества X. В силу конечности множества X в этой последовательности неизбежны повторения. Например, фт(х) = ф"(х), т>п.
Если «>0, то из последнего равенства и инъективности преобразования ср следует, что
Ф^^х) = ф"-1^).
Повторив эти рассуждения еще п-1 раз, получаем: ф'"’"(х) = ф°(х) = е(х) = х.
Значит, можно считать, что ф(х') = х, где х' = ф'" "'1(х).
Пусть преобразование ф множества X сюръективно. Тогда для каждого образа найдется ровно один прообраз, так как мощности множеств образов и прообразов конечны и равны. Следовательно, преобразование ф множества X является биективным.	♦
Биективное преобразование ф «-множества X называется подстановкой на множестве X, п - степенью подстановки. Если X = = {xi,X2,...,x„}, то ф обычно записывают так:
Ф _ f Х|	%2	"• Хл	"	%п
т ^фСч)	ф(х2)	...	<p(xr„)J	^х. х,, ...	XjJ’
где (z‘i,i2,•••,/«) - перестановка чисел (1,2,...,«).
Для получения записи подстановки ф'1 достаточно в записи подстановки ф поменять местами верхнюю и нижнюю строки и упорядочить вертикальные пары по элементам верхней строки.
Подстановка ф называется инволюцией, если ф'1 = ф.
Подстановка ф на множестве X называется транспозицией элементов i,j множества X, i*j, если ф(7) = j, ф(/) = i, а остальные элементы неподвижны относительно ф.
28
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
1.8.	Задачи и упражнения
1.1. Докажите справедливость законов дистрибутивности и законов де Моргана (равенства (1.1) и (1.2)).
1.2. Упростите выражения:
а) (А и В) п (А и((А\Б)п(В\А));
б) А п АпС и( В (J С <j(Bи (А пВ)));
в) В п АпС о( В о АиС п(С и (А п В))).
1.3. Пусть |	= п, I В| = т и ВсА. Сколько найдется различных
множеств С таких, что ВсСсА?
1.4. Сколько упорядоченных пар чисел различной четности можно составить из чисел множества {1,2,...,«}?
1.5. Даны два покрытия множества U:
п	т
U=uA,-, U=<jBi.
<=|	>1 1
а) Докажите, что справедливо покрытие
л m
и= ^^(А,СуВЛ.
i-] j=\	*	7
б) Определите 1С|, если оба данных покрытия являются разбиениями и | А,пВ,| = 2'+7'2 * * * б), z = 1,2,...,л, j = 1,2,...,/п.
1.6. Можно ли изо всех подмножеств «-множества выделить систему, содержащую т попарно невложимых подмножеств, если:
а) п = 10, т = 250; б) п = 8, т = 100?
1.7. Хозяева пригласили на обед 10 гостей. Во скольких различных составах могут собраться приглашенные гости, если:
а) две приглашенные дамы отказались прийти;
б) один гость заверил, что обязательно явится;
в) одна пара супругов наносит визиты только вместе?
1.8. Во время дискуссии, в которой принимали участие 8 человек, мнения по некоторому вопросу разделились и собравшиеся раскололись на две группы. Сколько имеется возможных вариантов состава
29
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ _
первой группы, если известно, что по численности первая группа превосходит вторую не менее чем в 2 раза?
1.9.	Определите число натуральных чисел, не превосходящих 1000 и не делящихся ни на одно из чисел:
а)	3, 5, 7;
б)	6, 10, 15.
1.10.	При записи студентов на прослушивание спецкурсов оказалось, что 60 % студентов записалось на спецкурс Л, 50 % - на спецкурс Б, 50 % - на спецкурс В, 30 % - на спецкурсы А и Б, 20 % - на спецкурсы Б и В, 40 % - на спецкурсы А и В, 10 % - на спецкурсы А, Б и В. Сколько процентов студентов:
а)	не посещает ни один спецкурс;
б)	посещает ровно два спецкурса;
в)	посещает не менее двух спецкурсов?
1.11.	Для «-множества определите:
а)	число подмножеств, мощность которых не меньше т и не больше г, где т<г<гг,
б)	число пар непересекающихся непустых подмножеств.
1.12.	Постройте диаграмму множества Уд. Укажите на диаграмме примеры сравнимых и несравнимых элементов; цепей длины 2, 3, 4; антицепей мощности 4, 5, 6. Вычислите длину и ширину ч.у.м. Уд.
1.13.	Постройте пример ч.у.м., не являющегося решеткой.
1.14.	Покажите для «-множества X, что <2х,с> - решетка и <2х,с>=<У'„,<>.
1.15.	Сколько имеется различных цепей длины т в покрытии Анселя решетки <У«,<>, если: а) п = 5, т = 3; б)« = 6, т = 2; в) п = 5, т = 2?
1.16.	Каковы веса максимального и минимального элементов цепи длины 4 в покрытии Анселя решетки <Уб,<>?
1.17.	Пусть Ак - множество всех векторов из У„ веса к. Какой элемент множества V,, является верхней гранью множества Ак, нижней 7 гранью множества Ак?
1.18.	Пусть а и b - векторы из У„ веса р и q соответственно, а<Ь. Сколько имеется в множестве У„ векторов с, не совпадающих с векторами а и b и таких, что а<с<Ы
1.19.	Является ли £>(18) подрешеткой решетки £)(144)?
30
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ
1.20.	Является ли D(18)nD(45) подрешеткой решетки Б>(88)?
1.21.	Какова ширина решетки 0(210)?
1.22.	Можно ли указать в решетке 0(420) антицепь длины 12?
1.23.	Вычислите длину и ширину решеток 0(108) и 0(768).
1.24.	Докажите, что при любом п имеется изоморфизм D\n)=<Vs,<>, где 5 - число различных простых делителей числа п.
1.25.	Являются ли изоморфными решетки 0(210) и 0(1430)?
1.26.	Изоморфны ли решетки 0(1155) и К при каком-либо п!
1.27.	Можно ли отыскать в решетке 0(1155) антицепь мощности 6? Если можно, то постройте такую антицепь.
1.28.	Оцените длину и ширину решетки О(п) через характеристики канонического разложения числа п на сомножители. Какова мощность множества D(n)7
1.29.	Является ли диаграмма Хааса решетки Vn связным графом, сильно связным графом? Каковы полустепени захода и исхода вектора веса к в этом графе У„?
1.30.	Пусть а и b - векторы из V„ веса р и q соответственно, a<b. Сколько имеется в диаграмме Хааса решетки У„ путей из вершины (0,0,...,0) в вершину (1,1,..., 1), проходящих через вершины а и Ы
1.31.	Биективно ли преобразование <р множества Уб, если любой вектор веса 3 преобразуется в вектор веса 1 или 5?
1.32.	Имеются ли биективные отображения среди отображений множества 0(60) в множество Уз?
1.33.	Сколько различных подстановок степени 5 имеют не менее трех неподвижных элементов? Сколько из них являются инволюциями?
1.34.	Сколько имеется различных преобразований «-множества, у которых число неподвижных точек равно п-11
1.35.	Является ли сбалансированным отображение <р:У„—>{0,1,..., /?}, ставящее в соответствие вектору его вес? Какова мощность полного прообраза элемента к относительно отображения ср?
1.36.	Является ли сбалансированным отображение <р:У„<2)—>У„, определяемое равенством <р(х,у) = sup{x,y}? Является ли оно инъективным, сюръективным? Какова мощность полного прообраза вектора веса 1 относительно отображения ср?
31
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ
2.1. Операции, полугруппы, группы
Внутренней бинарной операцией, заданной на непустом множестве X, называется отображение т:У2)—>Х. Если а,ЬеХ, то также и т(а,Ь)еХ. Часто операцию т обозначают некоторым символом, например: +, •, * и др.; вместо т(а,Ь) пишут а*Ь.
Внутренняя бинарная операция * (для краткости будем называть ее операцией), заданная на множестве X, называется:
1) ассоциативной, если для любых а,Ь,с<=Х
а*(Ь*с) = (а*Ь)*с;
2) коммутативной, если для любых а,Ь<=Х а*Ь = Ь*а.
Элемент е множества X называется нейтральным (или единичным) относительно операции *, если для любого элемента аеХ
~	— d.
Множество X с заданной на нем ассоциативной операцией * называется полугруппой. Полугруппу с единичным элементом часто называют моноидом (или просто полугруппой с единицей).
Примером моноида является множество всех преобразований множества X, где единица - это тождественное преобразование. В моноиде имеется лишь один единичный элемент. Действительно, если е’ - другая единица моноида, то
е' = е’»е = е.
Подмножество X множества X называется замкнутым относительно операции *, если а*ЬеХ для любых а,Ь&Х.
Подмножество X полугруппы X называется подполугруппой, если X замкнуто относительно операции *.
Элемент а моноида X называется обратимым, если найдется элемент ЬеХ, для которого
a*b = b*a = е;
такие элементы a vtb называются взаимно-обратными.
ШХШ
32
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ
Группой называется моноид G, все элементы которого обратимы. Иными словами, множество G называется группой, если на нем задана ассоциативная операция *, относительно которой в G имеется единица и для каждого элемента имеется обратный элемент.
Если операция * коммутативна, то группа называется абелевой или коммутативной.
Для любого элемента группы G имеется лишь один обратный. Действительно, если х и у - обратные элементы для aeG, то, используя ассоциативность операции, имеем:
х = х*е = х*(а*у) = (х*а)»у = е*у - у.
Число элементов конечной группы (полугруппы) G называется порядком группы (полугруппы) G и обозначается символом |G|.
Примеры групп:
1.	Множество Z целых чисел образует группу относительно сложения.
2.	Множество Z,„ целых неотрицательных вычетов по модулю т образует группу относительно сложения, |Zm| = т.
3.	Множество Zm* целых неотрицательных вычетов по модулю т, взаимно простых с т, образует группу относительно умножения. Порядок группы Z,„*, обозначаемый <р(т), называется функцией Эйлера.
4.	Множество Sn всех подстановок степени п образует группу относительно произведения и называется симметрической группой л-й степени, |S„| =п\.
В зависимости от рассматриваемой групповой операции (сложение или умножение) группу называют аддитивной или мультипликативной.
Подмножество Н группы G называется подгруппой этой группы, если Н образует группу относительно операции группы G.
Подгруппы группы G, отличные от тривиальных подгрупп {е} и G группы G, называются собственными подгруппами.
Те	орема 2.1. Подмножество Н группы G является подгруппой тогда и только тогда, когда выполняются следующие условия:
(1) если а,ЬеН, то а*ЬеН\
33
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
(2) если аеН, то а'1еН.
Доказательство. Необходимость следует из определения группы. Докажем достаточность. Первое условие означает, что групповая операция является внутренней операцией и для подмножества Н. Второе условие означает наличие обратного элемента для каждого элемента подмножества Н. Ассоциативность в Н имеется, так как она имеет место в более широком множестве G. Единица группы G является и единицей подгруппы Н, так как Н есть подмножество G. ♦ Условия (1) и (2) теоремы 2.1 равносильны условию: если а,ЬеН, то а*ЬлеН. Если Н- подгруппа группы G, то бинарное отношение Rh на G, определяемое условием
a,beRn <Р> a*b'1 еН,
является отношением эквивалентности. Классы эквивалентности по отношению к Rh называются левыми смежными классами группы G по подгруппе Н и обозначаются символами а*Н, где а*Н = = {a*h/heH}. Аналогичным образом определяются правые смежные классы Н*а по подгруппе Н, которые имеют вид Н*а = {h*a/heH}. Для абелевой группы левые и правые смежные классы совпадают. Если Н - конечная группа, то каждый смежный класс содержит по |н| элементов.
Если число смежных классов группы G по подгруппе Н конечно, то это число называется индексом подгруппы Н в группе G и обозначается [G: Н]. В этом случае справедливо так называемое разложение группы по подгруппе:
G = Н ugj»H<Jg2*Hu.. .ugp*H,
где справа все смежные классы есть блоки разбиения и р = [G: //] -1. Отсюда следует теорема.
Теорема 2.2. Пусть G - конечная группа. Тогда
Следствие (Лагранж). Порядок конечной группы делится на порядок любой ее подгруппы.
34
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ
Пусть aeG. Для п>0 положим ап = а-а”'1, где а0 = е. Если и -отрицательное, то под ап понимается произведение (а1)'".
Рассмотрим подмножество (а) группы G, где (а) = {a”/neZ}. Легко показать, что (а} есть подгруппа группы G. Она называется циклической подгруппой, порожденной элементом а, а ее порядок называется порядком элемента а. Иначе говоря, элемент а называется элементом порядка т, если ат = е, где т - наименьшее натуральное с таким условием. Отсюда следует, что порядок конечной группы делится на порядок любого ее элемента и, следовательно, а|С| = е.
Так как \Zm*\ = ср(ти), то из последнего равенства вытекает, в частности, теорема Эйлера: при (а,т) = 1 выполнено
a9(m=l(rnodrn).
Теорема 2.3. Если элементы а и b абелевой группы G имеют порядки п и т соответственно, то в G найдется элемент порядка НОК(п,пг).
Доказательство. Если (п,т) = 1, то искомым элементом является а -Ь. Если (п,т) = d, то элементы ad и b имеют порядки n/d и т соответственно и их произведение имеет порядок НОК(п,т).	♦
Мультипликативная группа G называется циклической, если она порождена одним элементом, то есть в G имеется элемент а (называемый образующим) такой, что любой другой элемент b из G представим в виде b = ап, п - целое. В таком случае G = (а). Циклическая группа является абелевой.
Теорема 2.4. Всякая подгруппа циклической группы также является циклической.
Доказательство. Пусть Н - собственная подгруппа циклической группы {а}. Если апеН, то и а'пеН, поэтому Н содержит степень элемента а с натуральным показателем. Обозначим через d наименьшее натуральное число, для которого ad<=.H. Пусть теперь апЕ.Н, где п = d q+r, 0<r<t/. Тогда
ar = an-(aJ}4H,
35
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
что противоречит минимальности d, если г* 0. Поэтому г = 0 и Н есть циклическая группа (а* }.	♦
Теорема 2.5. В конечной циклической группе (а) порядка т элемент аг порождает подгруппу порядка т/(г,т).
Доказательство. Пусть d = (г,т). Порядок группы (аг^ равен наименьшему натуральному п такому, что агп = е. Это равенство выполняется лишь тогда, когда т делит r-п, то есть тогда и только тогда, когда m/d делит п. Наименьшее натуральное п с таким свойством есть m/d.	♦
Из доказанной теоремы вытекает следующая теорема.
Теорема 2.6. Конечная циклическая группа (а) порядка т содержит ф(т) образующих. Элемент аг является образующим лишь при условии (r,zn) = 1.
Отображение	группы G в группу G’ называется гомо-
морфизмом, если оно согласовано с операциями на группах G и G’, то есть	для любых a,b^G. Если это отображение
сюръективно, то оно называется эпиморфизмом, при этом группа G' называется гомоморфным образом группы G. Биективный гомоморфизм называется изоморфизмом (в этом случае обозначается G=G’)- Изоморфизм группы на себя называется автоморфизмом.
Рассмотрим симметрическую группу п-й степени S„. Ее подгруппы называются группами подстановок.
Подстановку на множестве {ai,a2,..., ак} вида ai->a2->...->ak->ai называют циклом длины к и обозначают (а^,..., а^. Цикл длины 2 называют транспозицией. Два цикла называются независимыми, если множества элементов, на которых они определены, не пересекаются.
Каждая подстановка разлагается в произведение: а) независимых циклов единственным образом; б)транспозиций.
Подстановка называется четной или нечетной в зависимости от четности числа транспозиций в ее разложении.
36
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ
Теорема 2.7 (Кэли). Всякая конечная группа G порядка п изоморфна некоторой подгруппе группы S„.
Доказательство. Пусть е, git gi, ..., gn.y - все элементы группы G. Для фиксированного элемента а группы G рассмотрим отображение фа(<?) = a*g- Имеем подстановку
ф = (е Sy - S„-y (о a*gx ... a*gn_J-
Вместе с тем получаем отображение G-^Sn, при котором а—>ф0. Убедимся, что это и есть искомый изоморфизм.
Во-первых, это отображение инъективно, так как различным элементам а и b группы G отвечают различные подстановки <ро и ф* (в первом случае е->а, а во втором - е-^Ь).
Во-вторых, это отображение согласовано с операциями, то есть ф<>*/>(*) = фа-ф/>(х) при любых a,b,xeG. Действительно,
фй**(х) = a*b*x; (фа-ф*)(х) = фо(фй(х)) = a*b*x.	♦
2.2.	Кольца и поля
Кольцом называется множество R с двумя внутренними бинарными операциями + и •, такое, что:
R - абелева группа относительно операции +;
операция умножения ассоциативна;
выполнены законы дистрибутивности, то есть для всех a,b,c&R a-(b+c) = a b+a-c, (b+c)-a = b-a+c-a.
Нейтральный элемент аддитивной группы кольца называется нулем (обозначается 0).
Элемент, обратный по сложению к элементу а, обозначается через (-а).
Примеры колец:
1.	Кольцо Z целых чисел.
2.	Кольцо Z/m целых неотрицательных вычетов по модулю т.
3.	Кольцо многочленов 7?[х] над кольцом R. Многочлен (или полином)/^') из 7?[х] - это выражение вида
37
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
fix) = ао+а\-х+а2-^+...+ап-хп,
где ao,«i..ап - элементы кольца R, называемые коэффициентами
многочлена Дх), ап*0. Натуральное число п называется степенью многочлена/(х) и обозначается deg/(x). Многочлен вида а-хп называется одночленом, а*0, п>0.
Если g(x) = bo+bi-x+b2-x2+...+bm-xm, т<п, то
fix)+g(x) = (,ao+bo)+(al+bl')-x+(a2+b2)-^+...+(«,,+fen)-x",
где bj = 0 для i>m, и
/(х)-^(х) = c0+ci-x+c2-x2+...+cm+n-xm+n,
где с, = -bi.j для всех i = 0,1,2...т+п.
но
Многочлен /(х) называется неприводимым над R, если он не является произведением двух многочленов над R ненулевой степени.
4.	Пусть Я[х] - кольцо многочленов над кольцом R и/(х)б/?[х]. Отображение ф кольца 7?[х], при котором каждому многочлену й(х) из 7?[х] соответствует остаток от деления его на fix), называют факторизацией по модулю fix).
Множество образов отображения ф, обозначаемое R[x]/f(x), является кольцом относительно операций сложения и умножения (с последующей факторизацией по модулю fix)) и называется фактор-кольцом кольца многочленов /?[х] по модулю fix). Отображение ф;7?[х]->7?[х]/Ях) является гомоморфизмом.
Кольцо называется кольцом с единицей, если оно имеет мультипликативную единицу, то есть такой элемент е, что а е = е-а = а для любого aeR.
Кольцо называется коммутативным, если операция умножения коммутативна.
Коммутативное кольцо называется полем, если его ненулевые элементы образуют группу относительно операции умножения. Иначе говоря, полем называется множество Р элементов, на котором определены операции сложения + и умножения •, обладающие свойствами коммутативности, ассоциативности и дистрибутивности, при этом относительно обеих операций существуют нейтральные эле
38
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ
менты и для всякого а (для всякого b*Q) существует обратный элемент относительно операции + (относительно операции •)
Примеры полей:
1.	Множество действительных чисел D.
2.	Множество рациональных чисел Q.
3.	Множество комплексных чисел К.
4.	Кольцо Z/p. Если р - простое, то Z/p является полем Галуа порядка р и обозначается GF(p).
5.	Если Р - конечное поле простого порядка р иДх) - неприводимый многочлен степени п над полем Р, то Р[х]//(х), является полем порядкарп (см. разд. 2.5).
Порядок единицы поля Р как элемента аддитивной группы поля Р называется характеристикой поля Р. Таким образом, характеристика поля GF(p) равна р. Поле Q по определению имеет характеристику 0.
2.3.	Некоторые свойства матриц
Матрицей А размера пхт над полем Р называется прямоугольная таблица указанного размера, в каждой ячейке которой записан элемент поля Р. Обозначается А = (<Zy), где ay есть элемент матрицы А, записанный в г-й строке и j-м столбце, i = j = ],2,...,т. Если п = т, то говорят, что А - квадратная матрица порядка п.
На множестве матриц размера пхт определена операция сложения. Пусть А = (ay), В = (by), тогда А +В = (ay+by), где сложение элементов матриц происходит в поле Р.
Матрицу А = (ay) размера пхт можно умножить на матрицу В = = (by) размера тхг следующим образом (сложение и умножение элементов матриц выполняется в поле Р):
f т ав= • \*=1	/
Результатом умножения является матрица пхг над полем Р.
39
. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Пусть М„ - множество всех квадратных матриц порядка п над по-[ем Р. Единичной матрицей Е = (еу) из множества Мп называется матрица, у которой вп = е22 = ... = ет = 1, а остальные элементы )авны 0. Для любой матрицы А еМп выполняется: А-Е = Е-А = А.
Матрицы А,ВеМп называются взаимно-обратными, если А-В = = В-А = Е, при этом матрицу А называют обратной к матрице В 'обозначается А = В'1) и наоборот. Матрица А еМп называется обратимой, если у нее имеется обратная матрица. Матрица АеМп обратима тогда и только тогда, когда ее определитель * не равен 0.
Множество Мп всех квадратных матриц порядка п над полем Р есть кольцо с единицей Е относительно операций сложения и умножения. Множество всех обратимых матриц из Мп образует группу.
Матрица ЯеМ„ называется подстановочной, если в каждой ее строке и каждом ее столбце имеется единственный элемент, равный 1, а остальные элементы равны 0. Между классом всех подстановок «-множества и классом всех подстановочных матриц порядка п имеется биекция.
Рассмотрим операцию кронекерова или тензорного умножения матриц над полем Р (обозначается ®). Пусть А и В- квадратные матрицы порядка г и п соответственно, А = (а,,), В = (Ьу), тогда матрица А®В - квадратная матрица порядка п г, получаемая в результате замены каждого элемента ау матрицы А на матрицу ау-В, то есть:
А®В = (ауВ).
Например, если взять матрицы над полем Q
0\ А_/1 1\
21" (о if А v -1/’
то их произведения (в различном порядке) имеют вид:
	<1 1 0 0>		<10 1	0>
Е®А =	1-10 0 0 0 11	,А®Е =	0 10	1 10-10
	^0 0 1 -1;		01 0 -1J
* Понятие определителя (или детерминанта) квадратной матрицы и его свойства даются в курсе линейной алгебры.
40
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ
Отсюда, в частности, видно, что тензорное умножение матриц не коммутативно.
Справедливы следующие свойства:
1)ассоциативности:
Л®(5®С) = (Л®£)®С;
2)	дистрибутивности:
(Я+В)®С = А®С+В®С, А®(В+С) = А®В + А®С;
3)	(A®B)(C®D) = А С ® В О.
Из последнего свойства вытекает, в частности, что матрица А®В обратима тогда и только тогда, когда обратимы матрицы А и В, причем выполняется
(А®В)Л -АЛ®В'{.
Определим тензорную степень матрицы:
А1п} = А®А{пЛ\ и = 2,3,...; А1Ц=А.
Справедливо свойство
(Л-В)[я] = Л[я]-Вм.
00
Множество U Мп (всех квадратных матриц) образует моноид от-/1=1
носительно операции ®.
2.4.	Векторные пространства
Пусть имеется поле Р и множество R, на котором заданы две операции: внутренняя бинарная операция сложения + и операция умножения • элементов множества R на элементы поля Р, результат которой принадлежит множеству R. Множество R называется векторным пространством над полем Р, а его элементы - векторами, если R -абелева группа относительно + и для любых а.реР и x,y&R выполняется:
1)0 х = 0, гдеОеР, Ое/?;
2)	1 х = х, где 1 еР;
3)	(а-Р)-х = а-(Р-х);
41
. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
4)	(а+Р)-х = а-х+р-х;
5)	а-(х+у) = ах+а-у.
Вектор 011X1+012X2+...+а„х„, где а1,а2,...,а„бР, называется линей-гой комбинацией векторов xi,X2, • >хп из R. Линейная комбинация «кторов называется тривиальной, если aj = аг = ... = а„ = 0, и нетривиальной в противном случае.
Векторы Xi,X2,...,x„ называются линейно зависимыми, если их «которая нетривиальная линейная комбинация равна нулевому век-гору, и линейно независимыми - в противном случае.
Пространство R называется л-мерным, а п - числом измерений или размерностью пространства R (обозначается dim/? = л), если в R существуют л линейно независимых векторов, а любые л+1 векторов из R линейно зависимы.
Если в пространстве можно найти линейно независимую систему из любого числа векторов, то пространство называется бесконечномерным.
Система {xi,x2, ...,х„) из л линейно независимых векторов пространства R, заданных в определенном порядке, называется базисом пространства R. Любой элемент пространства R представляется однозначно в виде линейной комбинации элементов базиса {хьХг, ...,х„}:
х = aiXi+a2X2+.. .+а,д„.
Числа ai,a2,...,a„ называются координатами вектора х в базисе {Х1,Х2,...,Х„}.
Примеры л-мерных векторных пространств.
1.	Множество Vn двоичных л-мерных векторов:
Р(")= {(Х1Д2,...Л«)},
где Р - поле.
2.	Множество Р[А] многочленов над полем Р степени, меньшей л: /*[А] = {ao+aiX+a2X2+.. .+aH_|X” '}.
Подмножество V пространства V, являющееся пространством, называют подпространством пространства V.
Если НсУ, то наименьшее подпространство V’ пространства V, содержащее в качестве подмножества Н, то есть ZfcVtV, называют
42
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ
линейной оболочкой множества Н или подпространством, порожденным множеством Н (подпространством, натянутым на множество Н). Обозначим это подпространство через <Н>. Несложно показать, что подпространство <Н> состоит из всевозможных линейных комбинаций векторов множества Н.
2.5.	Конечные расширения полей
Если F,P - поля и FciP, то F называется подполем поля Р, а Р называют надполем или расширением поля F.
Каждое конечное поле характеристики р содержит простое поле, то есть поле, порожденное единицей. Такое простое поле изоморфно полю GF(p).
Если характеристика поля равна 0, то простое подполе изоморфно полю рациональных чисел. Таким образом, каждое поле есть расширение своего простого подполя.
Если FcP, то поле Р можно рассматривать как векторное пространство над полем F. Размерность этого пространства называется степенью расширения FaP и обозначается символом [P:F].
Элемент аеР называется алгебраическим над полем F, если он является корнем многочлена ДА.) eF[A.]. При этом многочлен ДА,) называется аннулирующим многочленом элемента а. Минимальным многочленом элемента а называется его аннулирующий многочлен наименьшей степени со старшим коэффициентом, равным 1. Минимальный многочлен элемента а определяется однозначно и делит любой аннулирующий многочлен элемента а.
Теорема 2.8. Всякое расширение FczP конечной степени является алгебраическим, то есть все элементы поля Р - алгебраические над полем F.
Доказательство. Для произвольного аеР рассмотрим множество А его степеней:
А = {1,а, а2.ап},
где и = [P:F|. Так как число элементов множества А превышает размерность пространства Р над полем F, то элементы множества А линейно зависимы. То есть найдутся элементы со,а, ...,с„еР такие, что
43
, М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
co+ci-a+...+ сп-ап = 0.
Тем самым найден аннулирующий многочлен элемента а. ♦ Пусть F(a) - наименьшее подполе поля Р, содержащее элемент а (поле F. Если элемент а алгебраичен над Р, то F(a) - это фактор-юльцо кольца многочленов F(A) по модулю минимального много-шена та(к) элемента а.
Элемент а называется примитивным элементом расширения ^aFta), а само расширение называется простым алгебраическим расширением. Степень этого расширения равна degwa(A).
Конечное расширение Р поля F называется полем разложения неприводимого над полем F многочлена ДА), если Р - наименьшее поле, порожденное полем F и корнями многочлена ДА). Многочлен /(А) разлагается на линейные множители из кольца многочленов Р[А].
Рассмотрим конечные поля. Так как любое конечное поле Р содержит простое подполе Fp = GF(p), то степень расширения [P:Fp] конечна, пусть [P:Fp] = и и базис расширения есть Х], Тогда любой элемент х поля Р однозначно записывается в виде
Х= С1-Х1+.. .+сп-хп,
где ci,...,cneFp. Для каждого из коэффициентов имеетсяр вариантов выбора, поэтому порядок поля равен р". Покажем существование поля Галуа GF(pn) порядка рп для любого простого р и любого натурального п.
Лемма 2.1. Многочлен АрП -А не имеет кратных корней в поле разложения характеристики р.
Доказательство. Вычислим производную многочлена:
(А"" -а), = рл-а/-'-1 = -1.
Многочлен А7’" - А взаимно прост со своей производной, значит, он не имеет кратных корней в поле разложения.	♦
Теорема 2.9. Поле разложения многочлена кр" - А содержит ровно рп элементов.
44
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ
Доказательство. Достаточно показать, что все р" корней многочлена образуют поле. Пусть a,b - ненулевые корни нашего многочлена, а значит, и многочлена X/ ~'-1. Тогда
(a-b/-1 = ар"~1-Ьр"'л = 1-1 = 1.
Используя формулу бинома и учитывая, что все слагаемые в правой части формулы бинома, кроме первого и последнего, кратны степени, имеем:
(a + ЬУ" = ар +ЬР = а+Ь.	♦
Следствие. Все поля Галуа GF(pn) изоморфны.
Теорема 2.10. Мультипликативная группа Р* любого конечного поля Р является циклической.
Доказательство. Группа Р имеет порядок рп-\ и является абелевой. Если она нециклическая, то, согласно теореме 2.3, НОК порядков всех ее элементов равен г, где г - собственный делитель числа рп-\. Следовательно, для всех а,еР выполнено равенство (a,)r = 1. Отсюда имеем, что многочлен V-1 - аннулирующий для каждого элемента группы Р* и поэтому делится на минимальный для всех элементов группы Р* многочлен ]Г[	(X - а,). Имеем противоре-
чие, так как степень последнего многочлена больше г.	♦
Образующий элемент а циклической группы GF(pn) называется примитивным элементом поля GF(pn). Если взять элемент а в качестве примитивного элемента расширения Fpc.GF(pn'), то получаем, что всякое конечное поле характеристики р является простым алгебраическим расширением поля Fp.
Минимальный многочлен примитивного элемента поля GF(jf) имеет степень п. Поле GF(p") изоморфно фактор-кольцу кольца многочленов ГДХ] по модулю некоторого неприводимого многочлена w(X) степени п, при этом т(Х)/Х/ -1.
Теорема 2.11. Поле GF(pn) есть поле разложения всякого неприводимого многочлена ДА.) степени п над полем Fp.
45
3. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ 
Доказательство. Если а - корень многочлена ДА), то (Fp<zGF(pn)] = п. Поэтому Fp(a) = GF(pn). Используя формулу бинома в характеристике р, имеем:
Ла/’)=Л<.
Следовательно, элементы а,о/’,а₽2 ,...,арП ’ есть корни этого многочлена. Осталось доказать, что все они различны.
Пусть это не так и ар' = арк, где 0<j<k<n-\. Возводя это равенство в степень рп'к, получаем, что ар" * J = а. Следовательно, ДА) делит A''"k+J - А. Отсюда следует, что Fp(a) есть подполе поля GF(pn'k+i), где n-k+j<n. Имеем противоречие.	♦
Из теоремы 2.5 следует, что порядки всех корней многочлена ДА) в группе GF(pn)* равны.
Назовем порядком многочлена ДА)еАДА], гдеД0)Х), наименьшее натуральное число t, при котором ДА)/А'-1 (обозначается ordf(A)).
Если ДА) - неприводимый многочлен степени п над полем Fp, то ordf(A) совпадает с порядком любого его корня в мультипликативной группе поля разложения.
2.6.	Задачи и упражнения
2.1.	Обладает ли свойством ассоциативности и коммутативности операция * на множества А, если:
а)	А = N (множество натуральных чисел), х*у = х+2у;
б)	А = N, х*у = НОД(х,уУ,
в)	А = Z, х»у = х-у;
г)	А = Z, х*у = х2+у2?
2.2.	Докажите, что множество всех преобразований «-множества образует относительно композиции моноид порядка пп.
2.3.	Докажите, что множество всех биективных преобразований «-множества есть группа порядка л! относительно композиции.
2.4.	Какое из указанных числовых множеств есть группа относительно операции умножения:
а)	множество целых степеней данного вещественного числа;
46
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ
б)	отрезок [0,1];
в)	корни всех степеней из единицы?
2.5.	Какое из указанных множеств квадратных матриц порядка п образует группу относительно операции умножения:
а)	все целочисленные матрицы с определителем, равным ±1;
б)	множество матриц, у которых все элементы положительны;
в)	множество диагональных матриц;
г)	множество целочисленных диагональных матриц?
2.6.	Докажите, что любое подмножество Н конечной группы, замкнутое относительно умножения, является подгруппой.
2.7.	Докажите, что лишь один из смежных классов группы по собственной подгруппе является подгруппой.
2.8.	Докажите что группа, состоящая из инволюций, коммутативна.
2.9.	Докажите, что равны порядки элементов а и ал группы.
2.10.	Докажите, что равны порядки элементов ab и Ьа группы.
2.11.	Докажите, что группа простого порядка - циклическая.
2.12.	Докажите, что для любого п имеется циклическая группа порядка п.
2.13.	Подстановка Т циклического сдвига степени п имеет вид (1,2, Какого порядка группу порождает подстановка Ти сколько в ней примитивных элементов? Каков порядок подгруппы, порожденной подстановкой Г”?
2.14.	Докажите, что подстановка л степени п является инволюцией тогда и только тогда, когда она разлагается в произведение независимых транспозиций.
2.15.	Является ли подкольцом кольца матриц над полем Р множество:
а)	диагональных матриц;
б)	верхнетреугольных матриц;
в)	матриц, у которых все элементы неотрицательны?
2.16.	Образует ли векторное пространство множество матриц (верхнетреугольных матриц) порядка п над полем действительных чисел? Если образует, то какова его размерность?
2.17.	Используя разложение подстановки л степени п в произведение независимых циклов, определите ее порядок.
47
3. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
2.18.	Является ли кольцом множество многочленов над кольцом R, заданных суммой одночленов четных степеней?
2.19.	Является ли линейно независимой система многочленов:
а)	{1 +Х, Х+Х^, А5+аД Х+Х4}:
б)	{о, i+x, х2+х3, х4}?
2.20.	Какова размерность линейной оболочки множества многочленов:
а)	{X, Х+Х2, Х2+Х3, Х+Х2};
б)	{1, 1+Х, 1+Х+Х2, 1+Х+Х2+Х2,..., 1+Х+Х2+...+Хп}?
2.21.	Докажите, что Х"'-1А"-1 т/п (над любым полем).
2.22.	Докажите, что каждый элемент конечного поля GF(pn) имеет в этом поле единственный корень р-й степени.
2.23.	Имеется ли поле порядка 49, 36, 121?
2.24.	Каков порядок поля разложения многочлена Х2ФХФ1 над GF(2)? Каков порядок этого многочлена?
48
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
3.1.	Элементарные булевы функции
Функциями алгебры логики или булевыми функциями (б.ф.) называются функции Дх1,Х2,...,хл), аргументы которых xi3 взятые из счетной совокупности аргументов, определены на множестве Ег = {0,1}, i = 1,2,...,п, и такие, чтоftx\,X2,...,x,^&Ei. Для задания б.ф. достаточно указать, какое значение функции соответствует каждому набору переменных, то есть задать последний столбец таблицы, имеющей 2” строк и п+1 столбец:
X]	*2		Х//-1		Дх1Л2....Л«-1Ли)
0	0		0	0	/ДО,...ДО)
0	0		0	1	/(ОД...,0,1)
0	0		1	0	Л0Д....1Д
0	0		1	1	/до,...,1,1)
					
1	1		1	1	
Наборы значений переменных располагаются, как правило, в лексикографическом порядке. Число различных наборов равно 2". Обозначим через Рг систему всех б.ф., через Рг(и) - систему всех б.ф. от п переменных. Из таблицы видно, что число различных столбцов значений функции равно 22". Отсюда следует, что I Рг(и)1 -	
С ростом п таблица, задающая функцию, становится все более громоздкой и необозримой. В связи с этим для исследования функций от большого числа переменных используются другие способы задания б.ф. Укажем связь между б.ф. от различного числа переменных.
Векторы а,рбУ„ называют соседними по i-й координате, если их z-e координаты различны, а остальные координаты совпадают, i = 1,2,...,и.
Переменная х, булевой функции /(xi,X2,...,x„) называется несущественной или фиктивной, если на любых соседних по z-й координате векторах функция Дх|,Х2,...,х„) принимает одинаковые значения,
-йидлогтифи
49
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
i =	В противном случае переменная х, булевой функции
J(xi,X2,...,xn) называется существенной.
Пусть f^xi,X2,...,Xn) зависит от х,- несущественно. Преобразуем ее таблицу в таблицу функции от л-1 переменного, вычеркивая в первой таблице все строки вида (ai,...,a,.i, 1, a(+i,...,an) и столбец, соответствующий аргументу х,. Новая таблица соответствует функции g(xi,..., x,.i, x(+i,...,x„), про которую говорят, что она получена из функции/(xi,x2,...,x;i) путем удаления фиктивной переменной х„ а ДхьХ2,...,х„) получается из функции g(xi,...,x(.i,x/+i,...,xZi) путем введения фиктивной переменной х„ i = 1,2,..., л.
Две булевы функции называются равными, если одна может быть получена из другой добавлением или изъятием несущественных переменных. Выражение/i =/2 означает равенство б.ф.
Заметим, что в Р2 существуют две б.ф., не имеющие существенных переменных: функции константы 0 и 1.
Перечислим важнейшие элементарные б.ф.:
/1(х) = 0 - константа 0;
,/2(х) = 1 - константа 1;
/3(х) = х - тождественная функция;
Д(х) = х - отрицание х;
/5U1A2) = *1 *2 = Х1ЛХ2- конъюнкция xj и х2;
/б(.Х1,Х2) = XiVX2 ~ ДИЗЪЮНКЦИЯ Х1 И Х2,
/7(^1,хг) = Х1->х2 - импликация Xi и х2;
ft(xi,X2) = Xi®X2 - сложение х{ и х2 по mod2;
/9(xi,x2) = Х]/х2 - функция Шеффера.
Табличные задания этих функций имеют вид:
X	/1(Х)		/г(х)		/з(х)		Л(%)	
0	0		1		0		1	
1	0		1		1		0	
(Х1,Х2)	/5(^1,х2)	/б(Х1,Х2)		fAXi,X2)		Л(ХьХ2)		
00	0	0		1		0		1
01	0	1		1		1		1
10	0	1		0		1		1
11	1	1		1		0		0
50
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
3.2.	Реализация функций формулами
Используя элементарные булевы функции, можно строить формулы (определим их индуктивно). Рассмотрим подмножество РсРг-Функция f(xi,X2,...,хп)<=Р называется формулой над Р. Если fo(xi,X2,...,xm)EP и fi,f2,либо формулы над Р, либо символы переменных, то выражение /(/i,/,также называется формулой над Р.
Формулы, которые использовались для построения формулы U, называются подформулами формулы U.
С использованием аналогичной индукции (проведите ее самостоятельно в качестве упражнения) каждой формуле U над Р однозначно ставится в соответствие булева функция/из Р2, при этом говорят, что формула U реализует функцию/. Функция/, соответствующая формуле U, называется суперпозицией функций из Р.
Если формула U реализует суперпозицию функций/, /,...,/ из Р, то символически это записывается так:
Формулы называются эквивалентными, если реализуемые ими функции равны. Если в формуле U заменить некоторую подформулу эквивалентной ей формулой, то вновь полученная формула будет эквивалентна исходной формуле U.
Функция f*(xi,X2,...,xn), равная f(xl,x2,...,xn), называется двойственной к функции fixi,X2,...,xn). Из определения вытекает, что таблица f*(x\,X2,....x,!) получается из таблицы /(xi....,x„) инвертированием столбца значений функции и переворачиванием его и, следовательно, (/*)* = /
Для формул справедлив принцип двойственности, состоящий в том, что если формула U = Cif^-'^fs] реализует функцию f(xi,X2,...,x„), то формула U* = С/*,/* •••>•/*] называется двойственной к U и реализует функцию/*:(xi,X2>--,xn).
Для формул над множеством {0, 1, х, хгхг, xivx2} принцип двойственности формулируется так: для получения формулы U*, двойст
51
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
венной к формуле U, нужно в формуле U выполнить взаимные замены Ое-»1 и *ev.
3.3.	Разложение булевых функций по переменным
Используем далее обозначение: хст =
Теорема 3.1 (о разложении функции по переменным). Для каждой jf(xi,X2,...,x„)eP2 при любом т = 1,2,...,и справедливо представление:
Дх1гХ2,---Л)= , V xf1 •...•х’“ •ДСТ1,...,От,Хт+1,...,Хп).	(3.1)
<"1-•’% >eVm
Доказательство. Покажем, что левая и правая части равенства (3.1) принимают равные значения при произвольном наборе значений переменных (ось аг, ..., а„).
Левая часть равна/(аь а2, ..., а„). Правая часть равна
v а"‘ •-•а"” Да1,...,аи,ат+1,..., а„).
(а, )eV„
Так как а"' -1 тогда и только тогда, когда а, = а,, i = 1,2,то слагаемые, соответствующие наборам (oi,O2,...,am) * (ai,a2,...,aOT), равны 0, а слагаемое, соответствующее набору (Ст1,ст2,-..,стот) = ai,a2,...,am), равноДа^,...,»,,).	♦
Представление б.ф. (3.1) называется разложением функции Дх1,...,х„) по переменным xI,...,xm. Функция /(oi,...,o,„, xm+i,..., xn), записанная в правой части равенства (3.1), называется подфункцией функции /(Х1,...,х„), соответствующей фиксации переменных xi,X2,...,x,„ константами ci,...,om соответственно.
Из теоремы 3.1 следует, что множество подфункций {Ло1,...,ст/л,хОТ41,...,х„), (Ст1,...,от)еV,„} однозначно задает б.ф., при этом выбор набора переменных, значения которых фиксируются, произволен.
Следствие 1 (разложение б.ф. по одной переменной):
/(X1,...^;1.1,X„) = x„-y(x1,...^„.l,l)vx„ •/(Х1,...,Х„.1,О).
52
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Следствие 2 (разложение б.ф. по п переменным): f(xi,X2,...,Xn) = V xf1 •...•х""/(С1,...,СТл).	(3.2)
(О]..)sVn
Если/не равна константе 0, то (3.2) можно переписать:
f(xi,x2,...,xn) = v xf1 •...•х’л.	(3.3)
(CTj )eVrt /(’l..%>='
Представление (3.3) называют совершенной дизъюнктивной нормальной формой (СДНФ) функции/(Х1,х2,...,хл), а двойственную формулу, получаемую взаимной заменой констант 0о1 и операций a<->v, - совершенной конъюнктивной нормальной формой (СКИФ).
Следствие 3. Каждая б.ф. представима в виде формулы через отрицание, конъюнкцию и дизъюнкцию.
Доказательство. Для функции flxi,X2,...,xn), отличной от константы 0, утверждение вытекает из (3.3). Для /=0 справедливо: / = х • х. ♦
Заметим, что равенство (3.3) носит конструктивный характер. Оно позволяет по таблице функции построить реализующую формулу (СДНФ).
Покажем, что каждую б.ф. можно представить формулой типа «произведение логических сумм» (в то время как СДНФ есть формула типа «сумма логических произведений»).
Для/= 1 справедливо: / = х v х.
Пусть /отлична от константы 1. Тогда/* отлична от константы 0. Выпишем СДНФ функции/*:
/*=(ХЬХ2,...,Х„) = V xf1 •...•х’". (’1...................
/’(’1..’«>='
Возьмем тождество для двойственных формул:
/**(Х1,Х2,...,Х„) =	& хр v...vx’".
(О]..%
/(’I..%)='
Левая часть этого равенства естьДх1,Х2,...,х;|). Правая часть равна:
53
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
&	(х.0’ v...vx’" 1=	&	(х.а| v...vx’"k
””’ал ^eVn '
/(»,./(a]....an)=O
Таким образом, получаем СКНФ:
f(Xi,X2,...,Xn) =	& (xf1 V...VX’"),
(°!.)
t (О]-^n )=0
Задание б.ф. с помощью СДНФ и СКНФ нередко менее громоздко, чем задание с помощью таблицы. В ряде случаев удобно пользоваться не СДНФ и СКНФ, а более компактными формулами, которые могут быть получены из них.
Элементарной конъюнкцией называется формула \|/:
а.
\1/ = X, 1 •... • X, , т '1	‘к
где все переменные различны. Рангом элементарной конъюнкции \|/ называется число к входящих в нее переменных. Очевидно, \|/ = 1 тогда и только тогда, когда х, = а; , j = \,к .
Дизъюнктивной нормальной формой (ДНФ) называется формула вида vx“' -...-х”*, где дизъюнкция берется по некоторым непустым наборам {г'1Д2,--->ц}с{ 1,2,...и} и (aj,...,a*)eV^. Очевидно, ДНФ реализует некоторую б.ф. С другой стороны, любую б.ф. можно задать в виде ДНФ, что следует из теоремы о разложении функции.
Аналогично можно рассматривать КНФ.
3.4. Полнота и замкнутость системы функций
Система функций Р = {f\,f2,...,fs,...} из Р2 называется (функционально) полной, если любая б.ф. представима формулой над Р. Следующая теорема связывает полноту одних систем с полнотой других систем.
Теорема 3.2. Пусть система Р = {fi,f2,...} функций из Р2 полна и каждая ее функция выражается формулой над системой Q = =	Тогда система Q полна.
54
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Доказательство. Произвольная б.ф. h в Силу полноты системы Р выражается формулой над Р:
A = q/i/2>.../„...].
По условию теоремы/1 = C}[qbq2,...], f2 = C2lql,q2,...'}, ... В формуле для h исключаем вхождения функций из системы Р, заменяя их формулами над Q. В результате получаем:
h = C[Ci[^i,<72>-..], C2[qhq2,...], ...] = C[qhq2,...] .	♦
Примеры полных систем функций:
1.	Система Р2.
2.	Система Р = {х, х{-х2, х, vx2}, полнота этой системы следует из существования СДНФ для каждой б.ф.
3.	Система {х,х, -х2) - ее полнота вытекает из примера 2 и теоремы 3.2, так как v х2 = xj • х2
4.	Система {х,х, v х2} - ее полнота следует из примера 3 и теоремы 3.2, так как х, • л2 =	v х2
5.	Система {х,/х2} - ее полнота следует из примера 3 и теоремы 3.2, так как
Xj/x, =Xj vx, = х,; (х1/х2)/(х1/х2) = х1 vx2 =Х]-х2.
6.	Система {1, xi-x2, xi®x2} - ее полнота следует из примера 3 и теоремы 3.2, так как Xj = xi®l.
Поскольку любую формулу над данной системой раскрытием скобок, логическим умножением и приведением подобных членов можно привести к каноническому многочлену по mod2, то имеем следующую теорему.
Теорема 3.3 (И. И. Жегалкин). Каждая б.ф. однозначно представима многочленом по mod2:
ЛХ1,Х2,...,Х„) =	£	®	a/..J	‘-’х>	(3-4)
(i|.iv)c(l.2.«1	Л	*
Так как число таких многочленов от п переменных совпадает с числом различных б.ф., то представление функции полиномом единственно.	♦
55
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ_
Это представление называется многочленом Жегалкина или алгебраической нормальной формой (АНФ).
Пусть МаР2. Замыканием множества М называется множество всех б.ф., представимых в виде формул над М. Замыкание множества М обозначается через [Л/].
Примеры замыкания множеств:
1. М = Р2, тогда [Л/] = Р2.
2. М - {l,xi®x2}, тогда [Л/] - множество всех многочленов по mod2 вида ОоФарХ]®.. .©ал-хи, называемых аффинными.
Справедливы следующие свойства замыкания:
1)	[Л/] -З.М-,
2)	[[М]] = М;
3)	если то [Л/]]с[Л/2];
4)	[М1МЛ/2] с [MiuM2].
Класс М называется замкнутым, если [Л/] = М.
Примеры замкнутых и незамкнутых множеств:
1.	Класс М - Р2 замкнут.
2.	Класс М= {1, xi®x2} не замкнут.
3.	Класс всех аффинных полиномов по mod2 замкнут, так как при подстановке аффинных полиномов в аффинный полином вместо переменных получается аффинный полином.
Имеем эквивалентное определение полноты системы функций: система Р полна, если [Р] = Р2.
3.5.	Важнейшие замкнутые классы
В Р2 к замкнутым классам относятся:
1.	То = {/еР2./(0,0,...,0) = 0} - класс б.ф., сохраняющих константу 0.
В частности, функции 0, х, х, -х2, xivx2, xi®x2 принадлежат То, а функции 1, х не принадлежат То.
Покажем, что класс То замкнут. Так как хеТ0, то достаточно показать, что	,fm)6То, если ffh...,f„,еТо-
56
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Справедливость этого следует из цепочки равенств:
flfx (0,... ,0),... Л(0,... ,0)) = ДО,... ,0) = 0.
2.	Т\ =	= 1} - класс б.ф., сохраняющих кон-
станту 1.
Функции 1, х, Xi -х2, X|Vx2 принадлежат Т\, а функции 0, х не принадлежат Т\. Класс Т\ состоит из б.ф., двойственных к функциям Тп. Его замкнутость показывается аналогично.
3.	S = {f&Pi'.f^f*} - класс самодвойственных функций.
Классу S принадлежат функции х, х, xi x2vxi x3vx2-X3.
Докажем замкнутость класса S. Пусть g	где
Тогда
Л.)	=
4.	М - {f^Pv если a<b, mof(a)<f(b)} - класс монотонных функций. Функции 0, 1, X, Х1'Х2, X1VX2 МОНОТОННЫ. Функции X, Х1®Х2 не монотонны.
Покажем замкнутость класса М. Так как тождественная функция принадлежит М, то для установления замкнутости достаточно показать, что функция g	монотонна, если .,fm монотонны.
Положим, что функции зависят от следующих наборов переменных:
£-x = (xp...,xn),
f\~x	),
Л -хт = (х ...,х Р ), J ГН	v /И I 7 7 m*in z
где {х1(х2,...,х„} = |^Jx . Пусть а и 3 - два набора значений пере-i=i
менных х , причем а < 0 . Эти наборы однозначно определяют наборы а|,р|,...,а'",рт значений переменных х',..., х”', причем а'<р', i = Из монотонности б.ф.	следует, что
57
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМА ТИКА_ И КРИПТОЛОГИЯ.
/1(al)</1(P'),...,/m(am)</m(p'"). Следовательно, выполняется неравенство и для наборов:
(/, (a1 ),.../m(a'"))^(/1(p1),...,/„(Р")).
Отсюда в силу монотонности функции f имеем:
/(/’!(a'),.../m(a'"))<),...,/m(Pm)).
Следовательно, g(a) < g(P).	♦
Приведем утверждение, позволяющее в ряде случаев легко распознавать монотонность булевых функций.
Теорема 3.4. Булева функция f(x\,X2,...,x,,), отличная от константы, монотонна тогда и только тогда, когда она представима формулой над множеством {х-у, xvy}.
Доказательство. Всякая формула над системой {х-у, xvy) соот-, ветствует монотонной функции, так как функция логического умножения, функция логического сложения и функции предметных переменных являются монотонными и класс монотонных функций замкнут.
Докажем утверждение в обратную сторону. Будем говорить, что конъюнкция \|/ выполняется для функции fixi,X2,...,xn), если \|/-Дх1,Х2,...,Хп) = хр- Заметим, что если ДНФ реализует б.ф. Дх1,Х2,...,Хп), то всякая конъюнкция этой ДНФ выполняется для функции flx1,X2,...,Xn).	_
Если конъюнкция \|/, содержащая в качестве сомножителя х(, выполняется для монотонной функции /, то для f выполняется и конъюнкция \|/‘, полученная из удалением сомножителя х, (остальные переменные входят в конъюнкции \|/ и у* идентично). Значит, за конечное число шагов можно из исходной ДНФ получить эквивалентную ДНФ, не содержащую переменных с отрицанием.	♦
5.	А = {fe.P2-f = aQ®ai-X\®a2-X2®...®an-xn, п = 1,2,...} - класс аффинных функций (функций, задаваемых аффинными полиномами по mod 2).
58
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Очевидно, 0,1,х, х ,Х|©х2еЛ, xrx2,xtvx2^A. Замкнутость класса А отмечалась ранее (см. примеры замкнутых множеств).
Б.ф., отличные от аффинных, называются нелинейными.
6.	L = Ап7о - класс линейных функций *.
Класс L состоит из аффинных многочленов с нулевым свободным членом. Замкнутость класса L показывается аналогично замкнутости класса А.
Через 7о(н),	S(n), М(п), А(п), L(n) обозначим множества
функций от п переменных из классов То, Тх, S, М, A, L соответственно. Какова мощность этих классов?
Из определений классов 7о(н) и 7’1(н) следует, что
I 7о(н)| = I Тх{п)\ = 22П-} = 1/2-1 Р2(п)\.	(3.5)
Для самодвойственной функции/справедливо:
7(Xj,...,X„) =f(xi,x2,...,x„).
Иначе говоря, на любых векторах вида (сц,<х2,...,ап) и (а],а2,...,ап), которые называются противоположными, самодвойственная б.ф. принимает противоположные значения. Следовательно, самодвойственная функция полностью определяется своими значениями на наборах верхней (или нижней) половины таблицы. Поэтому
I S(ti)\ = 22"”‘ .	(3.6)
Каждый коэффициент аффинной б.ф. может быть задан в двух вариантах независимо от значений других коэффициентов. Поэтому
| Я(м)| = 2"+| = 2-| Ь(и)|.	(3.7)
Проблема определения числа \|/(л) = | Л/(н)| оказалась нетриви-альной, что показывают, в частности, наиболее значимые исторические этапы ее решения.
* Нередко в литературе под классом линейных функций понимается класс А, чиго приводит к неудобству при рассмотрении более широких классов отображений, в частности аффинных и линейных отображений конечномерных про-с игран ст в.
59
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
1.	Постановка проблемы и определение чисел \|/(и), и<4 (Дедекинд, 1897).
2.	Определение числа у(5) (Р. Черч, 1940).
3.	Определение числа \|/(6) и получение нижней оценки для любого п (М. Уорд, 1948 г.):
2В(,,)< <|/(и).
4.	Вывод верхней оценки для всех п (Гильберт, 1954): \|/(п)< иВ(л)+2.
5.	Улучшение верхней оценки Гильберта (В. К. Коробков, 1962-1965, серия статей):
а) у(и) < 25 В('°, б) <и(«) < п4’24 В(п)(1+Е(л)),
где £(и)-»0 при п—>ос.
6.	Улучшение оценки Коробкова (Ансель, 1966).
\|/(м) < 3В(п).
Объединяя нижнюю оценку Уорда и верхнюю оценку Анселя, получаем следующую теорему.
Теорема 3.5.
2В("’< \|/(«) < 3В(п).
Доказательство. Докажем сначала нижнюю оценку Уорда. Решетка <Vn,<> имеет В(п) попарно несравнимых элементов, например все векторы с [и/2] единицами и п-[п/2] нулями (согласно теореме Шпернера более мощной антицепи в решетке < Vn,< > не имеется). В силу несравнимости этих векторов любой набор значений б.ф. на них векторах можно дополнить значениями на других векторах так, чтобы построенная функция была монотонной. Следовательно, имеется по крайней мере 2ад различных монотонных б.ф.
Для доказательства верхней оценки обратимся к лемме Анселя. Оценим, сколько различных монотонных б.ф. можно построить, задавая их значения на коротких цепях разбиения Анселя и доопределяя затем на более длинных цепях.
60
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
По утверждению «б» леммы 1.1с учетом монотонности функции f(xi,X2,...,xn) имеем, что если значение f(x\,X2,...,xn) известно во всех вершинах цепей длины п-2р-2, то в каждой цепи длины п-2р существует не более двух, причем соседних, вершин, где значения f(xi,X2,...,Xn) еще не определены.
Пусть аир- соседние вершины, где функция j\x\,X2,...,xn) еще не определена, а < 0 . Тогда для монотонной функции f выполняется: (Ла),ЛР))е{(О,О), (0,1), (1,1)}.
Так как число цепей по утверждению «а» леммы 1.1 равно В(п), то оценка Анселя доказана.	♦
7.	В 70-е гг. в работах Д. Клейтмана и Г. Марковски были получены оценки вида:
где а„ = с-2'"72, 0 = с’\пп/п, с и с’ - константы.
8.	А. Д. Коршунов в 1981 г. вывел асимптотику для у(п).
3.6.	Критерий полноты системы булевых функций
Лемма 3.1 (о несамодвойственной функции). Если/(х1,х2,...,х,1)^5, то из нее с помощью подстановки функций х и х можно получить несамодвойственную функцию одной переменной, то есть константу.
Доказательство. Так как f(x.\,X2,...,x^S, то найдется набор (ai,oc2,...,a„) такой, что/(ai,a2,...,a„) = f (a1,...,a„). В соответствии с этим набором построим функцию ф(х) = Дх”1, х“2,..., х“”). Заметим, что ф(0) = <р(1), так как
/(0“|,...,0“”) = /(а1,...,ал) = Да1,а2,...,а„) = /(Г1, ...,1“").	♦
Лемма 3.2 (о немонотонной функции). ЕслиДх1,Х2,...,х/1)гМ, то из нее путем подстановки констант 0 и 1 и функции х можно получить функцию х.
Доказательство. Покажем, что найдется пара соседних наборов а и 0 таких, что a < 0 и /(а) > /(0).
61
В. М. Фомичее. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Действительно, если fixi,X2,...,xn)tM, то найдутся наборы а1 и р1 такие, что а' < р1 и /(а1) > /(р1). Если эти наборы соседние, то утверждение доказано. Если они несоседние, то а1 и р1 отличаются в t координатах, где t>\. Причем эти t координат в наборе а' имеют значение 0, а в наборе р1 - значение 1. Поэтому между а1 и р1 можно вставить г-1 не совпадающих друг с другом промежуточных наборов а2,...,а' таких, что выполняется цепочка соотношений а1 < а2 <... < а' < р1.
Наборы, стоящие в цепочке рядом, являются соседними. Так как /(а’)> /(Р’), то хотя бы на одной из этих пар соседних наборов (обозначим их через аир, где а < р) выполняется неравенство /(а)>/(р).
Пусть наборы аир соседние по i-й координате:
а = (аь...,а,.1,0,а,+1,...,а,.), Р = (а1,...,ам,1,а,+1,...,а„).
Построим функцию ф(х) = Да1,...,а(.1,х,а,+1,...,а„). Эта функция равна х, так как
/(ai,...,a(.i,0,a,+i,...,a„) =Да)>Др) =Да1,...,ам,1,а,+1,...,а„).	♦
Лемма 3.3 (о нелинейной функции). Если fix\,X2,...,xn)£A, то из нее путем подстановки констант 0 и 1 и функций х и х, а также, быть может, путем навешивания отрицания над f можно получить ФУНКЦИЮ ХрХ2.
Доказательство. Рассмотрим полином Жегалкина для функции Лх1,х2,...,х„):
Дх1,х2,...,х„) =	£	® а( , -х, •...•х,; .
Ц..........")	*
Так как / нелинейна, то в ее полиноме имеется конъюнкция ранга 2 или более. Пусть, для определенности, ее сомножители есть Xi и х2. Тогда полином функции/(xi,x2,...,x„) можно преобразовать к виду
/= ^гх2/1(хз,... Л,)®Х| /2(хз,... ,х„)®х2/з(хз, • • • ,х„)®/4(хз, • • • ,Х„),
62
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
где функция	отлична от константы 0. Пусть набор
(аз,...,а„) таков, что/1 (аз,...,а,t) = 1. Построим функцию
ф(Х1,х2) =Ях1Л2,аз,---,а„) = Х1-Х2®-Х1Ф-х2©у,
где а =/г(а.з....а„), Р = /з(аз,...,а„), у = /4(аз,...,а„). Из нее получим
функцию ф(х1®р,х2®а)®а-рфу. Легко видеть, что
\|/(xi^2) = хгх2.	♦
Заметим, что классы То, Т\, S, М, А попарно различны. Чтобы убедиться в этом, достаточно привести следующую таблицу принадлежности функций 0,1, х данным классам:
	То	т,	$	М	А
0	е	£		е	е
1	ё	е	£	е	G
X		£	е	£	е
Докажем критерий полноты системы функций из Р2-
Теорема 3.6 (о полноте). Система функций Р полна тогда и только тогда, когда она не содержится ни в одном из классов То, Т\, S, М, А.
Необходимость. Пусть Р полна. Если Р содержится в одном из пяти указанных классов (обозначим его через N), то в силу свойств замыкания
Р2 = [P]c[N]=N.
Следовательно, N = Р2, что противоречит определению класса N. Необходимость доказана.
Достаточность. Если Р не содержится ни в одном из классов То, Т\, S, М, А, то в Р можно выделить подсистему Р’ из пяти функций, не содержащуюся ни в одном из этих классов. Пусть fo£To, f\&T\, f&S,fm£M,fatA. Тогда Р’ = {fof\jsfm-fa\-
Можно считать, что функции из Р’ зависят от одних и тех же переменных Х1,Х2,.. .,'х„.
1. Построим при помощи функций fo,f\,fs функции константы 0 и 1 • Для значений функции/0 возможны два случая:
63
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
1)/о(1	1) = 1- Тогда функция (р(х) = fo(x,...,x) есть константа 1,
так как
<Р(О) =/о(О,...,О) = 1, <р(1)	= 1.
Вторая константа получается из/j:
/1(ф(х),... ,ф(х)) =/( 1,..., 1) = 0.
2) />(1,1,..., 1) = 0. Тогда ф(х) = х, так как
ф(О)=/о(О,...,О)=1, ф(1) =/о(1,...,1) = 0.
Теперь из функций fs и ф(х), используя лемму о несамодвойственной функции, можно получить константу. Так как мы располагаем функцией ф(х) = х, то из нее получаем и другую константу. Итак, в обоих случаях имеем константы 0 и 1.
2. При помощи констант 0 и 1 и функции fm строим функцию х , что можно осуществить в силу леммы о немонотонной функции.
3. При помощи констант 0 и 1 и функции хи/, строим функцию Xi -х2, что можно осуществить в силу леммы о нелинейной функции.
Итак, построена система {0, 1, х, хг-х2}, которая является полной. Отсюда получаем, что система полна.
Следствие 1. Всякий замкнутый класс функций из Рг, не являющийся полным, содержится хотя бы в одном из классов Zq, Т\, S, М, А.
Следствие 2. Всякая полная в система Р содержит полную подсистему, содержащую не более четырех функций.
Доказательство. Рассмотрим систему/*’ =	В доказа-
тельстве достаточности при построении функций-констант рассмотрены два возможных случая:/0(1,1,• •.,!) = 1 и/о(1,1,...,1) = 0.
В первом случае fo£S, так как/0(1,b-.-.l) = /о(О,О,...,О). Тогда искомая подсистема имеет вид: (/)//«/,}.
Во втором случае /о£/’1 и fo£M, так как />(1,= 0, /о(О,О,.. .,0) = 1. Тогда искомая подсистема есть {/о/-fa}-	♦
Заметим, что константу 4 в утверждении следствия 2 нельзя уменьшить, что вытекает из примера: система функций {0, 1, Х] Х2, Х1Фх2©х3} полна, что следует из примера 6 полных систем, но по теореме 3.6 не полна любая ее подсистема.
64
______ _ _ _	_	Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Класс N функций из Рг называется предполным, если N неполный, а для любой функции/еРгМ класс	полный. Из определе-
ния следует, что класс N замкнут.
Следствие 3. В Р2имеется 5 предполных классов: То, Т\, S, М, А.
Доказательство. Ни один из этих классов не содержится в другом. Поэтому если взять один из них, то в нем содержится по крайней мере по одной функции не из «другого» класса. Добавление еще одной функции не из «взятого» класса обеспечивает полноту по теореме 3.6.	♦
Система функций	} из замкнутого класса М:
а)	полна в М, если ее замыкание совпадает с
б)	есть базис в М, если она полна в М, но любая ее собственная подсистема не полна в М.
Примеры базисов различных классов:
1)	{1, хгх2, xi®x2} - базис в Р2;
2)	{0, 1, Xi-X2, xjvx2} - базис в М;
3)	{1, Х1®хг} - базис в А.
Постом доказано, что в Р2 любой замкнутый класс имеет конечный базис и множество замкнутых классов счетно.
3.7.	Основные способы задания булевых функций
Ранее рассмотрено задание б.ф. формулами (разд. 3.2), а также ДНФ и КНФ (разд. 3.3).
3.7.1.	Табличное задание
Множество If наборов значений переменных, на которых б.ф. f принимает значение 1, называется множеством истинности б.ф. f. Порядок множества If называется весом б.ф. f (обозначается ||/(ХрХ2..х„)|| или кратко ||/||). Из определений следует, что для
любых б.ф./и g выполнено:
1-f ~ Ifn = l/r>Ig’, Ifjg = If
65
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
0< ||/(х1,х2,...,х„)|| = Y f(ava2,...,an) <2п.
||7|=2"-||/||'
11/41 = и + и -и/<
1/М = II/II + hll-2.||/-dl-
Из теоремы 3.1 следует, что
||/(х1,х2,...,х„)|| =	||Ж— ^m,xm+1,...,x„)||,
(ст, ,...ст,„ )eV„,
так как множества истинности любых двух слагаемых в представлении (3.1) имеют пустое пересечение.
Если ||/(х1,х2,...,хл)|| = 2"1, то функция/(хьхг,..../,,) называется равновероятной или сбалансированной.
В некоторых задачах приходится иметь дело с б.ф., значения которых известны не на всех наборах таблицы. В связи с этим могут быть полезны следующие определения.
Отображение g:V—>{0,1}, где УсУ„, называется частичной (частично определенной) б.ф. Доопределением частичной б.ф. g называется всякая б.ф. /, ограничение которой на множество V совпадает с g.
3.7.2.	Геометрическое и графическое задание
Геометрическое задание б.ф. /(xi,X2,...,x„) - это изображение «-мерного единичного куба со множеством вершин V„, в котором выделены вершины множества If. Например, геометрическое задание б.ф.ДхьХ2,хз) = х3 VX1X2 X3 изображено на рис. 3.1.
66
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Рис. 3.1. Геометрическое задание б.ф. y(xi,X2,x3)
Графическое задание б.ф. f(xi,X2,...,xn) реализуется неориентированным графом Г/со множеством вершин If, в котором ребрами соединены пары соседних наборов. Граф Гу можно получить из геометрического задания отбрасыванием всех вершин из множества VnVy и инцидентных им ребер. Для б.ф. Дхьх^хз) из предыдущего примера граф Гу изображен на рис. 3.2.
(1,0,0)
Рис. 3.2. Графическое задание б.ф. f(xi,X2,X})
3.7.3.	Многочлен Жегалкина и действительный многочлен
Рассмотрим многочлен Жегалкина б.ф. Пусть
Дх1,х2,...,х„) =	®	
../Л.)С(1,2.л)
Будем говорить, что конъюнкция х(| •„.•х/ входит (не входит) в многочлен Жегалкина функции/(xi,X2,...,x,,), если оц f = 1(а( ( =0). Конъюнкции, входящие в многочлен Жегалкина называются одночленами. Степенью одночлена х^ - ... х, (или рангом конъюнкции х( •...•х( ) называется число 5 составляющих его переменных.
67
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Степенью многочлена называется максимальная из степеней одночленов, входящих в многочлен (обозначается deg/(xi,x2,...,xn) или кратко deg/).
Б.ф. /(xi,x2,---,x,i) называют линейной по переменой х,, ie{ 1,2,...,и}, если она представляется в виде:
Лх1,х2,...л,) = х,® g(xi,x2.хмл+ь-.-х,,).	(3.8)
Если б.ф. задана ДНФ, то многочлен Жегалкина можно вычислить, выразив операции дизъюнкции и отрицания через операции конъюнкции и сложения по модулю 2:
X1VX2 = Х1®Х2®ХГХ2,	xj =Х1®1.
Б.ф. можно задавать многочленами над полем действительных чисел. Действительно,
Х1АХ2 = Xi -Х2,	Xi VX2 = Х1+Х2- Х1-Х2,
Х1®Х2 = Х1+Х2-2-ХгХ2, X] = 1-Х1-
Если б.ф. задана полиномом Жегалкина, СДНФ или СКНФ, то, заменив по приведенным выше формулам используемые в этих формулах операции на операции с действительными числами, получаем действительный многочлен, значения которого совпадают со значениями б.ф. на всех вершинах «-мерного куба.
Каждой б.ф. соответствует бесконечное множество равносильных действительных многочленов, например х = х" при любом натуральном п. Однако при некоторых ограничениях неоднозначность представления двоичных функций можно исключить.
Теорема 3.7. Любая б.ф. однозначно представляется в виде действительного полинома, все коэффициенты которого являются целыми числами, а каждая переменная входит в полином в степени не выше первой.
3.7.4.	Спектральное представление
Поставим в соответствие двоичному вектору а = (а1,а2,...,а„)бV„ линейную б.ф. (а,х) = ai-X|®a2-x2@...®a„-xn и определим на V„ функцию (-1)(<W) с действительными значениями:
68
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
(-1)
(ах)
1, (а,х) = О, -1, (а,х)-\.
Всего имеется 2" функций вида (-1)<о,х). Например, векторам (0,...,0) и соответствуют функции 1 и (-1)Х,Ф. Следующая лемма показывает, что все эти функции образуют ортогональную систему.
Лемма 3.4. Для любых векторов a,be V,, справедливо:
2", а = Ь;
О, а*Ь.
xeV
Доказательство. Заметим, что
£(_1)«м> =
Х€УЯ
2", а = 0;
О, а # 0.
Действительно, при а - 0 каждое слагаемое суммы равно 1, а при а*0 линейная функция (а,х) принимает значения 0 и 1 по 2”'1 раз. Преобразуем исходную сумму и воспользуемся последним равенством для подсчета ее значения:
Теорема 3.8 (о разложении в ряд Фурье). Для любой б.ф. имеется единственное разложение вида
Дх) = 2-''-Хс«(3-9) aeVn
где х - (xbX2,...,xn)&V„ и коэффициенты являются целыми числами, определяемыми равенствами:
(3-Ю) xeV,
Доказательство. Подставляя в правую часть равенства (3.9) вместо коэффициентов их выражения (3.10) имеем:
69
В, М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
=2"-£(£/(у)-(-1)<ОУ>)-(-1)<АХ) =
«€уя	«еУп yeVn
= Г-^/(у)(Х (-l)(a,v)-(-l)(a,x)).
veV	a€V
п	n
По лемме 3.4 сумма внутри скобок равна 0 при х*у и равна 2" при х = у. Следовательно,
2'"' S Са	= 2‘" • / W ’ 2" = / W •
аеУ„
Если коэффициенты определены неоднозначно, то существует другое разложение функции Дх) вида (3.9):
/(х) = 2-”-2;<(-1)^).
aeV„
Тогда, вычитая одно разложение из другого, имеем:
X(^-^)(-D<flX)=o.
леУя
Обе части этого равенства умножим на (-1 )(ад, где Суммируя полученные равенства по xg V„, имеем:
°=S
(_!)</>,х)
Ейч1)' £(-i)'“’
aeV„	VxeV«
=(C;-o-2".
/
Отсюда следует, что <Л = dfb- Так как b - произвольный вектор из V,,, то получаем требуемое утверждение.	♦
Вектор коэффициентов C(j) = (</„), aeVn, называется спектром Фурье, а его координаты - коэффициентами Фурье б.ф. ,/(х). Преобразование вектора табличного задания б.ф./(х) в спектр Фурье называют преобразованием Фурье б.ф./(х). Это преобразование зада
70
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
ется матрицей Н, называемой матрицей Адамара (формула, определяющая матрицу , дана в разд. 3.8).
Наряду с б.ф. fix) рассматривают ее так называемый действительно-значный аналог/Хх), где:
/Хх) = (~1)/W
Преобразование вектора табличного задания функции /Хх) с помощью матрицы Н^„ называется преобразованием Адамара -Уолша б.ф. fix). Получаемый вектор коэффициентов Z(f) = (/й), aeV,„ называют спектром Уолша, а его координаты -коэффициентами Уолша б.ф.Дх):
£(-1/<х)Ф(“’х).	(3.11)
Спектры Фурье и Уолша всякой б.ф. взаимосвязаны.
Теорема 3.9. Для всякой б.ф.Дх) и любого ае V„ f _ [	«*0;
Z a~ (2Л-2-с', a=0.
Доказательство. Из равенств (3.10) и (3.11) при a = 0 соответственно имеем:
сУо = |И|, Zo = 2"-2-||/||.
Обозначим для б.ф. fix),g(x) через NEfifg), где е,8е{0,1}, число векторов х из V,,, для которых fix) = s и g(x) = 8. Тогда из (3.10) и (3.11) при аХ) получаем:
cfa = NMa,x))-NMa,x)),
Z*a = ^,o(A(a.x))+M,i(A(«.x))-^,o(/;(a,x))-No,i(A(a,x)).
Отсюда следует утверждение теоремы, если учесть, что
N0.0(f,(a,x)) = 2n-'-NMa,x)),
NMa,x)) = \\f\\-NMa,x)), tfo.i(W = 2'’-,-М|+У1.о(/',(«,х)).	♦
71
В.М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ.
Из (3.10) следует, что со = ||/||, то есть О<со^2", а остальные коэффициенты Фурье б.ф. fix) - это целые числа из сегмента [-2'| |,2"1]. Однако не всякий набор целых чисел с указанными ограничениями является спектром Фурье некоторой б.ф. Коэффициенты Фурье (следовательно, и коэффициенты Уолша) любой б.ф. связаны некоторыми соотношениями. Например, из (3.9) следует, что
2’"-Zc«
Коэффициенты Уолша любой б.ф. связаны соотношениями ортогональности, то есть для beVn
у 7f ,7г =l22", b=0;
aeV,	V
Отсюда при b = 0 имеем так называемое равенство Пар сев ал я: £(z')2 =22" «€УЯ
3.8.	Связь различных представлений функций
Рассмотрим множество функций, заданных на множестве Vn и принимающих значения в поле Р. Такие функции называют Р-буле-выми (если Р - поле рациональных или поле действительных чисел, то псевдобулевыми). Множество всех Р-булевых функций от п переменных обозначим через Р(п).
Множество Р(п) образует векторное пространство над полем Р относительно операций сложения функций и умножения функций на элементы поля Р. Один из базисов пространства Р(п) - система булевых функций {fa(x)}, ае V,,, где
f(x) = (1> х = а>
Ja(X) (0, х*а.
Следовательно, dimP(n) = 2" и любую функцию из Р(п) можно однозначно представить в виде линейной комбинации базисных функций над полем Р:
72
 ___________Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Лх)= %са.М.
aeVn
Пусть/ = {/(а)/ае V„} есть вектор-столбец табличного задания функции /из Р(п). Так как/ = £•/, где Е - единичная матрица размера 2"х2", то для всякой обратимой матрицы А размера 2лх2" над полем Р справедливо равенство
/ = Я-/,	(3.12)
где = Я’1/. Вектор = {h(a)/aeVn} можно рассматривать как новое задание функции /.
Занумеруем столбцы матрицы А элементами множества V„ в лексикографическом порядке (в силу обратимости матрицы А их можно рассматривать как набор базисных функций) и обозначим столбец с номером а через g«, aeVn. Тогда равенство (3.12) можно переписать в виде
/s2>hJ.
“eVn
Следовательно, новое задание функции /можно рассматривать как набор коэффициентов в разложении функции / относительно базисных функций g", aeVn.
То есть выбирая в качестве А различные обратимые матрицы, получаем различные способы задания функции /. Переход от одного способа задания к другому и обратно осуществляется с помощью матриц А и А'1 соответственно.
Особый интерес представляют матрицы перехода от одного задания к другому, являющиеся и-й тензорной степенью обратимой матрицы размера 2x2. Следующая лемма устанавливает зависимость между элементами 2х2-матриц и видом базисных функций, получаемых при таком разложении.
Лемма 3.5. Пусть матрица А размера 2"х2" получается тензорным умножением обратимой матрицы В размера 2x2 на матрицу С размера 2"х2":
73
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
А = В®С, В=(а £ I.
(у о/
Тогда наборы базисных функций {gJceV,,^} и {gJaeVn}, соответствующие матрицам Си А, связаны соотношениями:
g(0.C)(Xl,X2,...,X„) = (a-Xj +Y’Xl)-gc(X2,...,X„),
g(l,c)(Xl,X2,...,X„) = (p-X, +5-Xi)-£c(X2,...,X„),
где x = 1—x и все операции выполняются в поле Р.
Доказательство. В условиях леммы 3.5 матрица Л равна: !:?)•
Табличным заданием функции g(o,c)(xi,X2,...,x„) является столбец матрицы А с номером (0,с). Верхняя (нижняя) половина его, соответствующая значению переменной Xi = 0 (xi = 1), есть результат умножения элемента а (элемента у) на столбец матрицы С с номером с. Следовательно, разложение функции g(o,c)(xi,X2,...,x/1) по переменной X] имеет вид:
g(0,c)(X1^2..Х„)= Х1 •(a-ge(X2,...^„))+Xi-y(gc(X2,...rV,1)) =
= (a-x1+y-xi)-gc(x2,...,xn).
Второе соотношение доказывается аналогично.
Теорема 3.10. Если А = 5м, В
то соответствующие
матрице А базисные функции имеют вид:
п _______	_
g(C(...(.л) (Х1,... ,х„) =	[с, • (а • х, + у • х() +с,-(Р • \ 4-5 X,)].	(3.13)
Доказательство следует из леммы 3.5.	♦
Перечислим обратимые матрицы В, соответствующие известным способам задания б.ф.
Р - произвольное поле. В = Вл = 11 ?|.
74
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Согласно теореме ЗЛО базисные функции имеют вид
«------ с	с
..с.л)(Х1,...Л>) =	+с-	•
<=1
В этом случае разложение (3.13) есть СДНФ функции/.
Р - поле рациональных чисел, В = j, В'1 = (_]j	•
В этом случае базисные функции имеют вид
..Сп)(хь..-Л.) =
= fife '(х< + х<)+ ci ’XJ = Пв + c<'XJ = flxi • /=1	/ = 1	rc=d
Разложение (3.13) совпадает с действительным многочленом функции.
Р = GF(2), В = В'1 = (j °).
Согласно теореме 3.10 базисные функции имеют вид
п
..еп)(^Ь...Л.)= П*,-
Разложение (3.13) совпадает с многочленом Жегалкина.
Р - поле рациональных чисел. В =	* = 1/2-2?.
В этом случае базисные функции имеют вид
_ ___ —
g(C| t.,) (Xb • • • Л.) = П[с<- ' (х- + х> >+ с' (х' “ х‘=
= fj[l-2-c,.-x,.] = (-1)‘,че <=|
В данном случае разложение (3.13) является разложением функции в ряд Фурье. Таким образом, матрица Адамара имеет вид
75
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Заметим, что вычислительная сложность перехода от одного способа задания функции п переменных к другому способу с увеличением п быстро растет, так как определяется сложностью реализации умножения 2"-мерного вектора на матрицу порядка 2". Известно, что для матриц порядка 2" такое умножение требует не менее п-2п элементарных вычислительных операций. Вместе с тем для некоторых классов функций изменение способа задания может быть реализовано более экономно в смысле вычислительной сложности. В качестве примера рассмотрим переход от полинома Жегалкина к таблице б.ф. и обратный переход.
Пусть полином Жегалкина функции f задан формулой (3.4). Согласно этой формуле значение функции f на двоичном векторе b - (ЬЪЬ2,...,bn) равно:
Щ,..Л) = S ф %.,. А’"•А-	<3-14)
{ij.
Обозначим через 1(b) множество номеров единичных координат вектора Ь. Заметим, что - — ‘fy = 1 о {zb...,z5}czZ(b). Поэтому формулу (3.14) можно преобразовать:
= х ф а/1Ч-	<3-15)
Из формулы (3.15) имеем, что если b - вектор веса s, то/(£>) есть сумма 2s коэффициентов многочленов Жегалкина (по модулю 2). В частности, если:
b - нулевой вектор, то
ЛО,О,...,О) = ао;
b - вектор веса 1 такой, что 1(b) = {i}, то flb{,b2,...,bn) = ао® а,;
b - вектор веса 2 такой, что 1(b) = {i,j}, где i*j, то
f(b] ,b2,... ,Ьп) = ао ® а, ® а, ® а,;, ...
76
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Матрица перехода от таблицы б.ф. к многочлену Жегалкина равна обратной матрице, поэтому формулу (3.15) можно соответствующим образом «обратить»:
Ь<с
где сеVn и /(с) = {й,Из формулы (3.16) следует, что
аг= 22 ® /(х) = ||/W||(mod 2), xeVn
то есть для б.ф. доказана следующая теорема.
Теорема 3.11. deg/(xi,X2,...,x„) = п <=> ||/|| нечетен.
Для функций невысокой степени нелинейности переход от таблицы к полиному Жегалкина с использованием формулы (3.16) требует существенно меньше вычислений, чем с помощью умножения матриц.
3.9.	Понятие о классификации двоичных функций
Во многих приложениях, в том числе при анализе и синтезе логических схем, представляет интерес составление обширного списка б.ф. от некоторого числа переменных и их свойств. Это облегчает выбор б.ф. с заданными свойствами.
Однако полное перечисление всех б.ф. и их свойств не под силу современным ЭВМ уже при числе переменных п>5. В связи с этим данную задачу можно решать путем разбиения множества функций на классы, внутри которых функции обладают близкими свойствами. Если число классов невелико, то задача облегчается, так как по свойствам представителей классов можно судить о свойствах остальных функций. Задачу выбора функции с заданными свойствами можно решить, например, путем выбора подходящего класса, затем выбирая наилучшую функцию внутри класса.
Подход к исследованию множества /^(^Х заключающийся в разбиении его на классы, носит название классификации. Б.ф. можно классифицировать по различным характеристикам: по весам, по сте-пеням нелинейности и т. д. Одним из наиболее важных с точки зре
77
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
ния приложений в криптологии является подход, основанный на использовании групп преобразований.
Пусть G - некоторая группа преобразований множества Vn. Очевидно, порядок группы G удовлетворяет неравенствам
1 < IGI < (2")! .
Б.ф. f(xi,X2,...,xn) и h(xi,X2,...,Xn) называются эквивалентными относительно группы G, если в G найдется преобразование g, при котором верно тождество h(x)=f(g(x)).
Обозначим это отношение f^h или fsh, если ясно, какая группа G подразумевается. Данное бинарное отношение на множестве РгСи) при любой группе G является отношением эквивалентности, так как оно:
а)	рефлексивно: Д</(в этом случае g - е);
б)	симметрично: f^Gh, тогда h=Gfi
в)	транзитивно: f=Gh, h=Gz, тогда feGz.
Таким образом, множество РгОО разбивается на классы эквивалентности относительно рассмотренного отношения.
Обозначим класс эквивалентности, содержащий функцию/, через [/]G • Очевидно,
1 < Ш < IGI.
Если I[/]g1 = 1, то/неизменна при всех преобразованиях geG, то есть функция/ инвариантна относительно группы G. Степень инвариантности / относительно преобразований группы G характеризуется понятием группы инерции.
Группа инерции функции/в группе G - это множество преобразований группы G (обозначим его через не изменяющих функцию/, то есть
JG(/)={geG//(g(x))=/(x)}.
Множество JG(f) является подгруппой группы G, причем 1 <Ug(/)I<IGI. Если I JG(/) I = 1, то говорят, что функция/имеет тривиальную группу инерции в группе G.
Теорема 3.12. Для всякой функции/еР2 справедливо
78
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Ш =
IGI
Доказательство. Класс [/]G состоит из функций
[Лс = {h(x)th(x) =fig(x)), g&G}.
Пусть g - произвольное преобразование из G. Определим, сколько преобразований g’ из G дают ту же функцию, что и преобразование g:
fig(x)) =Ag,(x)).
Сделаем в этом равенстве замену переменной: у = g(x). Тогда х = g-l(y) и из последнего равенства получаем:
f(y) = f(g’-g'l(.y))-
Последнее равенство выполняется в том и только в том случае, когда g” = g’ -g^leJ(;(f). Следовательно, g’ имеет вид:
g’ =g”- g>
и всего таких преобразований L7g(/)I- Так как это число не зависит от выбора g, получаем утверждение теоремы.	♦
Основными группами преобразований множества Vn, используемыми для классификации булевых функций, являются следующие 5 групп.
1.	Группа S„ перестановок переменных. Она состоит из и! преобразований вида
где	- перестановка чисел (1,2,...,«).
Функция fix) называется симметрической, если она инвариантна относительно группы 5„, то есть Js (/) = Sn.
2.	Группа инвертирований переменных (группа сдвигов). Она состоит из 2" преобразований вида
( х, X, ... х„ А ,	. ,,
₽=	1	2	"	(ai,a2,	a„)eV„.
6	(x,©^ x2®a2 ... x ®a j
79
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
3.	Группа Джевонса Q„ (группа преобразований однотипности, группа геометрической эквивалентности), являющаяся произведением групп S„ и Е„. Группа Qn состоит из преобразований вида
„ = f	*2	... Хп "I
° х. Фа, х. Фа, х. ®а„ ’
\ 21 I >2	2	>п п)
где jn) - перестановка чисел (1,2,...,и), («1,^2, •••, «п)еV,,.
Преобразования состоят в перестановке переменных и инвертировании некоторых из них, |<2„| = п! - 2".
4.	Группа GL„(2) линейных преобразований набора п переменных (полная линейная группа). Преобразования задаются невырожденной двоичной матрицей А размера мхл:
g(x) = х-А.
л-1
Порядок группы GL„( 2) равен J-J(2" — 2').
»=о
5.	Группа AGLn(2) аффинных преобразований (полная аффинная группа), являющаяся произведением групп GLn и 27,Она состоит из преобразований вида:
g(x) = хАФЬ,
где А = (а,]) - обратимая матрица размера пхп над полем из двух элементов, вектор b = (bi,...,bn)sVn. Порядок AGLn(2) равен
л-1
L4GL,i(2)l = 2"-fJ(2" -2').
;=о
Каждая из групп 5,„ S,„ Q,„ GL„(2) - подгруппа группы AGL„(2).
Справедливы следующие свойства.
Утверждение 3.1. Пусть G - одна из пяти указанных групп и f^Gh. Тогда
1. 11/11 = ИЛИ.
2. deg/= deg Л.
Доказательство. Справедливость первого свойства следует из того, что при любом обратимом преобразовании g множества V,, вес функции/(g(x)) неизменен.
80
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Справедливость второго свойства следует из того, что при любом аффинном преобразовании g множества Vn степень нелинейности функции не увеличивается, поэтому
degflx) > deg/(g(x)) > deg/iy *(#(*))) = deg/(x).	♦
Утверждение 3.2. Пусть Ge {S„,E„,<2„} и feGh. Тогда функции/и h имеют одинаковое число существенных переменных.
Доказательство. Достаточно заметить, что при любом преобразовании g множества V„, g&G, пара соседних векторов преобразуется в пару также соседних векторов.	♦
Изложим идею классификации б.ф. с использованием групп преобразований их области определения. Важной проблемой классификации является задача конструктивного перечисления, то есть получение списка представителей всех классов эквивалентности. Эту задачу можно решать так:
1. Сначала выбирается какой-либо способ перечисления всех функций из Р1(п), то есть генерируется последовательность {fi.fi, >•••}• Способы построения этой последовательности могут быть разные, например перебор всех функций, начиная с функции малого веса, перебор функций с различными графами связности вершин в и-мерном кубе и т. д. Как правило, сразу не удается обеспечить условия, чтобы все эти функции лежали в разных классах эквивалентности, поэтому выполняем п. 2.
2. Полагаем = fa и подсчитываем UgC/0)!-
Далее рассматриваем Д и проверяем, выполнено ли отношение Если выполнено, то переходим к fi,. Если не выполнено, то полагаем/2) =Ди подсчитываем I7g(/(2))I и т. д.
Для очередной функции fi из исходной последовательности проверяем, эквивалентна ли она одной из отобранных ранее функций или нет. Если эквивалентна, то переходим к f+i. Если не эквивалентна, то полагаем/т+|> -fin вычисляем Ug(/”‘+I))I (о способах вычисления I JG(/)I для б.ф. f рассказывается ниже). После этого проверяем выполнимость равенства
ti'lW)!
(3.17)
81
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Если (3.17) выполнено, то классификация закончена.
Описанный метод классификации упрощается, если заранее известно число т классов эквивалентности, так как отпадает необходимость в вычислении порядков групп инерции и проверке выполнимости равенства (3.17). В этом случае классификация завершена, если построена последовательность/0, /2\..., /т).
Определенное неудобство такой классификации заключается в том, что мощности классов эквивалентности могут заметно различаться (см. теорему 3.12).
Приведем в следующей таблице результаты подсчета числа классов эквивалентности для пяти указанных групп при п<6. Из таблицы видно, что для классификации б.ф. от и>6 переменных этот подход оказывается неэффективным.
п	G				
	s„		Qn	GL„(2)	AGL„(2)
1	4	3	3	4	3
2	12	7	6	8	5
3	80	46	22	20	10
4	3984	4334	402	92	32
5	37333284	134281216	1228158	2744	382
6	>25-1016	>29-1017	>4-1014	950998216	15768919
Тем не менее такой подход представляет интерес для оценки числа неэквивалентных ключей некоторых криптографических схем.
Для вычисления групп инерции наиболее часто используется класс методов, получивших название эвристических. Они выполняются в два этапа. Сначала выбирается набор каких-либо достаточно просто вычисляемых параметров (называемых «эвристиками»), по значениям которых можно либо сделать вывод типа: «функции неэквивалентны», «группа инерции тривиальна» и др., либо уменьшить число вариантов, подлежащих перебору. После этого, если окончательный ответ не получен, осуществляется перебор оставшихся вариантов.
82
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
Пример. Посчитаем IJS (/)1 для функции f(xi,...,x^), заданной и
многочленом Жегалкина. Для этого сгруппируем в многочлене все одночлены одинаковой степени:
/(%!,.. .,Хб) = 1®(Х1®ХзФХ4)Ф(ХгХ2® Хг'Л'з® ХуХ$)® ХуХуХц® Хз'ХуХз'Хб-
Пусть fi, f2,/з,/4 - однородные многочлены степеней 1, 2, 3, 4 соответственно, сумма которых равна
f = Х1©Хз©Х4; /2 = ХрХ2®Х2-Хз®Х4-Х5; /з = Х2-ХЗ-Х4 ; /4 = ХЗ-Х4-Х4-Х6.
Составим матрицу частот встречаемости переменных xi,...,xe в однородных многочленах fi,fi,f3,fc
	Xi	*2		X4	*5	x6
fl	1	0	1	1	0	0
fl	1	2	1	1	1	0
fl	0	1	1	1	0	0
/4	0	0	1	1	1	1
При перестановках переменных функции f(xi,...,x6) столбцы этой матрицы переставляются, но по составу неизменны. Сравнивая столбцы, имеем, что одинаковыми являются только столбцы, соответствующие переменным хз и Х4. Следовательно подстановки из Js (/) оставляют на месте хь х2, Х5, Хб и, быть может, переставляют хз и Х4. Так как транспозиция (хзл) изменяет функцию/2(xi,...,xe), получаем окончательно, что I Js (f) 1= 1.
Для исследования групп инерции функций в группе S„ и в других группах могут быть использованы различные инварианты, такие, как веса и степени нелинейности подфункций, число существенных переменных, число вхождений в члены фиксированной степени (полиномиального представления функции) подмножеств переменных заданной мощности и многие другие. В частности, группа (/) мо-п
жет быть найдена как множество решений относительно ai, ...,an системы Уравнений, вытекающей из равенства соответствующих коэффициентов полиномов Жегалкина функций/(хь...,х„) и f(x\®ai,... ,x„®an).
83
В._М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
3.10.	Задачи и упражнения
3.1.	Найдите существенные переменные б.ф./и g, заданных таблицами. Какие б.ф. получаются из/и g после удаления несущественных переменных? Постройте их таблицы и геометрические задания.
венно от всех своих переменных. Покажите, что:
а) Т(п) = У (-1)' - С' •22'"' ; б) limT(n)-2~2" = 1.
1=0	л_>°°
3.3.	Докажите, что множеством истинности произвольной элементарной конъюнкции ранга к является двоичный куб размерности п-к.
3.4.	Найдите многочлены Жегалкина и действительные многочлены для следующих б.ф. и определите их степени нелинейности:
a) Xi -Х2 v Xi -хз;	б) xj -хг v хг -хз v Xi -хз;
в) (xi v хг)• ( Xi v хз); г) xi® хг® хз.
3.5.	Разложите по переменной xi б.ф. из задачи 3.4.
3.6.	Докажите, что б.ф. /(xi,X2,...,xn) зависит от х,- несущественно тогда и только тогда, когда все одночлены, содержащие в качестве множителя Xi, не входят в ее полином Жегалкина.
3.7.	Определите число б.ф. от п переменных:
а) веса к, к = 0,1,2,..., и; б) четного веса.
3.8.	Докажите, что если б.ф. fixi,X2,...,xn) имеет пг несущественных переменных, т<п, то ее вес кратен 2т.
3.9.	Сколько существенных переменных может иметь б.ф. Дх1,х2,...,х„), если ее вес равен т:
а) п = 10, т = 94; б) п = 12, т = 104?
3.10.	Пусть б.ф./(Х1,Х2,...,х„) и ^(х„+1,х,|+2,...,х„,) зависят от непересе-кающихся множеств переменных, т>п. Покажите, что:
84
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
a)	f-g неравновероятна, если обе функции f,g не константы;
б)	f&g равновероятна <=> равновероятна одна из них.
3.11.	Покажите, что б.ф. равновероятна, если она линейна по некоторой переменной.
3.12.	Докажите, что ||/’(xi,X2,...,x;i)||>2"'\ если deg/(xi,X2,...,x„) = к>0.
3.13.	Выведите условия на коэффициенты полинома линейной б.ф. at-xi®a2-X2®...®an-xn, при которых она самодвойственна.
3.14.	Докажите, что у б.ф. /(xi,x2,...,x„) и у двойственной б.ф. множества существенных переменных совпадают.
3.15.	Посчитайте deg/(xi,x2,...,x„) и ||Ях1,Х2,...,хя)||, где:
а)ДхьХ2,...,х„) = Х1®Х2®...@х„ФхгХ2- ...-х„;
б)ДХ1,Х2,...,Хп) = Хр Х2 -X3VX1-X2-X3 VXp Х2 • Х3 VX1-X2-X3, и>3;
в)	п = 2т,^х\,Х2,...,Х2т) = (xi-Хз- ...-хгда.ОФСхг^- .„•Х2ОТ)®хрх2;
г)	и = Зт,/(xi,X2,...,X3m) = (Х1Фх2Ф...Фхт)-(хт+1Фхот+2Ф...Фхзш) Фхрх3и;
a)ftXi,X2,...,Xn) = (Х1Фх2Фхз)-(Х5-Хб- ...-ХЛ)ФХ5.
3.16.	Упростите формулуДх1,х2,...,х„) и посчитайте |[/'(xi,x2,...,x,1)||:
ДХ1,Х2,...,ХП) = ХрХ2®Хз*Х4‘... *ХИФ Х| • х2 Фх3 • х4 Х„ Фх2'Х3.
3.17.	Пусть ||/(xi,...,x„)|| = к, ||g(x,l+i,...,xwl)| = I, т>п. Посчитайте вес
б.ф. <p(xi,...^m) = ^©Дхь-.-л,)- ga' (хп+1,...лт), где а,е {0,1}, i = 1,...,$. i=i
3.18.	Какова доля функций, зависящих от Х4 фиктивно, среди всех линейных равновероятных б.ф. от пяти переменных?
3.19.	Каково число б.ф. от и переменных степени нелинейности к!
3.20.	Посчитайте число б.ф. от п переменных, не изменяющихся при перестановке переменных xj и х2.
3.21.	Найдите коэффициенты Фурье и коэффициенты Уолша для б.ф. из задачи 3.4.
3.22.	Является ли набор чисел (4; -1; 2; -2; 1; 1; 3; -3) спектром Фурье или Уолша для некоторой б.ф. от трех переменных?
3.23.	Покажите, что |</я|<2"'’ при
3.24.	Пусть f = g-h. Докажите, что коэффициенты рядов Фурье этих б.ф. связаны соотношениями = 2'" с* cha<S)b, ае V„.
h&Vn
85
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
3.25.	Найдите разложение в ряд Фурье б.ф.:
a) f(X\,X2,...,Xn) = ХГ, 6)f(Xi,X2,...,X„) = Xi®X2®...®X„ .
3.26.	Докажите, что в спектре Фурье (Уолша) линейной б.ф. лишь два коэффициента (один коэффициент) отличны от нуля. Каким базисным функциям соответствуют ненулевые коэффициенты и чему они равны?
cf
3.27.	Для flxi,X2,...,X4) = Х1-Х2-хз®-*4 покажите, что ]^[(1——) =0.
«eV4 8
3.28.	Посчитайте коэффициент Фурье </о б.ф. f(x\,...,xs). = = X1X2X3VX4X5.
3.29.	Как связаны спектры Фурье (и Уолша) б.ф./(х1,...,х„) и а)/(хь...,хп)®1;
б)/(хь...,х„)®(х1®а1)-... -(.хп®а„), (аь...,а„)еУ„;
B)/(xi,...,x„)®(aiXi®...®a№r„), (ai,...,a„)eV„;
r)f(g(xi,-,Xn)), geGLn2
3.30.	Выразите б.ф. через ее действительно-значный аналог.
3.31.	Посчитайте мощности множеств Рг(4), L(10), А(7), 5(8).
3.32.	Пусть RcP2(A) и 17?| = 1000. Можно ли отыскать в множестве R 200 немонотонных функций?
3.33.	Сколько имеется в 7*2(9) равновероятных нелинейных б.ф.?
3.34.	Сколько имеется монотонных б.ф. /(хьХ2,Хз,Х4), принимающих значение 0 на всех векторах веса 2?
3.35.	Докажите, что если б.ф./еМ, то
3.36.	Каков вес монотонной б.ф./(xi,X2,...,X5), если она равна 0 на всех векторах веса 1 и равна 1 на всех векторах веса 2?
3.37.	Докажите, что класс М не содержится ни в одном из классов То, TbS,L.
3.38.	Докажите, что самодвойственная б.ф. равновероятна.
3.39.	Является ли самодвойственной б.ф.:
а) X) Х2 -хз® 1;	б) xi X2VX3 -Xi;	в) Х1®Х2®хз® 1 ?
3.40.	Посчитайте число аффинных б.ф. от п переменных, зависящих существенно от к переменных.
3.41.	Являются ли полными классы б.ф.:
86
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
a) {X1X2VX3X4,0}; б) {xi-Х2®хз®1}; в) {X1X2VX1X3,хз®1}?
3.42.	При каких значениях a,b данный класс б.ф. является полным:
а) {a -xi Х2®хз® 1, Х\®Ь -хг}; б) {a -xi хг х$®Ь® 1, b -xi©хг);
в) {(a@Z?)-xi-X2®l, а-хрхг-хз}; г) {a-bxi -Х2®хз®1, xi©Z>-X2®a}?
3.43.	Являются ли линейно независимыми системы б.ф.:
a) {xi,X2,xi®x2}; б) {xrX2^ci®X2,0}; в) {xi,xix2, ...,x^-...-х,,}?
3.44.	Какие из замкнутых классов Рг(н), Л/(и), Ь(и), А(п), Го(п), Г1(п), S(n) образуют векторное пространство? Укажите его размерность.
3.45.	Какова размерность пространства:
а)	всех аффинных б.ф., зависящих от шести переменных;
б)	всех линейных б.ф., зависящих от переменных хь х3, Х5;
в)	всех б.ф. от п переменных, у которых в АНФ входят одночлены только четной степени;
г)	всех б.ф./от п переменных, у которых deg/SZ:<n?
Изменится ли размерность этих пространств, если потребовать дополнительно, чтобы функции сохраняли константу 0?
3.46.	Для б.ф. от трех переменных вычислите матрицы:
а)	перехода от таблицы к многочлену Жегалкина и обратную;
б)	перехода от таблицы к спектру Фурье 1 -го типа и обратную.
Используя обратные матрицы, вычислите многочлены Жегалкина и разложения в ряд Фурье б.ф./g, заданных таблицей
XI	0	0	0	0	1	1	1	1
х2	0	0	1	1	0	0	1	1
Хз	0	1	0	1	0	1	0	1
/	0	1	1	1	0	0	1	1
g	1	1	0	1	0	0	1	0
3.47.	Найдите линейное доопределение частичных б.ф./и g, получите их полиномы Жегалкина.
X]	0	0	0	0	1	1	1	1
х2	0	0	1	1	0	0	1	1
Хз	0	1	0	1	0	1	0	1
/	0	1	1	*	*	1	*	*
g	0	*	*	1	1	*	0	*
87
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
3.48.	Для б.ф. Дх1,Х2,хз) = аФр-Х1©Х2®у-Х1 •Х2®8х2>хз®£-Х1-Х2Хз определите величины:
а)Л0,0,0)®Л 1,0,0)ФД 1,1,0)®Л 1,1,1); б)/(О,1,0)Ф/( 1,1,0);
в) (ДО, 1,0)ФД1,0,1))-(/(0,0,0)Ф/(1,0,0)Ф/(0,1,1)).
3.49. Для частичных б.ф., определенных таблицей
Х1	0	0	0	0	0	0	0	0	1	1	1	1	1	1	1	1
*2	0	0	0	0	1	1	1	1	0	0	0	0	1	1	1	1
Х3	0	0	1	1	0	0	1	1	0	0	1	1	0	0	1	1
Х4	0	1	0	1	0	1	0	1	0	1	0	1	0	1	0	1
/	0	*	1	*	1	1	0	*	1	*	0	*	0	0	1	4c
g	1	0	1	*	1	1	0	*	0	*	1	*	0	4c	0	4:
/1	0	*	1	*	1	1	0	*	0	1	1	0	1	4c	4c	4c
gl	1	0	1	*	0	1	0	*	1	*	1	*	0	*	0	4c
JL	0	*	*	*	*	*	*	0	4c	*	4c	0	*	0	1	1
g2	*	*	*	1	*	0	0	*	*	1	1	*	0	4c	4«	4c
найдите:
а)	квадратичное доопределение - для fng-,
б)	квадратичное равновероятное доопределение - для/i и gr,
в)	монотонное доопределение - для/2 и gz.
Вычислите полиномы Жегалкина найденных доопределений. Определите ДНФ/2 и g2, не содержащие отрицаний переменных.
3.50.	Какая из цепочек включений групп верна:
a) 'LnQQncGLn, б) S„o4GL„g6„; в) 5„cZ„o4GL„? Какова диаграмма включений для пяти указанных групп?
3.51.	Эквивалентны ли данные б.ф. относительно какой-либо из
групп S3, Ез, 2з, GLj, A GL3:
а)хгХ2®хз и Xi X2VX3;
б)	XI-X2VX1 -Хз И Х1 -Х2®Х1 -хзФхз;
в)	X2VX1 и Xi X2®xi -хзФхгХзФхз;
г)	Xi X2VX1 х2 И Х1ФХ2ФХ3?
3.52.	Определите порядок группы инерции в S(> б.ф.:
а)	(Х1Фх4)-(х2Фхз)Фх5-Хб;
б)	X] -Х2 -ХзФХ1 -Х2 Х4ФХ1 Х3ФХ2 Х3ФХ5 -ХбФХ1ФхзФХб;
88
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ
в)	XI Xy®X2'Xs®X<x-X5®X\ XyXf,®X2Xj,-X5®Xi -X^ Xs',
Г) X| -X2 -Хз -X4®X2 X5 Х'б®Хз X4 Xs®X| Хб®Х2 Хз Х5®Хб-
Сколько б.ф. из Рг(6) эквивалентны этим б.ф. относительно Se?
3.53.	Имеются ли в системе F б.ф., эквивалентные относительно группы g4:
F = { Xl -X2-X4@X3®X1 Х4, X] X2VX3 VX4, Xj -Хг-ХзФХ] -Х2-Х4 } ?
3.54.	Какая из данных б.ф. имеет группу инерции в 54 наибольшего порядка:
а) Х1 Х2®Х] Хз®Х] Х4®Х2 Х3ФХ2 Х4®Y'3 Х4, б) X] Х2®Хз Х4,
в) (Х2®Хз)-(Х1®Х4); г) Xl X2VX3VX4?
3.55.	Определите jQ (f) для б.ф. f = Х1®Х2®...®хю и вычислите ее порядок.
3.56.	Докажите, что б.ф. от п переменных является симметрической тогда и только тогда, когда в ее многочлене Жегалкина все члены степени к, к = 0,1,2,..., п, одновременно либо присутствуют, либо отсутствуют. Посчитайте число симметрических б.ф. от п переменных степени нелинейности к.
3.57.	Докажите, что б.ф. от п переменных является симметрической тогда и только тогда, когда она постоянна на множестве векторов веса к, к = 0,1,2,..., п.
3.58.	Образует ли векторное пространство множество симметрических б.ф. от и переменных? Если да, то укажите размерность этого пространства.
89
Глава 4. ФУНКЦИИ А-ЗНЛЧНОИ ЛОГИКИ
4.1.	Начальные понятия и элементарные функции
Пусть U =	} - исходный алфавит переменных, зна-
чения которых определены на множестве^={Q1,...Д-1 },к>2. Функцией fixi,X2,..;Xn) fc-значной логики от п переменных называется отображение/:/?/'0—>£&, где переменные xi,X2,...,xn взяты из алфавита U. Через Рк обозначим множество всех функций /r-значной логики и через Рк(п) - множество функций /s-значной логики, зависящих от п переменных.
Из определения следует, что I Рк (п) 1= к?.
Таблица функции f{x\,X2,...,xn)eP^n) имеет вид:
Х1				/(Xi, ...,х„)
0		0	0	Л0	0)
0		0	1	Л0,...,1)
.♦.		. ♦.	. . ♦	.. ♦
0		0	к-1	ДО,..., ОД-1)
0		1	0	до,...,1,0)
.. .		♦ ..	.♦.	...
		к-1	к-1	/Д-1, ...Д-1Д-1)
Табличное задание функций fc-значной логики еще более громоздко, чем задание б.ф. Поэтому чаще используется задание функций с помощью формул или алгоритмов вычисления их значений. Например, Дх1,...,х„) = max(xi,...,x„).
Для функций из Рк понятия фиктивной и существенной переменных, равных функций, формулы над множеством функций, замкнутого и полного класса функций определяются так же, как и для б.ф.
Перечислим важнейшие элементарные функции из Рк'.
1)	константы 0,1,...Д-1;
2)	отрицание Поста: (x+l)modfc;
3)	отрицание Лукашевича: Д-1)-х (обозначается ~х или Nx);
^ИОГШИФИ
90
Глава 4. ФУНКЦИИ к-ЗНАЧНОЙ ЛОГИКИ
4)	характеристическая функция (1-го рода) числа I: ji(x),
ji(x) = !q’
если если
х = 1; х^г,
i = O,l„..Д-1;
5)	характеристическая функция (2-го рода) числа г. J^x\ j, х U-1, если x = i;  П1 , , Ji(x)={ п	I = 0,1,...Д-1;
v '	10, если xti;
6)	транспозиция чисел i и j: tij{x), ye {0,1,..., к-1}, i^j;
tij(x) =
x, x<£{i,j}, < j, x = i,
i, x = j;
х±у =
7)	минимум x и у: min(x,y);
8)	максимум хи у: max(x,y);
9)	сумма по mod к: (x+y)mod£;
10)	произведение по mod к: (xy)mod£;
11)	разность по mod к:
(x-vlmodk = 1к ~~х)’ если ^^х<у<к-1;
'	{ х - у, если 0 < у < х <к -1;
12)	усеченная разность х±у:
О, если 0<х<у<£-1;
х - у, если 0<у<х<&-1;
13)	импликация хоу:
_(	к-1, если 0<х<у<&-1;
x=>-v “ [(к -1)-х + у, если 0<у<х<к-\;
14)	функция Вебба: vk(x,y) = (max(x,y)+l)modA:.
Некоторые б.ф. имеют в Рк по нескольку аналогов, обобщающих отдельные свойства этих б.ф.
Функции min, max, сумма и произведение обладают свойствами коммутативности и ассоциативности. Верны законы дистрибутивности умножения относительно сложения
(х+у)-г = x-z+y-z,
91
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
дистрибутивности операции max относительно операции min и операции min относительно операции max:
max(min(x,y),z) = min(max(x,z), max(y,z)), min(max(x,y),z) - max(min(x,z), min(y,z)).
Любую функцию А-значной логикиf(x\,X2,...,x,г) можно представить в 1-й форме (аналог СДНФ б.ф.):
Дх1,...л,) = max {min(/(CTi,...,Q„),J (х,),...,Ja (х„))} (4.1) ст	1	п
и во 2-й форме (сумма и произведение берутся по модулю к):
f(x1,...^n)=	/(ai,...,o„)-j (хД(хп).	(4.2)
(°i •••% >е£/л)
Используя обозначения: ст-т = тш(ст,т), avт = тах(ст,т), укажем ряд формул, связывающих элементарные функции.
1.	Правила спуска символа J «в глубь» формулы:

Jo(х) v...v (х) v JT+](х)v...v (х), ст = 0;
0, 0<ст<А-1;
JT (х), ст = к -1;
Ja(xi-x2) = Jo(xi)-(JCT(x2)v... vJJt.i(x2))vJa(x2)-(Ja(xi)v... vJt.i(xi));
JO(X1 vx2) = Jo(xi)-(J0(x2)v... vJo(x2))vJa(x2)-(J0(xi)v.. ,vJa(xi)).
2.	Правило исключения «чистых» вхождений переменной:
х = 1 • J] (х) v 2 • J2 (х) v... v (А: -1) • Jk_x (х).
3.	Правило введения переменной:
xi = *i(7o(*2)v -v J4-1 (лг)) •
4.	Правила упрощения:
J„(x)Jt(x) =
JCT(x), т = ст;
0, т 5* ст;
(А-1)vx = к-1, 0vx = х, (А-1)-х = х, 0-х = 0.
92
Глава 4. ФУНКЦИИ к-ЗНАЧНОЙ ЛОГИКИ
4.2.	Важные классы функций £-значной логики
Рассмотрим некоторые классы функций &-значной логики, свойства которых важны, в частности, для криптографических приложений.
Функцию Дх1,х2,...,хп) называют сбалансированной, если для любого reEk
|{(х1,х2,...,х„) е Екм :/(х1,х2,...,хл) = г}| = кп~'.
Очевидно, функции (x+y)modfc и ty(x) являются сбалансированными, а функции тах(х,у) и min(x,y) не являются. Сбалансированная функция из Р*(1) есть подстановка на множестве Ек.
Если в Дх1,х2,...,х„) значения некоторых переменных зафиксировать константами из Ек, то получим подфункцию функции /(х1,Х2,...,Хп), соответствующую данной фиксации.
Функция/(х1,Х2,...,х„) называется биективной по переменной х(, если все ее подфункции, соответствующие всевозможным фиксациям остальных переменных, реализуют подстановки множества Ек, ie{ 1,2,...,«}. Например, функция (x+y)mod£ биективна по обеим переменным, а функция (x-y)modfc не биективна ни по х, ни по у.
Многочленом по модулю к от переменных Х1,Х2,---Л, называется выражение вида
6(Х1,Х2,.. .,Х„) = (а0+ О1-Х1+...+ amXm)mod&,	(4.3)
где коэффициенты а,еЕк и выражение Xj, j = 1,2,называемое одночленом, есть произведение переменных из множества {xi,x2,...,x„}. Степенью одночлена Xj (обозначается degX,) называется сумма степеней всех переменных, перемножаемых в данном одночлене. Степенью многочлена Q (обозначается deg<2) называется максимальная из степеней его одночленов.
Многочлен Q называется линейным, если deg2<l.
Функцию /(xi,X2,...,x„) назовем линейной по переменной х„ ig{1,2...п], если справедливо
/(Х!,Х2,...,Х„) = а-х,+\|/(Х1,...,х,-.|,х(+1,...,х„),	(4.4)
93
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
где а Л), \|/ есть (и-1 )-местная функция из Рк, а сумма и произведение вычисляются по модулю к.
Рассмотрим примеры замкнутых классов в Рк.
1.Класс М-Рк.
2.	Пусть £lciEk. Классом функций из Рк, сохраняющих множество Q, назовем следующий класс:
= {/(Х1,х2,.-.Л1)еРл:/(сг1,а2,...,ст«)бО, если (o1,cr2,...,o„)eQ(")}.
Класс замкнут, так как всякая суперпозиция функций из также принадлежит классу 7q.
Понятие замкнутости класса может быть использовано для обоснования неполноты некоторых систем функций. Например, для обоснования неполноты системы Р = {~x,max(xi,x2)} рассмотрим Q = {0, к-А }. Так как обе функции системы Р принадлежат 7q, то [P]g:7q. Так как £1*Ек при £>2, то система Р не полна.
3.	Пусть 5*(х) - подстановка на множестве Ек, / *(х) - обратная к ней подстановка. Функция из Рк
= s'l(f^s(xi),s(x2),...,s(xn))')
называется двойственной к функции fixi,X2,...,xn) относительно 5(х). Если функция двойственна к себе относительно s(x), то она называется самодвойственной относительно х(х). Обозначим через Z£<J) множество функций из Рк, самодвойственных относительно s(x). Класс z*(x) является непустым (например, хе Z'I(X> при любой подстановке s(x)) и замкнутым, в чем можно убедиться, проверив, что всякая суперпозиция самодвойственных относительно s(x) функций также является самодвойственной относительно s(x).
4.	Пусть АсРк. Обозначим через множество тех функций из Рк, для которых в множестве А имеются двойственные относительно s(x) функции. Множество А1(х) называют двойственным к множеству А относительно s(x).
Теорема 4.1. При любой подстановке s(x) степени к класс А’(х) замкнут тогда и только тогда, когда замкнут класс А.
Доказательство. Пусть класс А замкнут и функции	с использованием которых построена суперпозиция <р =	при
94
Глава 4. ФУНКЦИИ к-ЗНАЧНОЙ ЛОГИКИ
надлежит классу А'<Л) при некоторой подстановке s(x) на множестве Ек- Покажем, что q>eA'(x).
По определению класса Ах(х) в множестве А для функций имеются двойственные относительно л(х) функции:/<х),//(х),...,/ш'(х) соответственно. В силу замкнутости класса А ему принадлежит и суперпозиция этих функций ф =	Полагая, что функции
зависят от переменных х\,хг,...,хп, из определения двойственной относительно .v(x) функции имеем:
\|/ = 5l(f(5-/1(/'i(^Ui)A(x2),...,5(x„))),...,5-51(/r(5(xi),5'(x2),...Xxn))))) =
= ^W1(^1)a(x2),...,5(x„)),.../t(5(Xi),5(x2),...,5(X„)))) = ф’(Х).
Следовательно, феА’<х). В силу двойственности доказано и обратное утверждение.	♦
5.	Пусть <Ек,<> - частично упорядоченное множество (ч.у.м.). Набор a = (ai, не превосходит набор b = (Ь1я.где a ,b еЕк"} (обозначается a <b), если я,<£,для всех i = 1,2,...,и. Таким образом, <Ек'1\<> - также ч.у.м.
ФункцияДх1,Х2,...,х„) из Рк называется монотонной относительно отношения <, если из a < b следует /(a )</( b). Класс функций из Рк, монотонных относительно <, обозначим через М(<). Замкнутость класса М(<) доказывается так же, как и для класса монотонных б.ф.
4.3.	Примеры полных систем в Рк
Рассмотрим примеры полных систем, используя принцип сведения задачи о полноте одних систем к задаче о полноте других систем (теорема 3.2 выполняется и для функций из Р к )
1.	Система Р = Рк-
2.	Система Россера-Туркетга: (0,...,Z.'-I,7(j(x),...>7m(x)>X|X2,X|VX2}. Ее полнота следует из формулы (4.1).
3.	Система Р = {О,...Л-1,уо(х), ...,jti(x)x+y(rnod k),x-y(mod к)}. Ее полнота следует из формулы (4.2).
4.	Система Поста: Р = {х, xivx2}.
Теорема 4.2. Система Р полна в Рк-
95
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Доказательство. Рассмотрим несколько этапов.
1)	Построение констант. Из функции х = (х+1 )modfc последовательно получаем:
x+i = (х+(М))+1, i = 1,2,...,к-1;
к-] = xv(x+l)v... v(x+ к-1).
Используя константу к-1 и функцию х, получаем остальные константы.
2)	Построение функций одной переменной. Сначала получим функции Ji(x), i = Q,k-l:
Ji(x)= 1+ щах {x+a}.
Действительно, если x = i, то левая часть равна к-1, а правая часть । равна
1+ max {i+a} = 1+ max {i+a} = 1+(£_2) = к-1. a*k-l-i	t+a*k-l
Если x*i, то левая часть равна 0, а правая часть равна
1+ max {x+a} = 1+(х+(£-1-х)) = к = 0.
Далее строим функции, s = 0,1,...£-1:
Л,;(х) = 5+l+max{J,(x), к-1-s}.
Подстановка различных значений х в это равенство показывает, 4To/Vr,(x) = s, если х = i, и/.,(х) = 0, если x*i.
Для любой функции ф(х) из Р*(1) выполнено равенство
<р(х) = тах{4(0)0(х),Д(1)1(х),...,Д(,_1)Л_1(х)}.
В частности,
~х = тах{ Л_1,0(х),Л_2Л(х),...,/0Л_1(х)}.
3)	Построение функции %гх2. Легко видеть, что ~min(xi,X2) = = тах(~Х1,~хг). Отсюда
min(xi,X2) = ~max(~xi, -хг).
96
Глава 4. ФУНКЦИИ к-ЗНАЧНОЙ ЛОГИКИ
Таким образом, при помощи формул над системой функций Р можно выразить любую из функций полной системы, рассмотренной в примере 2. Следовательно, полна и система Р.	♦
5. Система Р = {v*(xI,x2)}-
Доказательство полноты проводится путем выражения через функцию Вебба каждой функции системы, рассмотренной в примере 4.
4.4. Распознавание полноты и критерии полноты в Рк
Задача распознавания полноты системы функций в Рк формулируется следующим образом.
Пусть задана конечная система Р = {f i,f2,	функций, каждая из
которых зависит от переменных х\,х2, ...,хп. Существует ли алгоритм, распознающий полноту системы Р (ведь множество формул над Р бесконечно)?
Далее для любого натурального р обозначим:
fi(xi,...рср)= xh i =\,2,...,р.
Для произвольного класса функций Мс.Рк через М обозначим 1" р
множество всех функций из М, зависящих otxi,...,xp.
Теорема 4.3. Алгоритм распознавания полноты произвольной конечной системы функций из Рк существует.
Доказательство. Построим по индуктивному правилу последовательность No,Ni,N2,...,Nr>... множеств функций от переменных xi их2.
Положим No = 0. Пусть уже построены множества No,N,...,Nr. Определим множество Nr+i. Для этого выпишем функции, составляющие множество Nr, г>0:
NT= {h\(x\,x2),...,hs {xvxz)},
где so = 0. Для каждого i = 1,2,...,s рассмотрим всевозможные формулы вида
/(Я1(х1л2),...Л«(х1,х2)),
97
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
где Н|(Х|Д2) есть либо функция из множества Nr, либо функция g2((^i,X2), /е{1,2}; 1 = 1,и. Следовательно, просматривая 5(5г+2)" формул, мы можем получить функции, не вошедшие в множество NT. Обозначим их через hx.+I(XpX2hx (ХрхД Положим
Nr+}=Ntu{h^,...,hSr+i}.
Очевидно, что	и если Nr+\ = Nr, то для t>\ спра-
ведливо Nr+I = Nr, то есть цепочка множеств стабилизируется. Если г* - минимальный номер множества, с которого наступает стабилизация, то справедливо
No с: N, (z...dNr,.
Так как все функции из множества Nr. зависят от xi и х2> то I Ni 1< кк всех натуральных i, поэтому г* < кк . Следовательно, стабилизация множеств наступает через конечное число шагов. При этом возможны два случая.
1. Множество Nr* содержит все функции от переменных хьхг, в том числе и функцию vk(xi,X2). Тогда исходная система полна.
2. Множество Nr* не содержит всех функций от переменных xi,x2. Так как [/^ Л ] = Nrt, то имеем, что [Р] не содержит всех функций от переменных xj,x2 и, следовательно, система Р не полна.
Таким образом, распознавание полноты системы Р осуществляется за конечное число шагов следующим образом: строятся классы N0,Ni,...,Nr* до момента стабилизации и по Nr* определяется, есть полнота или ее нет.	♦
Требование конечности системы Р при распознавании ее полноты не является «очень сильным».
Теорема 4.4. Из всякой полной в Рк системы Р можно выделить конечную подсистему, также полную.
Доказательство. Пусть Р =	В силу полноты систе-
мы Р функция v*(xi,x2) выражается формулой над Р:
v*(xi,x2) =
98
Глава 4. ФУНКЦИИ к-ЗНАЧНОЙ ЛОГИКИ
Очевидно, система	} является искомой.	♦
В fc-значной логике нет универсального и простого в применении критерия полноты системы функций, как в случае б.ф. Вместе с тем для некоторых классов систем функций из получены критерии полноты, использование которых достаточно удобно. Приведем ряд теорем, посвященных проблеме полноты системы функций в Р*.
Теорема 4.5 (А. В. Кузнецов, 1956). В Рк можно построить такую систему замкнутых попарно невложимых друг в друга классов функций	что некоторая система Р функций из Рк полна тогда и
только тогда, когда она не содержится ни в одном из классов Мь i= 1, s.
Эта теорема показывает принципиальную возможность сформулировать критерий полноты системы функций из Рк в терминах принадлежности системы специальным замкнутым классам, причем конечному числу таких классов. Однако построение таких классов трудоемко уже при небольших к. Более эффективные критерии полноты имеются для систем функций из Рк, удовлетворяющих различным ограничениям. Приведем некоторые из таких критериев полноты в Рк.
Функция из Рк называется существенной, если она зависит существенно от двух или более переменных и принимает все значения из Ек. Функция из Рк называется шефферовой, если она образует полную систему.
Теорема 4.6 (Слупецкий, 1939). Пусть система Р функций из Рк, к>2, содержит все функции одной переменной, принимающие не более к-\ значений. Тогда для полноты системы Р необходимо и достаточно, чтобы Р содержала существенную функцию.
Непосредственное использование данной теоремы не всегда удобно, так как необходимо установить наличие в системе Р всех функций одной переменной, принимающих не более к-\ значений. Число таких функций равно kk-kl, что подразумевает значительные вычислительные трудности уже при небольших к. Поэтому представляют интерес примеры компактных систем функций, с помощью которых можно породить все функции одной переменной.
Теорема 4.7 (С. Пикар, 1935). Все функции одной переменной из Рд можно породить системой трех функций:
{(х+1 )rnodк, x+j0(x), t0, । (х)}.
99
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Теорема 4,8. Все функции одной переменной из А можно породить системой из к функций:
{х+/0(х), Го, A), i - 1,2,... Л-1}.
Теорема 4.9. Функция/(xi,...,xn) из Р^ к>3, является шефферовой тогда и только тогда, когда Дхь...,хп) порождает все функции одной переменной, отличные от подстановок.
Доказательство. Необходимость очевидна.
Достаточность. Так как Дхь...,хл) порождает все функции одной переменной, отличные от подстановок, то она порождает все функции-константы и, следовательно, принимает все к значений. Если при этом функция Дхь...,хм) несущественная, то она есть подстановка. Но тогда из нее можно получать только подстановки, что противоречит исходному предположению.
Следовательно, f является существенной функцией и по теореме Слупецкого система {f} полна в Рк>	♦
Теорема 4.10 (Саломаа, 1962). Пусть система Р функций из Р& к>4-, содержит множество Sk. Тогда для полноты системы Р необходимо и достаточно, чтобы Р содержала существенную функцию.
4.5. Особенности fc-значных логик
Имеется целый ряд свойств, подчеркивающих сходство двузначной и fc-значной логик. Вместе с тем немало получено результатов, выявивших существенные различия классов функций Рг и Р^ к>3. Обратимся к некоторым из них.
Теорема 4.11 (Янов, 1959). Для любого к>3 в Рк существует замкнутый класс, не имеющий конечного базиса.
Доказательство. Рассмотрим множество функций:
1,	прих. = ... = х, =2,
/о = О,	< = 1,2,...; -
0, в остальных случаях.
Обозначим через Мк множество всех функций, получающихся из функций системы Р ~ {/о/ьА — } путем переименования (без отождествления) переменных. Из определения следует, что Мк - замкнутый
100
Глава 4. ФУНКЦИИ к-ЗНАЧНОЙ ЛОГИКИ
класс и каждая базисная функция этого класса получена из некоторой функции fi путем переименования переменных.
Пусть Мк имеет конечный базис, тогда можно выбрать минимальный индекс ц среди индексов функций /, соответствующих базисным функциям.
Если базис содержит еще одну функцию, то ей соответствует функция fi, где ;>ц. Так как функцию можно получить из / путем переименования (если j = ц) или отождествления (если у>ц) переменных, то/м выражается через fj, что противоречит определению базиса. Следовательно, если базис конечен, то состоит из единственной функции. Но и это невозможно, так как никакую функцию^, где j>p, нельзя получить из /ц, ведь /(..., fi, ...) = 0. Следовательно, Мк не имеет конечного базиса.	♦
Теорема 4.12 (Мучник, 1959). Для любого к>3 в Рк существует замкнутый класс со счетным базисом.
Теорема 4.13. Для всякого к>3 класс Рк содержит континуум замкнутых классов.
Теорема 4.14 (Яблонский). Любая функция f(xi,X2,...,x„)GPk представима многочленом по модулю к тогда и только тогда, когда к простое число.
Доказательство. Из формулы (4.2) следует, что представимость полиномами функций из Рк сводится к представимости полиномами функций jo(x),...,jk.i(x). В силу того, что jCT(x) = jo(x-a) при любом достаточно построить полином функции jo(x).
Пусть к = р простое число. Тогда из малой теоремы Ферма следует, что система полиномов полна в Рк, так как
jo(x) = (l-x^modp.
Пусть кйр. Тогда к = к^кг, где к\,кг>\. Допустим, что
j0(x) = (bo+bi-x+ .. .+bs-f‘)modk.
Тогда при х = 0 получаем bo = 1, при х = к\ получаем
О = (]+bi-ki+ ...+hr(fci)'v)rnodA:.
Отсюда следует, что
к-] = (brk\+ ...+bx-(kif)modk.
101
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Из последнего равенства имеем, что к-\ делится на к\. Следовательно, на к\ делится и к и к-\, то есть к\ = 1, что противоречит сделанному предположению. Таким образом, функция j0(x) не представима полиномом по modC	♦
Доказанная теорема обобщается на случай, когда множество Ек -поле характеристики р, где к = рт.
Теорема 4.15. Всякая функция в Рк представима полиномом над полем Галуа характеристики р тогда и только тогда, когда к = рт, р -простое число.
4.6.	Задачи и упражнения
4.1.	Докажите следующие равенства:
а) х±у = тах(х,у)-у; б) xl.y = x-min(x,y);
в) min(x,y) = хгоу+х; г) х = max((x+2)±l,/t.2(x));
д) тах(х,у) = тах(х,у)+/0(у1х)+Д.1(х)-у.
4.2.	Представьте в 1 -й и 2-й формах следующие функции при заданных к:
a)f=jk-i(x), к = 3\
б)/ = min(x,y), к = 3;
в)/= х21у, к = 4.
4.3.	Постройте полином по mod к, задающий функцию/из Рг. а)/= min(x,y), к = 3; б)/= доу, к = 5; в)/= xlx2, к = 5.
4.4.	Докажите, что при составном числе к функции тах(х,у), х±у, min(x,y), xz>y непредставимы многочленами по модулю к.
4.5.	Представима ли многочленом по mod к функция из Рк'.
а)/= 3-у0(х), к = 6; б)/= (х±у)1у, к = 4?
4.6.	Докажите, что если Дх1,х2,...)х„) из Рк принимает I различных значений, \<1<к, и имеет т фиктивных переменных, 0<т<п, то и двойственная к ней функция /(хХх1,Х2,...,х„) имеет те же характеристики при любой подстановке s(x) на множестве Д.
102
................................Глава 4. ФУНКЦИИ к-ЗНАЧНОЙ ЛОГИКИ
4.7.	Задайте различными способами отношение частичного порядка < на множестве Ек и определите, какие из элементарных функций fc-значной логики являются монотонными относительно <.
4.8.	Каково множество значений функции f = a-x+b из Рк?
4.9.	При каких значениях к и параметра а из Ек функция/(х,у) является самодвойственной относительно подстановки s(x) = х:
а)/(х,у) = х2+у2+2а-х-у+у; б)/(х,у) = x+j0(x+a-y)l
4.10.	Докажите, что образует группу класс подстановок степени к, относительно которыхfixt,X2,...,xn) из Рк самодвойственна.
4.11.	Докажите, что замкнутыми классами функций являются:
а)	класс всех одноместных небиективных функций;
б)	класс z’tM ПРИ любой подстановкеs(x);
в)	класс функций М(<).
4.12.	Какие из элементарных функций Л-значной логики:
а)	биективны по всем своим переменным;
б)	линейны по всем своим переменным;
в)	являются подстановками (и инволюциями) на множестве Ек-
4.13.	Докажите, что функция/(xi,X2,...,x„) из Рк является сбалансированной, если она биективна по некоторой переменной.
4.14.	Докажите для Дх1,...,х„) из Рк, линейной по х„ /е{ 1,2,...,«}, что:
а) переменнаях(-является существенной дляДх1,...,х„);
6)У(х1,Х2,...,х„) биективна по переменной х/ тогда и только тогда, когда (а,к) = 1, где а - коэффициент при х,-.
4.15.	Сколько различных функций п переменных из Рк биективны по переменной xi?
4.16.	Докажите, что для б.ф. ДхьХ2,...,х„) биективность по некоторой переменной равносильна линейности по той же переменной.
4.17.	Докажите, что при простом к линейный полином из Рк биективен по каждой существенной переменной.
4.18.	Докажите, что система функций Р не полна:
а) Р = {~х,тах(х,у)}; б) Р = {min(x,y),x±y};
в) Р = {min(x,y), (х- y)mod/:}.
103
В. М.Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ_______________
4.19.	При каких значениях к квадрат всякой существенной функции из является существенной функцией?
4.20.	Используя понятие двойственного множества функций, докажите, что система {x-l,min(x,y)} полна в Рк.
4.21.	Используя критерий Слупецкого, докажите полноту в Рк следующих систем:
а) {ЫД х+у2, х-у+1}; б) {/с-1, 2х-у, х21у}, нечетное число.
4.22.	Исследуйте на полноту в Рк следующие системы:
a) {£-2,x+y,min(x,y)}; б) {0,1 ,х±(~у)}; в) {21х,тах(х,у),х-у).
4.23.	При каких к и относительно каких операций множество Рк(п) является векторным пространством? Какова размерность этого пространства?
104
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ
Отображение <р:Х—где X,Y - конечные множества, называется сбалансированным, если число прообразов элемента ye Y относительно ф одинаково для всех у. Для сбалансированности отображения ф необходимо, чтобы |У] делил |Х|. Если |Х| = |У|, то сбалансированность отображения ф равносильна биективности.
Сбалансированность шифрующих отображений определяет статистические свойства выходных последовательностей криптографических схем. Биективность отображения, используемого для шифрования сообщения, необходима для однозначного восстановления исходного сообщения из шифрованного сообщения.
Всякий текст (дискретное сообщение) представляет собой последовательность «букв» - элементов конечного множества X, называемого алфавитом, где |Х|>1. Рассмотрим отображения конечных наборов символов из алфавита X порядка к.
5.1.	О связи отображений с системами функций
Теорема 5.1. Множество всех отображений {ф:^'0—>Х<т)} биек-тивно соответствует множеству всех систем функций где/(хь...,х„):Х(")^Х, i = 1,...,т.
Доказательство. Составим таблицу отображения ф: X^-tX^, в левой части запишем в лексикографическом порядке элементы множества Х(п), а в правой части - их образы относительно отображения ф.
(0,...,0)	ф(О,...,О) = (у,(О,...,О),...,уи(О,...,О))
(0,...,1)	ф(О,...,1) = (у1(О,...,1),...,уВ1(О,...,1))
(к-1,...,к-1) ф(Л-1,...Л-1) = (у1(^-1,...Л-1),...,уи(^-1,...Л-1))
Правую часть таблицы можно рассматривать как т столбцов, где i-й столбец соответствует значениям i-x координат всех образов. Следовательно, i-й столбец есть табличное задание функции
ШОМ1И0И
105
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
называемой г-й координатной функцией отображения ф, i =	Значит, всякому отображению qrX00—однозначно
соответствует система из т его координатных функций:
ф = Л(а1>х2>->х„)’	(5.1)
fm(xvx2,...,xnY
Очевидно, различным отображениям А4"’—>У 'п) соответствуют различные системы координатных функций. С другой стороны, всякая система т функций, отображающих Х^-^Х, задает некоторое отображение А*'0-^"0. Следовательно, отображение множества рассматриваемых отображений в множество систем координатных функций инъективно и сюръективно, а следовательно, и биективно. ♦
Следствие. Множество всех отображений V,—>Vm биективно соответствует множеству всех систем т б.ф. от и переменных. ♦
Установленное соответствие позволяет формулировать утверждения для отображений А*"'—>АХт) через характеристики систем координатных функций.
Отображение ф будем отождествлять с системой Fm„ его координатных функций, ф = где
F,„,n =
5.2.	Критерии сбалансированности отображений
Исследуем сбалансированность отображения Fmn, где т<п. Назовем весовыми характеристиками системы функций множество чисел .....* 
N'r’^s = |{(*|>•••>*,.)е х<п); Д (x,,x2,...,x„) = г,,..., Д (х,,...,хя) = г)|,
где {zi,Z2,...,f.,}c{ 1,2,...,/и}, 5>0, и (ri,...,rv)eAXs).
Говорят, что система Г,„„ имеет нормальное весовое строение (н.в.с.), если для любого непустого подмножества	множе-
ства {1,2,...,т} и любого набора (ri,...,rA)eY')
106
Глава 5, СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ
Теорема 5.2. Отображение Fm„ сбалансировано тогда и только тогда, когда имеет н.в.с.
Доказательство. Из определения весовых характеристик системы функций Fm>n следует, что
о е . xttr <5'2>
где {ji,...,jm-s} = {1,2,...,те}\{/1,«2,••>(?}• Каждое слагаемое правой части равенства (5.2) можно представить в виде с помощью оди-наковых перестановок верхнего и нижнего наборов индексов, (Ьь.-М^.
Если отображение F,„„ сбалансировано, то каждый элемент множества А<'") имеет относительно него ровно F m прообразов, то есть М1’"'т. = кп'т для любого набора	Отсюда получаем,
что для сбалансированного отображения Fmn правая часть равенства (5.2) есть сумма km's чисел, равных кп'т, то есть равна kn's. Следовательно, отображение Fm n имеет н.в.с.
Если отображение F,„ „ имеет н.в.с., то из определения весовых характеристик при s = т имеем, что ту1'"' - для любого набора (г!,...,гт)еА('"), то есть каждый элемент множества имеет ровно кп'т прообразов.	♦
Следствие 1. Отображение, заданное системой б.ф. сбалансировано тогда и только тогда, когда для любого непустого подмножества {(’1,«2,множества {1,2,...,т}
|/1(х1,х2,...,х„)-...-Д(х,,...,х„)|| =2'м.	(5.3)
Доказательство. Сбалансированная система б.ф. Fmn имеет н.в.с., в частности 7V,'1’/' = 2'' Л для любого непустого подмножества
107
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
множества {1,2,Так как для системы б.ф. Fm>„
есть
с'.(х1,х2,...,хя)-
fi (хр...хл) , то равенства (5.3) верны.
Пусть равенства (5.3) верны. Докажем, что для непустого подмножества {(i,(2,--->i.5}c{ 1,2,...,т} и любого (гь...,г,)еV,
|/|r>(x1,x2,...,x„)-...-^(x1,...x„)|| = 2"''.	(5.4)
Если (Г1,...,т5) = (1,1,..., 1), то равенство (5.4) верно, так как оно совпадает с одним из равенств (5.3).
Пусть равенство (5.4) верно для любого подмножества {11,12, множества {1,2,и любого набора (г],...,гт)е имеющего менее d нулевых координат, d<s, 5>1.
Пусть теперь набор (и,...,г,) из V, имеет ровно d нулевых координат (без ущерба для общности рассуждений можно считать, что нулевыми являются первые d координат и что {ii,i2,---,is} = {1,2,...,5}). Для любых б.ф./и g выполнено
||7-^| = 1И1-11-М-
В частности, для/ = /1 и g = /2 •...• fd • fd+r...-fs имеем:
Н/1 'fl  fd'fd+r--.-fs\\ =
= НЛ---Л-Л+г--Л-|/1-Л---Л
Отсюда, используя предположение индукции, имеем:
II/ • Л ••••• Л Л+Г-ЛН = 2,м+1“2'м = 2"Л
То есть равенство (5.4) верно для любого набора (ri,...,r,)eV„ имеющего d нулевых координат и система F,„,n имеет н.в.с.	♦
Распознавание сбалансированности отображений в общем случае весьма трудоемко уже при небольших п, что следует из доказанных критериев. Вместе с тем некоторые достаточные условия несбалансированности отображений могут быть весьма удобны в применении.
Следствие 2. Если отображение F,„,„ сбалансировано, то все его координатные функции также сбалансированы.
108
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ
Доказательство. Сбалансированное отображение имеет н.в.с., поэтому Nal = k,hi для любого аеХ и любого ie{ 1,2, То есть все координатные функции сбалансированы.	♦
При шифровании с элементами текста часто выполняются определенные вычислительные операции. Поэтому алфавит текста обычно представляет собой некую алгебраическую структуру. Для отображений	где Р - поле, справедлив следующий крите-
рий сбалансированности [69, следствие 7.39].
Теорема 5.3. Отображение Fm,n сбалансировано тогда и только тогда, когда сбалансирована любая нетривиальная линейная комбинация его координатных функций.
5.3.	Критерии биективности преобразований
Система функций Fm>n называется алгебраически зависимой, если найдется константа ЬеХ и не равная константе функция g(y ьУЪ •.	для которых
Х„),/2(Х1Л,-., О, ... ,/ffl(xlrX2,..., х,,)) = Ь.
В противном случае система функций Fm,„ называется алгебраически независимой. Когда X = Р - поле, понятие алгебраической зависимости обобщает понятие линейной зависимости функций (как элементов векторного пространства).
Теорема 5.4. Преобразование <р множества х!м биективно тогда и только тогда, когда система его координатных функций алгебраически независима.
Доказательство. Пусть <р = F„„. Если система F„,„ алгебраически зависима, то существует отличная от константы функция §(У\,У2,---,Уп)-Х{п)—>Хтакая, что для некоторого ЬеХ
g(fl(xl^2,-,x„),f2(xi^2,-Xny ...,f,,(xirx2,-^n)) = b. (5.5)
Так как g(yi,y2,---,yn) отлична от константы, то найдется набор (ai,a2,...,a„)eA<''>, для которого g(a[,a2,...,an)^b. Если преобразование ф биективно, то в У"’для набора (ai,a2,...,a„) имеется прообраз - набор (Pi,P2,- .,Pn), для которого выполнено
g(/’i(Pi,P2,---,P„)/2(PbP2,..-,PJ,.-^,(PbP2.-,P/l)) = g(ai,a2,. ..,an)^b.
109
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Имеем противоречие с равенством (5.5), то есть преобразование ф небиективно.
Пусть преобразование ф небиективно. Тогда некоторый набор (а],а2,...,ал)€Л(") не имеет прообразов относительно ф.
Используя элементы а, b еХ, где а*Ь, построим функцию #(уьУ2,...,ун), равную а на наборе (ai,a2,...,a«) и равную h на остальных наборах из Х^1\ Функция ^(уьу^- мУ») отлична от константы, и для любого набора
^(РьР^^РДЛСРьРа^.Рл), ...,Л(РьР2_О = Ь.
Следовательно, система Fn n алгебраически зависима.	♦
Теоремы 5.2-5.4 показывают, что распознавание биективное™ преобразования в общем случае требует значительных вычислений. Однако для некоторых классов преобразований имеются удобные критерии биектавности. Поэтому если доказано, что класс М состоит из обратимых преобразований, то обратимость преобразования ф можно установить, если показать, что фбМ.
5.4.	Некоторые классы отображений
Рассмотрим важные для криптографических приложений классы отображений.
5.4.1.	Аффинные отображения
Рассмотрим отображения Р00—где р - поле. Отображение (р называется линейным, если для любых х.уеР*'0 и любых а,ЬеР
<p(a-x+b-Y) = а-ф(х)+&-ф(У)-
При х = у, а = -Ь отсюда следует, что <р(0) = О’, где ОеР*"’, 0’ еР(ш), то есть ф отображает нулевой вектор пространства Рм в нулевой вектор пространства Р^"'\ Координатные функции отображения ф есть линейные (с нулевым свободным членом) многочлены от х^Х2,...,хп, гдех = (xi,x2,...,x„).
Между всеми линейными отображениями р*"’—>р('") и всеми матрицами размера тхп над полем Р имеется биекция: набор коэффици
110
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ
ентов линейного многочлена i-й координатной функции есть i-я строка матрицы, i = 1,2,
Сбалансированность линейного отображения ср равносильна тому, что ранг соответствующей матрицы Л/ф равен т.
Линейное преобразование ср пространства Р(,1) обратимо тогда и только тогда, когда определитель матрицы А/ф размера пхп отличен от 0. Множество всех обратимых линейных преобразований пространства Р('') образует группу.
Построение матрицы Mv'1, обратной к матрице Мф преобразования ср, требует не более d-n5 операций типа сложения и умножения в поле Р, где d - константа.
Отображение ср* называется аффинным, если ср*(х) = ср(х)+о для любого хеР(п), где ср - линейное отображение и аеР('”). При a = О’ аффинное отображение является линейным.
Сбалансированность (биективность) аффинного отображения ср* равносильна сбалансированности (биективности) линейного отображения ср.
Множество всех обратимых аффинных преобразований пространства образует группу.
Преобразование, отличное от аффинного, называется нелинейным. Если нелинейное преобразование обратимо, то обратное к нему преобразование также является нелинейным. Распознавание биективности (сбалансированности) нелинейного преобразования и построение обратного к нему преобразования - в общем случае трудоемкие задачи.
5.4.2.	Отображения регистров сдвига
Пусть т(уьу2) - внутренняя бинарная операция, заданная на множестве X. Отображение уу:У"+‘W'0 (\yz:A4',+1>—>А<")) называется отображением неавтономного регистра левого (правого) сдвига над Xс обратной связью/(х1,Х2,...,х„), гдеДх1,Х2,...,хп):Л(")->Х, если
ус|/(Х1Д2,...Л+1) = (х2,	т(Ях1,Х2,...,хн)л1+|));	(5.6а)
У/(*1Л.--.Лн1) = (т(/(Х1,Х2,...Л|)Л|+1), Х1.ХН-1).	(5.66)
111
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Число п называют длиной регистра сдвига, функцию fixi,X2,...,xn) - функцией обратной связи. Переменные х\,...,хп называют внутренними, переменную х„+1 - входной переменной. Обычно операция т(уь.У2) биективна по обеим своим переменным и представляет собой сложение.
На схемах регистр сдвига изображается в виде ряда из п ячеек памяти, в каждой из которых может быть записан любой элемент множества X, и функциональной схемы, реализующей функцию fix\,X2,..., х„) (на рис. 5.1 стрелки указывают, что изображен регистр правого сдвига).
Рис. 5.1. Неавтономный регистр правого сдвига длины п
Между множествами регистров левого и правого сдвига имеется очевидная биекция. Далее рассматриваются, если не оговорено противное, регистры левого сдвига с операцией, реализующей сложение: Т(У1,У2) = У1+У2-
Преобразование /р (qy) множества Уп) называется преобразованием автономного регистра левого (правого) сдвига над X с обратной связьюДх1,х2,...,х„), если:
/р(Х1,Х2,...,х„) = (Х2,...,Х,!,/(Х1)Х2,...,Х„));	(5.7а)
((p/xi,x2,...,x,l) = (Axi,X2,...,x„), xi,...,x„.i)).	(5.76)
Отображение (преобразование) регистра сдвига над полем Р является линейным, если линейна функция обратной связи. Соответствующие регистры называются линейными регистрами сдвига (ЛРС) над полем Р.
Теорема 5.5. Преобразование <р регистра левого (правого) сдвига множества У'0 биективно тогда и только тогда, когда функция обратной связи/(xi,X2,...,x,i) биективна по переменной xj (по переменной х,,).
Доказательство. Пусть преобразование <р регистра левого сдвига небиективно. Тогда в множестве У"’ найдутся два набора:
112
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ
|Д = (Ц|,Ц2,и v = (vi,v2,..., v/(), P*v, такие, что <р(ц) = <p(v). Отсюда и из равенства (5.7а) имеем:
(Ц2,ЦЗ,-,ЦнДЦ1,Ц2,-,Р<.)) = (V2,V3,...,V„l/(V|,V2,...,V,l)).
Так как то отсюда имеем, что gi^Vi.H в то же время
Это означает, что подфункция/(х,Ц2,---,Цл) реализует небиективное преобразование множества X.
Докажем в обратную сторону. Если q> - биективное преобразование, то ф(ц)мр(у) при различных p/veA*'0, в частности при ц = (цьЦ2,...,рД v = (уьЦ2,-.Ц«), где pi*vb
Используя равенство (5.7а), перепишем неравенство образов в векторной форме:
(Ц2,ЦЗ,...,ИП/(Р1,Р2,-.,Р,>)) * (Ц2,РЗ,...,РлЛУ1,Ц2,...,И„)).
Очевидно, эти образы неравны только в том случае, если неравны их последние координаты, а именно
ЯР1,ц2,...,Цл) */(vi,p2,...,Mfl).
В силу произвольности выбора элементов Ц1,Ц2»—,РлЛ1 (лишь бы Pi^vi) из последнего неравенства получаем, что для любых Ць—,риеЛ' подфункция Дх,Ц2,•••,Цл) реализует инъективное и, следовательно, биективное преобразование множества X.	♦
Следствие. Преобразование ф регистра левого (правого) сдвига длины п над GF(2) с обратной связью fixi,X2,...,xn) биективно тогда и только тогда, когда f(xi,X2,...,xn) линейна по переменной xi (по переменной хп), то есть
/(Х1,Х2,...Д„) = Х]®^(х2,...л») (/(Х1Л2,-,Х„) = Х,(Ф^(Х1,...Л>-1)),	(5.8)
где g - произвольная б.ф. от п-1 переменного.
Доказательство. Б.ф. одной переменной реализует биективное преобразование множества {0,1} тогда и только тогда, когда она равна либо х, либо хФ1.
Если б.ф. /(х|,Х2,...,х„) имеет вид (5.8), то при любой фиксации переменных Х2,...,Хц она равна либо xi, либо Х|Ф1, то есть реализует биективное преобразование множества {0,1}. По теореме 5.5 регистр
113
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
сдвига с такой функцией обратной связи реализует биективное преобразование множества V,,.
Докажем в обратную сторону. Пусть функция f(Xi,X2,...,xn) имеет вид, отличный от (5.8), тогда ее разложение по первой переменной выглядит так:
Дх^г.-Лл) = Xl-gl(X2,...^n)®go(-«2,-rVn),
где gi(x2,...,x„) отлична от константы 1. Взяв набор (о.2,...,а„)б V„.i такой, что gi(a2,...,a„) = 0, получаем, что/(х,а2,...,а„) реализует небиективное преобразование множества {0,1}, так как /(х,а2,...,а„) = = go(a.2,...,an) = const. По теореме 5.5, регистр сдвига с такой функцией обратной связи реализует небиективное преобразование множества V,,.	♦
5.4.3.	«Треугольные» преобразования
Пусть 5(/) есть множество номеров существенных переменных функции ДхьХ2,...,х„), отображающей Xм—>Х.
Преобразование <р„ множества а5и) называется треугольным, если <pn = Fb„= {fi(xi),f2(xl,x2),...fn(xi,X2,...,xn)}, иначе говоря, если 5(/})с:{ 1,2,...,/} для / = 1,2,...,и.
Теорема 5.6. Треугольное преобразование <р„ множества Х^ биективно тогда и только тогда, когда/(xi,X2,...,x,) биективна по переменной х„ i = 1,2,...,и.
Доказательство (индукция по п). Для п = 1 утверждение теоремы очевидно, так как преобразование ср множества X задается единственной функцией f от одной переменной xj. В этом случае биектив-ность преобразования <р тождественна биективности единственной координатной функции.
Пусть теорема верна для м-1. Докажем ее для п.
Предположим, что преобразование (р„ множества У"’ небиективно.
Тогда в А*'0 найдутся два различных набора: ц = (ЦьЦь—и v = = (vi,V2,...,v„) - такие, что ф(ц) = <p(v). Перепишем это равенство покоординатно:
/1(Щ ) =/i(vi);	(5.9)
114
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ
Неравенство означает, что верно одно из двух условий:
a)	(pi,...,p„.i) *
б)	(Ц1,...,р„.1) = (vb...,v„.i), p„*v„.
В случае «а» рассмотрим треугольное преобразование <p„.i множества А4"'0, где ф„.1 = Гд,„.]. Из первых п-1 уравнений системы (5.9) имеем, что преобразование (р„.[ не является биективным. Поэтому, по предположению индукции, некоторые из функций /i(xi), /гСхьХг),..., /|1(хЬ ">хл-1) не биективны по переменной с наибольшим номером.
В случае «б» получаем, что функция/;(xi,...,x„.i,x„) небиективна по переменной х„, так как из последнего равенства системы (5.9) следует, что при p„^v„ справедливо равенство
/,(ц1,...,ц„.1,ц„) =/,(Ць-,Цл-ьУ„).
Следовательно, в обоих случаях некоторые из координатных функций преобразования ср небиективны по переменной с наибольшим номером.
Докажем в обратную сторону. Предположим, что преобразование ф множества А4'0 биективно, ф„ = Гд>„. Тогда при любых двух различных наборах ц и v из А^ выполняется неравенство ф(ц) #ф(у), в частности это неравенство выполняется при ц = (pi,...,p„.i,p,(), v = (p1,...,p„_1,v„), где	Запишем покоординатно неравенство
образов, учитывая совпадение первых п-1 координат прообразов:
/i(m) =/i(m);
/,.1(Ц1,...,ц„.1)=/„.1(Ц1,...,р„.1);
/,(ць...,ц„.1,ц„) * /,(Hi»-..,Hn-i,v„).
Последнее неравенство в силу произвольности выбора элементов Ц|,...,Ц„.|,|Л„,У„ (лишь бы Цл^у,,) означает биективность функции Л(х1,...,х„.1,хл) по переменной х„.
115
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Осталось показать биективность треугольного преобразования <p„.i множества У'1"1’, где (p„-i = F\n-i, так как по предположению индукции отсюда следовало бы, что каждая из функций системы F^n-i биективна по переменной с наибольшим индексом.
Предположим, что преобразование (p„.i небиективно, то есть в множестве Х^п'1) найдутся два различных набора (ць...,ця.1) и (vi,...,v„.i), такие, что выполняются первые п-1 равенств системы (5.9).
В силу биективности функции ,хп.\,хп) по переменной х„ подфункции/я(Ц1,.„,Цп.1,х) и fn(yi,—,vn-i,x) реализуют подстановки на множестве X, поэтому в X найдутся такие элементы а и Ь, что
/„(pj,...,p„.i,a)=/,(vi.v„.i,Z>).
Это равенство в совокупности с первыми п-1 равенствами системы (5.9) означает небиективность преобразования <р множества А*"), что противоречит исходному предположению.	♦
Следствие. Треугольное преобразование ср множества Vn биективно тогда и только тогда, когда все его координатные функции линейны по переменной с наибольшим номером.	♦
5.5.	Задачи и упражнения
5.1.	Приведите примеры функций из Рк, реализующих небиективное отображение; биективное отображение.
5.2.	Докажите, что система несбалансированна (алгебраически зависима) при /и>и; при т<п, если содержит функцию-константу.
5.3.	Докажите, что если система Fm,„ :
а)	сбалансирована (алгебраически независима), то сбалансирована (алгебраически независима) и любая ее подсистема;
б)	несбалансированна (алгебраически зависима), то несбалансированна (алгебраически зависима) и любая система, содержащая.Fmn-
* F,„ „ - система функций, отображающих Хп>—>Хт\ где X- конечное множест-во мощности не меньше 2,
116
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ
5.4.	Является ли система Fm,„’ алгебраически независимой, если она линейно зависима; линейно независима?
5.5.	Является ли система Fn,,* функций из Рк алгебраически независимой, если каждая функция системы зависит от переменной хп фиктивно?
5.6.	Является ли система F,„,n линейных б.ф. алгебраически независимой, если она линейно независима?
5.7.	Докажите, что если отображение Fm^'.P^-^F^ сбалансировано, где Р - поле, то сбалансирована любая нетривиальная линейная комбинация его координатных функций.
5.8.	Являются ли линейными преобразования ф,0 множества Уз, частично заданные таблицами
X] х2 х3	ф	0
ООО	* * *	***
0	0	1	111	* * *
0	10	10 0	110
011	110	***
1	0 0	0 0 1	0 1 1
10 1	10 1	* * *
110	*	*	*	111
111	*	*	*	* * *
Вычислите значение 0(0,0,0) для преобразования 0 при условии, что 0 - аффинное преобразование. Возможно ли доопределить преобразование ф так, чтобы оно стало аффинным?
5.9.	Докажите, что преобразование ф множества У„ линейно тогда и только тогда, когда линейна каждая из его координатных функций.
5.10.	Докажите, что отображение неавтономного регистра левого (правого) сдвига над X с любой обратной связью является сбалансированным, если операция т биективна по входной переменной.
5.11.	Докажите, что при любой б.ф. g(x2,...,x„) и любых двоичных константах а\,аг,...,ап б.ф. (g(x2,...,x„)®xi®ai)-(x2®a2)-...-(x„®an) имеет вес, равный 1.
5.12.	Сбалансировано ли отображение ф:
а)	ф = {хрХгФх.з, хг-хзФхь хгХзФхг);
б)	ф = {Х1®Х2, Х2®Хз,..., Х7®Х8, Xg®Xi}?
117
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
5.13.	Имеет ли нормальное весовое строение система из шести б.ф. {Х\, Х1®Х2, %2®*3, • • •, Х5®Хб} ?
5.14.	Имеет ли система {(x+y)mod£, (x-y)mod/:} функций из Рк нормальное весовое строение при к = 3; к = 4; при простом к', при четном к2
5.15.	Сбалансировано ли отображение ср:£/3,->£/2), где
ср = {max(x,y)-y, (x+jo(z))xnodk}?
5.16.	Биективно ли преобразование Fn,n множества У„, если для
всех г = 1,2,...,п верно, что fi(xi,X2,...,xlt)eTo(n)r>(P2(n)\Ti(n))?
5.17.	Биективно ли преобразование ср множества Уз, заданное сис-
темой координатных функций:
в)ср =
X] Фх2, р, -х2 Фх3, X] Фх2 -х3,
X] Ф х2, X, -х2 Фх3, X] ® х^ • х2 • х3 ?
5.18.	Докажите, что если ср - биективное преобразование регистра сдвига длины п над GF(2), то ср'1 - также преобразование двоичного регистра сдвига длины п. Образует ли группу совокупность всех преобразований регистра сдвига множества У„?
5.19.	Биективно ли преобразование F„,„ множества Vn, если:
a)	fi(xi,X2,...,xn') = х,-Х|+1, i = 1,2,...,п-1,
fn(xi,X2,...,xn) = Х„-Х1ФХ1Ф1;
б)	/+1(Х1,Х2,...,Х„) = Х1ФхгФ...ФХ( , i = 1,2,...,п-1, /1(Х1,Х2)...,Х„)Ф/2(Х1,Х2,...,Х„)Ф...Ф/1(ХЬХ2,...,Х„) = Х1Фх2Ф.. .Фх„?
5.20.	Является ли алгебраически зависимой система б.ф.:
а)	{хрХгФхз, (х2Фхз)-(Х1Фх4), хгХгФхрХзФх^ Х2ФХ4};
6)	{Х1 -ХуХуХ^Ху Х2ФХ3, X1'X2©X4®1, Х2-ХзФх4};
в)	{X|-X2'X4©X3, Х2ФХ3, ХГХ2ФХ4, Х1ФХ2ФХ3ФХ4}?
118
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ
5.21.	Имеются ли среди преобразований фь <р2> Фз множества V4
взаимно-обратные преобразования:
	X.,			X,,		X.	’.х,,	
Ф1 = <	х2 х3	®х3, Фх4,	ф2= <	X] ®х2, Xj © Х4 ,	Фз= <	Х2 х3	ФХ, Xj, ® Xj • х4,
	.Х1	®х2,		х2 Фх3 ® х2 -Х3,		1Х4	Ф X, • х2 ?
5.22.	Докажите, что совокупность всех обратимых треугольных преобразований множества А0'1 образует группу.
119
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
Многие криптографические системы используют для шифрования информации псевдослучайные последовательности, генерируемые программным способом. Качество шифрования определяется определенными свойствами псевдослучайных последовательностей, в частности их периодами. Так как порождение последовательностей большого периода основано на реализации многократных итераций преобразований, то для криптологии представляет интерес изучение структурных и периодических свойств преобразований конечных множеств.
6.1. Периоды последовательностей
Последовательность элементов множества X назовем последовательностью над X и обозначим Х~,.
Последовательность = {xi,X2,...,x;,...} над X называется периодической с предпериодом N и периодом Т, если ЛЧ-1 и Т - наименьшие из натуральных чисел, при которых х,- = х,+т для всех i>N. Заметим, что если для всех i>N в х, = х,+х, то Т/т.
Если N = 0, то последовательность Х_> называется чисто периодической с периодом Т.
Утверждение 6.1. Если последовательность У_> = {ср(х(-)} над Y получена с помощью отображения <р:Л—>У из периодической последовательности = {х,} над X с предпериодом N и периодом Т, то У_» - периодическая с предпериодом N’ и периодом F, где N’<N, Т делит Т.
Доказательство. Если х, = х,+г, то и <р(х,) = <р(х,+т), следовательно, N'<N и Г делит Т.	♦
Теорема 6.1. Для последовательностей Х_, = {х,} и У, = {у,} над конечной аддитивной группой X, где у, = xi+хг+...+х,, i = 1,2,..., верны утверждения:
смогли
120
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
(1) Если - периодическая с предпериодом N>0 и периодом Г, то У-> - периодическая с предпериодом ЛН и периодом Г, где Tld-T и d есть порядок элемента уы+тУы группы X,
(2) Если Х_> - чисто периодическая с периодом Т, то У_^ - чисто периодическая с периодом Т, где T/d T и d есть порядок элемента у? Группы X, при ЭТОМ у/ч/7 = 0 при г - 1,2,...
Доказательство. Из соотношения между членами последовательностей и У_> имеем:
У/+(/-Г= У/+Х/+1+Х/+2+.. ,+Xi+d T*
В условиях утверждения (1) в силу периодичности Х^ при всех i>N выполнено x/+i+x/+2+...+x/+r = )7/+т”Ум и как следствие
yi+dT = yi+d-(yN+r-yN) ~ У/-
Значит, N’<N и Tld T. Если №<ЛН, то у^л+<ьт = Улм и, следовательно, = хдм, что противоречит условию.
В условиях утверждения (2) порядок d элемента ут совпадает при всех i с порядками элементов x/+i+xi42+-*.+x,+r. Поэтому при всех i выполнено y/+jr = у/э значит, ТId Т. При натуральных г имеем:
Угч/т= r-d-(x\+xi+.. .+хт) = r-d-yr = 0.	♦
Рассмотрим последовательность над X - Xix...xXtt, в которой каждый член состоит из п компонент. Выделим в последовательность (над Xj) j-x компонент ее членов. Обозначим ее Х7_> и назовем j-й координатной последовательностью последовательности Х_>, j = 1,2,...,и.
С другой стороны, из последовательностей Xj~+ = {х,,} - над А), 7 =1,2,...,л, можно образовать последовательность = {х(} над Xix...xX„9 гдех, = (хл,...,х^), i = 1,2,... Последовательность Х^ назовем сопряжением последовательностей Х\,Х„_^ (обозначается
Очевидно, любая последовательность над X = Xix...xXn является сопряжением п координатных последовательностей. Из данных определений следует утверждение.
Утверждение 6.2. Последовательность Х^ над X = А'|Х,..хХ„ явля-ется периодической с предпериодом W и периодом Т тогда и только
121
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
тогда, когда XJ^ - периодическая последовательность с предпериодом NjU периодом 7}, где N = тах{М,...,ЛЦ, 7’= НОК(Т\,...,Т„).
Теорема 6.2. Если последовательность Y-* = {(p(x,-.i,...,x(,n)} периода Т получена с помощью отображения ф:Х1Х...хХ„—>У из периодических последовательностей Х7_, = {Ху) над Xj с периодами Tj,j = 1,...,п, то Тделит HOK(Ti,...,Tn). Если при этом отображение <р биективно по всем переменным, то
Т > Н0К(7\,... ,Тп)1НОД(Т\....Т„).
Доказательство. Делимость НОК(Т\,...,Тп) на Т следует из утверждений 6.1 и 6.2. Без ущерба для общности докажем нижнюю оценку для п = 2.
Пусть Т\ = t, Т2 = т, НОД(},т) = d. Тогда / = p-d, т = qd, HOK(t,T) = p-q-d, где (p,q) = 1.
Предположим, что <p(x,-. ьХ/.г) = ф(х;+г,ьх|+т,2) для всех i, где T<p-q. Так как T/p-q-d, то при сделанном предположении Т = л-^-5, где л/р, t/q, 5/d, причем равенства л = ри^ = ^не выполнены одновременно, иначе было бы T>p-q.
Пусть для определенности п<р. Тогда в последовательности имеют место повторы через каждые 0 членов, где 0 = n-q-d (так как 770). Следовательно, для всех натуральных i
ф(х(-,1Л-,2) = ф(Л|+е,1Л+0,2).
Так как т/0, то для всех i выполнено х(+е,2 = и последнее равенство принимает вид:
ф(х,_ 1,Х;,2) = ф(х(+е, 1>Х(,2).	(6.1)
По условию (p,q) = 1, значит, и (л,д) = 1. Поэтому t не делит 0, то есть Х(,1*х(+е,| для некоторых i. Последнее неравенство несовместимо с (6.1) при биективности отображения ф по первой переменной. Следовательно, T>pq.	♦
6.2.	Граф отображения
Пусть имеется отображение ф:Х-->У, где X и V - конечные множества мощности п и m соответственно, л,т>1. Отображению ф поста
122
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
вим в соответствие ориентированный двудольный граф <7(ф) = (X\jY,U), где Хи У - множество вершин, U - множество дуг и пара (x,y)eU <=> хеХ, у = ф(х)еУ. Граф G(<p) называют графом отображения (р.
Из однозначности отображения <р следует, то полустепень исхода любой вершины хеХ равна 1 и I = | Х| = п. Полустепень захода ру вершины у графа G(cp) равна числу прообразов элемента у относительно отображения ф, 0<ру<п. При этом ^ру = п.
уеГ
Если ср - преобразование «-множества X, то графом преобразования <р называют ориентированный граф С(ф) = (Х,(7) со множеством вершин X и множеством дуг U, где (х,у)е U о у = <р(х).
Полустепень захода рх равна 1 для всех хеХ тогда и только тогда, когда ф биективно.
Граф G(<p) преобразования ф состоит из г компонент связности, 1<г<«, каждая из которых представляет собой простой цикл, и в случае небиективного преобразования возможно несколько подходов к этому циклу.
Структурными характеристиками графа G(4p) являются число компонент связности, число циклических вершин, число циклов и число подходов к циклам заданной длины и др. Неподвижный элемент преобразования ф образует петлю в графе С(ф).
Граф О(ф) биективного преобразования ф (подстановки на множестве X) состоит из г независимых циклов, 1<г<«. Если к, - число циклов длины i в графе С(ф), z'e {1,2,...,«}, то
z=l
где 0<к,<п. Цикловая структура такого графа записывается в виде набора символов’,...,л1*"1), в котором опускаются все компоненты ilk'1, для которых kj = 0.
123
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Преобразования ф и ф множества X называются подобными, если найдется биективное преобразование 8 того же множества, при котором ср = 8'1-\р-5.
Отношение подобия на множестве преобразований есть отношение эквивалентности.
Теорема 6.3. Преобразования ср и ср множества X подобны тогда и только тогда, когда графы G(cp) и G(\p) изоморфны.
Доказательство. Если преобразования ср и ф множества X подобны, то у = ср(х) тогда и только тогда, когда 8(у) = ф(8(х)). Следовательно, графы G(cp) и 6(ф) изоморфны, так как отличаются лишь переобозначением вершин с помощью подстановки 8. Обратное утверждение доказывается рассуждениями в обратном порядке.	♦
6.3.	Характеристики периодичности преобразования
Преобразованию ср конечного множества X и элементу хеХ поставим в соответствие последовательность Ф = {ср1} i = 0,1,2,... над полугруппой всех преобразований множества X и последовательность ФхнадХ:
Фх={ср'(х)} i = 0,1,2,...
В силу конечности множества X обе последовательности содержат конечное число элементов, при этом если i-й и j-й члены любой из этих последовательностей совпадают, i<j, то совпадают их (г+г)-й и (/+г)-й члены, г = 1,2,... Следовательно, обе эти последовательности являются периодическими.
Периодом (предпериодом) элемента х относительно преобразования ф называется период (предпериод) последовательности Фх. Обозначим их гЛ,ф и иЛ,ф соответственно (или tx и пх, если преобразование ф фиксировано).
Утверждение 6.3:
1.	Если х - циклическая вершина графа С(ф), то пх = 0 и tx равен длине цикла, которому принадлежит вершина х.
124
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
2.	Если х - ациклическая вершина графа G(<p), то пх равен длине подхода к циклу в графе G(<p), начинающегося из вершины х, и tx равен длине цикла той компоненты связности, которой принадлежит вершина х.
Доказательство. Из определения предпериода пх следует, что повторы в последовательности Фх имеют место лишь для членов с порядковым номером пх+1 и больше. Следовательно, первые пх членов не могут быть циклическими вершинами графа G(tp).
Из определения периода tx следует, что периодический отрезок последовательности Фд. образует цикл графа G(<p).	♦
Периодом (предпериодом) преобразования ф называется период (предпериод) последовательности Ф, обозначим их и лф.
Утверждение 6.4. Пусть 1\Лъ --Лг - все различные длины циклов графа С(ф) преобразования ф. Тогда
tv = НОК(1[Л2,-- Лт)-
Если ф - обратимое преобразование, то = 0, в противном случае равен наибольшей из длин подходов к циклам графа С(ф).
Доказательство. Из определения периода преобразования и утверждения 6.3 следует, что
?ф = HOK(tx/хеХ) = НОК(Л\Лг, ••• ЛтУ,	- maxIn/xeX}. ♦
Если ф биективно, то первые членов последовательности Ф образуют циклическую группу <ф> порядка ?ф.
Для периода преобразования ф «-множества X и периода вектора хеХ относительно преобразования ф верны оценки:
1<6<л;	1</ф<л?!.
Обе нижние оценки достигаются для тождественного преобразования. Первая верхняя оценка достижима при любом множестве X, вторая достигаемся лишь при множествах X мощности не более 2.
Пример 6.1. Определим период и цикловую структуру преобразования ф множества V2 регистра правого сдвига с одной обратной связью /(Х1,Х2,-Хз) = Х1ФХ2ФХ3.
Из следствия теоремы 5.5 имеем, что ф - биективное преобразование. Построим независимые циклы графа С(ф). При построении
125
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
очередного цикла выбираем в качестве начальной вершины х ту, которая не фигурировала при предыдущих вычислениях, и вычисляем элементы последовательности Фх до тех пор, пока впервые не выполнится равенство <pz(x) = х, означающее, что элемент х принадлежит циклу длины I.
В нашем примере вычисления дают следующие результаты:
1)	ф(0,0,0) = (0,0,0), значит, /(о,о,о) = 1;
2)	<р(0,0,1) = (1,0,0), ф(1,0,0) = (1,1,0), ф(1,1,0) = (0,1,1), ф(0,1,1) = = (0,0,1), значит, /(о,о,1) = £(i,o,o) = ^i,i,o) = f(o,i,i) = 4;
3)	ф(0,1,0) = (1,0,1), ф(1,0,1) = (0,1,0), значит, /(o,i,o) = /(i,o,i) = 2;
4)	ф(1,1,1) = (1,1,1), значит, /(i,i,i) = 1.
Таким образом, цикловая структура преобразования ф имеет вид цИ 2[11,4111); период /ф преобразования ф равен НОК(\,2,4) = 4.
6.4.	Полноцикловые преобразования
Особый интерес для криптографических приложений представляют преобразования с экстремальными периодическими свойствами.
Преобразование ф «-множества называется полноцикловым (п.ц.), если граф С(ф) представляет собой цикл длины п. Всякое п.ц. преобразование ф биективно, и /х,ф = /ф = п для всех хеХ.
Теорема 6.4. Число различных п.ц. преобразований «-множества равно (п-1)!.
Доказательство. Построение полного цикла из элементов «-множества X можно рассматривать как размещение на « свободных позициях окружности всех « различных элементов множества X. Число различных таких размещений равно числу различных перестановок элементов «-множества, то есть равно «!.
В то же время перестановки элементов эквивалентны, если отличаются лишь параллельным сдвигом, так как представляют один и тот же цикл преобразования. Следовательно, множество всех построенных циклов разбивается на классы эквивалентных циклов, где в каждом классе содержится по « циклов. Таким образом, число п.ц.
126
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
преобразований «-множества равно числу неэквивалентных циклов, то есть (л-1)!.	♦
Пример 6.2. Линейный конгруэнтный генератор (ЛКГ).
Пусть Ек - кольцо вычетов по модулю к, ф - преобразование ЛКГ множества Ек, если для любого xeJEk'.
ф(х) = (a-x+b)modk, где a, b и к - константы из Ек, называемые множителем, сдвигом и модулем соответственно.
ЛКГ имеет период не более к. Для любых к и х имеются константы а и Ь, при которых = к. Такие генераторы называют ЛКГ полного (или максимального) периода. Приведем без доказательства следующую теорему [61].
Теорема 6.5. Преобразование ЛКГ имеет период к о:
1)(/>Л) = 1;
2)	а-1 кратно любому простому делителю числа к\
3)	а-1 кратно четырем, если к кратно четырем.
В частности, если к = 2Г, то = 2Г тогда и только тогда, когда b -нечетное число и asl(mod4).
Теорема 6.6. Биективное преобразование ф «-множества X является п.ц. тогда и только тогда, когда для любого отличного от константы отображения ф:Х—>У, где | У| >2, отображения ф и ф-ф различны.
Доказательство. Пусть для п.ц. преобразования ф множества X, для любого хеХ и указанного отображения ф
ф-ф(х) = ф(х).	(6.2)
Тогда для любого натурального t и любого х<=Х: ф-ф'(х) = ф(х),
а это с учетом полноцикловости преобразования (р означает, что отображение <|/ - константа. Имеем противоречие, из которого вытекает, что отображения \|/ и \|/чр различны.
Пусть теперь (р - неполноцикловое биективное преобразование множества X и X’ - подмножество множества X, образующее некоторый цикл графа G(<p). Определим отличное от константы отображе-
127
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
ние ф:Х—>У, где Y = {.Уьуг,---}: ф(х) = yi для всех хеХ’ и ф(х) = уг для всех хеХХХ’. При таком ф для любого хеХ выполняется равенство (6.2). Следовательно, отображения ф и ф-ф совпадают.	♦
Пусть ф и ф - преобразования множеств Xм и А*"'0 соответственно, где |А] = к и ф задано подсистемой системы ф:
ф =	(Х1,Х2,...,Х„)},
ф = {/i(Xi,X2,...,X„.i),.../„.i(Xi,X2,...^„.i)}.
Рассмотрим критерий полноцикловости преобразования ф. Каждому пути 5 = (s\,S2,...,st) в графе С(ф) поставим в соответствие преобразование 8(5):
5(5) = ПЛ(5,.,х„),	(6.3)
(=1
где для вершины а = (ai,a2,...,an.i)eX(n'1> графа С(ф) под fn(a,Xn) понимается подфункцияfn(a],a2,...,an.l,xn'), реализующая преобразование множества X.
Теорема 6.7. Преобразование ф является п.ц. тогда и только тогда, когда ф - п.ц. преобразование множества У'1'0 и 8(5) - п.ц. преобразование множества X, где s - цикл в 6(ф).
Доказательство. Покажем корректность формулировки теоремы, ведь при п.ц. преобразовании ф в качестве преобразования 8(5) множества X может быть рассмотрено F1 различных преобразований в зависимости от начала отсчета вершин цикла s. Для этого убедимся, что при п.ц. преобразовании ф все эти преобразования подобны.
Действительно, если s = (s\,S2,...,St.\,si), s' = (s2,S3,...,st,S\\ где t = к!'л, и 8(5) - п.ц. преобразование множества X, то из этого следует, что 8(s) - биективно и в силу (6.3) подфункция fn(a,x^ при любом реализует также биективное преобразование. Следовательно, биективно и преобразование 8(5’) как композиция биективных преобразований, где
8(s’) = Л(5'2,Х/!)-Л(5з,Х„)-
Отсюда и из (6.3) следует подобие преобразований 8(s) и 8(5’): 8(5’) =./„(5i,X„)'I7;,(Si,X,i)-8(5'’) =/|(5ьХ„)’1-8(5)-У„(51,Х„).
128
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
То есть независимо от начала отсчета вершин цикла 5 графа С(ф) преобразование §(5) является п.ц.
Пусть Фд.[£"] - отрезок последовательности Фд, состоящий из ее первых к" членов, хеЛ00. Разобьем Фд[&"] на к последовательных отрезков Фд[£'']1, ..., ФА-[/с"К по к"'1 членов.
Если преобразования ф и 8(s) п.ц., то, судя по первым п-1 координатам, все члены отрезка Фд.[£"], различны в силу полноцикловости преобразования ф, i = \,2,...,к. В то же время, судя по п-й координате, последние члены отрезков ФХ[А:"]1, ..., Фх[^]* различны в силу полноцикловости преобразования 5(.у). Следовательно, все члены отрезка ФД[Г] различны и ср - п.ц. преобразование.
Если ф - п.ц. преобразование множества то ф - п.ц. преобразование множества А*"'0, так как в этом случае для периодов /ф и выполняются соотношения:
tv<k"'1, кп = t<f< t,j-k.
Далее, если <р и у - п.ц. преобразования множеств и соответственно, то для периода tS(s) преобразования 6(5) выполняются равенства:
к = t<p = ty'tsis) = к 'ts(s)-
Следовательно, 5(s) - п.ц. преобразование множествах	♦
Следствие 1. Пусть ф, - биективное треугольное преобразование множества А*0, задаваемое системой координатных функций
ф; = {/|(Х1),/2(Х1Л2), ...,/(Х1Л2,-Л)}, 1= 1,2,...	(6.4)
Преобразование <р„ является п.ц. тогда и только тогда, когда для всех i = 1,2, ...,п преобразования множества X - п.ц., где при г>1 путь У’1 =	_ цикл в графе 6(ф,.|) и
5V) = П-Ж1’*-) > §1<5°) = <Р1 =f^-2=1
Доказательство. Если преобразование ф„ множества Х^ является п.ц., то, применяя п-1 раз прямое утверждение теоремы 6.7 для
129
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
i = п,п-1,...,2, получаем, что преобразование фм множества У' ” и преобразование 5'(s' ’) множества X также являются п.ц. Следовательно, для i = 1,2, ...,п преобразования б'^'1) множества Xявляются п.ц.
Если для i = \,2,...,п преобразования 8V1) множества Xявляются п.ц., то, применяя л-1 раз обратное утверждение теоремы 6.7 для i = 2,3,..., п, получаем, что из полноцикловости преобразований фм и 5'(s‘1) следует полноцикловость преобразования ф,- множества ♦
Следствие 2. Пусть в условиях теоремы 6.7 ф и ф - преобразования множеств V„ и V„.i соответственно. Преобразование ф является п.ц. тогда и только тогда, когда ф - п.ц. преобразование множества V,.-i и
= giXi^-Xn-^X,,,
где вес функции g(xi,X2,...,xn.i) нечетен.
Доказательство. В данных условиях 5(5) есть преобразование множества {0,1}, поэтому если s - цикл в графе 6(ф„.|), то для любого хе {0,1)
5(5)(х)=хФ	8(*i...хлЧ) =хФ ||g||.
h...
Очевидно, преобразование 5(5) п.ц <=> ||g|| нечетен.	♦
Следствие 3. Пусть биективное треугольное преобразование ф„ множества V„ задано системой функций (6.4), где /(xi,X2,...,x,) = = 5((Х1,Х2,...,х(.1)Фх/, i = 1,2,....п, и gi = 1.
Преобразование ф„ является п.ц. тогда и только тогда, когда вес каждой из функций g2,---,gn нечетен.
Доказательство проводится индукцией по п с использованием следствия 2.	♦
Известно, что число п.ц. регистров сдвига длины п равно 2	,
однако удобные критерии полноцикловости для регистровых преобразований не известны. Приведем принцип «склеивания-расклеивания», позволяющий строить п.ц. двоичные регистры сдвига небольших длин.
130
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
Теорема 6.8. Пусть <ри ц/- биективные двоичные регистры сдвига длины п с обратными связямиЛ») иДхьХь-Лл) ®х“2 соответственно, где а2,...,а„е{0,1}. Тогда граф С(ф) отличается от графа G(\|/) тем, что либо один цикл графа 6(ф) распадается на два цикла графа С(ф), либо два цикла графа 6(ф) объединяются в один цикл графа С(ф).
Доказательство. Так как ф и ф биективны, то f(x\,X2,...,xn) = = x\®g{xi,...,x„). Отсюда следует, что
ф(0,я2,...,а„) = (a2,...,an,g(a2,...,a„)), ф(1,а2,...,а„) = (а2,...,яи,#(а2,...,а„)®1), ф(0, а2,... ,а„) = (а2,... ,an,g(a2,... ,an)® 1), ф(1,а2,...,а„) = (a2,...,a„,g(a2,...,a„)).
Таким образом, если вершины (0,a2,...,a„) и (l,a2,...,a„) лежат на одном цикле графа С?(ф), то в графе б(ф) они лежат на разных циклах. И наоборот, если вершины (0,a2,...,a„) и (l,a2,...,a„) лежат на разных циклах графа 6(ф), то в графе С(ф) они лежат на одном цикле. На остальных вершинах из Vn преобразования ф и у совпадают. ♦
Для построения п.ц. регистрового преобразования из исходного биективного двоичного регистра сдвига путем «склеивания» циклов нужно находить пары соседних по 1-й координате вершин (0,a2,...,a„) и (l,a2,...,a„), лежащих на разных циклах, и изменять функцию обратной связи посредством добавления конъюнкции х“2	. Если
граф исходного регистра состоит из г циклов, то для построения п.ц. регистра требуется выполнить г-1 таких шагов.
6.5.	Линейные регистры сдвига
Линейное преобразование пространства Р(,,) над полем Р не является п.ц. при п>0. Это следует из того, что нулевой вектор является неподвижным элементом всякого линейного преобразования. Тем не менее длина цикла в графе линейного преобразования пространства Р^ может быть «весьма большой» и достигать величины к"-], где к -
131
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
порядок поля Р. Такие линейные преобразования называют преобразованиями максимального периода.
Рассмотрим условия максимальности периода преобразования <р пространства Р00 линейным регистром сдвига (ЛРС) с функцией обратной связи а,и•х„+... +агХ2+ао-Хь где ao,ai,...,an.ieP. Матрица преобразования ср имеет вид:
Г О
О
О
О О
О
1 О
—
«1 а2
Матрица Ад называется сопровождающей матрицей данного ЛРС. Для реализации преобразования регистра левого сдвига вектор (xi,X2,...,Xn) умножается на матрицу Лф слева.
ЛРС длины п максимального периода обозначим ЛРСшах-и. Особый интерес в криптологии к ЛРСтах-n объясняется удобством их реализации и доказуемостью их высоких периодов (при подходящих и) в отличие от многих нелинейных преобразований. Ведь непосредственное вычисление периода преобразования (см. пример 6.1) может быть выполнено лишь для множеств небольшой мощности.
Преобразование ср ЛРС имеет максимальный период в том и только в том случае, если циклическая группа <ср> имеет порядок кп-1 или, иначе говоря, если матрица А9 имеет порядок F-1 как элемент группы линейных преобразований множества Р(и). Выразим эти условия через характеристики обратной связи.
Функции обратной связи fix\,X2,...,xn) ЛРС однозначно соответствует многочлен Г(Л) степени п над полем Р:
F(X) = V- ал.2-Х"’2-...- а,-Х- а0,
называемый характеристическим многочленом этого ЛРС. Матрица является корнем многочлена F(X), и, если F(X) неприводим над Р, ее порядок совпадает с порядком многочлена F(X). Поэтому преобразование ср имеет максимальный период тогда и только тогда, когда F(X) - примитивный многочлен, то есть:
1)	F(X) неприводим над полем Р;
132
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
2)	F(A.) делит многочлен А*"-1 -1 и не делит ни один из многочленов вида АЛ1, где d/k"-1 и сМсп-\.
Построение примитивных многочленов в общем случае связано со сложными вычислениями. На практике используются таблицы примитивных многочленов.
Для двоичных ЛРС из условий примитивности многочлена F(A) вытекает следующее утверждение.
Утверждение 6.5. Если многочлен F(A.) степени п>1 неприводим над полем GF(2) и 2"-1 - простое число, то преобразование ЛРС множества Vn с характеристическим многочленом F(A) имеет максимальный период.
Доказательство. Из простоты числа 2"-1 следует, что имеется лишь один делитель d числа кп-\, отличный от Л”-1, а именно d = 1. Осталось заметить, что F(A) не делит многочлен А-1 и делит многочлен А.2"-1-1, так как все элементы поля GF(2"), кроме единицы, имеют в мультипликативной группе этого поля порядок 2"-1. Следовательно, F(A.) примитивен.	♦
Утверждение 6.6. Примитивный многочлен F(A,) над полем GF(2) содержит нечетное число членов.
Доказательство. В противном случае единица поля GF(2) является его корнем.	к	♦
Утверждение 6.7. Еслимногочлен F(A.) над полем GF(2) примитивен, то примитивен и многочлен A"-F(1A).
Последнее утверждение позволяет сократить в 2 раза таблицы примитивных многочленов над полем GF(2).
6.6.	Аффинные преобразования максимального периода
Биективное аффинное преобразование vj/ пространства F(H) над полем Р порядка к, граф которого содержит цикл длины Л"-1, назовем преобразованием максимального периода. Определим условия максимальности периода аффинного преобразования.
133
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Утверждение 6.8. Пусть ср - линейное преобразование пространства Р(л) и элемент х множества Р(л) имеет предпериод т и период t относительно преобразования <р. Тогда вектор гх, определяемый выражением
= фт(х)+ф'л4 *(х)+... +<ри+'-1(х),	(6.5)
есть неподвижный элемент преобразования ф.
Доказательство. Так как преобразование ф линейно, то ф(£х) = фТ+1(х)4-ф'"+2(х)4-...4-фт+Г‘1(х)+ф'”+'(х).
По утверждению 6.3 вершины ф'(х) графа G(<p) при i>m являются циклическими и лежат на цикле длины t, поэтому фт+/(х) = ф'"(х). Следовательно, ф(ех) = ех.	♦
Таким образом, каждому элементу х&Рм соответствует неподвижный элемент линейного преобразования ф, определяемый выражением (6.5), обозначим его ех,ф.
Аффинные преобразования ф1 и фг пространства Р(л) назовем а-параллельными, где а - ненулевой вектор пространства Р(л), если Ф1(х)-фг(х) = а для всех хеР(л). Заметим, что а-параллельные преобразования ф] и ф2 либо оба биективны, либо оба небиективны.
Теорема 6.9. Пусть ф - биективное линейное преобразование пространства Р(л) над полем Р характеристики р и ф есть а-параллельное ему аффинное преобразование. Тогда ф и ф оба либо являются, либо не являются преобразованиями максимального периода.
Доказательство. По условиям теоремы ф(х) = ф(х)+а для всех хеР(,|), где а#и, и - нулевой вектор пространства Р(л). Отсюда с использованием индукции по i несложно вывести равенство, верное для любого хеР(л) и любого натурального г.
ф'(х) = ф'(х)+ф''1(а)+ф'’2(а)+.. .+ф(а)+а.	(6.6)
По утверждению 6.3, последовательность {ф'(а)}, i = 1,2,..., является периодической с периодом гаф, равным длине цикла, которому принадлежит вектор а. Тогда по утверждению 6.8 неподвижным элементом преобразования ф является элемент Еаф = фЛ1(а)+... +ф(а)+а при I = ta^.
134
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
По теореме 6.1 последовательность	{<р'(а)+... +<р(а)+а},
i = 0,1,2,..., является периодической с периодом t, где
^/^(Еа,ф)’^а,<р	(6.7)
и d(x) есть порядок элемента х как элемента аддитивной группы пространства Р00. Очевидно, d(x) = 1 при х = 0 и d(x) = р в противном случае.
Из равенства (6.6) имеем, что последовательность {ф'(х)} есть сумма периодических последовательностей {ф'(х)} и {ф'(а)+... ...+ф(а)+а}, i = 1,2,..., с периодами соответственно tx<f и t. Значит, по теореме 6.2 с учетом равенства (6.7) для периода tx v последовательности {ф'(х)} выполнено:
tx,v /HOKCt^difia^-t^).	(6.8)
Если ф - преобразование максимального периода, то оно имеет единственный неподвижный элемент - вектор и и его порядок равен 1. Поэтому d(Eo>(p) = 1 и из (6.8) при х = а имеем:
^а.чЧя.ф •	(6.9)
С другой стороны, из равенства (6.6) следует, что ф'(х) = ф'(х)-ф'(и) для всех хеР(л) и любого натурального i. Значит, по теореме 6.2 txlfIHOK(tx^,tUiV/). Учитывая, Что векторы а и и принадлежат одному циклу преобразования у, из последнего соотношения получаем при х = а, что ta<lflta^.
Отсюда и из (6.9) заключаем: ta^ =	= F-1.
Пусть теперь биективное аффинное преобразование ф пространства Р(,,) есть преобразование периода к"-1. Вектор а не является неподвижной точкой преобразования ф, так как его прообраз есть вектор и, поэтому = F-1. Тогда из равенства (6.8) при х = а следует, что
(k"-l)/d(sa,l!l)-t^ .
Так как величина tZ(€aq>) равна либо 1, либо характеристике р поля Р, то (F-1,JO><P) = 1, поэтому из последнего соотношения получаем, что (к"-1 ~}На>ф. То есть Г0,ф = Л''-l и ф - преобразование максимального периода.	♦
135
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
6.7.	Задачи и упражнения
6.1.	Пусть {х,} и {у,) - периодические последовательности над кольцом вычетов по модулю к с периодами Ц и ?2 соответственно, где НОД(1{,Ц) = 1.
1)	Докажите, что период / последовательности {(x,+y,)mod/c} равен /1-/2- Каково наименьшее значение t, если условие	= 1 не
выполнено? Чему оно равно?
2)	При каких а и b период т последовательности {(a-x,+fe-y,)mod/:} равен /г/г?
6.2.	Пусть {х,} - периодическая последовательность над множеством X с периодом t.
1)	Каков период последовательности {хг.,}, где г - натуральное?
2)	Каков период последовательности, полученной из {х,} изъятием подпоследовательности {хг., }, где г - натуральное?
3)	Каковы периоды последовательностей из пп. 1, 2, если {х,} не содержит одинаковых членов?
6.3.	Пусть ср - преобразование регистра левого сдвига множества V,, с обратной связью/ Постройте граф преобразования ф, определите пред-периоды и периоды нулевого вектора и преобразования ф, если:
а)	п = 4, /(Х1,Х2,..., хд) = Х1®Х2-Х4;
б)	п = 4, ДхьХ2,..., хд) = X] хз ФхгХд® 1;
В) П = 5, f(Xi,X2,..., Х5) = ХгХзХ5®ХзХд ®Х2Хд®Х2®Х1®1;
г) п = 5, ДХ1,Х2,..., Х5) = Х2 Хз Хд Х5®Х] Хз Хд ©Хг Хд®Хз®Х2®Х1® 1.
6.4.	Какова цикловая структура и период аффинного преобразования ф множества V„, где ф(х) = Е-х®а, Е - единичная матрица, а^О.
6.5.	Какова цикловая структура и период преобразования ф*, если Ф - п.ц. преобразование множества V,,?
6.6.	Является ли полноцикловым преобразование ф(х) = а-х+Ь кольца вычетов по модулю 2", реализуемое линейным конгруэнтным генератором, если:
а)	п = 10, а = 10, b = 7;
б)	п = 10, а = 9, b = 6;
в)	п = 10, а = 9, b = 9?
136
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ
6.7.	Является ли п.ц. преобразование <р множества V,,:
а)	п = 3, <р = {%1Ф1, Л4ФХ2, х^х2Фхз};
б)	П = 3, ф = (Xj,Xj®X2®l, X1VX2VX3};
в)	п = 4, ф = {Х1, Х1©Х2, Х1-Х2®Хз, X1-X2©X2-X3®X4}?
6.8.	Пусть ДхьХ2,...,х„) - функция обратной связи двоичного ЛРСтах-и. Докажите, что регистр сдвига с обратной связью /(Х1,Х2,...,х„)Фх2 ...• хп является п.ц.
6.9.	Пусть /(xi,X2,...,x„) = an-x„®...®arX2®xi - функция обратной связи биективного преобразования двоичного (левого) ЛРС. Докажите, что преобразование регистра сдвига с обратной связью У(Х1,Х2,...,х„)Фх2 •...• хп не имеет неподвижных элементов тогда и только тогда, когда а„Ф...Фа2 = 1.
6.10.	Пусть ф - преобразование двоичного ЛРСтах-п, ф = хФа -аффинное преобразование множества V,,. Определите неподвижные элементы преобразования ф-фф.
6.11.	Пусть ф - преобразование множества Vn, ф - инволюция на множестве V,,. Докажите, что tv = tv.4.v.
6.12.	Каков период аффинного преобразования множества V,, ф = ффа, где ф - линейная инволюция и a - ненулевой вектор?
6.13.	Пусть ф - преобразование двоичного ЛРСшах-и. Каков период преобразования ф = фг, где г - целое; степень числа 2?
6.14.	Докажите, что многочлен над полем GF(2), не содержащий нечетных степеней переменной, не является примитивным.
6.15.	Является ли примитивным многочлен ДХ) над полем GF(2):
а)	ДХ) = Х5ФХ2ФХ;
б)	ДХ) = Х5ФХ2ФХФ1;
в)	ДХ) = Х6ФХ4Ф1;
г)	ДХ) = ХиФХ10ФХ9ФХ7ФХбФХ5ФХ2ФХФ1?
137
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ
7.1.	Подходы к анализу последовательностей
Многообразие критериев оценки псевдослучайных последовательностей, используемых при шифровании, чрезвычайно велико. Каждый из подходов к анализу шифрующих последовательностей можно отнести к одной из двух групп.
Первая группа связана с поиском закономерностей, позволяющих воспроизвести шифрующую последовательность по относительно небольшому отрезку. При этом основные требования сводятся к тому, чтобы в псевдослучайной последовательности отсутствовали относительно простые межзнаковые зависимости.
Вторая группа критериев связана с оценкой статистических свойств последовательности: имеется ли в исследуемой последовательности какой-либо частотный дисбаланс, позволяющий аналитику предположить значение следующего бита с вероятностью большей, чем при случайном выборе? При этом основные требования к шифрующей последовательности сводятся к тому, чтобы псевдослучайная последовательность обладала теми же статистическими свойствами, что и случайная последовательность. Эти условия означают, в частности, что равномерно распределены частоты встречаемости в последовательности не только отдельных знаков, образующих последовательность, но и 5-грамм, то есть наборов из s соседних знаков, s = 1,2,...
Обе эти группы методов анализа последовательностей составляют системный подход к разработке поточных шифров.
Лишь для некоторых частных классов последовательностей удается аналитически доказать некоторые важные свойства. Для обоснования многих других свойств используются статистические тесты. При системном подходе для анализа последовательностей используются известные тесты и разрабатываются новые тесты с учетом особенностей анализируемого объекта. Если в ходе анализа в некотором классе последовательностей обнаруживается новая слабость, то раз
/шом1И0и
138
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ
рабатывается новый тест, который пополняет используемый набор известных тестов.
7.2.	Линейные рекуррентные последовательности
Порождение псевдослучайных последовательностей, используемых в криптографических приложениях, основано на реализации многократных итераций преобразований некоторого конечного множества X.
Одним из базовых элементов криптографических схем является ЛРС. Рассмотрим свойства координатных последовательностей, порождаемых с помощью ЛРС.
Последовательность {х,}, i = 0,1,2,..., элементов поля Р называется линейной рекуррентной последовательностью (ЛРП) порядка и>0 над полем Р, если существуют константу a0,ai,...,an.ieP такие, что для любого z>0
л-1
х/+д= ^агх,.+у .	(7.1)
;=0
Равенство (7.1) называют законом рекурсии, многочлен
F(X) = V- Дп-гГ'1- an.r Г'2-...- аД- а0	(7.2)
над полем Р называют характеристическим многочленом ЛРП, а вектор (xo,xi,...,x„.i) - начальным вектором ЛРП.
Данная ЛРП совпадает с j-й координатной последовательностью последовательности векторов,./ = 1,2,генерируемой ЛРС с характеристическим многочленом (7.2). Поэтому период ЛРП совпадает с периодом преобразования соответствующего ЛРС. ЛРП максимального периода порядка п обозначим ЛРПтах-и.
Функцию Z((xi,x2,...,x„), отображающую множество начальных состояний ЛРС длины п в значение z-ro члена генерируемой им ЛРП, назовем j-й выходной функцией ЛРС, i = 1,2,...
Утверждение 7.1. Последовательность выходных функций ЛРСтах-и над полем Р порядка к является чисто периодической с периодом к”-] и состоит из всех линейных функций от и переменных, отличных от константы 0.
139
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Доказательство. Из периодичности ЛРПтах-и следует, что последовательность выходных функций ЛРСгпах-л - периодическая с периодом кп-1. Каждая из выходных функций ЛРС является линейной в силу линейности преобразования ЛРС и не повторяется на периоде, иначе если бы z'-я и j-я выходные функции совпадали, \<i<j<kn-\, период t равнялся бы j-i, что меньше к”-!. Следовательно, все линейные функции от Xi,X2,...,x„, отличные от нуля, встречаются на периоде однократно.	♦
Отметим важные статистические свойства ЛРПтах-п.
Утверждение 7.2. На периоде ЛРПтах-и над полем Р порядка к всякая ненулевая 5-грамма встречается k"'s раз, а нулевая 5-грамма встречается kn s-l раз, 1<5<и.
Доказательство. Периодический отрезок {х,} ЛРПшах-п, i = 0,1,2,...,кп-2, в силу закона регистрового преобразования можно представить как последовательность {(x„x,+i,...,x,+n-i)}, составленную из всех ненулевых векторов пространства Р^п) над полем Р. Поэтому частота встречаемости на периоде ЛРПшах-и любой 5-граммы есть число ненулевых векторов пространства Р^п\ у которых 5 фиксированных взятых подряд координат (например, 5 первых координат) совпадают с заданной 5-граммой.	♦
Таким образом, ЛРПтах-л обладают хорошими статистическими свойствами. Вместе с тем закон рекурсии ЛРП означает, что в ЛРП имеется довольно простая межзнаковая зависимость. Эта зависимость позволяет, в частности, по небольшому отрезку ЛРП определить начальный вектор из решения системы линейных уравнений. Поэтому использование в криптографических схемах ЛРС предусматривает способы, повышающие сложность вырабатываемых последовательностей.
7.3.	Линейная сложность последовательностей
Пусть Р(ж) - векторное пространство размерности т над полем Р - {х,}, i = 0,1,2,..., - последовательность над Р*т\ Ненулевой многочлен F(X) над полем Р, заданный равенством (7.2), называется
140
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ
аннулирующим многочленом последовательности Х_>, если при всех j>n выполнено рекуррентное соотношение
хг an.rXj.i-..ai -xj.ni i- a0-Xj.„ = и,	(7.3)
где и - нулевой вектор пространства Р0"’.
Множество аннулирующих многочленов последовательности Х_* обозначим Ann(XL,).
Если flX)eAnn(X-+), то fiX)-g(X)&Ann(X^) при любом ненулевом многочлене g(X).
Если fi(X)f2&),...f^)eAnn(X.+), то любая нетривиальная линейная комбинация над полем Р этих многочленов также принадлежит Апп(Х_>).
Минимальным многочленом последовательности Х_, (обозначим его тх_>(Х)) называется ее аннулирующий многочлен наименьшей степени. Минимальный многочлен последовательности Х_> определен однозначно и является делителем всякого аннулирующего многочлена последовательности Х^. В частности, если - чисто периодическая последовательность периода Т, то 7Пд^(1)/1г-1.
Линейной сложностью или линейным размахом последовательности Х-> (обозначим ее А(Х^У) называется степень минимального многочлена последовательности Х_>. Равносильным образом А(Х_>) определяется как длина L самого короткого ЛРС, способного породить эту последовательность при начальном состоянии (xi,X2,...,xl). Таким образом,
A(Z_>) = degm^A.).
Иными словами, линейная сложность последовательности - это порядок «самого компактного» линейного рекуррентного соотношения, которому подчиняются все знаки последовательности. Линейная сложность последовательности {и,и,...,и} полагается равной 0.
Всякая периодическая или конечная последовательность может рассматриваться как ЛРП, вырабатываемая некоторым ЛРС. Например, линейный размах последовательности вида (а,а, ае1*т\ при а = и равен 0 и при а*и равен 1, так как эта последовательность подчиняется рекуррентному соотношению x/+i-x7 = и.
141
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Вместе с тем высокая линейная сложность последовательности не означает ее безусловную пригодность для криптографических приложений. Например, близкая к вырожденной последовательность вида (а,а,...,а,Ь) длины N, а,ЬеР^т\ а?£>, имеет линейный размах, равный либо N-1 (если найдется элемент геР такой, что а г = Ь), либо N. Из приведенных рассуждений следует, что линейный размах всякой последовательности Х_> длины N, состоящей более чем из одного элемента пространства Р^т\ удовлетворяет оценкам
s<\(X^<N,
где s есть наибольшая из длин серий вида (а,а,...,а), аеР(т>, в последовательности Х_>.
Для последовательностей над полем Р линейная сложность эффективно определяется с помощью алгоритма Берлекемпа - Месси. Суть алгоритма заключается в подборе подходящего минимального многочлена последовательности путем индуктивного построения ряда многочленов, каждый из которых учитывает закономерности в последовательности более полно, чем предыдущий многочлен. Построение минимального многочлена последовательности Х^, который является последним в построенном ряду, требует порядка А2(АГ_>) операций поля Р.
Сложность алгоритма Берлекемпа - Месси для случайных последовательностей характеризуется с помощью введенного в [29] понятия профиля линейной сложности последовательности. Если Х^ = {х,}, i = 1,2,... ,А, и Аг есть линейная сложность ее подпоследовательности {х1Л2,- -Лг}, r<N, то последовательность {Аг}, г = 1,2,...,А, называется профилем линейной сложности последовательности Показано, что для случайной последовательности Х^ над полем порядка к математическое ожидание линейной сложности Аг близко к rfl, а дисперсия ограничена константой, значение которой убывает с ростом порядка поля.
Рассмотрим некоторые свойства последовательностей, связанные с их линейной сложностью.
Утверждение 7.3. Если Хр+ _ последовательность над Р 1 , j = 1,2,...,г, и = Xjто
142
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ
тхДХ) = HOK(mi(k)......mr(X)),
где m7(X) - минимальный многочлен последовательности Х^.
Доказательство. Многочлен HOKQn\{X),...,mrQC)) аннулирует все последовательности Xj.+, j = 1,2,..., г, и, следовательно, последовательность Поэтому
mxMIHOK(in\{X),.. .,т,(Х)).
Если 7Пх->(А.)#Ж7Л‘(/П1(Х.),...,7пг(Х)), то многочлен не делится на один из многочленов т\{Х),...,т^Х), например не делится на wti(X). Тогда многочлен не аннулирует последовательность Х^.	♦
Утверждение 7.4. Если последовательность У-> = {у,} есть линейная комбинация над полем Р последовательностей Х^ = {х,7] над
P(m\j = 1,2,...,г, то есть для всех i = 0,1,2, — у, = crXn+...+cr-xin то mY^yHOK(mi(M,... ,тД)),
где m/X) - минимальный многочлен последовательности Л/_>.
Доказательство. Многочлен HOK(mi(X),...,m^X) аннулирует каждую из последовательностей Х^, j = 1,2,...,п, и следовательно, последовательность У_>.	♦
Нижняя граница линейной сложности суммы /_> последовательностей Х\^ и Х2^ дается неравенством [15]:
тпу_>(Х)^т1(Х)+т2(Х)-2-Я(9Д(Т1,Г2), где у, = Л(1+х,-2 для всех i = 0,1,2,...; Т\ и Т2 - периоды последовательностей Х^ и Х2_> соответственно. При этом
гпуДД) = mi(k)+m2(X),
если НОД(Т[,Т2) = 1 и Х-1 делит mi(X)-m2(X).
Если последовательность = {у,} есть почленное произведение последовательностей Xj~> = {Xj,} над полем P,j = 1,2,...,г, то есть для всех i = 0,1,2,... у, = xu-...-xir, то [47]
A(r..+)<A(^_)-...-A(X->).
143
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
При определенных условиях эта оценка достигается, в частности [48], если Р - поле простого порядка и /;?|(Х),...,тг(Х) - примитивные многочлены над Р попарно взаимно простых степеней.
Пусть Ф = {<p'J - последовательность степеней биективного преобразования (р пространства 7^"° и последовательность fl = {<|/(ф')) получена из Ф с помощью отображения ф:/3<т)—>P(r\ i = 0,1,2,... Заметим, по утверждению 6.1 период последовательности fl делит ?ф. Обозначим через Ж fl) линейную оболочку множества членов последовательности fl, являющуюся подпространством пространства Р{’"к’П} всех отображений F^m)^P{r\ где к = |Р|.
Лемма 7.1. Если для некоторых натуральных j и п, где 0<j<j+n<ta, и некоторого ненулевого набора (ao,a\,...,an.i) элементов поля Р выполнено линейное соотношение
ф(фл") = а„.гф(ф7+я'1)+... +аг\|/(ф7+1)+а0-ф(ф'),	(7.4)
то определяемый равенством (7.2) многочлен/(A.) eAnn(Q).
Доказательство. Если выполнено линейное соотношение (7.4), то совпадают отображения, записанные в левой и правой частях равенства. Следовательно, совпадают образы любого хеР(т) относительно этих двух отображений при указанном j, в частности если х = ф'(у), где у - произвольный вектор из i - любое целое число. В силу биективное™ преобразования ф это равносильно тому, что совпадают образы любого у из Р(т) относительно этих двух отображений при любом целом j. Отсюда получаем, что равенство (7.4) выполнено для некоторого п, Q<n<tn, и некоторого ненулевого набора (a0,ai,...,an.i) при любом целом j. То есть/(Х)еАип(О).	♦
Теорема 7.1. A(Q) = dim7/(fl).
Доказательство. Пусть A(fl) = п, то есть минимальный многочлен последовательности fl имеет степень п. Тогда каждый член последовательности fl может быть линейно выражен через первые п членов. Следовательно, dimH(fl)<A(Q).
С другой стороны, если dim/Afl) = п, то любые и+1 членов последовательности fl, в частности первые л+1 членов последовательное™, связаны незривиальным линейным соотношением, которому по лем-
144
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ
ме 7.1 соответствует аннулирующий многочлен последовательности Q степени п. Следовательно, A(Q)<dim#(Q). Отсюда и из предыдущего неравенства получаем требуемое утверждение.	♦
7.4.	Статистические требования к последовательностям
Одна из первых формулировок трех основополагающих правил для статистических свойств периодических псевдослучайных последовательностей была представлена С. Голомбом [13]. Эти правила были сформулированы для двоичных последовательностей и получили в открытой криптографии известность как постулаты Голомба.
Пусть = {хо,Хь —- двоичная <исто периодическая последовательность с периодом Т. Обозначив для нее через щ и п0 число «единиц» и число «нулей»:
П1 = Хо+Х]+. • • +%т-1, «о = Т-П\, и через п\ и по - соответственно число 5-грамм, составленных из «единиц», и число 5-грамм, составленных из «нулей», 5>1. Через ni(d) и no(d) обозначим соответственно число «единиц» и число «нулей» в последовательности :
X' = {х,©х/+(/}, (/е{0,1,2,....T-l}, z = 0,1,2.
где индексы рассматриваются по модулю Т.
Функцией автокорреляции последовательности Х_> (обозначается cx_»(J)) называется функция от d:
cx^(d) = (ni(d)-n0(d))/T.
Постулаты Голомба таковы:
1.	ImM < 1.
2.	И1-2’Л = nf = по = ио-2'1, 5 = l,2,...,[log2T].
3.	Функция сл->(бО должна принимать лишь два значения (быть Двузначной).
Третье правило формулирует необходимое условие независимости знаков последовательности Х_>. Одновременно это и некоторая
145
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
мера различения последовательности Х_> и ее копии, начинающейся в другой точке цикла.
Последовательности, удовлетворяющие трем постулатам Голомба, называют псевдошумовыми или ПШ-последовательностями.
Заметим, что ЛРП максимального периода являются псевдошумовыми. Это означает, что постулаты были сформулированы, исходя из условия сохранения положительных статистических свойств, присущих ЛРП максимального периода.
Отметим, что ЛКГ менее привлекателен с точки зрения генерации псевдослучайных последовательностей для криптографических приложений, так как генерируемые последовательности обладают довольно сильными межзнаковыми зависимостями. Тем не менее в некоторых задачах используются последовательности ЛКГ ввиду удобства их реализации. Например, если полноцикловый ЛКГ, определяемый формулой
<р(х) = (a-x+b) mod2r, использовать как генератор псевдослучайных чисел из множества V,, то рекомендуется параметры ЛКГ выбрать следующим образом:
1)	г = п-1, где п - длина слова в вычислительной машине;
2)	asl(mod4) и незначительно больше 2[г/2];
3)	b - нечетное число.
Правила Голомба не гарантируют высокого качества псевдослучайной последовательности и являются скорее необходимыми.
В ходе усовершенствования требований к качеству псевдослучайных последовательностей сформулировано понятие равномерно распределенной (на некотором множестве) случайной последовательности (РРСП).
РРСП (на множестве X мощности к) - это последовательность случайных величин, принимающих значения в множестве X, определенная на некотором вероятностном пространстве и удовлетворяющая двум требованиям:
1) для любого п и произвольных значений индексов l<Zi<...<fn случайные величины £ ..независимы в совокупности;
146
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ
2) для любого натурального t случайная величина Q равномерно распределена на множестве X, то есть P(C,t = х) = 1/к для любого хеХ.
При выполнении этих двух базовых требований выполняется ряд других свойств РРСП. Перечислим некоторые из них.
Свойство 1. Для любого п и произвольных значений индексов 1<Г1<...<Г„ распределение n-мерной случайной величины ...j
является равномерным на множестве Xм.
Свойство 2 (воспроизводимость при «прореживании»). Для любой подпоследовательности l</i	натурального ряда соответствующая подпоследовательность	.... последовательности
{^} также является РРСП.	\
Свойство 3 (воспроизводимость при суммировании). Если X - аддитивная группа и {г],} - произвольная неслучайная последовательность или произвольная случайная последовательность над X, не зависящая от {£,,}, то случайная последовательность {yt}, где уt = ^+т]ъ также является РРСП.
Свойство 4. При любом натуральном t предсказание значения по знакам £ь£2,...£м невозможно.
Генератор РРСП - это устройство, позволяющее получить реализацию РРСП произвольной длины. Элементы этой реализации называют случайными числами.
Различаются 3 типа генераторов РРСП: табличный, физический и программный.
Табличный генератор РРСП - это таблица случайных чисел, полученная экспериментально в качестве выборки из равномерного распределения. Основные недостатки табличных генераторов:
1)	ограниченность объемов таблиц;
2)	большой расход оперативной памяти компьютера при хранении таблицы случайных чисел;
3)	необходимость обеспечения информационной защиты табличных массивов.
147
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Физический генератор РРСП - это электронное устройство, выходной сигнал которого по своей физической природе является случайным процессом. Недостатки физических генераторов:
1)	невозможность повторения ранее полученной реализации;
2)	нестабильность функционирования электронного устройства (помехи, сбои, смещения режима и др.), приводящая к необходимости контроля каждой реализации.
Программный генератор РРСП - это реализуемая ЭВМ программа, служащая для имитации РРСП. Основной его недостаток -наличие в реализуемой последовательности закономерностей. Качество программного генератора напрямую связано со сложностью выявления этих закономерностей.
Для выявления закономерностей к анализируемым последовательностям применяется широкий спектр различных статистических тестов.
7.5.	Статистическое тестирование последовательностей
В последние десятилетия разработано большое количество тестов для анализа случайности последовательностей. Суть тестирования обычно сводится к проверке так называемой «нулевой гипотезы» относительно изучаемой последовательности, согласно которой последовательность длины N получена на основе N испытаний схемы Бернулли с вероятностью появления «1», равной 1/2.
Статистический тест Т для двоичных последовательностей длины N можно рассматривать как б.ф.
Г:Уу—>{1,0} “ {«принять», «отвергнуть»}, которая разделяет множество Уу двоичных последовательностей длины N на множество У^о «неслучайных» последовательностей (обычно небольшое) и множество Ууд = УдАУуо случайных последовательностей:
VNJ={sNeVN-. Д/)=Я,уе{0,1},
148
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВА ТЕЛЬНОСТИ
где sN = (si,S2,...,sn). Вероятность р того, что случайно выбранная последовательность длины /V отвергается тестом, выражается равенством
р = |Цчо|-2Л
Как правило, в реальных тестах р невелико, р<0,01.
Для последовательностей большой длины N реализация теста с помощью точного оределения значения б.ф. Т требует трудоемких вычислений. Поэтому статистический тест обычно реализуют путем задания эффективно вычисляемой тестовой функции (статистики) fr, которая отображает VN в множество действительных чисел.
Обозначим через последовательность из N независимых и одинаково распределенных двоичных случайных величин и рассмотрим вероятностное распределение случайной величины /Х^), принимающей действительные значения. При заданной величине р для значений функции fr задают верхний и нижний пороги Ц и ti-
P{MRN)<ti )+Р{/т<^)>Г2) = р. J
Обычно пороги выбирают так, чтобы
« р/2.
Множество VNo «неслучайных» последовательностей мощности р-2 задается соотношением
VNfi=	ЛИбо/т</)>/2}.
Обычно функцию fi- подбирают таким образом, чтобы вероятностное распределение случайной величины было достаточно близко к хорошо известному «эталонному» распределению. Чаще всего таким «эталонным» распределением бывает нормальное распределение или распределение xu-квадрат с некоторым числом степеней свободы. Поскольку для таких вероятностных распределений составлены подробные числовые таблицы, то это упрощает определение порогов ti и t2 при заданных величинах р и N.
Обычно к нормальному распределению приходят, когда суммируется большое количество независимых и идентично распределенных случайных величин. Распределение хи-квадрат с d степенями свободы используется, когда суммируются квадраты d независимых
149
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
и нормально распределенных случайных величин с нулевым средним и дисперсией 1.
Рассмотрим несколько наиболее популярных статистических тестов.
7.5.1.	Частотный тест
Статистика fi(sN) частотного теста имеет вид:

Количество единиц в случайной последовательности Rn = (/?i, R2,...,RN) распределено в соответствии с биномиальным распределением, которое при N>3Q хорошо аппроксимируется нормальным распределением с нулевым средним и единичной дисперсией. Приемлемыми порогами являются значения Ц = -t2 « 2,5-s-3,0.
7.5.2.	Автокорреляционный тест
Для последовательности sN автокорреляционным тестом с задержкой т называют частотный тест для последовательности
т =	^2®^2+т»”ч SN.X®SN).	'
Данный тест используется для выявления корреляции между би-* N
тами последовательности 5 на расстоянии т.
7.5.3.	Последовательный тест	4:
При реализации последовательного теста с параметром L после-ч! довательность sN разбивается на N/L отрезков длины L (например, на байты, L = 8) и определяется частота и, появления в последовательности sN двоичного представления целого числа i; 0<i<2L-l. Статистика fn последовательного теста определяется так:
/п(/) =
L2l N
„ 2
У
L-2lJ ’
150
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ
Член N/(L-2l) - это среднее значение величин и, и одновременно делитель, нормирующий не возведенные в квадрат члены суммы с нулевым средним и обеспечивающий, чтобы дисперсия стала равной единице.
Вероятностное распределение статистики /п(^) при больших значениях Л/ аппроксимируется распределением хи-квадрат с 2Л-1 степенями свободы. Данное распределение рекомендуется использовать, если средние значения величин п, не меньше пяти. Следовательно, при заданной величине параметра L длина тестируемой последовательности должна быть не менее 5L-2l бит.
7.5.4.	Тест серий
В последовательности «единичную» («нулевую») г-грамму (хщЛ+ь-Лн) назовем 1-серией (0-серией) длины г, г>1, еслих,- = = x(+r+i = 0 (если X, = x(+r+i = 1), ге{0,1,...,Т-1}, где индексы рассматриваются по модулю Т.
При реализации теста серий в последовательности sN определяется число 1-серий и 0-серий длины г (обозначается z\,r и Zo.r соответственно), 1<r<L, (например, L = 15). Статистика/С(Л) теста серий имеет вид:
f/ А_ у	) у	)
} £	NI2"2 h N/2r+2
Вероятностное распределение данной статистики при больших значениях N хорошо аппроксимируется распределением хи-квадрат с 2L степенями свободы.
Из других тестов стоит упомянуть универсальный тест, оперирующий с расстояниями в последовательности sN между соседними ’появлениями r-грамм, и тест повторений, измеряющий количество повторяющихся г-грамм.
В табл. 7.1 даны результаты сравнения минимальных длин последовательностей, требуемых для применения тестов.
На практике принятие или отвержение нулевой гипотезы основывают на результатах применения нескольких независимых тестов. В тех случаях, когда независимые тесты приводят к различным вы
151
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
водам, используется комбинирование результатов тестов с помощью статистик, учитывающих совокупность результатов всех использованных тестов.
Таблица 7.1. Минимальная длина тестируемой двоичной последовательности (в битах) при анализе г-грамм
Г	Последовательный тест	Универсальный тест	Тест повторений
14	1,15-Ю6	2,32-108	14336
16	5,24106	1,06-109	32768
20	1,05108	2,12-Ю10	1,64-105
24	2,01-Ю9	4,07-10"	7,86-105
28	3,76-Ю10	7,59-Ю12	3,67-106
32	6,87-Ю11	1,39-1014	1.68-107
При небольшом количестве комбинируемых тестов используется статистика Фишера - Пирсона, которая сравнивается с распределением хи-квадрат. Если же количество комбинируемых тестов достаточно велико, то рекомендуется применение теста Колмогорова -Смирнова.
При тестировании качества того или иного генератора псевдослучайных последовательностей изучению подвергается множество сгенерированных им последовательностей и оценивается, какая часть из них не проходит применяемые тесты. Генератор считается подходящим, если доля последовательностей, признанных неслучайными, сравнима с аналогичной характеристикой случайного генератора.
С точки зрения криптографических приложений даже последовательность, сгенерированная абсолютно случайным источником, может оказаться совершенно неподходящей для зашифрования, например последовательность, состоящая в подавляющем большинстве из нулей. Поэтому конструкция генератора должна гарантировать, что заведомо слабые последовательности не появятся на выходе криптографического устройства.
152
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ
7.6.	Задачи и упражнения
7.1.	Пусть для многочленов над полем Р выполнено: ДХ),^(Х)еАпп(А'_»), где Х-у - последовательность над Р(”\ и и(Х) -произвольный многочлен над Р. Докажите, что многочлены /(^)+£(М,/(^)-£(^),/Л)'м(А.) также принадлежат Апп(Х_у).
7.2.	Докажите, что минимальный многочлен последовательности Х_> над Р(л) делит всякий аннулирующий многочлен последовательности Х-у и является единственным.
7.3.	Является ли минимальный многочлен последовательности Х_у над Р^ неприводимым? Обоснуйте примерами.
7.4.	Каков вид минимального многочлена последовательности {ср'}, i = 1,2,..., если ф - полноцикловое преобразование множества V,,?
7.5.	Постройте чисто периодическую двоичную последовательность Х-у, имеющую период t и линейную сложность Л, укажите ее минимальный многочлен т(Х):
а) г = 2, Л = 2; б) t = 3, Л = 2.
7.6.	Постройте линейный профиль двоичной последовательности Х^ = {0,1,0,1,1,1,0,1}.
7.7.	Пусть Х-у и Y_y есть соответственно ЛРПтах-п с характеристическим многочленом Fi(X) и ЛРПтах-те с характеристическим многочленом F2(X) (над полем Р). Докажите, что их почленная сумма имеет линейную сложность п+т, если (Fi(X),F2(X)) = 1.
Чему равна линейная сложность почленной суммы последовательностей Х-у и Y.y, если п = т и Fi(X) = F2(k)?
7.8.	Пусть Х-у = {х,} есть двоичная ЛРПтах-n и Y-y получена из с помощью б.ф. ф от г переменных, где г<п, а именно Y_y= {ф(х,-,х/+1,...,х,+,.1)}, i = 1,2,... Сколько знаков «1» размещается на периодическом отрезке последовательности если вес функции ф равен т?
7.9.	Пусть ф - биективное аффинное преобразование множества К и последовательность Y..y получена из {ф'} с помощью б.ф./от п Переменных степени нелинейности d, а именно Y-y = {/(ф'(х))},
153
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
i= 1,2,... Докажите, что линейная сложность последовательности У_» </
не превышает
7.10.	Докажите, что для двоичной ЛРПтах-n выполнены все три постулата Голомба.
7.11.	Пусть Х^. = {*,} - последовательность, генерируемая «счетчиком» по модулю 2", и У_> = {у,}, где у,- есть двоичное представление числа Xi, i = 1,2,... Докажите, что для у-й координатной последовательности У.» = {у'|},уе{1,2,...,п}, верны утверждения:
а)	период tj равен 2^;
б)	минимальный многочлен т/Х) равен (Х®1)\ где г = 2/’1+1.
Какие из постулатов Голомба выполнены для последовательности
154
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
Нелинейность отображений информации, реализуемых криптографической схемой, является необходимым условием при построении шифра. В противном случае восстановление ключевых параметров шифра может быть осуществлено с помощью решения системы линейных уравнений.
Принципы построения криптографических преобразований информации, сформулированные К. Шенноном [83], породили многообразие подходов к анализу нелинейных отображений и многообразие исследуемых характеристик отображений. Суть многочисленных подходов к анализу нелинейных отображений заключается в сведении сложной нелинейной задачи к относительно простым, в частности линейным задачам.
Рассмотрим отображение >Р(т), где Р - поле порядка к, при этом <р задано системой {/](xi,...,х„),.../т(х1,...,хп)} координатных £-значных функций.
8.1.	Перемешивающие свойства отображений
Одно из положительных свойств отображений шифра - хорошее перемешивание входных данных или, иначе говоря, зависимость каждой координатной функции отображения от возможно большего числа переменных. В противном случае элементы ключа могут быть найдены из решения соответствующей системы уравнений методами типа «разделяй и вскрывай».
Перемешивающие свойства отображения ф определяются системой {SfJWSfa),..., S(fn,)}, где S(fj) - множество номеров существенных переменных функции fj{xi,X2,...,xn), j = 1,2,..., т. Перемешивающие свойства отображения удобно изучать с помощью графов или матриц смежности их вершин.

155
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Рассмотрим двудольный орграф Дф) со множеством вершин \,2,...,п+т и множеством дуг U9={(i,f)}, где ге{ 1,2,...,и}, je{n+\,n+2,...,n+m}. Вершины 1,2,...,п соответствуют номерам переменных координатных функций, а вершины п+1,п+2,...,п+т соответствуют номерам координатных функций отображения ф, к которым добавлено число п, что отличает их от номеров переменных. Пара тогда и только тогда, когда функция fj(xi,X2,...,xn) существенно зависит от переменной х,-. Граф Дф) назовем перемешивающим графом отображения ср. Матрицу М(ф) = (т7,) смежности вершин графа Дф) назовем перемешивающей матрицей отображения <р.
Говорят, что отображение ср совершенное или ср осуществляет полное перемешивание, если S(/}) = {1,2,...,и} для всех j = l,2,...,m (иначе говоря, двудольный граф Дф) является полным, то есть имеет т-п дуг, или матрица Л/(ф) положительна).
Почти все отображения	при п -> оо и т, ограниченном
величиной порядка п, являются совершенными. Вместе с тем подобный вывод нельзя распространить на отображения, используемые в криптографических приложениях, так как они выбираются не случайно, а из отображений с рядом заданных свойств. Поэтому изучение перемешивающих свойств криптографических отображений является актуальной задачей.
Оценим вычислительную сложность построения перемешивающей матрицы отображения, заданного таблицей или многочленом. Из определения существенной переменной следует, что элемент пц перемешивающей матрицы отображения ср равен 1 тогда и только тогда, когда либо/<Х1,Х2,...,х„) принимает различные значения хотя бы на одной паре соседних по z-й координате наборов, либо в многочлен функции fj(xi,X2,...,xn') входят члены, зависящие отх,. Отсюда следует, что распознавание свойства «ieS(fj)» требует в худшем случае просмотра порядка кп констант: либо табличных значений функции ^•(х1,Х2,...,х„), либо коэффициентов ее полинома.
В частности, если Р = 6Д2), для т# верна формула
тк =
sign £(/,(х)®/,.(х®е(.)) , )
156
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
где х = (xi,X2,...,Xn), е, - вектор из Vn веса 1, у которого i-я координата равна 1, суммирование по х выполняется в поле D действительных чисел и sign(a) - функция, определенная на D и принимающая значения: 1 при а>0, -1 при а<0 и 0 при а = 0.
Вместе с тем для многих отображений вычисление элементов пц перемешивающей матрицы не требует больших трудозатрат. Например, для случайного отображения (почти всегда совершенного) подсчет ограничивается сравнением значений функции ДхьХ2,...,хл) в среднем не более чем на двух парах соседних наборов. Таким образом, при распознавании совершенности преобразования <р один из способов вычисления элемента состоит в подсчете значений выражения ^(х,)-/(х,+е() для ряда векторов Xi,X2,...,xh... до тех пор, пока впервые не будет получено значение, отличное от нуля.
8.2.	Совершенность композиции преобразований
Как техническая, так и программная реализация совершенных отображений при больших п,т осложняется тем, что необходимо реализовать большое количество связей между знаками входных и выходных векторов. Поэтому эффект полного перемешивания достигается, как правило, с помощью композиции преобразований, каждое из которых полное перемешивание не осуществляет, но допускает удобную реализацию. Именно так построены итеративные блочные шифры. Например, базовый режим ЕСВ алгоритма шифрования DES реализует композицию 16-цикловых преобразований. Каждое из цикловых преобразований не является совершенным, но уже композиция 5-цикловых преобразований является совершенной.
Перемешивающие свойства композиции преобразований можно изучать, используя свойства перемешивающих графов и матриц.
Рассмотрим матрицы над полем действительных чисел. Матрицу Л назовем положительной (неотрицательной), если положительны (неотрицательны) все ее элементы.
Экспонентом неотрицательной квадратной матрицы А (обозначается ехрЛ) назовем наименьшее натуральное t (если такое t существует), при котором матрица А' положительна. Если при любом натуральном t матрица А' не положительна, то считаем, что ехрЛ = оо.
157
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Показателем совершенности неотрицательной квадратной матрицы А (обозначается рг£4) назовем наименьшее натуральное t (если такое t существует), при котором положительна матрица A(t), где
A(f) = А+А2+...+А'.
Если при любом натуральном t матрица A(t) не положительна, то считаем рг£4 = со.
Будем говорить, что матрица А не меньше матрицы В (обозначается А>В), если ац>Ьу для всех допустимых i,j. Из данных определений непосредственно следуют утверждения.
Утверждение 8.1. Если А - неотрицательная квадратная матрица, то рг£4<ехрЯ.
Утверждение 8.2. Если А и В - неотрицательные квадратные матрицы и А>В, то ехр?1<ехр5 и pr£4<prfZ?.
Пусть М1" =	) есть r-я степень матрицы М смежности вершин
n-вершинного графа G, г>1.
Теорема 8.1. Число путей длины г из вершины j в вершину i в графе G равно тп{?, r>0, i,j& {1,2,...,«}.
Доказательство (индукция по г). Для г = 1 теорема верна по определению матрицы смежности вершин графа.
Пусть теорема доказана для г-1 и для любой пары вершин графа G. Докажем утверждение для г.
Так как М = Л/'1-Л/, то по правилу умножения матриц
• <8Д)
Л=1
По предположению индукции есть число путей в графе G длины г-1 из вершины j в вершину s. Тогда	есть число пу-
тей в графе G длины г из вершины j в вершину i таких, что вершина s предшествует вершине i. Просуммировав по s, получаем общее число путей в графе G длины г из вершины j в вершину i.	♦
Следствие. Для любого «-вершинного орграфа G с матрицей М смежности вершин справедливо:
1)	если G не сильно связен, то prfiW = со;
158
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
2)	если G сильно связен, то ргШ = DiamG<expM.
Доказательство. Первое утверждение непосредственно следует из теоремы. Докажем второе утверждение.
Пусть G сильно связен. Равенство DiamG = d означает, что любая пара вершин (j,i) графа G соединена некоторым путем длины t<d, при этом найдется пара вершин (пусть для определенности эта пара есть (1,2)), кратчайший путь между которыми имеет длину d. По теореме 8.1 это равносильно тому, что для любой пары (Д) при некотором t<d элемент mV матрицы Л/ положителен, при этом для пары (1,2) выполнено:	= 0 для всех t<d и т<2 ’ >0. А это означает, что ргШ = d.
Неравенство DiamG<expM следует из утверждения 8.1.	♦
Перемешивающим графом преобразования ф множества Р^п) называется n-вершинный орграф Дф), в котором пара (Д) является дугой тогда и только тогда, когда х,-б5(Д,	1,2,...,«}. Перемеши-
вающая матрица ЛДф) преобразования ф - это матрица смежности вершин графа Дф).
Теорема 8.2. Преобразование фг несовершенно, если матрица (Л/(ф))' не положительна.
Доказательство (индукция по г). Пусть преобразование фг задано системой координатных функций, г>1:
<рГ = {/1<Г) Д1,  • • Л,), • • • Л(Г)Д1,... Л,)}.
С учетом теоремы 8.1 достаточно показать, что если	то в
графе Дф) имеется путь длины г из вершины j в вершину i, где Де {1,2,...,/г}.
Для г = 1 справедливость теоремы следует из определения графа Дф). Пусть теорема доказана для г-1 и для любой пары вершин графа Дф). Докажем утверждение для г.
Так как фг = ф-фг'1, то Для7 е {1,2,...,и} справедливо:
Ль- -Л,) =/(1)(/i<'’1)(x,,. • -Л,),- • -ЛЛь. -Л,))-	(8.2)
Пусть	где {/1,Г2,-.,6„}с{ 1,2,...,и}. Тогда, с од-
ной стороны, в графе Дф) имеются дуги (ДО, (Д2), •••, и, с другой стороны, из (8.2) получаем, что
159
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Отсюда следует, что если х,е5(/,(г>), то среди чисел найдется такое число ц, при котором	Тогда по предположению ин-
дукции в графе Дф) имеется путь из вершины цв вершину i длины г-1. Присоединяя к этому пути дугу (/, р), получаем путь длины г из у в i. ♦
Следствие 1. Если перемешивающий граф Дф) преобразования ф не сильно связен, то преобразование <рг не является совершенным, г>1.
Доказательство. Так как граф Г(у) не сильно связен, то в нем имеются вершины j и i такие, что не существует пути из j в i, то есть по теореме 8.1 элемент т(р матрицы (Л/(ф))' не положителен при всех г>1. По теореме 8.2 это исключает совершенность преобразования <рг, г>1.	♦
Следствие 2. Если перемешивающий граф Дф) преобразования ф сильно связен, то преобразование фг не является совершенным при г<ехрЛ/(ф).
Доказательство. Если г<ехрЛ1(ф), то в матрице (Л1(ф))г имеется нулевой элемент. По теореме 8.2 это исключает совершенность преобразования фг.	♦
Таким образом, необходимыми условиями совершенности преобразования фг являются сильная связность перемешивающего графа Дф) и достаточно большое число итераций преобразования ф, а именно г>ехрМ(ф).
Если точное вычисление ехрЛДф) вызывает затруднение, то можно либо оценить его экспонентом другой матрицы, сравнимой с матрицей Л/(ф) (см. утверждение 8.2), либо воспользоваться ослабленным необходимым условием совершенности преобразования ф':г>П1атГ(ф).
8.3.	Усиление свойства совершенности
В развитие критерия совершенности были построены критерии качества отображения, отражающие зависимость координатных
160
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
функций от переменных не только на всей области определения, но и на ее подмножествах.
8.3.1.	Строгий лавинный критерий
Этот критерий разработан в связи с исследованиями, нелинейных отображений (5-боксов), реализованных в ОЕ^-алгоритме [7,9].
Отображение ф удовлетворяет строгому лавинному критерию (СЛК), если каждая координатная функция отображения ф(х)-ф(х+е,) является сбалансированной.
Выполнение СЛК означает, что изменение одной координаты случайно выбранного вектора х&Р^ индуцирует равномерное вероятностное распределение на множестве значений случайного вектора ф(х)-ф(х+е().
Если Р = GF(2), то для отображения ф, удовлетворяющего СЛК, при всех zg{ 1,2,..., п} выполнено векторное равенство
X (Ф(х)®ф(х®е,)) = (г"-1,...^"’1).
**Vn
Отображение ф удовлетворяет СЛК порядка г, если удовлетворяет СЛК подфункция каждой координатной функции отображения ф, полученная любой фиксацией любых г переменных, 0<г<п. Очевидно, чем больше г, тем жестче критерий перемешивающих свойств отображения.
Утверждение 8.4. Если отображение ф удовлетворяет СЛК, то каждая его координатная функция нелинейно зависит от каждой переменной.
Доказательство. Без ущерба для общности рассуждений рассмотрим зависимость координатной функции fi(xi,X2,...,xn) отображения ф от переменной X].
Если xi&S(fi), то выполнено тождество/i(x)-/i(x+ei>0 и, следовательно, отображение ф не удовлетворяет СЛК.
Если/1(х1,Х2,...,х„) зависит otxi линейно, то есть
/1 (xi ,х2,... ,х„) = а-Х1+ф(х2,... д„),
161
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
где а - ненулевой элемент поля Р, >Р, тогда f\(x)-f\{x+e\)=-a и, следовательно, отображение ф не удовлетворяет CJIK.	♦
Следствие. Если Р = GF(2) и отображение ф удовлетворяет СЛК порядка г, то г<п-2.
8.3.2.	Критерии распространения и бент-отображения
В развитие СЛК было разработано семейство более жестких критериев качества криптографических отображений [31], получивших название критериев распространения (КР).
Отображение ф удовлетворяет КР степени I, если каждая координатная функция отображения ф(х)-ф(х+а) является сбалансированной при любом векторе аеР1'^, имеющем не более I ненулевых координат, \<1<п.
Отображение ф удовлетворяет КР степени I порядка г, если удовлетворяет КР степени I подфункция каждой координатной функции отображения ф, полученная произвольной фиксацией произвольных г переменных, \<г<п.
КР степени 1 равносилен СЛК.
Дальнейшее усиление критериев нашло отражение в понятии бент-отображения [23, 33].
Отображение ф называется бент-отображением (при т = 1 бент-функцией), если при любом ненулевом векторе аеР00 каждая координатная функция отображения ф(х)-ф(х+а) сбалансирована.
Из определения следует, что бент-отображение удовлетворяет СЛК и КР степени п.
Для булевой бент-функции имеется эквивалентное определение как функции, у которой все коэффициенты Уолша равны ±2”/2. Так как эти коэффициенты есть целые числа, то булевы бент-функции существуют только для четных п и имеют вес 2пЛ±2!лл. Несбалансированность бент-функций не позволяет широко применять их в криптографических приложениях. Поэтому наиболее привлекательным объектом исследований криптологии являются сбалансированные отображения, удовлетворяющие СЛК и КР.
162
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
Множество булевых бент-функций инвариантно относительно группы аффинных преобразований и каждая из них имеет при и>2 степень нелинейности не выше п/2.
При Р = GF(2) <р является бент-отображением тогда и только тогда, когда каждая нетривиальная линейная комбинация его координатных функций есть бент-функция.
В противовес позитивным свойствам бент-функций изучаются и слабости функций, к которым относится, в частности, наличие у функции линейных структур.
Вектор аеР^ называют линейной структурой отображения ф, если ф(х)-ф(х+а)=й для некоторого Ь&Р^т\ Очевидно, наличие у ф ненулевой линейной структуры исключает свойство «бент».
8.4.	Алгебраические характеристики нелинейности
К алгебраическим характеристикам нелинейности отображения относятся характеристики системы полиномов, задающих координатные функции отображения.
Степенью нелинейности отображения ф (обозначается deg9) называется наибольшая из степеней нелинейности его координатных функций:
degф= max {deg/.(x1,x2,...,xn)}.
Отображение называется сильно нелинейным, если нелинейными являются все его координатные функции. Из утверждения 8.4 следует, что любое удовлетворяющее СЛК отображение является сильно нелинейным.
Отображение ф аффинно на множестве X, где ХсР(,|), если найдется аффинное отображение ф такое, что ф(х) = ф(х) при любом хеХ. Разбиение множества Р(/,) с системой блоков (Х\,Хъ ...,Хг) назовем линеаризующим отображение ф, если ф аффинно на каждом из множеств Х,Х2, ...,ХГ, число г назовем порядком разбиения множества 1*п\
Порядком аффинности отображения ф (обозначим его а^ф) назовем наименьший из порядков разбиений множества Р00, линеари
163
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
зующих отображение <р. Если ardcp = г, то множество решений уравнения ф(х) = b содержится в объединении множеств решений уравнений ф,(х) = Ь, где ф, - аффинное отображение, i = 1,2,...г.
Характеристической функцией множества X, где ХсР*'‘\ назовем функцию/y(xi,x2,...,x„), определенную на множестве Р(/,) следующим образом:
г/	ч (1, (х.,х,,...,х„)бХ,
Д(Х1Д2,...Л1)-	..„xJgX.
Теорема 8.3. Если (Xi,X2,...,Xr) - система блоков разбиения множества Р^п\ линеаризующего отображение ф, то
degcp<l+ max {deg/x (^,x2,...,x„)}. '6(1.2..........г)
Доказательство. По условиям теоремы найдутся аффинные отображения \|/( такие, что ф(х) = \|/,(х) при любом хеХ„ i = 1,2,...г. Следовательно, верно представление
ф(Х],Х2,...,Х„) =	•/Х (х1,х2,...,хп).
1=1
Так как deg\|/,(x) = 1 для всех i = 1,2,...г, то отсюда получаем справедливость теоремы.	♦
Рассмотрим так называемое простое разбиение 7?'1........*' множества
Р(") порядка kr, 1 <г<п, с блоками вида
х«,7'аг = Uxi,...^n)ePw: =а1,...,х,г =аг},
где {й,...,/»•}<={ 1,2,...,п} и набор (аь...,а,-) пробегает все кг значений. Разбиение R1'--'- линеаризует отображение ф тогда и только тогда, когда является аффинной подфункция каждой координатной функции отображения ф, полученная произвольной фиксацией переменных х, ,..., х, , \<г<п.
'1 'г
Индексом аффинности отображения ф (обозначается шбф) называется число г, если кг есть наименьший из порядков простых разбиений множества Р(п\ линеаризующих отображение ф. Из определений следует, что тбф>^*(агбф).
164
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
Теорема 8.4. Для отображения <р выполнено: degcp < l+(fc-l)-znd<p.
Доказательство. Пусть indzp = г и (что не нарушает общности рассуждений) блоки простого разбиения множества Р^, линеаризующего отображение <р, есть X'a^,ra , a\,...,areP. Характеристическая функция /а'’^гй блока X'a’^a равна:
=c(ab...,ar)- fj (^-&)••••• П
ЬеР;	beP; b*ar
где c(aj,...,ar) - константа поля Р. Отсюда имеем, что
(к-1)-г. Тогда по теореме 8.3 получаем, что
degcp<l+(fc-l)-r.	♦
Отсюда следует, в частности, что степень нелинейности всякой функции £-значной логики не превосходит п-(к-Г). При к = 2 для биективных преобразований оценку можно уточнить.
Теорема 8.5. Пусть <р - биективное преобразование множества У„, и>1. Тогда deg<p<n-l.
Доказательство. По следствию 2 теоремы 5.2 все координатные функции биективного преобразования ср равновероятны. Следовательно, по теореме 3.11 степень нелинейности каждой из них меньшей.	♦
Между степенями нелинейности прямого и обратного преобразований множества имеется связь [63]. В частности, для преобразований множества Vn верна теорема.
Теорема 8.6. Если <р обратимо и deg<p = d, то верны точные оценки:
----- < degcp < п-----— .
_n-d\_	L d
165
S. M. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ 
8.5.	Линейный синдром при итерациях
Для построения сложных преобразований с заданными свойствами нередко используется композиция относительно простых преобразований, поэтому представляет интерес поведение степени нелинейности преобразования при итерациях. Последовательности Ф= {ср,<р2,...,<р',...) степеней преобразования ф множества Р(л) соответствует последовательность степеней нелинейности
£>ф = {deg9, deg92, deg93,..., deg9‘, ...}.
Если ф биективно, то последовательность Ф - чисто периодическая с периодом и по утверждению 6.1 также чисто периодическая с периодом t, где При этом degф' = 1, так как
degф' = deg ф,ф = dege,
где е - тождественное преобразование.
Линейным синдромом биективного нелинейного преобразования Ф назовем наличие в циклической группе <ф> аффинных преобразований, отличных от тождественного. Если нелинейное преобразование ф имеет линейный синдром, то в последовательности Ф содержатся аффинные преобразования, не считая преобразований ф' при i, кратных tv.
Показателем аффинности (показателем линейности) преобразования ф называется наименьшее натуральное число г, при котором преобразование фг аффинно (линейно). Обозначим эти величины ахрф и 1хрф соответственно. Очевидно, для любого биективного преобразования ф обе эти величины не превосходят периода Ар и 1хрф>ахрф.
Теорема 8.7. Для любого биективного преобразования ф:
1)	1хрф/тф, ахрф/Гф, ахрф/1хрф;
2)	преобразование ф' аффинно (линейно) тогда и только тогда, когда ахрф/r (1хрф/г).
Доказательство. Для удобства упростим обозначения: = t, 1хрф = /, ахрф = а, где a<l<t.
166
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
1. Если / не делит t, то t = l-q+r, где 0<г<1. Тогда выполняется цепочка равенств:
Л	Ч*Г Л'Ч Г
e = (p = ср = ф -ф .
Так как q/ есть линейное биективное преобразование и множество всех линейных биективных преобразований образует группу, то из последнего равенства следует:
<рг = (ср' *) *-
Следовательно, фг - тоже линейное преобразование и 1хрф</. Имеем противоречие. Значит, I делит t.
Соотношения ахрф/гф и ахрфЛхрф доказываются аналогично.
2. Рассмотрим преобразование ф', где se {1,2,...,Г-1}.
Если I = t, то преобразование ф’ не является линейным и утверждение 2 выполнено.
Если l<t, то при любом натуральном i преобразование ф'7 является линейным, так как является ьй степенью линейного преобразования ф;. Если I не делит 5, то s = l-q+r, где 0<г<1. В этом случае справедлива цепочка равенств
ф,=ф/*к = ф/’.фг.
Так как у1 есть линейное биективное преобразование и множество всех линейных биективных преобразований образует группу, то из последнего равенства следует:
фЧф'ЛЧ’-
Следовательно, фг - тоже линейное преобразование и 1хрф</. Имеем противоречие. Значит, I делит 5.
Второе утверждение теоремы, относящееся к аффинным преобразованиям, доказывается аналогично.	♦
Следствие. Если период гф нелинейного биективного преобразования ф простое число, то ф не имеет линейного синдрома.
Если период Гф преобразования ф известен и не является простым числом, то определить величины 1хрф и ахрф можно с помощью итеративной процедуры, построенной с учетом теоремы 8.8.
167
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Пусть каноническое разложение числа т на неприводимые множители имеет вид:
Л» к^ к т = Р,'-Р22 ••••• Р/ >
где р\, р2, ps - все простые делители числа т, а к\, кг, ..., ^-соответствующие им ненулевые кратности. Через D(m) обозначим множество делителей числа т вида
D(m) = {m/pi, т/рг,..., tn/ps}.
Теорема 8.8. Пусть преобразование ф"1 аффинно (линейно). Тогда
1) если для всех преобразование ф' не аффинно (не линейно), то ахрф = т (1хрф = т);
2) если преобразование ф' аффинно (линейно) для j&D, где	то аффинно (линейно) и преобразование ф^,
где d = HOmj:j<=D}.
Доказательство. Из утверждения 2 теоремы 8.7 следует, что ахрф/т.
Любой нетривиальный делитель числа т делит хотя бы одно из чисел множества D(in). Поэтому если ахрф^т (1хрф^т), то ахрф (1хрф) делит хотя бы одно из чисел множества D(m), что противоречит условиям первого утверждения теоремы. Следовательно, в условиях первого утверждения теоремы ахрф = т (1хрф = т).
Если ахрф (1хрф) делит некоторые числа, то ахрф (1хрф) делит и их НОД.	♦
Таким образом, за конечное число шагов можно определить ахрф (1хрф), если уметь распознавать аффинность (линейность) различных степеней преобразования ф. Распознавание аффинности (линейности) таблично заданного преобразования может оказаться вычислительно трудоемким, однако можно достаточно легко убедиться в не-аффинности многих преобразований.
Утверждение 8.5. Преобразование ф не является линейным, если ф(х+у)*ф(х)+ф(у) для некоторых векторов х.уеР00.
Доказательство. Вытекает непосредственно из определения линейности преобразования.	♦
168
______Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
Утверждение 8.6. Преобразование <р не является аффинным, если оно не является линейным и для некоторых векторов x.y.zeP00 <p(x-y+z) * ф(х)-чр(у)+ф(г).
Доказательство. Если преобразование ф аффинно и не является линейным, то для любого хеР('°
Ф(х) = ф(х)+ц, где \|/ - линейное преобразование и ц - ненулевой вектор из Р00. Используя последнее равенство и линейность преобразования ф, получаем:
Ф(х-у+г) = \|/(x-y+z)+p = ф(х)-ф(у)+ф(г)+ц =
= ф(х)+ц-ф(у)-ц+ф(г)+ц = ф(х)-ф(у)+Ф(Д	♦
Если показатель линейности преобразования ф меньше его периода, то может оказаться полезной следующая оценка линейной сложности Л(Ф) последовательности Ф через характеристики преобразования ф.
Теорема 8.8. Пусть ф биективно, 1хрф = Ind- степень минимального многочлена матрицы ф*, тогда Л(Ф)</-d<l-n.
Доказательство. Рассмотрим подпоследовательность Фг последовательности Ф:
фг= {фг, ф2г, ф3г,... ,ф'г,...}, г= 1,2,...
Если минимальный многочлен Fr(X) последовательности Фг имеет степень т, то многочлен Fr(V) степени r-т аннулирует последовательность Ф, то есть Л(Ф) < гт.
При г = I преобразование ф' линейно и минимальный многочлен F/(X) последовательности Ф/ совпадает с минимальным многочленом матрицы ф(, степень которого равна d, где d<n. Следовательно, Л(Ф)</.^</-п.	♦
8.6. Приближения нелинейных отображений
Пусть f и g - булевы функции от п переменных. Функцию g можно рассматривать как приближение функции f. В качестве меры
169
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
d(f,g) близости функций/и g используется расстояние по Хэммингу между их таблицами:
d(fe)= ||/Ф 4
Под расстоянием d{f,F) от функции /до множества функций F, где FcPzin), понимается расстояние от/до «ближайшей» функции множества F:
d(f,F)= min<g).	(8.3)
g&F
Функцию g из класса F называют наилучшим приближением функции/в классе F, если
d(fa) = d(f,F).
Важнейшей криптографической характеристикой функции / от и переменных является ее расстояние до множества А(п) аффинных функций от п переменных. Расстояние от функции / до множества А(п) называется нелинейностью функции/и обозначается Nf.
Нелинейность Nf функции / инвариантна относительно группы всех аффинных преобразований пространства Vn и связана следующим соотношением со спектром Уолша:
М = 2"'1-1/2-тах |/й|.
а&п
Из равенства Парсеваля следует, что для любой б.ф./
max |/й| > г"72.
aeVn
Наибольшую нелинейность имеют функции, для которых это неравенство обращается в равенство. Такие функции называют максимально нелинейными. Нетрудно видеть, что при четных п это в точности класс булевых бент-функций, то есть при четных п понятия максимально нелинейной функции и бент-функции являются синонимами для б.ф.
В [28] исследованы обобщенные бент-функции, реализующие отображения Z^"’—>Zn), где Z„, - кольцо вычетов по модулю т. Показано, что максимально нелинейная функция является бент-функцией,
170
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
но бент-функция является максимально нелинейной, только если т -простое число.
Еще одной важной характеристикой функций, связанной с наличием у них аффинных приближений определенного вида, является их корреляционный иммунитет.
Функцияf(xi,...,Xn), реализующая отображение Р(п>—называется корреляционно-иммунной порядка г, \<г<п (обозначим это cim/= г), если функция/(хь ...,х„)-/(хь...,х„) сбалансирована при любой линейной функции Z(xi, ...,х„), зависящей существенно от t переменных, 1</<г.
Сбалансированная функция /(хь ...,х„) называется г-эластичной, если cim/= г.
Отображение >Р(т) называется корреляционно-иммунным порядка г, если каждая координатная функция отображения <р является корреляционно иммунной порядка г.
Из данных определений следует, что корреляционно-иммунные функции порядка г не имеют хороших приближений в классе аффинных функций, зависящих существенно не более чем от г переменных.
Если cim/ = г, то /я = 0 для всех векторов а веса не более г. Свойство корреляционной иммунности инвариантно относительно действия на функцию группы Джевонса Qn.
В случае Р = GF(2) имеются ограничения на коэффициенты АНФ функции/(хь...,х„), обладающей корреляционным иммунитетом порядка г [41]:
cirn/+deg/Sn.
Для r-эластичной функции /(xi, ...,х„) при ге{ 1,2,...,п-2] ограничения жестче:
cim/+deg^n-l.
В [46] в развитие этих результатов показано, что если cirnf = г, то все коэффициенты АНФ при членах степени п-r равны между собой, для r-эластичной функции они равны 0.
Важным направлением исследования функций является описание (построение) классов функций, удовлетворяющих заданному набору условий. Одно из наиболее актуальных в криптологии направлений -построение сбалансированных отображений с возможно большей нелинейностью.
171
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
8.7. Задачи и упражнения
8.1.	Докажите, что при п—><ю доля совершенных отображений среди всех отображений ф:У„—>Vm стремится к 1. Сколько имеется различных совершенных преобразований множества Уз?
8.2.	Приведите пример неотрицательной матрицы М, у которой:
а)	рг£М = оо;
б)	ргШ конечен, ехрЛ/ = оо.
8.3.	Докажите, что при т<п преобразование фт несовершенно, если (р - преобразование регистра сдвига пространства Р^. Каков диаметр перемешивающего графа Г(ф)? Найдется ли преобразование регистра сдвига ф такое, что ехрЛДф) = оо?
8.4.	Докажите, что если ф - линейное биективное преобразование множества Vn, где и>1, то ехрЛДф) = оо.
8.5.	Определите ргШ(ф) для треугольного преобразования ф пространства Р(,,), где и>1.
8.6.	Пусть ф есть совершенное отображение Уз-»Ут, т>1, все координатные функции которого самодвойственны и нелинейны по каждому переменному.
1)	Докажите, что отображение ф подчиняется СЛК.
2)	Опишите множество координатных функций такого отображения ф. Имеется ли при т = 3 обратимое преобразование ф с такими свойствами?
8.7.	Докажите, что при w<log^i преобразование ф"1 несовершенно, если каждая координатная функция преобразования ф пространства Р(л) зависит существенно не более чем от г переменных, г<п.
8.8.	При каких т преобразование ф"1 несовершенно, если преобразование ф множества V,, задано системой координатных функций /2(х2,хз,...Л+1),.fn(xn,x\,...,xr.i)}, где 1<г<и и все указанные переменные являются существенными?
Значения индексов вычисляются по модулю п.
172
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
8.9.	Докажите, что для любого преобразования ср множества Vn верны оценки: degcp-1 < indtp < n-1.
8.10.	Докажите неравенство для б.ф./от л переменных, многочлен Жегалкина которой содержит К членов: ind/> Iog2/C-Iog2«.
8.11.	Докажите для биективного преобразования <р множества Vn:
а)	если degcp = 2, то degcp'1 < (и+1)/2;
б)	если degcp = п-1, то degtp'1 = п-1.
8.12.	Определите порядок аффинности и индекс аффинности б.ф./
1)/= Хд®Х] Хз®Х2 -Хз ®Х1 -Х2 Хз®Х1 Хг-Хд;
2)/= Х1 Х2*3*4®Х1®Х2®Хз.
8.13.	Является ли tp бент-преобразованием множества Vn, если степень нелинейности преобразования ср'1 равна п-1?
8.14.	Пусть ср и ср - преобразования множества V,,, причем degcp = d, а ср биективно и линейно. Докажите, что
a)	degcp-cp = degcp-cp = d;
б)	indcp-\p = indcp.
8.15.	Докажите, что наилучшим аффинным приближением б.ф. /x1,x2,...,x„)®g(xn+i,x„+2,...,xn)), где g линейна, является функция a(xi,x2,...,x,1)®g(x„+i,x„+2,...,xm), где «(xi,X2,...,x„) - наилучшее аффинное приближение б.ф.Дх1,Х2,...,хя).
8.16.	Докажите, что если расстояние от б.ф./х1,Х2,...,х„) до аффинной б.ф. a(xi,X2..х„) не больше 2"'2, где л>1, то a(xi,X2,...,xn) есть наи-
лучшее аффинное приближение б.ф.Дх1,Х2,...,х„).
8.17.	Определите расстояние от б.ф./до каждой из аффинных б.ф. и нелинейность Nf функции/
а) / = х 1 -X2®Xi -ХзФхг -Хз ®х 1 -хг -хз;
б)/= Х1®Х2®Х2 Хз;
в) /= Х1 Х2®Хз®Х1 Х2 Хд.
8.18.	Определите наилучшее аффинное приближение б.ф./еР2(«):
а)	п = 3, /= xj Х2®Х) хз®хг хз;
б)	П = 3, /= Х1®Х2©Хз®Х| Х2 Хз;
173
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
в)	П = 4, f = X] -X2@X2-X.vX4;
г)	п = 5, f = Х1 -Х2@Хз Х4ФХ5.
8.19.	Докажите, что б.ф.Дхь...,хл) не является бент-функцией, если она: имеет фиктивную переменную; зависит чисто линейно от некоторой переменной.
8.20.	Докажите, что б.ф./Ф§, гдеДх1,Х2,...,х„) и g(xn+i,xn+2,...,xm) зависят от непересекающихся множеств переменных:
а)	есть бент-функция тогда и только тогда, когда обе функции/и g есть бент-функции;
б)	удовлетворяет КР степени I тогда и только тогда, когда обе функции У и g удовлетворяют КР степени I.
8.21.	Является ли б.ф.Дх1,Х2,...,хп) бент-функцией:
а)	п = 4, Дх) = X] -Х2@хз Х4;
б)	п = 3, fix) = xi -хгФхз;
в)	п = 5, fix) = Х1 -Х2@Хз-Х4-Х5?
8.22.	Докажите, что множество линейных структур отображения образует подпространство пространства Р^.
8.23.	Докажите, что б.ф. fixi,...,xn) имеет ненулевую линейную структуру, если зависит от некоторых переменных линейно.
8.24.	Докажите, что ахрср>и, если <р - нелинейное преобразование регистра сдвига множества Vn.
8.25.	Определите ахрср, где <р - преобразование регистра левого сдвига множества V„ с обратной связью/(xj Х4):
a)	fixi,..., Х4) = xi@X2-X4;
б)	fiXl, .... Х4) = X!©X2@X3-X4;
в)	fixi, .... Х4) = Х1@Х2-Хз-Х4@1.
8.26.	Определите ахрф, где ф - треугольное преобразование множества У„, заданное координатными функциями:
а)	П = 4, ф = {Xi, X2@l, X] -Х2@Хз, Х1@Х2-Хз@Х4};
б)	п = 4, ф = {Х1Ф1, Х1@Х2@1, Х1@Х2@Хз, Х1-Х2@Х2-Хз@Х4);
в)	п = 5, ф = {хь Х|@Х2, Х1Фх.зФ1, Х| -X2©X4, Х3Х4ФХ5Ф1 }.
174
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ
\ 8.27. Существует ли полноцикловое преобразование ф множества V,,, для которого ахрф<2" ’? Рассмотрите множество преобразований ЛКГ.
8.28. Опишите класс всех аффинных преобразований ф множества V„, для которых с1гпф = к, 0<к<п. Найдется ли в таком классе биективное преобразование, если к = п-1; к = п-2?
8.29. Докажите, что преобразование входного блока 2-циклового алгоритма шифрования DES при каждом фиксированном ключе несовершенно.
175
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
9.1.	Функционирование автомата, виды автоматов
Автоматом (или автоматом Мили) называется система из пяти объектов А = (X,S, Y,h,f), где X,S,Y - непустые множества, a h nf- отображения: /г:5хХ-»5;/;5хХ->У.
Множества X, S, Y называются соответственно входным, внутренним и выходным алфавитами, а их элементы - входными символами, состояниями и выходными символами. Множество S называют также множеством состояний автомата А. Отображения h и f называются соответственно функцией переходов и функцией выходов.
Автомат А называют конечным, если множества X, S, Y конечны.
Полагается, что автомат функционирует в дискретные моменты времени (такты). В t-м такте, t = 1,2,..., автомат находится в состоянии steS, воспринимает входной символ xteX, выдает выходной символ угеУ и далее переходит в состояние sf+iG5. Закон функционирования автомата во времени определяется следующими соотношениями:
st+1 = h(st,xt);	(9.1)
у,=Лзд),/=1,2,...	(9.2)
В соответствии с (9.1) и (9.2) автомат А преобразует входное слово х = (xi,X2,...,xz) в выходное слово у = (yi,yz,—,yi) той же длины I, проходя последовательность внутренних состояний s = (sb^—^+i)-Состояние 5] называется начальным, состояние sm конечным или финальным. При этом говорят также, что входная последовательность х переводит состояние $1 в состояние 5/+i.
Множество всех входных (выходных) слов в алфавите X (в алфавите У) обозначим через X* (через У*). Пустое слово обозначим А. Связанные с функционированием автомата А отображения h*:S*X*—>S и /*:5хХ*-УУ* зададим при каждом seS следующими равенствами:
h*(s,A) = 5; f*(s,A) = A;	(9.3)
ЛШОШФП
176
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
кроме того, для всех хеХ, weX*
h*(s,w-x) = Л(й*(5,и’)д); f*(s,w-x)	(9.4)
Из равенств (9.3), (9.4) несложно вывести, используя метод математической индукции, что реакция автомата Мили на последовательное введение входных слов v и w равна его реакции на входное слово v-w, то есть справедлива следующая теорема.
Теорема 9.1. Для произвольных слов v и w из X* и произвольного seS автомата Мили выполняются равенства
h*(s,v-w) = /i*(/i*(s,v),w);	(9.5)
J*(s, v-w)	(9.6)
Функцию ft'.SxX1—>У, отображающую множество начальных состояний и входных слов длины I во множество значений /-го знака выходного слова, назовем l-й выходной функцией автомата А, 1= 1,2,...
У/(^1,Х1,х2,...,х/) = у/.
Преобразование hx множества S, определяемое как подфункция функции h(s^c), соответствующая фиксированному значению х, hx(s) = h(s,x),
называется частичной функцией переходов автомата А. Для любого входного слова х = (xj,x2,...,x/) преобразование h- множества S есть композиция преобразований:
<9-7>
Автомат А называется регулярным (перестановочным, подстановочным), если все его частичные функции переходов являются подстановками множества S.
Различаются следующие виды автоматов.
Автомат А называется внутреннеавтономным, если функция переходов h(s,x) не зависит от х, то есть htS-+S.
Автомат А называется автоматом Мура или внешнеавтономным, если функция выходовД$,х) не зависит от х, то есть f'.S-^Y.
177
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Автомат А = (S,Y,h,f) называют автономным, если он и внутренне- и внешнеавтономен. Выходные функции автономного автомата зависят лишь от начального состояния.
Внутреннеавтономный автомат А с тождественной функцией переходов (обозначение А = (X,S,Y,f)) назовем автоматом с постоянной памятью (а.п.п.).
Автомат А = (X, У,/) реализует отображение f:X—>Y и называется автоматом без памяти или комбинационной схемой, если функционирование автомата определяется лишь функцией выходов.
Автомат А = (X,S,h) называют автоматом без выходов, если функционирование автомата определяется лишь функцией переходов. Автономный автомат без выходов А = (S,h) есть преобразование h множества 5.
Пусть и W*0. Если множество допустимых начальных состояний автомата Мили А ограничено множеством W, то пара (A,VV) называется слабоинициальным автоматом (с.и.а.). Автомат (A,W) описывается системой:
(A,W) = (X,(S,W),Y,hJ).
В частности, если W = {vv} - одноэлементное множество, то есть в автомате А начальное состояние weS фиксировано, то пара (А,{и1}) называется инициальным автоматом (и.а.). При этом будем обозначать
Aw = (A,{w}) = (X,(S,{w}),Y,hJ).
9.2.	Способы задания автоматов Мили
Для задания автомата А = (X,S,Y,h,f) необходимо описать каждое из множеств X, S, Y и задать отображения h и /. Это можно сделать различными способами.
1.	Табличный способ.
Пусть алфавиты автомата А имеют вид:
X={№,..4r); 5= {аьа2,...,о„}; Y = {рьр2,...,рт}.
Таблица автомата состоит из двух частей: левая часть задает функцию переходов, правая часть - функцию выходов:
178
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
	•s-r+1	I	yt								
5,\х,				.. .	1			.. ♦	Kr
Hl		.. .				...			
.. .	.. .	. . .	. . .	. . .	I	. . .	...		.. ♦
a.	*..	.. .	А(О/Л,)			...	Ла/, %)	...	
			. . .			. ♦.	...		.. .
	...		...	♦..			...	♦..	
Из данной таблицы следует, что число различных автоматов Мили (различных таблиц) с алфавитами мощности г,п,т равно (т-п)гп.
2.	Задание автоматов формулами и алгоритмами.
Пусть max {г, и, иг} = к, тогда отображения h и/можно рассматривать как функции й-значной логики (определенные, если min{r,n}<£ не всюду, а лишь на части наборов). Следовательно, можно задать автомат А, описав алфавиты X, S, Y и задав функции h и/формулами или алгоритмами.
3.	Автоматный граф.
Автомат Мили А = (X,S,Y,h,f) можно задать автоматным графом - ориентированным графом ГА = (S.E) с помеченными вершинами и дугами. Пара (с,-,о/)еЕ тогда и только тогда, когда найдется fyeX, при котором h(Oi£i) = <jj. При этом ребро (о/,ст/) помечается набором символов (1Ц/p;j/р^,...,^ /₽/,), который означает, что для каждого v = 1,2,...,t верны равенства
Л(с,,^) = о>,	(9.8)
В автоматном графе ГА автомата Мура А ребро помечается набором символов	..Ц)> означающим, что для всех
v=1,2,...,Z справедливо равенство (9.8), а вершина ст, помечается символом р, , означающим, что До,) = Р, • 'i	t
179
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Автомат А (и автоматный граф ГА) называется сильно связным, если из каждого состояния можно перейти в любое другое состояние при некоторой входной последовательности.
Автомат А (и автоматный граф ГА) называется связным, если связен граф, полученный из Гл заменой дуг на ребра.
Множество состояний всякого конечного автомата (вершин автоматного графа) разбивается на г компонент связности, 1 <г<| S|.
4.	Задание автоматов формулами и схемами.
При задании конечного автомата Мили в ряде случаев наряду с формулами для большей наглядности используются схемы. Приведем несколько примеров.
Неавтономный регистр сдвига длины п с одной обратной связью ф(х„,х„.1,...,Х1) (рис. 9.1).
Данный автомат является неавтономным автоматом Мура, в котором X = Y = {0,1}, S = Vn. Функции h и/есть б.ф.:
/i(x,„...,xi,a) = (а®ф(х„,...,Х1)л>,-Л2); Лх„,...Л1,а) = хь
Если входная последовательность {а,} состоит из нулей, то данный автомат можно рассматривать как автономный автомат (автономный регистр сдвига).
Внутренне автономный автомат, построенный на основе регистра сдвига (рис. 9.2).
180
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
Рис. 9.2. Внутреннеавтономный регистр сдвига
Функции переходов и выходов этого автомата имеют вид:
Л(х„,...,хьа) = (<p(x,„...,x0.x,„....хг); Лх,„...Д1,а) = а®хь
9.3.	Отношения и операции с автоматами
Рассмотрим автоматы А = (X,S, Y,h,f) и А’ = (X’,S’,
Автоматы А и А’ называются однородными, если X’ = X, Р = Y. Однородные автоматы А и А’ называются согласованными, если для любых sei'nS’ и хеХ
(h,(srx),f(srx)') = (h(s,x),f(s,x)).
С.и.а. (A,W) и (A’,W) называются однородными (согласованными), если автоматы А и А’ являются однородными (согласованными).
Объединением согласованных автоматов А и А’ (обозначение АиА’) называется автомат А = (X,S<jS’,Y,h”,f’), для которого при любых хеХ и seSuS’ выполняется:
h"(VY\-	I h{s,x),	если	seS,
(Л'С5,*),	если	seS',
гч_	/ f(s,x),	если	seS,
(	если	seS'.
Объединением согласованных с.и.а. (A, VV) = (X,(S, W),Y,h,f) и (A’,VP) = (Х(5’,УГ),У,Л’/) назовем с.и.а. (АиА’, WUVP).
Отсюда следует, что всякий с.и.а. (A,W) можно представить как объединение согласованных и.а.:
(A,W) = (J(A,{w)).
иеИ'
181
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Автомат А’ называется подавтоматом автомата А, если Х’аХ, S’<z.S, Fez У и функции h’, f есть ограничения соответственно функций h, /на множество S'xX’. Подавтоматом автомата А является, в частности, автомат, задаваемый компонентой связности автоматного графа ГА.
С.и.а. (A’.VF) называется подавтоматом с.и.а. (A,W), если А’ -подавтомат автомата А и W aW.
Гомоморфизмом автомата А в автомат А' называется тройка отображений <pi:X—>Х', фг’.5 ->5', фз:У-»У', для которых при любых хеХ и s&S выполняется
Й'(ф2($),ф1(х)) = ф2(/1(5Л))/(ф2(^),ф1(х)) = фз(У(.У,х)).
Гомоморфизмом с.и.а. (А, И7) в с.и.а. (A’.VV’) называется гомоморфизм автомата А в автомат А', при котором фг отображает Wb W.
Если фьф2,фз - биективные отображения, то автоматы А и А' называются изоморфными.
С.и.а. (A, W) и (A’,W) называются изоморфными, если изоморфны автоматы А и А' и ограничение биекции фг на множество W есть биекция
Последовательным соединением автоматов Мили А] = (X,5i, и Аг = (Y,S2,Z,h2,f2) (обозначение Ai—>А2) называется автомат Мили А = (X,S,Z,h,f), где 5 = Sjx52 и для любых хеХ и s&S выполняется
h(s,X) = h((Sl,S2),X) = (Л1(51Л), Л2(52/1(51Л))),
/ал) =Л(ЯЛ)Л) =/2(-у2/1(51Л)).
Последовательным соединением с.и.а. (Ai,W|) =
и (A2,W2) = (Y,(S2,W2),Z,/i2,f2) назовем с.и.а. (Ai-M^xWy.
Прямой суммой автоматов А] = (X\,S\,Y\,h\,f\) и А2 = (Хг^Уг,/^,/?) (обозначение А[хА2) называется автомат А = (X,S,Y,h,f), в котором X = Х|хХ2, S = 5ix52, Y = YtxY2 и для любыххеХ и seS:
h(s,x) = /г((51,52),(Х1Л2)) = (Й1(51Л1), h2(s2^c2)),
/((Sl,S2),(Xi,X2)) = (/|(5'|,Х1),/2(52Л2))-
182
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
Прямой суммой с.и.a. (Ai,IVi) = (Xi,(Si, IVt), Y\,h i,/i) и (A2,W2) = (X2,(S2,W2),Y2,h2,f2) назовем с.и.а. (AixA^xW^.
He каждый автомат Мили может быть представлен автоматом Мура с теми же алфавитами X,S,Y. Но за счет расширения множества состояний для каждого автомата Мили можно построить равносильный ему автомат Мура.
9.4.	Различимость состояний и входов
Одним из центральных вопросов теории конечных автоматов является вопрос минимизации автомата, то есть исследование возможности и сложности построения для данного автомата А автомата В с меньшим внутренним алфавитом, реализующего то же множество автоматных отображений. В связи с этим представляет интерес сравнение поведения автомата в различных состояниях.
Реакцией состояния 5 (или автоматным отображением при начальном состоянии л) называется порожденное этим состоянием отображение/,^*—>У* где
/.(w) =/*(s,w).
Реакцией автомата А, обозначаемой через [А] (или множеством всех его автоматных отображений), называется множество реакций всех его состояний:
[А] = {fJseS}.
Состояния 5 и z из S называются эквивалентными, если они имеют одинаковые реакции.
Автоматы Мили называются эквивалентными, если они имеют одинаковые реакции.
Эквивалентные автоматы Мили являются однородными, так как равенство отображений означает совпадение их областей определения и областей значений.
Автомат Мили А называется сокращенным, если неэквивалентны любые два его состояния.
Возможность построения сокращенного автомата для заданного автомата Мили определяет следующая теорема.
183
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ_______
Теорема 9.2 (Хаффман - Мили). Для эквивалентности двух состояний автомата Мили с п состояниями (п>1) достаточно, чтобы совпадали реакции этих состояний на входные слова длины, не большей п-1.
Доказательство. Пусть А = (X,S,Y,h,f) - автомат Мили. Состояния 5 и z автомата А назовем ^-эквивалентными, к - натуральное число, если для всех weX*
=f*(z,w).
Данное отношение является отношением эквивалентности, так как оно рефлексивно, симметрично и транзитивно. Следовательно, множество 5 разбивается на классы ^-эквивалентных состояний.
Из определения ^-эквивалентности следует, что (к+1 ^эквивалентные состояния являются и ^-эквивалентными, поэтому каждый класс (к+1 )-эквивалентности целиком содержится в некотором классе ^-эквивалентности. Следовательно, разбиение Rk+\ множества S' на классы (к+1 )-эквивалентности является продолжением разбиения Rk множества S на классы ^-эквивалентности.
Утверждение 9.1 (промежуточное). Если Rk+l = Rk, то Rj = Rk для всех j>k, то есть ^-эквивалентные состояния просто эквивалентны.
Доказательство. Достаточно показать для i>k, что из R, = Ri+i следует 7?,+i = 7?,+2. Если состояния s и z автомата (i+1 ^эквивалентны, то для всех хеХ и weX выполняется равенство
f*(s, x-w) =j*(z, x-w).
Отсюда, используя определение отображения/*, имеем:
/(5гх)/*(/г(5'д:),и')=Ягл)/*(/г(г,л-),и').
Это равенство равносильно двум следующим:
fts,x) = f(z,x)-	(9.9)
f*(h(s,x),w) = f*(h(z,x),w).	(9.10)
Из равенства (9.10) имеем, что /-эквивалентны состояния h(s,x) и h(z,x). Но так как R, = Rj+i, то эти состояния и (i+1 )-эквивалентны, то есть для всех х,аеХ и weX выполнено
/*(/z(5,x),w«) =/*(/г(г,х),и’п).
Из последнего равенства и равенства (9.9) следует равенство
184
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
которое означает, что состояния s и z автомата (;'+2)-эквивалентны, то есть Ri+l = Ri+2.	♦
Утверяедение 9.2 (промежуточное). Если ь то число классов разбиения R, больше i,i= 1,2,...
Доказательство (индукция по /). Пусть i = 1 и Ri*R2. Если число классов в Ri равно 1, то любые два состояния s и z автомата являются 1-эквивалентными, в том числе и состояния h(s,x) и h(z,x) при любом хеХ. Значит, при любых x,weX справедливы формулы (9.9) и (9.10) и по теореме 9.1 состояния s и z автомата 2-эквивалентны. Следовательно, R\ = R2, что противоречит условиям. Таким образом, число классов в Ri больше 1 и для i = 1 утверждение доказано.
Пусть утверждение 9.2 доказано для i = к и Rm^R^i. Заметим, что из последнего неравенства вытекают неравенства R&Rm для всех i = 1,2,...,£, иначе имелось бы противоречие с утверждением 9.1. По предположению индукции это значит, что для всех i = 1,2,...,к число классов разбиения R, больше i.
Если число классов !^+1 разбиения Rk+i меньше или равно к+1, то выполняется равенство ^+i =	= Л+1, так как, с одной стороны, по
предположению индукции число классов в Rk больше к, а с другой стороны, это число не может быть больше, чем число классов в R^\. Имеем противоречие, следовательно, число классов разбиения Rm больше к+1.	♦
Так как автомат А имеет п состояний, то из утверждения 2 следует, что R,,.\ = 7?„ (неравенство этих разбиений невозможно, так как из утверждения 2 получалось бы, что число классов в Rn.\ должно быть больше п-1, то есть равно п, но и в Rn не может быть более п классов). Отсюда и из утверждения 9.1 получаем, что (п-1)-эквивалентные состояния являются просто эквивалентными.	♦
Замечание. Для распознавания эквивалентности состояний автомата Мили с п состояниями значение достаточной длины слов, равное п-1, неулучшаемо.
Следствие 1. Проблема эквивалентности состояний автомата Мили алгоритмически разрешима.
185
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Следствие 2. Автоматы Мили А и В с п и т состояниями соответственно эквивалентны, если совпадают их реакции на все входные последовательности длины, не большей п+т-\. Вследствие этого проблема эквивалентности автоматов Мили алгоритмически разрешима.
Доказательство. Эквивалентные автоматы однородны, поэтому положим А - (X,S,Y,h,f), В =	где = 0, и рассмотрим
автомат С = A<jB. Для распознавания эквивалентности автоматов А и В достаточно показать, что для каждого состояния seS автомата А в автомате В найдется эквивалентное состояние s'eS' и наоборот. Следовательно, задача свелась к распознаванию эквивалентности состояний автомата С. Из теоремы 9.2 вытекает, что для этого достаточно рассмотреть входные последовательности длины, не большей n+m-1.	♦
Замечание к следствию 2. Значение достаточной длины слов, равное л-нп-1, неулучшаемо.
Теорема 9.3 (о сокращении). Для каждого автомата Мили может быть эффективно построен эквивалентный сокращенный автомат.
Доказательство. Сокращенный автомат строится из исходного автомата объединением всех эквивалентных состояний исходного автомата и отождествлением этого класса с состоянием сокращенного автомата. Действие функций переходов и выходов на классах совпадает с действием на любых представителях этих классов функций исходного автомата.
Из теоремы 9.2 вытекает, что построение может быть выполнено за конечное число шагов.	♦
Важным для некоторых приложений свойством конечных автоматов является способность перерабатывать различные входные слова в различные выходные слова. В связи с распознаванием в конечном автомате данного свойства вводятся следующие понятия.
Две входные последовательности v и w из X* называются неразличимыми автоматом А (или для автомата А), если для любого seS и любого иеХ* справедливо
186
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
В противном случае v и w различимы автоматом А. В частности, любые две входные последовательности различных длин различимы автоматом Мили.
Автомат А называется различающим входы, если любые две различные входные последовательности различимы автоматом А.
Лемма 9.1. Входные слова v и w неразличимы автоматом А тогда и только тогда, когда для любого состояния h*(s,v) и h*(s,w) эквивалентны и выполнено
/*Uv)
Доказательство. Пусть входные слова v и w неразличимы автоматом А и 5 есть произвольное состояние этого автомата. Тогда для всех неХ* справедливо:
/*(s,v)y*(/l*(5,v),u) = f*(s,V-u)
Следовательно, требуемое равенство выполнено и состояния h*(s,v) и h*(s,w) эквивалентны.
Обратное утверждение доказывается аналогично.	♦
Теорема 9.4 (Чен). Пусть А - автомат Мили с п состояниями. Если любые две последовательности входов длины п2"-1 различимы автоматом А, то А - автомат, различающий входы.
Следствие. Проблема распознавания различимости входов автоматом Мили алгоритмически разрешима.
9.5.	Периодичность в конечных автоматах
Одним из важных прикладных вопросов в теории конечных автоматов является периодичность функционирования автомата. Рассмотрим неавтономный автомат, на вход которого поступает периодическая последовательность.
Обозначим через ds число состояний автомата Мили А = (X,S,Y, h,f), достижимых из состояния s, seS, то есть
ds = I {ze5: z = h*(s,w), weX*}| .
Для любого состояния 5 величина ds не больше мощности компоненты связности автоматного графа, содержащей s.
187
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Теорема 9.5. Неавтономный автомат Мили А = (X,S,Y,h,f) под воздействием входной периодической последовательности х с предпериодом N и периодом Т из начального состояния s проходит периодическую последовательность состояний 5 с предпериодом N’(s) и периодом Г (s'), выдавая периодическую выходную последовательность у с предпериодом N”(s) и периодом T’(s), где
^(5),ЛГ’(5)<#+(^-1)Г,
T(s) = T-k, F’(s) = T,-r,
где т, т’ - делители Т, k,r<ds.
Доказательство. Обозначим х= Л...}, 5 = {5i,52,...,5(+i,...}, где 5i = 5. Пусть подпоследовательность s' последовательности 5 имеет вид:
s* = {sw+l, Sw+I+T. Sn+I+2-Т, •••, SfiM+k-T, •••}•
В последовательностях s и s' встречается не более ds различных членов. Рассмотрим «первое совпадение членов» в подпоследовательности s', а именно пусть I - наименьшее натуральное число, для которого нашлось целое число m, Q<m<l, при которых выполняется равенство
•JW+l+mT = SW+1+/T	(9.11)
Так как х - периодическая с предпериодом N, то из равенств (9.1), (9.11) следует, что для любого натурального j
$N+l+m-T+j = SN+1+l-T+j-
Следовательно, последовательность 5 - периодическая с периодом T(s), где Т (s)/T-(l-m). В силу минимальности числа I, при котором имеет место «первое совпадение членов» в s', период T(s) не может быть одновременно кратен Т и меньше T-(l-m). Поэтому Г (s) = т-(1-т), где т либо равен Т, либо есть делитель числа Т такой, что число 77т не делит число l-m. Так как l-m<ds, то в обоих случаях
Г(5) = т-к,
188
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
где т/Т, k<ds. Из определения числа m следует, что предпериод ЛГ(^) не превосходит N+m-T. Так как m<ds-\, то имеем:
N\s)<N+(ds-\)-T.
Теперь рассмотрим периодическую последовательность x,s= {(Х|,5|).(xi,Si),...). Обозначим ее предпериод и период через
ДО’Да) и T*(s). По утверждению 6.2
^(s)<max(MN’(s)) = #+(44-1)-Т;
Т* = НОК(Т, Г (5)) = НОК(Т,т-к).
С учетом равенства (9.2) по утверждению 6.1 получаем, что N’\s)<N*(s) и Г'(s') делит T*(s), то есть:
N”(s)<N+(ds-iyY,	Т”(з) = т’-г,
где т’/Г, r<ds.	♦
Следствие 1. Если А - перестановочный автомат и 8 = ^xN т '•••'hxN ।_ биективное преобразование множества S, реализуемое автоматом А при подаче входного слова (xn+i, ....xn+t), то N’(s),N” (s)<N, а периоды T(s) и T”(s) есть делители числа tg-T, где tg - период преобразования g.
Доказательство. В условиях следствия tn - 0, а I есть длина одного из циклов преобразования g.	♦
Из утверждения 6.1 с учетом равенства (9.2) для автономных автоматов вытекает следующая теорема.
Теорема 9.6. Автономный автомат А = (S,Y,h,f) при начальном состоянии seS, имеющем предпериод N(s) и период T(s) относительно преобразования h, генерирует выходную периодическую последовательность с предпериодом Ns и периодом Ts, где Ns<N(s) и T\/T(s).
Следствие 1. Если T(s) - простое число, то период Ts равен либо T(s), либо 1.
Следствие 2. Пусть Y = {0,1,...,т-1}, у =	} - выход-
ная последовательность автономного автомата А, соответствующая начальному состоянию s, и kj, где jeY, есть частота элемента j в выходном слове Ow+b - .yw+Tw). Тогда
189
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
T, = T(s)/d’,
где d' - делитель НОД(ко,кь...,кт.1).
Доказательство. По теореме 9.6 T(s) = Ts-d', где d'~ натуральное число. Из определения чисел ко,к\,...,кт.\ следует, что d’делит каждое из них. Следовательно, d'делитНОД(ко,к1,...,кт-1)-	♦
9.6.	Задачи и упражнения
9.1.	Используя в качестве функции переходов преобразование автономного или неавтономного двоичного регистра сдвига с одной обратной связью, постройте автомат Мили А с б.ф. выходов, при которой все выходные функции автомата являются:
а)	аффинными;
б)	сохраняющими константу 0 (константа 1);
в)	самодвойственными;
г)	монотонными.
9.2.	Сколько имеется различных автоматов Мура с входным, внутренним и выходным алфавитами мощности соответственно г, п и ml
9.3.	Постройте таблицу и автоматный граф автомата Мили А = (УгУзУМ), в котором
h((Si,S2,S-3),(Xi,X2)) = (51Ф$2®$3,	$2’Х2 ),
Д(51,52,5з ), (Х1,Х2)) = Х1ФХ2©^1-
В какие состояния переходит автомат А из состояния (0,0,1) при всевозможных входных словах длины 2?
9.4.	Постройте таблицу и автоматный граф автомата Мура А = (Vi,V2, V\,h,f), в котором
h(.(S],S2)y) = ($2, $1Ф$2®х),/(.У1,$2) = $1Ф.У2Ф1 •
Какие выходные слова выдает автомат А при начальном состоянии (1,0) и всевозможных входных словах длины 3? Является ли автомат Л сокращенным?
9.5.	Число состояний автоматов Мили А] и Аг равно п и т соответственно. Сколько состояний имеет:
а)	последовательное соединение автоматов А) и Аг;
190
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
б)	прямая сумма автоматов Ai и Аг’,
в)	объединение автоматов А । и Аг?
9.6.	Следует ли из сильной связности двух автоматов сильная связность их прямой суммы, объединения? В случае отрицательного ответа приведите иллюстрирующий пример.
9.7.	Докажите, что неавтономный регистр сдвига является сильно связным автоматом.
9.8.	Имеется сильно связный автомат без выходов А = (Ут,У„,Ь). Можно ли из некоторого состояния перейти в любое другое состояние не более чем за 3 такта функционирования автомата А, если т = 4, п= 14?
9.9.	Пусть А =	- автомат Мили, где h - аффинное ото-
бражение и/- отличная от константы б.ф. степени нелинейности к.
1)	Докажите, что все выходные функции автомата А имеют степень нелинейности не больше к.
2)	Оцените сверху размерность линейной оболочки всех выходных функций, если входная последовательность автомата имеет линейную сложность Л.
9.10.	Пусть \|/ есть б.ф. от п переменных и А = (Vi,Vn,h) - автомат без выходов, где
/г((51,5г,...,5н)^) = (S2,S3,...,Sn,\l/(Si,S2,...,S„)®x).
Докажите, что автомат А регулярен тогда и только тогда, когда функция v линейна по переменной
9.11.	Имеется автомат без выходов А = (Vi.Vj.A), у которого координатные функции отображения h заданы следующими равенствами:
Й2((^1Л,^з)л) = $3-(1®$2®ЗГ$2)®Х’(1®Я1),
Лз((^1,^2Л)^) = 1 ®$2®^2',УЗ®'УГ-*2'.УЗ®*'(1 ®*1)-
Используя автоматный граф автомата А, покажите, что А содержит подавтомат, изоморфный автономному автомату В. Постройте автомат В.
9.12.	Сколько тактов функционирования автомата А = (Vb У,„У1Л/) Достаточно реализовать для распознавания:
191
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
а)	эквивалентности двух его состояний;
б)	сокращенности автомата А?
9.13.	Пусть А = (Vi, V„, Vi,h,f) - автомат Мили, где
h(si,S2,...,sn,x) = (s2,S3,...,s„, 5г®5„Фх), 1<г<и;
= sm-s,n+i-...-sn®x, \<т<п.
Имеет ли автомат А эквивалентные состояния? Если да, то оцените мощности классов эквивалентности.
9.14.	Автомат А =	где/есть б.ф. от п переменных и
/г((51,52,...л)л) = (s2,S2,...,sn,x).
Укажите пример функции/, при которой автомат А не различает все последовательности {х,}, i = 1,2,..., построенные по правилу:
а)	если х,- = 1, то x,+i = 0;
б)	если х, = 0, то xi+2 = 1;
в)	еслих,Фх,+1 = 1, тох,+2 = х.+ь
9.15.	Пусть А = (Vi,V„,Vi,h,f) - автомат Мура, реализующий неавтономный регистр сдвига длины п с функцией обратной связи \|/(51,S2,---,S„), ТО есть h(Si,S2,...,Sn,x) =
1)	Докажите, что автомат А при любой функции обратной связи $2,.••,$/>) есть автомат, различающий входы, если функция выхода /биективна по существенной переменной с наибольшим индексом.
2)	Приведите примеры функций \|/ и / при которых автомат А не имеет эквивалентных состояний.
9.16.	Постройте гомоморфный образ автомата, выходная последовательность которого есть сумма выходных последовательностей двух идентичных автономных ЛРС длины п.
9.17.	Докажите, что автономный автомат А = (V,,, где h -преобразование ЛРС,/ - равновероятная б.ф., вырабатывает при ненулевом начальном состоянии выходную последовательность с периодом 2"-1. При каких других функциях / выходной период автомата А также максимален?
9.18.	Каков спектр значений периодов выходных последовательностей автомата, являющегося прямой суммой (объединением) авто-
192
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ
номных ЛРС максимального периода длины п и т, в зависимости от начального состояния этих ЛРС?
9.19.	Пусть А = (S,Y,h,f) и А’ = (S',Y,h’,f) - согласованные автономные автоматы Мили. Докажите, что периоды выходных последовательностей автомата АоА’ при всех начальных состояниях не превышают шах{|5\5’|, |5’\5|, |5’п5|}.
9.20.	Пусть автомат А есть последовательное соединение автономного ЛРСтах-и и неавтономного регистра сдвига длины т. Какие возможны предпериоды и периоды выходных последовательностей автомата А в зависимости от начального состояния 5 ЛРС?
9.21.	Имеется автономный автомат А = (Z/2!\ V\,h,g-S), где h - преобразование полноциклового ЛКГ с модулем 2Л, 5 - биекция между Z/2” и Vti, ставящая в соответствие каждому вычету его двоичное представление, g - б.ф.
1) Докажите, что если g нечетного веса, то при любом начальном состоянии автомат А вырабатывает выходную последовательность с периодом 2Н.
2) При функции переходов h(s) = (5+l)mod2M получите необходимые и достаточные условия на функцию g, обеспечивающие период 2п выходной последовательности.
193
Часть II
ОСНОВЫ КРИПТОЛОГИИ
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ
Название науки криптологии образовано как составное от двух греческих слов: «cryptos» - тайный и «logos» - слово. В современном понимании предметом криптологии являются отображения информации, используемые для ее защиты от некоторых несанкционированных действий злоумышленника.
С самого начала криптология развивалась как двуединая наука, составляющими которой были, если пользоваться устоявшейся терминологией, криптография и криптографический анализ (коротко -криптоанализ). Криптография - наука о построении отображений информации, используемых с целью ее защиты (такие отображения информации назовем криптографическими), а криптоанализ -наука о методах анализа криптографических отображений информации с целью раскрытия защищаемой информации.
10.1.	Задачи криптографии
Криптографические отображения применяются для решения следующих основных задач защиты информации:
1.	Обеспечения секретности информации, то есть защиты от несанкционированного ознакомления с содержанием.
2.	Обеспечения целостности информации, то есть защиты от несанкционированного изменения, к которому относится вставка, удаление и замена фрагментов исходного сообщения.
3.	Обеспечения аутентификации информации, то есть подтверждения подлинности сторон, самой информации, времени создания информации и т. д.
4.	Обеспечения неотказуемости (невозможности отказа) от авторства.
ZJIWIOMIHOH
194
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ
Если первая задача является для криптографии традиционной на протяжении нескольких тысячелетий развития человечества, то остальные задачи переместились в область интересов криптографии в XX в. в связи с развитием электронных информационных технологий. Криптографические отображения информации стали использоваться в электронном документообороте, для защиты электронных платежей, коммерческих сделок и др.
Рассмотрим систему понятий криптологии, используемых при рассмотрении задач защиты информации.
10.2.	Основные понятия криптологии
Шифром называется семейство Е обратимых криптографических отображений информации. С каждым отображением шифра связано значение к некоторого параметра, называемого ключом, то есть
Е= {Ек},к&К,
где К - конечное множество допустимых значений ключа, называемое ключевым множеством. Выбранный ключ к однозначно определяет отображение Ек из семейства шифра Е.
Практическое использование ключа подразумевает реализацию так называемого жизненного цикла ключа, то есть выполнение таких действий с ключом, как генерация, распределение (рассылка), хранение, применение при реализации отображений шифра, смена, уничтожение.
Информацию, подвергающуюся отображениям шифра, называют открытым текстом. Применение отображения шифра к открытому тексту называется шифрованием (зашифрованием). Результат шифрования открытого текста называется шифрованным текстом или криптограммой. Если обозначить через У и У* множество открытых и шифрованных текстов соответственно, то шифр можно рассматривать как семейство Е отображений множества Л*хК в множество У*.
Обратимость отображений шифра обеспечивает возможность восстановления открытого текста по шифрованному тексту. Применение
195
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
к криптограмме обратного отображения с использованием известного ключа называется расшифрованием. При расшифровании реализуется отображение множества Y хК в множество X.
Использование шифра для решения той или иной криптографической задачи подразумевает наличие соответствующих действующих лиц (например, абонентов, использующих секретную связь) и определенного порядка их взаимодействия, называемого криптографическим протоколом. Семейство отображений шифра в совокупности с используемыми протоколами образуют криптосистему или шифрсистему. Ключевое множество и ключевые протоколы (то есть протоколы, управляющие жизненным циклом ключей) образуют ключевую систему шифра.
Раскрытие криптоаналитиком информации, защищаемой шифром, называют дешифрованием (при этом ключ для расшифрования криптоаналитику неизвестен, то есть неизвестно, какое именно отображение следует использовать для расшифрования). Разработанный криптоаналитиком способ раскрытия шифра или информации, защищаемой шифром, называют криптоаналитической атакой.
Способность шифрсистемы противостоять атакам криптоаналитика получила название криптографической стойкости шифрсистемы. Стойкая криптосистема обеспечивает защиту информации в течение длительного времени, несмотря на усилия противника, располагающего значительными материальными, интеллектуальными и вычислительными ресурсами. Это означает, что стойкая шифрси-стема должна базироваться на шифре, состоящем из большого числа различных отображений, иначе тотальным перебором отображений расшифрования секретная информация может быть раскрыта. Кроме того, стойкий шифр должен быть устроен так, чтобы дешифрование всех (или почти всех) криптограмм представляло для «взломщика» шифра трудоемкую задачу, не решаемую с использованием самых передовых современных технологий в течение практически приемлемого временного периода.
196
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ
10.3.	Симметричные и асимметричные шифрсистемы
По принципам шифрования шифрсистемы разделяются на системы с секретным и с открытым ключом.
Системы с секретным ключом используются уже на протяжении нескольких тысячелетий до настоящего времени и основаны на классическом принципе обеспечения секретности информации: секретности используемого ключа для всех, кроме лиц, допущенных к информации. Такие шифрсистемы называют также симметричными в связи с тем, что ключи, используемые в них для шифрования и расшифрования, обладают определенной симметрией (часто они совпадают). Защита информации с помощью симметричных систем обеспечивается секретностью ключа.
Системы с открытым ключом предложены Диффи и Хеллманом в 1975 г. и уже нашли активное применение. Другое их название -асимметричные системы, так как в них ключи шифрования и расшифрования не связаны отношением симметрии или равенства. Ключ шифрования может быть открытым, известным для всех, но расшифровать сообщение может только обладатель секретного ключа расшифрования, который во избежание путаницы с ключом симметричной системы обычно называют закрытым ключом.
Вычисление ключа расшифрования по ключу шифрования, то есть раскрытие шифра, увязано с решением некоторых математических задач, характеризуемых высокой сложностью решения. В качестве таких задач фигурируют, например, задачи поиска делителей большого натурального числа и определения логарифма элементов конечного поля большого порядка (см. прил. 8 и 9).
Общепризнанное преимущество симметричных систем заключается в более высокой скорости шифрования, в меньших размерах используемого ключа и в более основательных гарантиях обеспечения криптографической стойкости. Однако асимметричные криптосистемы используют более удобные протоколы, в частности для решения таких важных задач, как аутентификация информации, распределение ключей между пользователями. Поэтому для защиты информации могут использоваться гибридные шифрсистемы,
197
В. М. Фомичее. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
в которых сочетаются принципы как симметричных, так и асимметричных систем. Конкретные рекомендации по построению гибридных шифрсистем обсуждаются при рассмотрении криптографических протоколов.
10.4.	Понятие о криптографических протоколах
Установленная последовательность действий, выполняемых для решения какой-либо криптографической задачи, называется криптографическим протоколом.
Криптографические протоколы являются важной составной частью криптографической системы. Возможны ситуации, когда задачи обеспечения безопасности информации не решаются из-за наличия слабостей в протоколе, несмотря на использование подходящих криптографических отображений.
Основное отличие протокола от алгоритма состоит в том, что реализация алгоритма предполагает активные действия одного субъекта, в то время как протокол реализуется в ходе взаимодействия нескольких субъектов (сторон протокола).
Каждое действие криптографического протокола по содержанию представляет собой либо вычисления, выполняемые действующими субъектами протокола, либо рассылку сообщений между ними.
Условия криптографической задачи определяют особенности соответствующего протокола.
Если взаимодействующие стороны доверяют друг другу и готовы совместно решать криптографическую задачу, то в этом случае используются протоколы без посредника, называемые двусторонними протоколами.
Если между сторонами могут возникать разногласия или им требуется поддержка третьей стороны, то используются протоколы с посредником (незаинтересованной доверенной стороной), которые называют трехсторонними протоколами. Задача посредника -обеспечить исполнение всех этапов протокола, вплоть до его завершения.
Существуют и протоколы с арбитром, где под арбитром понимается посредник особого типа: он не обязательно участвует в ис-
198
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДА ЧИ КРИПТОЛОГИИ
полпенни каждого протокола, он приглашается только для проверки корректности выполнения протокола.
Наиболее привлекательная разновидность протоколов - самодостаточные протоколы, конструкция которых обеспечивает контроль за верным исполнением протокола. Такие протоколы имеются далеко не для каждой задачи.
Атаки на протоколы со стороны противника могут быть направлены как против криптографических алгоритмов, используемых в протоколах, так и против самих протоколов. Такие атаки можно разделить на пассивные и активные.
Во время пассивной атаки противник ограничивается наблюдением за действиями сторон протокола и пытается извлечь из наблюдений полезную для себя информацию, не вмешиваясь в реализацию протокола.
При активной атаке на криптографический протокол противник допускает видоизменение протокола в своих интересах, которое может выражаться в том, что им вводятся в протокол новые сообщения, удаляются из протокола «законные» сообщения, производится подмена одних сообщений другими, выводится из строя канал связи или память, в которой хранится информация.
Атакующий может быть не только посторонним лицом, но и «штатным» участником протокола, при этом противник может представлять собой группу лиц, находящихся в сговоре.
10.5.	Организация секретной связи, задачи криптоаналитика
Рассмотрим сначала организацию секретной связи с использованием симметричной криптосистемы. Действующими лицами протокола являются отправитель, адресат, пассивный противник, активный противник и др. Задача протокола - передать секретное сообщение X от отправителя адресату. Последовательность действий выглядит следующим образом:
1.	Отправитель и адресат договариваются об используемой симметричной криптосистеме, то есть о семействе отображений Е = {Ek},keK.
199
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
2.	Отправитель и адресат договариваются о секретном ключе связи к, то есть об используемом отображении Ек&Е.
3.	Отправитель шифрует открытый текст X с помощью отображения Ек, то есть создает криптограмму Y = Ек(Х).
4.	Криптограмма Y передается по линии связи адресату.
5.	Адресат расшифровывает криптограмму Y, используя тот же ключ к и отображение Екл, обратное к отображению Ек, и читает сообщение X:
Х = Е/‘(У).
Поясним важные особенности рассматриваемого протокола с помощью схемы (рис. 10.1).
Рис. 10.1. Схема секретной связи двух абонентов с использованием симметричной криптосистемы
Шаг 2 протокола реализуется либо с помощью посредника, третьей стороны, которую можно условно назвать центром генерации и распределения ключей (ЦГРК), либо функции ЦГРК возлагаются на абонентов. В первом случае криптографический протокол шифр-связи называют трехсторонним, а во втором случае - двусторонним.
Существенной особенностью протокола является секретность ключа к, который передается отправителю и адресату либо в открытом виде по каналу связи, защищенному от действий криптоаналитика, либо в шифрованном виде по линии связи. Защищенный канал
200
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ
связи может иметь относительно невысокую пропускную способность, но должен надежно защищать ключевую информацию от несанкционированного доступа. Ключ должен оставаться в секрете до, во время и после реализации протокола, иначе злоумышленник, завладев ключом, может расшифровать криптограмму и прочитать сообщение. Отправитель и адресат могут выполнить шаг I протокола публично (секретность шифрсистемы необязательна), но шаг 2 они должны выполнить секретно (секретность ключа обязательна).
Такая необходимость вызвана тем, что линии связи, в особенности протяженные, уязвимы с точки зрения вмешательства пассивного и активного противников.
Пассивный противник (криптоаналитик), желая получить доступ к сообщению X, контролирует линию связи на шаге 4 протокола. Не вмешиваясь в реализацию протокола, он перехватывает криптограмму Y с целью раскрытия шифра.
Разрабатывая криптосистему, криптограф обычно исходит из следующих предположений о возможностях криптоаналитика *:
1)	криптоаналитик контролирует линию связи;
2)	криптоаналитику известно устройство семейства Е отображений шифра;
3)	криптоаналитику неизвестен ключ к, то есть неизвестно отображение Ejt, использованное для получения криптограммы Y.
В этих условиях криптоаналитик пытается решить следующие задачи, называемые задачами дешифрования:
1.	Определить открытый текст X и использованный ключ к по перехваченной криптограмме У, то есть построить алгоритм дешифрования \|/ такой, что
V(K) = (ХЛ).
Данная постановка задачи предполагает использование криптоаналитиком статистических свойств открытого текста.
Основные правила противостояния криптографа и криптоаналитика были Формулированы еще в конце XIX в. преподавателем немецкого языка в Париже голландцем Керкхоффсом в книге «La Cryptographic militare».
201
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
2.	Определить использованный ключ к по известным открытому и шифрованному текстам, то есть построить алгоритм дешифрования <р такой, что
<p(X,Y) = k.
Такая постановка задачи имеет смысл, когда криптоаналитик перехватил несколько криптограмм, полученных с использованием ключа к, и располагает открытыми текстами не для всех перехваченных криптограмм. В этом случае, решив задачу дешифрования второго типа, он «прочтет» все открытые тексты, зашифрованные с использованием ключа к.
3.	Определить используемый ключ к по специально подобранному открытому тексту X и по соответствующему шифрованному тексту Y, то есть построить алгоритм дешифрования фх, такой что
<Px(Y) = k.
Подобная постановка задачи возникает тогда, когда криптоаналитик имеет возможность тестирования криптосистемы, то есть генерирования криптограммы для специально подобранного открытого текста. Чаще такая возможность возникает при анализе асимметричных систем.
Имеется разновидность этой задачи дешифрования, когда используется специально подобранный шифртекст.
Дешифровальные задачи первого типа отличаются более высокой вычислительной сложностью по сравнению с задачами второго и третьего типа. Наименьшую вычислительную сложность имеют задачи тестирования.
Активный противник нарушает реализацию протокола. Он может прервать связь на шаге 4, полагая, что отправитель не сможет больше ничего сообщить адресату. Он может также перехватить сообщение и заменить его своим собственным. Если бы активный противник узнал ключ (контролируя шаг 2 или проникнув в криптосистему), он мог бы зашифровать свое сообщение и отправить его адресату вместо перехваченного сообщения, что не вызвало бы у последнего никаких подозрений. Если активный противник не знает ключа, то он может создать лишь такое шифрованное сообщение, которое при
202
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ
расшифровании превращается в случайную последовательность символов.
Рассмотренный протокол подразумевает взаимное доверие отправителя, адресата и третьей стороны в лице ЦГРК. Это является слабостью данного протокола, так как не всегда можно исключить взаимный обман действующих лиц протокола. Впрочем, абсолютных гарантий безупречности того или иного протокола не существует, так как выполнение любого протокола связано с участием людей и зависит, в частности, от надежности действующих лиц протокола.
Таким образом, по организации секретной связи с использованием симметричной криптосистемы можно сделать следующие выводы:
1.	Протокол должен защищать открытый текст и ключ от несанкционированного доступа постороннего лица на всех этапах передачи информации от источника к получателю сообщений. Секретность ключа более важна, чем секретность нескольких сообщений, шифруемых на этом ключе. Если ключ скомпрометирован (украден, угадан, раскрыт, выкуплен), тогда противник, имеющий ключ, может расшифровать все сообщения, зашифрованные на этом ключе. Кроме того, противник сможет имитировать одну из переговаривающихся сторон и генерировать фальшивые сообщения с целью ввести в заблуждение другую сторону. При частой смене ключей эта проблема сводится к минимуму.
2.	Протокол не должен допускать выхода в линию связи «лишней» информации, предоставляющей криптоаналитику противника дополнительные возможности дешифрования криптограмм. Протокол должен защищать информацию не только от посторонних лиц, но и от взаимного обмана действующих лиц протокола.
3.	Если допустить, что каждая пара пользователей сети связи применяет отдельный ключ, то число необходимых ключей равно л-(л-1)/2 для п пользователей. Это означает, что при большом п генерация, хранение и распределение ключей становится трудоемкой проблемой.
Рассмотрим теперь организацию секретной связи с использованием асимметричной криптосистемы. Последовательность действий выглядит следующим образом:
203
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
1.	Отправитель и адресат договариваются об используемой асимметричной криптосистеме.
2.	Адресат высылает отправителю открытый ключ к.
3.	Отправитель шифрует открытый текст X с помощью открытого ключа к, то есть создает криптограмму Y = Ек(Х).
4.	Криптограмма Y передается по линии связи адресату.
5.	Адресат расшифровывает криптограмму Y, используя закрытый ключ z, и читает сообщение X:
X = EZ(Y).
Несомненно, данный протокол защищает сообщение X: пассивный противник может перехватить открытый ключ к и криптограмму Y, но не может расшифровать сообщение, так как не имеет закрытого ключа.
Достоинством протокола является то, что он не требует распределения секретных ключей. В сети связи нередко открытые ключи всех пользователей помещаются в общедоступную базу данных, а закрытые ключи хранятся у пользователей. Это упрощает протокол, так как отправитель сам выполняет шаг 2 протокола, не дожидаясь действия адресата. Адресат не участвует в протоколе до тех пор, пока не соберется прочитать открытое сообщение.
На практике алгоритмы с открытым ключом не заменяют симметричных алгоритмов. Как правило, они используются для шифрования не самих сообщений, а ключей или некоторых других «вспомогательных» информационных блоков относительно небольшой длины. Это вызвано следующими обстоятельствами:
1. Производительность алгоритмов с открытым ключом (скорость шифрования) по крайней мере в 1 000 раз уступает производительности симметричных алгоритмов, что ставит их в невыгодное положение при шифровании больших объемов информации.
2. Криптосистемы с открытым ключом уязвимы к атакам на основе подобранного открытого текста, особенно когда число вариантов блока открытого текста ограничено и допустим перебор этих вариантов.
Поэтому наиболее выгодным представляется протокол секретной связи с использованием гибридной криптосистемы, в котором асимметричный алгоритм используется для засекречивания и распределе
204
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ
ния ключей связи, а алгоритм с секретным ключом связи используется для защиты данных. Кроме того, такой протокол допускает уничтожение секретного сеансового ключа сразу после завершения сеанса, что резко снижает опасность его компрометации.
10.6. Обеспечение целостности сообщений
Одним из центральных понятий криптографии с открытым ключом является однонаправленная функция, то есть функция/, значение /(х) которой легко вычисляется для любого элемента х области определения, а вычисление по значению fix) его прообраза х трудоемко. Например, можно легко выполнить вычисление в конечном поле Р значения функции а* при заданном аеР, а вычисление логарифма для элемента поля Р требует более значительных трудозатрат.
Однонаправленная функция с потайным входом (или с ключом) зависит не только от х, но и от некоторого параметра к. Вычисление прообраза по значению такой функции может быть реализовано легко лишь при известном параметре к.
Хеш-функция - это отображение множества (J Х(/) во множест-
1>т
ВО ^m> (здесь X - конечное множество, т - натуральное, обычно / значительно больше т), то есть отображение последовательностей длины не меньше т в последовательности длины т. Значение хеш-функции называют сверткой.
Хеш-функции используются в криптографии для проверки идентичности двух последовательностей путем сравнения их сверток. Такая проверка не является абсолютно достоверной, но может быть выполнена с приемлемой точностью.
Особый интерес представляют однонаправленные хеш-функции, для которых практически невозможно восстановить входную последовательность по ее свертке. Кроме того, хороши те однонаправленные хеш-функции, которые свободны от коллизий, то есть не допускают простого построения двух разных последовательностей, имеющих одинаковые свертки.
Используемые в криптографических приложениях хеш-функции, реализуют совершенное отображение (осуществляют полное пере
205
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
мешивание), поэтому изменение хотя бы одного бита в сообщении (исходной последовательности) приводит к изменению в среднем половины битов свертки.
Если требуется проверить наличие у кого-либо файла, имеющегося у вас, то достаточно получить свертку этого файла и сравнить ее со сверткой, вычисленной вами.
Если нужно, чтобы проверка была доступна только определенному лицу, то используется хеш-функция с добавлением закрытого ключа или блочный шифр с секретным ключом. Для вычисления свертки, называемой в этом случае имитовставкой или кодом проверки подлинности сообщения (англ, аббревиатура МАС), нужно знать ключ.
Хеш-функция без использования ключа (американский стандарт -Secure Hash Standard) описана в прил. 7.
10.7. Цифровая подпись
Цифровая подпись, как и традиционная подпись от руки, предназначена для аутентификации информации и обеспечения неотказуе-мости от авторства.
Подпись от руки, поставленная на документе, издавна рассматривалась как доказательство авторства или согласия с содержимым документа. Считается, что подпись обладает следующими свойствами:
1.	Подпись неповторима, ибо она свидетельствует, какое именно лицо намеренно подписало документ.
2.	Подпись подлинна, ибо она убеждает, что именно это лицо подписало документ.
3.	Подпись не используется многократно, так как она - часть документа, ее нельзя переместить на другие документы.
4.	Подписанный документ не подлежит изменениям.
5.	От подписи в дальнейшем нельзя отказаться.
В действительности эти «заповеди» могут нарушаться, хотя «нарушитель» рискует быть обнаруженным.
Рассмотрим использующий симметричную криптосистему протокол цифровой подписи с посредником, лицом, заслуживающим безусловного доверия сторон.
206
__________________Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ
Пусть отправитель А хочет подписать цифровое сообщение и послать его адресату Б. Используя симметричный шифр Е = {Е*}, он может это сделать с помощью посредника, имеющего ключ к\ для секретной связи с отправителем А и ключ для секретной связи с адресатом Б. Эти ключи должны быть установлены заранее до начала протокола и могут использоваться многократно для нескольких подписей.
Изложим протокол по шагам.
1.	Отправитель А шифрует с использованием ключа к\ сообщение а для адресата Б и отправляет криптограмму b посреднику, где
Ек)(а) = Ь.
2.	Посредник расшифровывает криптограмму Ь, используя ключ kf. EJ (!>-) = a.
3.	Посредник формирует блок информации Ц = [a,b,pA], состоящий из расшифрованного сообщения а, копии криптограммы b и информационного блока рА, подтверждающего, что сообщение исходило от А (идентификатор абонента А). Используя ключ к2, он шифрует блок 1А и посылает криптограмму с получателю Б, где
^2(Л) = с.
4.	Б расшифровывает криптограмму с, используя ключ к2:
Е[}(с) = 1А = ШрА
Теперь он может прочесть сообщение а и сертификат посредника Ра о том, что его отправил А.
К достоинствам протокола следует отнести следующее:
1.	Только посредник и отправитель А совместно владеют секретным ключом к\, поэтому только А мог отправить посреднику сообщение, зашифрованное ключом к\ (подпись не подделывается) и подтверждение посредником этой подписи достоверно. Если активный противник попытается выдать себя за отправителя А, посредник обнаружит это на шаге 2 и не отправит сообщение адресату Б.
207
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
2.	Эта подпись не тиражируется и подписанный документ неизменяем. Если бы Б попытался сертификат посредника рА объединить с ложным сообщением а\ то есть заявить, что он получил блок с сообщением а' и сертификатом рА, то посредник обнаружил бы это несоответствие. Он запросил бы у Б это ложное сообщение а' и криптограмму Ь. Зашифровав ложное сообщение а' на ключе к\, посредник обнаружил бы, что Eki (а') Ф b, то есть вычисленная криптограмма не совпадает с криптограммой Ь, которую ему прислал Б. Естественно, Б не мог бы предъявить криптограмму Ь\ которая согласуется с а', потому что он не знает ключа к\.
3.	От этой подписи нельзя отречься. Если отправитель А позднее заявит, что он не посылал сообщение а, то сертификат посредника рА вкупе с сообщением а, хранящиеся у Б, засвидетельствуют обратное.
Таким образом, данный протокол устраняет недостатки, присущие традиционной подписи на бумажном документе.
Рассмотрим еще один протокол с участием посредника, задача которого - обеспечить предъявление получателем Б третьему лицу В подписанного документа а, полученного им от отправителя А,
1.	Б объединяет в блок I = [а,рА] полученное сообщение а с сертификатом посредника рА и шифрует блок I на ключе кг,
после этого Б посылает криптограмму w посреднику (для пересылки третьему лицу В),
2.	Посредник, используя ключ кг, расшифровывает криптограмму w:
ф)=/-
3.	Посредник шифрует блок I на секретном ключе ку, используемом для связи с В, и посылает В криптограмму v:
Екз(П = У-
4.	В расшифровывает криптограмму v, используя ку.
E^(v) = l = [а,рА].
208
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ
Теперь В может прочесть и сообщение а и сертификат посредника рА, свидетельствующий, что его послал Л.
Эти протоколы в принципе выполнимы, но они требуют высокопроизводительной и безошибочной работы посредника. Он должен постоянно расшифровывать и зашифровывать сообщения между каждой парой абонентов, желающих отправить друг другу подписанный документ. Посредник является узким местом в такой системе связи, даже если он - бездушная компьютерная программа.
Посредник должен быть непогрешим, ибо даже единственная ошибка в миллионе подписей подрывает доверие к нему. Кроме того, он должен работать в полной безопасности. Если его база данных по секретным ключам станет доступной злоумышленнику или кто-то исказит его ключи, функционирование системы будет нарушено. Этот протокол хорош скорее в теории, чем на практике.
Рассмотрим более практичные протоколы цифровой подписи, использующие асимметричные криптосистемы.
В некоторых системах с открытым ключом, например в криптосистемах Эль Гамаля (см. прил. 10) и RSA, создание цифровой подписи равносильно зашифрованию документа закрытым ключом. В таком случае каждый может воспользоваться открытым ключом для расшифрования и тем самым проверить достоверность подписи.
Такой протокол отвечает всем требованиям подписи и не нуждается в посреднике. Вместе с тем требуются некоторые усложнения этого протокола, чтобы устранить определенные возможные слабости подписанного документа.
Подписание больших документов посредством их шифрования асимметричным алгоритмом неэффективно в силу невысокой скорости шифрования. Поэтому лучше подписывать не сам документ, а его свертку, полученную с использованием однонаправленной хеш-функции. Получателю отправляется документ и его подписанная свертка. Важно использовать именно однонаправленную хеш-функцию, чтобы свести к минимуму риск подмены истинного документа ложным документом, имеющим такую же свертку.
Удобство данного варианта протокола состоит и в том, что хранение подписи требует меньше памяти и может осуществляться отдельно от хранения документа.
209
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Чтобы злоумышленник не смог воспользоваться многократно подписанным документом (например, денежным переводом), предназначенным для разового использования, в документ следует добавить информационный блок, где зафиксированы время и дата подписания документа, так называемая метка времени. Кроме того, метка времени на документе снижает риск отказа автора от своей подписи (если подписавший заявит, что у него украден закрытый ключ и документ подписан не им). Соответствующий протокол с посредником предусматривает следующие шаги:
1.	А подписывает сообщение.
2.	А генерирует заголовок, содержащий идентификационную информацию, затем добавляет заголовок к подписанному сообщению, подписывает все вместе и отправляет посреднику.
3.	Посредник проверяет подлинность наружной подписи и подтверждает идентификационную информацию. Далее он проставляет метку времени на сообщении и на идентификационной информации. Затем он подписывает весь пакет и отсылает его как автору подписи А, так и адресату Б.
4.	Б проверяет подлинность подписи посредника, идентификационную информацию и подлинность подписи А.
5.	А проверяет подлинность сообщения, которое посредник послал Б. Если А не признает своего авторства, он немедленно заявляет об этом.
Заметим, что важным вопросом является защита базы открытых ключей, которая должна быть всем доступна. Один из вариантов защиты предусматривает использование посредника в лице центра распределения ключей (ЦРК), который подписывает каждый открытый ключ своим закрытым ключом. Такой протокол работает хорошо, если обеспечена защита открытого ключа ЦРК.
210
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА
Устройство ключевой системы является одним из определяющих факторов для криптографической стойкости шифрсистемы. При этом важны оба компонента ключевой системы: строение ключевого множества шифра, а также процедуры и протоколы, управляющие всеми этапами жизненного цикла ключей.
11Л. Строение и порядок ключевого множества
В качестве ключа может использоваться либо часть входных данных отображений шифра, либо функциональные элементы, использованные при построении отображений шифра, либо сочетание множеств обоих указанных типов. Всевозможные допустимые значения ключа образуют ключевое множество.
Некоторые ключевые множества неоднородны, обладают определенными структурными свойствами. Например, ключевое множество К может иметь вид:
К = KixK2,
где К\ - множество сеансовых или разовых ключей (действующих в течение одного сеанса связи), К2 - множество структурных ключей (функциональных элементов алгоритма шифрования) или долговременных ключей (действующих в течение длительного периода времени).
В некоторых протоколах распределения ключей используется другое разделение множества ключей по функциональному назначению: сеансовые ключи (для шифрования сообщения), ключи пересылки (для шифрования сеансовых ключей), главные ключи (для хранения в шифрованном виде ключей пересылки) и т. д.
Одной из основных характеристик ключевого множества является его порядок, то есть число различных ключей, образующих ключевое множество. Важной характеристикой ключа является его размер, под которым обычно понимается длина слова в некотором алфавите, Кодирующего значение ключа. Порядок ключевого множества непосредственно связан с размером образующих его ключей.
^ЛОГгПИФИ
211
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Например, если ключевое множество есть V„, то ключ keVn называют бинарным и размер его равен числу п координат соответствующего двоичного вектора. Порядок ключевого множества в этом случае равен 2".
Если ключом является перестановка координат n-мерных векторов, то такой ключ часто называют коммутаторным и размер его равен длине записи перестановки, то есть равен п. Порядок ключевого множества в этом случае равен и!.
Размер ключа должен быть достаточно велик, чтобы вскрытие шифра перебором всех ключей было непосильно для противника в приемлемое время. При этом необходимо учитывать уровень секретности защищаемой информации, необходимый срок сохранения ее в секрете и возможности криптоаналитика противника, в частности его вычислительные мощности.
С другой стороны, завышенный размер ключа может негативно сказаться на удобстве, надежности и стоимости работы с ключами шифра. Поэтому определение криптографом размера ключа при разработке шифрсистемы - это компромисс противоположных факторов.
При обсуждении в криптографической литературе приемлемых длин ключей приводятся следующие приблизительные оценки [38]. При использовании симметричной шифрсистемы с бинарным ключом для защиты информации с высоким уровнем секретности рекомендуемая длина ключа составляет не менее 128 бит. Для шифрси-стем с открытым ключом эта оценка выше по крайней мере в 10 раз.
Если уровень секретности защищаемой информации не самый высокий, то длина ключа может быть сокращена, но не более чем на 50 %.
11.2.	Вероятностная модель ключевого множества
Вероятностная модель ключевого множества используется криптоаналитиком для анализа статистических свойств криптосистемы. Вероятностная модель определяется, в частности, заданием вероятностного распределения на ключевом множестве, которое рассматривается как пространство элементарных событий. Каждому ключу к^К ставится в соответствие вероятность его использования для
212
_______________________________Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА
зашифрования либо какого-то конкретного, либо случайного открытого текста. При этом рк = I.
кеК
В наиболее естественной и часто принимаемой криптоаналитиком моделипредполагается. что ключи для шифрования выбираются независимо от открытых текстов и обладают хорошими статистическими свойствами, то есть:
1)	для очередного периода эксплуатации (сеанса, суток, и т. д.) каждый ключ выбирается случайно равновероятно из ключевого множества К, то есть рк = 1/|/С| для любого кеК\
2)	при смене ключей новый ключ выбирается независимо от предыдущих.
11.3.	Генерация ключей
Важнейшей характеристикой ключа является его случайность. Наличие закономерностей как в отдельном ключе, так и в ключевом массиве приводит к неявному уменьшению порядка ключевого множества и, следовательно, к понижению криптографической стойкости шифра. Например, если шифрсистема использует 8-байтовый бинарный ключ и генерация ключа допускает любое из всевозможных значений ключа, то порядок ключевого множества равен 2е4. Если же ключ составлен из восьми символов кода ASCII, то порядок ключевого множества сокращается до 240. То есть полный перебор ключей требует вычислительных затрат в 10 млн. раз меньше, чем в первом случае.
Использование в качестве ключей осмысленных слов и выражений также приводит к сокращению порядка ключевого множества. Перебор таких ключей называется атакой по словарю.
Качество ключей с точки зрения случайности определяют свойства генератора ключей. Для симметричных криптосистем хорошими ключами можно считать строки случайных битов, полученные с помощью физических генераторов РРСП (см. гл. 7), а также строки случайных битов, полученные с помощью программных генераторов, если они взяты из последовательностей, которые при статистическом тестировании признаются случайными.
213
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ..........
Генерация ключей для асимметричных криптосистем сложнее, так как ключи должны иметь определенные теоретико-числовые свойства, например быть простыми числами.
В качестве программных генераторов ключей можно использовать блочные шифры. Например, американский стандарт генерации ключей ANSI Х9.17 реализуется криптографическим алгоритмом, построенным на основе схемы «тройного DES»* (см. прил. 19.5).
11.4.	Обеспечение секретности ключей
Важнейшим требованием к ключам является их секретность, что проиллюстрировано в гл. 10 при обсуждении криптографических протоколов.
Для обеспечения секретности ключей на различных этапах их жизненного цикла применяются следующие организационные и технические меры:
1)	ограничение круга лиц, допущенных к работе с ключами;
2)	регламентация распределения, хранения и уничтожения ключей;
3)	регламентация порядка смены ключей;
4)	применение технических средств защиты ключевой информации от несанкционированного доступа.
Рассмотрим некоторые способы реализации этих мер.
11.4.1. Схемы разделения секрета
Разделение секрета - это способ распределения долей секретной информации между несколькими пользователями, при котором знание каким-либо лицом любой из долей не позволяет ему восстановить секрет проще, чем перебором всевозможных значений секрета, а совокупность всех долей позволяет однозначно вычислить секрет.
Принцип разделения секрета используется в криптографических приложениях, в частности для распределения ключей.
* ANSI (American National Standards Institute) - Американский национальный институт стандартов, отвечает за стандартизацию электронного обмена данных, банковского дела и за вопросы безопасности взаимосвязи открытых систем.
214
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА
Пусть секретом является бинарный ключ х длины п. Простейшая схема разделения такого секрета между т пользователями заключается в распределении между ними векторов Х1,хг,...,хт из V,, таких, что х = xi©x2®...®x,„. Действительно, отсутствие хотя бы одной доли приводит к полной неопределенности значения секрета х. И только объединение всех долей позволяет вычислить х.
Заметим, что если доверить пользователям значения гь г2,..., гт координат векторах, где г\+гг+...+гт = п, то это не будет разделением секрета (такие схемы иногда называют разбиением секрета), так как каждый пользователь для восстановления секрета может перебрать менее 2" вариантов.
Недостаток простейшей схемы разделения секрета заключается в ее невысокой надежности. Если доля одного из пользователей утеряется, то секрет будет невозможно восстановить.
В связи с этим введено понятие (тМ)-пороговой схемы разделения секрета, \<t<n, которая по определению обладает тем свойством, что любая группа из t пользователей может однозначно восстановить секрет, а всякая группа из меньшего числа пользователей восстановить секрет не может.
Примером (и,Г)-пороговой схемы разделения секрета является схема Шамира. В этой схеме секретом является свободный член а0 заранее выбранного многочлена/(х) степени Г-1 над конечным полем Р большого порядка:
Дх) = £а,х; .
Выберем для п пользователей соответственно п различных несекретных элементов rt,nгп поля Р, отличных от нуля. Вычислим для выбранного многочлена /(х) значения /(г,) и распределим между пользователями в качестве долей секрета наборы вида (г„ /(г,)), i=l,2,...,n.
Для восстановления секрета можно воспользоваться интерполяционной формулой Лагранжа, согласно которой многочлен /(х) степени г-1 при любых t парах вида (5„/(5,)), i = 1,2,...,Г, где - попарно различные элементы поля Р, удовлетворяет соотношению
215
В. М._ Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ__
-L, T-rX-S;
Е/Ц)-П—г-
j*i \
Так как ао =/(0), то получаем:
оо= Е№)-Пттг-
Числа ГТ—J-— известны и не зависят от характеристик мно-si ~s,
гочлена /(х). С помощью последней формулы любая группа из t пользователей может восстановить секрет. В то же время никакая группа из меньшего числа пользователей восстановить секрет не сможет, так как для однозначного определения коэффициентов многочлена степени t-1 требуются значения многочлена не менее чем в 1 точках поля.
Удобство схемы Шамира состоит в том, что легко изменяется число пользователей, для этого надо просто добавить к элементам Г],Г2,...,гп поля Р новые элементы.
Компрометация т долей секрета,	преобразует («,/)-
пороговую схему Шамира в (и-тД-т)-пороговую схему.
Существуют и более изощренные схемы разделения секрета, в которых предусмотрено, в частности, что среди пользователей может оказаться злоумышленник.
11.4.2, Рассылка ключей
Традиционный способ рассылки ключей симметричной криптосистемы состоит в использовании курьерской службы. Во время пересылки для ограничения несанкционированного доступа к ключевой документации может использоваться специальная упаковка, обеспечивающая контроль над целостностью ключевого материала й защиту от съема информации злоумышленником. Такой способ трудоемок и дорогостоящ.
Альтернативных вариантов имеется несколько. Можно использовать либо какой-нибудь надежный защищенный канал связи, либо несколько параллельных каналов связи и схему разделения секрета.
216
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА
Эффективной мерой является передача ключа в шифрованном виде при условии, что обеспечена секретность ключа пересылки.
При передаче в электронном виде ключи иногда искажаются, что приводит к невозможности их использования. Для обнаружения искажения передаваемого ключа можно использовать предварительное шифрование этим ключом некоторой константы и передачу вместе с ключом нескольких байт полученной криптограммы, выполняющих функцию имитовставки. При обнаружении искажения ключ может быть послан повторно.
11.43.	Хранение ключей
Обеспечение секретности ключа при хранении может быть достигнуто следующими способами:
1)	ключ хранится вне компьютера или шифрующего аппарата и каждый раз вводится пользователем через клавиатуру, при этом ответственность за обеспечение секретности ключа и за точность его ввода возлагается на пользователя;
2)	ключ, записанный на карточке (с магнитным носителем, с микросхемой ПЗУ, на смарт-карте), передается в компьютер или шифратор через считывающее устройство, при этом ограничен доступ пользователя к ключу и, следовательно, возможность компрометации ключа;
3)	секретный ключ разделяется на две части, одна из которых хранится в компьютере, а вторая на карточке, что исключает компрометацию ключа при компрометации одной из его частей;
4)	ключ к хранится в памяти компьютера в шифрованном виде и непосредственно перед использованием расшифровывается, при этом секретность ключа, с помощью которого зашифрован к. обеспечивается одним из трех вышеуказанных способов.
Отметим удобство сеансового ключа, состоящее в отсутствии необходимости его хранить после использования. Если сеансовый ключ генерируется непосредственно перед сеансом, то проблема хранения отсутствует полностью.
Если по каким-либо причинам ключ утерян, например физически уничтожен носитель ключа, то для восстановления работоспособности криптосистемы необходимо предусмотреть механизм восстанов
217
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И_КРИПТОЛОГИЯ
ления утерянного ключа. Для этого можно воспользоваться депонированием ключа - хранением копии ключа (лучше в зашифрованном виде) у доверенного лица. Надежность этого метода повышается, если используется несколько доверенных лиц и схема разделения секрета. Для депонирования ключей можно использовать смарт-карты, хранящиеся у доверенного лица.
11.4.4.	Смена ключей
Некоторые криптосистемы предусматривают ежедневную смену ключа. Чтобы избежать ежедневного распределения новых ключей, в некоторых криптосистемах новый ключ ki+i генерируют из предыдущего ключа к,, выполняя вычисления с использованием однонаправленной функции/: ki+i = flki), i = 1,2,... Такую процедуру называют обновлением ключа. Секретность обновленного ключа зависит от секретности предыдущих ключей.
В случае компрометации ключа необходимо незамедлительно провести его смену и перейти к использованию нового ключа. Компрометация закрытого ключа асимметричной криптосистемы ставит под сомнение законность всех договоров и сделок, заключенных с использованием этого ключа, так как наличие открытого и закрытого ключей позволяет злоумышленнику читать и подписывать сообщения. Если дата компрометации ключа установлена, то ущерб от компрометации можно локализовать, используя метки времени в сообщениях. С целью уменьшения потенциального ущерба от компрометации ключей можно использовать несколько ключей для различных приложений. Например, можно разделить абонентов на группы и для общения с каждой группой использовать различные комплекты ключей.
Время «жизни» ключа должно быть ограничено. Чем продолжительнее использование ключа, тем выше вероятность его компрометации и больше соблазн для криптоаналитика заняться его раскрытием, так как раскрытие ключа позволит раскрыть все сообщения, зашифрованные этим ключом. Тем более что наличие большого числа сообщений, зашифрованных одним ключом, дает криптоаналитику дополнительный шанс.
218
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА
Уничтожение ключей должно носить необратимый характер, чтобы исключить полностью возможность восстановления ключей.
Применяется и архивация ключей - сохранение копий ключей, которые в течение некоторого временного периода могут быть востребованы.
11.5. Протоколы обмена ключами
Одной из важнейших криптографических задач является задача распределения ключей. Современные способы используют технические каналы связи и реализуются быстрее и удобнее, чем традиционные способы рассылки.
Различаются следующие виды протоколов распределения ключей:
1)	передача ключа абоненту;
2)	совместная выработка абонентами общего ключа (открытое распределение ключей);
3)	предварительное распределение ключей.
Наряду с передачей ключей нередко возникает необходимость идентифицировать абонентов.
11	.5.1. Передача ключей с использованием симметричного шифрования
11.5.1.1. Двусторонние протоколы
Пусть абоненты А и Б используют для связи семейство шифра Е и располагают заранее известным ключом кАв, используемым не для шифрования сообщений, а для пересылки ключевой информации.
Передача разового ключа к от А к Б осуществляется с помощью пересылки криптограммы Е(кАБ,1), полученной зашифрованием открытого текста I с помощью ключа кАв, где
I=(k, t, б),
где t - метка времени; б - идентификатор абонента Б.
Если не осуществлять передачу метки времени, то злоумышленник сможет позднее повторно передать сообщение. Если не осуществлять передачу идентификатора б абонента Б, то злоумышленник
219
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
сможет направить данное сообщение по другому адресу, например абоненту Л.
2.	Для аутентификации сеанса можно использовать следующий протокол, основанный на технике «запрос-ответ».
1-й шаг. Абонент Б генерирует случайное число rs (необходимое для того, чтобы Б убедился, что имеет дело именно с А) и отправляет его абоненту А.
2-й шаг. Абонент А вычисляет криптограмму E(kAsJ), где
1 = (к, гБ, б),
и отправляет ее абоненту Б.
3.	Для двусторонней аутентификации сеанса можно использовать следующий протокол, являющийся усилением предыдущего протокола.
Пусть кАи кБ- случайные числа (заготовки для совместной выработки сеансового ключа к), сгенерированные абонентами А и Б соответственно.
1-й шаг. Абонент Б генерирует случайное число гБ и отправляет его абоненту А (впоследствии А должен предъявить число гБ абоненту Б).
2-й шаг. Абонент А генерирует случайное число гА (впоследствии Б должен предъявить число гА абоненту А), вычисляет криптограмму Е(кАБ,Г), где
I = (кА, гА, гБ, б),
и отправляет ее абоненту Б. Последний расшифровывает криптограмму, и тем самым А предъявляет гБ абоненту Б.
3-й шаг. Абонент Б вычисляет криптограмму E(kAs,J), где
J = (кв, гА, гБ, а),
и отправляет ее абоненту А (а - идентификатор абонента А). Последний расшифровывает криптограмму, и тем самым Б предъявляет гА абоненту Л.
4-й шаг. Каждая из сторон вычисляет сеансовый ключ к с помощью некоторой функции/:
k=f(kA,ks).
Ни одна из сторон не знает заранее сеансового ключа.
220
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА
4.	Бесключевой протокол Шамира.
Данный протокол не требует использования заранее известного обоим абонентам ключа. В то же время необходимо, чтобы все преобразования из семейства шифра коммутировали, то есть при любых ключах к[ и кг из ключевого множества и любом открытом тексте х выполнялось бы
E(ki,E(k2rx)) = Е(к2,Е(к1рс)).
В этом случае протокол передачи секретного ключа к от А кБ выглядит так.
1-й шаг. Абонент А случайным образом генерирует сеансовый ключ к и ключ кА для передачи ключевой информации, после чего вычисляет криптограмму
Е(кА,к)
и отправляет ее абоненту Б.
2-й шаг. Абонент Б случайным образом генерирует ключ кБ для передачи ключевой информации, после чего вычисляет криптограмму
Е(кБ,Е(кА,к))
и отправляет ее абоненту Л.
3-й шаг. Абонент А расшифровывает полученную на 2-м шаге криптограмму с помощью ключа кА, то есть вычисляет
Е(кА1,Е(кБ,Е((кА,к)) = Е(кБ,(кУ),
и отправляет это сообщение абоненту Б.
4-й шаг. Абонент Б расшифровывает полученную на 3-м шаге криптограмму с помощью ключа кБ, то есть вычисляет сеансовый ключ к.
В этом протоколе не следует использовать некоторые коммутирующие преобразования. Например, в случае гаммирования перехват криптограмм на шагах 1-3 позволяет криптоаналитику беспрепятственно вычислить сеансовый ключ к.
Шамир и Омура независимо показали, что этот протокол можно реализовать с использованием преобразования вида
Е(кА,к) = kwmodp,
221
В. М^Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
где р - большое простое число; р-l имеет большой простой множитель и константа w определяется ключом кА.
5.	Одним из важных элементов криптографических протоколов является использование модуля безопасности, представляющего собой техническое устройство, позволяющее физически защитить от несанкционированного доступа алгоритм шифрования и ключ. Попытка проникнуть внутрь устройства приводит к необратимому физическому разрушению электронной схемы и информации.
Рассмотрим протокол передачи сеансового ключа с использованием модуля безопасности. Пусть ключи симметричной криптосистемы образуют трехуровневую иерархию: сеансовые ключи, ключи передачи для шифрования сеансовых ключей и мастер-ключ хранения для шифрования ключей передачи. Мастер-ключи рассылаются заранее и хранятся в физически защищенном модуле безопасности, так как от них зависит безопасность всей системы.
Ключ передачи кр хранится в незащищенном месте, но в зашифрованном виде (с помощью мастер-ключа
При необходимости организации сеанса связи абонент А вводит в модуль безопасности величину sp, где с помощью мастер-ключа выполняется расшифрование:
После этого в модуле сеансовый ключ кс случайным образом генерируется и зашифровывается с помощью ключа передачи и затем отправляется абоненту Б:
Ek(kc) = sc.
Абонент Б аналогичным образом вычисляет кр и с его помощью расшифровывает сеансовый ключ.
Таким образом, в модуле безопасности ключи обрабатываются в незашифрованной форме, при этом вне области модуля ключи никогда не раскрываются.
222
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА
11.5.1.2.	Трехсторонний протокол
Действующими лицами протокола являются посредник в лице центра генерации и распределения ключей, абоненты А и Б, которые имеют секретные ключи ki и к2 соответственно для связи с ЦГРК.
1.	Абонент А вызывает ЦГРК и запрашивает сеансовый ключ, чтобы связаться с Б.
2.	ЦГРК генерирует случайный сеансовый ключ к и шифрует две его копии: одну на ключе к], общем с Л, а другую - на ключе к2, общем с Б:
Ekt = ^1 ’ Екг (^) = 4 S 62 ‘
Кроме того, ЦГРК шифрует на ключе к2 идентификатор рл, подтверждающий подлинность запроса абонента А:
EkSPA> = SA-
ЦГРК посылает А в зашифрованном виде идентификатор р& и обе копии сеансового ключа, то есть посылает 51 и информационный блок [52^д]-
3.	А расшифровывает свою копию сеансового ключа:
4. А пересылает Б информационный блок
5. Б расшифровывает свою копию сеансового ключа и идентификатор Л:
Екг (S2)~^ > Екг (sa) = Ра-
Б получает ключ и узнает, кто его вызывает для связи.
6. А и Б с помощью сеансового ключа к устанавливают секретную связь.
Этот протокол работает, но он требует абсолютной безопасности ЦГРК. Если активный противник подкупит ЦГРК, скомпрометированной окажется вся сеть, обслуживаемая данным ЦГРК. Активный противник завладеет всеми секретными ключами, которые имеются у ЦГРК для совместного использования с каждым абонентом. Он сможет прочесть все сообщения, которые уже прошли в сети и которые
223
д м фпмичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
пройдут в будущем. Для этого ему достаточно контролировать линии связи и расшифровывать перехваченные криптограммы.
При большом числе абонентов в сети нагрузка на ЦГРК может оказаться критически высокой.
11.5.2. Управление ключами в системах с открытым ключом
Криптография с открытым ключом упрощает управление ключами но У нее есть свои недостатки. Если абонент А запрашивает открытый ключ абонента Б для связи с ним, то злоумышленник может перехватить этот открытый ключ и подменить его своим ключом. После этого он может общаться с абонентом А, имитируя абонента Б Такая модель действий злоумышленника получила название «активного противника посередине».
Для предотвращения подмены ключа используются сертификаты открытых ключей, представляющие собой ключ, подписанный доверенным лицом (в случае централизованного управления ключами -органом сертификации). Заверенный сертификат содержит не только ключ, но и информацию о его владельце.
Используется и децентрализованное управление ключами, когда ключи подписываются поручителями, выделенными из равноправных пользователей системы. Преимущество такой схемы -в отсутствии необходимости использовать центр сертификации, которому все доверяют, а недостаток - в отсутствии гарантий того что получивший сертификат ключа абонент доверяет поручителям, подписавшим его.
11.5.2.1.	Алгоритм Диффи - Хеллмана
для совместной выработки ключа абоненты А и Б выбирают большое простое число п и число g, порождающее подгруппу большого порядка в мультипликативной группе вычетов по модулю п (в лучшем случае g - примитивный корень по модулю п). Эти числа необязательно хранить в секрете. Далее выполняется следующий протокол:
1	Абонент А выбирает случайное большое целое число х и посылает Б число X.
224
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА
X = gxmodn.
2.	Абонент Б выбирает случайное большое целое число у и посылает А число У:
Y = g-'modn.
3.	Абонент Л вычисляет значение:
к = rinodn.
4.	Абонент Б вычисляет значение:
к’ = X'modn.
Очевидно, к = к' и противнику для вычисления общего ключа к необходимо вычислить дискретный логарифм, чтобы определить либо х, либо у.
Заметим, что данный протокол уязвим по отношению к атаке «активного противника посередине». Последний может перехватывать сообщения абонентов и имитировать с каждым их них второго абонента.
11.5.2.2. Протокол «станция-станция»
Данный протокол противодействует атаке «активного противника посередине». Предполагается, что у А имеется сертифицированный открытый ключ абонента Б, и у Б имеется сертифицированный открытый ключ абонента А. Эти сертификаты подписаны доверенной стороной, не участвующей в протоколе.
1.	Абонент А генерирует случайное число х и посылает Б число X: X = gxmodn.
2.	Абонент Б генерирует случайное число у и вычисляет общий ключ к в соответствии с протоколом Диффи - Хеллмана:
к = Xrmodn.
Далее Б подписывает пару (gxmodn, g'modn), затем шифрует подпись с использованием ключа к и посылает А сообщение I (здесь Sg -подпись, Ек - шифрование):
1 = [g'modn, Ek(SB^gxvaodn, g'modn))].
225
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ	____
3.	Абонент А также вычисляет к. Он расшифровывает вторую часть сообщения и проверяет подпись. Затем А посылает Б сообщение J:
J = Ek(SA(gxmodn, grmod«)).
4.	Абонент Б расшифровывает сообщение J и проверяет подпись абонента Л.
11.5.3. Предварительное распределение ключей
Рассмотрим сеть с п абонентами, в которой каждая пара абонентов использует независимые ключи. Ключевую систему такой сети характеризует матрица ключей К„:
Kn = (kis), i,se{ 1,2,...,«},
где k,s - ключ для связи z-го и 5-го абонентов, /ау; к„ - пустой символ. Абоненту i для связи с остальными абонентами нужно хранить л-1 ключ (из /-го столбца матрицы Кп), а всего в сети используется и(п-1)/2 ключа. Следовательно, при большом п в сети заметно усложняются вопросы изготовления, распределения, хранения и смены ключей.
Для уменьшения объема хранимой информации применяются схемы предварительного распределения секретных ключей в сети связи. Суть этих схем в том, что распределяются не сами ключи, а некоторая информация, с использованием которой участники могут самостоятельно вычислить необходимый ключ по заранее оговоренной процедуре.
В качестве примера рассмотрим схему распределения ключей Блома.
Пусть Р - конечное поле большого порядка. Зафиксируем п элементов г\,...,гп поля Р, соответствующих п абонентам сети. Эти числа не являются секретными и хранятся на общедоступном сервере. Секретным является симметричный многочлен /(х,у) над полем Р степени 2т, \<т<п (то есть а,7 = а7, при /*/):
т т
ж.у) =	•
<=0 >0
226
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА
Коэффициенты многочлена f(x,y) хранятся в центре распределения ключей.
Каждый абонент А получает в качестве ключевых материалов набор (aA, аА, ..., аА) коэффициентов многочлена
fix,rA) = а0А + аА -х+...+ аА хт.
Для связи абонентов А и Б используется ключ /(гБ,гл), легко вычисляемый как А, так и Б с использованием известных чисел г\,...,гп. При использовании данной схемы каждый абонент хранит /и+1 секретное значение вместо л-1, а общее число секретных коэффициентов многочлена Дх,у) равно m-(m+V)/2 вместо л-(п-1)/2.
11.5.4. Зависимость протоколов от архитектуры сети
Ключевые протоколы должны строиться с учетом особенностей архитектуры сети связи, в которой они будут использоваться.
Рассмотрим сеть связи, в которой А отводятся функции руководителя, а всем остальным (Б, В и другим) функции подчиненных. Пусть А использует эту сеть для передачи своим подчиненным общих приказов, распоряжений, указаний и т. п. При этом А зашифровывает сообщение на ключе к, общем для всей сети, и отправляет каждому подчиненному по одному экземпляру шифрованного сообщения. Криптоаналитик, контролируя сеть и перехватывая криптограммы, получает для криптоанализа столько же материала, сколько он имел бы, контролируя только линию связи А с Б, так как все криптограммы в сети идентичны. Если бы А для связи с п подчиненными использовал п различных ключей, то криптоаналитик, контролируя сеть, имел бы для дешифрования сообщения больше материала, чем при едином ключе.
Если сеть построена для связи п абонентов, общающихся по принципу «каждый с каждым», то использовать один и тот же ключ для всех пар абонентов - это самый дешевый и простой способ с точки зрения изготовления, распределения и смены ключей. В то же время, это самый слабый способ с точки зрения устойчивости функционирования ключевой системы. Ведь если ключ
227
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
скомпрометирован только в одном абонентском пункте, то скомпрометирована вся сеть.
Поэтому важнейшей характеристикой ключевой системы является ее устойчивость к компрометациям. Говорят, что ключевая система, работоспособность которой обеспечивается с помощью N ключей, выдерживает г компрометаций, r<N, если компрометация г ключей не облегчает задачу определения остальных N-r ключей.
Сеть из п абонентов, общающихся по принципу «каждый с каждым», имеет наилучшую устойчивость к компрометациям, если для связи различных пар абонентов используются независимые ключи. Такая сеть выдерживает компрометацию всех ключей любых п-2 абонентов.
Сеть из п абонентов, использующая схему распределения ключей Блома, выдерживает компрометацию всех ключей любых т абонентов.
Для упрощения вопросов управления ключами можно п абонентов организовать с помощью сети, наделенной иерархией. Пусть п абонентов сети разделены на т зон (примерно поровну), в каждой из которых выделен один абонент, называемый начальником зоны. Внутри зоны связь абонентов организована по принципу «каждый с каждым», такой же сетью связаны и начальники всех зон. Абоненты разных зон связываются друг с другом через своих начальников, которые в таких случаях выполняют функции ЦГРК. В такой сети каждый «рядовой» абонент хранит ключи только для связи с абонентами своей зоны, то есть порядка п/т ключей, а начальник зоны хранит еще и ключи для связи с начальниками других зон, то есть порядка т+п/т ключей. При этом протокол связи между абонентами разных зон несколько усложняется.
Очевидно, такая сеть является компромиссом между сетью, где каждый с каждым общается напрямую, и сетью, где каждый с каждым общается посредством ЦГРК.
228
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ
Исследование криптографических свойств шифрсистемы подразумевает исследование математических моделей всех ее компонентов: отображений шифра, используемых протоколов, а также открытых и шифрованных текстов, связанных с функционированием шифрсистемы. Рассмотрим математические модели открытых текстов, иначе говоря, модели источников открытых сообщений (ИОС).
12.1.	Характеристики открытых текстов
Как шифрованный, так и открытый текст представляют собой последовательности символов, взятых из конечного набора, называемого алфавитом. Элемент алфавита называется буквой. Число символов алфавита называется мощностью алфавита. Приведем примеры алфавитов на основе английского языка.
1.	Ai - алфавит прописных букв, |Aj[ = 26:
А,В,С,..., X,Y,Z.
2.	А2 - прописные и строчные буквы, целые числа, пробел и знаки препинания (мощность алфавита » равна 70):
А,В,С, ...,X,Y,Z,
a,b,c,..., x,Y,z,
0, 1, 2,..., 9, пробел, зпт, тчк,:,;, ”, ?, !.
3.	Аз -элементы множества {0,1}.
В основном используются производные от Аз алфавиты, совпадающие со множеством У„ двоичных n-мерных векторов. Мощность таких алфавитов равна 2", и, как правило, 5<«<8. Широко используемыми алфавитами, элементы которых есть двоичные векторы, являются коды ASCII и МТК-2.
Часто в процессе шифрования над символами алфавита производятся вычислительные действия, поэтому их удобно представлять
/1ИхЫОГ41И0И
229
В. М. Фомичее. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
в виде чисел или двоичных наборов. Рассмотрим в качестве алфавита мощности т кольцо вычетов по модулю т: Zm= {0,1,2,...
Всякий текст, записанный в некотором алфавите, имеет длину, равную числу букв в соответствующей записи.
Последовательность к соседних букв текста, к>2, называется fc-граммой (при к = 2 - биграммой и т. д.). Помимо алфавита Z,„, могут рассматриваться производные от него алфавиты Z^k, представляющие собой набор всевозможных fc-грамм исходного алфавита.
Модели открытых текстов разделяются на два класса: детерминированные и вероятностные.
12.2.	Детерминированные модели
Источники открытых сообщений многообразны. В качестве ИОС можно рассматривать отдельного человека или группу людей, радиостанции, пункты телеграфной и телефонной сети и т. д. Каждый источник открытого текста характеризуется:
1)	одним или несколькими языками общения;
2)	набором используемых алфавитов;
3)	определенной тематикой генерируемых сообщений;
4)	частотными характеристиками сообщений и др.
Например, сообщения на английском языке, передаваемые по телетайпу или набранные на пишущей машинке, скорее всего используют алфавит Аг* Частный корреспондент, намеревающийся шифровать свои сообщения, во многих случаях предпочтет использовать алфавит Аь Данные, обрабатываемые в компьютерных сетях, удобнее отображать с использованием алфавита V/;.
Каждый ИОС порождает тексты в соответствии с правилами грамматики некоторого языка, что находит отражение и в статистических характеристиках сообщений. Например, в текстах на английском языке за буквой q всегда следует буква м, в русских текстах буквы ь и ъ никогда не соседствуют и не следуют за гласными буквами. Вообще всякий язык и всякий ИОС можно характеризовать разбиением множества всех fc-грамм, к = 2,3,..., на допустимые (встречаю
230
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ
щиеся в каких-либо текстах) и запрещенные (не встречающиеся ни в каких текстах).
Разбиение множества всех А>грамм на допустимые и запрещенные определяет детерминированную модель ИОС. В такой модели открытый текст рассматривается как последовательность букв некоторого алфавита, не содержащая запретных /с-грамм. Заметим, что разделение мультиграмм на допустимые и запрещенные весьма условно в силу динамичности языка, его способности к развитию. Кроме того, указанное разделение может иметь индивидуальные особенности для каждого источника сообщений, то есть характеризует не только язык в целом, но и отдельный ИОС.
12.3.	Вероятностные модели
В вероятностных моделях ИОС рассматривается как источник случайных последовательностей.
Пусть источник генерирует в алфавите Zm текст конечной или бесконечной длины. При этом можно считать, что источник генерирует конечную или бесконечную последовательность случайных переменных xq,xi,...,xh-i,..., принимающих значения в Zm. Вероятность случайного сообщения (ao,ai,...,an.i) определяется как вероятность такой последовательности событий:
Р(ао,«1....a„.i) = Р{х0 = a0, *i = ai,...,xn.i = a„.i}.
Множество случайных сообщений образует вероятностное пространство, если выполнены условия:
1)	P(ao,ai,...,an.i)>O для любого случайного сообщения (ao,at,...,a„.i);
2)	..................=
("о.".....
3)	для любого случайного сообщения	и любого s>n
P(ao,ai,...,a„.i) = У, Р(а0,а,,...,а,_,),
(«5.««-1)
то есть вероятность всякого случайного сообщения длины п есть сумма вероятностей всех продолжений этого сообщения до длины s.
231
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ_
Текст, порождаемый таким источником, является вероятностным аналогом языка. Он обладает одинаковыми с языком частотными характеристиками Л-грамм. Задавая определенное вероятностное распределение на множестве открытых текстов, мы задаем соответствующую модель ИОС. Рассмотрим наиболее часто используемые вероятностные модели ИОС.
12.3.1.	Стационарный источник независимых символов алфавита
В этой модели предполагается, что вероятности сообщений полностью определяются вероятностями использования отдельных букв алфавита в случайном тексте:
п-1
P(a0,ai,...,a„_i) =	=а,},
i=0
где для всех i& {0,} и любого a&Zm
Р{х, = а}>0; £Р{х,. =а}=1.
neZwt
Открытый текст такого источника является реализацией последовательности независимых испытаний в полиномиальной вероятностной схеме с числом исходов, равным т. Множество исходов взаимно-однозначно соответствует множеству всех символов алфавита.
Приведем списки букв высокой частоты использования для некоторых европейских языков (табл. 12.1).
Таблица 12.1. Частота букв в разных языках
Язык	Буква алфавита/частота буквы в текстах, %					
Английский	Е/ 12,86	Т / 9,72	А/7,96	1/7,77	N/7,51	R / 7,03
Испанский	Е/14,15	А/12,90	0/8,84	S / 7,64	1/7,01	R/6,95
Итальянский	1/12,04	Е / 11,63	А/ 11,12	О / 8,92	N / 7,68	Т / 7,07
Немецкий	Е/ 19,18	N/ 10,20	1/8,21	S/7,07	R/7,01	Т / 5,86
Французский	Е/ 17,76	S / 8,23	А/7,68	N/7,61	Т/7,30	I / 7,23~1
Русский	О/ 11,0	И/8,9	Е/8,3	А/7,9	Н/6,9	Т / 6,0__
Данная модель позволяет разделить буквы алфавита на классы высокой, средней и низкой частоты использования. Для сравнения
232
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ
частот редких букв и букв, приведенных в таблице, укажем, что, например, в английском языке редкими буквами являются буквы J, Q, Z, а их частоты в процентах оцениваются величинами 0,13, 0,12 и 0,08 соответственно.
Данная модель строится для любого ИОС с использованием относительно небольшого количества материала и удобна для практического применения. Например, эта модель эффективно используется при дешифровании текстов, защищаемых шифром простой замены.
В то же время некоторые свойства данной модели противоречат свойствам языков. В частности, согласно этой модели любая ^-грамма, к>\, имеет ненулевую вероятность появления в сообщении. Ограниченность модели не позволяет применять ее для дешифрования широкого класса криптосистем.
12.3.2.	Стационарный источник независимых биграмм
Эта модель несколько более громоздка, но точнее отражает свойства языков. Открытый текст такого источника является реализацией последовательности независимых испытаний в полиномиальной вероятностной схеме с числом исходов, равным ти2. Множество исходов взаимно-однозначно соответствует множеству всех биграмм алфавита. Модель характеризуется следующим равенством:
л-1
= J J = ^2i ^2/+1 = ^2н-1)’
(=0
где для всех а,£б2тИ ге{0,1,...,л-1}
P{x2i =а;х2М =Ь}>0;
У P{x2i=a;x2M=b} = ]. а,Ь
В качестве оценок вероятностей биграмм используются относительные частоты их появления, которые вычисляются экспериментально на большом текстовом материале. Вероятности биграмм в алфавите Z„i могут быть сведены в матрицу размера тхт:
233
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Ро.О Роз Ро,т-\ Pl,0 Р\3 •" Р\,т-\
Рт-1,0 Р т-1,1	Р т-1,т-1
где pitS есть вероятность размещения биграммы (i,s) на случайно выбранной позиции в случайном тексте. Из матрицы вероятностей биграмм криптоаналитик может извлечь ряд полезных особенностей, свойственных ИОС и языку в целом. Например, в английском языке все биграммы вида (<?,...) имеют нулевую вероятность за исключением биграммы вероятность которой равна приблизительно 0,0011. Биграммы вида (а,...) имеют ненулевую вероятность за исключением биграммы (a,q) и др.
Модель позволяет классифицировать все биграммы источника сообщений по вероятности их появления в тексте.
Данная модель точнее по сравнению с предыдущей отражает особенности языков и источников сообщений. В частности, согласно этой модели всякое сообщение, у которого на нечетном месте располагается первая буква запретной биграммы, имеет нулевую вероятность. В то же время моделью игнорируются запретные биграммы, у которых первая буква располагается на четном месте, а также игнорируются свойственные языкам зависимости между соседними биграммами. Например, вероятность запрещенной в английском языке 4-граммы «.ququ» в данной модели оценивается величиной 1,21-Ю'6. В меньшей степени указанные недостатки присущи следующей модели.
12.3.3.	Стационарный источник марковски зависимых букв
Открытый текст такого источника является реализацией последовательности испытаний, связанных простой однородной цепью Маркова с т состояниями. Данная модель (как и соответствующая цепь Маркова) определяется матрицей П переходных вероятностей и вектором v начального распределения вероятностей:
П = (p(s/t)), Q<t,s<m,
234
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ
V = (v(O),v(l),...,v(m-l)),
где v(7) - вероятность знака 1 на первой позиции случайного текста. Вероятность случайного сообщения (a$,a\,...,an.\) выражается формулой
Р(ао,аь...,ал-1) = v(a0)-p(ai/a0>- р(аг1аху ... p(anJan.2).
Переходные вероятности и начальное распределение знаков в случайном тексте удовлетворяют условиям:
a)	p(s/t), v(f) >0 для всех t,s&Zm;
б)	v(0)+v(l)+...+v(m-l) = 1;
в)	p(Q/t)+p(\/t)+...+p(m-\/t) = 1 для всех teZm.
Вектор w = (w(0),w(l),...,w(/n-l)) стационарного распределения знаков в случайном тексте определяется из системы уравнений
т-1
w(s) =	seZm,
r=0
w(0)+w(l)+...+w(m-l) = 1.
Согласно данной модели всякое сообщение, содержащее на какой-либо позиции запретную биграмму, имеет нулевую вероятность.
12.3.4.	Усложнение стационарных моделей
Исходя из рассмотренных моделей можно предложить их усложнения в направлении увеличения глубины зависимости вероятности очередной буквы текста от значений нескольких предыдущих букв. Здесь можно выделить два ряда моделей:
1)	стационарный источник независимых £-грамм;
2)	стационарный источник зависимых /.'-грамм, к>2.
В условиях моделей первого ряда всякое сообщение является реализацией последовательности испытаний в полиномиальной вероятностной схеме с числом исходов, равным тк. Эти модели адекватно отражают межсимвольные зависимости внутри каждой /:-граммы, но игнорируют межсимвольные зависимости соседних /r-грамм. Чем больше к, тем, с одной стороны, точнее рассматриваемые модели от
235
В. М. Фомичее^ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 
ражают свойства языков и ИОС и, с другой стороны, тем они более громоздки и трудоемки в применении. '
Модели второго ряда способны учесть межсимвольные зависимости соседних fc-грамм, однако они еще более громоздки, чем модели первого ряда. Если модели первого ряда описываются ^/-мерным вектором вероятностей, то модели второго ряда - матрицей размера mk хтк и ^/-мерным вектором начального распределения.
Выбор подходящей модели для исследования ИОС носит, как правило, компромиссный характер и осуществляется криптоаналитиком с учетом свойств конкретного шифра.
123.5. Нестационарные источники сообщений
В нестационарных моделях вероятности появления &-грамм в тексте зависят от их места в сообщении. Нестационарные модели можно рассматривать как уточнение стационарных, в которых учтена в той или иной мере структура сообщения. Например, если источником сообщений является премьер-министр, а адресатом - король, то с большой вероятностью все сообщения будут начинаться со слов «Ваше Величество!..», а завершаться - соответствующей подписью.
Подобные стандарты играют важную роль в криптографическом анализе. В частности, удачно выбранная криптоаналитиком нестационарная модель ИОС может в некоторых случаях упростить задачу дешифрования по шифрованному тексту, сведя ее к задаче дешифрования по открытому и шифрованному тексту.
Построение рассмотренных моделей ИОС реализуется в результате статистической обработки генерируемых источником текстов. Для этого по результатам «просмотра» достаточно большого количества текстового материала вычисляются: в случае вероятностной модели - оценки всех вероятностей, необходимых для выбранной модели, и в случае детерминированной модели - все запрещенные А:-граммы данного ИОС. Чем большее количество материала обработано, тем точнее построенная модель ИОС и тем эффективнее ее применение для решения практических задач.
236
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ
Рассмотренные модели ИОС могут использоваться в криптографических приложениях как в алгоритмах дешифрования, так и для различения открытых текстов и случайных последовательностей с помощью вычислительной техники. Вместе с тем полностью возложить решение последней задачи на вычислительную технику не всегда возможно, так как отсутствие в тексте запрещенных Л-грамм не гарантирует его осмысленности.
237
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ
Шифры можно классифицировать по криптографической стойкости, то есть по способности противостоять атакам криптоаналитика. Вопрос о стойкости шифров - центральный вопрос криптоанализа шифров.
Существуют ли неуязвимые шифры? Как должен быть устроен надежный шифр? Как правильно использовать шифр для защиты информации? Эти и многие другие подобные вопросы связаны с исследованием криптографической стойкости шифрсистем.
Рассмотрим различные подходы к оценке криптографической стойкости шифров.
13.1.	Вероятностные модели шифра
На основе отображений шифра и вероятностных моделей открытого текста и множества ключей можно построить вероятностную модель шифра. Обозначим некоторые распределения вероятностей (р. в.):
Рисх - Р- в* на множестве открытых текстов;
Ркл - Р- в. на множестве ключей;
Рш - р. в. на множестве шифрованных текстов;
Рисх,к - совместное р. в. на множестве пар открытых текстов и ключей;
Рисх,ш - совместное р. в. на множестве пар открытых и шифрованных текстов;
Рисх/ш - условное р. в. на множестве открытых текстов (при условии, что шифрованный текст фиксирован).
Пусть а - открытый текст, z - ключ, у - шифрованный текст, E(a,z) - криптограмма, полученная в результате шифрования открытого текста а на ключе z.
Обычно полагают, что при шифровании ключ z выбирается независимо от открытого текста а, поэтому
Рисх,z) = Pucx(a}PJ,z).	(13.1)
ДИМО17ИИ0И
238
___________ _	.[лева 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ
Совместные и условные р. в. определяются из формул:
Рш(у) = X Pucx(a)-Pai(z),	(13.2)
(a.z):E(a,z)=y
РисХ.ш(а,у)= £ РМРМ	(13.3)
z:E(a,z)-y
Рисх/ш(^у) = РИСХ.Ш (fl>yVPш(у)г	(1 3.4)
где последнее равенство вытекает из определения условной вероят-ности и справедливо при условии Рш(у)>0.
Таким образом, имея распределения вероятностей на множестве открытых текстов и ключей и зная семейство шифра, можно в принципе вычислить как распределение вероятностей на множестве шифртекстов, так и различные совместные и условные распределения вероятностей.
Используя вероятностную модель шифра, Шеннон впервые сформулировал понятие совершенно стойкого шифра.
13.2.	Совершенно стойкие шифры
Вопрос о теоретической стойкости шифров впервые был сформулирован Клодом Шенноном: «Насколько надежна криптосистема, если криптоаналитик противника располагает неограниченным временем и всеми необходимыми средствами для анализа криптограмм?» С этим вопросом тесно связан следующий вопрос: «Существуют ли шифры, которые не мог бы вскрыть криптоаналитик, располагающий сколь угодно большой криптограммой и неограниченными вычислительными ресурсами?»
Известно, что еще до Шеннона вплотную к решению этих вопросов приблизился американский инженер Джилберт Вернам, служащий компании AT&T, который в 1917 г. предложил новый способ шифрования телеграфных сообщений. Алгоритм шифрования Бернама заключался в том, что представленная в двоичном коде последовательность открытого текста побитово складывалась с ключом -случайной двоичной последовательностью. Сложение битов открытого текста и ключа осуществлялось по правилам:
239
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
0+0 = 0; 0+1 = 1; 1+0=1; 1 + 1 =0.
Вернам интуитивно чувствовал, что предложенный им шифр обладает высокими криптографическими качествами, но строгих доказательств этого представить не сумел.
Обосновать высокие криптографические качества шифра Вернама сумел К. Шеннон, опубликовавший в 1949 г. основные положения теоретической криптографии [74]. С использованием вероятностной модели шифра Шеннон дал математическое определение совершенно стойкого шифра и показал, что шифр Вернама является совершенно стойким.
По Шеннону шифр является совершенно стойким, если открытый и шифрованный тексты статистически независимы, то есть для любого открытого текста а и любой криптограммы у
Риех{а) = Рг,сх/ш{а/у)	(13.5)
при условии, что Рш(3’)>0. Иначе говоря, при использовании совершенно стойкого шифра распределение вероятностей на множестве открытых текстов после перехвата криптограммы у (апостериорное распределение вероятностей) не отличается от распределения вероятностей на множестве открытых текстов до получения перехваченной криптограммы у (от априорного распределения вероятностей). Перехват сообщения, зашифрованного с помощью совершенно стойкого шифра, не содержит для криптоаналитика никакой информации, если ключ ему неизвестен.
Шифр называется идеально стойким, если невозможно определить однозначно открытый текст при известном шифрованном тексте сколь угодно большой длины. Очевидно, совершенно стойкий шифр является идеально стойким.
Так как при всех открытых текстах а и шифртекстах у таких, что Лк*(л)>0> Рш(у)>0 справедливо равенство
РМ'Рuducx^yla) = Рш,иСх(ауУ) ~ РuAy)*Р'ucx/wifl!y\
то при указанных текстах а и у равенство (13.5), определяющее совершенно стойкий шифр, эквивалентно равенству
Ршлкх(у/а) = Рш(у).	(13.6)
240
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ
Шеннон доказал, что совершенно стойкие шифры существуют. В качестве примера рассмотрим так называемый шифр Вернама по модулю т, в котором знаки открытого текста, шифрованного текста и ключа принимают значения из кольца вычетов Zm, а длина ключа и длина криптограммы совпадают с длиной п открытого текста. Операция шифрования п-граммы открытого текста a = (a\,a.2,...,an) с помощью /7-граммы ключа z = (zi,Z2>—>zn), в результате которой получается л-грамма шифрованного текста у = (у|,У2,---,уп), определяется уравнением
у, = (ai®Zi)modm, i = 1,2,...,n.	(13.7)
Теорема 13.1. Шифр Вернама по модулю т является совершенно стойким шифром при случайном равновероятном выборе ключа из множества Z^n> всех и-грамм в алфавите Zm.
Доказательство. Пусть а,уе Z^ и Рисх(а)>0.
Если ключ z выбирается из множества Z^n) случайно и равновероятно, то
P^z) = mn.	(13.8)
При заданных текстах а и у имеется единственный ключ z, удовлетворяющий уравнениям (13.7), тогда из (13.3) и (13.8) получаем:
РиСХ.Ш^Р-ГУ) — РисАЦ)'Ркя(У~С1) Р•
Отсюда, используя определение условной вероятности, получаем:
Piu/ucx(yla) = Pucx,m(fl*y)lРиск(.а) — т •	(13.9)
Так как Рш(у)>0, то, используя формулу Байеса, с учетом последнего равенства имеем:
РЧСХ/ш^Т^У) = РUCx(P)'Pш/исх^у!^)/\.. 'У PuCx(b)'Pui/uex(ylb)\ —
= Рисх(а)чпп1тп\ Рисс(£)] = Рисх(а),
fceZ,1,,"1
что и требовалось доказать.	♦
Отметим некоторые важные свойства шифра Вернама по модулю 777.
241
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
1.	Равенство (13.9) означает, что при известном открытом тексте все криптограммы длины п равновероятны.
2.	Из равенства (13.6) следует, что и при неизвестном открытом тексте все криптограммы длины п равновероятны.
Наряду с этими замечательными свойствами необходимо отметить, что длина ключа в совершенно стойких шифрах совпадает с длиной сообщения. Это означает, что использование таких шифров для защиты больших объемов информации требует огромных зрудо-затрат, связанных с производством, распределением, хранением и уничтожением ключевых материалов.
Тем не менее совершенно стойкие шифры все же нашли практическое применение для защиты особо важных линий связи с относительно небольшим объемом передаваемой информации. Немцы еще в начале 20-х гг. снабдили свои дипломатические представительства совершенно стойкими шифрами, а англичане и американцы перешли к использованию шифров типа Бернама во время Второй мировой войны. Разведчиками-нелегалами ряда государств использовались шифрблокноты, содержащие ключевые материалы для секретной связи с помощью шифра Бернама (как правило, по модулю 10). Шифр Бернама по модулю 2 использовался на правительственной «горячей линии» между Вашингтоном и Москвой, где ключевые материалы представляли собой бумажные ленты (производившиеся в двух экземплярах), на которые знаки ключевой последовательности наносились с помощью перфорации.
Существует и «компьютерная версия» шифрблокнота, согласно которой для шифрования предлагается использовать ключевые последовательности, записанные в памяти компьютера. Однако при этом возникает проблема защиты ключевых последовательностей от искажений, подмены и других возможных угроз.
13.3.	Системный подход к оценке практической стойкости шифров
Вопрос о практической стойкости, поставленный Шенноном, формулируется так: «Надежна ли шифрсистема, если криптоанали
242
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ
тик располагает ограниченным временем и ограниченными вычислительными возможностями для анализа перехваченных криптограмм?» Данный вопрос тесно связан с проблемой конструирования шифрсистем.
С одной стороны, криптографическая система должна обеспечивать надежную защиту информации и, с другой стороны, должна быть удобна с точки зрения технической реализации и эксплуатации. Так как шифрсистемы, обеспечивающие идеальную секретность, в большинстве случаев практически неприменимы, то вопрос относится прежде всего к шифрсистемам, использующим ключи ограниченного размера и способным обрабатывать большие объемы информации.
По Шеннону, практически стойкая криптосистема по своим свойствам должна быть близка к идеальным системам, то есть являться своего рода искусной подделкой под идеальный шифр. Это выражается в близости характеристик отображений шифра к аналогичным характеристикам случайных отображений. Например, высокая стойкость шифра гаммирования обеспечивается при использовании шифрующей последовательности, близкой по своим свойствам к РРСП (см. гл. 7), поэтому криптографические качества шифра гаммирования определяются свойствами используемого генератора гаммы.
Системный подход к оценке стойкости шифрсистемы подразумевает определенную детализацию понятия «стойкий шифр». В результате этой детализации формируется ряд критериев математического и технического характера, которым должна удовлетворять стойкая шифрсистема. При разработке нового подхода к анализу шифрсистемы формируется соответствующий критерий качества шифрсистемы, который пополняет ранее сложившуюся систему критериев.
Основной количественной мерой криптографической стойкости шифра является вычислительная сложность решения задач дешифрования. Вычислительная сложность определяется несколькими характеристиками. Рассмотрим важнейшие из них.
Предположим, что перед криптоаналитиком поставлена задача дешифрования шифра Е по некоторому набору криптограмм. Пусть
- класс применимых к шифру Е алгоритмов дешифрования, которыми располагает криптоаналитик. При этом криптоаналитик рас-
243
8. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
смагривает как вероятностное пространство W элементарных событий множество пар ключей и открытых текстов, если открытые тексты неизвестны, или множество ключей, если открытые тексты известны. Для алгоритма обозначим через Т(\|/) среднюю трудоемкость его реализации, измеряемую в некоторых условных вычислительных операциях. При этом величина трудоемкости обычно усредняется по множеству W.
Одной из основных характеристик практической стойкости шифра Е является средняя трудоемкость Те дешифрования, определяемая выражением
ТЕ- пнпТ(у).	(13.10)
у е At-
ПрИ этом, однако, важно отметить следующее:
1.	Существуют алгоритмы дешифрования, определенные не на всем вероятностном пространстве W, а лишь на некоторой его части. Кроме того, некоторые алгоритмы дешифрования устроены так, что их реализация приводит к успеху (решению дешифровальной задачи) не на всей области определения, а лишь не некотором ее подмножестве. Поэтому к важнейшим характеристикам алгоритма дешифрования \|/ необходимо отнести не только его трудоемкость Т(\|/), но и надежность под которой понимается средняя доля информации, дешифруемой с использованием алгоритма \|/.
Если надежность алгоритма дешифрования мала, то с точки зрения криптографа он является неопасным, а с точки зрения криптоаналитика неэффективным. Таким образом, при получении оценки (13.10) величины Те целесообразно рассматривать лишь те алгоритмы дешифрования, надежность которых достаточно велика. При этом для определения «наилучшего» алгоритма дешифрования системы Е можно использовать различные критерии в зависимости от конкретных условий задачи. Например, можно считать «наилучшим» алгоритм дешифрования <|/, для которого наименьшее значение принимает величина Т(\|/)/т(\|/). Эту величину можно интерпретировать как средние трудозатраты, необходимые для успешного дешифрования шифрсистемы.
244
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ
2.	Сложность дешифрования зависит от количественных и качественных характеристик криптограмм, которыми располагает криптоаналитик. Количественные характеристики определяются числом перехваченных криптограмм и их длинами. Качественные характеристики связаны с достоверностью перехваченных криптограмм (наличие искажений, пропусков и т. д.).
По Шеннону, каждый шифр имеет объективную характеристику ТЕ(п) - среднюю (по всем криптограммам длины п и ключам) вычислительную сложность дешифрования. Величина lim T'g(n) характери-П->00
зует предельные возможности дешифрования системы Е при неограниченном количестве шифрматериала и абсолютной квалификации криптоаналитика.
Оценивая стойкость шифра, криптоаналитик получает верхние оценки предельной стойкости, так как практическое дешифрование использует ограниченное количество шифрматериала и ограниченный класс так называемых известных методов дешифрования.
3.	Важной характеристикой криптографической стойкости системы является временная сложность ее дешифрования. Оценка временной сложности дешифрования системы подразумевает более детальную проработку реализации алгоритмов дешифрования с учетом характеристик вычислительного устройства, используемого для дешифрования. К таким характеристикам вычислительного устройства, реализующего алгоритмы дешифрования, относятся архитектура, быстродействие, объем и структура памяти, быстрота доступа к памяти и др. Следовательно, время дешифрования системы Е определяется имеющимся классом алгоритмов дешифрования АЕ и вычислительными возможностями криптоаналитика.
Выбор наилучшего алгоритма дешифрования осложняется и тем, что различным вычислительным устройствам могут соответствовать различные «наилучшие» алгоритмы дешифрования.
Вопрос о криптографической стойкости шифрсистемы имеет некоторые особенности с точки зрения криптоаналитика и криптографа.
Криптоаналитик атакует шифрсистему, располагая конкретными интеллектуальными, вычислительными и экономическими ресурсами. Его цель - успешное дешифрование системы.
245
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Криптограф оценивает стойкость шифрсистемы, имитируя атаку на шифр со стороны криптоаналитика противника. Для этого криптограф моделирует действия криптоаналитика, оценивая по максимуму интеллектуальные, вычислительные, технические и другие возможности противника. Цель криптографа - убедиться в высокой криптографической стойкости разработанной шифрсистемы.
Таким образом, системный подход к оценке практической стойкости шифра связан с оценкой вычислительных трудозатрат при дешифровании системы с позиции различных критериев качества шифра.
Используя понятие практической стойкости шифра, можно классифицировать шифры по величине стойкости или по продолжительности временного периода, в течение которого шифр с высокой надежностью обеспечивает требуемый уровень защиты информации.
13.4.	Другие подходы к оценке практической стойкости шифров
13.4.1.	Асимптотический анализ стойкости
Этот подход развивается теорией сложности вычислений. При исследовании шифра оценка его стойкости увязывается с некоторым параметром шифра, обычно это длина ключа, и проводится асимптотический анализ оценок стойкости.
Считается, как правило, что шифрсистема имеет высокую криптографическую стойкость, если последняя выражается через длину ключа экспоненциально, и шифрсистема имеет низкую криптографическую стойкость, если стойкость выражается в виде многочлена от длины ключа.
13.4.2.	Оценка количества необходимого шифрматериала
Данный подход основан не на сложности вычислений при реализации дешифрования, а на оценке среднего количества материала, который необходимо проанализировать криптоаналитику для вскрытия шифра. Оценка количества необходимого криптоаналитику шифрматериала представляет интерес с той точки зрения, что явля
246
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ
ется нижней оценкой стойкости шифра в смысле вычислительной сложности дешифрования.
Этот подход применяется в основном для оценки стойкости поточных рандомизированных шифров. Особенностью устройства таких шифров является то, что они используют для шифрования и расшифрования секретный ключ небольшого размера, а также большую и общедоступную случайную последовательность чисел (рандомизатор). Ключ определяет, какие части рандомизатора используются для шифрования, в то время как криптоаналитику, не знающему секретного ключа, приходится анализировать весь рандомизатор.
В качестве примера такого шифра рассмотрим шифр Диффи. В этом шифре рандомизатором является массив из 2" случайных двоичных последовательностей, занумерованных элементами множества V„. Ключом является «-мерный двоичный вектор. При шифровании с использованием ключа к двоичная последовательность открытого текста складывается побитово (как в шифре Вернама) с последовательностью рандомизатора, имеющей номер к. Таким образом, для дешифрования сообщения противнику необходимо исследовать порядка 2" бит.
Впоследствии Рюппель заметил, что примерно такой же уровень стойкости достигается, если рандомизатор содержит п случайных двоичных последовательностей, а ключ к задает набор коэффициентов, определяющий шифрующую последовательность как нетривиальную линейную комбинацию последовательностей рандомизатора.
13.4.3.	Стоимостный подход
Этот подход предусматривает оценку стоимости дешифрования системы. Особенно он актуален тогда, когда для дешифрования криптосистемы необходимо разработать и построить новый вычислительный комплекс. Стоимостный подход полезен с точки зрения сопоставления материальных затрат на дешифрование системы и ценности информации, защищаемой криптосистемой.
Примером реализации такого подхода является весьма подробный вывод оценки стоимости дешифрования алгоритма DES, сделанный Диффи и Хеллманом в связи с алгоритмом распараллеливания перебора всех ключей DES.
247
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ________
В заключение отметим динамичный характер оценок криптографической стойкости шифров. Эти оценки необходимо время от времени пересматривать в связи с развитием вычислительных средств и прогрессом в области разработки методов дешифрования. В частности, в [38] упоминается «эмпирический закон» развития вычислительных средств, согласно которому считается, что вычислительные возможности криптоаналитика удваиваются через каждые 18 месяцев.
248
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ
Шифрсистемы классифицируются по различным признакам: по видам защищаемой информации (текст, речь, видеоинформация), по криптографической стойкости, по принципам обеспечения защиты информации (симметричные, асимметричные, гибридные), по конструктивным принципам (блочные и поточные) и др.
При построении отображений шифра используются с математической точки зрения два вида отображений: перестановки элементов открытого текста и замены элементов открытого текста на элементы некоторого множества. В связи с этим множество шифров делится на 3 вида: шифры перестановки, шифры замены и композиционные шифры, использующие сочетание перестановок и замен. Рассмотрим эти классы шифров.
14.1.	Шифры перестановки
Пусть имеется открытое сообщение ао,а\,...,а^.1 длины N в алфавите Z,„. Если к этому сообщению применить перестановку ст, где ст = (ct(0),ct(1),...,ct(W-1)), то результатом будет криптограмма «а(0),аа(1),—»оО(А-1). Семейство таких преобразований называется шифром перестановки.
Таким образом, перестановка заключается в переупорядочении букв открытого текста, в результате чего он становится нечитаемым. Ключом такого шифрпреобразования является используемая перестановка ст.
Расшифрование криптограммы производится с помощью применения к ней обратной перестановки ст'1.
Особенностью описанной модели шифра перестановки является совпадение длин открытого текста и ключа. С точки зрения практической реализации это очень неудобно, поэтому, как правило, шифры перестановки используют ключ фиксированного размера I, при этом открытый текст разбивается на ]N/l[ отрезков длины I, к каждому из которых применяется ключевая перестановка.
4ИМОМ1И0И
249
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
С точки зрения криптоанализа важной особенностью шифров перестановки является то, что относительные частоты встречаемости символов в открытом и шифрованном тексте совпадают, так как они инвариантны по отношению к любой перестановке. Вторая важная особенность заключается в ограниченности размера используемого ключа, что приводит, особенно при зашифровании длинных текстов, к многократному использованию ключа и облегчает криптоаналитику дешифрование сообщений. Поэтому перестановки целесообразно использовать в сочетании с заменами в композиционных шифрах.
В электронных шифрах перестановки выполняются с помощью элементов памяти в виде различных линий задержки. В ручных шифрах, то есть шифрах «домашинной эры» шифры, перестановки находили свое применение.
14.1.1.	Шифрование с помощью скиталя
Еще с античных времен (IX в. до н. э.) известен шифр перестановки, реализуемый с помощью скиталя - деревянного цилиндра, на который наматывался ремень так, что части ремня не перекрывались, а смыкались по краям. Сообщение записывали по намотанному ремню вдоль оси скиталя, а затем ремень разматывали и подпоясывали им гонца. На поясе гонца сообщение выглядело как нечитаемый набор букв. Ключом этого шифра является диаметр скиталя. Для расшифрования сообщения гонца распоясывали и наматывали ремень на скиталь требуемого диаметра.
Интересно, что еще в древние времена был изобретен и оригинальный способ дешифрования, когда было предложено наматывать ремень на конический скиталь с небольшой конусностью. На требуемый для вскрытия шифра диаметр указывала та часть конуса, где «читался» фрагмент сообщения.
14.1.2.	Маршрутные шифры
Другой пример - это маршрутные шифры перестановки, использующие прямоугольную таблицу, в которой открытый текст записывается по строкам, а шифрованный текст образуется при считывании таблицы в другом порядке (по столбцам, по диагоналям... то
250
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ
есть по другому маршруту). Расшифрование состоит в заполнении шифрованным текстом чистого прямоугольника тех же размеров в соответствии с выбранным маршрутом и в чтении открытого текста по строкам.
Ключом таких шифров являются размеры таблицы и маршрут считывания букв таблицы.
14.1.3.	Решетка Кардано
Наиболее стойким из ручных способов шифрования перестановкой с помощью таблиц является шифрование с помощью «решетки Кардано», известное уже более 400 лет. «Решетка Кардано» используется при шифровании как ключ и представляет собой квадратную таблицу размера 2«х2п, «-натуральное, в которой четверть («2 штук) всех позиций выделены для записи символов открытого текста. Практически «решетка Кардано» выполняется в виде картонного квадрата размера 2«х2« клеток, в котором п2 клеток вырезаны как окна. Эти п2 клеток случайным образом более или менее равномерно распределены по площади квадрата и выбраны таким образом, что при последовательном повороте квадрата вокруг геометрического центра на 90, 180, 270 и 360° вырезанные клетки последовательно покрывают все 4«2 клеток квадрата.
При шифровании «решетка Кардано» накладывается на квадрат тех же размеров с чистыми клетками, выполненный, например, из бумаги. В начальном угловом положении, соответствующем углу поворота 0°, в клетки бумажного квадрата, выделенные «окнами» «решетки Кардано», последовательно (то есть по строкам слева направо или в каком-либо другом заранее оговоренном порядке) записываются первые п2 символов открытого текста. Затем «решетка Кардано» поворачивается в угловое положение 90° и вновь в клетки бумажного квадрата, выделенные «окнами» «решетки Кардано», последовательно записывается вторая порция из п2 символов открытого текста. Далее следует поворот в угловое положение 180° и запись следующих п2 символов открытого текста, поворот в угловое положение 270° и запись следующих п2 символов открытого текста. Если длина шиф
251
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ 
руемого открытого текста больше 4п2, то «решетка Кардано» используется для зашифрования многократно.
Шифртекст получается после снятия «решетки Кардано» и считывания в том или ином порядке символов текста с бумажного квадрата.
Дальнейшим усложнением ручных шифров перестановки явились шифры двойной (кратной) перестановки. В этих шифрах используется пара (набор) ключей, первый из которых преобразует открытый текст в промежуточный, а второй преобразует промежуточный текст в шифрованный.
14.2.	Шифры замены
Пусть имеется открытое сообщение а0,сц,...,а^л в алфавите и система Ф отображений множества Z t в алфавит Y шифрованного текста, Ф = {ф0, фь-, Флч}•
Криптограмма у вычисляется по открытому сообщению ао,а],.„,алг1 с использованием системы отображений Ф, где Ф в данном случае выполняет функции ключа:
У = (фо(ао), Ф1(й1),..., флм(ялм)).
Если ф, - биективные отображения, то систему отображений Ф называют подстановочным шифром замены.
Если ф, - многозначные отображения, обладающие свойством {ф,(а)}гДф,(й)} = 0 при всех a*b, i = 0,то систему Ф называют многозначным шифром замены.
Рассмотрим подстановочные шифры замены, при этом без ущерба для общности рассуждений можно считать, что Y =
и фо,фь...,Флг-1 - подстановки на множестве Z^, .
Если ф, = ф для всех i = 0,1,...,2V-1, то шифр замены называется моноалфавитной подстановкой (простой заменой) на множестве Z ( . В противном случае такой шифр называется многоалфавитной подстановкой (шифром колонной замены).
Если к = 1, то говорят, что шифр реализует позначную замену, если к - 2, то шифр реализует замену биграмм и т. д.
252
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ
Укажем некоторые известные классы шифров замены.
14.2.1.	Шифр Цезаря
Множество отображений шифра Цезаря - это циклическая подгруппа Тт = <Т> симметрической группы Sm, состоящая из подстановок сдвига:
Т,п ={ Г}, j = 0,1	1,
где 7*(а) = (a+J)mod«i.
Система Цезаря - это моноалфавитная подстановка, преобразующая открытый текст ao,ai,...,aN.i в криптограмму 7/(ao),7/(ai),—,7,(ajv-i). При использовании для шифрования подстановки Т символ а открытого текста заменяется символом a+j шифрованного текста.
Цезарь для шифрования обычно использовал подстановку Т3. Система Цезаря вскрывается по шифртексту с помощью перебора всех ключей, число которых меньше т (нулевой сдвиг исключается).
14.2.2.	Таблица Вижинера
Этот шифр задается таблицей размера тхт, в г-й строке которой записана перестановка сдвига Т алфавита Zm, i = 0, l,...,«i-l. Обычно таблица Вижинера используется для построения шифра многоалфавитной подстановки. При этом строки таблицы рассматриваются как нижние строки соответствующих подстановок сдвига. Каждый знак открытого сообщения шифруется с помощью одной из строк таблицы Вижинера. Выбор очередной строки таблицы осуществляется в соответствии с некоторым правилом.
Таблица Вижинера представляет собой частный случай таблиц, называемых латинскими квадратами. Латинский квадрат порядка т - это таблица размера гпхт, в каждой строке и в каждом столбце которой записана некоторая перестановка элементов алфавита Zm. Перечисление всех латинских квадратов порядка т является сложной комбинаторной задачей. Однако можно указать способ построения некоторых классов латинских квадратов.
1.	Для любой перестановки X алфавита Zm система перестановок вида Х-Т, i = 0,1 ,...,«i—1, образует латинский квадрат порядка т.
253
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
2.	Если L есть латинский квадрат порядка т, то X-L-Y также латинский квадрат порядка т, X,Y - произвольные подстановочные матрицы порядка т.
Одним из способов улучшения шифра Цезаря является таблица Вижинера на основе смешанного (переставленного) алфавита. Ключом такой системы является пара (K\,kz), где А^-лозунг или мультиграмма, которая не содержит повторяющихся символов алфавита и записывается в начальных позициях первой строки, kzeZm. Остальные позиции первой строки заполняются буквами алфавита, не вошедшими в лозунг. Если обозначить через ф(К\) подстановку, нижний ряд которой совпадает с первой строкой, то полная система подстановок получившегося латинского квадрата имеет вид:
{Г-ф(^)}, z = 0,1,...,т-1.	(14.1)
Выбор ключа (ЛГ1Л2) означает, что для шифрования используется подстановка	то есть данный шифр является шифром про-
стой замены.
Главной особенностью шифров простой замены, обусловливающей их криптографическую слабость, является то, что вариационные ряды открытого и шифрованного текстов совпадают с точностью до некоторой перестановки (являющейся ключом!). Вскрытие этой шифрсистемы производится по шифртексту сопоставлением вариационных рядов открытого и шифрованного текстов. Нередко при этом используются и дополнительные соображения вроде «запрещенных мультиграмм» и «вероятного слова».
Дальнейшим усложнением шифров, построенных на основе латинских квадратов, являются шифры колонной замены, в которых выбор шифрующей подстановки производится в соответствии с некоторым ключевым управляющим словом, называемым лозунгом. Ключом такой шифрсистемы является пара (Хь^)? где К\ и Kz -мультиграммы в алфавите ZHt. Мультиграмма К\ имеет тот же смысл, что и в предыдущем примере, то есть полная система подстановок латинского квадрата имеет вид (14.1).
Если используется лозунг Kz ~ (b\,bz,...fbt), то последовательность шифрующих подстановок имеет период t и выглядит следующим образом:
Г" <р(^1), Th>	ть‘ -фск,).
254
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ
При небольшой длине лозунга Кг шифрование несложно реализовать вручную. Данный шифр представляет собой не слишком существенное усложнение шифра простой замены.
14.2.3.	Шифры пропорциональной замены
Такое название получили многозначные шифры замены, разработанные с целью усложнения шифров простой замены. Для затруднения дешифрования на основе частотного анализа в этих шифрах некоторым буквам aeZm открытого текста ставится в соответствие несколько величин из алфавита Y шифрованного теста (очевидно, |У|>ш). При этом число допустимых образов буквы а в криптограммах приблизительно пропорционально частоте использования буквы а в открытых текстах, а при шифровании образ буквы а выбирается с помощью случайной процедуры из множества допустимых образов. Принципиальный подход к дешифрованию таких систем тот же, что и для шифров простой замены. Однако требуемое количество материала возрастает.
14.2.4.	Замена биграмм
Чтобы затруднить криптоанализ на основе частот появления в текстах букв, были разработаны шифры замены, реализующие шифрование биграмм, триграмм и т. д., поскольку частоты появления в текстах /с-грамм, как правило, заметно меньше вероятностей появления (&-1)-грамм.
Примером шифра замены биграмм является шифр Playfair, изобретенный еще в 1854 г. и использовавшийся британцами во время Первой мировой войны.
Для шифрования текста, записанного в алфавите Zm, используется ключ, который представляет собой прямоугольник размера ихг, где пг = т. По строкам таблицы записывается произвольная перестановка элементов алфавита Zm. В частности, на первых I позициях таблицы может быть записан лозунг, состоящий из I различных букв алфавита, т>1, а на оставшихся т-1 позициях записываются не использо
255
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
ванные в лозунге элементы алфавита. Получившуюся матрицу обозначим через Г:
Г= (уц); i = 0,Г, j = 0,1 ,...,г-\.
Таким образом, каждому элементу алфавита Z,„ взаимно-однозначно соответствует пара чисел (i,j) - координаты этого элемента в матрице Г.
Открытый текст разбивается на биграммы и одновременно изменяется так, чтобы в модифицированном тексте не встречались биграммы вида (а,а). Например, если в исходном тексте встречается биграмма вида (а,а), где а^О, то между буквами этой биграммы вставляется символ 0. Если же в исходном тексте встречается биграмма вида (0,0), то между нулями вставляется другая буква. То есть длина модифицированного текста может превышать длину исходного текста. Функция шифрования ср определяется следующим образом:
q(a,b) = <f>(yij,yst) =
(Y,-,,>Y.M), i*s,j*t;
/Yi+1,,.Y.v+i.,), i*s,j = t.
(14.2)
Номера строк вычисляются по модулю п, а номера столбцов - по модулю г. Схематично (рис. 14.1) функцию шифрования можно отобразить переходом пары позиций в матрице Г, соответствующих буквам биграммы открытого текста (заштрихованные кружки), в пару позиций той же матрицы, соответствующих буквам биграммы шифрованного текста (незаштрихованные кружки).
Рис. 14.1. Схемы функции шифрования шифра Playfair
Данные три схемы соответствуют трем случаям, отмеченным в формуле (14.2).
256
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ
Данная система шифрования не является, строго говоря, системой моноалфавитной подстановки на алфавите Zm2, так как длина исходного текста в общем случае не сохраняется. Вместе с тем вариационные ряды бифамм открытого и шифрованного текстов практически совпадают с точностью до некоторой перестановки. Для криптоаналитика ситуация усложняется только тем, что разброс в значениях частот меньше, чем в случае позначной замены. По сравнению с позначной заменой это приводит к увеличению длины криптограммы, необходимой для вскрытия криптосистемы Playfair.
14.2.5.	Замена к-грамм
Замену fc-грамм проиллюстрируем с помощью шифрования методом Хилла. Рассмотрим открытый текст {ао,а\,...,ац.\) в алфавите, совпадающем с полем Р. Пусть к - натуральное число, для удобства положим, что к делит без остатка N. Разобьем открытый текст на целое число fc-грамм, которые можно рассматривать как элементы ^-мерного векторного пространства Р<к) над полем Р:
(a0,ai, ..., ajv-i) = {bQ,bi, ..., bt.\\
где t = N/k\ bi&P^, i = 0,	В качестве ключа используется не-
вырожденная матрица М над полем Р размера к*к. Криптограмма (5о,51,...,^-1) вычисляется по правилу:
(so^i.-A-i) = {bMvM,...,bt.vM).	(14.3)
Расшифрование заключается в умножении слева Zc-грамм шифрованного текста на матрицу ЛГ1.
Из описания способа шифрования следует, что система Хилла -это моноалфавитная подстановка на Р{к\
К положительным свойствам системы Хилла следует отнести хорошее выравнивание частот отдельных символов в шифртексте. Вместе с тем данная система не выдерживает криптоаналитической атаки с помощью решения системы уравнений. Если криптоаналитик помимо шифртекста имеет несколько fc-грамм открытого текста, то элементы ключа могут быть найдены из решения системы линейных уравнений.
257
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
Усложнением шифра Хилла является шифр колонной замены, использующий набор матриц Л/') = (М\,Мг> Ключом усложненного шифра является набор матриц Л/г) и слово конечной длины в алфавите Л/г), символы которого последовательно используются для шифрования £-грамм открытого текста. Если длина t открытого текста (в ^-граммах) больше г, то ключевое слово используется несколько раз до тех пор, пока не будет зашифрована последняя ^-грамма открытого текста. Ключ такого шифра также может быть найден из решения системы линейных уравнений, но материала для этого требуется в г раз больше.
258
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ
Криптология, как и другие математические дисциплины, имеет дело с математическими моделями изучаемого предмета, а именно с математическими моделями криптосистем. Рассмотрим некоторые модели семейства отображений шифра, удобные для изучения и анализа.
15.1.	Математические модели шифра
Под таковыми понимаются различные математические формы представления отображений шифра.
Задание отображений шифра таблицами соответствий типа («открытый текст», «ключ»)^ «шифртекст» весьма громоздко и для современных шифров просто нереально. Одна из наиболее удобных моделей шифра - это алгоритмы шифрования и расшифрования.
Алгоритм шифрования (расшифрования) - это последовательность вычислительных операций, производимых с входными данными с целью получения криптограммы (открытого текста). Входными данными алгоритма шифрования (расшифрования) являются элементы открытого (шифрованного) текста и ключа. Алгоритмы должны быть корректно заданы на всей области определения. Алгоритм расшифрования может отличаться от алгоритма шифрования незначительно и даже с ним совпадать, в особенности это характерно для симметричных криптосистем.
Шифр называется обратимым, если алгоритмы шифрования и расшифрования совпадают. Реализации алгоритмов шифрования и расшифрования для обратимых шифров могут различаться только входными данными. Обратимые шифры удобны тем, что шифрование и расшифрование реализуется одним устройством (одной программой).
Обратимость шифра - это более сильное условие, чем условие обратимости всех преобразований шифра.
Изложение алгоритма шифрования обычно сочетает словесное описание с формулами и, как правило, содержит криптосхему, то
/ЗИМОГИИКЗИ
259
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
есть схему, поясняющую реализацию алгоритма шифрования или его некоторых блоков. С примерами алгоритмов шифрования можно ознакомиться в приложениях.
Некоторые алгоритмы шифрования (расшифрования) удается задать достаточно компактной формулой, в которой переменные соответствуют элементам открытого (шифрованного) текста и ключа, а значения функции, реализуемой формулой, соответствуют элементам шифрованного (открытого) текста. В таком случае адекватной формой представления шифра могут служить уравнения, связывающие элементы ключа, открытого и шифрованного текстов. Эти уравнения называют уравнениями шифрования (расшифрования). Примерами уравнений шифрования являются уравнения (13.7), описывающие способ шифрования Вернама, и уравнения (14.3), описывающие способ шифрования Хилла.
15.2.	Автоматная модель симметричного шифра
При анализе современных симметричных шифров, реализуемых электронными схемами и компьютерными программами, удобно рассматривать шифрующие автоматы.
Шифрующим автоматом (ш.а.) назовем систему Аш, состоящую из восьми объектов
Am=(X,S,Y,K,z, g, h,f),
где X, S, Y и К - конечные множества, называемые соответственно алфавитом открытого текста, множеством состояний ш.а., алфавитом шифрованного текста и ключевым множеством ш.а., a z, g> hvLf—отображения
z-. K->S,
g: SxKxX-*K, h: SxKxX—>S,
/: SxKxX—tY, называемые соответственно функцией инициализации, функцией обновления ключа, функцией переходов и функцией выходов. Элементы множества К называются ключами ш.а.
260
........................ _ Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ
Ш.а. функционирует в дискретные моменты времени I, называемые тактами, t = 1,2,... Предварительно выбирается начальное значение ключа k\G.K и в зависимости от него устанавливается начальное состояние автомата $i eS:
S\=z(k\).	(15.1)
В r-й такт под воздействием входного символа xt ш.а. выдает выходной символ уь переходит в следующее состояние st+i и обновляет использованное в t-м такте значение ключа kt, вычисляя значения yt, st+i ик1+1 по формулам:
yt=Ast,kt,xl),	(15.2)
st+i = h(st,kt,xt),	(15.3)
kt+i = g(st,kt,xt).	(15.4)
При этом функции z,f, hug удовлетворяют условиям:
1)	некоторые из функций z, f, h и g (но не все) могут зависеть от ключа фиктивно; если функция z зависит от ключа фиктивно, то это означает, что начальное состояние ш.а. либо фиксировано, либо устанавливается случайным образом независимо от ключа и не является секретным;
2)	функции/и h обе зависят от клКэча фиктивно только в том случае, когда функция z зависит от ключа существенно.
Если функция g(s,k,x) отлична от тождественного отображения множества К, то значение ключа ш.а. не остается постоянным от такта к такту. Такой ш.а. назовем мультиключевым.
Если за t тактов функционирования ш.а. Аш отобразил входное слово xi,X2,...,xt в выходное слово yi,y2,...,yt с использованием начального значения ключа к\, то будем говорить, что за t тактов ш.а. Аш зашифровал открытый текстxi,X2,...,Xt в шифрованный текстуьуг, •••,?/ с использованием ключа к[.
Множество всех входных (выходных) слов в алфавите X (в алфавите Y) обозначим через X* (через У*). Пустое слово обозначим А. Связанные с функционированием ш.а. Аш отображения > У*, h*:SxK*X*—>S и g*:SxK*X*—>К зададим при каждом s<=S и каждом кеК следующими равенствами:
261
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
f*(s,k,A) = Л; h*(s,k,A) = 5; g*(s,£,A) = к',	(15.5)
кроме того, для всех хеХ, weX*
_P(s,k,w-x) = f*{s,k,w)f(h*(s,k,w),g*(s,k,w),x).	(15.6)
h*(s,k,wx) = h{h*{s,k,w),g*{s,k,w),x)-,	(15.7)
g*(s,k,w-x) = g{h*{s,k,w\g*{s,k,w\x\	(15.8)
Из равенств (15.5)-(15.8) несложно вывести, используя метод математической индукции, что реакция ш.а. на последовательное введение входных слов v и w равна его реакции на входное слово v-w.
Теорема 15.1. Для ш.а. Аш при любых v,weX*, кеК и seS выполняются равенства:
J*(s,k,v--w) =J*(s,k,v)-f*(h*(<s,k,v),g*(s,k,v),w);
h*(s,k,v-w) = h*(h*(s,k,v'),g*(s,k,v'),w)', g*(s,k,v-w) = g*(h*(s,k,v),g*(s,k,v),w').
Функцию fi.KxX^Y, отображающую множество начальных значений ключа и входных слов длины I во множество значений /-го знака выходного слова, назовем /-й выходной функцией ш.а. Аш, 1= 1,2,...
Д(к,Х1,Х2,...,Х1) = у,.	(15.9)
Если множество начальных значений ключа ш.а. Аш не пусто и ограничено множеством Q, где QczK, то пара (АШ,О) называется слабоинициальным ш.а. (с.и.ш.а.). Автомат (АШ,О) описывается следующей системой:
= (X, S, У, (K,Q), z, g, h,f).
В частности, если Q = {&} - одноэлементное множество (начальное значение ключа кеК фиксировано), то пару (Аш,{к}) назовем инициальным ш.а. (и.ш.а.), обозначая:
Ащ(к) = (Аш,{к}) = (X, S, У, (К,{Л}), z, g, h,f).
Покажем, что ш.а. можно представить автоматами Мили.
Автоматом Мили, ассоциированным с ш.а. Аш (с.и.ш.а. (АШ,О)> и.ш.а. Аш(к)), назовем автомат Л = (Х^хКА^И’ f), где
262
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ
f((sjc),x) =fis,k,x), h’((s,k),x) = (h(s,k,x), g(s,k,xy).
Под автоматным графом ш.а. Аш будем понимать автоматный граф ассоциированного с ним автомата Мили А.
Непосредственно из определения автомата, ассоциированного с ш.а., и равенств (15.1)- (15.4) вытекает следующая теорема.
Теорема 15.2 (о сводимости ш.а. к автомату Мили). С.и.ш.а. (АШ,О), где QcK, есть с.и.а. Мили (Л,л(<2)), где А - автомат Мили, ассоциированный с ш.а. Аши л(<2) = {(z(.k),k):k&Q}.
Таким образом, ш.а. Аш представляет собой автомат Мили с «расширенным» множеством состояний и специфическими ограничениями на множество начальных состояний.
15.3.	Отношения и операции с шифрующими автоматами
Пусть имеются два ш.а.: Аш = (X,S,Y,K,z,g,h,f) и Аш’ = (Х’,5’)У’Л’) z’,g’,h’,f).
Ш.а. Аш и Аш’ называются однородными, если X’ = X, S’ = S, Y’ = Y. Однородные ш.а. Аш и назовем согласованными, если для любых .veS, к&КслК' и х&Х выполняется
{z{k),h{s,k^,g{s,k^c)j(s,k^y) = (г’(/:),/г’(5Лд)^’(5Л^)/($Лл))-
С.и.ш.а. (А.Ш,О) и (Аш’,<2’) называются однородными (согласованными), если ш.а. Аш и Аш’ являются однородными (согласованными).
Следовательно, согласованными автоматами являются:
1)	любые однородные ш.а. Ашк Аш’, если КслК’ = 0;
2)	все с.и.ш.а. (A«/,<2), Q^K, соответствующие заданному ш.а. Аш-
Ш.а. Аш’ называется подавтоматом ш.а. Аш, если Х’сХ, S’cS, Y’czY, K’ciK, функция z’ есть ограничение функции z на множество К’ и функции g', h’, f есть ограничения функций g, h, f соответственно на множество S’ *К’ хХ’.
С.и.ш.а. (Аш’,2’) называется подавтоматом с.и.ш.а. (AUI,Q), если ш.а. Аш’ - подавтомат ш.а. Аш и Q’cQ. Подавтоматом ш.а. Аш явля
263
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
ется, в частности, ш.а., задаваемый компонентой связности автоматного графа автомата Аш-
Гомоморфизмом ш.а. Аш в ш.а. Аш' называется четверка отображений (фьф2,фз,ф4) со свойствами:
Фь5->5', ф2:^Г, ф3:Х->Х', ф4:У->У', где для любых seS, кеК и хеХ выполняется:
г’(ф2(^)) = Ф1(Ж)), Л'(ф1(Дф2(Л)>фз(х)) = ф1(/г(5Л,х)), #'(ф1(4ф2(Цфз(х)) = <?2(g(s,k,x)), /(ф1($),ф2(Л),фз(х)) = фзШМ).
Гомоморфизм с.и.ш.а. (АШ,О) в с.и.ш.а.	- это гомомор-
физм ш.а. Аш в ш.а. Аш’, при котором фг(б) = Q -
Если фьф2,фз,ф4 - биективные отображения, то ш.а. Аш и Аш' называются изоморфными.
С.и.ш.а. (Аш,О) и	называются изоморфными, если изо-
морфны автоматы Аш и Аш и биективно отображение Q-+Q', индуцируемое отображением фг.
Рассмотрим некоторые операции с ш.а.
Определим последовательное соединение ш.а., при котором выход первого автомата рассматривается как вход второго автомата.
Последовательным соединением 1-го типа ш.а.
АШ\ = (X,Si,Y,Kbzi,gi,hi,fi) и Ашг = (Y,S2,Z,K2,Z2,g2.h2,f2) (обозначение называется ш.а. Аш = (X,SixS2,Z,Ki'x.K2,z,g,h,f), где для любых s = (si,S2)eSi*S2, к = {к\,к2)&К\хК2 и хеХ выполняется:
z(k} = (zi(^i), Z2(k2)),
h(s,k,x) = (hi(si,k\,x), h2(s2,k2,f\(si,ki,x))),
g(s,k,x) = (gitsi.kbX), g2(s2,k2,fi(si,ki,x))), f(s,k,X) =/2feWl(Sl^bX)).
Последовательным соединением 1-го типа с.и.ш.а. (A/m,£2i) и
(Ащ2^2) назовем с.и.ш.а. (A|-»A2.0ix<22)-
264
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ
Ш.а. Аш = (X,S,Z,K,z,g,h,f) называется прямой суммой ш.а. Ацл =	и Ann = (X2,S2,Y2,K2,z2,g2,h2,f2) (обозначе-
ние АшГхАцп), если
Х = Х1хХ2) S = SixS2, K = KixK2, X = XtxX2, Y=Y}xY2
и для всех s = (51,^2)е5]х52, к = (ki,k2)eKixK2 их = (xi,x2)gXixX2:
Z(k) = (21(^), Z2(k2)),
h(s,k,x) = (hi(si,ki,Xi), йг^гЛгЛ)), g(s,k,x) = (giisi.k^xi), g2(s2,k2,x2)), f(s,k,x) = (fi(si,kbxi), f2(s2,k2,X2)).
Прямой суммой с.и.ш.а. (Адл»01) и (Aj/n.Qz) назовем с.и.ш.а. (AixA2, 6ixg2).
Объединением согласованных ш.а. А1Ш = (X,S,Y,Ki,zi,gi,hi,fi) и Aon = (X,S,Y,K2,Z2,g2,h2,f2) (обозначение: Аш^Ацп) назовем ш.а. Аш= (%>S,Y,K^K2,z,g,h,f), где при любом к&К-, и любом /е{ 1,2}
{z{k\h{s,k^),%(s,k^c)j{s,k^y) ^zi{k),hi(s,k^,g{sjc^fl{sjc^)').
Объединением согласованных с.и.ш.а. (Аш\,Ол) и (А^бг) назовем с.и.ш.а. (Аш^Ащг.б^бг)-
Отсюда следует, что всякий с.и.ш.а. (Аш,О.) является объединением и.ш.а.:
(Аш,О)=[)Аш(к).	(15.10)
15.4.	Моноключевые шифрующие автоматы
Ш.а. назовем моноключевым (м.ш.а.), если g(s,k,x) не зависит от 5 и х и реализует тождественное преобразование множества К. М.ш.а. Аш можно задать семеркой:
АШ = (Х,8, Y,K,z, h,f).
Поскольку ключ в м.ш.а. не обновляется от такта к такту, то понятие начального значения ключа равносильно понятию просто ключа. При ключе к функционирование м.ш.а. таково:
si=z(k}.	(15.11)
265
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
yt = j[sl,k^Cl),	(15.12)
sl+i = hiStJcjt).	(15.13)
Из равенств (15.11) - (15.13) следует, что моноключевой и.ш.а. (м.и.ш.а.) Аш(к) является м.ш.а. с одноэлементным ключевым множеством:
Ащ(к) = (Х,5, Y, {k},z, h,f).
Автомат Мили, ассоциированный с моноключевым с.и.ш.а. (АШ,О), является подавтоматом (X,S*Q,Y,h’ ,f) автомата (X,SxK,Y,hассоциированного с м.ш.а. АШ-
Автоматный граф м.ш.а. Аш есть совокупность |К] автоматных графов м.и.ш.а. Аш(к), где кеК.
Подавляющее большинство современных шифров моделируются моноключевыми ш.а., что естественно с точки зрения относительной простоты их реализации и логики развития шифров (имеется в виду -от простого к сложному). В то же время мультиключевые ш.а. обладают высоким потенциалом в смысле усиления криптографических свойств. В частности, периоды их выходных последовательностей могут в принципе превышать в |К| раз периоды выходных последовательностей моноключевых ш.а. с тем же множеством состояний. Кроме того, при эффективной реализации функции обновления ключа g реализация мультиключевого ш.а. усложняется несущественно.
15.5.	Криптографические генераторы
Автономный ш.а. Аг, задаваемый системой из семи объектов, назовем криптографическим генератором (к.г.):
Аг= (S, Y, К, z, g, h,f).
Функционирование к.г. определяется равенством (15.1) и следующими равенствами:
yt=fM),	(15.14)
s[+i = h(sr,kt),	(15.15)
kt+! = g(st,kt).	(15.16)
266
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ
Если множество начальных значений ключа к.г. Аг ограничено непустым множеством Q, где QcK, то пара (АГ,О) называется слабо инициальным к.г. (с.и.к.г.). Автомат (Ar,Q) описывается следующей системой:
(ЛГ,С) = (5,Г,(ВД, z,g, h,f).
В частности, если в к.г. Аг начальное значение ключа кеК фиксировано, то пара (ЛГ,{А:}) называется инициальным к.г. (и.к.г.). При этом будем обозначать
Adk) = (Лг,{к}) = (S, Y, (К,{к}), z, g, h,f).
Из равенства (15.10) следует, что всякий с.и.к.г. (ApQ) является объединением и.к.г.:
(Аг,Й)= UAr(*)-	(15.17)
keQ
Автоматом Мили, ассоциированным с к.г. Аг(с.и.к.г. (Ap,Q), и.к.г. Аг(кУ), является автономный автомат A =l(SxK,Y,h’,f), где
f(s,k) = fa,k), h’(s,k) = (h(s,k), g(s,k)).
Из теоремы 15.2 следует, что к.г. Аг есть автономный с.и.а. Мили (А,п(К)), с.и.к.г. (Af,Q) есть автономный с.и.а. Мили (A,n(Q)), где А -автомат Мили, ассоциированный с Ар.
Моноключевой к.г. (м.к.г.) Вр не обновляет значения ключа от такта к такту и задается системой из шести объектов:
Bp=(S, Y,K,z, h,f).
Функционирование м.к.г. определяется равенством (15.11) и следующими равенствами:
y,=ftshk),	(15.18)
5,+1 = /г(^Л).	(15.19)
Моноключевой и.к.г. (м.и.к.г.) В^к) является м.к.г. с одноэлементным ключевым множеством:
Bp(k) = (S, У, {k},z,h,f).
267
В. М. Фомичее. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
По определению последовательным соединением 1-го типа к.г. Аг=	и ш.а. Аш = (Y,S2,Z,K2,Z2,g2,h2,f2) является к.г.
Вг= (SixS2,Z,K1xK2,z,g,h,f), где для любых 5 = (sirS2)eSixS2 и к = {к^&КххКг.
z(k) =	22(^2)),
h(s,k) = (h^sM, /?2(s2,WiGsb&i))), g(s,k) =	g2{s2,k2,f\{s\,k\y)),
f(s,k) =f2(s2,k2,fi(.si,ki)).
Определим другой тип последовательного соединения автоматов, при котором выход первого автомата управляет функцией переходов второго автомата.
Последовательным соединением 2-го типа к.г.
Аг = (S,W,K,z,g\,h\,f\) и а.п.п. Мили А = (X, W,Y,f2) (обозначение АГ=>А) называется ш.а. Аш = (X,S,Y,K,z,g,h,f), где для любых 5eS, к&Кн хеХ: f(s,k,x) = f2(fi(s,k),x), g(s,k,x) = gi(s,k), h(s,k,x) = hi(s,k).
При таком соединении к.г. Аг называется управляющим блоком, а а.п.п. Мили А - шифрующим блоком ш.а. Аш-
15.6.	Эквивалентность ключей и шифрующих автоматов
Одной из важнейших проблем теории шифрующих автоматов, непосредственно связанной с оценкой криптографической стойкости шифров, является проблема минимизации ш.а. Дадим некоторые определения, необходимые для рассмотрения данной проблемы.
Под реакцией с.и.а. Мили (А, W) = (X,(S,W),Y,h,f) подразумевается множество реакций состояний weft' соответствующего автомата Мили А = (X,S,Y,h,f)- В частности, реакция и.а. Мили Aw - это реакция состояния w соответствующего автомата Мили А.
268
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ
С.и.а. Мили (А,IV) = (X,(S,W),Y,h,f) и (А’,ИО = (Х,(5\W\Y,h\f) называются эквивалентными (обозначение: (A, W)=(A\IF)), если совпадают их реакции.
Реакцией и.ш.а. Ащ^к) назовем реакцию состояния (z(£),£) автомата Мили А, ассоциированного с и.ш.а. Ащ(к). Иначе говоря, реакция и.ш.а. Ащ(к) - это отображение множества открытых текстов во множество шифрованных текстов, реализуемое автоматом Аш при ключе к.
Ключи к и q шифрующего автомата Аш называются эквивалентными (обозначение: k^q), если совпадают реакции и.ш.а. Ащ{к) и Ащ(с[). Таким образом, если k=q. то автоматы Аш(к) и Ащ(д) одинаковый открытый текст зашифровывают в одинаковый шифрованный текст.
Реакцией ш.а. Аш (с.и.ш.а. (А^,б)) назовем множество реакций всех и.ш.а. Ац^к). keK(keQ).
Два ш.а. (с.и.ш.а.) называются эквивалентными, если совпадают их реакции.
Из определений следует, что эквивалентные ш.а. (с.и.ш.а.) с непустыми множествами состояний и ключей должны иметь одинаковые входные и выходные алфавиты.
Ш.а. (с.и.ш.а.) называется сокращенным, если любые его два ключа неэквивалентны.
Теорема 15.3. Если сокращенный ш.а. Аш с ключевым множеством К\ эквивалентен ш.а. Вш с ключевым множеством К2. то |/G| = IK2I•
Доказательство. Если сокращенные ш.а. Аш и Вш эквивалентны, то при любом кеК\ для инициального автомата Мили Ащ{к) найдется эквивалентный ему инициальный автомат Мили Bn^qY qeK2, причем единственный, иначе Вш не был бы сокращенным. Следовательно, 1^1 = |Л-2|.	♦
Используя сделанные определения, рассмотрим некоторые следствия из теоремы 9.2 (Хаффмана - Мили), позволяющие оценить длину открытых текстов, достаточную для распознавания эквивалентности ключей и самих ш.а.
Теорема 15.4. Для распознавания эквивалентности ключей к и q ш.а. А^ = (XS, Y>K,z,g>hj) достаточно для каждого открытого текста а длиной
269
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
не больше проверить совпадение шифрованных текстов, полученных при зашифровании а с использованием ключей knq.
Вследствие этого проблема распознавания эквивалентности ключей ш.а. алгоритмически разрешима.
Доказательство. Из теоремы 15.2 следует, что для распознавания эквивалентности ключей к и q ш.а. Аш достаточно распознать эквивалентность состояний (г(Л)Л) и автомата Мили А, ассоциированного с ш.а. Аш-
Число состояний автомата А равно |/<|-|S|, поэтому по теореме 9.2 имеем, что для распознавания эквивалентности ключей knq ш.а. Аш достаточно проверить реакцию состояний (z(k),k) и (z(q),q) автомата Мили А на входные слова длиной не больше .	♦
Теорема 15.5. Для распознавания эквивалентности ш.а. Am=(X,S,Y,K,z,g,h,J) и Аш’ = (X^YJC'Z’.g’.h’f) (с.и.ш.а. (АШ,О) и (Аш’,<2’)) достаточно проверить совпадение их реакций на семейство всех открытых текстов длиной, не больше	•
Вследствие этого проблема распознавания эквивалентности ш.а. (с.и.ш.а.) алгоритмически разрешима.
Доказательство. Проверка эквивалентности ш.а. Аш и Аш' (с.и.ш.а. (Аш,О) и (А-ш ,0,'У) сводится к проверке эквивалентности состояний автомата В = АиА’, где А и А' есть автоматы Мили, ассоциированные с ш.а. Аш и Аш соответственно.
Так как множества состояний автоматов Л и А’ не пересекаются, то число состояний автомата В равно |Л]-|5'|+|А’’|-|5’|, поэтому по теореме 9.2 имеем, что для распознавания эквивалентности ш.а. Аш и Аш (с.и.ш.а. (Аш,О) и (Аш ,<2’)) достаточно проверить их реакцию на входные слова длиной не больше |/f| |5|+|/C’|-|5’|-l.	♦
Теорема 15.6. Для распознавания эквивалентности ключей к и q м.ш.а. Аш = (X,S,Y,K,z,h,f) достаточно для каждого открытого текста а длиной не больше 2-|5|-1 проверить совпадение шифрованных текстов, полученных при зашифровании а с использованием ключей knq.
Доказательство. Для распознавания эквивалентности ключей к и q м.ш.а. Аш достаточно распознать эквивалентность состояний (z(k'),k') и (z(^),<?) автомата Мили В, ассоциированного с моноключе-вым с.и.ш.а. (Аш, {k,q}) = Ащ(к)^Аш(л)-
270
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ
Так как число состояний автомата В равно 2-|S|, то по теореме 9.2 имеем, что для распознавания эквивалентности ключей к и q м.ш.а. Аш достаточно проверить совпадение шифрованных текстов, полученных при зашифровании с использованием ключей к и q открытых текстов длины не большей 2-|S|-1.	♦
Теорема 15.7. Для распознавания эквивалентности м.ш.а. Аш = (X,S,Y,K,z,h,f) иАш = (X,S’ ,Y,IC ,z’ ,h’ ,f) (моноключевых с.и.ш.а. (Аш,О) и (Аш’,<2’)) достаточно проверить совпадение их реакций на семейство всех открытых текстов длиной, не больше |5|+|S’|-1.
Доказательство. Проверка эквивалентности м.ш.а. Аш и Аш (моноключевых с.и.ш.а. {Аш,О) и (Аш’,<2’)) сводится к проверке эквивалентности каждого ключа &е7С-цекоторому ключу q&K' и эквивалентности каждого ключа qeK' некоторому ключу к&К. Для распознавания эквивалентности двух таких ключей к и q достаточно распознать эквивалентность состояний (z(&),£) и (z’(<?),<?) автомата где В и В' есть автоматы Мили, ассоциированные с м.и.ш.а.
АцАк) и соответственно.
Так как множества состояний автоматов В и В’ не пересекаются, то число состояний автомата B<jB’ равно |5|+|S" |, поэтому по теореме 9.2 имеем, что для распознавания эквивалентности м.ш.а. Аш и Аш’ (моноключевых с.и.ш.а. (Аш,2) и (Ащ’,6’)) достаточно проверить их реакцию на входные слова длиной не больше |S|+|S’|-1.	♦
Теорема 15.8. Для каждого ш.а. Аш (с.и.ш.а. (АШ,О)) может быть эффективно построен эквивалентный ему сокращенный ш.а. (сокращенный с.и.ш.а.).
Доказательство. Разобьем ключевое множество К ш.а. Аш (множество Q начальных значений ключа с.и.ш.а. (Аш,0) на классы эквивалентности, что можно эффективно выполнить согласно теореме 15.4.
Сокращенный ш.а. Вш (с.и.ш.а. (8ш,2’)) имеет вид:
5ш=(Х,5,У,№,г’,А’,/),
(ВШ,С’) = (Х,5,У,(/С’,2’),
где К’- система представителей всех классов эквивалентных ключей ш.а. Аш,
Q’=K^Q,
271
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
функция z’ есть ограничение функции z на множество К', а функции h' и f есть ограничения функций h и/соответственно на множество SxK’xX.	♦
15.7.	Различимость входов
Необходимым свойством ш.а. является способность при любом ключе зашифровывать различные открытые тексты (начиная с некоторой длины) в различные шифрованные тексты. В противном случае не обеспечена однозначность расшифрования криптограммы, полученной при использовании некоторого ключа. В связи с этим условие различимости входов для ш.а. формулируется существенно жестче, чем для автомата Мили.
В связи с рассмотрением различимости входов ш.а. введем следующие понятия.
Открытые тексты v и w в алфавите X называют неразличимыми и.ш.а. Ад//), если для любого иеХ*
/*(z(£),&,v-m) =j*{z(k),k,w-u).
В противном случае открытые тексты v и w различимы и.ш.а. Ащ(к). В частности, любые два открытых текста в алфавите X различной длины различимы всяким и.ш.а.
Будем говорить, что открытые тексты v и w в алфавите X неразличимы с.и.ш.а. (Аду,б) (ш.а. Аш), если при некотором keQ (кеК) эти слова неразличимы и.ш.а. Ащ(к).
Открытые тексты v и w в алфавите X различимы с.и.ш.а. (Ауд,б) (ш.а. Аш), если при любом keQ (кеК) эти тексты различимы и.ш.а. Ащ(к).
Ш.а. Аш (с.и.ш.а. (АШ,О), и.ш.а. Ащ(к)) различает входы, если любые различные открытые тексты различимы этим ш.а. (с.и.ш.а., и.ш.а.).
Теорема 15.9. Открытые тексты v и w неразличимы и.ш.а. Ащ(к) тогда и только тогда, когда эквивалентны состояния (h*(z(k),k,v), g*{z{k),k,v)) и (h\z{k),k,w),g\z(k),k,w)) автомата Мили А, ассоциированного с ш.а. Аш, и выполнено равенство
f4z(k),k,v) =f\z(k),k,w)-
272
............................... Глава 15. ШИФРУЮЩИЕ АВТОМА ТЫ
Доказательство. Пусть открытые тексты v и w неразличимы автоматом Ащ(к). Тогда для всех и<=Х* по теореме 15.1 имеем: f*(z(k),k,v)-f*(h*(z(k),k,v),g*(z(k),k,v),u) =f*(z(k'),k,v-u) = =f*(z(k),k,w-u) =ftf(z(k),k,w)-J*(h*(<z(k),k,w),g*(z(.k),k,w),u).
Сравнивая соответственные части составных слов, записанных в крайних звеньях данной цепочки равенств, получаем, что, во-первых, требуемое равенство выполнено и, во-вторых, эквивалентны указанные состояния автомата Мили А, ассоциированного с ш.а. Аш. Обратное утверждение доказывается рассуждениями в обратную сторону. ♦
Из теорем 9.4 и 15.2 следует, что проблема распознавания различимости входов шифрующим автоматом (с.и.ш.а., и.ш.а.) алгоритмически разрешима.
В заключение заметим,'"что понятийная база данной главы позволяет изучать многообразие как существующих, так и перспективных симметричных шифров как специальный класс автоматов Мили.
15.8.	Задачи и упражнения
15.1.	Сколько имеется различных ш.а. с входным, внутренним и выходным алфавитами мощности соответственно г, п и m и ключевым множеством мощности q при условии, что хотя бы одна из функций z,h,/зависит от ключа существенно?
15.2.	Число состояний и ключей ш.а. Ai (ш.а. Аг) равно соответственно П1 и qi (пг и qz), и ключевые множества автоматов не пересекаются. Сколько состояний и ключей имеет:
а)	последовательное соединение 1-го типа ш.а. Ai и Аг;
б)	прямая сумма ш.а. Ai и Аг;
в)	объединение ш.а. Aj и Аг?
15.3.	Следует ли из сильной связности двух ш.а. сильная связность их прямой суммы, объединения? В случае отрицательного ответа приведите иллюстрирующий пример.
15.4.	Сколько тактов функционирования ш.а. А = (Vi,V„,V\,Vmz,g,hJ) достаточно реализовать для распознавания:
а)	эквивалентности двух его ключей;
б)	его сокращенное™?
273
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
15.5.	Каково наибольшее из возможных значений периода выходной последовательности к.г. Аг = (Sy^z.g.h,/^- Проиллюстрируйте примером.
15.6.	Пусть А = (S,Y,K,z,g,h,f) и А’ = (5,Y,К',z’,g',h’,f) - согласованные к.г. Докажите, что период выходной последовательности к.г. АиА’ при любом ключе не превышает |$|-тах{|К\2Г|,|/Г\Д |/Сп£|}.
15.7.	Пусть Аш = (X,S,Y,K,z,g,h,f) - последовательное соединение 2-го типа к.г. Аг = (5,W,AT,z,gi,/zi,/i) и а.п.п. Мили А = (X,W,Y,f2), где функция выходов f2(w,x) автомата А биективна по х.
1)	Докажите, что Аш различает входы. Каковы уравнения функционирования автомата, реализующего расшифрование?
2)	Оцените период Т выходной последовательности ш.а. Аш, если период выходной последовательности к.г. Аг равен t и период входной последовательности автомата А равен т.
15.8.	Пусть функции h и f ш.а. Аш = (X,S,Y,K,z,g,hJ) зависят от ключа несущественно. Докажите, что:
а)	ш.а. Аш эквивалентен некоторому м.ш.а.;
б)	его сокращенный автомат имеет не более min{|5|,|Z(j?)|} состояний, где Z{K) - область значений функции z-
Сформулируйте критерий эквивалентности ключей ш.а. Аш в терминах автомата Мили, ассоциированного с Аш-
274
Глава 16. ПОТОЧНЫЕ ШИФРЫ
16.1.	Различия между поточными и блочными шифрами
Поточные шифры относятся к шифрам замены, преобразующим посимвольно открытый текст в шифрованный. Поточный алгоритм зашифровывает t-й символ х, из алфавита ^открытого текста в t-й символ yt из алфавита Y шифрованного текста с использованием меняющихся от такта к такту шифрующих отображений cpf:X—>У, t = 1,2,...
Традиционно шифры замены строились по принципу поточного шифрования и в качестве шифруемых символов использовались буквы или биграммы. Я электронных поточных шифрах в качестве шифруемых символов фигурируют чаще всего биты или байты. При использовании шифрования в высокоскоростных системах передачи данных наиболее высокой скоростью шифрования характеризуются аппаратно-реализованные поточные шифры.
В отличие от поточных шифров блочные шифры с использованием (как правило) неизменного отображения обрабатывают блоки информации. Блочный принцип присущ традиционным шифрам перестановки. Например, в маршрутных перестановках блок информации состоит из т-п букв, записываемых в таблицу размера тихи. Однако понятие блочного шифра появилось и сформировалось лишь в начале 70-х гг. XX в., когда назрела необходимость в электронных шифрах замены для обработки компьютерной информации.
Необходимость разработки нового класса блочных шифров была вызвана в основном двумя обстоятельствами: функциональной несовместимостью аппаратуры поточного шифрования и вычислительных машин, а также тем, что программы шифрования компьютерной информации, использующие посимвольную обработку данных, не могли достичь необходимых скоростей. Это стимулировало разработку нового класса шифров с блочным принципом обработки информации и с более высокой производительностью шифрования.
С учетом разрядности современных компьютерных процессоров наиболее удобны для программной реализации симметричные блоч
/1И/1И0ГЛ1ИФИ	275
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
ные шифры с размером п обрабатываемых блоков данных от 64 до 256 бит, где п кратно 32.
Заметим, что граница между поточными и блочными шифрами весьма условна. Позднее мы укажем симметричные шифры, наделенные признаками как поточных, так и блочных шифров.
16.2.	Синхронные поточные шифры
Поточные шифры разделяются на синхронные (СПШ) и асинхронные (или самосинхронизирующиеся - ССПШ).
Криптосхема СПШ состоит из управляющего и шифрующего блоков.
Управляющий блок генерирует управляющую последовательность {у,}, которая используется для формирования шифрующих отображений фу , t = 1,2,... Управляющую последовательность часто называют управляющей гаммой, а управляющий блок - генератором гаммы (так как традиционно члены управляющей последовательности обозначались греческой буквой у).
Шифрующий блок зашифровывает символ открытого текста xt в символ шифрованного текста у, с использованием отображения фу , t = 1,2,...
Управляющий блок поточного шифра моделируется криптографическим генератором G = (S,r,K,z,gi,hi,fi), шифрующий блок - автоматом Мили с постоянной памятью А = (X,r,Y,fi) (множество Г возможных состояний памяти автомата А совпадает с выходным алфавитом к.г. Ар), а СПШ в целом моделируется ш.а. Аспш= (X,S,Y,K,z,g,h,f), являющимся последовательным соединением 2-го типа к.г. G и автомата А:
Acmu=G=>A.
В r-м такте, t = 1,2,..., к.г. G генерирует знак гаммы у,,
у, =f\(st,kt),	(16.1)
276
Глава 16. ПОТОЧНЫЕ ШИФРЫ
который записывается в память автомата А. Под воздействием знака у, а.п.п. А зашифровывает знак xt открытого текста в знак yt шифрованного текста с помощью отображения <ру :
фу/х,) =/г(у(л) =yt.	(16.2)
Множество Ф = {ср/уеГ} шифрующих отображений поточного шифра есть множество подфункций функции fi(y,x), соответствующих всевозможным фиксациям переменной у.
Далее ограничимся рассмотрением подстановочных поточных шифров, каковыми являются практически все современные поточные шифры. Для таких шифров алфавиты X и Y равномощны и однозначность расшифрования ^обеспечивается в том и только в том случае, когда функция/2(у,х) биективна по переменной х. Если X = Y, то при любом фиксированном у функция является подстановкой на множестве X.
В силу естественных соображений, связанных с упрощением реализации шифра и повышением производительности шифрования, при построении поточных шифров предпочтение отдается моноклю-чевым к.г.
Если управляющий блок моделируется м.к.г. G = (S,r,K,z,h\,f), то СПШ моделируется м.ш.а. Аспш = (X,S,Y,K,z,h,f), где Аспш = G=>A и уравнения шифрования при использовании ключа к имеют вид
yt=f2(fi(st,k),x,),t= 1,2,...	(16.3)
Уравнения расшифрования при использовании ключа к имеют вид xt = \\i(fi(st,k),yt), t = 1,2,...,	(16.4)
где при любом фиксированном у&Г отображение \|/(у,у) множества Y—>Х является обратным к отображению fz(y,x) множества Х->У (такие отображения существуют в силу биективности функции /2(у>х) по переменной х).
По способу построения моноключевые генераторы гаммы, используемые в СПШ, делятся на два вида. Первый вид генераторов образуют генераторы с внутренней обратной связью (internal feedback), у которых функция выходов f\ не зависит от ключа к. Име
277
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
ется разновидность этого класса генераторов, в которых от ключа зависит только начальное состояние.
Второй вид - генераторы типа счетчика {counter mode), они отличаются тем, что от ключа зависит только функция выходов f\.
Генераторы второго класса в отличие от генераторов первого класса позволяют вычислить z-й бит гаммы, не вычисляя всех предыдущих битов. Для этого генератор устанавливается в z-e внутреннее состояние, после чего вычисляется соответствующий ему z-й бит гаммы. Это свойство полезно использовать для обеспечения случайного доступа к файлам данных; оно позволяет расшифровать отдельный фрагмент данных, не расшифровывая файл полностью.
Схема реализации шифрования дискретных сообщений с использованием СПШ показана на рис. 16.1
Рис. 16.1. Шифрование дискретных сообщений с использованием синхронного поточного шифра
Отправитель сообщения устанавливает заранее оговоренный ключ к генератора и, вычислив криптограмму в соответствии с уравнениями шифрования (16.3), отправляет ее получателю.
Для расшифрования получатель использует идентичный генератор гаммы, в который устанавливает тот же ключ к. Шифрующий блок получателя в режиме расшифрования вычисляет открытый текст по криптограмме в соответствии с уравнениями расшифрования (16.4).
В СПШ генерируемая гамма не зависит от открытого текста (генератор G автономен). Поэтому СПШ функционирует исправно до тех пор, пока устройства, реализующие шифрование и расшифрование на концах линии связи, работают синхронно, то есть не имеет места расшифрование шифрованного знака у, с использованием знака
278
Глава 16. ПОТОЧНЫЕ ШИФРЫ
гаммы у„ i*j. Такие нежелательные сбои, называемые рассинхронизацией, могут наступить из-за различных скоростей работы аппаратуры на приемном и передающем концах, удаления знаков при передаче в канале и др. Сбои могут повлечь неправильное расшифрование всего последующего отрезка сообщения. Если это случается, отправитель и получатель должны каким-то образом восстановить синхронизм работы генераторов гаммы прежде, чем продолжить сеанс связи.
Обычно проблемы восстановления синхронизма решаются либо с помощью повторного шифрования с реинициализацией ключа обоими абонентами (повторное использование гаммы как минимум нежелательно, а для некоторых шифров вовсе исключено!), либо с помощью разбиения текста на блоки, начала и окончания которых снабжаются маркерами - специальными «пограничными» символами. Во втором случае рассинхронизация приводит к некорректному расшифрованию лишь до тех пор, пока получателем не будет принят один из маркеров.
К положительным сторонам СПШ следует отнести то, что они не размножают искажений знаков текста, которые довольно часто имеют место при передаче по каналам связи. Если при отправлении сообщения был искажен знак х, или при передаче по каналу связи был искажен знак у,-, то при синхронной работе генераторов эти искажения не повлияют на правильность расшифрования всех знаков, кроме г-го. Как мы увидим ниже по тексту, это свойство не присуще ССПШ.
СПШ защищают передаваемое сообщение от несанкционированных вставок и удалений отрезков текста, так как в этих случаях произойдет рассинхронизация и «вмешательство» будет немедленно обнаружено. В то же время СПШ не вполне защищают от умышленной подмены отрезка сообщения на другой отрезок такой же длины. Если злоумышленнику известен отрезок открытого текста, то ему не составляет труда подменить его таким отрезком, который расшиф-руется в требуемый фрагмент текста.
279
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
16.3.	Самосинхронизирующиеся поточные шифры
ССПШ также состоит из управляющего и шифрующего блоков с аналогичным функциональным назначением. Однако имеются отличия в строении управляющего блока и в схеме взаимодействия блоков.
Если шифрующий блок ССПШ моделируется тем же а.п.п. Мили А = (Х,Г, то управляющий блок построен на основе неавтономного м.ш.а. В - (YAl^r.K'Z'hiJf), где п - натуральное число и z -элемент множества У*'0, не зависящий от ключа.
ССПШ в целом моделируется м.ш.а. Асспш = (X, У00, Y,К,z,h,f) с обратной связью по шифртексту (output feedback mode), где для любых хеХ, к&К и у = (y\,y2,...,yn)&Y(n}
f(y,kpc) =f2(fi(y,k),x), h(y,koc) = (y2,...,ynf(y,k^)).
Таким образом, не только м.ш.а. В управляет автоматом А (способ управления тот же, что и в СПШ), но и автомат А управляет м.ш.а. В за счет обратной связи, выдавая знаки шифртекста не только на выход автомата Асспш, но и на вход автомата В.
Уравнения шифрования и расшифрования здесь те же, что и для СПШ. Важное отличие от СПШ заключается в функции переходов, которая устроена так, что генерируемая гамма зависит от предшествующих битов шифртекста:
Унт =fi(yl.ll+i,yl-n+2,--;yt,k),t>n.	(16.5)
Реализация шифрования дискретных сообщений с использованием ССПШ показана на рис. 16.2
Каждое внутреннее состояние управляющего блока ССПШ (за исключением первых п состояний) заполняется п предыдущими знаками шифртекста. Поэтому если п следующих подряд знаков шифртекста не подвергаются искажению при передаче по линии связи, то ш.а. на приемном и передающем концах устанавливаются в одинаковые внутренние состояния и, следовательно, вырабатывают при этом одинаковые знаки гаммы. Таким образом происходит самосинхронизация ш.а.
280
Глава 16. ПОТОЧНЫЕ ШИФРЫ
Рис. 16.2. Шифрование дискретных сообщений с использованием асинхронного поточного шифра
Как правило, каждое шифруемое сообщение начинается не с содержательного текста, а со случайного отрезка из п знаков, который шифруется, передается и затем расшифровывается. И хотя расшифрование этого отрезка реализуется некорректно в силу несовпадения начальных состояний генераторов, после передачи п начальных знаков генераторы синхронизируются.
Для затруднения криптоанализа м.ш.а. Асспш по первым п знакам шифртекста его начальное состояние (значение функции инициализации) целесообразно выбирать случайным образом для каждого сообщения.
Слабой стороной ССПШ является размножение ошибок. Единичная ошибка в шифртексте порождает п ошибок в открытом тексте.
ССПШ уязвимы также по отношению к имитации сообщений. Злоумышленник может записать некоторый перехваченный им отрезок шифртекста и позже отправить его в адрес. После нескольких нестыковок в начале сообщения (до п знаков) посланный отрезок рас-шифруется верно и получатель не сможет определить, что принял устаревшее сообщение, если это сообщение не содержит метки времени. Подобная имитация также невозможна, если менять ключи при каждом новом сообщении.
281
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ__
16.4.	Шифры гаммирования
Шифрами гаммирования называют подстановочные поточные шифры, в которых X = Y и двумерное табличное задание шифрующего отображения /2(у,*) образует латинский квадрат в алфавите X.
Если множество Ф = {cp/yeT"} шифрующих подстановок шифра гаммирования образует группу или смежный класс по некоторой подгруппе полной симметрической труппы степени |Л], то такой шифр гаммирования называют групповым.
Удобством реализации отличаются моноключевые шифры гаммирования, в которых X - Y = Г = Zm- кольцо вычетов по модулю т и операция шифрования fz есть сложение или вычитание по модулю т одного из следующих типов:
Л(ул) = (±x±y)modm.
Такие шифры являются групповыми и называются шифрами модульного гаммирования.
Наиболее удобными с точки зрения практического применения являются шифры модульного гаммирования, которым соответствуют уравнения шифрования
У, = х,®у„ у, = (±у( - xjmodm.
Удобство таких шифров заключается в их обратимости, то есть шифрующие блоки при зашифровании и расшифровании функционируют идентично.
16.5.	Криптографические свойства поточных шифров
Для обеспечения высокой криптографической стойкости шифрования важны как свойства соответствующего ш.а., так и устройство криптографического протокола, определяющего порядок использования шифра. Рассмотрим особенности ш.а. и криптографических протоколов, используемых в поточных шифрсистемах.
282
Глава 16. ПОТОЧНЫЕ ШИФРЫ
16.5.1.	Повторное использование гаммы
Важным свойством криптографических протоколов СПШ является запрет на многократное использование одинаковой гаммы для шифрования различных текстов. Для шифров гаммирования исключено даже повторное шифрование на одном ключе.
Покажем это на примере синхронного шифра модульного гаммирования с уравнениями шифрования
у, = (хг+y()modm.	(16.6)
Пусть криптоаналитик располагает двумя криптограммами иу\2,у2,...,уы, полученными наложением одинаковой 11	12	2	2
гаммы на различные открытые тексты Xi , хг ,..., хдг и Xi , хг,..., xn :
у/ = (х/ +Yf)modm,
У/2 = (х,2 + yz)modm, t = 1,2,...
Требуется восстановить открытые тексты.
Рассмотрим разность имеющихся криптограмм, которая не зависит от гаммы:
у/-у,2 = (x/-xz2)modm, t = 1,2,...
Следовательно, решение задачи сводится к подбору двух открытых текстов, разность которых задана. Угадав фрагмент одного открытого текста (используя заранее известные стандарты или тематику, свойственные данному источнику открытых сообщений), легко вычислить фрагмент другого открытого текста. Имея одну или несколько таких «привязок» на различных позициях текстов, можно попытаться продолжить как влево, так и вправо угадывание текстов, используя грамматические связи языка, а также смысловые и логические связи текстов.
Поиск возможных вариантов продолжения угаданных фрагментов текстов можно реализовать как перебор знаков, упорядоченный по убыванию апостериорных вероятностей. При этом для любого t используется заранее вычисленное эмпирическое распределение вероятностей знаков разности открытых текстов:
Р{х/ = v,х,2 = v-ulyi-y2 = к), v,ueX.
283
В, М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Данный метод не всегда приводит к полному успеху. Однако если правильно восстановлены части текстов, то это позволяет криптоаналитику восстановить гамму и заняться определением ключа по известным знакам гаммы.
Существенно проще решается данная задача для двух открытых текстов, отличающихся лишь вставкой одного или нескольких символов. Рассмотрим используемый в этом случае криптоаналитический метод восстановления текстов, который получил название атаки с помощью вставки символа (insertion attack).
Пусть открытый текст хьх2,хз,х4,... с помощью гаммы уьу2,Уз,У4>... преобразуется в соответствии с уравнениями шифрования (16.6) вшифртекст уьу2,уз,У4,... Криптоаналитику известен шифртекст, но не известны открытый текст и гамма.
Предположим также, что криптоаналитик располагает еще одной криптограммой, полученной зашифрованием той же гаммой видоизмененного открытого текста, полученного из оригинального открытого текста вставкой в некоторой позиции известного бита х'. Пусть видоизмененный открытый текст есть хьхг,х2,хз>х4,..., а соответствующий шифртекст есть уьу2',уз',У4',У5',...
По двум шифртекстам можно определить, начиная с момента вставки, и гамму и открытый текст:
у2 -у2-х(; х2-У2-72\
Уз = Уз-х2; Хз = Уз-Уз;
У4 = У4-Хз; х4 = у4—У4 ...
Момент вставки символа х' можно определить, сравнивая видоизмененный и оригинальный шифртексты. Если значение вставленного символа неизвестно, то можно реализовать перебор вариантов этого значения. Для защиты от атаки с помощью вставки символа достаточно никогда не использовать одинаковые отрезки гаммы для повторного шифрования.
16.5.2.	Выход гаммы в линию связи
При эксплуатации поточного шифра недопустимым является выход отрезка гаммы у/,у/+ь...,у/+л1 в линию связи, /г - натуральные
284
Глава 16. ПОТОЧНЫЕ ШИФРЫ
числа. Такое событие может произойти в результате неисправности аппаратуры шифрования и может повлечь неприятные последствия двух видов.
Во-первых, активный противник может отправить получателю ложное сообщение (длиной не более t знаков), зашифровав его с помощью перехваченной гаммы. Эта опасность подобна той, что имеет место при эксплуатации асимметричной криптосистемы, когда база открытых ключей общедоступна и не защищена от навязывания ложных сообщений активным противником.
Во-вторых, криптоаналитик может попытаться определить по полученному отрезку гаммы ключ к управляющего блока, что, как правило, проще, чем пытаться определить ключ по шифртексту. В случае успеха криптоаналитик получит доступ ко всей информации, зашифрованной с использованием ключа к,
16.5.3.	Восстановление текста, зашифрованного неравновероятной гаммой
Одним из важнейших для стойкого шифрования свойств поточных шифров является равновероятность гаммы, вырабатываемой управляющим блоком. Рассмотрим на примере синхронного шифра модульного гаммирования, как может быть использована неравнове-роятность гаммы для вскрытия шифра.
Для определенности рассмотрим гаммирование в соответствии с уравнениями (16.6).
Уточним вероятностную модель шифра. Пусть pi есть вероятность использования знака i в гамме, i = 0,l,2,...,m-l, и не все из вероятностей ро,pi,...,рт.\ равны \/т.
Требуется дешифровать криптограмму уь уг,..., полученную при зашифровании обычного литературного текста с использованием данного шифра гаммирования.
Заметим, что для оценки вероятностей р, знаков гаммы можно использовать два подхода: либо рассчитать вероятности pt в рамках определенной вероятностной модели шифра, используя закон образования гаммы (криптосхему генератора гаммы), либо рассчитать их с учетом уравнений шифрования (16.6), используя частоты знаков
285
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
криптсираммы и вероятностное распределение знаков открытых текстов.
Рассмотрим вначале более простую задачу, когда некоторые знаки вовсе не встречаются в гамме. Без ущерба для общности положим:
ро>Р1>...>рг-1>О,р/ =Рг+1 = ...=рт-1=0,	(16.7)
где гоп. В этих условиях заметим, что в /-м такте шифрованию подвергалась одна из г следующих букв открытого текста, t = 1,2,...,TV:
х, = yt, x? = (y<-l)modm, ..., х/ = (yrr+l)modm.
Поэтому открытый текст может быть получен методом чтения в колонках, то есть подбором /-го знака в r-й колонке табл. 16.1, t = 1,2,..., TV (элементы таблицы рассматриваются по модулю т).
Таблица 16.1
у\у	У1	У2		yt		Уы
0	У1	_ Уг_ _____		yt		Уп
1	У1-1	У2-1		Уг1		Уи-\
						
г-1	У1-Г+1	У2-Г+1		УгГ+1		yN-r+\
Заметим, что знаки в каждой колонке упорядочены по вероятности их использования в открытом тексте. Это облегает чтение в колонках, так как «читаемый текст» с повышенной вероятностью расположен в верхних строках таблицы.
Данный метод относится к методам бесключевого чтения, то есть к методам восстановления открытого текста без предварительного определения ключа. Применение метода чтения в колонках тем успешное, чем меньше высота колонок г, характеризующая многозначность решения задачи. При г, близких к т, чтение в колонках теряет всякий смысл, так как таблица содержит большое количество не только осмысленных, но и взаимно противоречивых открытых текстов. Критическое значение высоты колонок г определяется, исходя из свойств языка источника открытых текстов и вероятностного распределения (16.7).
Если теперь вернуться к общей постановке задачи, когда нельзя исключить использования ни одного знака гаммы, то метод чтения в
286
Глава 16. ПОТОЧНЫЕ ШИФРЫ
колонках необходимо несколько изменить. Для составления таблицы надо исключить из рассмотрения т-r наименее вероятных знаков гаммы. Действовать при этом можно так же, как и раньше, но надежность такого метода меньше 1 в связи с возможностью потери истинного решения (открытого текста).
16.5.4.	Критерии оценки криптографических свойств управляющего и шифрующего блоков
Криптографическая стойкость поточного шифра характеризуется близостью его свойств к свойствам идеального шифра. Поэтому всякий поточный шифр можно рассматривать как более или менее искусную подделку под идеальный шифр.
Криптографические свойства поточного шифра определяются свойствами как шифрующего, так и управляющего блоков.
Напомним, что шифрующий блок задается отображением /г(у^):ГхХ->У или, что равносильно, множеством Ф = {ф/уеГ} шифрующих отображений поточного шифра (ср7:Х—>У), определяемых равенством (16.2). Порядок использования отображений из множества Ф для шифрования текста определяется гаммой управляющего блока шифра.
Наилучшая подделка под идеальный шифр получается тогда, когда последовательность шифрующих отображений {сру }, t = 1,2,..., имитирует последовательность независимых случайных отображений X—>У. Отсюда можно вывести два необходимых условия криптографически стойкого СПШ:
1) при каждом фиксированном х&Х отображение/2(7,х) является сбалансированным, откуда следует, что |У|, так же как и |Х|, делит |Г| (для шифров гаммирования это условие обеспечено свойствами латинского квадрата/г(у,л));
2) при случайном равновероятном выборе начального значения ключа к управляющая гамма {у,} наилучшим образом имитирует последовательность независимых случайных величин, распределенных равномерно на множестве /’(то есть РРСП в алфавите Г).
287
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
При этих условиях шифрованный текст, вырабатываемый СПШ, имитирует РРСП в алфавите Y.
Из второго условия вытекают конкретные требования к управляющей гамме СПШ.
1.	Управляющая гамма должна иметь большой период (многократно превосходящий длину открытого текста, закрываемого СПШ) и не содержать длинных повторяющихся отрезков, иначе это было бы равносильно повторному использованию гаммы.
2.	Управляющая гамма должна обладать рядом статистических свойств, присущих РРСП в алфавите Г. В частности, частота встречаемости в гамме всякой г-граммы должна быть близка к |Г| /’ для г= 1,2,...,го, где г0- некоторая константа, определяемая возможностями вскрытия СПШ с использованием неравновероятности мультиграмм гаммы.
3.	Зависимость между знаками управляющей гаммы должна быть сложной настолько, чтобы восстановление гаммы по ее достаточно длинному отрезку являлось трудоемкой вычислительной задачей. В частности, управляющая гамма должна иметь большую линейную сложность.
4.	Система уравнений, связывающая неизвестные элементы ключа к с известными знаками гаммы, должна иметь высокую сложность решения, исключающую возможность практической реализации алгоритма решения *.
Ключ к, при котором управляющая гамма не удовлетворяет хотя бы одному из условий 1-3, назовем слабым ключом СПШ. В связи с этим определением условия 1-3 необходимо дополнить оговоркой:: либо использование слабых ключей должно быть исключено, либо доля слабых ключей не должна превышать допустимой (с точки зрения пользователя шифра) доли информации, которая может быть дешифрована криптоаналитиком.
Криптографические свойства ССПШ определяются свойствами шифрующего блока и отображения fr.Y^xK-tF.
* Конкретные параметры условий 1-3 определяются е учетом требований пользователя к шифру и возможностей криптоаналитика противника.
288
Глава 16. ПОТОЧНЫЕ ШИФРЫ
Условия, обеспечивающие стойкое шифрование с использованием ССПШ, в отношении шифрующего блока те же, что и для СПШ.
Отображение управляющего блока при ключе к должно имитировать случайное отображение Y^-^F.
Детализация этого условия обычно увязывается со свойствами определенного класса ш.а. и соответствующими методами криптоанализа. Во всяком случае это отображение должно быть сбалансированным, то есть |Г] должен делить | К|" (иначе можно считать, что к -слабый ключ ССПШ).
Указанные свойства можно обеспечить в той или иной мере подбором конструктивных элементов криптосхем поточных шифров.
16.6.	Задачи и упражнения
16.1.	Сколько имеется различных ш.а. с внутренним и выходным алфавитами мощности соответственно пиши ключевым множеством мощности q, реализующих подстановочный СПШ? Управляющая гамма состоит из знаков алфавита мощности г.
16.2.	Для шифра гаммирования в алфавите 2т определите период t преобразования (р(уьу^*•*.?/), выполняемого над словами длиной г с использованием отрезка гаммы уьу2,-.,Уп
16.3.	Докажите, что СПШ не имеет эквивалентных ключей тогда и только тогда, когда управляющий блок при различных ключах порождает различную гамму и шифрующий блок является сокращенным автоматом Мили. Сформулируйте соответствующий критерий для шифра гаммирования.
16.4.	Опишите группу шифра гаммирования по модулю т.
16.5.	Криптоаналитику, перехватившему криптограмму уьу2>.**,Уь известно, что она получена с использованием синхронного шифра гаммирования при зашифровании текста ДьЯг,—в соответствии с уравнениями шифрования (16.6). Какой шифртекст ему следует навязать получателю, чтобы тот расшифровал сообщение Ь\,Ь2,...,ЬД
16.6.	Криптограмма уьУ2, ..,У/ получена при зашифровании текста ^1,^2,...^/ с использованием синхронного шифра гаммирования по модулю 10. Улучшатся ли криптографические свойства шифрования, если эту криптограмму повторно зашифровать, используя тот же от
289
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
резок гаммы; другой отрезок гаммы, сгенерированный независимо от первого отрезка?
16.7.	Какому условию должен удовлетворять шифрующий блок, чтобы поточный шифр являлся обратимым?
16.8.	Докажите, что если выход управляющего блока подстановочного поточного шифра есть ЛРПшах-и над GF(2), «нарезанная» по т бит, \<т<п, а функция /(уд) шифрующего блока реализует отображение VmxVm-^Vm, являющееся латинским квадратом, то при случайном равновероятном выборе начального состояния управляющего блока каждая буква открытого текста зашифровывается в любую букву шифрованного текста с вероятностью 2‘т+Д, где |Д|<2‘".
16.9.	К какому классу относится генератор шифра гаммирования Л5/1: с внутренней обратной связью или «типа счетчика»? Для обоснования ответа выпишите формулы для функций переходов и выходов шифра.
290
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
17.1. Сравнение характеристик асимметричных и симметричных блочных шифров
В симметричных блочных шифрах (СБШ) типичный размер обрабатываемого блока данных варьируется от 64 до 256 бит и кратен 16 битам, что связано с байтовым представлением информации и разрядностью компьютерных процессоров. Поэтому без ущерба для общности далее рассматриваются модели СБШ, обрабатывающих блоки длиной 2л бит, где 8/л.
Все асимметричные шифры используют тот же блочный принцип шифрования, однако преобразования информации имеют иной характер и размер блока может достигать нескольких тысяч бит. Примерно на один порядок отличаются и длины их ключей (у СБШ ключ короче). Эта разница объясняется тем, что приблизительно при таком соотношении размеров блоков и длин ключей достигается паритет их криптографической стойкости.
Производительность шифрования программных реализаций симметричных шифров примерно в 1000 раз выше, чем у асимметричных шифров.
Вместе с тем асимметричные шифры существенно расширяют область применения криптографии, предоставляют возможность разработки целого ряда удобных для реализации криптографических протоколов.
17.2. Принципы построения блочных шифров
Всякий СБШ может использоваться в нескольких режимах шифрования. Базовый режим, на основе которого построены все остальные режимы, называется электронной кодовой книгой (англ. — ЕСВ) или простой заменой.
тиот/пиои
291
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
Блочный шифр в режиме ЕСВ можно рассматривать как м.ш.а. без памяти (то есть 5 = 0) Аесв = (X,Y,K,J), где X = Y = Угп и функция выходов fix,к) биективна по входной переменной х. Уравнения шифрования при ключе кеК имеют вид:
У, = fixt,k) = Ek(xt), t = 1,2,...	(17.1)
где Ек(х) есть при любом кеК подстановка на множестве Уг»- Таким образом, блочный шифр в режиме ЕСВ реализует простую замену алфавита порядка 22".
Новизна задачи построения СБШ заключалась в разработке криптографически стойких, удобно реализуемых (как аппаратно, так и программно) шифров замены для алфавитов большого порядка.
17.2.1.	Немного истории
Первым опытом создания блочного шифра явился разработанный американской фирмой IBM шифр «Люцифер». Блоки открытого и шифрованного текста, обрабатываемые «Люцифером», представляют собой двоичные векторы длиной 128 бит. Шифр построен по принципу «сэндвича», составленного из нескольких чередующихся слоев - преобразований замены (substitution) блоков и преобразований перестановки (permutation) координат блоков. Такие схемы получили название 5Р-сетей (сетей перестановок и замен). Криптографическая идея 5Р-сети заключается в построении сложного преобразования с помощью композиции нескольких относительно простых, удобно реализуемых преобразований.
При реализации этой в целом перспективной криптографической идеи не обошлось и без издержек: схема получилась несколько громоздкой и, как следствие, обладала низкой производительностью. Скорость шифрования различных программных реализаций «Люцифера» не превышала 8 кбайт/с. Аппаратная реализация шифровала со скоростью 97 кбайт/с. К тому же возникли опасения по поводу криптографической стойкости шифра, которые впоследствии подтвердились. Однако опыт, накопленный разработчиками при создании «Люцифера», пригодился уже вскоре.
292
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
В 1973 г. Национальное бюро стандартов (NBS) США объявило конкурс, цель которого - разработка стандарта шифрования данных. Победила фирма IBM, представившая в 1974 г. алгоритм шифрования, известный под названием DES - Data Encryption Standart (см. прил. 1).
Алгоритм DES обрабатывает 64-битовые блоки данных и использует 56-битовый ключ. Подобно «Люциферу» он реализует преобразование SP-сети. построенной по итеративному принципу, то есть на основе композиции нескольких однотипных преобразований. В дальнейшем итеративный принцип построения SP-сети использовался в подавляющем большинстве разработок СБШ.
Алгоритм был опубликован (беспрецедентный исторический факт для «действующего» шифра!) и явился не только предметом активного изучения со стороны специалистов многих стран, но и мощным импульсом для развития гражданской (невоенной) криптологии. Масштабы использования £>Е5-алгоритма в коммерческом секторе были впечатляющими. Его стали использовать во многих странах мира далеко за пределами США.
Между тем с самого начала DES подвергался критике из-за короткой длины ключа, что повлекло запрет на его использование для защиты государственных секретов США. Последовавшие за опубликованием алгоритма 25 лет показали, что гипотетические методы вскрытия DES, связанные с распараллеливанием перебора ключей, постепенно превращаются в реальность. Да и производительность £>Е5-алгоритма в силу особенностей реализации на современных процессорах отстала от возросших потребностей.
В условиях объективно назревающей потребности в замене действующего стандарта наряду с его критикой криптографы неустанно разрабатывали блочные шифры, достойные заменить DES. К ним относятся как различные схемы усложнения /ЭЕЗ-алгоритма (с независимыми цикловыми ключами, кратного шифрования, с увеличенными размерами блоков и ключей...), так и оригинальные схемы NewDES, FEAL, IDEA (см. прил. 3) и др.
293
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
В 1997 г. NISI* объявил о начале программы по принятию AES (Advanced Encryption Standard) - стандарта XXI в. для криптографической защиты данных. Был проведен трехэтапный международный конкурс с целью разработки отвечающего современным требованиям блочного шифра с высокими эксплуатационными качествами и криптографической стойкостью. Победителем конкурса стал разработанный бельгийцами (авторы - J. Daemen и V. Rijmen) алгоритм RIJNDAEL (см. прил. 4), который и был объявлен новым криптографическим стандартом, вступающим в силу в 2002 г.
17.2.2.	Итеративные блочные шифры
Рассмотрим устройство подстановки Ек итеративного СБШ, удовлетворяющего уравнениям шифрования (17.1).
Пусть <p(x,g) (§(x,q), n(x,q)) - биективное по переменной х отображение V2nxQ-+V2n (V2„x2’-»V2n), где xeV2lt, qeQ (qeQ') и Q (Q') -множество производных ключей, зависящих от ключа к. Для реализации подстановки Ек используются производные ключи qo, qr+\ из Q' nqb...,qr из Q:
qi = Qi(k), i = 0, l,...,r,r+l,	(17.2)
где {0o,0i,...,0„0r+I} - семейство функций, отображающее ключевое множество К в множество Q’x.Q^xQ’.
Обозначим через <р9 (S9, пч) подстановку, реализуемую при фиксированном значении qeQ (qeQ’) отображением q>(x,q) (8(x,q), n(x,q)). Подстановка Ek есть произведение подстановок (преобразования применяются справа налево):
ВД = \+]-К ••••% А Ао	<17-3)
* NIST - National Institute for Standards and Technology (do 1988 г. - NBS, National Bureau of Standards), Национальный институт no стандартам и вычислительной технике, являющийся подразделением Министерства торговли США. По решению Конгресса США NIST отвечает за стандарты, касающиеся ЭВМ и соответствующих систем связи.
294
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
где х - блок открытого текста. Алгоритм расшифрования состоит в реализации подстановки Е*'1 для блока шифртекста у. Из равенства (17.4) получаем, что
еЛ*)=	w (|7Л)
Для итеративного СБШ, определяемого равенствами (17.2) и (17.3), отображение ф(х,<?) называется цикловой функцией, отображение 5(х,<у) - входным отображением, л(х,^) - выходным отображением.
Семейство отображений {9o,9i,...,9„9r+i} называется ключевым расписанием итеративного СБШ, число г - числом циклов шифрования.
Величина q, называется г'-м цикловым ключом алгоритма шифрования, qQ и qr+\- соответственно ключами входного и выходного отображения (последние два ключа отсутствуют, если в блочном шифре входное и выходное отображения есть подстановки, не зависящие от ключа).
Часть алгоритма шифрования (расшифрования), ограниченная применением подстановки ф? (подстановки ф”1), называется z-м циклом шифрования ((r-i+l)-M циклом расшифрования), i = 1,2,...,г. Если ср(х’,д() = у\ то вектор х’ называют входным блоком, а вектор у’ - выходным блоком г-го цикла шифрования.
Итеративный СБШ можно построить таким образом, что обеспечивается его обратимость.
Теорема 17.1. Если при любом qeQ' подстановки 59(х) и л9(х) -взаимно-обратные и при любом qeQ подстановка <р?(х) есть инволюция, то итерационный СБШ обратим и алгоритм расшифрования отличается от алгоритма шифрования использованием цикловых ключей в обратном порядке.
Доказательство. В условиях теоремы имеем, что = 5^ , 5^ = л и ф?(х) = ф9’1(х) при любом qeQ. Поэтому равенство (17.4) приобретает вид:
е.-'от= v-A'-aa,, ,»
Сравнивая это равенство с (17.3), получаем требуемое утверждение. ♦
295
В, М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
17.2.3.	Шифры Фейстеля
Один из первых способов построения цикловой функции (реализованных в DES’-алгоритме) основан на использовании отображения типа регистра сдвига: Конструкция была признана удачной и нашла широкое применение в дальнейших разработках блочных шифров (FEAL, ГОСТ (см. прил. 2), Khufu, Khafre, LOKI, Blowfish,...). Такие шифры названы шифрами Фейстеля в честь одного из разработчиков DES.
Шифр Фейстеля - это итеративный СБШ, цикловая функция ф(х,д) которого оперирует с «половинами» входного блока х (то есть х = (xi^e V/zxVn) и имеет вид
<р((*1 Л),?) ~ (x2,v(x2,^)®xi),	(17.5)
где v|/:Vwx£)—>V„. Функцию ф(х2/у) назовем функцией усложнения шифра Фейстеля. Варианты схемы шифрования Фейстеля отличаются конструкцией функции усложнения ф, входного и выходного отображений и свойствами ключевого расписания. Схема реализации цикловой функции ф(х,#) шифра Фейстеля дана на рис. 17.1.
Рис. 17.1. Схема реализации цикловой функции <p(x,q)
296
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
Из равенства (17.5) следует, что при цикловом ключе qeQ преобразование <р9 есть преобразование регистра сдвига длины 2 над множеством V„c обратной связью \|/(х2,?)®*ь
По теореме 5.5 биективность преобразования cpq равносильна би-ективности функции обратной связи \|/(x2,<?)®xi по переменной хь которая в данном случае обеспечена операцией XOR и независимостью от X] функции \g.
Из той же теоремы следует, что биективность циклового преобразования сохраняется при использовании вместо XOR других функций, биективных по переменной хь
Реализация SP-сети шифра Фейстеля более проста по сравнению с реализацией SP-сети итеративного СБШ общего вида, что видно из сравнения областей определения отображений <р(х,^) и \|/(хг,<7), являющихся основными элементами соответствующих SP-сетей. Однако в SP-сети шифра Фейстеля перемешивание входных блоков происходит медленнее, так как перемешиваются биты лишь одной половины блока, а остальные биты лишь сдвигаются.
Обратимость шифра Фейстеля достигается за счет свойств цикловой функции и перестановки половин выходного блока данных после последнего цикла шифрования.
Теорема 17.2. Если при любом qeQ1
Л?(х) = 5?‘-Г(х), где Т - подстановка левого циклического сдвига координат двоичного вектора, то шифр Фейстеля обратим и алгоритм расшифрования отличается от алгоритма шифрования использованием цикловых ключей в обратном порядке.
Доказательство. В условиях теоремы подстановки Ек и Ек' определяются формулами:
ВД=8;1.,ГФ,/-<Р,2-ф„-\«.	(17.6)
< <	/Т-'-б,,., И. (17.7)
Из равенства (17.5) следует, что при любом qeQ
ф;' = Г-(р(/-Г.	(17.8)
297
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Сделаем в равенстве (17.7) замены в соответствии с (17.8). Учитывая, что Т2" = е, получаем равенство:
£*"ОТ =	-Ф,2А.., W
Сравнивая его с (17.7), получаем, что теорема верна.	♦
17.2.4.	Построение цикловой функции
Цикловые ключи известных блочных шифров являются двоичными векторами, поэтому можно считать, что Q = Vm и рассматривать цикловую функцию СБШ ф(х,<у) как отображение V^+m—>р2л, а функцию усложнения \|/(х2,^) шифра Фейстеля как отображение V„+m->V„.
Исследования блочных шифров привели к выявлению ряда условий, которым удовлетворяет цикловая функция ф(х,<?) (в случае шифра Фейстеля - функция усложнения у(х2,д)) с хорошими криптографическими свойствами. Сочетание нескольких условий достигается за счет того, что эти функции реализуются в виде композиции определенного количества «элементарных» отображений, называемых слоями цикловой функции ф(х,<у). При этом каждый слой обеспечивает некоторые из необходимых свойств, а их композиция в целом обеспечивает все необходимые свойства.
Конструктивные слои цикловой функции (функции усложнения шифра Фейстеля) имеют следующее функциональное назначение:
1)	подмешивание производных ключей;
2)	перемешивание входных блоков;
3)	реализацию сложной нелинейной зависимости между знаками ключа, входного и выходного блоков.
Цикловая функция должна удовлетворять ряду условий.
1.	При любом q<=Q подфункция <р^ цикловой функции ф(Х,<?) должна быть подстановкой, это вытекает из требования обратимости шифрующих преобразований шифра. Если это так, то цикловая функции ф(х,<?) сбалансирована.
Аналогичным свойством должны обладать все слои цикловой функции.
298
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
Функция усложнения \|/(хг,?) шифра Фейстеля и ее слои могут в принципе не удовлетворять этим условиям, так как обратимость циклового преобразования достигается за счет использования операции XOR, что показано выше. Однако криптоаналитические методы определения ключа, использующие хорошие аффинные приближения цикловой функции, стимулируют разработчика выбирать сбалансированные функции усложнения.
2.	Из равенства (17.3) следует, что шифрующее отображение Ек(х~) является аффинным относительно знаков входного блока и цикловых ключей, если аффинны функции 8(x,q), (p(x,g), n(x,q). В этом случае ключ несложно определить по открытому и шифрованному тексту с помощью решения системы линейных уравнений. Поэтому цикловая функция должна быть нелинейной, при этом ее координатные функции не должны допускать хороших аффинных приближений, при наличии которых увеличивается риск определения ключа.
Таким образом, координатные функции отображения <p(x,q) (или \|/(хг,^)) должны иметь высокую нелинейность и корреляционный иммунитет. Эти свойства обеспечиваются в основном за счет конструкции нелинейного слоя замены, хотя нелинейность может быть усилена и при подмешивании ключа (см., например, алгоритм IDEA} за счет использования операций модульного сложения или умножения.
При больших п реализация нелинейной замены упрощается, если нелинейный слой (обозначим это преобразование 5(х(1),..., х(2н)), где (х<‘>,..., x(2"))eV2,i) задать набором нелинейных преобразований, каждое из которых обрабатывает лишь часть входного набора. Если d/2n, то
5(х(1),..„ х<2и)) = (^(х0’,..., х(и)),..., ^(х(2"-“+1),..., х(2">)),
где и = 2n/d, и 5i,..., sj- нелинейные преобразования множества У2лМ, получившие название 5-боксов (другой вариант - 5-блоки - представляется менее удачным, так как порождает некоторую путаницу с блоками информации, обрабатываемыми шифром).
Число d используемых в нелинейном слое 5-боксов выбирается как компромисс между сложностью реализации нелинейного слоя и криптографическими качествами 5-боксов.
Возможны варианты при построении 5-боксов. Например, в каждом цикле ZZES’-алгоритма размер блока данных сначала увеличива
299
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
ется с 32 до 48 бит, что позволяет подмешивать 48 бит циклового ключа, а затем с помощью нелинейных 5-боксов обратно уменьшается до 32 бит.
3.	Перемешивающие слои цикловой функции должны реализовать связи между входными и выходными битами 5-боксов таким образом, чтобы:
а)	каждый 5-бокс удовлетворял критериям типа лавинного эффекта или критериям распространения и, значит, был совершенным преобразованием входных наборов;
б)	на следующем цикле совокупность входных битов каждого 5-бокса зависела от выходов нескольких 5-боксов предыдущего цикла.
Если первое условие выполнено (что достигается определенной конструкцией 5-боксов), то изменение одного бита входного набора любого 5-бокса приводит к изменению нескольких (в среднем не менее двух) бит его выхода.
Второе условие выполняется с помощью слоя, переставляющего координаты промежуточных блоков, в простейшем случае координаты циклически сдвигаются.
Выполнение обоих условий позволяет при некотором 5 достичь положительных криптографических свойств отображения <р(5) = q>q,..., cp?i, реализуемого после 5 итераций циклового отображения: ф(Л) удовлетворяет критериям типа лавинного эффекта или критериям распространения, в частности является совершенным. Следовательно, шифрующее отображение r-циклового СБШ при r>s обладает теми же положительными криптографическими свойствами, в частности каждый бит шифртекста существенно зависит от всех знаков ключа и открытого текста. Это свойство затрудняет определение ключа по открытому и шифрованному тексту методами типа «разделяй и вскрывай», в том числе и по специально подобранным блокам открытого текста.
Например, в 16-цикловом DES'-алгоритме совершенным является преобразование после пяти циклов, в 32-цикловом алгоритме ГОСТ -после трех циклов.
4. К одним из наиболее эффективных методов криптографического анализа СБШ относятся метод дифференциального криптоанализа
300
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
и метод линейного криптоанализа, активно развиваемые в последние полтора десятка лет.
Суть метода дифференциального криптоанализа заключается в поиске и использовании для определения части цикловых ключей корреляции между разностью (ХО7?-суммой) открытых текстов и разностью соответствующих шифрованных текстов.
Метод линейного криптоанализа состоит в выявлении линейных соотношений между знаками ключа, открытого и шифрованного текстов, которые для случайно выбранных пар соответствующих блоков выполняются с вероятностью больше 1/г. Если такие соотношения найдены, то они могут использоваться для отбраковки ложных значений ключа СБШ статистическими методами.
В связи с этим важно, чтобы цикловая функция обладала свойствами, затрудняющими применение указанных методов. То есть хорошая цикловая функция для случайно выбранных пар входных и выходных блоков:
•	имеет минимальную корреляцию между разностью открытых текстов и разностью соответствующих шифрованных текстов;
•	характеризуется незначительным отклонением от Vi вероятности выполнения каждого нетривиального линейного соотношения между знаками ключа, открытого и шифрованного текстов.
Для противодействия методу дифференциального криптоанализа и методу линейного криптоанализа важны свойства всех слоев цикловой функции.
17.2.5	. Входное и выходное отображения
Функциональное назначение входного и выходного отображений - это, как правило, обеспечение обратимости шифра и усложнение шифрующей подстановки. В некоторых первоначальных разработках итеративных блочных шифров отображения 8(х,<у) и n(x,q) не зависят от ключа и даже являются тождественной подстановкой е на множестве Уы, то есть практически в композиции Ek не используются.
301
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Например, в DES-алгоритме * входное отображение - это входная подстановка 6, не зависящая от ключа, как и выходное отображение л, где п = S’1-!".
В алгоритме NewDES обе подстановки равны е. В алгоритме ГОСТ подстановка 3 = е, подстановка л = Г.
Вообще ключи входного и выходного отображений блочных шифров являются двоичными векторами, нередко Q = Vzn, то есть 8(x,q) и n(x,g) можно рассматривать как отображение Удл—>Vzn-
Чтобы затруднить применение к итеративным СБШ методов дифференциального и линейного криптоанализа, в качестве входного и выходного отображений используются соответственно операции XOR(x,qo) и XOR(x’,qr+i), где х - блок открытого текста, х’ - блок данных после r-го цикла шифрования. Эти операции получили название отбеливания (whitening). Использующий эти операции итеративный блочный шифр называют шифром с отбеливанием, а ключи q0 и qr+l - ключами отбеливания.
Усложнение обратимого итеративного шифра с помощью операций отбеливания не нарушает его обратимости, так как в этом случае для любого qeQ’
8/х) = 3/(х) = x®q = пч(х) = пд'\х).
Отбеливание улучшает криптографические свойства шифра, так как криптоанализ шифра с отбеливанием равносилен криптоанализу шифра без отбеливания, у которого входной и выходной блоки неизвестны и равны соответственно хФ<?о и y®qr+i. Реализация шифра с отбеливанием усложняется незначительно.
17.2.6	. Построение ключевого расписания
Неудачно построенное ключевое расписание блочного шифра может заметно ослабить криптографические свойства алгоритма шифрования. Рассмотрим пример.
Будем говорить, что J-й бит ключа k используется в /-м цикле шифрования, если этот бит является существенной переменной отображения 0/, /е{ 1,2,...,г}.
' Использовано описание криптосхем шифров, данное в [38].
302
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
Если половина битов ключа к используется только в первых I циклах шифрования, а остальные биты используются только в последних г-1 циклах шифрования, то для определения ключа к по блокам х и у открытого и шифрованного текстов можно применить метод «встречи посередине», иначе называемый методом согласования.
Суть метода состоит в том, что каждый вариант набора одной половины битов ключа используется для реализации первых I циклов шифрования блока х и заносится в память по адресу, равному значению промежуточного блока после I циклов. Каждый вариант набора другой половины битов используется для реализации первых г-1 циклов расшифрования блока у, после чего два набора из половин ключевых битов стыкуются, если совпали промежуточные блоки, полученные в результате усеченных процедур шифрования и расшифрования.
При использовании памяти порядка -с бит (с - константа) метод согласования сокращает трудоемкость определения ключа по сравнению с полным перебором приблизительно в у]\К\ раз. В связи с этим стойкость двойного шифрования с независимыми ключами равна стойкости однократного шифрования, если игнорировать проблемы, связанные с необходимой памятью. Именно поэтому двойное шифрование с использованием DES-алгоритма с независимыми ключами считается нецелесообразным.
Таким образом, одним из необходимых условий для ключевого расписания является существенная зависимость от каждого бита ключа к нескольких (не менее двух) цикловых ключей. Более того, при любом «рассечении» алгоритма шифрования на Z и г-1 циклов, 1е{ 1,2,...,г-1}, совокупность цикловых ключей хотя бы одной из «отсеченных» частей алгоритма должна быть функцией от всех битов ключа к.
Немаловажен также и выбор числа г циклов шифрования. При грамотно построенной цикловой функции эффективность методов дифференциального и линейного криптоанализа уменьшается с увеличением числа г циклов шифрования. Исходя из этого, выбирается
303
В. М. Фомичее. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
значение г, являющееся компромиссом между криптографической стойкостью шифра и скоростью шифрования.
Трудоемкость вычисления цикловых ключей (а также ключей q0 и qr+i) не слишком важна при шифровании и расшифровании, так как все производные ключи вычисляются по ключу к однократно и затем записываются в память, после чего их можно использовать многократно в ходе обработки всего сообщения (файла).
Напротив, трудоемкость вычисления производных ключей важна при реализации алгоритма дешифрования, связанного с перебором ключей шифра и вытекающим из него многократным вычислением производных ключей.
17.3.	Слабые ключи итеративного шифра
Понятие слабого ключа, впервые введенное в ходе криптографического анализа DES-алгоритма, связано со свойствами ключевого расписания и естественным образом обобщается на итеративные СБШ.
Криптографические свойства шифрующей подстановки Ек итеративного СБШ тем выше, чем лучше она имитирует случайную подстановку. Поэтому считается, что набор цикловых ключей q\,...,qr должен имитировать случайную выборку из множества Q. Учитывая, что г много меньше, чем |б|, отсюда получаем, что цикловые ключи q\,...,qr должны быть, как правило, попарно различны. С этим свойством связано понятие слабого ключа.
Ключ к итеративного r-циклового СБШ назовем ц-слабым, если соответствующий набор цикловых ключей q\,...,qr содержит ц различных элементов, 1 <ц<г. Слабым ключом называется 1-слабый ключ.
Следующая теорема и ее следствие показывают, насколько опасным может быть использование слабого ключа.
Теорема 17.3. Пусть к - слабый ключ итеративного г-циклового СБШ и d<r, где d - порядок подстановки <р(/. Тогда данный СБШ при ключе к является т-цикловым, где т - остаток от деления г на d.
304
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
Доказательство. При слабом ключе к, порождающем г цикловых ключей, равных q, подстановка Ek итеративного СБШ согласно равенству (17.3) имеет вид:
£а(л) = л_г+1 -(ср/- 5?о (х).
Так как = е и г = d-m+x, то (ф7)' = (ф(/)т. Отсюда и из последнего равенства получаем, что Ек реализует т-цикловой итеративный СБШ.	♦
Следствие. Если в условиях теоремы 17.3 dlr и подстановки 3^ и л? f - взаимно-обратные, то шифрующая подстановка Ек является тождественной.
Заметим, что в шифрах с отбеливанием подстановки 5 и nq -взаимно-обратные, если до = qr+\.
Теорема 17.4. Пусть к - слабый ключ 2г-циклового шифра Фей-стеля, qo = qr+\ и тс =	Тогда шифрующая подстановка Ек
есть инволюция, имеющая 2" неподвижных элементов.
Доказательство. Из доказательства теоремы 17.2 следует, что при слабом ключе к подстановки Ек и Ек' отличаются лишь взаимнообратным порядком использования производных ключей. Пусть слабый ключ к порождает 2г цикловых ключей, равных q, тогда при qo = = qr+i из (17.6) имеем для всех хе Vj,/
Ек(х) =	•Г-(ф?)2г- 39о (х) = Ек\х).	(17.9)
Значит, повторное шифрование на ключе к равносильно расшифрованию. Следовательно, Ек - инволюция.
Посчитаем число единичных циклов в Ек. Пусть 5 (аьяг) = (xi,x2), где а\,а2,х\,хг& V,,. Из (17.9) следует, что (аьп2) -неподвижный элемент подстановки Ек тогда и только тогда, когда (Х1,Хг) - неподвижный элемент подстановки ^-(ф,)2', или, что равносильно,
Д!-(ф(/)г(Х1,х2) = (ф^ДхьХг).
305
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Используя (17.8), отсюда получаем:
(<рг/)г(Х1 ,х2) = ((р9)г-7"(Х1Л2).	(17.10)
Следовательно, число единичных циклов в Ек равно числу блоков (*1,Х2)? удовлетворяющих (17.10). Так как (q^)r - подстановка, то это условие равносильно тому, что (хь%2) = ТХх^хг) = fexj) или условию xj = Х2. Число блоков с одинаковыми половинами равно 2".	♦
Несложно посчитать число слабых ключей для таких шифров, как DESK ГОСТ.
Алгоритм генерации цикловых ключей DES-алгоритма заключается в считывании значений 24 координат каждого из двух 28-битовых регистров, заполнения которых циклически сдвигаются на 1-2 шага. Отсюда выводится, что все цикловые ключи одинаковы, если исходное заполнение каждого из двух регистров при сдвигах не изменяется, то есть состоит сплошь из единиц или сплошь из нулей. Следовательно, в ключевом множестве DES-алгоритма имеется 4 различных слабых ключа.
Установлено, что в ключевом множестве DES-алгоритма имеются и 2'”-слабые ключи, m = 1,2,3. В частности, имеется 12 различных 2-слабых ключей (обычно их называют полуслабыми), составляющих 6 пар ключей, при которых шифр реализует 6 пар взаимнообратных подстановок.
Число слабых ключей ГОСТа равно числу двоичных матриц размера 8x32 с одинаковыми строками, то есть 232.
Свойства слабых ключей не удалось использовать для снижения оценки стойкости DES-алгоритма и ГОСТа, так как крайне мала доля слабых ключей и мала вероятность того, что при шифровании на слабом ключе используется единичный цикл шифрующей подстановки.
17.4.	Режимы шифрования
Режимами шифрования называют различные алгоритмы обработ-ки данных, построенные на основе базового режима ЕСВ. Криптографическая стойкость этих алгоритмов определяется в основном стойкостью базового режима. Однако особенности различных режи
306
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
мов шифрования позволяют использовать блочный шифр для решения различных криптографических задач.
17.4.1.	ЕСВ (простая замена)
В режиме простой замены ключу к соответствует подстановка Ек степени 22", в соответствии с которой каждый блок открытого текста заменяется блоком шифрованного текста. Поэтому режим ЕСВ имеет следующие особенности:
1.	Замены и перестановки отдельных блоков в шифртексте не нарушают корректности расшифрования.
2.	Шифрование на одном ключе одинаковых блоков открытого текста дает одинаковые блоки шифртекста.
3.	В силу хорошего перемешивания информации шифрующими подстановками, что является общим свойством блочных шифров, каждый из 2л бит выходного блока у может быть искажен с вероятностью Уг при искажении одного лишь случайно выбранного бита входного блока х. Единичная ошибка в блоке х порождает в среднем л ошибок внутри шифрблока у. На следующие шифрблоки ошибка не распространяется.
При искажении битов выходного блокад соответствующий блок х расшифруется некорректно, а остальные блоки расшифруются верно. Но если бит шифртекста случайно потерян или добавлен, то в силу произошедшего сдвига весь последующий текст расшифруется некорректно. Для локализации последствий сдвига следует предусмотреть средство контроля границ блоков.
Первые две особенности позволяют активному противнику, контролирующему линию связи, защищаемую шифром в режиме ЕСВ, наблюдать частоты появления отдельных блоков и сообщений. В определенных условиях он может генерировать ложные сообщения, не зная ни ключа, ни алгоритма шифрования, даже если сообщения содержат метки времени [38]. В силу этих серьезных недостатков режим ЕСВ не используется для шифрования длинных сообщений. , В этом режиме шифруются лишь короткие сообщения вспомогательного характера: пароли, сеансовые ключи и т. п.
Большинство сообщений имеет длину, не кратную 2п. Поэтому при шифровании последнего неполного блока информации возни
307
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
кает задача корректного определения алгоритма шифрования. Эта проблема решается с помощью различных способов дополнения блоков.
Простейший способ заключается в дополнении неполного т-битового (ти-байтового) блока открытого текста строкой длины 2n-m-8 бит ((2n/8)-w-l байт) определенного вида, например нулевой строкой, и байтом, в котором указано число 2п-т (2п/8-т), равное дефициту последнего блока в битах (байтах). После этого дополненный блок шифруется обычным образом. Если 2п-т<8, то длину сообщения придется увеличить на один блок.
Второй способ называется похищением шифртекста. Обозначим через vm и wm отображения Vr—>Vm, где \<т<г и для любого (xi,x2,...,xr)eVr:
vm(xitx2,...,xr) = (х1,Х2,...,Хт), wm(x\,x2,...,Xr) = (xi+m,x2+m,...,xr).
Пусть xt и yt есть неполные m-битовые блоки открытого и шифрованного текстов, xt.i и ум есть предыдущие полные блоки открытого и шифрованного текстов. Тогда алгоритм шифрования используется следующим образом:
У,.Л«, ум =E*(x„wm(£t(xM)).
При расшифровании сначала вычисляется блок со = после чего определяется х, = v'"(co) и хм = E^1(y/,wm(co)).
17.4.2.	СВС (сцепление блоков шифртекста)
Блочные шифры в режиме СВС описываются уравнениями шифрования
у, = £А(х,Фум),/=1,2,...,	(17.11)
где уо - случайный вектор из Vz,,, называемый вектором инициализации (начальным вектором, синхропосылкой) и вырабатываемый перед каждым сообщением.
На рис. 17.2 дана блок-схема зашифрования (в верхней части) и расшифрования (в нижней части) в режиме СВС.
308
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
Рис. 17.2. Схема зашифрования-расшифрования в режиме СВС
Начальный вектор может передаваться в линию связи как в открытом, так и в шифрованном виде (в частности, с помощью режима ЕСВ). Однако важно избегать повторения синхропосылки в разных сообщениях, шифруемых одинаковым ключом. Это затрудняет атаку на шифртекст, основанную на наличии стандартов в начале сообщения. В качестве синхропосылки используется некоторая строка случайных байтов либо метка времени.
Искажение одного бита в блоке xt влечет искажение в среднем половины битов во всех блоках шифртекста, начиная с у,. Для расшифрования это несущественно, так как восстановленный текст содержит ту же единственную ошибку.
Искажение z-го бита в блоке у, (такие искажения возможны из-за шумов в линиях связи или сбоев в устройствах хранения) влечет искажение около половины битов в блоке xt и /-го бита в блоке x,+i. Следующие блоки, расшифровываются корректно (самовосстанавли-ваются). В то же время режим СВС совершенно неустойчив к ошибкам синхронизации.
309
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Дополнение блоков можно выполнять как в режиме ЕСВ, а если требуется совпадение длин исходного сообщения и криптограммы, то используются следующие способы.
При неполном m-битовом блоке xt открытого текста соответствующий блок yt шифртекста вычисляется так:
у, = х,®гт(£*Ом)).
Второй способ - это вариант похищения шифртекста. Пусть а есть (2и-т)-битовая строка из нулей и о = Е^х^Фу,^). Тогда шифрование происходит следующим образом:
у,=vm(co), у,.! = ЕД(х(,а)Ф®).
При расшифровании сначала вычисляется блок данных <в‘ = Ek'l(ytA)®(yt,a), после чего определяется
Xt = vm(<o’), хм = Et'l(y„wm(®’))®yt-2-
17.4.3.	CFB (обратная связь по шифртексту или гаммирование с обратной связью)
В некоторых практических ситуациях требуется шифровать символы поступающего потока, не дожидаясь, когда сформируется целый блок данных. В таких случаях удобен режим CFB, в котором блоки открытого и шифрованного текста имеют длину т бит, где т -параметр режима, 1<т<2л. Обозначим такой режим шифрования CFB-m. В связи с байтовым представлением информации параметр т выбирается, как правило, равным восьми.
Блочный шифр в режиме CFB-m моделируется м.ш.а.
= (X,S,Y,K,z,h,fm), где X = Y = Vm, S = Vi,,, z = st- не зависящая от ключа к синхропосылка, а функции fmvth имеют вид
Л,(5ДЛ) = у, = vm(Ek(St))®Xt,	(17.12)
h(st,koct) = s,+1 = (w'Xstlyt), t = 1,2,...	(17.13)
На рис. 17.3 показана схема зашифрования (в левой части) и расшифрования (в правой части) в режиме CFB-m.
310
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
Рис. 17.3. Схема зашифрования-расшифрования в режиме CFB-m
В обеих процедурах базовый режим используется только для шифрования (реализация подстановки £/' не требуется).
Как и в режиме СВС, синхропосылка может передаваться в линию связи в открытом виде. Однако необходимо исключить повторение синхропосылки в различных сообщениях, шифруемых одинаковым ключом.
Искажение одного бита в блоке х, влечет искажение одного бита в yt и в среднем половины битов во всех блоках шифртекста, начиная с у,+1, но при расшифровании получается открытый текст с той же единственной ошибкой.
Искажение z-ro бита в блоке у, влечет искажение z-ro бита в блоке х,. Затем ошибка поступает в регистр состояний и искажает в среднем половину битов в каждом из следующих I блоков, где [2п/т]<1<]2п/т[. В дальнейшем блоки расшифровываются корректно.
Режим CFB, как и ССПШ, самостоятельно восстанавливается после ошибок синхронизации.
17.4.4.	OF В (обратная связь по выходу, гаммирование или внутренняя обратная связь)
Блочный шифр в режиме гаммирования можно рассматривать как синхронный шифр гаммирования, обрабатывающий m-битовые блоки открытого и шифрованного текста (обозначим такой режим OFB-zrz). Этот шифр моделируется м.ш.а. = (X,S,Y,K,z,h,fm\ где X = Y = V„„ S = VS„, z = 5i - не зависящая от ключа k синхропосылка,
311
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
функция выходов задана равенством (17.12), а функция переходов не зависит от входа и имеет вид:
h(s„k) = 5,+1 = (wn,(st),Vm(Ek(st))), 1=1,2,...	(17.14)
На рис. 17.4 показана схема зашифрования (в левой части) и расшифрования (в правой части) в режиме OFB-m. В обеих процедурах базовый режим используется только для шифрования.
Рис. 17.4. Схема зашифрования-расшифрования в режиме OFB-m
Синхропосылка может передаваться в линию связи в открытом виде, но необходимо исключить повторение синхропосылки в разных сообщениях, шифруемых одинаковым ключом.
При использовании режима OFB чрезвычайно важно сохранять синхронизм. Для этого необходимо предусмотреть средство контроля над синхронизмом и средство восстановления синхронизма в случае его потери.
В режиме OFB ошибки не распространяются, что является позитивным при передаче оцифрованных речевых сигналов или видеоизображений.
Использование некоторых СБШ в режиме OFB ограничено из-за относительно коротких периодов генерируемой гаммы. Например, в DES-алгоритме период гаммы с большой вероятностью не превосходит 232.
7 7.4.5. Другие режимы шифрования
Разработка других режимов шифрования стимулировалась стремлением устранить некоторые недостатки четырех основных режимов.
312
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
ВС - сцепление блоков. Этот режим задается следующими равенствами:
yt = Ek(xt®yt.]®... ®у!®у0), t = 1,2,...,
где у0 - синхропосылка. Основной недостаток режима ВС заключается в том, что при расшифровании единичная ошибка в шифртексте влечет некорректное расшифрование всех последующих блоков шифртекста.
РСВС - сцепление блоков шифртекста с распространением ошибки. Режим задается следующими равенствами:
у, = Ek(xt®yt.\®Xt.\}, Г = 1,2,..
Этот режим используется в протоколе Kerberos 4 для выполнения за один проход и шифрования и проверки целостности. В режиме РСВС единичная ошибка в шифртексте влечет некорректное расшифрование всех последующих блоков шифртекста, что используется для проверки целостности сообщений. Однако если проверка целостности охватывает лишь завершающий отрезок текста, то могут остаться незамеченными перестановки пары шифрблоков в начале текста. Это подозрительное свойство заставило разработчиков отказаться от данного режима в пользу СВС в следующей версии протокола Kerberos.
OFBNLF - нелинейная обратная связь по выходу. Этот режим наследует некоторые свойства режимов OFB и ЕСВ. Функционирование в режиме OFBNLF моделируется мультиключевым ш.а., ключ изменяется в каждом блоке:
y,= Etf(xf); =	t =1,2,...
Единичная ошибка в шифртексте распространяется только на один блок открытого текста, однако требуется поддержка синхронизма.
Скорость обработки информации определяется не только скоростью шифрования базовым алгоритмом, но и скоростью обновления текущего значения ключа.
313
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
17.4.6. Чередование
В некоторых случаях возникает потребность ускорить шифрование потока данных в несколько раз. Этого можно достичь, если распараллелить поток данных и использовать несколько процессоров. Непосредственно так можно сделать только в режиме ЕСВ, другие режимы надо несколько видоизменить, используя прием чередования.
Рассмотрим суть чередования в таких режимах, как СВС, CFB, OFB. При необходимости ускорить шифрование приблизительно в т раз последовательность Х^ = {xi,X2,...,xt,...} блоков открытого текста разбивается на т подпоследовательностей Х^2, , Х^, где для i =
X—>,i = {Xi^i+m,...	... }.
После этого каждая из т подпоследовательностей шифруется на ключе к с использованием уникального вектора инициализации.
17.5.	Усложнение симметричных блочных шифров
Криптоаналитикам не удалось разработать практически приемлемый метод дешифрования DES-алгоритма, который был бы лучше метода полного перебора ключей. Вместе с тем короткая длина ключа DES-алгоритма не позволяла рассматривать его как надежное средство защиты информации. Это стимулировало криптографов заняться построением блочного шифра с длинным ключом, использующего в качестве базового элемента DES-алгоритм.
Один из методов - многократное шифрование с использованием базового алгоритма. Этот метод применим к любому СБШ, однако применение его приводит к уменьшению скорости шифрования (либо требуется больше аппаратуры) в соответствующее число раз. Кроме того, важно, чтобы множество шифрующих подстановок не являлось группой (для DES это доказано), иначе кратное шифрование сводится к однократному.
Простейшая схема кратного шифрования - это двойное шифрование с помощью двух шифрующих подстановок с независимыми ключами :
314
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
_у,=	(xf)), t =1,2,...
Эта схема была отвергнута сразу в связи с тем, что ключи можно определить по открытому и шифрованному тексту методом согласования. Трудоемкость метода порядка |Е| (что соответствует трудоемкости полного перебора ключей базового алгоритма), при этом необходима память порядка |А].
Другой способ двойного шифрования, называемый методом Дэвиса - Прайса, построен на идеях режима шифрования СВС:
У, = Ек2 (хгФ Et] (Ум)), t = 1,2,...
Метод «встречи посередине» позволяет определить ключи и в этом случае, характеристики сложности метода примерно такие же.
Более стойкие схемы используют тройное шифрование. Схему тройного шифрования Тачмена с парой независимых ключей к\ и кг называют режимом EDE (зашифрование-расшифрование-зашифро-вание):
У/ = Ек^ (Е^ (Ек^ (х,)), t = 1,2,...
При одинаковых ключах эта схема равносильна однократному шифрованию, что позволяет совместно использовать эти схемы в общей сети. Несмотря на чередование ключей, исключающее стандартный метод согласования, Меркл и Хеллман разработали оригинальный вариант метода согласования памяти и времени [27], требующий выполнения порядка |Я| операций при наличии памяти порядка |Л] и некоторого количества подобранных блоков открытого текста.
Наиболее надежной схемой тройного шифрования является схема с тремя независимыми ключами:
у,= Е,з(^(^. (х,)), /=1,2,...
Метод согласования времени и памяти для этой схемы имеет трудоемкость порядка |Л]2 и требует памяти порядка |Е|.
Имеется схема тройного шифрования с минимальным ключом - ТЕМК, в которой тройное шифрование используется двояко:
315
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
как схема шифрования данных и как функция инициализации, вычисляющая по двум независимым ключам к\ и кг три производных ключа шифрования q\, qz и q?;.
qi= Eki(E-\(Eki(xd), / = 1,2,3,
где хь хг, хз - несекретные блоки. Ключи ki и кг определяются полным перебором. То есть трудоемкость вскрытия схемы имеет порядок |/С|2, память не требуется.
Рассмотренные схемы кратного шифрования могут сочетаться с различными режимами шифрования.
К другим способам кратного шифрования относится схема двойного гаммирования с уравнениями шифрования
у, = х,Фу,(1)Фу/2), 1 = 1,2,...,
где гаммы {у,(1)} и {у/2)} генерируются с использованием независимых ключей ki и кг аналогичным образом:
у/0-. Et.(YM('W0), /’=1,2,
и %(/) есть 2и-битовый вектор, совпадающий с двоичным представлением числа t.
Имеются также схемы кратного шифрования, связанные с увеличением размеров используемых ключей и обрабатываемых блоков, и схемы, объединяющие применение нескольких базовых алгоритмов.
17.6.	Задачи и упражнения
17.1.	Пусть <р9 - подстановка, реализуемая цикловой функцией шифра Фейстеля при цикловом ключе q. Докажите, что:
а)	подстановки Т', Т'-уч и <р9-Т" являются инволюциями;
б)	подстановки ср? и (ср,)'1 подобны.
17.2.	Сравнивая режимы шифрования ЕСВ и СВС, докажите, что отношение эквивалентности ключей блочного шифра не зависит от режима шифрования.
316
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ
17.3.	В каких режимах шифрования биективность всех шифрующих отображений базового режима необязательна для однозначного расшифрования криптограмм?
17.4.	Какими недостатками характеризуется СБШ с ключом длиной 128 бит, оперирующим блоками размера 16 бит? Рассмотрите режимы ЕСВ и OFB.
17.5.	Сравните корреляционный иммунитет шифрующих отображений СБШ с «отбеливанием» и без «отбеливания».
17.6.	Имеются ли эквивалентные ключи у r-циклового СБШ, ключевое расписание которого задано линейным отображением V„—>Vm.r ранга J? Если таковые имеются, то сколько эквивалентных ключей содержится в одном классе?
17.7.	Пусть ключевое расписание итеративного r-циклового СБШ, у которого входное и выходное отображения не зависят от ключа, задано сбалансированным отображением V„—
1)	Каково число слабых ключей такого СБШ?
2)	Каково число 2-слабых ключей такого СБШ?
3)	Какова сложность определения ключа методом согласования?
17.8.	Сколько 64-битовых блоков открытого текста искажается при расшифровании криптограммы СБШ, если в шифрованном тексте исказился 1 бит и используется режим CFB-15; CFB-8?
17.9.	Итеративный r-цикловой СБШ с отбеливанием построен на основе цикловой функции <р(х,?). При каких значениях г шифрующая подстановка, соответствующая слабому ключу, является аффинной?
317
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
Криптографические генераторы (к.г.) используются для выработки ключей и управляющих последовательностей поточных шифров. Качество к.г. Ар = (S,Y,K,z,g,h,f) определяется криптографическими свойствами его выходных последовательностей. Познакомимся с основными приемами построения криптосхем генераторов.
18.1.	Элементная база криптосхем
Базовым элементом криптосхем многих генераторов является ЛРС максимального периода, выходная последовательность которого (ЛРП) имеет большой период и хорошие статистические свойства. С другой стороны, ЛРП не обладает нелинейными свойствами (в частности, имеет небольшой линейный размах), что не позволяет рассматривать ЛРС как законченную схему качественного к.г. Поэтому использование ЛРС сочетается с различными функциональными схемами и элементами памяти. Назначение последних - привнести е криптосхему определенные нелинейные свойства, не теряя при этом положительные свойства ЛРП. Гамму такого генератора можно рассматривать как определенное усложнение ЛРП.
Достоинство ЛКГ состоит в высокой скорости вычисления последовательностей, достигаемой на современных вычислительных сред-| ствах. Но при построении шифров они не нашли самостоятельного применения в силу своей «предсказуемости», то есть в силу простоты восстановления всех параметров ЛКГ по нескольким членам последовательности, даже если они известны не полностью.
Такие же достоинства и недостатки присущи в определенной мере и полиномиальным конгруэнтным генераторам.
ЯИ/ЮМ1И0И
318
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
18.2.	Фильтрующие генераторы
Один из простейших способов усложнения последовательности над конечным множеством X заключается в отображении ее и-1-рамм с помощью функции от п переменных в другую последовательность.
Фильтрующей схемой над X с фильтром (фильтрующей функцией) f(x],X2,...,x„) (обозначение - ф.с. /(хьХ2,...,х„)) назовем автомат Мура А = (X,X',X,h,f), где для всякого s = (si,S2,...,sn)eX"
h(s,x) = (.У2, • • • ,sn,x).	(18.1)
С помощью ф.с.ДхьХ2,...,Х/|) последовательность {x,} отображается в последовательность (Дх,,Xi,х„+,)), i = 1,2,...
Пусть Р - конечное поле. Фильтрующим генератором (ф.г.) над полем Р называется автономный автомат Афг = (P'.P.h.f), где h - преобразование ЛРС длины п над полем Р. Выходную гамму ф.г. можно рассматривать как результат отображения ф.с. Дх1,х2,...,х„), примененного к ЛРП порядка п. Криптосхема ф.г. изображена на рис. 18.1.
Рис. 18.1. Фильтрующий генератор
Уравнения гаммообразования ф.г. имеют вид:
У^ЛЛ'Чх)), (= 1,2,...,	(18.2)
где х - начальное состояние ЛРС.
Ф.г. называется нелинейным, если нелинейна его функция выходов /(хьЛ'2г”-Л'л). Ключевыми элементами ф.г. могут быть начальное состояние ЛРС, его характеристический многочлен, а также функция /(Х1,Х2,...,Х„).
319
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Ф.г. имеет наилучшие характеристики тогда, когда используется ЛРС максимального периода и сбалансированная функция fixltX2,..., х„). Это гарантирует период гаммы, равный к”-], где к - порядок поля Р.
Нелинейные свойства гаммы обеспечиваются выбором нелинейной функции Дх1,Х2,...,х„). Обозначим через d степень нелинейности функции/(Х1,Х2,...,х„). Из теоремы 7.1 следует, что линейная сложность А(у) гаммы ф.г. не больше, чем число различных конъюнкций от п переменных ранга от 0 до d. При подсчете этого числа надо учесть, что каждая переменная входит в конъюнкции как сомножитель в степени не больше г, где г = min(d,k-l). В двоичном (к = 2) случае A.(y)<s(n,d), где
5(n,J) = i=0 ' !
Получение нижних оценок - более сложная и важная для криптологии задача, требующая учета более глубоких свойств функции Дх],Х2,Например, для определенных булевых бент-функций в [20] доказано, что при и, кратных 4,
лМ>("^)-2-
Результаты работ [3, 34] позволили вывести нижнюю оценку в случае ЛРС максимального периода и частного класса фильтрующих булевых функций. Пусть однородный многочленах!,...^) степени J, являющийся частью многочлена Жегалкина функции Дхь...,х„), имеет вид:
/(хь... д„) = £ © ау • Xj  xj+r •...• xj4d^.r,
>1
п
где(г,2"-1) = 1 hN =
, тогда выполнено неравенство
А(у)> I” HV+1.
320
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
Таким образом, для получения гаммы ф.г. с высокой линейной сложностью необходимо использовать функцию f(xi,X2,...,x„) достаточно большой степени нелинейности.
В [34] показано, что доля фильтрующих генераторов, построенных на базе ЛРС максимального периода простой длины п, у которых линейная сложность А(у) достигает наибольшего значения s(n,d), стремится к единице.
18.3.	Комбинирующие генераторы
Рассмотрим комбинирующий генератор (комб.г.) над полем Р, который является усложнением фильтрующего генератора. Комб.г. построен на основе т ЛРС над полем Р (обозначим их ЛРС-1,...,ЛРС-те) и функции f(xi,...,xm), называемой комбинирующей функцией, т>1, на вход которой поступают знаки ЛРП, вырабатываемые линейными регистрами. Комб.г. изображен на рис. 18.2, где через п? обозначена длина ЛРС-j, j =	Обозначим
п = ni+...+пщ и без ущерба для общности положим, что щ<п2<...<пт.
Рис. 18.2. Комбинирующий генератор
Уравнения гаммообразования комб.г. имеют вид:
У,=Лу(Ф1'Ч(л(1))),...,г(ф/1(/я,)))), /= 1,2,...,	(18.3)
321
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
где xlJ) - начальное состояние ЛРС-j, - преобразование множества состояний ЛРС-;,; = 1,2,и для любого вектора х = (xi,...,x.v)e7’('5) определим, что v(x) = xj. Функция в правой части равенства (18.3) (обозначим ее через \|/,(х(1’,...,х(т))) является i-й выходной функцией данного комб. г., i = 1,2,...
Комб.г. называется нелинейным, если нелинейна функция fixi,X2,...,xm'). Ключевыми элементами комб.г. могут быть начальные состояния всех ЛРС, их характеристические многочлены, а также функция Лх1,х2,...,хт).
Начальные состояния всех ЛРС составляют начальное состояние генератора. Если начальное состояние каждой ЛРС отлично от нулевого, то соответствующее начальное состояние генератора назовем неособенным.
Оценим линейную сложность гаммы генератора. Каждому каноническому полиному fixi,X2,...,xm) над конечным полем Р поставим в соответствие полином/z(*i,*2,•••Л) над кольцом целых чисел Z, полученный изДх1,Х2,...,хт) заменой всех ненулевых коэффициентов на 1 и заменой операций в поле Р операциями в кольце Z.
Теорема 18.1. Если/(х1,х2,...,хот) - канонический полином комбинирующей функции, то при любом начальном состоянии комб.г. линейная сложность А(у) гаммы не превышает/г(п\,пъ...,пт).
Доказательство. По теореме 7.1 А(у) есть размерность пространства F, порожденного множеством всех выходных функций комб.г. Оценим для пространства F мощность базиса, составленного из конъюнкций переменных (ведь все выходные функции имеют полиномиальное представление).
Из (18.3) следует, что /-я выходная функция имеет вид:
У|/;(х(1)„.. д(и,)) =Л/1(0(х(1)) 1т(\х(т)У),	(18.4)
где /1<,)(х(1)),...,/т(,)(х('")) есть линейные функции от непересекающихся наборов х(1),...,х(т) независимых переменных и |xw| = и,,; = 1,2,...т. Поэтому после приведения полинома i-й выходной функции к каноническому виду получаем сумму не бол ее f£n\, ...,п1П) конъюнкций. Следовательно, число различных конъюнкций, линейная комбинация которых совпадает с i-й выходной функцией, не больше чем/г(И1,«2.
322
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
Заметим, что проведенные рассуждения не зависели от начального состояния комб.г. и номера i.	♦
Для обеспечения наилучших криптографических свойств комб.г. необходимо, чтобы комбинирующая функция	зависела су-
щественно от т переменных и использовались неособенные начальные состояния, иначе данный комб.г. вырождается в комб.г. с меньшим числом ЛРС. Считаем, что далее эти условия безоговорочно выполнены.
Полученную в теореме 18.1 оценку для А(у) в некоторых условиях можно заменить точным равенством:
А(У) =/z(«i,«2,••.,«».)•
В частности, [34, 48], это равенство верно, если Р - простое поле и ЛРС комб.г. имеют примитивные характеристические многочлены попарно взаимно простых степеней.
При определенных ЛРС и функции	можно обеспечить
большой период и хорошие статистические свойства гаммы комб.г. Из теоремы 6.2 следует, что если при некотором начальном состоянии ЛРС-1,...,ЛРС-/и генерируют последовательности периодов соответственно а функция fixiхт) биективна по всем переменным, то период Т(у) гаммы не меньше
Рассмотрим подробнее случай Р = GF(2).
Теорема 18.2. Пусть все ЛРС комб.г. имеют максимальный период и попарно взаимно простые длины. Тогда период Г(у) гаммы равен:
т
т(у) = ГВ2"'-1)’	<18-5)
7=1
а число N\ единиц на периоде удовлетворяет неравенствам
||/Ц-2"""'(1-2‘’Л1) <7V, < MI-2""".	(18.6)
Доказательство. По условиям теорема ЛРС имеют попарно взаимно простые длины	поэтому при неособенном начальном состоянии	генератора периоды выходных после-
довательностей ЛРС равны соответственно 2"' -1,..., 2"'"'1 -1, 2"т -1 и также являются попарно взаимно простыми. Следовательно, по утверждению 6.2 период последовательности двоичных /и-мерных
323
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
наборов {(/i</)(xU)),.,.,/TO0)(x(m)))}, i ~ 1,2,..., поступающих на вход комбинирующей функции/(xi,...,xm), равен tm:
т
tm = П<2''7 -!)•
По теореме 6.2 период гаммы 7’(у) делит tm, то есть
Ду) = di-d2-...-dm,
где dj/2J -1, j = 1,2,..,,т. Докажем для всех j = 1,...,т, что 4 = 2"' -1. Пусть это не так и для определенности Jm<2"m -1. При этом dm>l, иначе Ду) = df...-dm.i и делит tm.\, откуда следовало бы, что J{xi,x2,...,xm) зависит отхт несущественно.
Рассмотрим последовательность {ут+,.г} - регулярную выборку с шагом г из гаммы генератора, начиная с т-го знака, и соответствующую ей последовательность выходных функций {v|/T4_,.r(x(I),...,x(nt))}, i = 1,2,..., где г = tm.\, те {1,2,...,г).
Так как число r-dm кратно Ду), то r-dm также является периодом гаммы (возможно, не наименьшим). Следовательно, периодический отрезок последовательности {ут+,.г}, длина которого равна 2"т -1, содержит q\ единиц и q$ нулей, где q\, qo положительны (иначе Дх1,...,х,„) фиктивно зависит от хт) и кратны hm, где hm = (2"га -1)/<Д. Заметим, что hm>l.
С другой стороны, так как г кратно периодам ЛРС-1,..., ЛРС-(т-1), то из (18.4) имеем, что {\|/т+,-.Хх(1),...,х(т'1),х(т))} имеет вид {Да1,...,ат.1,/,и(т+'')(х('">))}, i = 1,2,..., где/(аь...,a,„.bx,„) - подфункция функции f(xi,...,xm.i,xm) и фиксация (ai,...,a,„.i) набора переменных (xi,...,x,„.i) однозначно определяется числом т. Подфункция /(ab...,a,„.bxm) есть функция одной переменной и поэтому аффинна, причем найдется те {1,2,...,г} и соответствующий набор (ab...,a,„.i), при котором подфункция/(а1,...,а,„.1,х,„) отлична от константы, иначе Ах1,...,хт.1,х1П) зависела бы отх,„несущественно.
Рассмотрим при таком наборе (ab...,a,„.i) последовательность {/(ab...,a„,.bZm<T+'r)(x("’)))}, / = 1,2,..., 2""' -1. В силу взаимной простоты
324
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
чисел г и 2"m -1 периодический отрезок последовательности {} при ненулевом начальном состоянии х(т) есть перестановка периодического отрезка ЛРП, вырабатываемой ЛРС-zn. Поэтому этот отрезок содержит 2""'1 единиц и 2"т'-1 нулей. Следовательно, при указанном наборе (ai,...,am.i) последовательность {/(ai,...,am.i,/m<T+")(x('”)))} содержит либо 2"тединиц и 2"",1-1 нулей, либо наоборот. В любом случае оба числа не делятся одновременно на hm. Имеем противоречие. Следовательно, равенство (18.5) доказано.
Пусть частота встречаемости вектора (ai,...,am) в последовательности	i = l,2,...,tm, есть 2V(ai,...,am). С учетом
взаимной простоты периодов всех ЛРС и количества единиц и нулей на их периодах имеем:
Ма1,...,аг)=П(2л>’1+ау.-1).
Поэтому для всех (ai,...,aw) выполнены неравенства:
2^(м/2л1 -1/2"2	) <Mab...,aT) <2п'т,	(18,7)
и справа равенство достигается лишь при (ab...,aw) =	Так
как длины ЛРС различны и упорядочены, то
1/2"1 +1/2"2+...+1/2"т < 21’"1.
С учетом этого оценки (18.7) принимают вид:
2""”(1-21 ) < 2V(ai,...,aT) < 2п'т.	(18.8)
Число Ni единиц на периоде гаммы равно:
М = X N(a,,...,am).
Отсюда и из неравенств (18.8) получаем (18.6).	♦
Следствие. Если/(xi,X2,...,xm) равновероятна, то 2"’1-2”'”1 <	<2”'1.
Доказательство. Заметим, что правое неравенство (18.6) достигается лишь для/(х1,Х2,...,х„|) = xi X2-...-xm. Подставляя в (18.6) значение
325
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
||/|| = 2'"’1 и заменяя правое неравенство строгим неравенством, получаем требуемые оценки.	♦
18.4.	Корреляционные атаки
Несмотря на отмеченные сильные свойства фильтрующих и комбинирующих генераторов, имеется опасность, связанная с корреляцией между гаммой генератора и выходными последовательностями некоторых ЛРС [11]. В этом случае определение ключа генератора можно реализовать поэтапно (метод типа «разделяй и вскрывай»).
На первом этапе, используя гамму генератора, можно статистически определить начальные состояния некоторых ЛРС, а на последующих этапах восстановить остальные элементы ключа, имея дело уже с упрощенной криптосхемой.
В качестве примера рассмотрим генератор Геффе, использующий комбинацию трех ЛРС. В этом генераторе ЛРС-1 и ЛРС-2 являются генерирующими, а ЛРС-3 является управляющим. Комбинирующая функцияДхьХгЛ) имеет вид:
Дх^гЛ) = xj-хз ® Х2-(хз©1).
Если все ЛРС имеют максимальные периоды и их длины ль т, лз попарно взаимно просты, то период гаммы равен произведению периодов ЛРС, а линейная сложность гаммы генератора равна И1-Пз+П2-«з+«2-
В то же время функция Дхьхг,хз) имеет хорошие линейные приближения: а именно /(хьХ2,хз) совпадает с функцией xi (а также с функцией хг) на % всех наборов таблицы. Это означает, что гамма генератора совпадает с выходом ЛРС-1 примерно для 75 % знаков. Таким образом, можно опробовать начальные состояния ЛРС-1 и статистически отсеивать «ложные» значения, генерируя знаки выхода ЛРС-1 и наблюдая частоту совпадения этих знаков с соответствующими знаками гаммы генератора. При ложных значениях совпадение происходит примерно для 50 % знаков.
Посчитано, что для отсева одного «ложного» значения достаточно использовать порядка 15 сравнений знаков. Трудоемкость дальнейшего вскрытия ключа незначительна.
326
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
Другой известный пример комбинирующего генератора - пороговый генератор, использующий комбинацию нечетного числа т ЛРС. Комбинирующая функция /(xb...,x,n), называемая функцией мажорирования, принимает значение I тогда и только тогда, когда ||(xi,...,x/rt)||>m/2. При соответствующих ЛРС период гаммы порогового генератора равен произведению периодов ЛРС, а линейная сложность гаммы генератора равна	(при т = 3 линейная слож-
ность равна пгп2-^пупз+пгпз).
Этот генератор также имеет слабости. Функция мажорирования имеет хорошие аффинные приближения, в частности при т = 3 любая переменная совпадает с /(хьХ2,*з) на 0,689 части всех наборов таблицы. Корреляционная атака, использующая порядка 30 знаков гаммы, позволяет последовательно отсеять ложные значения всех ЛРС. При увеличении числа т используемых в схеме ЛРС сложность корреляционной атаки возрастает.
Наилучшее противодействие корреляционным атакам достигается при использовании комбинирующих функций с высоким корреляционным иммунитетом (см. гл. 9). В то же время Зигенталером [41] показано, что имеется взаимосвязь между корреляционным иммунитетом комбинирующей функции и линейной сложностью гаммы, обусловливающая ослабление одной характеристики при усилении другой.
18.5.	Генераторы гаммы с неравномерным движением
Одним из способов достижения нелинейной зависимости знаков гаммы от ключевых элементов генератора, привлекающих внимание разработчиков, является неравномерное движение информации в определенных узлах генератора, определяемое ключом.
До сих пор мы рассматривали преобразования, при которых информация в элементах памяти криптосхемы обновляется равномерно, то есть при каждом тактовом импульсе. Если продвижение информации в некотором регистре зависит от последовательности, вырабатываемой другим регистром, то разумно предположить, что
327
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
генерируемая гамма станет сложнее. Построенные по такому принципу генераторы гаммы называются генераторами гаммы с неравномерным движением. Изменение закона движения регистра приводит к изменению исходной (полученной при равномерном движении) гаммы. Сузь изменения состоит, как правило, в усечении (удалении), реже - в дублировании некоторых битов исходной гаммы.
Эффект неравномерного движения достигается двумя способами: с помощью внешнего управления регистрами генератора гаммы и с помощью самоуправления.
Один из способов внешнего управления - это последовательное соединение т автоматов, где каждый предыдущий автомат называют управляющим по отношению к последующему, а последний автомат называют генерирующим. Если т>2, то такое соединение автоматов называют каскадным, am- числом каскадов. Устройство каждого каскада может быть простым, например каскад - это ЛРС и управление реализуется в виде зависимости в каждый такт числа «продвижек» информации управляемого автомата от выходного знака управляющего автомата.
Другой способ - это несколько взаимно управляемых автоматов, совместно генерирующих гамму (см. криптосхему генератора шифра А5 в прил. 6).
Самоуправление реализуется автоматом с помощью зависимости числа «продвижек» информации от состояния некоторых элементов памяти.
18.5.1.	Схемы с внешним управлением
Рассмотрим некоторые классы генераторов двоичной гаммы с неравномерным движением, построенные на основе ЛРС. При этом для ЛРС-j, j = 1,2,..., обозначим через Fj - характеристический многочлен, tj - период выходной последовательности, не зависящий от начального состояния, если рассматриваются ЛРС максимального периода.
18.5.1,1.	Генераторы «5-т шагов»
Если в двухкаскадной схеме управляющий автомат есть фильтрующий генератор на базе ЛРС длины п, а генерирующий автомат
328
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
есть ЛРС длины т (с одной из ячеек которого снимается гамма), отрабатывающий каждый такт в зависимости от управляющего знака т или 8 шагов, т*8, то такой автомат называют генератором «5-т шагов» (при 8 = 0, т = I - генератором «стоп-вперед»). Схема дана на рис. 18.3.
Рис. 18.3. Генератор «8-т шагов»
Если состояния ЛРС-1 и ЛРС-2 в i-м такте равны соответственно Xi нун i = 1,2,..., где х-, = (x,;i,x,;2,...,x4„),^ =	то уравне-
ния гаммообразования имеют вид:
У/=Уа(/),1>
где о(г) - суммарная «продвижка» ЛРС-1 в первые i тактов: о(0= £(3-(/(хрФ1) + т/(х,».
7=1
Пусть s = cr(Zi). После НОК «продвижек» ЛРС-2 оба регистра возвращаются в начальное состояние, а это происходит после t тактов функционирования генератора, где
/ = tr(HOK(s,h)ls).
При (s,r2) = 1 период t достигает наибольшего значения zr/2.
Верхняя оценка линейной сложности гаммы была получена в [29] й имеет вид:
А(у) < 1\-т.
329
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Для генератора «стоп-вперед» эта оценка достигается [4], если управляющий регистр есть ЛРСтах-л и (п,т) = 1.
Генераторы «стоп-вперед» и «1-2 шага» достигают максимальной линейной сложности [44], если, в частности, оба ЛРС идентичны и имеют максимальный период.
Получение точных значений линейной сложности гаммы, вырабатываемой схемами с внешним управлением, связано с выявлением условий (см., например, [44]), при которых минимальный многочлен гаммы ту(к) = т( А/1), где ти(А) - минимальный многочлен генерирующего ЛРС.
В гамме генератора «1-2 шага» с ЛРС-2 максимального периода все s'-граммы, s<(m+l)Z2, появляются с той же частотой, с которой они появляются и в выходной последовательности ЛРС-2 при равномерном движении.
Статистические свойства гаммы генератора «стоп-вперед» явно слабы: в среднем каждый второй бит выхода ЛРС-2 дублируется, кроме того, из равенства у(Фу|+1 = 1 следует Дх,) = 1, что упрощает определение состояний ЛРС-1 по гамме.
18.5.1.2.	Генераторы с перемежающимся шагом
Усложнением генератора «стоп-вперед», предложенным с целью улучшения его статистических свойств, является генератор с перемежающимся шагом. Его гамма образуется как сумма гамм двух генераторов «стоп-вперед» с генерирующими ЛРС-2 и ЛРС-3 длины т и г соответственно и общим управляющим ЛРС-1 длины и. Если в i-м такте ЛРС-2 продвигается, то ЛРС-3 простаивает, и наоборот. Ключом генератора являются начальные состояния всех ЛРС.
Если состояния ЛРС-1, ЛРС-2 и ЛРС-3 в z-м такте равны соответственно Xi, у, и Zi, где Zi = (Zi,bZi,2,  ,Zi,r), i = 1,2,..., и o(z) = £/(xy), >i то уравнения гаммообразования имеют вид:
Yi = Уа(г). 1 ® Zi-a(i),l-
В [14] изучены период и линейная сложность гаммы генератора. Показано, что условия ($,/2) = Ог$,Ъ) = (?2,?з) = 1 гарантируют мак
330
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
симальный период гаммы: t = В этом случае линейная сложность гаммы как суммы двух последовательностей оценивается снизу величиной
А(у) > (т+г-2)Ть
Если многочлены и F3 различны и неприводимы, (z27s) = 1 и = 2к, то период гаммы максимален и равен t = 2k-trH„ а линейная сложность гаммы ограничена неравенствами
(т+г)-2кЛ < А(у) < (т+гУ2к.
Если ЛРС-2 и ЛРС-3 имеют максимальные периоды, то частота появления в гамме всех s-грамм, s<min(m,r), равна 2’’ с отклонением порядка О(2' ”')+О(2”').
Как и генератор «8-т шагов» генератор с перемежающимся шагом вскрывается опробованием начального состояния управляющего ЛРС (метод типа «разделяй и вскрывай»).
Эффективная длина ключа генератора с перемежающимся шагом близка к длине управляющего регистра.
18.5.1.3.	Каскадные генераторы Гольмана
Каскадный генератор построен на основе ЛРС-1,..., ЛРС-m максимального периода и привлекателен тем, что может быть использован для генерации гаммы с огромным периодом и линейной сложностью. В этой конструкции первый ЛРС управляет вторым, второй -третьим и т. д.
Если все ЛРС имеют длину п и различные примитивные характеристические многочлены [12], то период гаммы m-каскадного генератора достигает величины (2"-1)'", а линейная сложность имеет порядок и-(2"-1)'"-1.
Вместе с тем установлено [26, 30], что имеется корреляция между выходом с ЛРС-1 и гаммой m-каскадного генератора, позволяющая по крайней мере при /и<10 построить эффективный метод последовательного вскрытия начальных состояний ЛРС, начиная с первого.
18.5.1.4.	Сжимающие генераторы
Другой принцип управления движением использован в сжимающем генераторе, который построен на основе параллельно рабо
331
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
тающих ЛРС-1 и ЛРС-2 с максимальными периодами. Знаками гаммы являются выходные знаки, снимаемые с ячейки ЛРС-2, но только в те такты, когда управляющий знак ЛРС-1 равен единице, в остальные такты оба бита, генерируемые ЛРС-1 и ЛРС-2, игнорируются. Уравнения гаммообразования имеют вид:
У(=Ж),ь
где N(i) есть номер такта, соответствующего z-й единице в выходной последовательности ЛРС-1.
Гамма сжимающего генератора имеет хороший период и линейную сложность [5]. Криптографические слабости обнаружены у него только в том случае, когда характеристические многочлены прорежены (содержат мало ненулевых коэффициентов). Реализация сжимающего генератора имеет высокую скорость, но имеются определенные проблемы, связанные с нерегулярностью выдачи знаков гаммы. Для решения этой проблемы предлагается использовать технику буферизации.
18.5.1.5.	Аддитивные генераторы
Эти генераторы, иногда называемые запаздывающими генераторами Фибоначчи, синтезируют идеи, на которых строятся ЛРС и ЛКГ.
Аддитивные генераторы оперируют с «-битовыми числами, которые рассматриваются как элементы кольца вычетов Z^n. Если Хо, Xi,...,Xm.i есть числа, образующие начальные слова генератора, то z-й знак (число) гаммы X, образуется по правилу, i>m,
«1-1
)mod2",
J=o
где ао,а\,..., ат.\ есть двоичные числа. При этом коэффициенты выбирают так, чтобы при замене сложения по модулю 2" операцией XOR-суммирования соответствующий закону рекурсии характеристический многочлен был примитивным. Это гарантирует для подпоследовательности младших разрядов и, следовательно, для всей последовательности чисел {X } период не меньше 2'"-1.
332
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
Аддитивные генераторы нестойки, но их можно использовать как базовые блоки при построении более стойких генераторов. Например, генератор Fish (Fibonacci Shrinking Generator - сжимающий генератор Фибоначчи), авторы U. Blocher и М. Dichtl, построен на базе двух аддитивных генераторов и использует принципы сжимающего генератора. Ключом являются начальные состояния двух аддитивных генераторов:
А,- = (A,-.24+A;.55)mod2'1^, В, = (B/-.i9+B(-52)mod232.
Если младший бит числа В, равен 1, то пара (A,,Bi) используется для выработки знака гаммы, если равен 0, то игнорируется.
Пусть {С,} ({£);}) есть последовательность используемых чисел, взятых их {А,} (из {В^). Знаком гаммы является пара 32-битовых чисел (Z2;,-G/+i),J = 0,1,..., вычисляемая по правилу
(FyJ^j+l) - (E^F^Cy^Fy),
где E2J = C2j®(D2jAD2j+i), F2J = D2j+iA(E2jAC2j+i). Этот генератор обладает высокой производительностью, но стойкость его невелика, по-
-.40
рядка 2 операции.
Росс Андерсон, взломавший Fish [1], предложил его более стойкую версию, получившую название Pike. Генератор Pifce работает еще быстрее, хотя использует 3 аддитивных генератора, например:
Aj= (A,-.24+A,-.55)mod232,
В( = (B/.7+B/.57)mod232,
С,= (CM9+CM8)mod232.
Андерсон заметил, что криптоаналитическая атака заметно усложняется, если для управления использовать не младшие биты, а биты переноса. Если 3 бита переноса одинаковы, то продвигаются все 3 аддитивных генератора. В противном случае продвигаются лишь те два генератора, чьи биты переноса совпадают. Знак гаммы генератора Pike есть ХОЯ-сумма трех «-битовых наборов, соответствующих значениям последних чисел гаммы аддитивных генераторов.
Чтобы исключить повторы в гамме генератора, предложено перезагружать ключ после генерации 232 чисел. Для получения
333
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
700-байтового начального заполнения целесообразно использовать качественную хеш-функцию (см., например, SHS в прил. 7).
Разновидностью генераторов типа Fish является также генератор Mush (автор D. J. Wheeler), построенный на базе двух взаимно сжимающих аддитивных генераторов.
18.5.2.	Схемы с самоуправлением
Схемы генераторов с самоуправлением могут быть построены на базе единственного ЛРС с помощью дополнительных обратных связей. Они получили название самопрореживающих генераторов, так как их гамма является результатом удаления некоторых знаков из гаммы равномерно движущегося ЛРС.
18.5.2.1.	Генераторы (5,т)-самоусечения
Предложенный и изученный в [36] генератор (5,т)-самоусечения построен на основе ЛРС, в котором величина сдвига информации зависит от состояния некоторых ячеек регистра. В простейшей разновидности генератора информация в ЛРС продвигается на 5 шагов, если i-й знак гаммы равен 1, и в противном случае информация в ЛРС продвигается на т шагов, 5^т. В более сложных модификациях генератора бит, определяющий величину сдвига информации, есть функция нескольких ячеек ЛРС.
Несложно показать, что преобразование ф множества состояний ЛРС, реализуемое генератором (5,т)-самоусечения, небиективно.
Пусть ЛРС длины п имеет максимальный период и х,- - состояние ЛРС в i-м такте при равномерном движении. В графе Гф преобразования ф вершина х,- имеет полустепень захода от 0 до 2. В силу свойств ЛРПтах-n не менее четверти всех вершин графа Гф являются концевыми (не имеют предшественников). Отсюда следует, что число циклических точек графа Гф и, следовательно, период гаммы генератора не превосходит (3/4)-(2"-1).
Точное значение периода гаммы зависит от свойств чисел бит. Для определенных классов пар чисел битв [36] посчитано, что 7»(2/3)-(2"-1).
334
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
Экспериментально получено, что линейная сложность гаммы генератора (1,2)-самоусечения близка к 2*'1, но доказательства этого не найдены.
Простейший генератор (5,т)-самоусечения нельзя использовать непосредственно, так как любой бит на выходе является битом состояния и при известном законе движения следующий бит выхода позиционно привязывается к предыдущему. Поэтому лучше использовать различные группы битов состояния для генерации гаммы и для управления движением.
18.5.2.2.	Самосжимающий генератор
Еще один вариант схемы самоуправления использован в само-сжимающем генераторе [24]. Этот генератор строится на основе ЛРС максимального периода, с двух ячеек которого снимается пара знаков, при этом если первый знак равен 1, то второй знак является выходным, и если первый знак равен 0, то второй знак игнорируется. Для гаммы самосжимающего генератора также могут быть достигнуты хорошие характеристики.
Между сжимающими и самосжимающими генераторами имеется соответствие. Вторые требуют в 2 раза меньше схемного пространства, но генерируют гамму медленнее.
18.6.	Генераторы с дополнительной памятью
Для усложнения корреляционного анализа последовательностей криптографических генераторов при их конструировании используются дополнительные регистры памяти. Рассмотрим некоторые способы использования дополнительной памяти в криптографических схемах.
18.6.1.	Генераторы Макларена - Марсальи
В генераторах Макларена - Марсальи исходная последовательность усложняется с помощью регистра памяти и управляющих последовательностей.
Пусть имеется т ячеек памяти, занумерованных числами от 0 до /77-1, в которые записываются элементы «-множества X. Для отобра
335
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
жения последовательности Х_* = {%(/)} над X в последовательность Y._> - {y(i)} над X используются в общем случае две управляющие последовательности U.+ - {u(i)) и W - {w(i)} над кольцом вычетов Zm. Последовательность управляет записью в память членов входной последовательности, a W1» управляет считыванием из памяти членов выходной последовательности.
Определим функции переходов и выходов соответствующего автомата Мили А ~ (XxZtnxZtn^m)yX,htf). Пусть (5(0),...,5(m-l))еА</”), тогда
/t((5(0),...,5(m-l)),x,w,w) = (№(0),..	)),
где s\u) = х и 5’(z) = 5(0 при всех /Уп,
/((5(0),..., s(m- l))>xfu,w) = 5(w).
Периоды последовательностей %_>, £/_>, ИС» и обозначим соответственно tXy tuy tw и Л .
Последовательность над множеством D называется полной, если она содержит все элементы множества D.
Теорема 18.3. Если последовательности 17^ и ИХ полны, то период ty кратен tx и делит HOK(txjuytw).
Доказательство. В силу полноты каждая ячейка памяти «обновляется» знаками входной последовательности как минимум один раз за tu тактов, то есть начиная с некоторого такта т каждый знак состояния не зависит от знаков начального состояния. При />т через каждые I тактов, где I = HOK(tXytUytw\ повторяются знаки всех входных последовательностей и, следовательно, повторяются состояния автомата А и знаки выходной последовательности. Таким образом, tx делит HOK(txytuytw).
Число tx можно представить в виде:
ty-dX’duwy	(18.9)
где dx/txy duJHOK(tUytw). Из всех представлений вида (18.9) рассмотрим то, у которого dx принимает наибольшее значение, и покажем, что в таком представлении dx = tx.
По условию число d = dxdlOK(tuytw) - также период (возможно, не наименьший) последовательности Если dx<txy то d не кратен пе
336
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
риоду tx, иначе имелось бы представление вида (18.9), для которого dx = tx. Поэтому x(j)*x(j+d) при некотором j и при любом i верны равенства u(i) = u(i+d), w(i) = w(i+d). Следовательно, при указанном j в такты j и j+d автомат А переходит в различные состояния, так как воспринимает различные входные символы при одинаковых управляющих символах: u(j) = u(j+d).
Эти различные знаки состояний под воздействием одинаковых управляющих символов последовательности в такты j+l и j+d+l (w(j+l) = u(j+d+l), так как t^/d) при некотором I поступают в выходную последовательность, что неизбежно в силу полноты последовательности W.^. Значит, y(j+l)*y(j+d+l) при указанных j и I. Следовательно, d не период последовательности У_>. Имеем противоречие, означающее, что dx = tx.	♦
Уточнение коэффициента пропорциональности ц, связывающего периоды tx и ty = ц-гх, требует некоторой дополнительной информации о свойствах входных последовательностей. Например, в [48] приведена оценка [i>tu-em/e для случая U_> = №_», (tu,tx) = 1 и tu<tx.
18.6.2.	Регистр сдвига с обратной связью с переносом
Другое направление использования дополнительной памяти для усложнения последовательностей связано с относительно новой конструкцией Э. Клаппера и М. Горецки, получившей название регистра сдвига с обратной связью с переносом (РСОСП). РСОСП - это регистр сдвига, имеющий несколько ячеек дополнительной памяти, образующих регистр переноса. Наиболее простая разновидность РСОСП строится на базе ЛРС над GF(2) и ячейки дополнительной памяти, предназначенной для записи целых чисел от 0 до 2/’-1, где г -число ячеек регистра, содержимое которых используется для вычисления обратной связи, рис. 18.4.
Пусть в ячейках регистра записаны биты Xi, xi,..., хп, а в дополнительной памяти записано число о. В следующем такте содержимое регистра сдвигается (в данном случае вправо), бит х„ поступает на выход, при этом содержимое памяти и левой ячейки регистра обновляется следующим образом:
337
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Рис. 18.4. Регистр сдвига с обратной связью с переносом
1)	вычисляется действительная сумма битов а\-х\+а?Х2+... +а„-х„, где а\,а2>...,ап - двоичные коэффициенты, из которых г коэффициентов равны 1, а остальные равны 0, эта сумма складывается с числом о:
Е = o+ai’Xi+02'X2+.. .+оИ'Хп;
2)	младший бит числа Е записывается в левую ячейку регистра сдвига, а набор остальных битов, соответствующий числу [Е/2], является новым содержимым памяти.
Наибольший период, достигаемый РСОСП, ограничен числом q-\, где q называется числом обратной связи:
q = Gp2+ti2’2^+.. .+ап-2п'.
Важной особенностью РСОСП является то, что для их анализа неприменим традиционный математический аппарат конечных полей, поэтому для изучения свойств схем с переносом разработана теория, основанная на 2-адических числах [16].
Использование в криптосхемах РСОСП, в особенности в сочетании с неравномерным движением [11], заметно усложняет корреляционные атаки. В связи с этим представляются перспективными криптосхемы типа каскадных генераторов Гольмана, построенных или на базе нескольких РСОСП, или на базе их совместного использования с ЛРС. Применение РСОСП в криптосхемах будет расширяться, по-видимому, по мере их изучения.
338
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ
18.7.	Задачи и упражнения
18.1.	Докажите, что ф.с. над конечным множеством X с фильтром Дх1,х2,...,хп) различает входы, если функция/(xi,x2,...,x„) биективна по переменной х„; по переменной Х].
18.2.	При каком условии гамма {у,} ф.г. над полем Р с фильтром /(xi,x2,...,x„), усложненная ф.с. над Р с фильтром /i(xi,X2,...,xm), может рассматриваться как гамма {у,’} ф.г. с фильтром g(xi,X2,...,xs) при некоторых g и s. Выразите g ns через характеристики функций/и h.
18.3.	Для ф.г. над полем Р порядка к с фильтром/(xi,X2,...,x„), построенного на основе JIPCmax-л, докажите, что период гаммы:
а)	равен А"-1, если/сбалансирована;
б)	равен числу неэквивалентных состояний ф.г.
18.4.	Какой длины п достаточно использовать ЛРСшах-п в схеме ф.г. над GF(2) с фильтром/(xi,x2,...,x„) = хрХзФхг-ХбФхз^Фхд, чтобы гарантировать линейную сложность гаммы не меньше 5105?
18.5.	Определите равновероятную комбинирующую функцию / комб.г. над GF(2), построенного на основе ЛРСшах-5, ЛРСшах-7 и ЛРСшах-11, гарантирующую при неособенном начальном состоянии линейную сложность гаммы не меньше 167?
Каков период t гаммы данного генератора? Сколько нулей содержится на периоде гаммы?
18.6.	Докажите, что если управляющий автомат генератора «5-т шагов» имеет эквивалентные состояния, то генератор в целом также имеет эквивалентные состояния.
18.7.	Каков период t гаммы сжимающего генератора, построенного на основе управляющего ЛРСшах-ти и генерирующего ЛРСтах-и, если (п,т) =1?
18.8.	Каков период t гаммы самосжимающего генератора, построенного на основе ЛРСшах-н, п>2, если в каждом такте знак гаммы считывается с п-й ячейки ЛРС, а управляющий знак есть сумма содержимого (л-1)-й и (н-2)-й ячеек ЛРС? Сколько знаков единицы размещается на периоде выходной последовательности?
339
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
18.9.	Для генератора [5,т]-самоусечения, построенного на основе JIPCmax-и, покажите, что:
а)	функция переходов небиективна;
б)	число концевых вершин автоматного графа равно 2"‘2.
18.10.	Для генератора Макларена - Марсальи, построенного на основе 2-битовой памяти, генерирующего ЛРСтах-л, управляющего записью в память ЛРСшах-m и управляющего считыванием из памяти ЛРСтах-r, определите:
а)	за сколько тактов в худшем случае обновляется содержимое одной ячейки; обеих ячеек;
б)	каков коэффициент размножения в гамме единичной ошибки во входной последовательности; в управляющих последовательностях.
340
ПРИЛОЖЕНИЯ
1. Алгоритм шифрования DES
Алгоритм DES - это итеративный 16-цикловой обратимый блочный шифр Фейстеля. Размер входного блока - 64-бита. Размер ключа к шифра - 56 бит. Цикловые ключи qi,...,qi6 есть алгоритмически вырабатываемые выборки 48 бит из 56 бит ключа к.
Входное и выходное преобразования (Зил) - не зависящие от ключа подстановки, при этом л = 5'1 2 3 4-/12. Функция усложнения y(x2>q) (рис. П-1) состоит из следующих слоев:
Рис. П-1. Блок-схема функции усложнения yfaq)
1) расширения Е 32-битового вектора до 48-битового вектора;
2) подмешивания 48-битового циклового ключа путем Х(97?-сум-мирования;
3) нелинейной замены с помощью s-боксов si,...,sg 48-битового вектора на 32-битовый вектор;
4) перемешивания координат 32-битового вектора с помощью перестановки Р.
/1ГИЛОГЛ1ИФИ
341
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Отображение расширения Е
32	1	2	3	4	5	4	5	6	7	8	9
8	9	10	11	12	13	12	13	14	15	16	17
16	17	18	19	20	21	20	21	22	23	24	25
24	25	26	27	28	29	28	29	30	31	32	1
Данная таблица означает, что первым битом вектора Е(х2) является 32-й бит вектора х2, вторым битом вектора Е(х2) является 1 -й бит вектора х2 и т. д.
Отображения s-боксов заданы следующими таблицами.
s-боксы
Si															
14	4	13	1	2	15	11	8	3	10	6	12	5	9	0	7
0	15	7	4	14	2	13	1	10	6	12	11	9	5	3	8
4	1	14	8	13	6	2	11	15	12	9	7	3	10	5	0
15	12	8	2	4	9	1	7	5	11	3	14	10	0	6	13
S2															
15	1	8	14	6	11	3	4	9	7	2	13	12	0	5	10
3	13	4	7	15	2	8	14	12	0	1	10	6	9	11	5
0	14	7	11	10	4	13	1	5	8	12	6	9	3	2	15
13	8	10	1	3	15	4	2	11	6	7	12	0	5	14	9
S3															
10	0	9	14	6	3	15	5	1	13	12	7	11	4	2	8
13	7	0	9	3	4	6	10	2	8	5	14	12	11	5	1
13	6	4	9	8	15	3	0	11	1	2	12	5	10	14	7
1	10	13	0	6	9	8	7	4	15	14	3	11	5	2	12
S4															
7	13	14	3	0	6	9	10	1	2	8	5	11	12	4	15
13	8	И	5	6	15	0	3	4	7	2	12	1	10	14	9
10	6	9	0	12	11	7	13	15	1	3	14	5	2	8	14
3	15	0	6	10	1	13	8	9	4	5	11	12	7	2	4
															
2	12	4	1	7	10	11	6	8	5	3	15	13	0	14	9
14	И	2	12	4	7	13	1	5	0	15	10	3	9	8	6
4	2	1	11	10	13	7	8	15	9	12	5	6	3	0	14
И	8	12	7	1	14	2	13	6	15	0	9	10	4	5	3
342
ПРИЛОЖЕНИЯ
•Уб															
12	1	10	15	9	2	6	8	0	13	3	4	14	7	5	И
10	15	4	2	7	12	9	5	6	1	13	14	0	11	3	8
9	14	15	5	2	8	12	3	7	0	4	10	1	13	11	6
4	3	2	12	9	5	15	10	11	14	1	7	6	0	8	13
з!															
4	11	2	14	15	0	8	13	3	12	9	7	5	10	6	1
13	0	11	7	4	9	1	10	14	3	5	12	2	15	8	6
1	4	И	13	12	3	7	14	10	15-	6	8	0	5	9	2
6	11	13	8	1	4	10	7	9	5	0	15	14	2	3	12
S8															
13	2	8	4	6	15	11	1	10	9	3	14	5	0	12	7
1	15	13	8	10	3	7	4	12	5	6	11	0	14	9	2
7	11	4	1	9	12	14	2	0	6	10	13	15	3	5	8
2	_!_1	14	7	4	10	8	13	15	12	9	0	3	5	6	11
Поступающий на вход 5-боксов 48-битовый вектор разбивается на 8 групп по 6 бит, и z-я шестерка битов отображается с помощью 5,- в четверку битов, i = 1,2,...,8. Занумеруем строки 5-бокса двоичными наборами (0,0), (0,1), (1,0), (1,1), а столбцы - 4-битовыми двоичными наборами в лексикографическом порядке. Тогда значением отображения 5-бокса для входного набора (Х1,х2,...,Хб) является двоичный набор, соответствующий числу, записанному в строке с номером (ХьХб) И СТОЛбце С НОМерОМ (x^X^X^Xs).
После 5-боксов 4-битовые векторы объединяются в 32-битовый вектор, координаты которого переставляются.
Перестановка Р
”16	7	20	21	29	12	28	17	1	15	23	26	5	18	31	ГсГ
2	8	24	14	32	27	3	9	19	13	30	6	22	11	4	25
Данная таблица означает, что 21-й бит перемещается на 4-ю позицию, 4-й бит - на 31-ю позицию и т. д.
Входное преобразование 5, обычно называемое начальной подстановкой IP, задано следующей таблицей.
343
a M. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Начальная подстановка IP															
58	50	42	34	26	18	10	2	60	52	44	36	28	20	12	4
62	54	46	38	30	22	14	6	64	56	48	40	32	24	16	8
57	49	41	33	25	17	9	1	59	51	43	35	27	19	11	3
61	53	45	37	29	21	13	5	63	55	47	39	31	23	15	7
Подстановка IP дана в записи по нижней строке, т.е. 1 -й бит переходит в 58-й, 2-й - в 50-й и т. д.
Ключевое расписание реализуется следующим алгоритмом. Поначалу ключ состоит из 8 байт, у которых каждый 8-й бит зависим, так как служит для проверки четности байта. Затем ключ сокращается до 56 бит отбрасыванием битов проверки четности с одновременной перестановкой остальных битов.
Усеченная подстановка SK
57	49	41	33	25	17	9	1	58	50	42	34	26	18
10	2	59	51	43	35	27	19	11	3	60	52	44	36
63	55	47	39	31	23	15	7	62	54	46	38	30	22
14	6	61	53	45	37	29	21	13	5	28	20	12	4
Получившийся 56-битовый вектор делится на два 28-битовых вектора, и в каждом цикле шифрования оба вектора подвергаются подстановке циклического сдвига на одинаковое число шагов по следующей схеме.
Величина сдвига ключа на циклах шифрования
Номер цикла	1	2	3	4	5	6	7	8
Сдвиг	1	1	2	2	2	2	2	2
Номер цикла	9	10	11	12	13	14	15	16
Сдвиг	1	2	2	2	2	2	2	1
После каждого сдвига из обоих векторов выбирается по 24 бита с одновременным изменением их порядка, то есть реализуется усеченная подстановка SK1.
Усеченная подстановка SK\
14	17	И	24	1	5	3	28	15	6	21	10
23	19	12	4	26	8	16	7	27	20	13	2
41	52	31	37	47	55	30	40	51	45	33	48
44	49	39	56	34	53	46	42	50	36	29	32
344
ПРИЛОЖЕНИЯ
2. Алгоритм ГОСТ 28147-89
В 1989 г. в СССР был разработан блочный шифр для использования в качестве государственного стандарта шифрования данных. Алгоритм ГОСТ 28147-89 - это итеративный 32-цикловой обратимый блочный шифр Фейстеля. Размер входного блока - 64-бита. Размер ключа к шифра - 256 бит.
Цикловые ключи	есть 32-битовые векторы, выбираемые
из восьми независимых векторов ki,k2,...,kt по правилу:
,<7зг) = (^i А, • • • ЛЛ Лг, • • • ЛЛ1 ,кг,    ААЛ, -А)-
Входное преобразование 8 - тождественное, выходное л = Т32.
Функция усложнения y(xi,q) (рис. П-2) имеет слои:
1)	подмешивания 32-битового циклового ключа путем суммирования по модулю 232;
2)	нелинейной замены с помощью 5-боксов (узлов замены) 5ь...,58, реализующих отображения V4—>14;
3)	перемешивание координат 32-битового вектора с помощью циклического сдвига на 11 бит влево.
Рис. П-2. Блок-схема функции усложнения у(х2><7)
Узлы замены выбираются для каждой сети отдельно и могут рас-сматриваться как долговременный ключ алгоритма.
345
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ.....
ГОСТ предусматривает 3 основных режима шифрования: простую замену, гаммирование и гаммирование с обратной связью, а также режим выработки имитовставки, используемый для аутентификации данных.
Режим простой замены используется только для шифрования ключевой информации (ключи и таблицы замен). Гаммирование заключается в побитовом суммировании блоков открытого текста и блоков гаммы, вырабатываемых по правилу:
Л = £*(ВД),
где Ек - подстановка, реализуемая алгоритмом ГОСТ на ключе Л; У, и Zi есть 32-битовые векторы, вычисляемые из рекуррентных соотношений
У, = (y,.i+C2)mod232,	Zi = (Z,, i+COmod^32-!).
Здесь (Уо,2Ь) = Ek(S), где S - начальное состояние 64-разрядного регистра криптосхемы, называемое синхропосылкой; Ci и С2-кон-станты, равные в шестнадцатеричной записи 01010101 и 01010104 соответственно.
Расшифрование данных возможно только при наличии синхропосылки S, которая в открытом виде хранится в памяти ЭВМ или передается по каналам связи вместе с зашифрованными данными.
Режим гаммирования с обратной связью (фактически это CFB-64) отличается от режима гаммирования лишь тем, что при выработке блока гаммы для зашифрования следующего блока используется блок шифртекста, полученный на предыдущем шаге. Уравнения шифрования имеют вид:
i = 2,3..п.
где Ti и ИЦ есть z-е блоки открытого и шифрованного текстов.
346
ПРИЛОЖЕНИЯ
Имитовставка - это контрольный вектор, используемый для тех же целей, что и вектор аутентификации в DES-алгоритме. Имитовставка вырабатывается с помощью «усеченного» 16-циклового алгоритма ГОСТа. Вектор имитовставки и - это 32 младших бита последнего блока Вп шифртекста, вырабатываемого в этом режиме.
Вырабатываемые блоки связаны следующими соотношениями:
В\ = вк(Т\),
В, = ek(Bj.\®Ti), i = 2,3,..., п, где вк есть подстановка, реализуемая 16-цикловым алгоритмом ГОСТа на ключе к.
3.	Блочный шифр IDEA
Алгоритм IDEA (International Data Encryption Algorithm) был разработан в 1992 г. на очередном этапе разработки предполагаемого стандарта шифрования данных. Авторы - сотрудники Швейцарского федерального технологического института X. Lai и J. L. Massey.
Алгоритм IDEA - это итеративный 8-цикловой шифр с выходным отображением, обеспечивающим обратимость шифра (входного отображения нет). Размер обрабатываемых блоков - 64-бита, размер ключа - 128 бит.
Входной блок и цикловые ключи разбиваются на 16-битовые подблоки, над которыми и выполняются операции, что позволяет добиться высоких скоростей шифрования уже на 16-битовом процессоре. В ходе алгоритма выполняются следующие операции:
1)	поразрядное сложение - ®;
2)	сложение по модулю 216, записывается символом ±;
3)	умножение чисел, представленных подблоками, по модулю 216+1 (нулевой подблок соответствует числу 216), записывается символом х.
347
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Блок-схема алгоритма IDEA изображена на рис. П-3.
Рис. П-3. Блок-схема алгоритма шифрования IDEA
Таким образом, цикловое отображение <р(х,д) построено с использованием «смешивания» операций над различными алгебраическими структурами, что усложняет криптоанализ алгоритма.
Опишем первый цикл работы алгоритма (остальные циклы реализуются аналогично). Входные подблоки первого цикла обозначим через Х1,Х2>хз,Х4, ключевые подблоки i-ro цикла обозначим через ,tf6W, i = 1,2,...,8, ключевые подблоки выходного отображе-
348
ПРИЛОЖЕНИЯ
В течение первого цикла шифрования реализуется следующие шаги вычислений (для простоты вместо обозначения qsm будем использовать qs, s = 1,2,...,6).
Шаг 1. ci =Х1Х^1.
Шаг 2. C2=X2±qt-
Шаг 3. сз = хз±<7з.
Шаг 4. С4 = Л4Х^4.
Шаг 5. с.5 = С1®Сз.
Шаг 6. Сб = С2®С4.
Шаг 7. су = С5Х95.
Шаг 8. eg = Сб±С7.
Шаг 9. eg = cgX£6.
Шаг 10. сю = сэ±су.
Шаг 11. Си = ci®C9.
Шаг 12. си = сз®С9.
Шаг 13. св = сгФсю-
Шаг 14. си = c4®cio-
Входные подблоки следующего цикла есть сц,С1з,С12,С14. После 8-го цикла реализуется выходное отображение:
Шаг 1. yi «Л1(9)х^1(9).
Шаг 2. у2 = х2(9)±92(9).
Шаг 3. уз =хз(9)±<7з(9).
Шаг 4. у4 = Х4(9)х<з'4(9).
Шифрованным текстом является блок (уьУ2,Уз,У4)-
Ключевое расписание реализуется с помощью вычисления 52 ключевых подблоков из 128-битового ключа к, на каждом цикле используется по 6 подблоков ключа и при реализации выходного отображения - 4 подблока ключа. Вначале 128-битовый ключ к представляется как 8 подблоков, которые в наших обозначениях равны
ът......«Л
где старшими битами подблоков являются левые биты. Далее 128-битовый ключ циклически сдвигается влево на 25 бит и снова разбивается на 8 подблоков
349
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА ИКРИПТОЛОГИЯ 
(2)	(2)	(2)	(2)	(3)	(3)	(3)	(3)
<7з ,	, <75 , <7б , Я\ ,Яг , <74 
Затем 128-битовый ключ снова циклически сдвигается влево на 25 бит и снова разбивается на 8 подблоков и т. д., пока не сгенери-руются все 52 подблока.
Подблоки ключа расшифрования (обозначим их через w,(r)) определяются следующим образом. При г = 2,3,...,8
z.„, Ю и> (г) ил (г) и; (г)3 - <Т/7	п <1<М п (Ю-r) гЛ (10-гН-К
(W] ,W2 ,wj ,W4 ) -	J , -q-i , -q2	, L<?4 J ),
при re {1,9}
(A%V>) = ([^‘П1, -^2(10-r), -q^r\ fe(10-r)]-1), (w^Kw^) = (.Я5~г\ябг)), r = 1,2,...,8,
где [z]'1 есть обратный к z элемент относительно умножения по модулю 216+1 (обратным к 0 считаем 0); и -z есть обратный к z элемент относительно сложения по модулю 216.
Методы анализа алгоритма IDEA, менее трудоемкие, чем полный перебор ключей, не известны.
Производительность алгоритма IDEA превышает в 1,54-4 раза (в зависимости от вычислителя) производительность DES-алгоритма.
Алгоритм IDEA запатентован в Европе. Держатель патента -фирма Ascom-Tech AG (Швейцария).
4.	RIJNDAEL
В соответствии с требованиями NIST претендент на стандарт шифрования должен быть симметричным блочным шифром с размером блока 128 бит, ключом - 256 бит (также должны поддерживаться ключи длиной 128 и 192 бита), иметь стойкость, не меньшую, чем тройной DES. Скорость шифрования претендента должна превышать скорость шифрования тройного DES-алгоритма. Шифр должен иметь достаточно прозрачную структуру для анализа, возможность эффективной реализации на платформе Pentium Pro, а также возможность эффективной аппаратной реализации.
350
ПРИЛОЖЕНИЯ
Математические операции алгоритма
При реализации алгоритма выполняются операции над 8- и 32-битовыми векторами (байтами и 4-байтовыми векторами).
Байтовые операции. Байты рассматриваются как элементы конечного поля Р = GF{ 28) порядка 28 с бинарными операциями Фи*. Операция ф представляет собой поразрядное суммирование байтов по модулю 2 или так называемое ХО7?-суммирование. Операция • - это умножение полиномов, соответствующих байтам, по модулю неприводимого двоичного полинома т(х) = х8Фх4Фх3ФхФ1, где байту b = (ЬъЬб,...,Ьо) биективно соответствует полином
b(x) = hyXJ®bex6®-. .®bo-
С помощью расширенного алгоритма Евклида можно найти для элемента поля Р обратный элемент по умножению.
Произведение многочлена Ь(х) на х равно полиному
Ь(х)*х = Ьух&®Ь(Х®Ьзх(‘®Ь4х5®Ьзх4®Ь2Х3®Ь\Х2®Ьох, приведенному по модулю т(х). То есть для умножения на х: к промежуточному байту Ь’, полученному сдвигом влево байта b на одну позицию, приписывается справа 0:
b’= (b6, Ь5, Ь4, b3, b2, bi, bo, 0);
если Ь2 = 0, то байт Ь’ и есть результат умножения, если b2 = 1, то результат получается с помощью ХОЛ-суммирования полиномов Ь(х)*х и т(х) или, что равносильно, байтов Ь' и «1 В» (в шестнадцатеричном представлении т(х) ~ «11 В»).
Операцию умножения х на многочлен Ь(х) обозначим xtime(h). Умножение многочлена £>(х) на х* равносильно ^-кратной композиции операции xtime(b).
Операции с 4-байтовыми векторами. Четырехбайтовые векторы можно представлять с помощью полиномов степени не выше 3 с коэффициентами из Р. Сложение 4-байтовых векторов производится путем ХО7?-суммирования, что равносильно суммированию в поле Р коэффициентов при соответствующих степенях полиномов.
351
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Умножение двух полиномов производится с последующим приведением произведения по модулю полинома М{х) = л4+1. Иначе говоря, если с(х) = а(х)®Ь(х), где
а(х) = ajx3+а2Х2+а1х+ао,
b(x) = b3X3+b2X2+hix+bo,
с(х) = C2X3+C2X2+CiX+Cq, то
С1 С2 ксз>
Ч а, а2 1аз
а3 а2
ао аз ао
аг ах
«2 аз ао>
Полином М(х) не является неприводимым над GF( 28), следовательно, умножение на фиксированный полином не всегда является обратимым. Однако в шифре Rijndael умножение реализуется на фиксированный полином, для которого обратный существует.
Произведение многочлена Ь(х) на х равно полиному
Ь(х)®Х = ЬуХ4+Ь2Х3+Ь\Х2+ЬоХ, приведенному по модулю М(х). Результатом умножения является полином b2x>+bix2+box+bj. Таким образом, умножение на х равносильно левому циклическому сдвигу байтов внутри вектора.
Описание алгоритма
RIJNDAEL - итеративный обратимый блочный шифр с варьируемыми размерами ключа, блоков информации и числом циклов шифрования. Цикловое преобразование шифра однородно и состоит из трех типов слоев. Под однородностью преобразования понимается то, что каждый бит состояния обрабатывается аналогичным образом.
Выбор конструктивных параметров слоев осуществлен в соответствии с определенной стратегией (Wide Trail Strategy):
1)	слой линейного перемешивания обеспечивает с помощью линейного преобразования хорошие перемешивающие свойства алгоритма (диффузию) уже после нескольких циклов шифрования;
352
ПРИЛОЖЕНИЯ
2)	нелинейный слой реализует параллельное применение 5-боксов с оптимальными (в худшем случае) нелинейными свойствами;
3)	слой добавления ключа реализует подмешивание ключа к промежуточному состоянию с помощью ХОЯ-суммирования.
Перед первым циклом и в завершение последнего цикла алгоритма применяются отображения отбеливания.
Для достижения обратимости шифра слой линейного перемешивания последнего цикла изменен по сравнению со слоями линейного перемешивания остальных циклов.
Состояния, ключи и число циклов шифрования
Входные, промежуточные и выходные блоки данных (состояния) удобно представить в виде прямоугольных массивов байтов S = (а#); i - 0,1,2,3; j - 0,1,2,..., М>-1, имеющих 4 строки и Nb столбцов, где Nb есть длина блока, деленная на 32. Последовательность битов состояния записывается по колонкам сверху вниз, колонки следуют слева направо.
Ключ к также можно представить в виде прямоугольного массива байтов, который имеет 4 строки и Nk столбцов, где Nk есть длина ключа, деленная на 32. Если колонку каждого из массивов рассматривать как 4-байтовое слово, то можно считать, что ключ и всякое состояние есть последовательность 4-байтовых слов.
Длины блока и ключа могут выбираться независимо друг от друга и составляют, как правило, 128, 192 или 256 бит.
Ключ к может иметь любую длину, кратную 4 байтам, но если его длина отличается от 128, 192 или 256 бит, необходимо доопределить число h циклов шифрования.
Длина блока также может быть любой, кратной 4 байтам, но не менее 16 байт. При этом необходимо доопределить 3 константы сдвига.
Число циклов шифрования h зависит от Nb и N^
h	Nk =4	Nk =6	Nk = 8
Nh=4	10	12	14
Nh=6	12	12	14
Nh =8	14	14	14
353
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Цикловое преобразование
Слои, составляющие каждый цикл (кроме последнего цикла), реализованы следующими четырьмя преобразованиями:
1)	заменой байтов;
2)	сдвигом строк;
3)	перемешиванием столбцов;
4)	наложением циклового ключа.
Замена байтов F (нелинейная подстановка) действует на все байты состояния S независимо и состоит из двух операций:
1) для каждого байта состояния (представленного двоичным полиномом степени не выше 7) находим обратный элемент в поле Р, при этом ‘00’ переходит в ‘00’;
2) к полученному байту, представленному двоичным вектором (XftXi, ...,хт), применяем невырожденное аффинное преобразование А
над GF(2) :									
	(х Ло		ы		Г1 1 1 1 1 0 0 оЛ		Гх > Ло		ГоЛ
	*1		У1		0 111110 0		X,		1
	х2		Уг		0 0 111110		х2		1
	хз			Уз			0 0 0 1 1 1 1 1		х3	©	0
	Х4		У4		1 0 0 0 1 1 1 1		Х4		0
	Х5		У5		1 1 0 0 0 1 1 1		х5		0
	4		Уб		1 1 1 0 0 0 1 1		Х6		1
	ЧХ7 )				<1 1 1 1 0 0 0 1;		<Х7 )		Id
Таким образом, Р(ау) = А(а^).
Сдвиг строк состояния B(S) относится к слою линейного перемешивания и реализуется как циклический сдвиг вправо трех последних строк на С], С2 и С3 байт соответственно. Значения , С2 и С3 зависят от величины Nb:
	С,	С2	
	1	2	3
^=6	1	2	3
^=8	1	3	4
354
ПРИЛОЖЕНИЯ
Перемешивание столбцов состояния P(S) относится также к слою линейного перемешивания и реализуется так. Столбцы рассматриваются как полиномы степени не выше 3 над полем GF (28) и умножаются по модулю х4+1 на фиксированный полином с(х) = '03 'х3 + ’01 'х2 + 'ОГх + '02'.
Наложение i-го циклового ключа q, осуществляется с помощью ХОЯ-суммирования этого ключа с состоянием, i = 1,2,3,... (длина циклового ключа должна равняться числу бит в состоянии).
Ключевое расписание
Генерация цикловых ключей из ключа шифра включает две процедуры: расширение ключа и выбор цикловых ключей. Генерация реализуется на основе следующих принципов:
•	общее количество бит цикловых ключей равно длине блока, умноженной на Л+1, где h - число циклов шифрования;
•	ключ шифра к преобразуется в расширенный ключ;
•	цикловые ключи д, образуются из расширенного ключа следующим образом: 1-й цикловой ключ состоит из первых Nb слов, 2-й - из следующих Nb слов и т. д.
Расширение ключа шифра к происходит с использованием одного из двух вариантов рекуррентного закона. Представим расширенный ключ как последовательность 4-байтовых слов {W[i]}, i = 0,1,2,... Первые Nk слов содержат ключ шифра. Далее, при Nk < 6,
W[i] = W[i-l]®W[i-Nk],i > Nk, i * l-Nk, I = 1,2,3,...
Для i, кратных Nk,
w[Z] = г(Г(итм]))ФИ11-у*]ФС(ад,
где T - циклический сдвиг байтовой последовательности на 1 байт, С(г) есть 4-байтовый вектор (ЯС[г], '00', '00', '00'), 1-й байт которого вычисляется по закону
ЯСИ =xtime(/?C[M]); ЯС[0] = ЮГ; t = 1,2,3...
Если Nk>6, то рекуррентный закон отличается от ранее заданных только при /, для которых i-4 кратно Nb а именно
355
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ _
W[i] = F(W[M])®W[i-^].
На выбор ключа к никаких ограничений не накладывается, но расширенный ключ необходимо вычислять из ключа шифра к и нельзя определять другим способом.
Таким образом, алгоритм шифрования R1JNDAEL состоит из начального наложения циклового ключа, h-\ идентичных циклов шифрования и последнего цикла, в котором отсутствует перемешивание столбцов.
Так как алгоритм шифрования представляет собой композицию обратимых преобразований, то расшифрование производится путем применения обратных преобразований к выходному блоку (состоянию). При замене байтов используется 5-бокс F1, обратный к F, при сдвиге строк три последних строки состояния циклически сдвигаются соответственно на Nh-C}, Nh-C2 и Nh - С3 байт, при перемешивании колонок используется умножение на многочлен й?(х) = 'ОВ '• х3 + '0D '• х2 + '09 '• х + ’0Е', обратный к введенному выше многочлену с(х).
Таким образом, цикл алгоритма расшифрования состоит из следующих последовательно применяемых преобразований:
а)	обратной замены байтов;
б)	обратного сдвига строк;
в)	обратного перемешивания столбцов;
г)	наложение инверсного циклового ключа, получаемого путем применения обратного замешивания столбцов к соответствующему цикловому ключу.
Цикловые ключи в алгоритме расшифрования используются в обратном порядке. В последнем цикле, как и в случае прямого преобразования, отсутствует перемешивание столбцов.
Алгоритм расшифрования играет несколько менее важную роль в конструкции шифра, так как в некоторых режимах работы расшифрование не используется (CFB, гаммирование, вычисление вектора аутентификации).
356
ПРИЛОЖЕНИЯ
Реализация алгоритма допускает высокую степень распараллеливания. Все преобразования на цикле шифрования могут выполняться параллельно над байтами, строками или столбцами состояния. В тех приложениях, где особые требования к скорости шифрования, расширение ключа целесообразно выполнить один раз и многократно использовать расширенный ключ для обработки входных блоков. Если ключ шифра необходимо часто изменять, то расширение ключа можно выполнять параллельно с циклами шифрования.
5.	Стандарт генерации ключей ANSI Х9.17
Для генерации ключей данный стандарт использует 3DES как базовый криптографический алгоритм и специально зарезервированный ключ к этого алгоритма (рис. П-5).
Рис. П-5. Схема генерации ключей ANSI Л9.17
Пусть Ек - подстановка алгоритма 3DES, реализуемая при ключе к. Для генерации i-ro случайного 64-битового ключа Е, используются: 64-битовый входной блок Vj, где Vo - секретный начальный блок, и 7}- метка времени, i = 0,1,2,...:
Ri = Ek(Ek(Ti)®Vl).
Следующий входной блок вычисляется по формуле
V;+1 = ЕДЕДТОФЕ,).
В частности, если требуется сгенерировать ключ для DES-алгоритма, то его можно получить из /?,, скорректировав 8-е биты в некоторых байтах ключа Е„ чтобы достичь четности всех байтов.
357
В. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ
6.	Алгоритм Л5/1
А5 - это поточный шифр гаммирования, используемый для шифрования связи GSM, а именно канала «телефон - базовая станция» Алгоритм Л 5/1 - одна из двух разновидностей алгоритма А5.
Генератор Л5/1 состоит из трех ЛРС над GF(2) длины 19, 22 и 23 (рис. П-6) с характеристическими многочленами соответственно X19®X5®X2®k®l Д22®Х®1 и Х23®Х15©Х2®Х®1.
Сумма битов, снимаемых с трех ЛРС, образует гамму генератора.
Рис. П-6. Криптосхема генератора шифра А5/1
Нелинейность алгоритма достигается за счет неравномерного движения всех ЛРС, контролируемого блоком управления движением (БУД). После вычисления знака гаммы происходит сдвиг некоторых (не менее чем двух) регистров. Сдвиг зависит от значения трех битов: 10-го бита ЛРС-1, 11-го бита ЛРС-2 и 12-го бита ЛРС-3 - и определяется по правилу: если все три бита одинаковы, то сдвигаются все регистры, в противном случае сдвигаются два регистра, чьи управляющие биты совпадают.
Открытый текст представляет собой набор 114-битовых блоков. Перед шифрованием каждого блока происходит перезагрузка состояний регистров, которая определяется однозначно передаваемым
358
ПРИЛОЖЕНИЯ
в линию несекретным номером блока и секретным 64-битовым сеансовым ключом шифра. Определение сеансового ключа шифра равносильно определению состояния регистров после перезагрузки, так как сеансовый ключ восстанавливается однозначно по состоянию регистров и по номеру блока из решения линейной системы уравнений от 64 переменных над полем GF(2).
После перезагрузки регистров осуществляется 100 тактов холостого прогона, то есть 100 первых знаков гаммы игнорируются. В последующие 114 тактов вырабатываемые генератором биты используются для гаммирования блока открытого текста.
И. Голичем, а позднее и А. Шамиром с А. Бирюковым показано, что этот шифр нестоек.
7.	Американский стандарт хеш-функции (SHS)
Американский стандарт хеш-функции (Secure Hash Standard) разработан на основе алгоритма MD4 (Райвеста) и принят в 1993 г. В SHS описана односторонняя функция хеширования без ключа, отображающая любое двоичное сообщение длины не больше 2м в 160-битовую строку.
Сначала исходное m-битовое сообщение (ai,a2,...,am) расширяется до длины, кратной 512, и приобретает вид:
(а 1 ,а2,... ,ат, 1,0’’1,11,... ,1М),
где (11,...,1ы) - двоичная запись числа т, символом О’1 обозначена нулевая строка длины 5-1 и 5 - наименьшее число, при котором 512 делит /и+^+64. Разобьем расширенное сообщение на последовательность 512-битовых блоков (xi,X2,...,x„), где п = (т+5+64)/512.
Значением хеш-функции является финальное состояние после п тактов работы автомата без выхода А = (X,S,h), где Х= S = Уюо, при входной последовательности (Х\,Х2,...,Хп) и начальном состоянии 5о автомата, имеющем шестнадцатеричную запись:
5о = (67452301 EFCDAB89 98BADCFE 10325476 C3D2E1F0).
Функция переходов h задана равенством
Шл) = S'+giSbXt),
359
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
где функция g: V16oxVi6o—описана ниже, а операция + выполняется так: оба слагаемых разбиваются на пять 32-битовых слов, соответственные слова складываются по модулю 232 и результаты объединяются в 160-битовую строку.
Значением функции g(styxt) является финальное состояние после 80 тактов работы автомата без выхода В = (XfSy,hy), где X = У32, 5’ = Уз2(5), при входной последовательности (iv(0),w(l ),...,w(l9)), зависящей от xh и начальном состоянии st автомата В.
Последовательность {w(i)} получается по линейному рекуррентному закону
w(i) = w(f-3)©w(i-8)©w(i-14)®w(f-16), i > 16,
при начальном векторе (w(0),vv( 1),...,vv( 15)), являющемся разбиением) блока xt на 32-битовые слова.
Вычисление функции переходов Л’ автомата В можно отобразить с помощью схемы, данной на рис. П-7.
Рис. П-7. Схема вычисления функции переходов h'
360
____ _	__	_	_	ПРИЛОЖЕНИЯ
Пусть состояние q(i) автомата В в такте i есть набор, состоящий из пяти 32-битовых слов:
Тогда для i = 0,1,. ..,79
a(i+1) = (75(a(z))+/(^(0,<?(D,^(0)+^(D+w(0+2(0)niod232,
b(i+1) = a(0, c(z+1) = r3O(Z>(0), d(j+1) = c(0, e(i"4-l) = d(i), где T - циклический сдвиг координат вектора влево на 1 бит, z(0), z(l), ..., z(79) - 32-битовые слова, имеющие в шестнадцатеричной записи вид:
5А827999, 0<i<19;
6ED9EBA1, 20 < г < 39;
‘ 8F1BBCDC, 40<z<59;
CA62C1D6, 60<z<79.
Функция/ имеет вид:
((Ьлс) v (Ьлт/), ЬФс® d, (b ac)v (b Ad)v (слd),
0<z<19;
20 <i <39, 40<z<59,
60 <i <79;
где л и v есть соответственно побитовое умножение и побитовое логическое сложение векторов, вектор b получен из вектора b инвертированием всех координат.
8.	Криптосистема RSA
Система построена на основе степенной односторонней функции с секретом /(х) = xTnodn. Блок х открытого текста, представленный как целое число из сегмента [0,п-1 ], преобразуется в блок у шифртекста из того же сегмента с помощью вычисления
у = Е(еп)(х) = xemodzt, где (е,п) - открытый ключ, используемый для зашифрования. При расшифровании блок х открытого текста вычисляется также с помо
361
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
щью степенной функции, но с другим показателем d, являющимся закрытым ключом:
х = D(d,n)(y) = /modn.
В основе согласованности этих преобразований лежит теорема Эйлера, в соответствии с которой для каждого числа х, взаимно простого с модулем п, выполнено сравнение
хф(и) = 1 modn,
где ф(и) - функция Эйлера, равная числу натуральных чисел, не превосходящих п и взаимно простых с п. Напомним, что
Л. к* к„
если каноническое разложение числа п есть /у • р22 • ...• р/.
Для того чтобы воспользоваться теоремой Эйлера, в криптосистеме RSA используют числа end, связанные соотношением
e-tfelnHxkp(n).	(*)
Тогда при х, взаимно простом с модулем п,
(xemodn)<zmodn = xe</modn = x,<₽(")+1modM = x-(l)r = x.
Таким образом, с использованием ключа d реализуется корректное расшифрование.
Как выбирать числа е, d и п! Вообще, зная ф(п), число е можно выбрать взаимно простым с ф(и), проверив свойство (е,ф(и)) = 1 с помощью алгоритма Евклида. Тогда d есть решение сравнения (*), и d можно найти с помощью расширенного алгоритма Евклида, определяющего числа d и t такие, что
e-d+t-<p(n) = 1.
В системе RSA модуль п есть произведение двух секретных простых чисел р и q, поэтому ф(п) = (р-1 )•(<? 1). При этом если простое число e>max(p,q), то оно взаимно просто с ф(л), то есть при выработке такого ключа е можно воспользоваться быстрыми тестами проверки чисел на простоту и не применять алгоритм Евклида.
Без знания простых сомножителей р и q трудно определить значение ф(л), и, значит, при секретном числе d определение открытого
362
ПРИЛОЖЕНИЯ
текста по шифрованному сводится либо к трудной задаче извлечения корня степени е из числа у по модулю п, либо к трудной задаче разложения числа п на простые множители.
Заметим, что условие (x,n) = 1 при больших р и q почти всегда выполнено, так как доля таких чисел х есть
ф(л)/л = (n-p-q+l)/n > \-Uq -\!р.
Криптоанализ системы RSA показал, что для стойкого шифрования необходимо выполнение следующих условий [48, 81]:
1)	числа р и q должны быть достаточно большими, не слишком сильно различаться и быть не слишком близкими;
2)	НОД(р-l,q-l) должен быть небольшим, в лучшем случае он равен 2;
3)	числа р и q должны быть сильно простыми (простое число г называется сильно простым, если r+1 имеет большой простой делитель, а г-1 имеет большой простой делитель s такой, что 5-1 также имеет большой простой делитель.
9.	Шифрсистема Эль Гамаля
Криптографическая стойкость системы Эль Гамаля основана на сложности задачи логарифмирования в мультипликативной группе конечного простого поля.
Для функционирования схемы выбирается большое простое число р и а - порождающий элемент мультипликативной группы Z р простого поля Zp. Секретным ключом схемы является целое число q, где 1<<7<р-2. Открытым ключом схемы является набор чисел: р, а и 0, где Р = а9.
Правило зашифрования определяется формулой
= (уьу2), где yi,y2eZ*p и вычисляются по формулам yi = c/mod/?, уг= (x-pr)modp, где г - случайно выбираемое число (рандомизатор), 1<г<р-2.
Правило расшифрования определяется формулой
х =	= (уг( j’i)’9)modp.
363
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Несложно проверить, что расшифрование выполняется корректно.
Использование рандомизатора означает, что здесь реализован шифр многозначной замены. При этом для зашифрования различных блоков (чисел) открытого текста необходимо использовать различные значения рандомизатора. В противном случае соответствующие шифрованные тексты (уьу2) и (yi’,y2’), полученные для открытых текстов х и х\ связаны соотношением
Уг(угУХ = х(х’)''
и текст х’ можно вычислить, если известен текст х.
Система Эль Гамаля может быть обобщена для применения в любой конечной циклической группе G. В качестве G, помимо указанной группы Z р, чаще всего используется мультипликативная группа конечного поля GF(2m) характеристики 2 и группа точек эллиптической кривой над конечным полем.
10.	Схема цифровой подписи Эль Гамаля
Используем обозначения прил. 9.
Для вычисления подписи сообщения х необходимо выбрать закрытый ключ q, представляющий собой случайное число из сегмента [1,/?-2], и вычислить величину р = aq. Набор (р,а,Р) является открытым ключом. После этого реализуется следующий алгоритм:
1.	Выбираем случайное целое число г, 1<г<р-2.
2.	Вычисляем значение у = armodp.
3.	Вычисляем значение 5 = (x-g^-r^mod^-l).
Значением подписи является пара (у,5).
Проверка подписи заключается в проверке равенства ру-у5 = axmodp.
Если равенство верно, то подпись принимается, если нет, то отвергается.
Число г не должно повторяться для различных сообщений. После вычисления подписи его следует уничтожить, иначе по нему и по подписи можно вычислить секретный ключ q.
364
Ответы и решения
Глава 1
1.2.	а) А; 6)АиВ; в) В оЦпВ)о(ВпС).
1.3.	2"'т-2.
1.4.	2-[п/2]-(м-[п/2]).
1.5.	б) | С/1 = (2'’-1)-(2т-1).
1.6.	а) Можно, б) Нельзя.
1.7.	26.
1.8.	Cg+Cg2=36.
1.9.	а) 457; 6)734.
1.10.	а) 20;	6)60; в) 70.
1.11.	а)£с' ; б) (3"+1)/2-2".
1.15.	а) 4; 6)9; в)0.
1.16.	5 и 1.
1.17.	а) (1,1,...,1); б) (0,0,...,0).
1.18.	2?/,-2.
1.19.	Является, так как 18/144.
1.20.	Не является, так как НОД{\Ъ,45) не делит 88.
1.21.	6.
1.22.	Нельзя, так как /г(£>(420))< 10.
1.25.	Являются.
1.26.	Изоморфны при п = 4.
1.27.	{15, 21, 33, 35, 55, 77}.
1.29.	Граф связен, но не сильно связен; (к, п-к).
1.30.	р! (9-р)! (п-9)!.
1.32.	Не имеются.
1.33.	С’ + 1.
1.34.	и (и-1).
1.35.	При и>1 не сбалансировано; С*.
1.36.	3.
/НУИОГ/ИПФИ
365
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Глава 2
2.4. Первое и третье.
2.13. п, ф(и), и/(ти,п).
2.20. 3; и.
2.22. Воспользуйтесь формулой бинома.
2.24. 8, 7.
Глава 3
3.9.	а) От 9 до 10. б) От 9 до 12.
3.10.	Вес произведения (суммы) б.ф. выразите через веса сомножителей (слагаемых).
3.12.	Используя формулу (3.1), провести индукцию по к.
3.13.	а\®а2®...®ап = 1.
3.15.	a)degf=n, Ml = 2л1+(-1)";
б) degf = 1, М| = 2"’1;
B)degf=m, mi =
r)degf=2, Ml = 3-23m’3;
д) degf = n-з, Ml = г”-1^3.
3.16.	Ml = S'”1.
3.17.	Если ||(«i,...,o„)|| = г, to ||<p(xi,...,jc„I)|| = {0, при s, г четных; к, при s четном, г - нечетном; к-(2"'т-1), при s нечетном, г - четном; к-1, при s, г нечетных}.
3.18.	15/31.
3.19.	2*("Л)-25(лЛ,), где s(n,k) = С,?+... + С*.
3.20.	23'2"”2.
3.26.	(а,х) = lZ2-l/2-(-l)(e’x), используя формулу (3.10), значения коэффициентов с<£> увяжите с числами решений линейных систем вида {(а,х) = е, (Ь,х) = 5}, е,5е{0,1}.
3.27.	При нулевом векторе а сомножитель равен нулю.
3.28.	Со = ||/|| = П.
3.32.	Можно, с учетом оценки Анселя для |Л/(«)| имеем:
1000 - 3В(4) = 271 >200.
3.33.	С2’12-(210-2).
366
ОТВЕТЫ И РЕШЕНИЯ
3.35.	17.
3.36.	25 - 6 = 26.
3.39.	а) и б) Не является, в) Является.
3.40.	2-С/.
3.41.	а) Содержится в То- б) Содержится в 7\. в) Полна.
3.42.	а) а = b = 1; б) а = 1, b = 0; в) a®b = 1; г) 0.
3.43.	а) и б) Зависимы, в) Независимы.
3.45.	7; 3; 2"'1; s(n,fc); $(п,£)-1; где s(n,k) = Сл° +...+ Ск.
3.46.	/= Х2@Хз®Л2*Лз®Х1 -Хз Ф%1 'Х2'Хз
f = [5-1 -(-1 )х1-3-(-1 )х2-1 -(-1 )х1фх2+ +1 •(-1 )х3-1 •(-1 )х1фх3+1 -(-1 )х2фх3--1-(-1)х1Фх2Фх3]/8;
g = l©Xi©X2©X2-X3;
g = 1/2+1/4-(-1)х3-1/4-(-1)х1фх3+1/4-(-1)х2фх3+1/4-(-1)х1фх2фх3.
3.47.	/= (01100110) =х2Фх3;
g = (00111100) = х,Фх2.
3.48.	а) рФ8Фе; б) рФу; в) (рФ1)-(аФуФ8ФеФ1).
3.49.	/= (0011110001101001) = хгФхзФх,-х4)
или/= (0110110001101100) = ХгФхзФхдФхг -х4;
или g = (1010010111110000) = 1ФхгФх4Фх1 -х4,
или g = (1011010010110100) = 1 ФхгФх4Фх3 -х4, § = (1011010011100001) = 1ФхгФх4Фх1 -х4Фх3-х4;
/1 = (0010110111010010) = Х1ФхгФх3Фх3-х4,
или/i = (0110110010010011)= Х1ФхгФх3Фх4Фх2Х4, или /1 = (0111110110000010) = Х1ФхгФх3Фх4Фх2-х4Фх3-х4;
§1 = (1010110000110101) = I©xi©x4©xtx3©xix4©x2x3©x2x4, или gi = (1011110100100100) =
= 1 ФХ1ФХ4ФХ1Х3ФХ]Х4ФХ2Х3ФХ2Х4ФХ3Х4.
3.50.	f2 = xi-X2-x3;	§2 = xrx3vxrx4vx3-x4.
3.51.	г) Эквивалентно относительно GL3.
3.52.	а) 24, 45.
3.54.	Первая.
3.55.	JQl0(f) = 5юхА ю, где Аю - группа четных сдвигов, | А101 = 29.
3.56.	2*.
3.58.	п+1.
367
В. М. Фомичев.ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Глава 4
4.3.	а) ху+2ху2+2х2у+2х2у2; б) Зх+2х2+Зх3+2х4.
4.4.	1) В противном случае система полиномов полна при всех к>2.
2)	Следует из п. 1 и равенства max(x,y) = x.Ly+y.
3)	Следует из п. 2 и равенства xly = x-min(x,y).
4)	Следует из п. 3 и равенства min(x,y) = xz>y+x+l.
4.5.	а) Нет (используйте метод неопр. коэф, и тождество х3=х, верное для к = 6). б) Нет.
4.8.	r+i-d, где d = (а,к), r^bmodd.
4.9.	а) к любое, а = к-1, и при к = 2m, где т>1, а = т-1;
б) к любое, а = к-1.
4.15.	(£!)w, гдеМ = &"'1.
4.18.	а) и б) при Q = {0,&-1}; в) Рс.Та при Q = {1, к-1}.
4.19.	Ни при каких к>2, так как а2=(к-а)г mod к.
4.20.	Возьмите подстановку Nx.
4.21.	Породите систему функций из теоремы 4.7.
4.22.	а) При четном к не полна: все функции сохраняют множество четных чисел из
При нечетном к>2 система полна: из х+у и к-2 порождаем все константы, затем х-1, т. е. имеем полную систему из задачи 4.20.
б)	Не полна: функция сохраняет множество {0,1}.
в)	Не полна: функция сохраняет множество {1}.
Глава 5
5.6. Является.
5.8.	<р,0 нелинейны, так как ф(001)®<р(010>р(011), 0(01О)®0( 100)^0(110), 0(0,0,0) = (010); нельзя.
5.11.	Свести к весовой характеристике преобразования регистра сдвига.
5.12.	Нет.
5.13.	Имеет.
5.14.	При простом к имеет; при четном к не имеет.
368
ОТВЕТЫ И РЕШЕНИЯ
5.15.	Нет.
5.16.	Небиективно, так как <р(0,0..0) = ф(1,1,...,1).
5.17.	а), б) и г) <р небиективно, так как 3-я координата ф-я неравно-вер.; в) ф небиективно, так как неинъективно.
5.19.	а) Нет. б) Биективно.
5.20.	а), б), в) Является.
5.21.	Нет, фг, фз небиективны.
Глава 6
6.1.	2) (a,k) = (b,k) = 1.
6.2.	1) и 2) Делит HOK(t, r)/r.
6.3.	a) n0 = п<р = 0, t0 = 1, = 28; б) п0 = 2, t0 = 5,	= 5, Гф = 5.
6.4.	2"'1 циклов длины 2.
6.5.	d циклов длины 27J, где d = НОД(к, 2").
6.7.	а) Является, б), в) Не является.
6.12. 4.
6.13. (2"-1)/ЯОД(г,2”-1).
Глава 7
7.4.	(Х-ЫДгде^г"’1.
7.5.	б)А^= {0,1,1, 0,1,1, ...}, тп(Х) = Х2ФХФ1.
7.6.	{0,2,2,2,3,3,3,5}.
7.8. тп-2"'г-ф(0,0,...,0).
Глава 8
8.6. 1) Из самодвойственности функций имеем:
Е (ф(х)Фф(хФ<?,)) =
где kj*O в силу совершенности ф и kj*2 в силу нелинейности ф.
2) Координатная б.ф. fj равна x\X2®x\X2®X2X?,®ajX\®bjX2®CjX2®d, где aj®bj®Cj = 0; ф обратимо при d = 0, (a,b,c) = (0,0,0) для f, (0,1,1) для/2 и (1,0,1) для/3.
8.8. т<1 +(п-г)/(г-1).
8.12. а) 3 и 2.
8.18. в) х2; г) Х1ФХ3ФХ5.
369
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
8.21.	а)Да. б)ив)Нет.
8.25.	а) 28; б) 45.
8.26.	а) 2; б) 4.
8.28.	Найдется при к = п-2.
Глава 9
9 л ПТ п .2. п -т .
9.3.	В состояние (100) при входах (и,(00)) и (и,(01)) и в состояние
(110)	при других входах, ueV2.
9.4.	Является сокращенным.
9.5.	а) и б) п-т; в) п+т.
9.6.	Не следует.
9.9.	dim<{//2,...}><5(m+A/), гдез(п,к) = С°+...+С* .
9.12.	a) 2-2m = 2m+1, где т = 2"-1; 2-2т-2"-1(2п-1) = 2т+"(2”-1).
9.13.	Мощность всех классов эквивалентности не меньше 2м, где t = min(r,m).
9.14.	a)f=xk-xk+1; 6)f = xkvxk+ivxk+2, в) f= (xk®xk+i)-(xk+2®xk+i).
9.15.	2) \|/биективна no 5i,/= 5,.
9.17.	(|l/||,2,’-l)= 1.
9.18.	Для прямой суммы: НОК(2пЛ,2т-\\ 2"-1, 2m-l, 1; для объединения: 2"-1,2m-1, 1.
9.20.	При ненулевом начальном состоянии ЛРС Т = к-т, где т/2"-1, К2т-1 и А<(2'"-1)-(2"-1), при этом N+T<2m <2"-1); при нулевом начальном состоянии ЛРС N<2m-\ и \<Т<2т, где А+7’<2т.
9.21.	2) g несущественно зависит от переменной, соответствующей старшему разряду.
Глава 15
15.1.	n4-{nqin)',4r-n-(nmy'r-q4r.
15.2.	а) и б) п\-п2 и qi-q2; в) п\+п2 и ^1+92 •
15.4.	а) 2", где А = 2',+"’-1.
15.7.	2) T/HOK(t,T).
370
ОТВЕТЫ И РЕШЕНИЯ
Глава 16
16.1. n4(nqr)nq-(m\)r.
16.2. t = НОК(п(у1), п (у2),..., п (уг)), где п (уО = т!НОД(т,у^.
Глава 17
17.3.	CFBvlOFB.
17	6 Qmin(ntmr)-d
17.7.	1)2""”(г'|).
17.8.	От 5 до 6; 9.
17.9.	г кратно ахрф9.
Глава 18
18.2.	Л({у,})>п+7п-1.
18.4.	п>1001.
18.5.	/= xvx2@xi-x3®xrx3; t = 31 127-2047 = 8059039;
Г+21б+214+210-222 = 3947679.
18.7.	t = 2m'l-(2n-V).
18.8.	t = 2я'1; 2n'2.
18.10.	a) m+1; 6) min(m,r); 2; 1
371
Словарь
После термина указан номер страницы, где он вводится или опре деляется. Знак = означает тождественность терминов.
однородный • 263
согласованный • 263
сокращенный  269
эквивалентный  269
эквивалентные • 183
Автоморфизм • 36
Алгоритм
DES • 341
ГОСТ 28147-89 • 345
А
Автомат
автономный • 178
внешне = автомат Мура • 177 внутренне- 177
без выходов- 178
без памяти = комбинационная схема- 178
генерирующий • 328
инициальный • 178 конечный -176 Мили- 176
ассоциированный с шифрующим автоматом 262
однородные- 181
различающий входы • 187 регулярный = перестановоч-
ный = подстановочный • 177 с постоянной памятью • 178 связный • 180 сильно связный - 180 слабоинициальный- 178 согласованные- 181 сокращенный- 183 управляющий • 328 шифрующий
инициальный  262 моноключевой  265 мультиключевой • 261 обратной связью
по шифртексту  280
Диффи - Хеллмана • 224 шифрования, расшифрования 259
Алфавит • 105, 229
внутренний = множество состояний • 176, 260
входной • 176
выходной • 176
открытого текста • 260
шифрованного текста • 260
Аналог действительнозначный булевой функции 71
Антицепь * 15
АНФ - алгебраическая нормальная форма * 56
Архивация ключей • 219
Атака
криптоаналитическая • 196 по словарю  213
с помощью вставки символа 284
на протокол • 199
ЛИА1О(7Г1И0И
372
СЛОВАРЬ
активная  199
пассивная  199
Аутентификация информации • 194
Базис
в замкнутом классе функ-
ций • 65
векторного пространства • 42
Биграмма • 230
Биекция = взаимно-однознач-
ное соответствие • 8
Блок
входной, выходной цикла
шифрования • 295
дополнение• 308
информации• 275
покрытия множества • 10
управляющий шифрующего автомата = генератор гаммы • 268, 276
шифрующий автомата шиф-
рующего • 268, 276
Буква• 229
Булеан множества * 12
Вектор • 41
координаты • 42
линейная комбинация • 42
нетривиальная • 42
тривиальная  42
линейно зависимые, линейно независимые • 42
начальный = инициализации = синхропосылка• 308
ЛРП- 139
не превосходящий вектора • 17
противоположный  59
соседний по координате • 49
Вершина (графа) • 20
висячая = концевая • 21
изолированная• 21
смежная • 21
Вес
булевой функции  65
вектора • 17
Гамма управляющая = последовательность управляющая • 276
Генератор
«5-т шагов»  329
«стоп-вперед» • 329
Fish- 333
Mush- 334
Pike- 333
гаммы = управляющий блок • 276
Геффе • 326 запаздывающий Фибоначчи • 332
комбинирующий • 321
нелинейный • 322
криптографический • 266
инициальный, слабо инициальный  267
Макларена - Марсальи • 335
пороговый • 327
РРСП- 147
программный  148 табличный • 147
373
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
физический  148 с внутренней обратной
связью • 277
с неравномерным движением • 328
с перемежающимся шагом • 330
сжимающий • 331
типа счетчика • 278
фильтрующий- 319
нелинейный • 319 Гомоморфизм автоматов • 182 шифрующих  264 групп • 36
Граница множества верхняя, нижняя  15
Грань множества верхняя, нижняя * 16
Граф * 20
п-вершинный = граф с п
вершинами • 21 автоматный • 179 двудольный • 21 конечный • 21 ориентированный,
неориентированный • 21 отображения • 123
перемешивающий  156
полный• 21
преобразования
перемешивающий  159
преобразования • 123 с помеченными вершинами
(ребрами, дугами) • 21 связный (сильно связный) • 22
Группа• 33
абелева = коммутативная • 33
аддитивная• 33 инерции функции тривиальная • 78
мультипликативная • 33
подстановок • 36
симметрическая • 33
циклическая • 35
Депонирование ключа * 218
Дешифрование * 196
Диаграмма частично упорядоченного множества * 15
Диаметр графа * 22
Длина
пути • 22
кратчайшего • 22
регистра сдвига • 112
частично упорядоченного множества • 15
ДНФ - дизъюнктивная нормальная форма * 54
Доопределение частичной булевой функции * 66
Дополнение блоков * 308
Дуга (графа) • 21
Задачи дешифрования * 201
Закон
де Моргана • 10
дистрибутивности • 10
рекурсии • 139
Замыкание множест ва
функций - 56
374
СЛОВАРЬ
И
Изоморфизм автоматов • 182 графов  24 решеток • 17
Имитовставка = код проверки подлинности сообщения  206,347
Инволюция * 28
Индекс
аффинности отображения • 164
подгруппы • 34
Квадрат латинский - 253 Класс
левый (правый) смежный • 34 эквивалентности • 12
Классификация булевых функций• 77
Ключ
ц-слабый • 304
автомата шифрующего • 260 эквивалентные  269
архивация • 219 бинарный • 212 входного и выходного отображения • 295
главный- 211 депонирование- 218 долговременный • 211 закрытый • 197 коммутаторный • 212 обновление • 218 отбеливания • 302
открытый • 197
сертификат  224
пересылки- 211
полуслабый • 306
размер • 211
разовый = сеансовый • 211
секретный • 197, 200 слабый • 288 структурный • 211 схема распределения Блома •
226
цикловой• 295
шифра- 195
Книга электронная кодовая = простая замена * 291
Кольцо• 37
коммутативное • 38 с единицей • 38
Комбинация линейная векторов тривиальная, нетравиальная * 42
Компонента связности (сильной связности * 22
Конъюнкция
входящая, не входящая в многочлен Жегалкина • 67
ранг • 67
элементарная • 54
ранг • 54
Координаты вектора • 42
Коэффициент многочлена • 38
Уолша- 71
Фурье • 70
Криптоанализ• 194
Криптография • 194
375
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Криптология • 194
Криптосистема = шифрсистема * 196
Криптосхема • 259
Критерий распространения (КР) • 162 строгий лавинный (СЛК) • 161
Л
Латинский квадрат * 253
Линейная оболочка множества = подпространство, порожденное множеством • 43
Линейная рекуррентная последовательность (ЛРП) • 139
Линейный конгруэнтный генератор (ЛКГ) • 127
Линейный конгруэнтный генератор = ЛКГ максимального периода • 127
Линейный регистр сдвига (ЛРС)- 132
Лозунг • 254
Матрица • 39
Адамара• 71
взаимно-обратная • 40
единичная• 40
инциденций • 24
неотрицательная • 157
обратимая • 40
обратная к матрице • 40
отображения
перемешивающая • 156
подстановочная • 40
положительная- 157
смежности (соседства)
вершин • 24
сопровождающая • 132
умножение тензорное = кро-
некерово • 40
экспонент- 157
Метка времени • 210
Метод
«встречи посередине» = согласования • 303
бесключевого чтения • 286
Дэвиса - Прайса • 315
чтения в колонках • 286
эвристический • 82
Многочлен = полином • 37
аннулирующий
последовательности- 141
аннулирующий элемента • 43
афинный • 56
Жегалкина = АНФ • 56
линейный • 93
минимальный
последовательности • 141
минимальный элемента • 43
неприводимый • 38
по модулю к  93
примитивный- 132
степень• 38
характеристический • 132
ЛРС- 132
Множество
и-множество • 9
376
двойственное к множеству функций относительно подстановки • 94
истинности булевой функции• 65
ключевое • 195
шифрующего автомата  260
конечное, бесконечное • 8
несчетное, счетное• 8
пустое • 9
состояний автомата =
внутренний алфавит • 176
упорядоченное
линейно = вполне • 14
частично  14
двойственное  16
Модель открытого текста
вероятностная • 231
детерминированная • 231
Модуль безопасности • 222
Мощность множества =
порядок множества * 9
Мультиграмма
допустимая • 230
запрещенная • 231
Набор, не превосходящий набора • 95
Надполе = расширение поля • 43
Независимость статистическая открытого и шифрованного текстов • 240
Нелинейность функции • 170
Неотказуемость от авторства • 194
___ СЛОВАРЬ
Нормальное весовое строение = н.в.с. • 106
Нуль кольца • 37
Ъ
Область значений  25 определений • 25
Обновление ключа • 218
Образ гомоморфный группы • 36 элемента • 25
Объединение автоматов * 181
Ограничение отображения * 25
Одночлен • 38, 67, 93
Операция внутренняя бинарная • 32 заданная на множестве • 32 ассоциативная  32 коммутативная  32
над множествами возведение в декартову степень  10
декартово произведение  10
дополнения  10
объединения  9
пересечения  9
разность  10
отбеливания • 302
Отбеливание * 302
Отношение бинарное• 12 рефлексивное  12 симметричное  12 транзитивное  12 эквивалентности 12
377
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Отображение
аффинное • 111
на множестве • 163 бент • 162 биективное или взаимнооднозначное • 25
взаимно-обратное • 26 входное, выходное • 295 единичное = тождественное • 26
инъективное • 25 линейное- ПО нелинейное - 111 нелинейное сильно • 163 обратимое • 26 ограничение • 25 однозначное = функция • 25 сбалансированное • 25, 105 сюръективное • 25
Переменная внутренняя • 112 входная - 112 несущественная = фиктивная • 49, 90 существенная • 50, 90
Перемешивание полное - 156
Период
последовательности • 120
преобразования • 125 элемента относительно преобразования • 124
Петля * 20
Подавтомат автомата • 182
шифрующего • 263
Подграф  24
Подгруппа собственная• 33 циклическая • 35
Подмножество замкнутое относительно операции • 32 собственное • 9
Подпись цифровая * 206
Подполе• 43
Подполугруппа * 32
Подпространство
натянутое на множество • 43
порожденное множеством • 43
Подрешетка  16
порожденная множеством • 16
Подстановка * 28
четная, нечетная • 36
Подформула * 51
Подфункция функции * 52,93
Подход к циклу * 22
Показатель
аффинности преобразования • 166
линейности преобразования • 166
совершенности матрицы • 158
Покрытие множества - 10
Поле• 38
надполе, расширение • 43
подполе • 43
простое • 43
разложения • 44
характеристика • 39
Полином = многочлен • 37
378
СЛОВАРЬ
Полугруппа с единицей = моноид • 32
Полу степень захода вершины • 21 исхода вершины • 21
Порядок аффинности отображения • 163 многочлена • 46 множества (группы, поля
и т. п.) • 9, 33
ключевого  211
разбиения множества • 163
элемента группы • 35
Последовательность
координатная- 121
неразличимые, различимые автоматом • 186
периодическая • 120
чисто  120
псевдошумовая (ПШ) • 146
рекуррентная линейная
(ЛРП)- 139
случайная равномерно распределенная (РРСП)- 146
управляющая = управляющая гамма • 276
Постулаты Голомба • 145
Похищение шифртекста * 308
Правило суммы
для разбиения множества • 11 обобщенное для покрытия множества • 11
Предпериод последовательности • 120
преобразования- 125 элемента относительно преобразования • 124
Представление функции к-значной логики в 1 -й форме • 92 во 2-й форме • 92
Преобразование
Адамара - Прайса • 71 аффинное а-параллель-ное• 134
максимального периода аффинное  133 линейное• 132
множества • 27
подобные • 124 полноцикловое • 126 треугольное- 114 Фурье • 70
Приближение функции  169
наилучшее • 170
Принцип двойственности * 51
Продолжение разбиения множества • 11
Произведение отображений = композиция отображений = суперпозиция отображений) * 26
Прообраз элемента полный * 25
Пространство векторное «-мерное• 42 бесконечномерное • 42
Протокол криптографический • 196,198 двусторонний • 198,200 ключевой • 196
379
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
с арбитром • 198
с посредником или без • 198 самодостаточный • 199 трехсторонний • 198,200
Профиль линейной сложности последовательности * 142
Путь (в графе) • 21
кратчайший • 22
простой • 22
Равенство булевых функций • 50 множеств • 8 отображений • 25 Парсеваля • 72
Разбиение множества * 10 линеаризующее отображение • 163
простое • 164
Разбиение секрета• 215
Разделение секрета • 214
Разложение группы по подгруппе • 34 функции по переменным • 52 числа каноническое • 20
Размах линейный = линейная сложность последовательности * 141
Размер ключа • 211
Размерность = число измерений пространства  42
Ранг конъюнкции * 67
Рандомизатор • 247 Расписание ключевое • 295 Рассинхронизация * 279
Расстояние от функции до множества • 170
Расширение поля = надполе ♦ 43 простое алгебраическое • 44
Расшифрование * 196 Реакция
автомата • 183 инициального  269 шифрующего  269 состояния автомата • 183
Ребро (графа)  20 инцидентное вершине • 21 кратные = параллельные • 21 смежное • 21 соединяющее вершины • 20
Регистр переноса • 337 Регистр сдвига (левого, правого) автономный • 112 линейный- 112 неавтономный • 111
Регистр сдвига (левого, правого) с обратной связью с переносом (РСОСП) • 337
Режим шифрования СВС- 308
CFB- 310
EDE- 315
ЕСВ- 307
OFB- 311
Решетка • 16
Кардано  251
С
Свертка• 205
380
СЛОВАРЬ
СДНФ - совершенная дизъюнктивная нормальная форма • 53
Секретность информации • 194
Серия в последовательности • 151
Сертификат открытого ключа • 224
Сеть перестановок и замен = SP-сеть • 292
Синдром линейный преобразования • 166
Синхропосылка = вектор инициализации =
начальный вектор • 308,346
Система функций = класс функций
алгебраически зависимая • 109 алгебраически независи-
мая • 109
замкнутая • 56, 90
полная• 54, 90
в замкнутом классе • 65
предполная • 65
Система шифра ключевая • 196 устойчивая к компрометациям • 228
Скиталь • 250
СКНФ - совершенная конъюнктивная нормальная форма • 53
СЛК (строгий лавинный
критерий)• 161
порядка г • 161
Сложность
дешифрования
временная • 245
вычислительная  243
линейная последователь-
ности • 141
Слой- 292,298
Соединение автоматов
каскадное• 328
Соединение последовательное
автоматов шифрующих 1-го
типа • 264
атоматов • 182
криптографического
генератора и автомата с постоянной памятью 2-го
типа • 268
Соответствие
взаимно-однозначное = биек-
ция • 8
Сопряжение
последовательностей • 121
Состояние автомата
к-эквивалентное  184
достижимое из состояния • 187
конечное = финальное • 176
начальное • 176
неособенное • 322
эквивалентное 183
Спектр
Уолша- 71
Фурье • 70
Степень
вершины • 21
многочлена • 38, 93
Жегалкина • 67
нелинейности отображения • 163
381
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
одночлена• 67, 93
подстановки • 28
расширения • 43
Стойкость криптографическая  196
Строение нормальное весовое = н.в.с. • 106
Структура отображения линейная * 163
Сумма прямая
автоматов • 182
шифрующих  265
Схема
(«,/)-пороговая разделения секрета- 215
распределения ключей Блома • 226
фильтрующая • 319
Шамира • 215
Г
Таблица Вижинера • 253
Такт• 261
Текст
открытый • 195
различимый, неразличимый шифрующим автоматом • 272
шифрованный = криптограмма • 195
Транспозиция  28
У
Умножение матриц тензорное = кронекерово • 40
Уравнения шифрования, расшифрования * 260
Факторизация по модулю • 38
Факторкольцо * 38
Фактормножество * 12
Фильтр = фильтрующая
функция' 319
Формула • 51, 90
включений и исключений • 11
двойственная • 51
эквивалентная • 51
Функция
Эйлера• 33
Функция = однозначное
отображение * 25
/с-значной логики • 90
биективная по переменной  93
Вебба- 91
двойственная к функции относительно подстановки • 94
импликация  91
константа  90
линейная по переменной  93
максимум  91
минимум  91
монотонная относительно отношения  95
отрицание
Лукашевича - 90
Поста • 90
произведение по mod k  91
разность по mod к  91
усеченная • 91
сбалансированная • 93
сохраняющая множество  94
сумма по mod к  91
существенная  99
транспозиция чисел • 91
382
СЛОВАРЬ
характеристическая 1-го и 2-
го рода • 91
шефферова * 99
элементарная • 90
Р-булева -72
автокорреляции
последовательности • 145
алгебры логики = булева • 49
аффинная * 56, 58
двойственная * 51
дизъюнкция • 50
импликация • 50
константа ♦ 50
конъюнкция • 50
линейная • 59
монотонная • 57
нелинейная * 59
отрицание • 50
равновероятная = сбалансиро-
ванная • 66
самодвойственная - 57
сложение по mod2 • 50
сохраняющая константу • 57
тождественная • 50
частичная — частично опре-
деленная • 66
Шеффера • 50
элементарные • 50
бент • 162
выходная автомата • 177
ЛРС- 139
шифрующего • 262
выходов автомата • 176
шифрующего • 260
инвариантная относительно
группы • 78
инициализации шифрующего
автомата • 260
комбинирующая • 321 координатная отображе-
ния • 106
корреляционно-иммунная
порядка г • 171
мажорирования • 327
максимально нелинейная • 170
обновления ключа
шифрующего автомата • 260
обратной связи • 112
однонаправленная • 205
однонаправленная с ключом =
с потайным входом • 205
переходов * 176
автомата шифрующего • 260
частичная • 177
подфункция • 52
псевдобулева * 72
симметрическая • 79
усложнения * 296
фильтрующая = фильтр • 319
характеристическая
множества • 164
цикловая • 295
эквивалентные относительно
группы • 78
Характеристика
весовая системы функций • 106
поля • 39
Хеш-функция• 205
свободная от коллизий * 205
Целостность информации * 194
383
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Центр генерации и распределения ключей (ЦГРК) • 200
Цепочка множеств полная =
неуплотняемая = насыщенная • 13
Цепь * 15
Цикл * 36
жизненный ключа • 195 независимый - 36
подход • 22
транспозиция • 36 шифрования, расшифро-
вания • 295
Часть графа  24
Чередование * 314
Число
каскадов - 328
натуральное, свободное от
квадратов • 20
обратной связи • 338
сильно простое • 363
случайное• 147
циклов шифрования • 295
Ширина множества частично упорядоченного * 15
Шифр- 195
блочный • 275
итеративный  293
Фейстеля • 296
Вернама по модулю т • 241
гаммирования
групповой  282
двойного  316
модульного  282
замены • 249 биграмм  252 многозначный  252 подстановочный  252
многоалфавитный а колонная замена 252
моноалфавитный = простая замена - 252
позначной  252 пропорциональной  255 идеально стойкий • 240 композиционный • 249 обратимый • 259 перестановки • 249
маршрутный  250 поточный • 275
самосинхронизирующийся = асинхронный • 276
синхронный • 276 рандомизированный • 247 с отбеливанием • 302 совершенно стойкий • 240
Цезаря • 253
Шифрование = зашифрование двойное- 314 тройное с минимальным ключом - ТЕМК • 315
Шифрсистема = криптосистема • 196 гибридная• 197 с открытым ключом = асимметричная • 197 с секретным ключом = симметричная • 197
Э
Экспонент матрицы * 157
384
СЛОВАРЬ
Элемент
алгебраический над полем • 43
нейтральный = единичный • 32
неподвижный • 27
образующий • 35
обратимый • 32
примитивный поля • 45
примитивный расширения • 44
сравнимые, несравнимые • 15
Элементы
взаимно-обратные • 32
Эпиморфизм * 36
385
Литература
1.	Anderson R. J. On Fibonacci Keystream Generators. K. U. Leuven Workshop on Cryptographic Algorithms, Springer-Verlag, 1995.
2.	Beker H., Piper F. Sipher Systems: the Protection of Communications. London: Northwood Books, 1982.
3.	Bemasconi J., Gunther C.G. Analysis of a nonlinear feedforward logic for binary sequence generators. BBC Tech. Rep., 1985.
4.	Beth T., Piper F. The stop-and-go generator. Lecture Notes in Computer Science 209; Advances in Cryptology: Proc. Eurocrypt’84. Berlin: Springer-Verlag, 1985.
5.	Coppersmith D., Krawczyk H., Mansour Y. The shrinking generator. In D. R. Advances in Cryptology - CRYPTO’93. New York: Springer-Verlag, 1994.
6.	Denning D. E. Cryptography and data security. Addison-Weslay Publishing Company. 1982.
7.	DESmedt Y., Quisquater J. J., Davio M. Dependens of Output on Input DES: Small Avalanche Characteristics. Advances in Cryptology: CRYPTO* 84. Lecture Notes in Computer Science 196. New York: Springer-Verlag, 1985.
8.	Dillon J. F. A survey of bent functions. The NS A Technical Journal, 1972.
9.	Forre R. The Strict Avalanche Criterion: Spectral Properties of Boolean Functions and an Extended Definition. Advances in Cryptology: CRYPTO*88. Lecture Notes in Computer Science 403. New York: Springer-Verlag, 1989.
10.	Golic J. D. On the linear complexity of functions of periodic GF(q)-sequences. IEEE Trans. Inform. Theory, v. IT-35, 1989.
11.	Golic J.D. On the security of shift register based keystream generators. In Fast Software Encryption, Cambrige Security Workshop, Dec. 1993. Berlin: Springer-Verlag, 1994.
12.	Gollmann D. and Chambers W.G. Clock-controlled shift registers: A review. IEEE J. Selected Areas Commune, v.7, 1989.
13.	Golomb S. W. Shift register sequences, San Francisco: Holden Day, 1967.
14.	Gunther C. G. Alternating step generators controlled by de Bruijn sequences. Lecture Notes in Computer Science 330. Berlin: Springer-Verlag, 1988.
15.	Gunther C. G. On some properties of the sum of two pseudorandom sequences. Paper presented at Eurocrypt’86.
/1ИДЛа/ПИ0И
386
ЛИТЕРАТУРА
16.	Key Е. L. An analysis of the structure and complexity of nonlinear binary sequence generators. IEEE Trans. Inform. Theory, v. IT-22, № 6, 1976.
17.	Klapper A., Goresky M. Cryptanalysis based on 2-adic rational approximation. Advances in Cryptology: CRYPTO’95. Lecture Notes in Computer Science 963. Berlin: Springer-Verlag, 1995.
18.	Konheim A. Cryptography, a primer. J. Wiley & sons. Inc., 1981.
19.	Kranakis E. Primality and Cryptography. J. Wiley & sons, 1985.
20.	Kumar P. V., Scholtz R. A. Bounds of the linear span of bent sequences.
IEEE Trans. Inform. Theory, vol. IT-29, Nov. 1983.
21.	Lai X. On the DESign and Security of Block Ciphers. ETH Series in Information Processing, v.l, 1992.
22.	L’Ecuyer P. Random numbers for simulation. Communications of the ACM, v.33, № 10, 1990.
23.	Meier W. and Staffelbach O. Nonlinearity criteria for cryptographic functions. Lecture Notes in Computer Science 434. Berlin: Springer-Verlag, 1990.
24.	Meier W. and Staffelbach O. The self-shrinking generator. In Advances in Cryptology - Eurocrypt’94. New York: Springer-Verlag, 1995.
25.	Menezes A., Van Oorschot P., Vanstone S. Handbook of Applied Cryptography. CRC Press, 1996.
26.	Menicocci R. Short Gollmann cascade generators may be insecure. In Proceedings of the 4th IMA Conference on Cryptography and Coding, Cirencester, 1993.
27.	Mercle R. C., Hellman M. On the Security of Multiple Encryption. Communications of the ACM, v.24, № 7, 1981.
28.	Nyberg K. Construction of bent functions and difference sets. Lecture Notes in Computer Science 473. Berlin: Springer-Verlag, 1990.
29.	Nyffeler P. Binare Automation und ihre linearen Rekursionen, Ph. D. thesis, University of Berne, 1975.
30.	Park S.-J., Lee S.-J., Goh S.-Ch. On the Security of the Gollmann CascaDES. Advances in Cryptology - Crypto ’95 (LNCS vol 963), Springer Verlag, 1995.
31.	Preneel B., VanLeekwick W., VanLinden L., Govaerts R., VanDewalle J. Propagation Characteristics of Boolean Functions. Advances in Cryptology: Eurocrypt’90. Lecture Notes in Computer Science 473. New York: Springer-Verlag, 1991.
32.	Rivesl R.L. Cryptography. Handbook of theoretical computer science. 1990.
387
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
33.	Rothaus О. S. On «Bent» Functions. Journal of Combinatorial Theory (A), т.20-3, 1976.
34.	Rueppel R. A. Analysis and DESign of Stream Ciphers. Berlin: Springer Verlag, 1986.
35.	Rueppel R. A. Linear complexity and random sequences. Lecture Notes in Computer Science 219; Advances in Cryptology: Proc. EuroCrypt’85, Springer Verlag, 1986.
36.	Rueppel R. A. When shift registers clock themselves. Lecture Notes in Computer Science 304; Advances in Cryptology: Proc. EuroCrypt’87. Berlin: Springer Verlag, 1988.
37.	Rueppel R. A. and Staffelbach O. Products of sequences with maximum linear complexity. IEEE Trans. Inform. Theory, v. IT-33, № 1, 1987.
38.	Schneier B. Applied cryptography, second edition: protocols, algorithms, and source code in C. J. Wiley & sons, Inc. 1996.
39.	Schnorr C. On the Construction of Random Number Generators and Random Function Generators. Advances in Cryptology. Eurocrypt’88, 1988.
40.	Sibley E. H. Random Number Generators: Good Ones Are Hard to Find. Communications of the ACM, v.31, № 10, 1988.
41.	Siegenthaler T. Correlation-immunity of nonlinear combining functions for cryptographic applications. IEEE Trans. Inform. Theory, v. IT-30, n. 5, 1984.
42.	Simmons G. (Ed.). Contemporary cryptology: the science of information integrity. 1992.
43.	Stinson D. Cryptography: theory and practice. CRC Press, 1995.
44.	Vogel R. On the linear complexity of cascaded sequences. Lecture Notes in Computer Science 209; Advances in Cryptology: Proc. Eurocrypt’84. Berlin: Springer-Verlag, 1985.
45.	Webster A. F. and Tavares S. E. On the DESign of S-boxes. Lecture Notes in Computer Science 218; Advances in Cryptology: Proc. Eurocrypt’85. Berlin: Springer-Verlag, 1986.
46.	Xiao G. Z., Massey J. L. A spectral characterization of correlation-immune functions. IEEE Trans. Inform. Theory, v. 34, n.3, 1988.
47.	Zierler N. and Mills W.H. Products of linear recurring sequences. J. Algebra, v.27, № 1, 1973.
48.	Алферов A. IL, Зубов А. Ю., Кузьмин А. С., Черемушкин А. В. Основы криптографии. M.: Гелиос APB, 2001.
49.	Алгебраическая теория автоматов, языков и полугрупп / Под ред. М. А. Арбиб. 1975.
388
ЛИТЕРАТУРА
50.	Брауэр В. Введение в теорию конечных автоматов. М.: Радио и связь, 1987.
51.	Брассар Ж. Современная криптология: Пер. с англ. М.: Полимед, 1999.
52.	Варфоломеев А. А., Жуков А. Е. и др. Блочные криптосистемы. Основные свойства и методы анализа стойкости. М.: МИФИ, 1998.
53.	Варфоломеев А. А., Пеленицын М. Б. Методы криптографии и их применение в банковских технологиях. М.: МИФИ, 1995.
54.	Виноградов И. М. Основы теории чисел. М.: Наука, 1965.
55.	Гаврилов Г. П., Сапоженко А. А. Сборник задач по дискретной математике. М.: Наука, 1977.
56.	Гантмахер Ф. Р. Теория матриц. М.: Наука, 1988.
57.	Гилл А. Введение в теорию конечных автоматов. М., Наука, 1966.
58.	Гилл А. Линейные последовательностные машины. М.: Наука, 1974.
59.	Гретцер Г. Общая теория решеток. М.: Мир, 1982.
60.	Грушо А. А., Тимонина Е. Е., Применко Э. А. Анализ и синтез криптоалгоритмов. Курс лекций. Йошкар-Ола: МФ МОСУ, 2000.
61.	Кнут Д. Искусство программирования для ЭВМ: В 2 т. М.: Мир, 1977. Т. 2.
62.	Князев А. В. О диаметрах дихотомических графов // Мат. заметки. 1991. Т. 50, №1.
63.	Колбин С. Л. О некоторых свойствах взаимно-обратных систем функций р-значной логики И Дискретная мат. Т. 6, вып. 2. 1994.
64.	Коршунов А. Д. О степени различимости автоматов И Дискретный анализ. Вып. 10. Новосибирск: Наука, 1967.
65.	Коршунов А. Д. Число, степень отличимости и диаметр перестановочных автоматов И ДАН СССР. 1968. Т. 182, № 2.
66.	Кофман А. Введение в прикладную комбинаторику. М.: Наука, 1975.
67.	Кудрявцев В. Б., Алешин С. В., Подколзин А. С. Введение в теорию автоматов. М.: Наука, 1985.
68.	Ленг С. Алгебра. М.: Мир, 1968.
69.	Лидл Р., Нидеррайтер Г. Конечные поля: В 2 т. М.: Мир, 1988. Т. 2.
70.	Мелихов А. Н. Ориентированные графы и конечные автоматы. М.: Наука, 1971.
71.	Месси Дж. Л. Введение в современную криптологию. ТИИЭР // 1988. Т. 76. №5.
72.	Носов В. А. Специальные главы дискретной математики: Учеб, пособие. М., 1990.
389
В.М.Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ___________________
73.	Поваров Г. Н. О групповой инвариантности булевых функций. Применение логики в науке и технике. М.: Изд. АН СССР, 1960.
74.	Поттосин Ю. В. Методы минимизации числа состояний дискретного автомата: Обзор И Автоматика и телемеханика. 1971. № 8
75.	Страздинь И. Э. Аффинная классификация булевых функций пяти переменных И Автоматика и вычислительная техника. 1975. № 1.
76.	Сумароков С. Н. Запреты двоичных функций и обратимость одного класса кодирующих устройств И Обозрение прикладной и промышленной математики. 1994. Т. 1, вып.1.
77.	Трахтенброт Б. А., Барздинь Я.М. Конечные автоматы. Поведение и синтез. М.: Наука, 1970.
78.	Фомичев В. М. Симметричные криптосистемы. Краткий обзор основ криптологии для шифрсистем с секретным ключом. М.: МИФИ, 1995.
79.	Фомичев В. М. Информационная безопасность: Математические основы криптологии. М.: МИФИ, 1995.
80.	Фролов Г. Тайны тайнописи. М.: A/О «Безопасность» и «Инфосервис Экспресс, Лтд.», 1992.
81.	Харин Ю. С., Берник В. И., Матвеев Г. В. Математические основы криптологии. Минск: БГУ, 1999.
82.	Черемушкин А. В. Методы аффинной и линейной классификации двоичных функций. Труды по дискретной математике. М.: ФИЗ-МАТЛИТ, 2001. Т. 4.
83.	Шеннон К. Теория связи в секретных системах // Работы по теории информации и кибернетике. М.: Иностранная лит., 1963.
84.	Шоломов Л. А. Основы теории дискретных логических и вычислительных устройств. М.: Наука, 1980.
85.	Яблонский С. В. Введение в дискретную математику. М.: Наука, 1979.
86.	Ященко В. В. Введение в криптографию / Под ред. В. В. Яшенко. М.: МЦНМО-ЧеРо, 1988.
390
СОДЕРЖАНИЕ
ВСТУПИТЕЛЬНОЕ СЛОВО...................................3
ПРЕДИСЛОВИЕ...........................................4
Часть I. ИЗБРАННЫЕ ГЛАВЫ ДИСКРЕТНОЙ МАТЕМАТИКИ
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ.....................8
1.1.	Понятие множества.............................8
1.2.	Подмножества и операции над множествами.......9
1.3.	Системы подмножеств множества................10
1.4.	Частично упорядоченные множества.............14
1.5.	Свойства некоторых решеток...................17
1.5.1.	Решетка двоичных n-мерных векторов.......17
1.5.2.	Решетка делителей целого числа...........19
1.6.	Графы........................................20
1.6.1.	Основные понятия.........................20
1.6.2.	Пути в графе.............................21
1.6.3.	Отношения между графами..................24
1.6.4.	Способы задания графов...................24
1.7.	Отображения множеств.........................25
1.8.	Задачи и упражнения........................  29
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ......................32
2.1.	Операции, полугруппы, группы.................32
2.2.	Кольца и поля................................37
2.3.	Некоторые свойства матриц....................39
2.4.	Векторные пространства.......................41
2.5.	Конечные расширения полей....................43
2.6.	Задачи и упражнения..........................46
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ.....................49
3.1.	Элементарные булевы функции.'................49
3.2.	Реализация функций формулами.................51
3.3.	Разложение булевых функций по переменным.....52
3.4.	Полнота и замкнутость системы функций........54
3.5.	Важнейшие замкнутые классы...................56
ЛИМОГ/ИИОИ	391
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
3.6.	Критерий полноты системы булевых функций........61
3.7.	Основные способы задания булевых функций........65
3.7.1.	Табличное задание..............................65
3.7.2.	Геометрическое и графическое задание...........66
3.7.3.	Многочлен Жегалкина и действительный многочлен.67
3.7.4.	Спектральное представление.....................68
3.8.	Связь различных представлений функций.............72
3.9.	Понятие о классификации двоичных функций..........77
3.10.	Задачи и упражнения............................84
Глава 4. ФУНКЦИИ Л-ЗНАЧНОЙ ЛОГИКИ.......................90
4.1.	Начальные понятия и элементарные функции........90
4.2.	Важные классы функций Zc-значной логики.......... 93
4.3.	Примеры полных систем в Рк........................95
4.4.	Распознавание полноты и критерии полноты в Рк.....97
4.5.	Особенности fc-значных логик.....................100
4.6.	Задачи и упражнения..............................102
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ.................105
5.1.	О связи отображений с системами функций..........105
5.2.	Критерии сбалансированности отображений..........106
5.3.	Критерии биективности преобразований.............109
5.4.	Некоторые классы отображений.....................110
5.4.1.	Аффинные отображения..........................110
5.4.2.	Отображения регистров сдвига..................111
5.4.3.	«Треугольные» преобразования..................114
5.5.	Задачи и упражнения..............................116
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ.............120
6.1.	Периоды последовательностей......................120
6.2.	Граф отображения.................................122
6.3.	Характеристики периодичности преобразования......124
6.4.	Полноцикловые преобразования.................... 126
6.5.	Линейные регистры сдвига.........................131
392
СОДЕРЖАНИЕ
6.6.	Аффинные преобразования максимального периода..133
6.7.	Задачи и упражнения............................136
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ...................................   138
7.1.	Подходы к анализу последовательностей...........138
7.2.	Линейные рекуррентные последовательности........139
7.3.	Линейная сложность последовательностей..........140
7.4.	Статистические требования к последовательностям.145
7.5.	Статистическое тестирование последовательностей.148
7.5.1.	Частотный тест...............................150
7.5.2.	Автокорреляционный тест......................150
7.5.3.	Последовательный тест........................150
7.5.4.	Тест серий...................................151
7.6.	Задачи и упражнения.............................153
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ................................  155
8.1.	Перемешивающие свойства отображений.............155
8.2.	Совершенность композиции преобразований.........157
8.3.	Усиление свойства совершенности.................160
8.3.1.	Строгий лавинный критерий....................161
8.3.2.	Критерии распространения и бент-отображения..162
8.4.	Алгебраические характеристики нелинейности......163
8.5.	Линейный синдром при итерациях..................166
8.6.	Приближения нелинейных отображений..............169
8.7.	Задачи и упражнения...........................  172
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ.........................176
9.1.	Функционирование автомата, виды автоматов.......176
9.2.	Способы задания автоматов Мили................  178
9.3.	Отношения и операции с автоматами...............181
9.4.	Различимость состояний и входов.................183
9.5.	Периодичность в конечных автоматах..............187
9.6.	Задачи и упражнения.............................190
393
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Часть П. ОСНОВЫ КРИПТОЛОГИИ
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ........................................194
10.1.	Задачи криптографии................................194
10.2.	Основные понятия криптологии.......................195
10.3.	Симметричные и асимметричные шифрсистемы...........197
10.4.	Понятие о криптографических протоколах.............198
10.5.	Организация секретной связи, задачи криптоаналитика... 199
10.6.	Обеспечение целостности сообщений..................205
10.7.	Цифровая подпись...................................206
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА............................211
11.1.	Строение и порядок ключевого множества.............211
11.2.	Вероятностная модель ключевого множества...........212
11.3.	Генерация ключей...................................213
11.4.	Обеспечение секретности ключей.....................214
11.4.1.	Схемы разделения секрета........................214
11.4.2.	Рассылка ключей.................................216
11.4.3.	Хранение ключей.................................217
11.4.4.	Смена ключей....................................218
11.5.	Протоколы обмена ключами...........................219
11.5.1.	Передача ключей с использованием симметричного шифрования..............................................219
11.5.1.1.	Двусторонние протоколы......................219
11.5.1.2.	Трехсторонний протокол......................223
11.5.2.	Управление ключами в системах с открытым ключом.224
11.5.2.1.	Алгоритм Диффи - Хеллмана...................224
11.5.2.2.	Протокол «станция-станция»..................225
11.5.3.	Предварительное распределение ключей............226
11.5.4.	Зависимость протоколов от архитектуры сети......227
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ........................229
12.1.	Характеристики открытых текстов....................229
12.2.	Детерминированные модели...........................230
12.3.	Вероятностные модели...............................231
12.3.1.	Стационарный источник независимых символов алфавита ....232
394
СОДЕРЖАНИЕ
12.3.2.	Стационарный источник независимых биграмм......233
12.3.3.	Стационарный источник марковски зависимых букв.234
12.3.4.	Усложнение стационарных моделей................235
12.3.5.	Нестационарные источники сообщений.............236
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ...........................................238
13.1.	Вероятностные модели шифра........................238
13.2.	Совершенно стойкие шифры..........................239
13.3.	Системный подход к оценке практической стойкости шифров..................................................242
13.4.	Другие подходы к оценке практической стойкости шифров........................................246
13.4.1.	Асимптотический анализ стойкости...............246
13.4.2.	Оценка количества необходимого шифрматериала...246
13.4.3.	Стоимостный подход.............................247
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ______________________249
14.1.	Шифры перестановки................................249
14.1.1.	Шифрование с помощью скиталя...................250
14.1.2.	Маршрутные шифры...............................250
14.1.3.	Решетка Кардано................................251
14.2.	Шифры замены......................................252
14.2.1.	Шифр Цезаря....................................253
14.2.2.	Таблица Вижинера...............................253
14.2.3.	Шифры пропорциональной замены..................255
14.2.4.	Замена биграмм.................................255
14.2.5.	Замена к-грамм.................................257
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ...............................259
15.1.	Математические модели шифра.......................259
15.2.	Автоматная модель симметричного шифра.............260
15.3.	Отношения и операции с шифрующими автоматами......263
15.4.	Моноключевые шифрующие автоматы...................265
15.5.	Криптографические генераторы......................266
15.6.	Эквивалентность ключей и шифрующих автоматов......268
15.7.	Различимость входов...............................272
15.8.	Задачи и упражнения...............................273
395
В. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ
Глава 16. ПОТОЧНЫЕ ШИФРЫ..................................275
16.1.	Различия между поточными и блочными шифрами......275
16.2.	Синхронные поточные шифры......................  276
16.3.	Самосинхронизирующиеся поточные шифры............280
16.4.	Шифры гаммирования...............................282
16.5.	Криптографические свойства поточных шифров............... 282
16.5.1.	Повторное использование гаммы.................283
16.5.2.	Выход гаммы в линию связи.....................284
16.5.3.	Восстановление текста, зашифрованного неравновероятной гаммой...............................285
16.5.4.	Критерии оценки криптографических свойств управляющего и шифрующего блоков......................287
16.6.	Задачи и упражнения..............................289
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ .....................291
17.1.	Сравнение характеристик асимметричных и симметричных блочных шифров..........................291
17.2.	Принципы построения блочных шифров...............291
17.2.1.	Немного истории...............................292
17.2.2.	Итеративные блочные шифры.....................294
17.2.3.	Шифры Фейстеля................................296
17.2.4.	Построение цикловой функции...................298
17.2.5.	Входное и выходное отображения................301
17.2.6.	Построение ключевого расписания...............302
17.3.	Слабые ключи итеративного шифра..................304
17.4.	Режимы шифрования................................306
17.4.1.	ЕСВ (простая замена)..........................307
17.4.2.	СВС (сцепление блоков шифртекста).............308
17.4.3.	CFB (обратная связь по шифртексту или гаммирование с обратной связью)...................310
17.4.4.	OFB (обратная связь по выходу, гаммирование или внутренняя обратная связь)........................311
17.4.5.	Другие режимы шифрования......................312
17.4.6.	Чередование...................................314
17.5.	Усложнение симметричных блочных шифров...........314
17.6.	Задачи и упражнения..............................316
396
СОДЕРЖАНИЕ
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ..................318
18.1.	Элементная база криптосхем......................318
18.2.	Фильтрующие генераторы..........................319
18.3.	Комбинирующие генераторы........................321
18.4.	Корреляционные атаки............................326
18.5.	Генераторы гаммы с неравномерным движением......327
18.5.1.	Схемы с внешним управлением..................328
18.5.1.1.	Генераторы «д-т шагов»...................328
18.5.1.2.	Генераторы с перемежающимся шагом........330
18.5.1.3.	Каскадные генераторы Гольмана............331
18.5.1.4.	Сжимающие генераторы.....................331
18.5.1.5.	Аддитивные генераторы....................332
18.5.2.	Схемы с самоуправлением......................334
18.5.2.1.	Генераторы (3,т)-самоусечения............334
18.5.2.2.	Самосжимающий генератор..................335
18.6.	Генераторы с дополнительной памятью.............335
18.6.1.	Генераторы Макларена — Марсальи..............335
18.6.2.	Регистр сдвига с обратной связью с переносом.337
18.7.	Задачи и упражнения.............................339
ПРИЛОЖЕНИЯ...............................................341
1.	Алгоритм шифрования DES............................341
2.	Алгоритм ГОСТ 28147-89.............................345
3.	Блочный шифр IDEA..................................347
4.	RIJNDAEL...........................................350
Математические операции алгоритма....................351
Описание алгоритма...................................352
Состояния, ключи и число циклов шифрования.........353
Цикловое преобразование............................354
Ключевое расписание................................355
5.	Стандарт генерации ключей ANSI Х9.17...............357
6.	Алгоритм Л5/1......................................358
7.	Американский стандарт хеш-функции (SHS)............359
8.	Криптосистема RSA..................................361
9.	Шифрсистема Эль Гамаля.............................363
10.	Схема цифровой подписи Эль Гамаля.................364
Ответы и решения.........................................365
Словарь..................................................372
Литература...............................................386
397