Text
                    в. М. Фомичев
ДИСКРЕТНАЯ МАТЕМАТИКА
И КРИПТОЛОГИЯ
Курс лекций
Под общей редакцией
доктора физико-математических наук
Н. Д. Подуфалова
Москва ."ттотту]" .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 экз. Заказ <М%9 ЗАО "ДИАЛОГ-МИФИ", 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 года лпАпостт
ПРЕДИСЛОВИЕ Предлагаемая читателю книга задумана как учебник по охватывающим 3 семестра курсам «Математические основы криптологии» и «Криптографические методы защиты информации», читавшимся автором в течение 10 лет на факультете информационной безопасности МИФИ. Учебник предназначенупрежде всего для студентов, обучающихся по специальности 075500 - «Комплексное обеспечение информационной безопасности автоматизированных систем», но может быть также полезен молодым специалистам и аспирантам, специализирующимся в области криптографических методов защиты информации. Преподаватели могут использовать учебник для подготовки лекций и семинарских занятий. Цель данного учебника - представить в единой книге основы математического аппарата, необходимого для изучения основ криптологии, и изложить базовые вопросы криптологии, используя математический язык как инструмент достижения лаконичности и точности утверждений. Современная криптология, корнями уходящая во многие фундаментальные математические науки, впитала в себя огромное количество теорем, фактов, криптографических схем, алгоритмов и пр. Невозможно уместить все это в одной книге, не ограничивая материал при отборе. Поэтому важно пояснить принципы отбора материала, а также структурные и содержательные особенности учебника. Книга состоит из двух частей: в первой представлены избранные главы дискретной математики, необходимые для изучения шифров, во второй - основы криптологии. Основной «математический маршрут» читателя по первой части учебника выглядит так: дискретные множества -> отображения множеств -> конечные автоматы. К первой группе вопросов относятся необходимые сведения (гл. 1 и 2) о теоретико-множественных операциях, о некоторых бинарных отношениях и алгебраических структурах, заданных на конечных множествах.
Предисловие Вторая группа вопросов весьма обширна и охватывает отображения J^"^-^J^'"\ где пит - натуральные числа, X - конечное множество и, при необходимости, кольцо вычетов или поле. В связи с этими отображениями рассмотрена следующая тематика: булевы функции (гл. 3), функции А;-значной логики (гл. 4), критерии сбалансированности и биективности отображений (гл. 5), периодические свойства последовательностей и преобразований множеств (гл. 6), криптографические свойства псевдослучайных последовательностей (гл. 7) и нелинейных отображений (гл. 8). Третья группа вопросов (гл. 9) касается автоматов Мили, которые являются подходящей математической моделью многих алгоритмов, реализуемых электронными схемами и компьютерными программами. Для рассмотрения отдельных вопросов как в первой, так и во второй части учебника этот «запас знаний» недостаточен, так как местами используются теоремы линейной алгебры и некоторые начальные сведения из теории вероятностей. Разделы по этим математическим дисциплинам не включены в книгу ввиду ограниченности ее размеров, в этих случаях потребуется соответствующая подготовка читателя. Предметом второй части являются шифрсистемы, используемые для защиты дискретной информации. Основное внимание уделено симметричным шифрсистемам, тем не менее дается понятие об асимметричных и гибридных шифрсистемах, сравниваются достоинства и недостатки обоих принципов шифрования. Обсуждены особенности задач криптографии и криптоанализа - составных частей криптологии (гл. 10). Рассмотрены основные компоненты криптосистем, определяющие их стойкость: криптографические протоколы, ключевые системы (гл. 10 и 11), семейства шифрующих отображений или алгоритмы шифрования (гл. 12-18). В гл. 12 рассмотрены модели открытых текстов, в гл. 13 представлены различные подходы к оценке стойкости криптосистем. В гл. 14 все шифры классифицируются на шифры замены и перестановки, дается представление об эволюции шифров замены и перестановки с древних времен до начала «машинной» эры в XX в. Гл. 15 посвящена математическим моделям современных симметричных шиф-
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ров - шифрующим автоматам, содержательное определение которых введено автором с целью преодоления ряда недостатков, свойственных моделям на базе автоматов Мили, рассматривавшимся ранее. В гл. 16, 17 и 18 представлены принципы построения и криптографические свойства соответственно поточных шифров, блочных шифров и криптографических генераторов. В гл. 19 дано описание некоторых криптографических схем, что дает возможность предметно изучить реализацию тех или иных криптографических принципов. Для закрепления материала в завершение большинства глав даны задачи и упражнения, в общей сложности около 300 задач. Основная масса задач относится к первой части учебника, при изучении материала второй части целесообразно перенести «центр тяжести» практических занятий на лабораторный практикум. Несколько задач для гл. 3 и 4 заимствованы из [55]. Многие задачи носят «фольклорный характер», то есть хорошо известны специалистам и их авторство установить невозможно. Ряд задач сформулирован автором. В конце книги выборочно и по возможности лаконично даны ответы и решения. Все определенные термины выделены в тексте полужирным шрифтом и систематизированы в алфавитном порядке в словаре терминов. Такие объекты, как утверждения, теоремы, рисунки, а также наиболее важные для изложения материала формулы отмечены двойным номером, первый из них есть номер главы, а второй - порядковый номер объекта в главе. По такому же принципу используется двойная, тройная и четверная нумерация для разделов глав и их составных частей. Окончание доказательств отмечено в тексте символом ♦. В завершение приведен список литературы, использованной при подготовке книги. Каждая работа из списка была в той или иной мере полезна при написании учебника. И все же определенные методические предпочтения были сделаны: при изложении некоторых вопросов теории булевых функций и функций к-значной логики - книге С. В. Яблонского [85], при обращении к описаниям криптографических схем, режимов шифрования и криптографических протоколов - книге Б. Шнайера [38], при рассмотрении криптографических свойств шифров - работам Р. Рюппеля и книге Алферо-
Предисловие ва А. П., Зубова А. Ю., Кузьмина А. С, Черемушкина А. В. [48]. Помимо представленных в списке работ необходимо упомянуть весьма интересный неопубликованный обзор по поточным шифрам, подготовленный Б. Емельянниковым. Обзор в электронном виде был распространен им среди коллег совершенно бескорыстно. Автор благодарен за полезные доброжелательные замечания и содействие в издании книги Н. Д. Подуфалову, С. П. Горшкову, В. А. Копытцеву, О. А. Логачеву, Ю. В. Логинову, Т. В. Петровой и В. В. Ященко. Отзывы о книге и замечания, направленные на ее улучшение, автор с благодарностью примет по адресу kaf42@mail.ru. В. М. Фомичев Май 2003 года
Часть I ИЗБРАННЫЕ ГЛАВЫ ДИСКРЕТНОЙ МАТЕМАТИКИ Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ 1.1. Понятие множества Понятие множества является фундаментальным в математике и определяется, как правило, через равносильные понятия, такие, как совокупность, семейство, класс и др. Например: множество есть совокупность объединенных по некоторым признакам различных объектов, называемых элементами множества. Если X - элемент множества X, то говорят, что х принадлежит X, при этом пишут: хеХ .В противном случае делается запись: х€Х или хеХ. Два множестваХиУ равны (или не равны), запись -X=Y(ХфУ), если состоят из одних и тех же элементов (найдется элемент одного множества, не являющийся элементом другого множества). Множество, состоящее из конечного (бесконечного) числа элементов, называют конечным (бесконечным). Говорят, что между множествами X и Y существует взаимнооднозначное соответствие (или биекция) ф, если каждому элементу л: G X соответствует единственный элемент ф(л:)еУ и каждому элементу yeY соответствует единственный элемент хеХ, такой, что ф(л:) = у. Записываем это: ф:Х<->У. Бесконечное множество X, элементы которого можно занумеровать (то есть между множеством X и натуральным рядом существует взаимно-однозначное соответствие), называется счетным. Остальные бесконечные множества называются несчетными. Для описания конечного множества X, состоящего из элементов обычно используется запись X = {х\, хъ ■■■ ,^п\, порядок следования элементов несуществен. £mcomms\ 8
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ Число п элементов конечного множества X называют мощностью или порядком множества и обозначают через \х\. Множество мощности п часто называют п-множеством. Кроме записи, использующей перечисление элементов множества, для задания множества применяют описательный способ и рекурсивный способ. Например, если Л^ - множество всех натуральных чисел, то множество М четных натуральных чисел описывается так: М = [ieN: i делится на 2 без остатка} - или задается рекурсивным способом: М = {i&N: 2еМ, и если ieM, то /+2еМ}. 1.2. Подмножества и операции над множествами Если каждый элемент множества Y является элементом множества X, то Y называется подмножеством множества X. В этом случае используется запись YcX. Если УеХи Y ^ X, то используется запись YczX . В этом случае множество У называется собственным подмножеством множествах. Включение с обладает свойствами: а) рефлексивности - ХсХ; б) транзитивности - если ХсУ, YcZ, то XcZ. Включение с обладает свойством транзитивности. Множество, не содержащее элементов, называется пустым и обозначается через 0. Считается, что 0 является подмножеством любого множества и | 01 =0. Для каждой пары множествXnYопределим 1) операцию объединения: XuY= {х: xeXnnnxeY}; 2) операцию пересечения: ХпУ= {x:x&Xnx&Y}. Каждая из этих операций коммутативна и ассоциативна: ХиУ = УиХ; ХпУ = Yr^;
е. М. Фомичев^ДИСКРЕТНАЯМАТЕМАТИКА ИКРИПТОЛОГИЯ (XulOuZ = XuCyuZ); (ХпУ)п2 = Xn{Yr\Z). Операции объединения и пересечения связаны законами дистрибутивности: Xn{YuZ) = (XnY)u(XnZ); Хи(Уп2) = (XuY)n{XKjZ). (1.1) Разность множеств ХиУ определяется так: X\Y= {х:хеХих€¥}. Из этого определения следует: {X\Y)^{XnY) = X. Если Х^и, то дополнением для множества X в множестве U назовем множество X: X =и\Х. Справедливы следующие равенства, называемые законами де Моргана. Если Х,У е t/ , то XnY = XuY; XuY = XnY. (1.2) Декартовым произведением множеств Х\,Х2,...,Хт называется множество наборов из m элементов {(xi,X2,...,Xm)}, гдел:,еХй i = l,m. Декартово произведение ХхХх...хХ с т сомножителями называется т-н декартовой степенью множества X и обозначается Х^'"\ Несложно доказать (математическая индукция), что m \XixX2X...xX„\ = ll\X.\. 1.3. Системы подмножеств множества Семейство множеств {XuX2,...,Xic} называется покрытием множества X, если имеет место равенство X = XiuX2U...uXb множества Х1Д2,..Д* называются блоками покрытия. Семейство непустых множеств {ХиХ2,---,Хк} называется разбиением множествах с блоками Х1Д2.-Дь если: 10
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ 1) ЭТО семейство является покрытием множества X; 2) Xi nXj = 0 для различных i,je{],2,...,k}. Порядок записи блоков несуществен в силу коммутативности операции разбиения. Разбиение {Y\,Y2,..,Ym} множества X называется продолжением разбиения {Х\,Х2,...,Хк} того же множества, если для всякого блока У, разбиения {Y\,Y2,...,Y,„} найдется блок X, разбиения {Х\,Х2,...,Хк} такой, что YjcXj. Из данного определения следует, что т>к. Число Г„(л,,Л2,...,л^) разбиений множества мощности п на к непустых блоков, где мощность /-го блока разбиения равна щ, i=\,2,...,k, п\+П2+..-+Пк = п, определяется формулой Т„{щ,п^,...,щ) = —-— . п,\п^\...п,\ Для разбиения справедливо правило суммы: \х\ = \Xi\+\X2\+...MXk\, для покрытия - обобщенное правило суммы: \Х\ < \Xi\+\X2\+...+\Xk\. Для точного подсчета и оценивания порядка множества через порядки множеств покрывающей системы используется формула включений и исключений (доказывается методом математической индукции [66]). Пусть имеется Л^ предметов и п свойств z\, гъ ■■■, z,„ которыми обладает или не обладает каждый из предметов. Обозначим через N{Zj ,...,z, ) число предметов, обладающих свойствами z, ,...,z, (и может быть, некоторыми другими). Тогда число No предметов, не обладающих ни одним из свойств z\, Z2, ■■■, z,„ равно No = N-Si+S2-S3+...+{-i)"S,„ где Sk определяется формулой, к= 1,2,...,л: 11
B.M. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Из формулы следует, что для покрывающей системы подмножеств ХьХг,--.-^™ конечного множества А' справедливо: |X,uX2U...uX™|=XIX|- X X, пХ. '] '2 + ... ...+(-!)'•'• ISi, <...<i. <т X. П...ПХ. '1 'к +...+(-1)'"-'.^1ПХ2П...ПХ„ Подмножество А множества называется бинарным отношением, заданным на множестве X. Бинарное отношение А на множестве X назьшается: 1) симметричным, если {х,х)еА для любого леА'; 2) рефлексивным, если из {х,у)еА следует (у,х)еА; 3) транзитивным, если из {x,y),(y,z)eA следует {x,z)e^A. Если бинарное отношение является симметричным, рефлексивным и транзитивным, то его называют отношением эквивалентности. Принадлежность двух элементов множества X одному блоку некоторого разбиения множества X является отношением эквивалентности на множестве X. С другой стороны, всякое отношение эквивалентности А на множестве X определяет разбиение множества X на классы эквивалентности, то есть на подмножества, каждое из которых состоит из эквивалентных элементов. Множество этих классов эквивалентности называют фактор-множеством множества X по отношению А и обозначают Х/А. Множество всех подмножеств множества X называется булеаном множества X и обозначается 2^. Утверждение 1.1. Если X есть л-множество, то |2^| = 2". Доказательство. Каждому подмножеству Y множества Х= [х\,Х2,...,х„) взаимно-однозначно соответствует л-мерный двоичный вектор а^. = {а,,а2,...,а„}, в котором а, = 1 тогда и только тогда, когда x,G Y, i = l,n . Следовательно, |2^| = 2". ♦ В силу того же соответствия легко показать, что числа неупорядоченных и упорядоченных подмножеств мощности т данного множества мощности п соответственно равны: 12
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ " Ы ml(n- а:=- {п-т)\ {п~т)1 Теорема 1.1 (Шпернер). Пусть S = {Х\,Х2 Х^} - семейство различных подмножеств «-множества X, и мощности подмножеств равны л,, njv^'im соответственно. Если семейство S состоит из попарно невложимых подмножеств, то есть для всех i,je{l,2,...,m}, 1Ф], выполняются неравенства Х,\Х, Ф 0, то ;1, 1=1 \ '/ Доказательство. Рассмотрим цепочку подмножеств множества X: 0 = CQ(zq(z...(zCi(z...(zC„=X, 1("-Г" где |С,| = /, i = 0,n. Такая цепочка называется полной (неуплотняе- мой, насыщенной), так как между ее звеньями нельзя вставить дополнительного множества. Число различных полных цепочек равно л!. Рассмотрим полную цепочку, содержащую в качестве звена множество Xj, 1 <i<m. Если \Xi\ = г, цепочка имеет вид и число таких цепочек равно г!{п-г)!. При /ф] ни одна полная цепочка не проходит одновременно через X, и Xj, иначе было бы верно либо ХДХ, = 0, либо XpCi = 0. Поэтому число полных цепочек, про- m ХОДЯЩИХ через все подмножества семейства S, равно ^л^ !•(«-«,)!. 1=1 Это число не превышает числа всех полных цепочек. Поэтому т Y,n,Hn-n,)\<n\. 1=1 Отсюда следует справедливость теоремы Шпернера. ♦ 13
&_М. Фомичев^ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Используем далее обозначения: [х] - целая часть числа х, В{п)=С[""^. Следствие. В л-множестве имеется не более В{п) попарно невло- жимых подмножеств. Доказательство следует из теоремы 1.1 и неравенств (;;.)^ад,1</: <i<m. 1.4. Частично упорядоченные множества Множество А называется упорядоченным (линейно упорядоченным, вполне упорядоченным), если для любых а.Ь.сеА выполняются свойства: (1) рефлексивность {а<а); (2) антисимметричность (если а<Ь, Ь<а, то а = Ь); (3) транзитивность (если а<Ь, Ь<с, то а<с); (4) линейность (либо а<Ь, либо Ь<а). Пример. Множество R действительных чисел, множество 2^целых чисел (в обоих случаях выражение а<Ь означает, что число а не превосходит числа Ь). Множество А называется частично упорядоченным (ч.у.м.), если для любых а.Ъ.сеА выполняются свойства (1)-(3). Примеры: 1. Декартова л-я степень упорядоченного множества X, где |Х|>1. Для элементов х = {х\,Х2,...,х„) и у = (у\,уъ---,Уп) множества Х^"' положим: х<у <^ х,<у, для / = 1,2,...,л (символ <^ означает «тогда и только тогда, когда»). Нетрудно видеть, что Х^"' - ч.у.м., но не упорядоченное множество. 2. Множество Z целых чисел, где а<Ь <^ а/Ь {а делит без остатка число Ь). 14
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ Из приведенных примеров видно, что при определении ч.у.м. А следует определить не только множество А, но и рассматриваемое отношение порядка. В общем случае ч.у.м. будем обозначать <А,<>. Когда рассматриваемое отношение порядка не допускает двусмысленности, ч.у.м. будем обозначать просто символом А. Ч.у.м. А можно рассматривать как множество, на котором задано бинарное отношение со свойствами (1)-(3). Диаграмма ч.у.м. А (диаграмма Хааса) - это изображение на плоскости множества А, пара элементов (а,Ь) которого соединена дугой (направленным отрезком) тогда и только тогда, когда а<Ь, а^Ь и не найдется отличного от аиЬ элемента сеА такого, что а< с< Ь. Иначе говоря, диаграмма ч.у.м. А - это ориентированный граф (см. разд. 7 данной главы), множество вершин которого совпадает с множеством А, и пара {а,Ь) является дугой графа тогда и только тогда, когда а<Ь, а^, и не найдется отличного от а и b элемента сеА такого, что а< с< Ь. Цепь в <А,<> - это подмножество множества А, обладающее свойством линейности. Элементы а,Ь ч.у.м. А называются сравнимыми, если они принадлежат некоторой цепи, и несравнимыми в противном случае. Несравнимость элементов а и b обозначим а ||^- Таким образом, в цепи нет несравнимых элементов. Антицепь в <А,<> - это подмножество множества А, любые два различных элемента которого несравнимы. Длину цепи С (обозначим ее 1(C)) определим как длину соответствующего пути в диаграмме, то есть 1(C) = | О -1. Длина ч.у.м. А (обозначим ее 1(A)) определяется как длина самой длинной из цепей множества А, то есть 1(A) = п, если в А найдется цепь длины л и не найдется цепи длины л+1. Ширина ч.у.м. А (обозначим ее h(A)) определяется как мощность самой мощной из антицепей множества А, то есть h(A) = п, если в А найдется антицепь, состоящая из п элементов, и не найдется антицепи, состоящей из л+1 элементов. Пусть В - подмножество ч.у.м. А и аеА. Элемент а называется верхней (нижней) границей множества В, если Ь<а (a<h) для всех 15
3. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ЬеВ. Верхняя (нижняя) граница а множества В называется его верхней (нижней) гранью, если а<с (с<а) для любой верхней (нижней) границы с множества В. Обозначение: а = sup5 (а = infS). Ч.у.м. А называется решеткой, если для всех а,ЬеА: s\ip(a,b)eA, inf(a,b)eA. Докажем корректность данных определений на примере зирЯ. Действительно, если «о = sup^ и «i = sup^, то одновременно ao^^i и ai<ao. Отсюда по свойству (2) из определения ч.у.м. имеем «о = «i- ♦ Для двух элементов а,Ь еА выполнены свойства: а<Ь <^ inf{a,b} = а<^ sup{a,b} = b. Наряду с ч.у.м. <А,<> можно рассматривать ч.у.м. <А,>>. При этом полагается, что а<Ь <» Ь>а. Второе множество называется двойственным первому, и наоборот. Если имеется утверждение о ч.у.м., то, заменяя в нем все вхождения < на >, получаем утверждение, двойственное к исходному утверждению. Таким образом, для ч.у.м. выполняется принцип двойственности, состоящий в том, что некое утверждение имеет место в <А,<> тогда и только тогда, когда двойственное ему утверждение имеет место в <А,>>. Например, если ч.у.м. <А,<> - решетка, то двойственное ему ч.у.м. <А,>> также решетка. Решетка <А,<> называется подрешеткой решетки <В,<>, если Лс5. Утверждение 1.2. Пусть <4i,<>, <А2,<>,..., <Ак,<> - подрешетки решетки <В,<>. Тогда < П Л ,^> также решетка. /=1 Доказательство следует из того, что если свойства решетки выполняются в каждом из подмножеств, то эти свойства выполняются и в пересечении подмножеств. ♦ Пусть Яс5, где <5,<> - решетка. Через <[Н],<> обозначим минимальную подрешетку решетки <В,<>, обладающую свойством [Щ'^Н (то есть <[Я],<> содержится в любой другой решетке, содержащей/У). Подрешетку <[Н],<> назовем подрешеткой, порожденной множеством Я. 16
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ Утверждение 1.3. Пусть <4i,<>, <42,<>,..., <Ак,<>,... - система всех подрешеток решетки <В,<> таких, что Н^к, к = 1,2,... Тогда <[Н],<> = <f]A, ,<>. к Доказательство. Так как Н^к для всякого к, то Hc.f]Ai. . Следо- вательно, решетка <ПЛ >-> содержит <[Н],<>. Покажем, что она минимальная, содержащая <[Н],<>. Предположим, что нашлась решетка <В',<>, содержащая <[Н],<> и являющаяся собственной подрешеткой решетки <ПЛ .^>. тогда 5'сПЛ • f^o по определению решетка <В',<> содержит <[Н],<>, зна- чит,5'е{Л1,Л2,...}и5'зПЛ • Полученные соотношения взаимно противоречивы. Следовательно, указанной решетки <В',<> не существует. ♦ Решетки А и А' называются изоморфными (обозначается А^'), если существует взаимно-однозначное соответствие ф между множествами А и А' такое, что а<Ь в А <»ф(а)<ф(Ь) в А'. 1.5. Свойства некоторых решеток Рассмотрим классы решеток, представляющие интерес для криптографических приложений. 1.5.1. Решетка двоичных п-мерных векторов Обозначим через V,, множество двоичных л-мерных векторов. Весом вектора а = (ai,a2,...,a„) (обозначается ||а||), aeV„, называется число единичных координат вектора а: пап = ai+a2+...+a„. Говорят, что вектор а = (ai,a2,...,a„) не превосходит вектора Ь= (bi,b2,--,b„), a,beV„ (обозначается a<b), если a,<fe, для любого / = 1,2,...,п. Очевидно, если a<h, то ||a||<||fe||. 17
в. М. Фомичвв. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Несложно проверить, что <V,„<> является решеткой и выполнено следующее утверждение. Утверждение 1.4. Пусть А есть л-множество. Тогда <2^,<> - решетка и Лемма 1.1 (Апсель, 1966). Решетка <У,„<> разбивается на В(п) цепей со следующими свойствами: 1) число цепей длины п-2р равно С^-С^'\ 0<р<[п/2], где минимальный (максимальный) элемент каждой такой цепи есть вектор ве^ са р (веса п-р); 2) если (а 1,^2) и (а^^з) - дуги диаграммы решетки <V,„<>, лежа^-' щие на цепи длины п-2р, то элемент Ь, образующий вместе с элементами a\,a%ai подрешетку решетки <У„,<>, изоморфную решетке <У2.^>, лежит на цепи длины п-2р-2. Доказательство (индукция по п). 1. Пусть л = 1. Тогда <У1,<> есть цепь длины 1. В этом случае первое утверждение леммы верно. 2. Пусть п = 2. Тогда <У2.^> покрывается двумя цепями длины 2 и О (рис 1.1). 11 Рис. 1.1. Решетка <У2>^> Непосредственно проверяется, что лемма верна для п = 2. 3. Пусть лемма верна для п-\, где п>2. Разобьем множество V„ на два подмножества У„,о и У„, i: V„j= {xeVn:x = (xi^2,-.,Xn-iJ)}, je{0,l}, при этом <V„_o,<> = <У„.1,<> = <У„,ь^>- По предположению индукции каждое из множеств У„,о и У„. i разбивается на указанное множество цепей, причем между этими множествами цепей существует биекция, индуцируемая изоморфизмом ф решеток <У„,о,^> и <V„_i,<>: 18
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ ф(Х1^2,-Л-1,0) = ф(Х1^2,- ,Хп-ь1). Пусть с - одна из цепей решетки <Vn,o,<> и а - ее наибольший элемент. Тогда ф(С) - соответствующая цепь решетки <У„.1,<> и ф(а) - ее наибольший элемент. Преобразуем пару цепей вида (С,(р(С)) в другую пару цепей. Изымем из цепи ц>(С) элемент ф(а) и добавим его к цепи С (это возможно, так как а<ф(а)). Тем самым цепь С удлиняется на одно звено, а цепь ф(С) укорачивается на одно звено. После таких преобразований получим непересекающиеся цепи, покрывающие <V„,<>. Если через ^-г/"' обозначить число цепей длины п-2р в решетке <V,„<>, то из описания преобразований цепей следует, что Sn-2p - Sn-2p-I + Sn-2p+I Отсюда, используя предположение индукции, имеем: ^ J") = С", - с;;'+с;-; - с;;' = с; - с;-'. V" *■/' П*| п-1 п-1 п-1 П П в завершение доказательства первого утверждения леммы заметим, что если у цепи С длины п-2р-\ в решетке <У„^,<> минимальный элемент - это вектор веса р, а максимальный элемент - это вектор веса п-\-р, то после удлинения эта цепь имеет длину п-2р, ее минимальный элемент - это вектор веса р, а максимальный элемент - вектор веса п-р. Аналогичные рассуждения проводятся в решетке <У„ i,<> для цепи ф(С) длины п-2р+\. Таким образом, первое утверждение леммы вьшолнено. Второе утверждение леммы вытекает непосредственно из правила преобразования цепей. ♦ Следствие. Ширина решетки <V,„<> равна В(п). Доказательство. По доказанной лемме (а также по следствию теоремы Шпернера), h(<V„,<>) не превосходит В(п). С другой стороны, множество векторов веса [/г/2] образует в данной решетке антицепь и мощность его равна В(п). Следовательно, ширина данной решетки равна В(п). ♦ 1.5.2. Решетка делителей целого числа Обозначим через D(n) множество всех делителей натурального числа п. Заметим, что D(n) является ч.у.м. относительно отношения /. 19
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Утверждение 1.5. <D(n),/> является решеткой. Доказательство. Если d/n и Ь/п, то, определяя max(d,b) = HOK{d,b); min(d,fe) = HOfl{d,b\ получаем, что max(d,fe)eD(n) и mm{d,b)eD{n). ♦ Несложно убедиться, что если Ь/п, то D{b) является подрешеткой решетки D{n). Пусть число п разлагается в произведение степеней простых делителей pi,p2,...,ps, при этом ki- кратность делителя /?,,/= \,2,...,s (такое разложение называется каноническим): "= Р\ ■ р1^ • ■■•■ р'/ • Назовем натуральное число свободным от квадратов, если оно не делится на квадрат какого-либо числа, иначе говоря, не имеет кратных делителей в каноническом разложении. Множество свободных от квадратов делителей числа п обозначим через D\n). Утверявдение 1.6. <D\n),l> = <D{pipr...•ps),l>=<VsS>. Утверждение 1.7. Для длины и ширины решетки D{n) верны соотношения: l{D{n)) = ki+ k2+...+ks. B(ki+k2+...+ks) > h(D(n)) > B(s). Утверждения 1.6 и 1.7 читатель может доказать самостоятельно в качестве упражнения. 1.6. Графы 1.6.1. Основные понятия Множество X = [xi,X2,...} вкупе с бинарным отношением U на множествеXназывается графом G (обозначается G = (X,U)). Элементы множества X называются вершинами, а элементы множества U - ребрами графа G. Если {xi,Xj)eU, то говорят, что вершины х, и х, смежны или что ребро (Xi,Xj) соединяет вершины х, и х,. Если / = j, то ребро (х/,Ху) называется петлей. 20
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ Ребро (х„х,) называют инцидентным вершинам х,- и Xj. Два ребра, инцидентных одной и той же вершине, называют смежными. Вершина, не инцидентная ни одному ребру, называется изолированной. Вершину, инцидентную одному ребру, и само это ребро называют висячими или концевыми. Ребра, которым поставлена в соответствие одна и та же пара вершин, называются кратными или параллельными. Граф без кратных ребер (и без петель) называется полным, если смежны его любые две (различные) вершины. Если элементы каждой пары (х,-,х,) упорядочены, то G называется ориентированным графом или орграфом, а его ребра называются дугами. В противном случае граф G называется неориентированным. Говорят, что G - граф с помеченными вершинами (ребрами, дугами), если вершины (ребра, дуги) графа помечены элементами некоторого множества. Граф О = {X,U) называется двудольным, если имеет место разбиение X = Xi^Xi такое, что пара (х;,х,)е[/ только тогда, когда х,- и ху принадлежат различным блокам разбиения. Если множества X и U конечны, то граф G называют конечным. Если \М = п, то граф называют и-вершинным, или графом с и вершинами. Если вершины графа О занумерованы, нередко каждая вершина отождествляется с ее номером. Число ребер, инцидентных вершине / неориентированного графа, называется степенью вершины /, ie{l,2,...,n], при этом петля учитывается дважды. Каждая вершина / орграфа характеризуется парой чисел (р,,^,), где Pi-число ребер, входящих в вершину /, и д,-число ребер, исходящих из вершины /. Числа р, и д, называются полустепенью захода и полустепенью исхода вершины /. 1.6.2. Пути в графе Путем в графе G из вершины / в вершину j (соединяющим вершины / иу) называется система Sjj ребер: ^у= {('ь'г), (i2,h),-., (4-ь4)К '1 = '. i.s =]■ 21
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Длиной пути Sij (обозначается l(sij)) называют число ребер, составляющих этот путь. Если ребро принадлежит какому-либо пути, то говорят, что этот путь проходит через данное ребро. Аналогично если вершина i принадлежит какому-либо ребру некоторого пути, то говорят, что этот путь проходит через вершину /. Путь называется простым, если он не проходит дважды ни через одну вершину. Очевидно, что простой путь не проходит дважды ни через одно ребро. Путь Sjj называется циклом, если / = j. В частности, петля есть цикл длины 1. Всякз'ю вершину графа G, лежащую (не лежащую) на цикле, называют циклической (ациклической). Подходом к циклу называется путь в графе, все вершины которого за исключением последней являются ациклическими. Неориентированный (ориентированный) граф G называется связным (сильно связным), если найдется путь в G, соединяющий любые его две различные вершины. Множество вершин неориентированного (ориентированного) графа разбивается на классы эквивалентности, где две вершины эквивалентны тогда и только тогда, когда имеется путь из одной вершины в другую. Такой класс вершин со всеми соединяющими их ребрами (дугами) называется компонентой связности (компонентой сильной связности) графа. Связный неориентированный (сильно связный ориентированный) граф состоит из единственной компоненты связности (сильной связности). Несвязный и-вершинный граф может содержать от двух до и компонент связности (сильной связности). Орграф О связен, если связен неориентированный граф, полученный из G заменой дуг на ребра. Пусть S(i,j) - множество всех путей в графе О, идущих из / в j, i,je{l,2,...,n}. Величина /,,/ = min/(5) называется длиной кратчай- шего пути из / в j, а всякий путь из / в j длины /,,/ называется кратчайшим путем из / в/ Диаметром и-вершинного сильно связного орграфа (связного неориентированного графа) G называется величина 22
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ DiamG = max/,.^ . |.Уе{1.2 п) Если граф G несвязен (орграф не сильно связен), то DiamG = оо. Если DiamG = t, то это означает, что: а) для любой пары вершин {i,j) в графе G длина кратчайшего пути из / ъ] не превосходит t; б) для некоторой пары вершин (v,w) в графе G длина кратчайшего пути из V в W равна t Теорема 1,2, Диаметр и-вершинного сильно связного орграфа G не превышает п. Доказательство, Из сильной связности графа G следует, что для любой пары его вершин (/j) найдется путь из / в у некоторой длины t. Если t<n, то теорема выполнена. Если />и+1, то последовательность вершин, соответствующая данному пути, содержит t+1 вершину, где г+1>п+2. Следовательно, в данной последовательности вершин найдутся две одинаковые вершины, не стоящие одновременно на концах пути. Часть пути, заключенная между этими двумя вершинами, является циклом. Удалим из рассматриваемого пути этот цикл, оставив лишь вершину, стоящую на одном из концов циклического отрезка пути. В результате получим путь, также идущий из / в j, но уже более короткой длины. Эта процедура удаления циклов продолжается до тех пор, пока не получится путь длины, не превосходящей п. Следовательно, в графе G длина кратчайшего пути из / в j не превосходит и для всех i,je{\,2,-,n]. ♦ Данная в теореме оценка диаметров графов достижима. Например, всякий граф, составляющий один полный цикл длины и, имеет диаметр, равный п. Оценка теоремы 1.2 может быть улучшена для частных классов и- вершинных сильно связных графов. Например, [62], если G есть и- вершинный сильно связный орграф, у которого полустепени захода и исхода каждой вершины ограничены снизу числом к, где \<к<п-\, то DiamG<3-[(n-lV)t]-l. 23
fi:M. ФО^личев^ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ _ 1,6,3. Отношения ме:нсду графами Графы G и Н называют изоморфными (обозначается G^H), если существует взаимно-однозначное соответствие между их вершинами и ребрами такое, что соответствующие ребра соединяют соответствующие вершины. Более точно, если О = (X,U), Н = {X',U), графы G VL Н изоморфны и ф есть взаимно-однозначное соответствие множеств X и X', то {v,w)eU тогда и только тогда, когда (9(v),9(w))ef;: Граф Н = {X',U) называется подграфом графа О = {X,U), если X'qXvl [/'получено из U изъятием всех ребер, инцидентных хотя бы одной вершине из Х\Х'. Граф Н называется частью графа G (обозначается HZG), если Х'^и U'^U. Путь, цикл в графе являются частями этого графа. Компонента связности графа является его подграфом. Непосредственно из определений следует, что если Н и G есть п- вершинные графы и HZG, то Diam/^DiamG. 1.6.4. Способы задания графов Обычно граф G задается следующими способами: 1. Списком ребер графа с указанием их ^сонцов вкупе со списком изолированных вершин. 2. Таблицей (матрицей) чисел /с размера пхт, называемой матрицей инциденций графа G, где и - число вершин, т - число ребер графа. Если вершины и ребра графа занумерованы числами от 1 до и и от 1 до m соответственно, то элемент a,j матрицы /с, размещенный в f-й строке nj-M столбце равен: а) О, если вершина / не инцидентна ребру У (ребра графа также занумерованы); б) 1, если i является концом дуги или ребра неориентированного ребра У; в) -1, если i является началом дуги у в орграфе. 3. Матрицей Мс размера пхп, называемой матрицей смежности (матрицей соседства) вершин графа G. Элемент а, / матрицы Мс, ра- 24
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ вен числу ребер или дуг вида (/,/) в графе. Для неориентированных графов a-ij = Ujj. Матрица инцидентностей и матрица смежности однозначно задают непомеченный граф. 1.7. Отображения множеств Однозначным отображением * (далее - отображением) множества Z в множество Y или функцией ф (обозначается ф:Х->У) называется соответствие, определяющее для каждого элемента хеХ единственный элемент je У. При этом будем писать: ф(х) = у. Множество X называется областью определения отображения ф, множество Y - областью значений отображения ф, элемент у называется образом элемента х относительно отображения ф, а элемент х называется прообразом элемента у относительно отображения ф. Полным прообразом элемента у относительно ф называется множество всех его прообразов (обозначается ф'""0'))- Отображения ф и \|/ равны, если совпадают их области определения и области значений и для любого х из области определения Ф(х) = \|/(х). Пусть имеется отображение ф:Х->У. Отображение \|/: Х'->У называют ограничением отображения ф на множество Х\ гдеХ'сХ, если ф(х) = \|/(х) для любого хеХ\ Отображение ф конечного множества X в конечное множество Y называется сбалансированным, если мощность множества I ф'"''(у)' одинакова для всех.уеУ. Отображение (р:Х—>У называется: а) сюръективным или отображением на, если для любого yeY выполнено ф'"''(у)?'0; б) инъективным, если из хтй:' следует ф(х)?'ф(х'); в) биективным или взаимно-однозначным, если это отображение одновременно сюръективно и инъективно. * В математике рассматриваются и многозначные отображения, ставящие в соответствие каждому элементу леХ некоторое подмножество элементовмно- зкества Y. 25
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Если даны два отображения ф:Х->У и \|/:У->2, то произведением (композицией, суперпозицией) этих отображений называют отображение cy:X-^Z, определяемое равенством а(х) = \|/(ф(х)) (при этом записывается а = \|/ф). Утверждение 1.8. Операция умножения, определенная на последовательности перемножаемых отображений, обладает свойством ассоциативности. Доказательство, Достаточно показать, что для всякой тройки отображений ф;Х->У, \|/.У->2, ^:Z->Wвыполнено: (^•\|/)-ф = ^-(У-Ф)- Согласно определению произведения отображений имеем для произвольного хеХ: (^(У|/-ф))(х) = ^((У|/-ф)(х)) = ^(У|/(ф (X)) = ^•У|/(ф(х)) = ((^•У|/)ф)(х). ♦ Композиция отображений в общем случае некоммутативна, то есть \|/-ф ^(р-Ц1. Отображение е множества X в себя называют единичным (тождественным), если е(х) = х для любого хеХ. Отображения ф:Х->У и \|/:У->Х называют взаимно-обратными, если \|/ф = ф-\|/ = е, при этом пишется: \|/"' = ф, ф"^ = \|/. Отображения, для которых сзтцествуют обратные, называются обратимыми. Утверждение 1,9, Всякое обратимое отображение имеет единственное обратное отображение. Доказательство, Пусть у отображения ф имеется два различных обратных отображения: \|/ и ^. С учетом ассоциативности ф справедлива следз'ющая цепочка равенств: v|/ = е-\|/ = (^•ф)-У|/ = ^-(Ф-У) = ^-е = ^. Следовательно, отображения \|/ и ^ равны. ♦ Теорема 1,3. Отображение ф:Х->У имеет обратное тогда и только тогда, когда оно биективно (взаимно-однозначно). Доказательство. Пусть отображение ф имеет обратное. Предположим, что оно неинъективно, то есть для некоторых различных 26
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ элементовх их' множестваXсправедливо ф(х) = фСх"). Тогда выполнена цепочка равенств X = е(х) = ф "'-фСх) = ф ''(ф(х)) = ф "'(ф(х')) = ф "'-фСх') = е(х') = х'. Имеем противоречие, из которого заключаем, что отображение ф инъективно. Если отображение ф несюръективно, то найдется j из У такой, что равенство ф(х) = j не выполняется ни при каком хеХ. С другой стороны, обозначив ф''(у) = а, получаем, что Ф(а) = ф-(ф -'(Ю) = Ф-Ф -'(У) = e(Y) = Y, что противоречит невыполнению равенства ф(х) = у. Следовательно, отображение ф и инъективно и сюръективно, то есть биективно. Пусть теперь отображение ф биективно. Тогда для любого xeZ найдется единственный j из У такой, что ф(х) = у. И наоборот, для любого J из У найдется единственный xeZ такой, что ф(х) = у. Определим отображение \|/:У->Х следующим образом: \|/(у) = х, если ф(х) = у. Нетрудно убедиться, что отображение \|/ - обратное к отображению ф. Следствие. Если ф:Х->У и \|/:У->2 - биективные отображения, то биективна и их композиция \|/ф, при этом (\|/-ф)'' = ф''-У|/-'. Доказательство. Утверждение вытекает из равенств (\|/-ф)-(ф "'-У]/-') = \|/-(ф-ф ■')-v|/'' = \|/-е-\|/'' = \|/-\|/'' =е. ♦ Отображение ф:Л!'->Х называют преобразованием множества X. Его степень определяется индуктивно: ф* = ф-(ф*-'), к= 1,2,...,Ц>^ = е. Элемент хеХ называется неподвижным элементом преобразования ф, если ф(х) = X. Теорема 1.4. Биективность преобразования конечного множества равносильна его инъективности (сюръективности). 27
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Доказательство, Пусть преобразование ф конечного множества X инъективно. Покажем, что оно и сюръективно, то есть для любого хеХ найдется х' из X такой, что ф(х') = х. Рассмотрим последовательность {ф*(х)}, к = 0,1,2,..., элементов множества X. В силу конечности множества X в этой последовательности неизбежны повторения. Например, ф'"(х) = ф"(х), т>п. Если и>0, то из последнего равенства и инъективности преобразования ф следует, что ф'"-'(х) = ф"-'(х). Повторив эти рассуждения еще и-1 раз, получаем: ф"-«(х) = ц>\х) = е(х) = X. Значит, можно считать, что ф(х') = х, где х' = ф'""''(х). Пусть преобразование ф множества X сюръективно. Тогда для каждого образа найдется ровно один прообраз, так как мощности множеств образов и прообразов конечны и равны. Следовательно, преобразование ф множества X является биективным. ♦ Биективное преобразование ф и-множества X называется подстановкой на множестве X, п - степенью подстановки. Если X = = {xi,X2,...,x„}, ТО ф обычно записывают так: _ Г Х| Xj ... •'^л ^ _ (^i Ч — ^п ^"1^ф(Х|) фСх^) ... Ф(X„)J " |^Х. Х,.^ ... Х^ где (/],/г,...,'«) - перестановка чисел (1,2,...,и). Для получения записи подстановки ф' достаточно в записи подстановки ф поменять местами верхнюю и нижнюю строки и упорядочить вертикальные пары по элементам верхней строки. Подстановка ф называется инволюцией, если ф"' = ф. Подстановка ф на множестве X называется транспозицией элементов i,j множества X, i^j, если ф(/) = j, ф(/) = /, а остальные элементы неподвижны относительно ф. 28
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ 1.8. Задачи и упражнения 1.1. Докажите справедливость законов дистрибутивности и законов де Моргана (равенства (1.1) и (1.2)). 1.2. Упростите выражения: а) (А U В) п (А <j({A\B)n(B\A)); б)А п АпС Kj{ В KJ С u(Bu(AnB))); в) В п АпС и( В U АиС п(Си(АпВ))). 1.3. Пусть UI = п,\в\ = ш и ВсЛ. Сколько найдется различнь'гх множеств С таких, что ВсСсЛ! 1.4. Сколько упорядоченных пар чисел различной четности можно составить из чисел множества {1,2,...,и}? 1.5. Даны два покрытия множества U: п т [/=uA,,; и=^В.. 1=1 ;=| а) Докажите, что справедливо покрытие п т и= ии(Д.пВ.). б) Определите I U\, если оба данных покрытия являются разбиениями и I ^,п5,| = 2'"^^"^ / = 1,2,...,и, j = 1,2,...,ш. 1.6. Можно ли изо всех подмножеств и-множества выделить систему, содержащую m попарно невложимых подмножеств, если: а)и= 10,/п = 250; б)и = 8, ш=100? 1.7. Хозяева пригласили на обед 10 гостей. Во скольких различных составах могут собраться приглашенные гости, если: а) две приглашенные дамы отказались прийти; б) один гость заверил, что обязательно явится; в) одна пара супругов наносит визиты только вместе? 1.8. Во время дискуссии, в которой принимали участие 8 человек, Мнения по некоторому вопросу разделились и собравшиеся раскололись на две группы. Сколько имеется возможных вариантов состава 29
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ _ первой группы, если известно, что по численности первая группа превосходит вторз'ю не менее чем в 2 раза? 1.9. Определите число натуральных чисел, не превосходящих 1000 и не делящихся ни на одно из чисел: а) 3, 5, 7; 6)6, 10, 15. 1.10. При записи студентов на прослушивание спецкурсов оказалось, что 60 % студентов записалось на спецкурс ^,50 % - на спецкурс Б, 50% - на спецкурс В, 30 % - на спецкурсы А и Б, 20 % - ка спецкурсы £■ и В, 40 % - на спецкурсы А и В, 10 % - на спецкурсы А, Б и В. Сколько процентов студентов: а) не посещает ни один спецкурс; б) посещает ровно два спецкурса; в) посещает не менее двух спецкурсов? 1.11. Для и-множества определите: а) число подмножеств, мощность которых не меньше т и не больше г, где т<г<п; б) число пар непересекающихся непустых подмножеств. 1.12. Постройте диаграмму множества V4. Укажите на диаграмме примеры сравнимых и несравнимых элементов; цепей длины 2, 3, 4; антицепей мощности 4, 5, 6. Вычислите длину и ширину ч.у.м. V4. 1.13. Постройте пример ч.у.м., не являющегося решеткой. 1.14. Покажите для и-множества X, что - решетка и <2^,c>s<V,„<>. 1.15. Сколько имеется различных цепей длины т в покрытии Апселя решетки <V„,<>, если: а)п = 5,т = 3;б)п = 6,т = 2;в)п = 5,т = 21 1.16. Каковы веса максимального и минимального элементов цепи длины 4 в покрытии Апселя решетки <Уб.^>? 1.17. Пусть Ак - множество всех векторов из V,, веса к. Какой элемент множества V,, является верхней гранью множества А^, нижней гранью множества А^? 1.18. Пусть а и b - векторы из V,, веса р и q соответственно, а<Ь. Сколько имеется в множестве V,, векторов с, не совпадающих с векторами аиЬитаких, чтоа<с<Ы 1.19. Является ли Z)(18) подрешеткой решетки D(144)? 30
Глава 1. МНОЖЕСТВА И ОТОБРАЖЕНИЯ 1.20. Является ли D(18)nD(45) подрешеткой решетки D(88)? 1.21. Какова ширина решетки D(210)? 1.22. Можно ли указать в решетке D(420) антицепь длины 12? 1.23. Вычислите длину и ширину решеток D(108) и D(768). 1.24. Докажите, что при любом и имеется изоморфизм D\n)=<Vs,<>, где S - число различных простых делителей числа п. 1.25. Являются ли изоморфными решетки D(210) и D(1430)? 1.26. Изоморфны ли решетки Z)(l 155) и К при каком-либо и? 1.27. Можно ли отыскать в решетке D(1155) антицепь мощности 6? Если можно, то постройте такую антицепь. 1.28. Оцените длину и ширину решетки D(n) через характеристики канонического разложения числа и на сомножители. Какова мощность множества D(n)? 1.29. Является ли диаграмма Хааса решетки V„ связным графом, сильно связным графом? Каковы полустепени захода и исхода вектора веса к в этом графе V„l 1.30. Пусть а и b - векторы из V,, веса р и q соответственно, а<Ь. Сколько имеется в диаграмме Хааса решетки V„ путей из вершины (0,0,...,0) в вершину (1,1,..., 1), проходящих через вершины аиЫ 1.31. Биективно ли преобразование ф множества V^, если любой вектор веса 3 преобразуется в вектор веса 1 или 5? 1.32. Имеются ли биективные отображения среди отображений множества D(60) в множество Vj? 1.33. Сколько различных подстановок степени 5 имеют не менее трех неподвижных элементов? Сколько из них являются инволюциями? 1.34. Сколько имеется различных преобразований и-множества, у которых число неподвижных точек равно и-1? 1.35. Является ли сбалансированным отображение ф:У„->{0,1,..., и}, ставящее в соответствие вектору его вес? Какова мощность полного прообраза элемента к относительно отображения ф? 1.36. Является ли сбалансированным отображение ф.У,/^'->У„, определяемое равенством (f>(x,y) = sup{x,>'}? Является ли оно инъектив- ным, сюръективным? Какова мощность полного прообраза вектора веса 1 относительно отображения ф? 31
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ 2.1. Операции, полугруппы, группы Внутренней бинарной операцией, заданной на непустом множестве X, называется отображение т:^^'->Х Если а,ЬеХ, то также и х{а,Ь)еХ. Часто операцию т обозначают некоторым символом, например: +, •, * и др.; вместо х(а,Ь) пишут а*Ь. Внутренняя бинарная операция * (для краткости будем называть ее операцией), заданная на множестве X, называется: 1) ассоциативной, если для любых а,Ь,сеХ а*(Ь*с) = (а*Ь)*с; 2) коммутативной, если для любых а,ЬеХ а*Ь = Ь*а. Элемент е множества X называется нейтральным (или единичным) относительно операции *, если для любого элемента аеХ а*е = е*а = а. Множество X с заданной на нем ассоциативной операцией * называется полугруппой. Полугруппу с единичным элементом часто называют моноидом (или просто полугруппой с единицей). Примером моноида является множество всех преобразований множества X, где единица - это тождественное преобразование. В моноиде имеется лишь один единичный элемент. Действительно, если е' - другая единица моноида, то е' = е\е = е. Подмножество X множества X называется замкнутым относительно операции *, если а*ЬеХ для любых а,ЬеХ. Подмножество X полугруппы X называется подполугруппой, если X замкнуто относительно операции *. Элемент а моноида X называется обратимым, если найдется элемент ЬеХ, для которого a*h = b*a = е; такие элементы апЬ называются взаимно-обратными. т(\(\отш'(\ 32
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ Группой называется моноид G, все элементы которого обратимы. Иными словами, множество G называется группой, если на нем задана ассоциативная операция *, относительно которой в G имеется единица и для каждого элемента имеется обратный элемент. Если операция * коммутативна, то группа называется абелевой или коммутативной. Для любого элемента группы О имеется лишь один обратный. Действительно, еслихиу-обратные элементы для aeG, то, используя ассоциативность операции, имеем: X = х*е = х*(а*у) = (х*а)*у = е*у = у. Число элементов конечной группы (полугруппы) G называется порядком группы (полугруппы) G и обозначается символом |g| . Примеры групп: 1. Множество Z целых чисел образует группу относительно сложения. 2. Множество Z,„ целых неотрицательных вычетов по модулю т образует группу относительно сложения, \Zm\ = т. 3. Множество Z^ целых неотрицательных вычетов по модулю т, взаимно простых с т, образует группу относительно умножения. Порядок группы Z,„*, обозначаемый ф(т), называется функцией Эйлера. 4. Множество 5„ всех подстановок степени п образует группу относительно произведения и называется симметрической группой л-й степени, |5,J =п\. В зависимости от рассматриваемой групповой операции (сложение или умножение) группу называют аддитивной или мультипликативной. Подмножество Н группы G называется подгруппой этой группы, если Н образует группу относительно операции группы G. Подгруппы группы G, отличные от тривиальных подгрупп {е} и G группы G, называются собственными подгруппами. Теорема 2.1. Подмножество Н хруппы G является подгруппой тогда и только тогда, когда выполняются следующие условия: (1) если а,ЬеН, то а*ЬеН; 33
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ (2) если аеН, то а'^еН. Доказательство. Необходимость следует из определения хруппы. Докажем достаточность. Первое условие означает, что групповая операция является внутренней операцией и для подмножества Н. Второе условие означает наличие обратного элемента для каждого элемента подмножества Н. Ассоциативность в Н имеется, так как она имеет место в более широком множестве G. Единица группы G является и единицей подгруппы Н, так как Н есть подмножество G. ♦ Условия (1) и (2) теоремы 2.1 равносильны условию: если а,ЬеН, то а*Ь'^еН. Если Я - подгруппа группы G, то бинарное отношение Rh на G, определяемое условием является отношением эквивалентности. Классы эквивалентности по отношению к Rh называются левыми смежными классами группы G по подгруппе Н и обозначаются символами а*Н, где а*Н = = {a*h/heH}. Аналогичным образом определяются правые смежные классы Н*а по подгруппе Н, которые имеют вид Н*а = {h*a/heH}. Для абелевой группы левые и правые смежные классы совпадают. Если Н - конечная группа, то каждый смежный класс содержит по |я| элементов. Если число смежных классов группы G по подгруппе Н конечно, то это число называется индексом подгруппы Н в группе G и обозначается [G: я]. В этом случае справедливо так называемое разложение группы по подгруппе: G = Я Ugi*^Ug2*^U...Ugp*^, где справа все смежные классы есть блоки разбиения и p = [G:H^-\. Отсюда следует теорема. Теорема 2.2. Пусть G - конечная группа. Тогда \G\=[G:H].\H\. Следствие (Лагранж). Порядок конечной группы делится на порядок любой ее подгруппы. 34
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ Пусть aeG. Для п>0 положим а" = аа"' , где а = е. Если п - отрицательное, то под а" понимается произведение {а )". Рассмотрим подмножество (а) группы G, где {а) = [a"/neZ}. Легко показать, что (а) есть подгруппа группы G. Она называется циклической подгруппой, порожденной элементом а, а ее порядок называется порядком элемента а. Иначе говоря, элемент а называется элементом порядка т, если а"* = е, где m - наименьшее натуральное с таким условием. Отсюда следует, что порядок конечной группы делится на порядок любого ее элемента и, следовательно, Так как \Zm | = Ф('и), то из последнего равенства вытекает, в частности, теорема Эйлера: при (а,т) = 1 выполнено Теорема 2,3. Если элементы а и b абелевой группы G имеют порядки пит соответственно, то в G найдется элемент порядка НОК(п,т). Доказательство. Если (п,т) = 1, то искомым элементом является аЬ. Если (п,т) = d, то элементы а^ иЬ имеют порядки n/d и т соответственно и их произведение имеет порядок НОК(п,т). ♦ Мультипликативная группа G называется циклической, если она порождена одним элементом, то есть в G имеется элемент а (называемый образующим) такой, что любой другой элемент b hiG представим в виде b = а", п - целое. В таком случае G = (а). Циклическая группа является абелевой. Теорема 2.4. Всякая подгруппа циклической группы также является циклической. Доказательство. Пусть Н - собственная подгруппа циклической группы (а). Если а"еН, то и а'"еН, поэтому Я содержит степень элемента а с натуральным показателем. Обозначим через d наименьшее натуральное число, для которого а^еН. Пусть теперь а"еН, где п = d-q+r, 0<r<d. Тогда 35
в. М. Фомичев^ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ^ ЧТО противоречит минимальности d, если п^ 0. Поэтому г = О и Я есть циклическая группа (а'' \ . ♦ Теорема 2,5. В конечной циклической группе (а) порядка т элемент а'^ порождает подгруппу порядка т/(г,т). Доказательство. Пусть d = (г,т). Порядок группы (aj равен наименьшему натуральному п такому, что а"^'" = е. Это равенство выполняется лишь тогда, когда m делит гп, то есть тогда и только тогда, когда m/d делит п. Наименьшее натуральное п с таким свойством есть m/d. ♦ Из доказанной теоремы вытекает следз'ющая теорема. Теорема 2.6. Конечная циклическая группа (а) порядка т содержит ф(т) образз'ющих. Элемент а'^ является образующим лишь при условии (г,т) = 1. Отображение f-.G^^G' группы G в группу G' называется гомоморфизмом, если оно согласовано с операциями на группах G и G', то есть Ла*Ь) = f{a)*f{b) для любых a,beG. Если это отображение сюръективно, то оно называется эпиморфизмом, при этом группа G' называется гомоморфным образом группы G. Биективный гомоморфизм называется изоморфизмом (в этом случае обозначается G=G'). Изоморфизм группы на себя называется автоморфизмом. Рассмотрим симметрическ)^ю группу п-й степени 5„. Ее подгруппы называются группами подстановок. Подстановку на множестве [ai,a2,..., Ок] вида ai->a2->...->ajt->ai называют циклом длины к и обозначают (ai,a2,..., Ок). Цикл длины 2 называют транспозицией. Два цикла называются независимыми, если множества элементов, на которых они определены, не пересекаются. Каждая подстановка разлагается в произведение: а) независимых циклов единственным образом; б)транспозиций. Подстановка называется четной или нечетной в зависимости от четности числа транспозиций в ее разложении. 36
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ Теорема 2.7 (Кэли). Всякая конечная группа G порядка п изоморфна некоторой подгруппе группы 5„. Доказательство. Пусть е, gi, g2, ..., g„.i - все элементы группы G. Для фиксированного элемента а группы G рассмотрим отображение Ц>а(8) = (i*g- Имеем подстановку Ф = f ^ ^. - ^„-1 ^° la a*g^ ... a*g^_^ Вместе с тем получаем отображение G^>S„, при котором а->фо. Убедимся, что это и есть искомый изоморфизм. Во-первых, это отображение инъективно, так как различным элементам а и b группы G отвечают различные подстановки % и ф/, (в первом случае е->а, а во втором - е->^7). Во-вторых, это отображение согласовано с операциями, то есть Ц>а*ь(х) = Ц>а-Ц>ь(х) при любых a,b,xeG. Действительно, ^а*ь(х) = а*Ь*х; (Фо-Фа)(х) = ц>а(Ц>ь(х)) = а*Ь*х. ♦ 2.2. Кольца и поля Кольцом называется множество R с двумя внутренними бинарными операциями + и •, такое, что: R - абелева группа относительно операции +; операция умножения ассоциативна; выполнены законы дистрибутивности, то есть для всех a,b,ceR a-(b+c) = a-b+a-c, {b+c)-a = b-a+c-a. Нейтральный элемент аддитивной группы кольца называется нулем (обозначается 0). Элемент, обратный по сложению к элементу а, обозначается через (-а). Примеры колец: 1. Кольцо Z целых чисел. 2. Кольцо Z/m целых неотрицательных вычетов по модулю т. 3. Кольцо многочленов Е[х] над кольцом R. Многочлен (или по- лином)/(л:) из R[x] - это выражение вида 37
S. М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ fix) = ao+ai-x+arx^+.-.+an-x", где ao,ai,-..,a„ - элементы кольца R, называемые коэффициентами многочлена fix), а„9^0. Натуральное число п называется степенью многочленаДл:) и обозначается degfix). Многочлен вида а-х" называется одночленом, ач/^О, п>0. Если ^(л:) = bo-¥byx+b2-x +...+bmX , т<п, то fix)+g{x) = {ao+bo)+{ai+biyx+{a2+b2)-x^+...+{an+bn)-x\ где bi = О для i>m, и fix)-gix) = Co+Ci-X+C2-X^+. ..+С„+„-х'"*", i где с;= ^^; 't>i-j для всех / = 0,\,2,---,in+n. Многочлен Дл:) называется неприводимым над R, если он не является произведением двух многочленов над R ненулевой степени. 4. Пусть R[x] - кольцо многочленов над кольцом R и fix)eR[x]. Отображение ф кольца R[x], при котором каждому многочлену h(x) из R[x] соответствует остаток от деления его наДл:), называют факторизацией по модулю Дл:). Множество образов отображения ф, обозначаемое R[x]/fix), является кольцом относительно операций сложения и умножения (с последующей факторизацией по модулю fix)) и называется фактор- кольцом кольца многочленов R[x] по модулю fix). Отображение (p:R[x]->R[x]/fix) является гомоморфизмом. Кольцо называется кольцом с единицей, если оно имеет мультипликативную единицу, то есть такой элемент е, что ае = е-а = а для любого aeR. Кольцо называется коммутативным, если операция умножения коммутативна. Коммутативное кольцо называется полем, если его ненулевые элементы образуют группу относительно операции умножения. Иначе говоря, полем называется множество Р элементов, на котором определены операции сложения + и умножения •, обладающие свойствами коммутативности, ассоциативности и дистрибутивности, при этом относительно обеих операций существуют нейтральные эле- 38
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ менты и для всякого а (для всякого Ь^О) существует обратный элемент относительно операции + (относительно операции •)• Примеры полей: 1. Множество действительных чисел D. 2. Множество рациональных чисел Q. 3. Множество комплексных чисел К. 4. Кольцо Z/p. Если р - простое, то Z/p является полем Галуа порядка р и обозначается GF(/7). 5. Если Р - конечное поле простого порядка р и Дл:) - неприводимый многочлен степени п над полем Р, то P[x]/f{x), является полем порядка р" (см. разд. 2.5). Порядок единицы поля Р как элемента аддитивной группы поля Р называется характеристикой поля Р. Таким образом, характеристика поля GF(p) равна р. Поле Q по определению имеет характеристику 0. 2.3. Некоторые свойства матриц Матрицей А размера пхт над полем Р называется прямоугольная таблица указанного размера, в каждой ячейке которой записан элемент поля Р. Обозначается А = (а/,), где ау есть элемент матрицы А, записанный в /-й строке иу-м столбце, / = \,2,...,п, j - \,2,...,т. Если л = т, то говорят, что А - квадратная матрица порядка п. На множестве матриц размера пхт определена операция сложения. Пусть А - {uij), В = {bij), тоттА+В = (ау+Ь)/), где сложение элементов матриц происходит в поле Р. Матрицу А = (ау) размера пхт можно умножить на матрицу В = = (by) размера тхг следующим образом (сложение и умножение элементов матриц выполняется в поле Р): ( т \ A-B=\j^a,-b,^ Результатом умножения является матрица пхг над полем Р. 39
М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Пусть М„ - множество всех квадратных матриц порядка п над по- (ем Р. Единичной матрицей Е = (еу) из множества М„ называется матрица, у которой ец = егг ~ ■■■ = е„„ = 1, а остальные элементы )авны 0. Для любой матрицы АеМ„ выполняется: /i-^ = Е-А = А. Матрицы А,ВеМ„ называются взаимно-обратными, если А-В = = В-А = Е, при этом матрицу А называют обратной к матрице В ;^обозначается А = 5'') и наоборот. Матрица А еМ„ называется обратимой, если у нее имеется обратная матрица. Матрица А еМ„ обратима тогда и только тогда, когда ее определитель * не равен 0. Множество М„ всех квадратных матриц порядка п над полем Р есть кольцо с единицей Е относительно операций сложения и умножения. Множество всех обратимых матриц из М„ образует группу. Матрица АеМ„ называется подстановочной, если в каждой ее строке и каждом ее столбце имеется единственный элемент, равный 1, а остальные элементы равны 0. Между классом всех подстановок л-множества и классом всех подстановочных матриц порядка п имеется биекция. Рассмотрим операцию кронекерова или тензорного умножения матриц над полем Р (обозначается ®). Пусть А иВ- квадратные матрицы порядка т п соответственно, А = (ау), В = (Ьу), тогда матрица А®В - квадратная матрица порядка п-г, ползд1аемая в результате замены каждого элемента ау матрицы А на матрицу ауВ, то есть: А®В = (ауВ). Например, если взять матрицы над полем Q ^=(о ?)"^=(i -1 то их произведения (в различном порядке) имеют вид: Е®А = ^110 0^ 1-10 0 0 0 11 0 0 1-1 ,А®Е = ^10 1 0^ 0 10 1 10-10 [О \ 0-1 * Понятие определителя (или детерминанта) квадратной матрицы и его свойства даются в курсе линейной алгебры. 40
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ Отсюда, в частности, видно, что тензорное умножение матриц не коммутативно. Справедливы следующие свойства: 1)ассоциативности: A®(B®Q = {А®В)®С; 2) дистрибутивности: (A+B)<S)C = A<S)C+B<S)C, A(S)(B+Q = A<S)B + ^®C; 3) (A(S)B)(C<S)D) = A-C ® BD. Из последнего свойства вытекает, в частности, что матрица А<8)В обратима тогда и только тогда, когда обратимы матрицы А и В, причем выполняется Определим тензорную степень матрицы: А^"^=А<8)А^"-'\ и = 2,3,...; А^'^=А. Справедливо свойство (A-Bt^=A^"W"\ 00 Множество и М„ (всех квадратных матриц) образует моноид от- п=1 носительно операции ®. 2.4. Векторные пространства Пусть имеется поле Р и множество R, на котором заданы две операции: внутренняя бинарная операция сложения + и операция умножения • элементов множества R на элементы поля Р, результат которой принадлежит множеству R. Множество R называется векторным пространством над полем Р, а его элементы - векторами, если R - абелева группа относительно + и для любых а,^еР и x,yeR выполняется: 1)0-х = 0, гдеОбЛОе/?; 2) 1 -X = X, где 1 еР; 3)(а-р)-х-а-(Р-х); 41
. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 4) (а+Р)-х = а-х+р-х; 5) а-(х+>') = ах+а-у. Вектор aiXi+a2X2+...+a^! где ai,a2,...,a„€P, называется линей- 10Й комбинацией векторов xi,X2,...,x„ из R. Линейная комбинация (екторов называется тривиальной, если aj = аг = ... = а„ = О, и нетривиальной в противном случае. Векторы xi,X2,...,x„ называются линейно зависимыми, если их 1екоторая нетривиальная линейная комбинация равна нулевому век- гору, и линейно независимыми - в противном случае. Пространство R называется п-мерным, а и - числом измерений или размерностью пространства R (обозначается dimR = п), если в R существуют п линейно независимых векторов, а любые п+1 векторов из R линейно зависимы. Если в пространстве можно найти линейно независимую систему из любого числа векторов, то пространство называется бесконечномерным. Система {xi,X2,...,x„} из п линейно независимых векторов пространства R, заданных в определенном порядке, называется базисом пространства R. Любой элемент пространства R представляется однозначно в виде линейной комбинации элементов базиса [х\,Х2, ...,х„}: X = aiXi+a2X2+.. .+а,л,. Числа ai,a2,...,a„ называются координатами вектора х в базисе {Xi,X2,.-.,X„}. Примеры «-мерных векторных пространств. 1. Множество V,, двоичных n-мерных векторов: где Р - поле. 2. Множество Р[к] многочленов над полем Р степени, меньшей п: Р[Х] = {ao+aiA,+a2A,4...+a„.iA,""'}. Подмножество V пространства V, являющееся пространством, называют подпространством пространства V. Если HcV, то наименьшее подпространство V пространства V, содержащее в качестве подмножества Н, то есть HcV'cV, называют 42
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ линейной оболочкой множества Н или подпространством, порожденным множеством Н (подпространством, натянутым на множество Н). Обозначим это подпространство через <Н>. Несложно показать, что подпространство <Н> состоит из всевозможных линейных комбинаций векторов множества Н. 2.5. Конечные расширения полей Если F,P - поля и FciP, то F называется подполем поля Р, аР называют надполем или расширением поля F. Каждое конечное поле характеристики р содержит простое поле, то есть поле, порожденное единицей. Такое простое поле изоморфно полю GF(p). Если характеристика поля равна О, то простое подполе изоморфно полю рациональных чисел. Таким образом, каждое поле есть расширение своего простого подполя. Если FdP, то поле Р можно рассматривать как векторное пространство над полем F. Размерность этого пространства называется степенью расширения FciP и обозначается символом [P:F]. Элемент аеР называется алгебраическим над полем F, если он является корнем многочлена/(А,) €F[A,]. При этом многочлен ДА,) называется аннулирующим многочленом элемента а. Минимальным многочленом элемента а называется его аннулирующий многочлен наименьшей степени со старшим коэффициентом, равным 1. Минимальный многочлен элемента а определяется однозначно и делит любой аннулирующий многочлен элемента а. Теорема 2.8. Всякое расширение FciP конечной степени является алгебраическим, то есть все элементы поля Р - алгебраические над полем F. Доказательство. Для произвольного аеР рассмотрим множество А его степеней: А = {1,а,а\...,а"}, где и = [P.F]. Так как число элементов множества А превышает размерность пространства Р над полем F, то элементы множества А линейно зависимы. То есть найдутся элементы co,Cb...,c„eFтакие, что 43
, М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ co+Ci-a+...+ с„-а" = 0. Тем самым найден аннулирующий многочлен элемента а. ♦ Пусть F(a) - наименьшее подполе поля Р, содержащее элемент а I поле F. Если элемент а алгебраичен над Р, то F(a) - это фактор- юльцо кольца многочленов F(k) по модулю минимального много- шена та(к) элемента а. Элемент а называется примитивным элементом расширения ^czF(a), а само расширение называется простым алгебраическим расширением. Степень этого расширения равна degWa(A,). Конечное расширение Р поля F называется полем разложения неприводимого над полем F многочлена ДА,), если Р - наименьшее поле, порожденное полем F и корнями многочлена ДА,). Многочлен /(А) разлагается на линейные множители из кольца многочленов Р[А]. Рассмотрим конечные поля. Так как любое конечное поле Р содержит простое подполе Fp = GF(p), то степень расширения [P:Fp\ конечна, пусть [P.Fp] = пи базис расширения есть xi, ...,х„. Тогда любой элемент х поля Р однозначно записывается в виде Х= С\-Х\+...+С„-Х„, где ci,...,c„eFp. Для каждого из коэффициентов имеется/? вариантов выбора, поэтому порядок поля равен р". Покажем существование поля Галуа GF(p") порядка р" для любого простого р и любого натурального п. Лемма 2.1. Многочлен А'' -А не имеет кратных корней в поле разложения характеристики/?. Доказательство. Вычислим производную многочлена: {Х"' -Х^'=р"-Х''"''-1 = -1 Многочлен А'' -А взаимно прост со своей производной, значит, он не имеет кратных корней в поле разложения. ♦ Теорема 2.9. Поле разложения многочлена А''" -А содержит ровно р" элементов. 44
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ Доказательство. Достаточно показать, что все р" корней многочлена образуют поле. Пусть а,Ь - ненулевые корни нашего многочлена, а значит, и многочлена А,'' "'~1. Тогда (a-bf-' =a''"-'-b''""' = 11 = 1. Используя формулу бинома и учитывая, что все слагаемые в правой части формулы бинома, кроме первого и последнего, кратны степени, имеем: (а + ЬУ = а''' +Ь''" =а+Ь. ♦ Следствие. Все поля Галуа GF(p") изоморфны. Теорема 2.10. Мультипликативная группа Р любого конечного поля Р является циклической. Доказательство. Группа Р имеет порядок/?"-1 и является абеле- вой. Если она нециклическая, то, согласно теореме 2.3, НОК порядков всех ее элементов равен г, где г - собственный делитель числа р"-1. Следовательно, для всех а/еР выполнено равенство (а,У = 1. Отсюда имеем, что многочлен Х'^-1 - аннулирующий для каждого элемента группы Р* и поэтому делится на минимальный для всех элементов группы Р* многочлен Y\ (^ ~ ^i) • Имеем противоре- N1.2 /-1] чие, так как степень последнего многочлена больше г. ♦ Образующий элемент а циклической группы GF(p") называется примитивным элементом поля GF(p"). Если взять элемент а в качестве примитивного элемента расширения FpCzGFip"), то получаем, что всякое конечное поле характеристики р является простым алгебраическим расширением поля Fp. Минимальный многочлен примитивного элемента поля GF(p") имеет степень п. Поле GF(p") изоморфно фактор-кольцу кольца многочленов Fp[X] по модулю некоторого неприводимого многочлена т(Х) степени п, при этом т(к)/Х'' "'-1. Теорема 2.11. Поле GF(p") есть поле разложения всякого неприводимого многочлена/(А,) степени и над полем Fp. 45
3. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Доказательство. Если а - корень многочлена ДА,), то [Fp<zGF(p")] = п. Поэтому Fp{a) = GF(p"). Используя формулу бинома в характеристике р, имеем: Следовательно, элементы а,or,а'^ ,...,а' есть корни этого многочлена. Осталось доказать, что все они различны. Пусть это не так и а'' = а'' , где 0<j<k<n-\. Возводя это равенст- ВО в степень/?', получаем, что а'' = а. Следовательно, ДА,) делит А'' -А. Отсюда следует, что Fp(a) есть подполе поля GF(p"''''*'\ где n-k+j<n. Имеем противоречие. ♦ Из теоремы 2.5 следует, что порядки всех корней многочлена ДА) в группе GF(p")* равны. Назовем порядком многочлена ДА) €Fp[A], гдеДО)?ьО, наименьшее натуральное число t, при котором ДА)/А,'-1 (обозначается ordf(A)). Если ДА) - неприводимый многочлен степени п над полем Fp, то ordf(A) совпадает с порядком любого его корня в мультипликативной группе поля разложения. 2.6. Задачи и упражнения 2.1. Обладает ли свойством ассоциативности и коммутативности операция * на множества^, если: а) А = N (множество натуральных чисел), х*у = х+2у; б) А = N, х*у = НОД(х,уУ, в) А = Z, х*у = х-у; т) А = Z, х*у = X +у ? 2.2. Докажите, что множество всех преобразований «-множества образует относительно композиции моноид порядка п". 2.3. Докажите, что множество всех биективных преобразований и-множества есть группа порядка и! относительно композиции. 2.4. Какое из указанных числовых множеств есть группа относительно операции умножения: а) множество целых степеней данного вещественного числа; 46
Глава 2. АЛГЕБРАИЧЕСКИЕ ОСНОВЫ б) отрезок [0,1]; в) корни всех степеней из единицы? 2.5. Какое из указанных множеств квадратных матриц порядка п образует группу относительно операции умножения: а) все целочисленные матрицы с определителем, равным ±1; б) множество матриц, у которых все элементы положительны; в) множество диагональных матриц; г) множество целочисленных диагональных матриц? 2.6. Докажите, что любое подмножество Н конечной группы, замкнутое относительно умножения, является подгруппой. 2.7. Докажите, что лишь один из смежных классов группы по собственной подгруппе является подгруппой. 2.8. Докажите что группа, состоящая из инволюций, коммутативна. 2.9. Докажите, что равны порядки элементов а и а"' группы. 2.10. Докажите, что равны порядки элементов аЬ и Ьа группы. 2.11. Докажите, что группа простого порядка - циклическая. 2.12. Докажите, что для любого п имеется циклическая группа порядка п. 2.13. Подстановка Т циклического сдвига степени п имеет вид (1,2, ...,п). Какого порядка группу порождает подстановка Г и сколько в ней примитивных элементов? Каков порядок подгруппы, порожденной подстановкой 7*"? 2.14. Докажите, что подстановка л степени п является инволюцией тогда и только тогда, когда она разлагается в произведение независимых транспозиций. 2.15. Является ли подкольцом кольца матриц над полем Р множество: а) диагональных матриц; б) верхнетреугольных матриц; в) матриц, у которых все элементы неотрицательны? 2.16. Образует ли векторное пространство множество матриц (верхнетреугольных матриц) порядка п над полем действительных чисел? Если образует, то какова его размерность? 2.17. Используя разложение подстановки п степени п в произведение независимых циклов, определите ее порядок. 47
3. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 2.18. Является ли кольцом множество многочленов над кольцом R, заданных суммой одночленов четных степеней? 2.19. Является ли линейно независимой система многочленов: a){l+;lД+;l^;lЧ;l^;n-;l^}; б) {О, \+Х,Х\х\Х^}1 2.20. Какова размерность линейной оболочки множества многочленов: а) [Х,Х+Х\Х^+Х\Х+Х^}; б) {1, i+;i, \+х+х\ \+х+хЧх\..., 1+х+х^+...+х"у? 2.21. Докажите, что А,'"-1Д"-1 <» т/п (над любым полем). 2.22. Докажите, что каждый элемент конечного поля GF(p") имеет в этом поле единственный корень р-й степени. 2.23. Имеется ли поле порядка 49, 36, 121? 2.24. Каков порядок поля разложения многочлена А,"ФА,Ф1 над GF(2)? Каков порядок этого многочлена? 48
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ 3.1. Элементарные булевы функции Функциями алгебры логики или булевыми функциями (б.ф.) называются функции ДхьХ2,...,х„), аргументы которых х., взятые из счетной совокупности аргументов, определены на множестве ■Ег = {0,1}, / = 1,2,...,п, и такие, 4Tof{xi,X2,...,x„)eE2. Для задания б.ф. достаточно указать, какое значение функции соответствует каждому набору переменных, то есть задать последний столбец таблицы, имеющей 2" строк и п+1 столбец: Х] 0 0 0 0 1 Х2 0 0 0 0 1 •'£^/1-1 0 0 1 1 1 Х,1 0 1 0 1 1 f{XiyX2,---rX„.lrXn) mo 0,0) mo 0,1) m.o 1,0) m.o 1,1) /(1,1,...,1,1) Наборы значений переменных располагаются, как правило, в лексикографическом порядке. Число различных наборов равно 2". Обозначим через Рг систему всех б.ф., через РгС") - систему всех б.ф. от п переменных. Из таблицы видно, что число различных столбцов значений функции равно 2^ . Отсюда следует, что 1 РгС")! = 2^ . С ростом п таблица, задающая функцию, становится все более громоздкой и необозримой. В связи с этим для исследования функций от большого числа переменных используются другие способы задания б.ф. Укажем связь между б.ф. от различного числа переменных. Векторы а,Р€ V„ называют соседними по /-н координате, если их /-е координаты различны, а остальные координаты совпадают, /= 1,2,...,п. Переменная х, булевой функции Дх1,Х2,...,х„) называется несущественной или фиктивной, если на любых соседних по /-й координате векторах функция/(хьХ2,...,х„) принимает одинаковые значения, ^:1И^/1ОГП1И0и 49
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ i= 1,2,...,П. в противном случае переменная х, булевой функции Дх1,Х2,...,х„) называется существенной. Пусть Дх1,Х2,...,х„) зависит от х, несущественно. Преобразуем ее таблицу в таблицу функции от п-\ переменного, вычеркивая в первой таблице все строки вида (ai,...,tt,.i, 1, a,+i,...,a„) и столбец, соответствующий аргументу х,-. Новая таблица соответствует функции gixi,..., x;.i, x,+i,...,x„), про которую говорят, ЧТО она получена из функции/(xi,X2,...,x„) путем удаления фиктивной переменной х,-, а ДхьХ2,...,х„) получается из функции g(xi,...,x;.i,x,+i,...,x„) путем введения фиктивной переменной х„ / = 1,2,...,п. Две булевы функции называются равными, если одна может быть получена из другой добавлением или изъятием несущественных переменных. Выражение/i =/2 означает равенство б.ф. Заметим, что в Р2 существуют две б.ф., не имеющие существенных переменных: функции константы О и 1. Перечислим важнейшие элементарные б.ф.: /i(x) = О - константа 0; /2(х) = 1 - константа 1; /з(х) = X - тождественная функция; /4(х) = X - отрицание х; ^(Xi,X2) = Xi •Х2 = Х1ЛХ2- КОНЪЮНКЦИЯ Xi и Х2; /б(Х\,Х2) = XiVX2 - дизъюнкция Х] И Х2; fi{x\,xi) = xi-»X2 - импликация xi и Х2; hixux-i) = Х1ФХ2 - сложение xi и Х2 по mod2; /9(xi,X2) = x\lx2 - функция Шеффера. Табличные задания этих функций имеют вид: X 0 1 /i(x) 0 0 fiix) 1 1 /з(х) 0 1 Ш) 1 0 {хиХг) 00 01 10 11 ./5(Xl,X2) 0 0 0 1 /б(Х1,Х2) 0 1 1 1 fl{X\,X2) 1 1 0 1 1%{хх,хг) 0 1 1 0 U{X\,X2) 1 1 1 0 50
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ 3.2. Реализация функций формулами Используя элементарные булевы функции, можно строить формулы (определим их индуктивно). Рассмотрим подмножество РяРг- Функция f{x\,X2,---,Xn)&P называется формулой над Р. Если fo{x\,X2,...,Xm)e.P vLf\,f2,...,fm- либо формулы над Р, либо СИМВОЛЫ пе- ременных, то выражение fo(fif2,---fm) также называется формулой над Р. Формулы, которые использовались для построения формулы U, называются подформулами формулы U. С использованием аналогичной индукции (проведите ее самостоятельно в качестве упражнения) каждой формуле U над Р однозначно ставится в соответствие булева функция/из Р2, при этом говорят, что формула и реализует функцию/. Функция/, соответствующая формуле и, называется суперпозицией функций из Р. Если формула С/реализует суперпозицию функций/,/г,...,/ из Р, то символически это записывается так: С/=С[/-,/2,.../]. Формулы называются эквивалентными, если реализуемые ими функции равны. Если в формуле U заменить некоторую подформулу эквивалентной ей формулой, то вновь полученная формула будет эквивалентна исходной формуле U. Функция/*^(xi,X2,...,x„), равная /(х,,Х2,...,х„), называется двойственной к функции Дх1,Х2,...,х„). Из определения вытекает, что таблица/*'(xi,X2,...,x„) получается из таблицы /(xi....,x„) инвертированием столбца значений функции и переворачиванием его и, следовательно, (f*)* =f. Для формул справедлив принцип двойственности, состоящий ВТОМ, что если формула U = C\fi,f2>---,fs] реализует функцию /(xi,X2,...,x„), то формула U* = C|/i*/г* •••./*] называется двойственной к С/и реализует функцию/*'(xi,X2,...,x„). Для формул над множеством {О, 1, х, хгХ2, xiVX2} принцип двойственности формулируется так: для получения формулы U*, двойст- 51
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ венной к формуле U, нужно в формуле U выполнить взаимные замены 0<->1 и "f-^V. 3.3. Разложение булевых функций по переменным Используем далее обозначение: х" = X, а = 0; \х, а = 1. Теорема 3.1 (о разложении функции по переменным). Для каждой fixi,X2,...,x„)eP2 при любом т - \,2,...,п справедливо представление: Дх1Л,---Л)= V х,"'•...•х°'"-Да1 а„Дш+1,...л). (3.1) Доказательство. Покажем, что левая и правая части равенства (3.1) принимают равные значения при произвольном наборе значений переменных (аь а.2 а„). Левая часть равнаДаь аг,..., а„). Правая часть равна V а°' •...•<" •Даь...,а„,а„4 1,..., а„). (а а» )eV„, Так как а°' =1 тогда и только тогда, когда а,- = а,-, i = 1,2,...,/и, то слагаемые, соответствующие наборам (аьСг а^) ?* (ai,a2,...,am), равны О, а слагаемое, соответствующее набору (C7i,a2 а„) = ai,a2 а„), равноДаьаг а„). ♦ Представление б.ф. (3.1) называется разложением функции /(хь...,х„) по переменным х,,...,х„. Функция Да1,...,а,„, х„и,..-, х„), записанная в правой части равенства (3.1), называется подфункцией функции Дх1,...,х„), соответствующей фиксации переменных xi,X2,...,x,„ константами ai,...,am соответственно. Из теоремы 3.1 следует, что множество подфункций [Да1,...,а,„,х„ч1,...,х„), (ai,...,a,„)€V,„} однозначно задает б.ф., при этом выбор набора переменных, значения которых фиксируются, произволен. Следствие 1 (разложение б.ф. по одной переменной): У(х1,...Л1-1Л|) = .''^«■^.''^i,---^i-i.l)vx„ -/(xi,...,x„.i,0). 52
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Следствие 2 (разложение б.ф. по п переменным): f(Xi,X2,...,x„)= V х,"'•...•x°"/(ai,...,a„). (3.2) ("l а„ )eVn Если/не равна константе О, то (3.2) можно переписать: /(Xi,X2,...,X„) = V Х,"' -...-х"". (3.3) (Я] а„ )eVn /("1 "„'=' Представление (3.3) называют совершенной дизъюнктивной нормальной формой (СДНФ) функцааД^Х1,Х2,.--,х„), а двойственную формулу, получаемую взаимной заменой констант 0<->1 и операций A<->v, - совершенной конъюнктивной нормальной формой (СКНФ). Следствие 3. Каждая б.ф. представима в виде формулы через отрицание, конъюнкцию и дизъюнкцию. Доказательство. Для функции Дх1,Х2,...,х„), отличной от константы О, утверждение вытекает из (3.3). Для^О справедливо: / = х • х. ♦ Заметим, что равенство (3.3) носит конструктивный характер. Оно позволяет по таблице функции построить реализующую формулу (СДНФ). Покажем, что каждую б.ф. можно представить формулой типа «произведение логических сумм» (в то время как СДНФ есть формула типа «сумма логических произведений»). Для^1 справедливо: / = xvx. Пусть/отлична от константы 1. Тогда/^ отлична от константы 0. Выпишем СДНФ функции/*': f*(XbX2,...,Х„)= V Х,"' •... • Х°" . ("1 "„ )eVn Возьмем тождество для двойственных формул: /**{ХиХ2,...,Х,д= & X°'V...VX;". (о, "„^^Vn Левая часть этого равенства есть/(х1,А'2,...,х„). Правая часть равна: 53
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ & f Х,"' V ... V Х°" ) = & (х°' V ... V Х°" ) . (a^^..a^eV„ V / «,, <i„)eV„V / /("l о„)--=0 /(<j,....<j„)=0 Таким образом, получаем СКНФ: Дх,,Х2,-,х„)= & (х°'v...vx°"), ("1 <^„)^V„\ I /«J,,...<J„)=0 Задание б.ф. с помощью СДНФ и СКНФ нередко менее громоздко, чем задание с помощью таблицы. В ряде случаев удобно пользоваться не СДНФ и СКНФ, а более компактными формулами, которые могут быть получены из них. Элементарной конъюнкцией называется формула \|/: а, а, ^ 'l 'к где все переменные различны. Рангом элементарной конъюнкции \|/ называется число к входящих в нее переменных. Очевидно, \|/ = 1 тогда и только тогда, когда х, =а., j = \,к . Дизъюнктивной нормальной формой (ДНФ) называется формула вида vx"' -...-х"*, где дизъюнкция берется по некоторым не- I к пустым наборам {Ji,/2,...,4}c{l,2,...n} и (a\,...,ak)eVk. Очевидно, ДНФ реализует некоторую б.ф. С другой стороны, любую б.ф. можно задать в виде ДНФ, что следует из теоремы о разложении функции. Аналогично можно рассматривать КНФ. 3.4. Полнота и замкнутость системы функций Система функций Р = {fufi,■■-,/.■!,■■■} из Рг называется (функционально) полной, если любая б.ф. представима формулой над Р. Следующая теорема связывает полноту одних систем с полнотой других систем. Теорема 3.2. Пусть система Р = {fhfi,---} функций из Рг полна и каждая ее функция выражается формулой над системой Q = = {ЯьЯъ-- }■ Тогда система Q полна. 54
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Доказательство. Произвольная б.ф. h в силу полноты системы Р выражается формулой над Р: h = C\fif2,...fs,...]. По условию теоремы/i = Ci[qi,q2,...],f2 = C-^qxAb-X ••■ В формуле для h исключаем вхождения функций из системы Р, заменяя их формулами над Q. В результате получаем: h = C[Ci[qi,q2,...], C2[quq2,--], •••] = C[qi,q2,...] . ♦ Примеры полных систем функций: 1. Система Рг- 2. Система Р = {х, х, -Xj, х, vxj}, полнота этой системы следует из существования СДНФ для каждой б.ф. 3. Система {х,х, • Xj} - ее полнота вытекает из примера 2 и теоремы 3.2, так как х, v Xj = х, • Xj 4. Система (х,х, vxj} - ее полнота следует из примера 3 и теоремы 3.2, так как х, • ;С2 = х, v Xj 5. Система {х,/х,} - ее полнота следует из примера 3 и теоремы 3.2, так как X, /Х, = X, V X, = X, ; (Х, /Х2)/(Х, /Xj) = Х, V Xj = Х, • Xj . 6. Система {1, хрХг, xi©X2} - ее полнота следует из примера 3 и теоремы 3.2, так как х, = xi©l. Поскольку любую формулу над данной системой раскрытием скобок, логическим умножением и приведением подобных членов можно привести к каноническому многочлену по mod2, то имеем следующую теорему. Теорема 3.3 (И. И. Жегалкин). Каждая б.ф. однозначно предста- вима многочленом по mod2: /(хьХ2,...,х„)= X ® «/,.„,, •^', ■••••\ • (3-4) (/, i,)Qih2 л) Так как число таких многочленов от п переменных совпадает с числом различных б.ф., то представление функции полиномом единственно. ♦ 55
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ_ Это представление называется многочленом Жегалкина или алгебраической нормальной формой (АНФ). Пусть МсРг- Замыканием множества М называется множество всех б.ф., представимых в виде формул над М. Замыкание множества М обозначается через [М]. Примеры замыкания множеств: 1. М=Р2, тогда [М]=Р2. 2. М = {],xi®X2], тогда [М] - множество всех многочленов по mod2 вида ao©ai-xi©...©a„x„, называемых аффинными. Справедливы следующие свойства замыкания: 1) [М] эМ; 2) [[М]] = [М]; 3) еслиМ1сМ2, то [Mi]c[M2]; 4) [M,]u[M2] с [MiuMz]. Класс М называется замкнутым, если [М] = М. Примеры замкнутых и незамкнутых множеств: 1. Класс М = Pj замкнут. 2. Класс М= {1, Х1ФХ2} не замкнут. 3. Класс всех аффинных полиномов по mod2 замкнут, так как при подстановке аффинных полиномов в аффинный полином вместо переменных получается аффинный полином. Имеем эквивалентное определение полноты системы функций: система Р полна, если [Р] = Рг- 3.5. Важнейшие замкнутые классы в ^2 к замкнутым классам относятся: 1- То = {feP2:f(0,0,-;0) = 0} - класс б.ф., сохраняющих константу 0. В частности, функции О, х, Xi -Хг, XiVX2, Х\®Х2 принадлежат Го, а функции 1, X не принадлежат Го. Покажем, что класс Го замкнут. Так какхеГо, то достаточно показать, что/(/1,.../„,)еГо, если//,,...,/„£Го. 56
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Справедливость этого следует из цепочки равенств: Л/-1(0,...,0),.../„(0,...,0))=Д0,...,0) = 0. 2- Ti = {/еРг-ДЫ,-.., 1) = 1} - класс б.ф., сохраняющих константу 1. Функции 1, X, xi ■Х2, x\VX2 принадлежат Ti, а функции О, х не принадлежат Ti. Класс Ti состоит из б.ф., двойственных к функциям Го. Его замкнутость показывается аналогично. 3.3= {/еРг ■/ = /*} - класс самодвойственных функций. Классу 5 принадлежат функции х, х ,xi xavxi ■X3VX2 -ху. Докажем замкнутость класса 5. Пусть g =f(fb...,fm), где/,/ь...,/т^З. Тогда 4. М = [fePi- если а<Ь, то J{a)<f(b)} - класс монотонных функций. Функции О, 1, X, XiX2, X1VX2 монотонны, функции X, Х1ФХ2 не монотонны. Покажем замкнутость класса М. Так как тождественная функция принадлежит М, то для установления замкнутости достаточно показать, что функция g =f(fh---,fm) монотонна, ecniif,fi,...,f„ монотонны. Положим, что функции зависят от следующих наборов переменных: g ~^ ~ \^1 >• ••»•'"„Л /| — X = \x^ I —,Х|р ), т . где (xi,X2,...,x„} = Мх . Пусть а и Р - два набора значений пере- менных X , причем а < Р . Эти наборы однозначно определяют наборы а',р',...,а"',Р"' значений переменных х',...,х"', причем а'<Р', i = \,m. Из монотонности б.ф. /j,•••,/„ следует, что 57
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ /,(а')</,(Р'),...,/„(а")</„(Р'"). Следовательно, выполняется неравенство и для наборов: (/,(а'),.../„(а'"))<(/,(Р'),...,/„(Г)). Отсюда в силу монотонности функции / имеем: /(/,(а'),.../„(а'"))</(/,(Р'),...,/„(Р'"))- Следовательно, g(а) <g(P). ♦ Приведем утверждение, позволяющее в ряде случаев легко распознавать монотонность булевых функций. Теорема 3.4. Булева функция Дх1,Х2.--.-'^н), отличная от константы, монотонна тогда и только тогда, когда она представима формулой над множеством {х-у, xvy]. Доказательство. Всякая формула над системой {х-у, xwy] соответствует монотонной функции, так как функция логического умножения, функция логического сложения и функции предметных переменных являются монотонными и класс монотонных функций замкнут. Докажем утверждение в обратную сторону. Будем говорить, что конъюнкция \\1 выполняется для функции f(x\,X2,...,x„), если \]i-f(xi,X2,...,x„) = \|/. Заметим, что если ДНФ реализует б.ф. f{Xi,X2,...,X„), то всякая конъюнкция этой ДНФ выполняется для функции ДХ1,Х2,...,Х„). ^ Если конъюнкция \|/, содержащая в качестве сомножителя х,, выполняется для монотонной функции /, то для / выполняется и конъюнкция \\i\ полученная из \\i удалением сомножителя х- (остальные переменные входят в конъюнкции \|/ и \|/' идентично). Значит, за конечное число шагов можно из исходной ДНФ получить эквивалентную ДНФ, не содержащую переменных с отрицанием. ♦ 5. А = {fePz'-f = ao®ai-Xi®a2-X2®...®anX,„ п = 1,2,...} - класс аффинных функций (функций, задаваемых аффинными полиномами по mod 2). 58
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Очевидно, 0,],x,x,xi®X2eA, xi-X2,xiwX2^A. Замкнутость класса А отмечалась ранее (см. примеры замкнутых множеств). Б.ф., отличные от аффинных, называются нелинейными. 6. L = ЛпТо - класс линейных функций *. Класс L состоит из аффинных многочленов с нулевым свободным членом. Замкнутость класса L показывается аналогично замкнутости класса/i. Через То(п), Т\{п), S(n), М(п), А{п), L(n) обозначим множества функций от п переменных из классов То, Ti, S, М, А, L соответственно. Какова мощность этих классов? Из определений классов 7о(п) и Т\{п) следует, что I Го(«)| = I Г,(«)| = 2'"-' = 1/2-1 Рг{п)\. (3.5) Для самодвойственной функции/справедливо: /(Х,,...,Х„) =f{X\,X2,...,X,). Иначе говоря, на любых векторах вида (аьаг,.. .,а„) и (а, ,а2,...,а„), которые называются противоположными, самодвойственная б.ф. принимает противоположные значения. Следовательно, самодвойственная функция полностью определяется своими значениями на наборах верхней (или нижней) половины таблицы. Поэтому I S{n)\ = 2'"''. (3.6) Каждый коэффициент аффинной б.ф. может быть задан в двух вариантах независимо от значений других коэффициентов. Поэтому \А(п)\ =2"^' = 2-к(и)|. (3.7) Проблема определения числа \|/(л) = | М(п)\ оказалась нетривиальной, что показывают, в частности, наиболее значимые исторические этапы ее решения. ' Нередко в литературе под классом линейных функций понимается класс А, чпю приводит к неудобству при рассмотрении более широких классов отображе- '^чй. в частности аффинных и линейных отображений конечномерных пространств. 59
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ _ 1. Постановка проблемы и определение чисел v|/(n), п<4 (Деде- кинд, 1897). 2. Определение числа \|/(5) (Р. Черч, 1940). 3. Определение числа \|/(6) и получение нижней оценки для любого и (М. Уорд, 1948 г.): 2^*"^< х]1(п). 4. Вывод верхней оценки для всех п (Гильберт, 1954): \\1(п)< n^"\l. 5. Улучшение верхней оценки Гильберта (В. К. Коробков, 1962- 1965, серия статей): а) Vt/(«) < t^''\ б) Vt/(«) < „4,24.В(„)(.«(„))^ где s(n)-»0 при п-»х. 6. Улучшение оценки Коробкова (Апсель, 1966). \t/(n) < 3^*"\ Объединяя нижнюю оценку Уорда и верхнюю оценку Апселя, получаем следующую теорему. Теорема 3.5. 2^*"^< v|/(n) < 3^*"1 Доказательство. Докажем сначала нижнюю оценку Уорда. Решетка <YnS> имеет В{п) попарно несравнимых элементов, например все векторы с [п/2] единицами и п-[п/2] нулями (согласно теореме Шпернера более мощной антицепи в решетке <V^^,< > не имеется). В силу несравнимости этих векторов любой набор значений б.ф. на них векторах можно дополнить значениями на других векторах так, чтобы построенная функция была монотонной. Следовательно, имеется по крайней мере 2 различных монотонных б.ф. Для доказательства верхней оценки обратимся к лемме Акселя. Оценим, сколько различных монотонных б.ф. можно построить, задавая их значения на коротких цепях разбиения Апселя и доопределяя затем на более длинных цепях. 60
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ По утверждению «б» леммы 1.1с учетом монотонности функции f(x\,X2,...,x„) имеем, что если значение/(xi,X2,--^;i) известно во всех вершинах цепей длины п-2р-2, то в каждой цепи длины п-2р существует не более двух, причем соседних, вершин, где значения J{x\,X2,...,x„) еще не определены. Пусть а и Р - соседние вершины, где функцияy(xi,X2,...,x„) еще не определена, а < Р . Тогда для монотонной функции / выполняется: (/(а )ДР))б {(0,0), (0,1), (1,1)}. Так как число цепей по утверждению «а» леммы 1.1 равно В(п), то оценка Апселя доказана. ♦ 7. В 70-е гг. в работах Д. Клейтмана и Г. Марковски были получены оценки вида: 2В(л)( 1 +«<"))<yi/(,j)<2^<"'<' "^Р<"' где а„ = с-2'"^, р = с'\пп/п, сие' - константы. 8. А. Д. Коршунов в 1981 г. вывел асимптотику для v|/(«)- 3.6. Критерий полноты системы булевых функций Лемма 3.1 (о несамодвойственной функции). ЕслиУ(х1,Х2,...,л:„)й5, то из нее с помощью подстановки функций х и х можно получить несамодвойственную функцию одной переменной, то есть константу. Доказательство. Так как f{xi,X2,...,x„)^S, то найдется набор (ai,a2,...,a„) такой, что/(аьа2,...,а„) = /(а,,...,а„). В соответствии с этим набором построим функцию ф(х) = Дх"', x"^,...,.r""). Заметим, что ф(0) = ф(1), так как /(0"',...,0"") = /(а ,а„) =У(а,,а2,...,а„) = /(Г' l"")- ♦ Лемма 3.2 (о немонотонной функции). Если f{x\,X2,...,х„)^М, то из нее путем подстановки констант О и 1 и функции х можно получить Функцию X . Доказательство. Покажем, что найдется пара соседних наборов а и р таких, что а<Р и /(а)>/(Р). 61
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Действительно, еспи/(х1,Х2,...,х„)€М, то найдутся наборы а' и р' такие, чтоа' <Р' и /(а')>/(Р'). Если эти наборы соседние, то утверждение доказано. Если они несоседние, то а' и Р' отличаются в t координатах, где t>l. Причем эти t координат в наборе а' имеют значение О, а в наборе Р' - значение 1. Поэтому между а' и р' можно вставить t-1 не совпадающих друг с другом промежуточных наборов а^,...,а' таких, что выполняется цепочка соотношений а' <а^<...<а'<Р'. Наборы, стоящие в цепочке рядом, являются соседними. Так как /(а')>/(Р'), то хотя бы на одной из этих пар соседних наборов (обозначим их через а и Р, где а < Р) выполняется неравенство /(а)>/(Р). Пусть наборы а и Р соседние по i-й координате: а = (аь...,а,.ьО,а,+ь...,а„), Р = (аь...,а,-.1Л,а,чь...,а„). Построим функцию ф(х) = y(ai,...,a,.i,x,a,+i,...,a„). Эта функция равна X , так как У(аь...,а,.1Да,ч1,...,а„) =Да)>/(Р ) =/(ai,...,a,.i,l,a,4b...,a„). ♦ Лемма 3.3 (о нелинейной функции). Если f(x\,X2,...,x„)^A, то из нее путем подстановки констант О и 1 и функций х и х, а также, быть может, путем навешивания отрицания над / можно получить функцию XiX2. Доказательство. Рассмотрим полином Жегалкина для функции f{Xi,X2,...,X„y. f(xi,X2,...,Xn)= Y. Ф а,^ ,. -х. -...-х,. . {i^,....i^]z{l,2 п] Так как/нелинейна, то в ее полиноме имеется конъюнкция ранга 2 или более. Пусть, для определенности, ее сомножители есть xi и хг. Тогда полином функции Дх1,Х2,,.,х„) можно преобразовать к виду /= Xi-Xrf\(Хз,...^„)®Xi/гСХз,,.,,Х„)ФХ2-/з(^СЗ,• •.,Х„)Ф/4(х.з,...,А-„), 62
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ где функция fi(x^,...,x„) отлична от константы 0. Пусть набор (аз,•••,«;,) таков, 4To/i(a3,...,ot„) = 1. Построим функцию (?(Х],Х2) =/(Х|Д2,аз,...,а„) = xi-X2©-xi©-X2©Y, где а =/2(аз,...,а„), Р =/з(аз,...,а„), у =/4(аз,...,а„). Из нее получим функцию 9(xi©P^2©ot)©a-P©Y. Легко видеть, что Vj/(Xl^2) = Xi-X2. ♦ Заметим, что классы То, Т\, S, М, А попарно различны. Чтобы убедиться в этом, достаточно привести следующую таблицу принадлежности функций 0,1, X данным классам: 0 1 X То G г г т, г G г 5 г г G м G G г ^ G G G Докажем критерий полноты системы функций из Р2- Теорема 3.6 (о полноте). Система функций Р полна тогда и только тогда, когда она не содержится ни в одном из классов То, Ti, S, М,А. Необходимость. Пусть Р полна. Если Р содержится в одном из пяти указанных классов (обозначим его через N), то в силу свойств замыкания Pi = [РШЩ = N. Следовательно, Л^ = Р2, что противоречит определению класса N. Необходимость доказана. Достаточность. Если Р не содержится ни в одном из классов То, Т\, S, М, А,то в Р можно выделить подсистему Р' из пяти функций, не содержащуюся ни в одном из этих классов. Пусть/о^Го,/i^^Ti, US,f,„^M,UA.ToTnaP' = {fo/i/s/n,/o}. Можно считать, что функции из Р' зависят от одних и тех же переменных Xi,X2,.. .,'Х„. 1. Построим при помощи функций/о,/i,/v функции константы о и 1- Для значений функции/о возможны два случая: 63
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 1)/о(1,1,...,1) = 1. Тогда функция ф(х) =fo(x,...,x) есть константа 1, так как Ф(0) =/о(0 0) = 1, ф(1) =/о(1,...,1) = 1. Вторая константа получается из/ь /,(9(x)„..,9W)=/i(l,--->l) = 0. 2)/о(1,1,•••,!) = 0. Тогда ф(х) = х, так как ф(0)=/о(0 0)=1, ф(1)=/о(1 1) = 0. Теперь из функций/, и ф(х), используя лемму о несамодвойственной функции, можно получить константу. Так как мы располагаем функцией ф(х) = X, то из нее получаем и другую константу. Итак, в обоих случаях имеем константы О и 1. 2. При помощи констант О и 1 и функции /„, строим функцию х , что можно осуществить в силу леммы о немонотонной функции. 3. При помощи констант О и 1 и функции х и/, строим функцию! х\ -Хг, что можно осуществить в силу леммы о нелинейной функции. Итак, построена система {О, 1, х, х, х^}, которая является полной. Отсюда получаем, что система полна. Следствие 1. Всякий замкнутый класс функций из Рг, не являющийся полным, содержится хотя бы в одном из классов Го, Т\, S, М,А. Следствие 2. Всякая полная в Рг система Р содержит полн)то подсистему, содержащ)то не более четырех функций. Доказательство. Рассмотрим систему Р' = {/o/i/s/m/o}- В доказательстве достаточности при построении функций-констант рассмотрены два возможных случая :/о( 1,1,...,!) = 1 и/о(Ы,...,1) = 0. В первом случае/ог5, так как/о(1,1,...,1) =/о(0,0,...,0). Тогда искомая подсистема имеет вид: [fo/i/m/a}- Во втором случае /ойЛ и fo^M, так как /о(1,1,...,1) = О, /о(0,0 0) = 1. Тогда искомая подсистема есть [fo/s/a]- ♦ Заметим, что константу 4 в утверждении следствия 2 нельзя уменьшить, что вытекает из примера: система функций {О, l,xi-X2, Х1ФХ2ФХ3} полна, что следует из примера 6 полных систем, но по теореме 3,6 не полна любая ее подсистема. 64
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Класс N функций из Рг называется предполным, если N неполный, а для любой функции/GP2W класс N^\f} полный. Из определения следует, что класс N замкнут. Следствие 3. В Рг имеется 5 предполных классов: То, Т\, S, М,А. Доказательство. Ни один из этих классов не содержится в другом. Поэтому если взять один из них, то в нем содержится по крайней мере по одной функции не из «другого» класса. Добавление еще одной функции не из «взятого» класса обеспечивает полноту по теореме 3.6. ♦ Система функций [fufi,-■■,/.«■■■} из замкнутого классаМ: а) полна в М, если ее замыкание совпадает с М; б) есть базис в М, если она полна в М, но любая ее собственная подсистема не полна в М. Примеры базисов различных классов: 1) {1, хрХг, Х1ФХ2} - базис в Р^; 2) {О, 1, Х1-Х2, XiVX2} - базис в М; 3) {1, Х1ФХ2} - базис в А. Постом доказано, что в Р^ любой замкнутый класс имеет конечный базис и множество замкнутых классов счетно. 3.7. Основные способы задания булевых функций Ранее рассмотрено задание б.ф. формулами (разд. 3.2), а также ДНФ и КНФ (разд. 3.3). 3.7.1. Табличное задание Множество // наборов значений переменных, на которых б.ф. / принимает значение 1, называется множеством истинности б.ф. /. Порядок множества // называется весом б.ф. / (обозначается ||/(х,,Х2 х„)|| или кратко ||/||). Из определений следует, что для любых б.ф./и g выполнено: /- = V,Mfi If., = 1/п1,; Ij^, = IfUl,. 65
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 0<\\f(x„x„...,xj\\= X /(а„а„..„а„)<2". (a,,a2,...,a„)eV„ / = 2"- l|/v.|| = ||/|| + IH|-||/-^l> 11/фН1 = 11/|1ЧИ-2-1|/-.||. Из теоремы 3.1 следует, что (CT,,...a,„)€V„, так как множества истинности любых двух слагаемых в представлении (3.1) имеют пустое пересечение. Если ||/(х,,Х2,.",л:„)|| = 2"'', то функция f{xi,X2,...,x„) называется равновероятной или сбалансированной. В некоторых задачах приходится иметь дело с б.ф., значения которых известны не на всех наборах таблицы. В связи с этим могут быть полезны следующие определения. Отображение g:V—>{0,1}, где VcV,,, называется частичной (частично определенной) б.ф. Доопределением частичной б.ф. g называется всякая б.ф. /, ограничение которой на множество V совпадает с g. 3.7.2. Геометрическое и графическое задание Геометрическое задание б.ф. f{xi,X2,...,x„) - это изображение «-мерного единичного куба со множеством вершин V„, в котором выделены вершины множества Ij. Например, геометрическое задание б.ф./(х\,Х2,хт;) = Xj VX1OC2OC3 изображено на рис. 3.1. 66
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ (0,1,1) (0,0,1) (1Д1) (1,0,0) Ж^з (1,1,1). (0,0,0) (0,1,0) 11,1,0) Рис. 3.1. Геометрическое задание б.ф. J[xi,X2,X3) Графическое задание б.ф. f(xi,X2,...,x„) реализуется неориентированным графом Г/ со множеством вершин //, в котором ребрами соединены пары соседних наборов. Граф Г/ можно получить из геометрического задания отбрасыванием всех вершин из множества V„4f и инцидентных им ребер. Для б.ф. f(xi,X2,XT,) из предыдущего примера граф Г/изображен на рис. 3.2. (1,0,0) (0,0,0) (1,1,0) -•(1,1,1) Рис. 3.2. Графическое задание б.ф.Дх1,Х2,хз) 3.7.3. Многочлен Жегалкина и действительный многочлен Рассмотрим многочлен Жегалкина б.ф. Пусть ДХ1,Х2,...,Х„)= X ^ I', 'jlcC.Z п] %..,-\---\ Будем говорить, что конъюнкция х- ...л:, входит (не входит) в многочлен Жегалкина функции/(х1,Х2,...,л;„), если а, , = 1(а =0). Конъюнкции, входящие в многочлен Жегалкина называются одночленами. Степенью одночлена х- -...х- (или рангом конъюнкции X. -...-Х- ) называется число s составляющих его переменных. 67
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОПОГИЯ Степенью многочлена называется максимальная из степеней одночленов, входящих в многочлен (обозначается de^x\,X2,...,Xn) или кратко deg/). Б.ф. j{xi,X2,...,x,) называют линейной по переменой х„ IG {1,2,...,п}, если она представляется в виде: У(ХьХ2,.. .л,) = Xi® g(Xi^2,- • м-ХцЛ+Ь- • -Лп). (3.8) Если б.ф. задана ДНФ, то многочлен Жегалкина можно вычислить, выразив операции дизъюнкции и отрицания через операции конъюнкции и сложения по модулю 2: X\WX2 = Х1ФХ2Ф ХгХ2, X^ = Xi©l. Б.ф. можно задавать многочленами над полем действительных чисел. Действительно, XiAA:2 = Xi-X2, X1VX2 = Xi-f-X2-Xi-X2, Х1ФХ2 = Xi-f-X2-2-Xi-X2, X, = l-X]. Если б.ф. задана полиномом Жегалкина, СДНФ или СКНФ, то, заменив по приведенным выше формулам используемые в этих формулах операции на операции с действительными числами, получаем действительный многочлен, значения которого совпадают со значениями б.ф. на всех вершинах л-мерного куба. Каждой б.ф. соответствует бесконечное множество равносильных действительных многочленов, например х = х" при любом натуральном п. Однако при некоторых ограничениях неоднозначность представления двоичных функций можно исключить. Теорема 3.7. Любая б.ф. однозначно представляется в виде действительного полинома, все коэффициенты которого являются целыми числами, а каждая переменная входит в полином в степени не выше первой. 3.7.4. Спектральное представление Поставим в соответствие двоичному вектору а = (ai,a2,...,a„)e:V„ линейную б.ф. (а,х) = ai-Xi®arX2®...®a„-x„ и определим на V„ функцию (-1)'*''' с действительными значениями: 68
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ 1-1, (а,х) = \. Всего имеется 2" функций вида (-l)'"'^'. Например, векторам (0,...,0) и (1,...,1) соответствуют функции 1 и (-1)'^' " "" . Следующая лемма показывает, что все эти функции образуют ортогональную систему. Лемма 3.4. Для любых векторов a,be^V„ справедливо: ^_ О, аФЬ. Доказательство. Заметим, что xe\f„ ilf [о, аФО. Действительно, при а = О каждое слагаемое суммы равно 1, а при аФО линейная функция {а,х) принимает значения О и 1 по 2"' раз. Преобразуем исходную сумму и воспользуемся последним равенством для подсчета ее значения: У (_1У"-*) .(•_!)(''■*) = у f_-^\(".x)®(h,x) _ у ,улат,х) ф n п п Теорема 3.8 (о разложении в ряд Фурье). Для любой б.ф. имеется единственное разложение вида Ax) = 2-"-^ci-{-\r-'^\ (3.9) где X = {х\,Х2,...,х„)&У„ и коэффициенты </„ являются целыми числами, определяемыми равенствами: с{,= X/w•(-l)"'"^ (3.10) Доказательство. Подставляя в правую часть равенства (3.9) вместо коэффициентов с^а их выражения (3.10) имеем: 69
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ = 2-". X/(3') ( Z (-1ГЧ-1Г'). veV. a€V„ llo лемме 3.4 сумма внутри скобок равна О при x^i^y и равна 2" при х=у. Следовательно, 2'"-Zc,f(-l)<"-^> = 2-"-/(x)-2"=/(x). «eV. Если коэффициенты </« определены неоднозначно, то существует другое разложение функции Дх) вида (3.9); /(x) = 2-"-X^f(-l)"'"'- Тогда, вычитая одно разложение из другого, имеем: aeV„ Обе части этого равенства умножим на (-1)'*'*\ где beV„. Суммируя полученные равенства по xeV„, имеем; (h,x) _ (-ly"'^' = л) = (c/-^/)-2". Отсюда следует, что (//, = d^b- Так как Z^ - произвольный вектор из V„, то получаем требуемое утверждение. ♦ Вектор коэффициентов С(/) = (</Д aeV,,, называется спектром Фурье, а его координаты - коэффициентами Фурье б.ф.Дх). Преобразование вектора табличного задания б.ф. Дх) в спектр Фурье называют преобразованием Фурье б.ф./(х). Это преобразование зада- 70
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ ется матрицей Н „, называемой матрицей Адамара (формула, определяющая матрицу Н „, дана в разд. 3.8). Наряду с б.ф. f(x) рассматривают ее так называемый действи- тельно-значный аналог/</(х), где: Преобразование вектора табличного задания функции fj(x) с помощью матрицы Я „ называется преобразованием Адамара - Уолша б.ф. f(x). Получаемый вектор коэффициентов Z(/) = (/«), aeV,„ называют спектром Уолша, а его координаты - коэффициентами Уолша б.ф.Дх): z4= Х(-1)^'''®'"'''- (3-П) Спектры Фурье и Уолша всякой б.ф. взаимосвязаны. Теорема 3.9. Для всякой б.ф.Дх) и любого ае V,, 7^ = 1 -^-^^^ '^*^' ^ " \2"-2-cf, а=0. Доказательство. Из равенств (3.10) и (3.11) при а = О соответственно имеем: c^=|W|, /о = 2«-2-|1Я|. Обозначим для б.ф. y(x),g(x) через N^^^if.g), где s,5g{0,1}, число векторов X из V,„ для которых Дх) = s и g{x) = 5. Тогда из (3.10) и (3.11) при а^ получаем: c^a = Ni,o(f,(a,x))-Ni,i(f,ia,x)l zi = No.o(f,ia,x))+Nu(f,(a,x))-Nuo(f,(a,x))-No,ma,x)). Отсюда следует утверждение теоремы, если учесть, что No.o(f,(a,x)) = 2"-'-N,,o(f,ia,x)), N,M(a,x)) = M\-Nuo(f,(a,x)), Мо.Ша.х)) = 2"-'-M\+N,,oif,(a.x)). ♦ 71
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ _ Из (3.10) следует, что (/о = \\f\\, то есть 0<с'о^2", а остальные коэффициенты Фурье б.ф. Дх) - это целые числа из сегмента [-2"'',2"'']. Однако не всякий набор целых чисел с указанными ограничениями является спектром Фурье некоторой б.ф. Коэффициенты Фурье (следовательно, и коэффициенты Уолша) любой б.ф. связаны некоторыми соотношениями. Например, из (3.9) следует, что «€V„ Коэффициенты Уолша любой б.ф. связаны соотношениями ортогональности, то есть для beV„ aeV. V Отсюда при b = 0 имеем так называемое равенство Парсеваля: aeV„ Зо8. Связь различных представлений функций Рассмотрим множество функций, заданных на множестве V,, и принимающих значения в поле Р. Такие функции называют Р-буле- выми (если Р - поле рациональных или поле действительных чисел, то псевдобулевыми). Множество всех Р-булевых функций от п переменных обозначим через Р(п). Множество Р(п) образует векторное пространство над полем Р относительно операций сложения функций и умножения функций на элементы поля Р. Один из базисов пространства Р(п) - система булевых функций {f„(x)}, aeV„, где Следовательно, diniP(«) = 2" и люб)то функцию из Р{п) можно однозначно представить в виде линейной комбинации базисных функций над полем Р: 11
__Гп^_ва_3_ФУНКЦИИ АЛГЕБРЫ логики Пусть/" = {/(аУаеУ,,} есть вектор-столбец табличного задания функции / из Р{п). Так как f = E-j, где Е - единичная матрица размера 2"х2", то для всякой обратимой матрицы А размера 2"х2" над полем Р справедливо равенство /^A-h\ (3.12) где h = A'^-f. Вектор h = {/i(a)/aG V,,} можно рассматривать как новое задание функции/. Занумеруем столбцы матрицы А элементами множества V,, в лексикографическом порядке (в силу обратимости матрицы А их можно рассматривать как набор базисных функций) и обозначим столбец с номером а через g^^, aeV,,. Тогда равенство (3.12) можно переписать в виде /'-T,h(a)-gt. n Следовательно, новое задание h функции/можно рассматривать как набор коэффициентов в разложении функции/относительно базисных функций g^,, aeV,,. То есть выбирая в качестве А различные обратимые магрицы, получаем различные способы задания функции / Переход от одного способа задания к другому и обратно осуществляется с помощью матриц А и А'^ соответственно. Особый интерес представляют матрицы перехода от одного задания к другому, являющиеся л-й тензорной степенью обратимой матрицы размера 2x2. Следующая лемма устанавливает зависимость между элементами 2х2-матриц и видом базисных функций, получаемых при таком разложении. Лемма 3.5. Пусть матрица А размера 2"х2" получается тензорным умножением обратимой матрицы В размера 2x2 на матрицу С размера 2"х2": 73
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОПОГИЯ А = В®С,В={^^ Р). Тогда наборы базисных функций [gJc&V„.\} и [gJa^V,,}, соответствующие матрицам Си А, связаны соотношениями: g(o,c)(x\,X2,--.,x„) = (а-х, +y-xi)-gc(x2,...,x„), g(\.c)(X\,X2,--;X„) = (Р-Х, +b-Xi)-gc{X2,...,X„), где X = \-хи все операции выполняются в поле Р. Доказательство. В условиях леммы 3.5 матрица А равна: ^-^^'='{Г'с t'c]- Табличным заданием функции g(o,c)(x\,X2,---,Xn) является столбец матрицы А с номером (0,с). Верхняя (нижняя) половина его, соответствующая значению переменной xi = О (xi = 1), есть результат з^лно- жения элемента а (элемента у) на столбец матрицы С с номером с. Следовательно, разложение функции g(o,c)(x\,X2,...,x„) по переменной х\ имеет вид: &0,с)(-Х1Д2,-.-Л,) = -Х, ■(a-gc(X2,...^„))+Xi-Y(gc(X2,...^„)) = = (а-х,+Y-xi)-gc(x2,...^„). Второе соотношение доказывается аналогично. ♦ Теорема 3.10. Если А = В^"\ 5 = Г* s К то соответствующие матрице А базисные функции имеют вид: а g^,^ ,^,(х1,...л,) = Д[с, -(а-х,. +у-х,)+с,-(Р •х,.+5-х,)]. (3.13) 1=1 Доказательство следует из леммы 3.5. ♦ Перечислим обратимые матрицы В, соответствующие известным способам задания б.ф. Р- произвольное поле. 5 = 5* = L. , 1. 74
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Согласно теореме 3.10 базисные функции имеют вид п ^(с,,...,с„)(^ь---Л.) = Ц^с^х^+сгх,] = х,'' -...-xl" . .=1 в этом случае разложение (3.13) есть СДНФ функции/. Р - поле рациональных чисел, 5=1, i.^ ~1-1 1г В этом случае базисные функции имеют вид ^(с,,...,с )\Xlf-yX„) = п » п = Ш''' ■ (^.+^')+'^' ■ ^.] = Ш"^' + '^' • ^.i = П ^.- • ;=1 1=1 i:Cj=l Разложение (3.13) совпадает с действительным многочленом функции. P = GF(2),5 = 5-'=|j ^j. Согласно теореме 3.10 базисные функции имеют вид п ^(с,,...,с„)(^Ь---Л.)= П^.- Разложение (3.13) совпадает с многочленом Жегалкина. Р - поле рациональных чисел. 5 = 11 _u' ^ ~ 1/2-5. В этом случае базисные функции имеют вид п ^(с, ,...,с„ ) (^1 - • • • Л') = П^^^' ■ ^^' + ^'^ + ^' ■ ^^' " ^' ^] = (=1 = П[1-2.с,-х,] = (-1)'"""'". 1=1 в данном случае разложение (3.13) является разложением функции в ряд Фурье. Таким образом, матрица Адамара имеет вид 75
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ "г" - [\ -1 Заметим, что вычислительная сложность перехода от одного способа задания функции п переменных к другому способу с увеличением п быстро растет, так как определяется сложностью реализации умножения 2"-мерного вектора на матрицу порядка 2". Известно, что для матриц порядка 2" такое умножение требует не менее п-2" элементарных вычислительных операций. Вместе с тем для некоторых классов функций изменение способа задания может быть реализовано более экономно в смысле вычислительной сложности. В качестве примера рассмотрим переход от полинома Жегалкина к таблице б.ф. и обратный переход. Пусть полином Жегалкина функции / задан формулой (3.4). Согласно этой формуле значение функции / на двоичном векторе b = {bi,b2,...,b„) равно: f{bub2....,b„)= S ® \j.-h---b,,. (3.14) {.,.....i,lc{l,2 л) Обозначим через 1ф) множество номеров единичных координат вектора Ь. Заметим, что Ь. -...-Ь. = 1 <:> {Ji,...,4}c/(Z?). Поэтому формулу (3.14) можно преобразовать: J{bi,b2,...,b..) = S ® «.,ч- ^^-^^^ Из формулы (3.15) имеем, что если b - вектор веса s, то f{b) есть сумма 2'' коэффициентов многочленов Жегалкина (по модулю 2). В частности, если: b - нулевой вектор, то /(0,0 0) = ао; b - вектор веса 1 такой, что 1ф) = {/}, то /(Z?bZ?2,.-.A) = ao©a,; b - вектор веса 2 такой, что 1ф) = {i,j}, где i;^, то J{bi,b2,...,b„) = ао Ф а, Ф а^Ф а/,, ... -76
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Ма1рица перехода от таблицы б.ф. к многочлену Жегалкина равна обратной матрице, поэтому формулу (3.15) можно соответствующим образом «обратить»: ^..ч = Е® /(^)' (3.16) h<c- где ceV„ и 1(c) = {/ь...,/,}• Из формулы (3.16) следует, что а,...„= Y.® /(x) = ||/(x)||(mod2), то есть для б.ф. доказана следующая теорема. Теорема 3.11. degДxьX2,...,x„) = и <:^> ||/|| нечетен. Для функций невысокой степени нелинейности переход от таблицы к полиному Жегалкина с использованием формулы (3.16) требует существенно меньше вычислений, чем с помощью умножения матриц. 3.9. Понятие о классификации двоичных функций Во многих приложениях, в том числе при анализе и синтезе логических схем, представляет интерес составление обширного списка б.ф. от некоторого числа переменных и их свойств. Это облегчает выбор б.ф. с заданными свойствами. Однако полное перечисление всех б.ф. и их свойств не под силу современным ЭВМ уже при числе переменных /г>5. В связи с этим данную задачу можно решать путем разбиения множества функций на классы, внутри которых функции обладают близкими свойствами. Если число классов невелико, то задача облегчается, так как по свойствам представителей классов можно судить о свойствах остальных функций. Задачу выбора функции с заданными свойствами можно решить, например, путем выбора подходящего класса, затем выбирая наилучшую функцию внутри класса. Подход к исследованию множества Piin), заключающийся в разбиении его на классы, носит название классификации. Б.ф. можно Классифицировать по различным характеристикам: по весам, по степеням нелинейности и т. д. Одним из наиболее важных с точки зре- 77
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ния приложении в криптологии является подход, основанный на использовании групп преобразований. Пусть G - некоторая группа преобразований множества V„. Очевидно, порядок группы G удовлетворяет неравенствам 1 <IGI<(2")!. Б.ф./(хьХ2.---.Лп) и h(xi,X2,...,x„) называются эквивалентными относительно группы G, если в G найдется преобразование g, при котором верно тождество h{x)=f{g{x)). Обозначим это отношение^ h или^/г, если ясно, какая группа G подразумевается. Данное бинарное отношение на множестве Piin) при любой группе G является отношением эквивалентности, так как оно: а) рефлексивно: ^*У(в этом случае g = е); б) симметрично: M^h, тогда h= /; в) транзитивно: Jk h, h= z, тогдаj^ z. Таким образом, множество Piin) разбивается на классы эквивалентности относительно рассмотренного отношения. Обозначим класс эквивалентности, содержащий функцию /, через [/]g . Очевидно, 1<Ш<101. Если I[/]gI = 1, то/неизменна при всех преобразованиях ge.G, то есть функция/ инвариантна относительно группы G. Степень инвариантности / относительно преобразований группы G характеризуется понятием группы инерции. Группа инерции функции/в группе G - это множество преобразований группы G (обозначим его через Jcif)), не изменяющих функцию/, то есть JG(f)={g^GIMx))^f{x)]. Множество 7g(/) является подгруппой группы G, причем 1<I7g(/)I^IGI. Если I 7g(/) I = 1, то говорят, что функция/имеет тривиальную группу инерции в группе G. Теорема 3.12. Для всякой функции/еРг справедливо 78
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ 1Мо1= "" Доказательство. Класс [/]с состоит из функций mGAKx)/h{x)=f(g{x)),geG}. Пусть g - произвольное преобразование из G. Определим, сколько преобразований g' из G дают ту же функцию, что и преобразование g: f(g(x)) =Kg'(x))- Сделаем в этом равенстве замену переменной: у = g{x). Тогда X - g'^iy) и из последнего равенства получаем: f{y) = f{g'-g'\y))- Последнее равенство выполняется в том и только в том случае, когда g" = g' -g'^eJcif). Следовательно, g' имеет вид: g'=g"- g, и всего таких преобразований 1/с(/)1- Так как это число не зависит от выбора g, получаем утверждение теоремы. ♦ Основными группами преобразований множества V,,, используемыми для классификации булевых функций, являются следующие 5 групп. 1- Группа S„ перестановок переменных. Она состоит из и! преобразований вида g = Xi Х2 ... Х^ V -'1 -'2 Л| / ^Де (ji,J2,---,jn) - перестановка чисел {\,2,...,п). Функция/(х) называется симметрической, если она инвариантна относительно группы S,„ то есть 7^ (/) = ^п ■ 2. Группа S„ инвертирований переменных (группа сдвигов). Она состоит из 2" преобразований вида 79
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 3- Группа Джевонса Q„ (группа преобразований однотипности, группа геометрической эквивалентности), являющаяся произведением ipynn S„ и Е„. Группа Q„ состоит из преобразований ввда 8 = ■^ ^2 ••• ^п X. Фа, X. Фа, X Фа V -'1 ' -'2 2 — ;„ «у где (/ij2,..-J«)- перестановка чисел (1,2,...,и), {а^аг, ..., a„)eV„. Преобразования состоят в перестановке переменных и инвертировании некоторых из них, \Q„\ = п\-2". 4- Группа GL„{2) линейных преобразований набора п переменных (полная линейная группа). Преобразования задаются невырожденной двоичной матрицей А размера пхп: g(x)=x-A. Порядок группы GL„{2) равен ГТ(2" -2'). 5. Группа AGL„(2) аффинных преобразований (полная аффинная группа), являющаяся произведением групп GL,, и Z„. Она состоит из преобразований вида: g(x) = хАФЬ, где А = (aij) - обратимая матрица размера пхп над полем из двух элементов, векторе = {bi,...,b„)eV„. Порядок AGL„(2) равен л-1 [AGL„{2)\ = 2"-Y[{2" -2'). 1=0 Каждая из групп 5,„ S,„ Q,„ GL„(2) - подгруппа группы AGL„(2). Справедливы следуюш[ие свойства. Утверждение 3.1. Пусть G - одна из пяти указанных групп vif^h. Тогда 1. 11/11 = \\h\\. 2. deg/= deg/г. Доказательство. Справедливость первого свойства следует из того, что при любом обратимом преобразовании g множества V,, вес функции/(^(а)) неизменен. 80
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Справедливость второго свойства следует из того, что при любом аффинном преобразовании g множества V,, степень нелинейности функции не увеличивается, поэтому deg/(x) > degf{g{x)) > degf(g\g(x))) = degf{x). ♦ Утверждение 3.2. Пусть Ge{5,„X„,<2„} и Jk'^h. Тогда функции/и h имеют одинаковое число существенных переменных. Доказательство. Достаточно заметить, что при любом преобразовании g множества V,,, g&G, пара соседних векторов преобразуется в пару также соседних векторов. ♦ Изложим идею классификации б.ф. с использованием групп преобразований их области определения. Важной проблемой классификации является задача конструктивного перечисления, то есть получение списка представителей всех классов эквивалентности. Эту задачу можно решать так: 1. Сначала выбирается какой-либо способ перечисления всех функций из Piin), то есть генерируется последовательность {f\Ji,fi, ,■■■}. Способы построения этой последовательности могут быть разные, например перебор всех функций, начиная с функции малого веса, перебор функций с различными графами связности вершин в n-мерном кубе и т. д. Как правило, сразу не удается обеспечить условия, чтобы все эти функции лежали в разных классах эквивалентности, поэтому выполняем п. 2. 2. Полагаем/" =/i и подсчитываем 1/с(/*")1. Далее рассматриваем fi и проверяем, выполнено ли отношение f2= /". Если выполнено, то переходим к /^. Если не выполнено, то полагаем/"' =/2 и подсчитываем 1/с(/"^^')1 и т. д. Для очередной функции/ из исходной последовательности проверяем, эквивалентна ли она одной из отобранных ранее функций /",...,/'"' или нет. Если эквивалентна, то переходим к /+1. Если не эквивалентна, то полагаем/"'*" =/ и вычисляем 1/с(/*"'*")1 (о способах вычисления 1/с(/)1 для б.ф./рассказывается ниже). После этого проверяем выполнимость равенства m+l \Q\ 1=1 I J г 2^". (3.17) (/"')1 81
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОПОГИЯ Если (3.17) выполнено, то классификация закончена. Описанный метод классификации упрощается, если заранее известно число т классов эквивалентности, так как отпадает необходимость в вычислении порядков групп инерции и проверке выполнимости равенства (3.17). В этом слз'чае классификация завершена, если построена последовательность/",/^',...,/'"'. Определенное неудобство такой классификации заключается в том, что мощности классов эквивалентности могут заметно различаться (см. теорему 3.12). Приведем в следующей таблице результаты подсчета числа классов эквивалентности для пяти указанных групп при п<6. Из таблицы видно, что для классификации б.ф. от п>6 переменных этот подход оказывается неэффективным. п 1 2 3 4 5 6 Sn 4 12 80 3984 37333284 >25.10'* ^п 3 7 46 4334 134281216 >2910" G Qn 3 6 22 402 1228158 >4.10"' GL„(2) 4 8 20 92 2744 950998216 AGL„{2) 3 5 10 32 382 15768919 Тем не менее такой подход представляет интерес для оценки числа неэквивалентных ключей некоторых криптографических схем. Для вычисления групп инерции наиболее часто используется класс методов, получивших название эвристических. Они выполняются в два этапа. Сначала выбирается набор каких-либо достаточно просто вычисляемых параметров (называемых «эвристиками»), по значениям которых можно либо сделать вывод типа: «функции не эквивалентны», «группа инерции тривиальна» и др., либо уменьшить число вариантов, подлежащих перебору. После этого, если окончательный ответ не получен, осуществляется перебор оставшихся вариантов. 82
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ Пример. Посчитаем 1/^ (/)1 для функции/(х1,...,Хб), заданной я многочленом Жегалкина. Для этого сгруппируем в многочлене все одночлены одинаковой степени: ДХ1,...,Хб) = l®(Xl®X3®X4)®(Xi-X2® Х2-ХЗ® X^Xs)® XrXyX4® ХуХ^ХуХб- Пусть/ь/г,/з,^ - однородные многочлены степеней 1, 2, 3, 4 соответственно, сумма которых равна/(х1,...,Хб): /l = Х\®Хз®Х4; fl = X\-X2®X2-Xi®X4-X5; /з = ХгХуХ4 ; /4 = ХуХ4-Х4-Хб. Составим матрицу частот встречаемости переменных Xi,...,X6 в однородных многочленах f\,f2,fi,f4'- /. fl h fA X\ 1 1 0 0 Xl 0 2 1 0 Xi 1 1 1 1 X4 1 1 1 1 X5 0 1 0 1 X(, 0 0 0 1 При перестановках переменных функции/(х1,...,Хб) столбцы этой матрицы переставляются, но по составу неизменны. Сравнивая столбцы, имеем, что одинаковыми являются только столбцы, соответствующие переменным хз и Х4. Следовательно подстановки из J^ (/) оставляют на месте хь хг, х$, хь и, быть может, переставляют xj, и Х4. Так как транспозиция (хз,Х4) изменяет функцию/г (х1,...,Хб), получаем окончательно, что I /^ (/) 1= 1. Для исследования групп инерции функций в группе 5„ и в других группах могут быть использованы различные инварианты, такие, как веса и степени нелинейности подфункций, число существенных переменных, число вхождений в члены фиксированной степени (полиномиального представления функции) подмножеств переменных заданной мощности и многие другие. В частности, группа Л (/) мо- п жет быть найдена как множество решений относительно а\, ...,а„ системы уравнений, вытекающей из равенства соответствующих коэффициентов полиномов Жегалкина функций/(х1,...,х„) и f(x\®a\,... ,х„®а„). 83
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ЗЛО. Задачи и упражнения 3.1. Найдите существенные переменные б.ф./и g, заданных таблицами. Какие б.ф. получаются из/и g после удаления несущественных переменных? Постройте их таблицы и геометрические задания. Постройте таблицы б.ф./,/^, Jwg. Xi Xl хг f 8 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 3.2. Пусть Т(п) - число б.ф. от п переменных, зависящих существенно от всех своих переменных. Покажите, что: а) Т(п) = ^(-1)' -с: •2^""' ; б) 11тГ(п)-2-^" = 1 . 3.3. Докажите, что множеством истинности произвольной элементарной конъюнкции ранга к является двоичный куб размерности п-к. 3.4. Найдите многочлены Жегалкина и действительные многочлены для следующих б.ф. и определите их степени нелинейности: а) Xl -xj V Xl -хз; б) xi -xj v xj хз v xi хз; в) (Xi V X2) • ( Xl V X3); r) Xl© X2© X3. 3.5. Разложите no переменной xi б.ф. из задачи 3.4. 3.6. Докажите, что б.ф. /(xi,X2,...,x„) зависит от х, несущественно тогда и только тогда, когда все одночлены, содержащие в качестве множителя х„ не входят в ее полином Жегалкина. 3.7. Определите число б.ф. от п переменных: а) веса к, к = 0,1,2,...,п; б) четного веса. 3.8. Докажите, что если б.ф. Дх1,Х2,...,х„) имеет ш несущественных переменных, т<п, то ее вес кратен 2*". 3.9. Сколько существенных переменных может иметь б.ф. Дх1,Х2,..,х„), если ее вес равен ш: а)п = 10,т = 94; б)п=12, ш=104? 3.10. Пусть б.ф. Дх1,Х2,.-Л,) и g(x„+i,x„+2,...,Xm) зависят от непересекающихся множеств переменных, т>п. Покажите, что: 84
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ a)fg неравновероятна, если обе функции/,g не константы; 6)j®g равновероятна о равновероятна одна из них. 3.11. Покажите, что б.ф. равновероятна, если она линейна по некоторой переменной. 3.12. Докажите, что ||Дх1,Х2,...,х„)||>2"'*, если degДxl,X2,..•,л„) = к>0. 3.13. Выведите условия на коэффициенты полинома линейной б.ф. а\-х\®а2-Х2®...®а„-х,„ при которых она самодвойственна. 3.14. Докажите, что у б.ф./(х1,Х2,...,х„) и у двойственной б.ф. множества существенных переменных совпадают. 3.15. Посчитайте deg/(xbX2,...,x„) и ||ЯхьХ2,...,х„)||, где: a)j{X\,X2,...,X„) = Х\®Х2®...®Х„®Х\-Х2- ...-Хп; б)ДХ1,Х2,...,Хп) = ХуХ^ ■Хг\/ХуХ2-Х^ VX1-X2 -Xj VX1-X2-X3, П>Ъ\ в) П = 1т,^уХ\,Хъ...,Хгп) = (XvXy ...■Х2т.\)®(Х2-Х4- ...■Х2т)®ХгХ2; Г)П = Ът,^{Х\,Хъ...,Хт,т) = (Xi®X2®...®X„,y(x„+i®X„+2®...®Xi„) ®Xi-X3m, Д)ЯХ\,Х2,-,Хп) = (Х1®Х2®ХзУ(ХуХб- ...■Х„)®Х5. 3.16. Упростите формулу Дх1,Х2,...,х„) и посчитайте ||Дх1,Х2,",л:„)||: J\X\,X2,...,Xn) — Xi-X2®XyX4'"-'Xii®Х^ • Х2 ®Х^ • Х^ •...• Х^ ®Х2'Х-}. 3.17. Пусть ||Ях1,...,х„)|| = к, \\g(x„+i,...,Xm)\ = I, т>п. Посчитайте вес б.ф. ф(хь...,Хт) = ^ФДх1,...л>)' g ' (x„+i,...^m), где а,е{0,1}, / = \,...,s. i=\ 3.18. Какова доля функций, зависящих отх4 фиктивно, среди всех линейных равновероятных б.ф. от пяти переменных? 3.19. Каково число б.ф. от п переменных степени нелинейности kl 3.20. Посчитайте число б.ф. от п переменных, не изменяющихся при перестановке переменных х\ и Х2. 3.21. Найдите коэффициенты Фурье и коэффициенты Уолша для б.ф. из задачи 3.4. 3.22. Является ли набор чисел (4; -1; 2; -2; 1; 1; 3; -3) спектром Фурье или Уолша для некоторой б.ф. от трех переменных? 3.23. Покажите, что |</а|<2""' при ajtQ. 3.24. Пусть / = gh. Докажите, что коэффициенты рядов Фурье Э1ИХ б.ф. связаны соотношениями </„ = !'"■ ^ с^ -с^^^, a&V„. 85
в. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ 3.25. Найдите разложение в ряд Фурье б.ф.; a)f{Xx,X2,...,X„) = Хй б)/{ХьХ2,...,Х„) = Xi®X2@...®X„ . 3.26. Докажите, что в спектре Фурье (Уолша) линейной б.ф. лишь два коэффициента (один коэффициент) отличны от нуля. Каким базисным функциям соответствуют ненулевые коэффициенты и чему они равны? 3.27. ДляДх1,Х2,---,л:4) = хгХ2-хз©Х4 покажите, что f^O——) =0. 3.28. Посчитайте коэффициент Фурье с/о б.ф. Дх1,...,Х5). = — Х\-Х2 ■X3VX4 'Xj. 3.29. Как связаны спектры Фурье (и Уолша) б.ф./(х1,...,х„) и а)/(хь...,х„)©1; 6)J{Xb...,x„)®(Xi®ai):.. -(ХпФап), (аь...,а„)еУ„; B)f(Xb...,x„)®(aiXi®...®a^„), (аь...,а„)еУ„; T)J{8(xi,...,x„)),g&GL„7 3.30. Выразите б.ф. через ее действительно-значный аналог. 3.31. Посчитайте мощности множеств /^2(4), L(10),yi(7), 5(8). 3.32. Пусть /?qP2(4) и I /?| = 1000. Можно ли отыскать в множестве R 200 немонотонных функций? 3.33. Сколько имеется в ^2(9) равновероятных нелинейных б.ф.? 3.34. Сколько имеется монотонных б.ф. f(x\,X2,Xi,X4), принимающих значение О на всех векторах веса 2? 3.35. Докажите, что если б.ф./еМ, то и/*еМ. 3.36. Каков вес монотонной б.ф./(xi,X2,...,X5), если она равна О на всех векторах веса 1 и равна 1 на всех векторах веса 2? 3.37. Докажите, что класс Мне содержится ни в одном из классов Го, Ти S, L 3.38. Докажите, что самодвойственная б.ф. равновероятна. 3.39. Является ли самодвойственной б.ф.: а) х\ vC2-X3©l; б) х\ •X2VX3 -xi; в) х\®Х2@х^@11 3.40. Посчитайте число аффинных б.ф. от п переменных, зависящих существенно от к переменных. 3.41. Являются ли полными классы б.ф.: 86
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ а) {х\ ■xjvxi-ха, 0}; б) \х\ -хгФхзФ!}; в) \х\ xtJX\ -хз, хзФ1}? 3.42. При каких значениях а,Ъ данный класс б.ф. является полным: а) \а-х\-хг®х^®\,Х\®Ъхг\\ б) \а-х\-Х2Х^®Ъ®\, Ъ-Х\®хг\\ в) {{а®Ъ)-Хх-хг®\, ax\-X2-x^\\ Y)\a-bx\-хгФхз©\,Х\®Ь■Х2®а}? 3.43. Являются ли линейно независимыми системы б.ф.: а) \х\,Х2,х\®хг\\ б) {х\-хгм®хг,Щ\ в) {х\,х\-Х2, ...,хгХ2-...-х„}? 3.44. Какие из замкнутых классов Рг^п), М(п), Цп), А(п), То(п), Т\(п), S(n) образуют векторное пространство? Укажите его размерность 3.45. Какова размерность пространства; а) всех аффинных б.ф., зависящих от шести переменных; б) всех линейных б.ф., зависящих от переменных хь хз, xs; в) всех б.ф. от п переменных, у которых в АНФ входят одночлены только четной степени; г) всех б.ф./от п переменных, у которых degf<k<n? Изменится ли размерность этих пространств, если потребовать дополнительно, чтобы функции сохраняли константу О? 3.46. Для б.ф. от трех переменных вычислите матрищ>1: а) перехода от таблицы к многочлену Жегалкина и обратную; б) перехода от таблицы к спектру Фурье 1 -го типа и обратную. Используя обратные матрицы, вычислите многочлены Жегалкина и разложения в ряд Фурье б.ф./g, заданных таблицей X] хг Хъ f 8 0 0 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 3.47. Найдите линейное доопределение частичных б.ф./и g, получите их полиномы Жегалкина. х> хг Хъ / g 0 0 0 0 0 0 0 1 1 * 0 1 0 1 * 0 1 1 * 1 1 0 0 * 1 1 0 1 1 * 1 1 0 * 0 1 1 1 * * 87
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 3.48. Для б.ф. Дх1,Х2,хз) = a®^-x\®X2®y-x\-X2®b-X2-X},®s-x\-X2-xj, определите величины: а)Д0,0,0)©/(1,0,0)©/(1Л,0)©/(1,1Л); 6)/(0,l,0)©/(lJ,0); в) (/■(0Л,0)©Д1,0,1))-(/(0,0,0)©Д 1,0,0)©/(0,1,1)). 3.49. Для частичных б.ф., определенных таблицей Х\ Х2 Хъ Х4 / Я /. ^1 /2 82 0 0 0 0 0 1 0 1 0 * 0 0 0 1 * 0 * 0 * * 0 0 1 0 1 1 1 1 * * 0 0 1 1 * * * * * 1 0 1 0 0 1 1 1 0 * * 0 1 0 * 0 0 1 1 0 0 0 0 0 * 0 0 1 1 1 * * * * 0 * 1 0 0 0 1 0 0 1 * * 1 0 0 1 * * 1 * * 1 1 0 1 0 0 1 1 1 * 1 1 0 1 1 * * 0 * 0 * 1 1 0 0 0 0 1 0 * 0 1 1 0 1 0 * * * 0 * 1 1 1 0 1 0 * 0 1 * 1 1 1 1 * « * * 1 * найдите: а) квадратичное доопределение - для/и g; б) квадратичное равновероятное доопределение - для/i и gi; в) монотонное доопределение - для^ и g2. Вычислите полиномы Жегалкина найденных доопределений. Определите ДНФ/г и g2, не содержащие отрицаний переменных. 3.50. Какая из цепочек включений групп верна: а) X„c<2„cGL„; б) S„^GLn^Q„; в) S„^I,„^GL„? Какова диаграмма включений для пяти указанных ipynn? 3.51. Эквивалентны ли данные б.ф. относительно какой-либо из групп 5з, Ез, бз, GLj, AGL^: а)Х\-Х2®Х^ ИХ\-Х2^ХУ, б) xi X2VX1 Xi и Х| X2®xi -хзФхз; в) X2VX| и Х\ ■Х2®Х\ ■Х^®Х2-Х^®ХУ, r)xrX2VXiX2 HXi©X2©X3? 3.52. Определите порядок группы инерции в ^'б б.ф.: а) (x\®Xi)-(x2®Xi)®X5X(,; б) Х| Х2 ■Х^®Х\ ■Х2■Х4®Х\ Х^®Х2 •Хз©Х5 Х(,®Х\®Х^®Х(,; 88
Глава 3. ФУНКЦИИ АЛГЕБРЫ ЛОГИКИ в) Xi •X3©X2-X5©X4 -ХзФХ! -Xj -ХбФхг -Хз -ХзФХ] ■Х4-Х5; г) Xi Хг х:з ■Х4ФХ2 х^ -х^Фх^ Xi, Х5ФХ1 ХбФхг хз ХдФхб- Сколько б.ф. из Pi{&) эквивалентны этим б.ф. относительно 5б? 3.53. Имеются ли в системе F б.ф., эквивалентные относительно группы Qi,: F = {Х1-Х2-Х4ФхзФх1-Х4, X1-X2VX3VX4, Х1-Х2-ХзФХ1-Х2-Х4 }? 3.54. Какая из данных б.ф. имеет группу инерции в ^4 наибольшего порядка: а) Xi Х2ФХ1 -ХзФХ! Х4ФХ2ХзФХ2Х^Фх^ ■Х4; б) Xi Х:2Фхз•Х4; в) (Х2Фхз)-(Х1Фх4); г) Xi ■X2VX3VX4? 3.55. Определите JQ^^if) для б.ф./= Х1ФХ2Ф...ФХ10 и вычислите ее порядок. 3.56. Докажите, что б.ф. от п переменных является симметрической тогда и только тогда, когда в ее многочлене Жегалкина все члены степени к, к = 0,1,2,-.., п, одновременно либо присутствзоот, либо отсутствуют. Посчитайте число симметрических б.ф. от п переменных степени нелинейности к. 3.57. Докажите, что б.ф. от п переменных является симметрической тогда и только тогда, когда она постоянна на множестве векторов веса/:, к = 0,1,2,..., п. 3.58. Образует ли векторное пространство множество симметрических б.ф. от п переменных? Если да, то укажите размерность этого пространства. 89
Глава 4. ФУНКЦИИ А:-ЗНАЧНОЙ ЛОГИКИ 4.1. Начальные понятия и элементарные функции Пусть с/= {м1,М2,...,Мт>-.-} " ИСХОДНЫЙ алфавигперсменньк, зна- чения которых определены на множестве^{01,..,Ы},Ъ»2. Функцией fixi,X2,...,Xn) А:-значной логики от п переменных называегся отображение/:£'jt^"'—>£'jt, где переменные х\,Х2,...,х„ взяты из алфавита U. Через Рк обозначим множество всех функций /:-значной логики и через Рк(п) - множество функций /:-значной логики, зависящих от п переменных. Из определения следует, что I Р. (п) 1= /:* . Таблица функцииДх1,Х2,...,х„ Х\ 0 0 0 0 к-1 Хп-\ 0 0 0 1 к-1 )&Pk{n) имеет вид: Х,1 0 1 к-\ 0 к-\ j{X\, ...,Хп) А0,...,0) .до, ...Л) ЯО,...,о,к-\) m ...л,о) Як-\,...Л-\,к-\) Табличное задание функций /:-значной логики еще более громоздко, чем задание б.ф. Поэтому чаще используется задание функций с помощью формул или алгоритмов вычисления их значений. Например, /(xi,...,x„) = max(xi,...,x„). Для функций из Pk понятия фиктивной и существенной переменных, равных функций, формулы над множеством функций, замкнутого и полного класса функций определяются так же, как и для б.ф. Перечислим важнейшие элементарные функции из Рь 1) константы Q,\,...,k-\; 2) отрицание Поста: {х+\)тодк; 3) отрицание Лукашевича: {к-\)-х (обозначается ~х или Nx); ■.тюттп 90
Глава 4. ФУНКЦИИ к-ЗНАЧНОИ ЛОГИКИ 4) характеристическая функция (1-го рода) числа г.];{х), :(^)- (1, если x = i; . q, .,. (0, если X ^ i; 5) характеристическая функция (2-го рода) числа /: /,(х), /,(х)=р-1' ««^^ 1=^' / = 0,1,...Д-1; '^ '^ [О, если xjti; 6) транспозиция чисел / nj: t,j{x), уе{0,1,..., к-\}, г^'; hi^) = \ h х = и [ i, x = j; I) минимум X и у: min(x,)'); 8) максимум X и у: тгх{х,у); 9) сумма по mod к: {x-\-y)modk; 10) произведение по mod к: {х-у)то6к; II) разность по mod к: {x-y)vciodk = _\к-{у-х), если 0<х<у<к-\; х-у, если 0<у<х<к-\; 12) усеченная разность хХу: I _ f О, если 0<х<у<к-\; ^■^'^~\х-у, если 0<у<х<к-\; 13) импликация хзу: _ f /:-1, если Q<x<y<k-\; ^'^^~ \{к-\)-х-¥у, если 0<)'<х</:-1; 14) функция Вебба: Vk{x,y) = (та\{х,у)+\)тодк. Некоторые б.ф. имеют в Pk по нескольку аналогов, обобщающих отдельные свойства этих б.ф. Функции min, max, сумма и произведение обладают свойствами коммутативности и ассоциативности. Верны законы дистрибутивности умножения относительно сложения {х+у)-г = x-z+y-z. П
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ дистрибутивности операции max относительно операции min и операции min относительно операции max: max(m\n(x,y),z) = min(max(x,z), max{y,z)), min(max(x,y),z) = max(min(x,z), min(y,z)). Любую функцию к-зиаяаой логики/(xi,X2,...,x„) можно представить в 1-й форме (аналог СДНФ б.ф.): У[х1,...д„)= max {min(/(ai,...,a„),y (х,),...,У„ (х„))} (4.1) И ВО 2-й форме (сумма и произведение берутся по модулю к): /(хь...д„)= ^ /(аь---,а«)-Л,(х,)-...-7;^(х„). (4.2) Используя обозначения: а • х = min(a,х), а v х = тах(а,х), укажем ряд формул, связывающих элементарные функции. 1. Правила спуска символа J «в глубь» формулы: Jo(x) V... V У,_, (х) V J^^, (х) V... V У^_, (х), а = 0; J^(J^(x)) = -0, 0<(у<к-1; УДх), (У = к-1; Ja(XrX2) = Ja(Xiy(Ja(X2)v. ..vJk.i(X2))vJ„(X2)-(Ja(Xl)v...v/i.^Xi)); y„(XiVX2) = Ja(Xi)iJo(X2)v. ..vJ„(X2))vJ„(X2HJo(Xl)v. ..vJ^iXi)). 2. Правило исключения «чистых» вхождений переменной: x = l-y,(x)v2-y2(x)v...v(A:-l)-y^_,(x). 3. Правило введения переменной: X, = X, (Уо (Xj ) V ... V J^_, (Xj )) . 4. Правила упрощения: fj„(x), х = а; [О, х;^а; {k-])vx = k-], Ovx = x, (к-])-х = х, 0-х = 0. 92
Глава 4. ФУНКЦИИ к-ЗНАЧНОЙ ЛОГИКИ 4.2. Важные классы функций ^-значной логики Рассмотрим некоторые классы функций к-значной логики, свойства которых важны, в частности, для криптографических приложений. ФункциюУ[хьХ2,-..,х„) называют сбалансированной, если для любого геЕк |{(х„х„...,х„)е^,<"':/(х„х„...,х„) = А-}| = Г-'. Очевидно, функции (x+y)modk и %(х) являются сбалансированными, а функции тах(х,)') и mm(x,)') не являются. Сбалансированная функция из Рк(^) есть подстановка на множестве Е^. Если в f{x\,X2,...,x„) значения некоторых переменных зафиксировать константами из Е^, то получим подфункцию функции J{xuX2,...,x„), соответствующую данной фиксации. Функция/(хьХ2,...,х„) называется биективной по переменной х„ если все ее подфункции, соответствующие всевозможным фиксациям остальных переменных, реализуют подстановки множества Ек, ie[l,2,...,n}. Например, функция (x+y)modk биективна по обеим переменным, а функция (x-)')mod/: не биективна ни по х, ни по у. Многочленом по модулю к от переменных Х1Д2,---Л1 называется выражение вида Q(xi^2,- • -л) = (ао+ arXi+...+ a„,-X„)modk, (4.3) где коэффициенты OieEk и выражение Xj, j = \,2,...,т, называемое одночленом, есть произведение переменных из множества {xi,X2,...,x„}. Степенью одночлена Z, (обозначается degX,) называется сумма степеней всех переменных, перемножаемых в данном одночлене. Степенью многочлена Q (обозначается deg0 называется максимальная из степеней его одночленов. Многочлен Q называется линейным, если deg6^1. Функцию /(xi,X2,...,x„) назовем линейной по переменной х„ 'е{ 1,2,...,п}, если справедливо У[хьХ2,...д„) = а-х,+У(/(х1,..,,х,.|Д,ч.ь.-.Л,), (4.4) 93
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ где afO, Ц1 есть (п-1)-местная функция из Р^, а сумма и произведение вычисляются по модулю к. Рассмотрим примфы замкнуп>1х классов в Р^:. 1. Класс M=Pf 2. Пусть Qc,Ek. Классом Tq функций из Рк, сохраняющих множество Q, назовем следующий класс: Та = {/(хьХ2,...л,)еРь/(а1,а2,...,сУ„)еП, если (а1,а2,...,а„)еП^"'}. Класс Tq замкнут, так как всякая суперпозиция функций из Tq также принадлежит классу Tq. Понятие замкнутости класса может быть использовано для обоснования неполноты некоторых систем функций. Например, для обоснования неполноты системы Р = {~x,max(xi,X2)} рассмотрим Q = {О, к-] ]. Так как обе функции системы Р принадлежат Tq, то [P]c,Tq. Так как СЬ^Ек при к>2, то система Р не полна. 3. Пусть ^(х) - подстановка на множестве Ек, s'\x) - обратная к ней подстановка. Функция из Рк f''\xi,X2,...^,) = s'^(J[s(Xi),s(X2),...,s(Xn))) называется двойственной к функции Дх\,Х2,...,х„) относительно ^(х). Если функция двойственна к себе относительно ^(х), то она называется самодвойственной относительно ^(х). Обозначим через Zf^' множество функций из Рк, самодвойственных относительно ^(х). Класс z'k"^ является непустым (например, хе Z'l^"^ при любой подстановке ^(х)) и замкнутым, в чем можно убедиться, проверив, что всякая суперпозиция самодвойственных относительно ^(х) функций также является самодвойственной относительно ^(х). 4. Пусть А^к- Обозначим через Л*' множество тех функций из Рк, для которых в множестве А имеются двойственные относительно ^(х) функции. Множество Л*' называют двойственным к множеству А относительно ^(х). Теорема 4.1. При любой подстановке ^(х) степени к класс А замкнут тогда и только тогда, когда замкнут класс А. Доказательство. Пусть класс А замкнут и функции//i,...,/mj с использованием которых построена суперпозиция ф = f(f\,...,fm), при- 94
Глава 4. ФУНКЦИИ к-ЗНАЧНОИ логики надлежат классу Л при некоторой подстановке s{x) на множестве Ек- Покажем, что феЛ'*'''. По определению класса Л'**' в множестве А для функций//ь...,/т имеются двойственные относительно s(x) функции:/^^^/^'^V-.j/m*' соответственно. В силу замкнутости класса А ему принадлежит и суперпозиция этих функций \\1 =/^^Vi '•••/»! )• Полагая, что функции f\,...,fm зависят от переменных xi,X2,...,x,„ из определения двойственной относительно s{x) функции имеем: V(/ = S^(fis-S^(fiisiX\),s{X2),...Ax,d)),---,S-S^(fTisiXi\s{X2),...Ax,))))) = = S'^(M\(s(Xl),s(X2),...,S{Xn)),...fi(s(Xi),s(X2),.-.,s(Xn)))) = ф*'- Следовательно, ф еЛ*\ В силу двойственности доказано и обратное утверждение. ♦ 5. Пусть <Ек,<> - частично упорядоченное множество (ч.у.м.). Набор а = (ai,...,a„) не превосходит набор b = {bi,...,b„), где а ,Ь еВк"^ (обозначается а<Ь), если а-^Ь^дяя всех / = 1,2,...,п. Таким образом, <Ек"\<> - также ч.у.м. Функция/(xi,X2,...,x„) из Рк называется монотонной относительно отношения <, если из а<Ь следует/(а )<j{b). Класс функций из Рк, монотонных относительно <, обозначим через М(<). Замкнутость класса М(<) доказывается так же, как и для класса монотонных б.ф. 4.3. Примеры полных систем в Рк Рассмотрим примеры полных систем, используя принцип сведения задачи о полноте одних систем к задаче о полноте других систем (теорема 3.2 вьпюлняется и для функций из Р ^). 1. Система Р = Рк- 2.СистемаРоссера-Туркетга: {0,...,/:-l,yo(x),...,yA:.i(x)iXiXiXiVX2}. Ее полнота следует из формулы (4.1). 3. Система Р = {0,...,/:-1,7о(х), ...,jk.i{xXK+y{mo6 к),ху(то6 к)}. Ее полнота следует из формулы (4.2). 4, Система Поста: Р= [х, xivxj}. Теорема 4.2. Система Рполна в Р*. ^5
в. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ Доказательство. Рассмотрим несколько этапов. 1) Построение констант. Из функции х = (x+])modk последовательно получаем: x+i = (x+(i-\))+],i= \,2,..,к-\; к-] =jcv(x+l)v... v(x+ к-]). Используя константу к-] и функцию х, получаем остальные константы. 2) Построение функций одной переменной. Сначала получим функции У] (х), i = 0,k-l: Л(х)= 1+ max {х+а}. а*к-\-1 Действительно, если х = i, то левая часть равна к-1,а правая часть равна 1+ max {/+а} = 1+ max {i+a} = ]+(к-2) = к-1. a*k-\-i i+a*k-\ Если xj^i, то левая часть равна О, а правая часть равна 1 + max {х+а} = 1 +(х+(к-]-х)) = А: = 0. а**:-1-1 Далее строим функции, s = 0,1,...к-]: fsj(x) = 5'+1+тах{У,(х), k-]-s}. Подстановка различных значений х в это равенство показывает, что/5,,(х) = S, если X = i, и/,,;(х) = О, если хФ1. Для любой функции ф(х) из РкО) выполнено равенство ф(х) = тах{Д,о)о(х),Д,„,(х),...,Д,,.,)д,_,(х)}. В частности, ~х = тах{ A._,,oU),/a.-2,i W—./од-iU) )• 3) Построение функции хрхг. Легко видеть, что ~min(xbX2) = = тах(~хь~Х2). Отсюда min(XbX2) = ~max(~xi, -Х2). 96
Глава 4. ФУНКЦИИ к-ЗНАЧНОИ ЛОГИКИ Таким образом, при помощи формул над системой функций Р можно выразить любую из функций полной системы, рассмотренной в примере 2. Следовательно, полна и система Р. ♦ 5. Система Р = [vk(x\,X2)}. Доказательство полноты проводится путем выражения через функцию Вебба каждой функции системы, рассмотренной в примере 4. 4.4. Распознавание полноты и критерии полноты в Pjc Задача распознавания полноты системы функций в Р/, формулируется следующим образом. Пусть задана конечная система Р = {fi,fb--->fs] функций, каждая из которых зависит от переменных хьХг, ...,х„. Существует ли алгоритм, распознающий хюлноту системы Р (ведь множество формул над Р бесконечно)? Далее для любого натурального р обозначим: /,(xi,... Др) = х„ /=1,2,... ,р. Для произвольного класса функций МсРк через М обозначим 1" р множество всех функций из М, зависящих oTXi,...,Xp. Теорема 4.3. Алгоритм распознавания полноты произвольной конечной системы функций из Р^ существует. Доказательство. Построим по индуктивному правилу последовательность No,Ni,N2,...,Nr,... множеств функций от переменныхх! ихг. Положим iVo = 0. Пусть уже построены множества No,Ni,...,Nr. Определим множество iV^+i- Для этого выпишем функции, составляющие множество Nr, г>0: Nr= {/?i(Xi,X2),...,/l, (XpXj) }, где ^0 = 0. Для каждого i = 1,2,...,5 рассмотрим всевозможные формулы вида ДЯ1(Х1Л),-,Я«(Х1,Х2)), 97
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ где Hi(xi^2) есть либо функция из множества iVr, либо функция g^,(-^i,X2), /е{1,2}; 1 = 1,« . Следовательно, просматривая s(sr+2)" формул, мы можем получить функции, не вошедшие в множество Л'г. Обозначим их через /г, ^Дх, .Xj),...,/!^ (XpXj). Положим Очевидно, что NocN\c,...cN,c..., и если iV^+i = Nr, то для t>\ справедливо Nr+, = Nr, то есть цепочка множеств стабилизируется. Если г* - минимальный номер множества, с которого настзттает стабилизация, то справедливо Так как все функции из множества N^, зависят от xi и хг, то liV. \<к'' всех натуральных i, поэтому г*<к'' . Следовательно, стабилизация множеств настзттает через конечное число шагов. При этом возможны два случая. 1. Множество Nr* содержит все функции от переменных xi,X2, в том числе и функцию v<.(xi,X2). Тогда исходная система полна. 2. Множество Nr* не содержит всех функций от переменных хьхг- Так как [/^ ^.J = N^^, то имеем, что [Р] не содержит всех функций от переменных хьх? и, следовательно, система Р не полна. Таким образом, распознавание полноты системы Р осухцествляет- ся за конечное число шагов следующим образом: строятся классы No,N\,...,Nr* до момента стабилизации и по Nr* определяется, есть полнота или ее нет. ♦ Требование конечности системы Р при распознавании ее полноты не является «очень сильным». Теорема 4.4. Из всякой полной в Р^ системы Р можно выделить конечную подсистему, также полную. Доказательство. Пусть Р = {fi,fb---,fs,---]- В силу полноты системы Р функция Vi(xbX2) выражается формулой над Р: Vt(Xl,X2)= {/[Д,...,/. ]. 98
Глава 4. ФУНКЦИИ к-ЗНАЧНОЙЛОГИКИ Очевидно, система {/],...,/.} является искомой. ♦ В /:-значной логике нет универсального и простого в применении критерия полноты системы функций, как в случае б.ф. Вместе с тем для некоторых классов систем функций из Р/, получены критерии полноты, использование которых достаточно удобно. Приведем ряд теорем, посвященных проблеме полноты системы функций в Р^. Теорема 4.5 (А. В. Кузнецов, 1956). В Р<. можно построить такую систему замкнутых попарно невложимых друг в друга классов функций M\,M2,---,Ms, что некоторая система Р функций из Рк полна тогда и только тогда, когда она не содержится ни в одном из классов Л/„ / = \,s. Эта теорема показывает принципиальную возможность сформулировать критерий полноты системы функций из Рк в терминах принадлежности системы специальным замкнутым классам, причем конечному числу таких классов. Однако построение таких классов трудоемко уже при небольших к. Более эффективные критерии полноты имеются для систем функций из Рь удовлетворяющих различным ограничениям. Приведем некоторые из таких критериев полноты в Рк. Функция из Рк называется существенной, если она зависит существенно от двух или более переменных и принимает все значения из Ек. Функция из Рк называется шефферовой, если она образует полную систему. Теорема 4.6 (Слупецкий, 1939). Пусть система Р функций из Рк, к>2, содержит все функции одной переменной, принимающие не более к-] значений. Тогда для полноты системы Р необходимо и достаточно, чтобы Р содержала существенную функцию. Непосредственное использование данной теоремы не всегда удобно, так как необходимо установить наличие в системе Р всех функций одной переменной, принимающих не более к-] значений. Число таких функций равно к''-к\, что подразумевает значительные вычислительные трудности уже при небольших к. Поэтому представляют интерес примеры компактных систем функций, с помощью которых можно породить все функции одной переменной. Теорема 4.7 (С. Пикар, 1935). Все функции одной переменной из Ра можно породить системой трех функций: {(л-+1 )modk, x+Jq(x), to.iix)}. 99
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ Теорема 4.8. Все функции одной переменной из Рк можно породить системой из к функций: « [x+jo(x), toj(x), i= 1,2,...,/:-!}. Теорема 4.9. ФункцияУ(хь...,х„) из Рк, к>Ъ, является шефферовой тогда и только тогда, когдаy[xi,...,x„) порождает все функции одной переменной, отличные от подстановок. Доказательство. Необходимость очевидна. Достаточность. Так как j{xi,...,x,) порождает все функции одной переменной, отличные от подстановок, то она порождает все функции-константы и, следовательно, принимает все к значений. Если при этом функцияy[xi,...,x„) несущественная, то она есть подстановка. Но тогда из нее можно получать только подстановки, что противоречит исходному предположению. Следовательно, / является существенной функцией и по теореме Слупецкого система {/} полна в Рк. ♦ Теорема 4.10 (Саломаа, 1962). Пусть система Р функций из Рк, к>А, содержит множество Sk. Тогда для полноты системы Р необходимо и достаточно, чтобы Р содержала существенную функцию. 4.5. Особенности Л:-значных логик Имеется целый ряд свойств, подчеркивающих сходство двузначной и /:-значной логик. Вместе с тем немало получено результатов, выявивших существенные различия классов функций Рг и Рк, к>3. Обратимся к некоторым из них. Теорема 4.11 (Янов, 1959). Для любого к>3 в Рк существует замкнутый класс, не имеющий конечного базиса. Доказательство. Рассмотрим множество функций: /о = 0, Дх1,...,х,)=-^ г=1,2, ...; , [О, в остальных случаях. Обозначим через Мк множество всех функций, получающихся из функций системы Р = {fo,f\,f2,-} путем переименования (без отождествления) переменных. Из определения следует, что Мк - замкнутый 100
Глава 4. ФУНКЦИИ к-ЗНАЧНОИ ЛОГИКИ класс и каждая базисная функция этого класса получена из некоторой функции^ путем переименования переменных. Пусть Mj имеет конечный базис, тогда можно выбрать минимальный индекс \х среди индексов функций fi, соответствующих базисным функциям. Если базис содержит еще одну функцию, то ей соответствует функция fj, где _/>|а. Так как функцию /ц можно получить из fi путем переименования (если j = \i) или отождествления (если j>[i) переменных, то/ц выражается через/, что противоречит определению базиса. Следовательно, если базис конечен, то состоит из единственной функции. Но и это невозможно, так как никакую функцию/, где j>|a, нельзя получить из/ц, ведь/(...,/, ...) = 0. Следовательно, М* не имеет конечного базиса. ♦ Теорема 4.12 (Мучник, 1959). Для любого к>3 в Р* существует замкнутый класс со счетным базисом. Теорема 4.13. Для всякого к>3 класс Р* содержит континуум замкнутых классов. Теорема 4.14 (Яблонский). Любая функция j{xi,X2,...,Xn)ePk пред- ставима многочленом по модулю к тогда и только тогда, когда к простое число. Доказательство. Из формулы (4.2) следует, что представимость полиномами функций из Р; сводится к представимости полиномами функций _/o(jc),...jit.i(Jc)- в силу того, что j„ix) = jo(x-g) при любом аеЕк, достаточно построить полином функции jo(j^). Пусть к = р простое число. Тогда из малой теоремы Ферма следует, что система полиномов полна в Р*, так как jq(x) = (l-x''"')mod^». Пусть к^. Тогда к = кукг, где к\,к2>^- Допустим, что jo(jc) = (^7o+^7i-JC+ ...+^7j-JC''')mod^. Тогда при JC = О получаем Ьо= \, при д: = ^i получаем О = (l+^7,-)t,+ ...+^7,-(^i)')mod^- Отсюда следует, что к-\ - {hyki+ ...+ЬАк\У)тойк. т
в. М.Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ Из последнего равенства имеем, что ^-1 делится на ^i. Следовательно, на ^1 делится и к и к-1, то есть ^i = 1, что противоречит сделанному предположению. Таким образом, функция jo(x) не предста- вима полиномом по mod^. ♦ Доказанная теорема обобщается на случай, когда множество Е^ - поле характеристики р, где к = /?"'. Теорема 4.15. Всякая функция в Р* представима полиномом над полем Галуа характеристики р тогда и только тогда, когда к = /?'", р - простое число. 4.6. Задачи и упражнения 4.1. Докажите следующие равенства: а) х1.у = niax(jc,>')->'; б) jcJ.^ = jc-niin(jc,>'); в) niin(jc,>') = xr>y+ х; г) jc = niax((jc+2)J.l,7i.2(jc)); д) тах(х,у) = тах(д:,>')+/оСу1д:)+/м(д:)->'. 4.2. Представьте в 1-й и 2-й формах следующие функции при заданных к: 3)f = Jk-i(x), к=3; 6)f=^min(x,y), к=Ъ; в)/= jc'ly, к = А. 4.3. Постройте полином по mod к, задающий функцию/из Р*: а)/= niin(jc,>'), ^ = 3; б)/= хг>у, к = 5; в)/= jcJjc^, ^ = 5. 4.4. Докажите, что при составном числе к функции max(jc,>'), х1.у, min(jc,y), xz)y непредставимы многочленами по модулю к. 4.5. Представима ли многочленом по mod к функция из Р*: а)/= ЪМх), к = 6; б)/= (х1у)1у, к = 41 4.6. Докажите, что еслиДхьХг,...,^,,) из Р^ принимает / различных значений, 1</<^, и имеет т фиктивных переменных, 0<т<п, то и двойственная к ней функция /'^'(xi,jc2,...,jc„) имеет те же характеристики при любой подстановке ^(jc) на множестве £;. 102
Глава 4. ФУНКЦИИ к-ЗНАЧНОИ ЛОГИКИ 4.7. Задайте различными способами отношение частичного порядка < на множестве Е^ и определите, какие из элементарных функций ^-значной логики являются монотонными относительно <. 4.8. Каково множество значений функции/= а-х+Ь из Р*? 4.9. При каких значениях к и параметра а из £* функция f(x,у) является самодвойственной относительно подстановки s(x) = х: a)f(x,y) = х^+у^+2а-х-у+у; 6)f(x,y) = x+jo(x+ay)l 4.10. Докажите, что образует группу юшсс подстановок степени к, относительно которыхУ(д:1,д:2,...,д:н) из Р;- самодвойственна. 4.11. Докажите, что замкнутыми классами функций являются: а) класс всех одноместных небиективных функций; б) класс Zk'"^ при любой подстановке ^(jc); в) класс функций М(<). 4.12. Какие из элементарных функций ^-значной логики: а) биективны по всем своим переменным; б) линейны по всем своим переменным; в) являются подстановками (и инволюциями) на множестве Е^. 4.13. Докажите, что функция y(jci,X2,-^;i) из Р* является сбалансированной, если она биективна по некоторой переменной. 4.14. Докажите для f[xi,...,x„) из Р*, линейной по д:,, ie[l,2,...,n], что: а) переменная х, является существенной дляДд:1,...,д:„); б)Лх\,Х2,...,х„) биективна по переменной Xj тогда и только тогда, когда (а,к) = 1, где а - коэффициент при jc,. 4.15. Сколько различных функций п переменных из Р* биективны по переменной jci? 4.16. Докажите, что для б.ф. y(jci,A-2,...,Jc„) биективность по некоторой переменной равносильна линейности по той же переменной. 4.17. Докажите, что при простом к линейный полином из Рк биективен по каждой существенной переменной. 4.18. Докажите, что система функций Р не полна: а) Р = {~х,тах(х,у)}; б) Р = [т\п(х,у),х1у}; в) Р = {min(jc,y), (jc- v)mod^}. 103
Б. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ 4.19. При каких значениях к квадрат всякой существенной функции из Рк является существенной функцией? 4.20. Используя понятие двойственного множества функций, докажите, что система {jc-l,min(jc,>')} полна в Рк. 4.21. Используя критерий Слупецкого, докажите полноту в Р^ следующих систем: а) {J2(x), х+у , х-у+\}; б) {^-1, 2х-у, х J.y}, к- нечетное число. 4.22. Исследуйте на полноту в Р; следующие системы: а) {к-2,х+у,тт(х,у)}; б) {0,\,х1(~у)]; в) {21д:,тах(д:,>')д->'}. 4.23. При каких к и относительно каких операций множество Рк(п) является векторным пространством? Какова размерность этого пространства? 104
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ Отображение (p:X-^Y, где X,Y - конечные множества, называется сбалансированным, если число прообразов элемента уе Y относительно ф одинаково для всех у. Для сбалансированности отображения ф необходимо, чтобы \Y\ делил \Х\. Если \Х\ = \Y\, то сбалансированность отображения ф равносильна биективности. Сбалансированность шифрующих отображений определяет статистические свойства выходных последовательностей криптографических схем. Биективность отображения, используемого для шифрования сообщения, необходима для однозначного восстановления исходного сообщения из шифрованного сообщения. Всякий текст (дискретное сообщение) представляет собой последовательность «букв» - элементов конечного множества X, называемого алфавитом, где |Х|>1. Рассмотрим отображения конечных наборов символов из алфавита X порядка к. 5.1. О связи отображений с системами функций Теорема 5.1. Множество всех отображений {ф:А[^"'—^Х^""'} биективно соответствует множеству всех систем функций {fi(xi,...,x„),...f„,(xu...,Xn)}, mefi(xi,...,x„):X^"^^X, i = l,...,m. Доказательство. Составим таблицу отображения ф: Х^"^-^Х^'"\ в левой части запишем в лексикографическом порядке элементы множества Х^"\ а в правой части - их образы относительно отображения ф. (0,...,0) (0,...,1) (^-1,'.'.'.','^-1) ф(0,...,0) = (у,(0,...,0),...,у„(0,...,0)) ф(0,...,1) = (>',(0,...,1),...,у„(0,...,1)) ф(^ -1,...,^ -1) = b^'-hZk-liZ,У„(к- 1,...,к-1)) Правую часть таблицы можно рассматривать как т столбцов, где '-й столбец соответствует значениям i-x координат всех образов. Следовательно, /-й столбец есть табличное задание функции ^шостпфп 105
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ fi{xi,...,x,i), называемой i-и координатной функцией 01'ображения ф, / = 1,2,...,/п. Значит, всякому отображению ф:Х*"^->Х^"'' однозначно соответствует система из т его координатных функций: ф = . /2(-*'|>^2'-'^«)' (5.1) Очевидно, различным отображениям ^"'—)-^'"' соответствуют различные системы координатных функций. С другой стороны, всякая система т функций, отображающих ^' —)-^, задает некоторое отображение ^"'—)-^"''. Следовательно, отображение множества рассматриваемых отображений в множество систем координатных функций инъективно и сюръективно, а следовательно, и биективно. ♦ Следствие. Множество всех отображений V,,—>Vm биективно соответствует множеству всех систем т б.ф. от п переменных. ♦ Установленное соответствие позволяет формулировать утверждения для отображений ^"'—)-^'"' через характеристики систем координатных функций. Отображение ф будем отождествлять с системой Fm„ его координатных функций, ф = F,„,,„ где {fl(Xi^2,-^n),f2(Xl^2,-,Xn),-,fm(Xl^2,...^n)}- 5.2. Критерии сбалансированности отображений Исследуем сбалансированность отображения F,„„, где т<п. Назовем весовыми характеристиками системы функций F,„.„, множест- во чисел Л/ ■' ' 1 Ог где {/|,/2,...,/,}с{1,2,...,т},5>0, и (ri,...,r,)eA'*'*. Г'оворят, что система F„,.„ имеет нормальное весовое строение (н.в.с), если для любого непустого подмножества {/i,/2,...,^} множества {1,2, ...,w} и любого набора (г1,...,г,)еА^'' 106
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ Л/"' ' =к"-\ -' ' «-i i-s Теорема 5.2. Отображение Fm„ сбалансировано тогда и только тогда, когда имеет н.в.с. Доказательство. Из определения весовых характеристик системы функций F;„,„ следует, что Л/*' '■'= У Л/" '"'' '"'■• (5.2) где t/b...jm-j} = {1,2. ...,'w}\{/b/2,--,'.v}- Каждое слагаемое правой части равенства (5.2) можно представить в виде Л^,^ ™ с помощью оди- паковых перестановок верхнего и нижнего наборов индексов, (^7ь...,Ме;^"". Если отображение F,„„ сбалансировано, то каждый элемент множества j6'"^ имеет относительно него ровно к"'"" прообразов, то есть N h'"'h ~ ^" ^^ любого набора (b\,...,b,„)e^'"\ Отсюда получаем, что для сбалансированного отображения F,„,,t правая часть равенства (5.2) есть сумма к'"'' чисел, равных к"'"", то есть равна к"'\ Следовательно, отображение F,„„ имеет н.в.с. Если отображение F,„„ имеет н.в.с, то из определения весовых характеристик при S = т имеем, что f\J "" = к"'"" для любого набора (г1,...,Гт)е^'"', то есть каждый элемент множества }6 имеет ровно /:"''" прообразов. ♦ Следствие 1. Отображение, заданное системой б.ф. Fm^, сбалансировано тогда и только тогда, когда для любого непустого подмножества {i\,i2,--;iA множества {1,2,...,т} /. \х^,Х2,--;Х^)•...•/■ \x^,...,x^^) = 2"-\ (5.3) '1 Доказательство. Сбалансированная система б.ф. F„„ имеет н.в.с, в частности Л^,''",'* = 2"* для любого непустого подмножества 107
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ {'i,J2.---,',<} множества {1,2,...,т]. Так как Л^,''",''* для системы б.ф. Fm„ есть /■ {x^,X2,..■,x^)■ ...• /| {x^,...x^^) , то равенства (5.3) верны. Пусть равенства (5.3) верны. Докажем, что для непустого подмножества {ii,i2,...,is]c{l,2,...,m] и любого (ri,...,rj.)ey, fSx^,x^,...,x„)-...-fHx^,...x„) = 2" (5.4) Если (г\,...,г_,) = (1,1,..., 1), то равенство (5.4) верно, так как оно совпадает с одним из равенств (5.3). Пусть равенство (5.4) верно для любого подмножества {i\,i2,---,is} множества {1,2,....т] и любого набора (r\,...,r,)eVs, имеющего менее d нулевых координат, d<s, s>l. Пусть теперь набор (ri,...,r_,) из V, имеет ровно d нулевых координат (без ущерба для общности рассуждений можно считать, что нулевыми являются первые d координат и что {i\,i2,---,is} = {h2,...,s}). Для любых б.ф./и g выполнено /•Н1 = 1И1-||/-^11- в частности, для/ = /1 и g = /^ •...• /^ -/j+i-.../^ имеем: II/l 'Л ■•••■/<//d+r-'-'/ill = = 11/2 ■•••■/<; ■/</+l'----/«l|-|l/l'/2 ■•••■/</ ■fd+V----fs\\- Отсюда, используя предположение индукции, имеем: I/,-Л •••••/. •/</..--/.11 = 2 n-S+\ -ОН-.5 2"" = 2" То есть равенство (5.4) верно для любого набора (ri,...,r,)eV» имеющего d нулевых координат и система F,„„ имеет н.в.с. ♦ Распознавание сбалансированности отображений в общем случае весьма трудоемко уже при небольших п, что следует из доказанных критериев. Вместе с тем некоторые достаточные условия несбалансированности отображений могут быть весьма удобны в применении. Следствие 2. Если отображение F,„,„ сбалансировано, то все его координатные функции также сбалансированы. 108
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИИ Доказательство. Сбалансированное отображение имеет н.в.с, поэтому NJ = к"'^ для любого аеХ и любого /е {1,2,...,т}. То есть все координатные функции сбалансированы. ♦ При шифровании с элементами текста часто выполняются определенные вычислительные операции. Поэтому алфавит текста обычно представляет собой некую алгебраическую структуру. Для отображений Fm,H:P'"'—>-Р^'"', где Р- поле, справедлив следующий критерий сбалансированности [69, следствие 7.39]. Теорема 5.3. Отображение F„„ сбалансировано тогда и только тогда, когда сбалансирована любая нетривиальная линейная комбинация его координатных функций. 5.3. Критерии биективности преобразований Система функций F^,» называется алгебраически зависимой, если найдется константа ЬеХ и не равная константе функция 8(У\,У2,-,Ут)■~Х^"'^^Х, для которых g(f\(Xi^2,-, X„),f2(X\^2,..., Х„), ... ,fm(X\^2,-, X,,)) = Ь. В Противном случае система функций F„„ называется алгебраически независимой. Когд^а X = Р - поле, понятие алгебраической зависимости обобщает понятие линейной зависимости функций (как элементов векторного пространства). Теорема 5.4. Преобразование ф множества }6"^ биективно тогда и только тогда, когда система его координатных функций алгебраически независима. Доказательство. Пусть ф = F„„. Если система F„„ алгебраически зависима, то существует отличная от константы функция ?С)'1.>'2,--,>'н):-^"'—>-'^такая, что для некоторого Ь&Х g(fl{Xi^2,--;Xi^,f2{X\^2,...^,^, ...,/,(^1Д2,-Дн)) = Ь. (5.5) Так как g{y\,y2,---,yi) отлична от константы, то найдется набор (ai,a2,...,a„)e^"', для которого g{a\,a2,...,a,^^. Если преобразование ф биективно, то в А^"'для набора (ai,a2,...,a„) имеется прообраз - на- ^ор (Pi.P2.".Ph), для которого выполнено g(/'i(Pi,p2,...,P„)/2(Pi,P.b...,P„),.../,(Pbp2,...,P„))-g(a,,a2,...,a„)^/7. 109
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ^ Имеем противоречие с равенством (5.5), то есть преобразование ф небиективно. Пусть преобразование ф небиективно. Тогда некоторый набор (ai,a2,...,a„)e^"' не имеет прообразов относительно ф. Используя элементы a,bsX, где aj^^b, построим функцию 8{уиУ2у->Уп), равную а на наборе (ai,a2,...,a„) и равную b на остальных наборах из ^"\ Функция ^Суь>'2,..,>'н) отлична от константы, и для любого набора (Pi,P2,---,P;i)e^"' g(fl(Pbp2,...,P«),/2(Pbp2,...,P«), ...,muh,-A)) = b. Следовательно, система F„„ алгебраически зависима. ♦ Теоремы 5.2-5.4 показывают, что распознавание биективности преобразования в общем случае требует значительных вычислений. Однако для некоторых классов преобразований имеются удобные критерии биективности. Поэтому если доказано, что класс М состоит из обратимых преобразований, то обратимость преобразования ф можно установить, если показать, что феМ. 5.4. Некоторые классы отображений Рассмотрим важные для криптографических приложений классы отображений. 5.4.1. Аффинные отобрстсения Рассмотрим отображения j^"^^^p^"'\ где Р - поле. Отображение ф называется линейным, если для любых jCj^eP^"' и любых а,ЬеР Ц)(а-х+Ь-¥) = а-Ц)(х)+Ь-ц)(¥). При X = у, а = ~Ь отсюда следует, что ф(0) = О', где ОеР*"', О' еР'*"', то есть ф отображает нулевой вектор пространства Р'"' в нулевой вектор пространства Р^"'\ Координатные функции отображения ф есть линейные (с нулевым свободным членом) многочлены от xi,X2,...,x„, гдед: = (xi,X2,...,x„). Между всеми линейными отображениями р("*_).р("'' и всеми матрицами размера тхп над полем Р имеется биекция: набор коэффици- 110
Глава 5. СБАПАНСИРОВАННОСТЬ ОТОБРАЖЕНИИ ентов линейного многочлена г-й координатной функции есть /-я строка матрицы, i = 1,2 т. Сбалансированность линейного отображения ф равносильна тому, что ранг соответствующей матрицы Мф равен т. Линейное преобразование ф пространства Р'"* обратимо тогда и только тогда, когда определитель матрицы М^ размера пхп отличен от 0. Множество всех обратимых линейных преобразований пространства Р'"' образует группу. Построение матрицы Мф'', обратной к матрице М^ преобразования ф, требует не более drv' операций типа сложения и умножения в поле Р, где d - константа. Отображение ф* называется аффинным, если ф*(д:) = ф(д:)+а для любого хеР'-"\ где ф - линейное отображение и а еР^"'\ При а = О' аффинное отображение является линейным. Сбалансированность (биективность) аффинного отображения ф* равносильна сбалансированности (биективности) линейного отображения ф. Множество всех обрйтимых аффинных преобразований пространства /^"'образует группу. Преобразование, отличное от аффинного, называется нелинейным. Если нелинейное преобразование обратимо, то обратное к нему преобразование также является нелинейным. Распознавание биективности (сбалансированности) нелинейного преобразования и построение обратного к нему преобразования - в общем случае трудоемкие задачи. 5.4.2. Отобрюкения регистров сдвига Пусть х{уиУ2) - внутренняя бинарная операция, заданная на множестве X. Отображение yvi/:^""* "-)-^"' (\|//:;^"'* "->^"') называется отображением неавтономного регистра левого (правого) сдвига над Хс обратной связьюУ(д:|,д:2,...,д:„), где/(д:|,д:2,...,д:„)^Л^"'-)-А', если ) = (X2,..., д:„, т(Ях1Д-2,..-Д,,)л,+|)); (5.6а) х|/у(хьд:2,...Лн1) = ('1:(/(х1,д:2,-..л,)д,,+1), Х|, ...,д:„.|). (5.66) 111
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Число п называют длиной регистра сдвига, функцию Дх1,Х2,...,х„)- функцией обратной связи. Переменные xi,...,x„ называют внутренними, переменную jc„+i - входной переменной. Обычно операция х(}'1,у2) биективна по обеим своим переменным и представляет собой сложение. Па схемах регистр сдвига изображается в виде ряда из п ячеек памяти, в каждой из которых может быть записан любой элемент множества X, и функциональной схемы, реализующей функцию y(jci,jC2,..., х„) (на рис. 5.1 стрелки указывают, что изображен регистр правого сдвига). „r^Qh*' Рис. 5.1. Неавтономный регистр правого сдвига длины п Между множествами регистров левого и правого сдвига имеется очевидная биекция. Далее рассматриваются, если не оговорено противное, регистры левого сдвига с операцией, реализующей сложение: т:(УьУ2) = У\+У2- Преобразование /р (ф/) множества называется преобразованием автономного регистра левого (правого) сдвига над X с обратной связьюy(jCbJC2,...,Jc„), если: /f>(xi,xz. ■ -.Хп) = (Х2,... ,х,„ J{xi,X2,.. .д,,)); (5.7а) ((Pj(Xi,X2,...,X„) = (ДХ1,Х2,...,Х„), Xi,...,X„.\))- (5.76) Отображение (преобразование) регистра сдвига над полем Р является линейным, если линейна функция обратной связи. Соответствующие регистры называются линейными регистрами сдвига (ЛРС) над полем Р. Теорема 5.5. Преобразование ф регистра левого (правого) сдвига множества ^"' биективно тогда и только тогда, когда функция обратной связиy(jci,A-2,...,x„) биективна по переменной Л1 (по переменной х,,). Доказательство. Пусть преобразование ф регистра левого сдвига небиективно. Тогда в множестве Х'"^ найдутся два набора: 112
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ ц = (|аь|а2,-,Ц„) и V = (VbV2,...,v„), [i^v, такие, что фСц) = ф(у). Отсюда и из равенства (5.7а) имеем: (Ц2,Цз,-,Ц»ЛЦьЦ2,--,Цн)) = (V2,V3,...,V„^VbV2,...,V„)). Так как цт^у, то отсюда имеем, что iiiT^vi.n в то же время У(|а1,|а2,-,Цн)=ДУ1,|а2,-,Ц„). Это означает, что подфункция/(д:,|а2,-",Цн) реализует небиективное преобразование множества X. Докажем в обратную сторону. Если ф - биективное преобразование, то ф(|а)^(у) при различных |a,ve^"', в частности при ц = (цьц^-.Цн), V = (vi,[i2,...,[in), где iii^tvi. Используя равенство (5.7а), перепишем неравенство образов в векторной форме: (|а2,Цз,-,Цн/(ЦьЦ2,-,Цн)) 5^ (Ц2,Цз,-,ЦнЛУьЦ2,-,Ц„)). Очевидно, эти образы неравны только в том случае, если неравны их последние координаты, а именно У(Ц1,Ц2,--,Цн) ^У(УьЦ2,-,Ц„). в силу произвольности выбора элементов |ai,|a2,--->|^wVi (лишь бы liiT^vi) из последнего неравенства получаем, что для любых цг.-.ЦнеА'подфункция У(д:,|а2.-.Цн) реализует инъективное и, следовательно, биективное преобразование множествах ♦ Следствие. Преобразование ф регистра левого (правого) сдвига длины п над GF(2) с обратной связью f(x\,X2,...,x„) биективно тогда и только тогда, когда y(jci,jC2,...,Jc„) линейна по переменной х\ (по переменной х„), то есть ЛХ1,Х2,...^„) = Xi@g{X2,...^,) (f(Xi^2,-,X„) = X„®g(Xi,:.r>Cn-\)), (5.8) где g - произвольная б.ф. от л-1 переменного. Доказательство. Б.ф. одной переменной реализует биективное преобразование множества {0,1} тогда и только тогда, когда она равна либо X, либо jc©l. Если б.ф./(х1,х2,.:,х„) имеет вид (5.8), то при любой фиксации переменных Х2,...,х„ она равна либо JCi, либо х\®1, то есть реализует биективное преобразование множества {0,1}. По теореме 5.5 регистр 113
Б. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ сдвига с такой функцией обратной связи реализует биективное преобразование множества V,,. Докажем в обратную сторону. Пусть функция ДхьХ2,...,х„) имеет вид, отличный от (5.8), тогда ее разложение по первой переменной выглядит так: ЛХ1^2,-Л,) = Xi-gi(X2,...,X„)®go{X2,...y>Cn), где g\(x2,...,Xn) отлична от константы 1. Взяв набор (a2,...,a„)eV„.i такой, что g\(a2,...,CLn) = О, получаем, чтоДх,а2,...,а„) реализует небиективное преобразование множества {0,1}, так как /(х,а2,...,а„) = = go(ot2,--.,a„) = const. По теореме 5.5, регистр сдвига с такой функцией обратной связи реализует небиективное преобразование множества V,,. ♦ 5.4.3. «Треугольные» преобразования Пусть S(f) есть множество номеров существенных переменных функцииДх1,Х2,...,х„), отображающей J^"^^-X. Преобразование ф„ множества ^"' называется треугольным, если ф„ = ^д,„= {/i(xi),/2(xi,X2),.../„(xbX2,...,x„)}, иначе говоря, если 5(/i)c{l,2,...,i} дляг= 1,2,...,«. Теорема 5.6. Треугольное преобразование ф„ множества ^"' биективно тогда и только тогда, когда fi(x\,X2,...,xi) биективна по переменной х,-, i = \,2,...,п. Доказательство (индукция по п). Для п = 1 утверждение теоремы очевидно, так как преобразование ф множества X задается единственной функцией/от одной переменной xi. В этом случае биектив- ность преобразования ф тождественна биективности единственной координатной функции. Пусть теорема верна для п-1. Докажем ее для п. Предположим, что преобразование ф„ множества А^' небиективно. Тогда в ^"' найдутся два различных набора: \х = {\xi,\X2,--,\Xn) и v = = (vi,V2,...,v„) - такие, что ф(|а) = ф(у). Перепишем это равенство покоординатно: /i(m ) =/i(v,); (5.9) 114
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ /,.i(|ai,...,|a„.i)=/,.i(Vb...,v„.i); /,(ЦЬ-,Цп) =/.(Vb.-,V„). Неравенство цт^у означает, что верно одно из двух условий: б) (|ai,...,|a„.i) = (vi,...,v„.i), \л„^у„. В случае «а» рассмотрим треугольное преобразование ф„.1 множества Х"" , где ф„.1 = Fa„.i. Из первых п~\ уравнений системы (5.9) имеем, что преобразование ф„.1 не является биективным. Поэтому, по предположению индукции, некоторые из функций /i(xi), f2(x\,X2),-.-, fn.\(x\,...,Xn.\) не биективны по переменной с наибольшим номером. В случае «б» получаем, что функция/,(xi,...,x„.i,x„) небиективна по переменной х„, так как из последнего равенства системы (5.9) следует, что при \Xn^Vn справедливо равенство /„(|а1,...,|а„.1,|а„)=/,(Ць-..,Ц«-1,У„). Следовательно, в обоих случаях некоторые из координатных функций преобразования ф небиективны по переменной с наибольшим номером. Докажем в обратную сторону. Предположим, что преобразование Ф множества ^"' биективно, ф„ = ^д „. Тогда при любых двух различных наборах ц и V из ^"'выполняется неравенство ф(|а) ?^ф(у), в частности это неравенство выполняется при ц = (|ai,...,|a„.i,|a„), V = (|ai,...,|a„.i,v„), где |а„5^у„. Запишем покоординатно неравенство образов, учитывая совпадение первых п-1 координат прообразов; /i(^i) =/i(^i); /„.i(|ab...,|a„.i)=/„.i(|ai,...,|a„.i); /,(Ць-,Ц«-ьЦ«) ^ Л(Ць->Ц«-ьУ«). Последнее неравенство в силу произвольности выбора элементов |Д ,|a„.i,|a,„v„ (лишь бы \x„^v„) означает биективность функции fn(x\,...,Xn.hX,i) по переменной х„. 115
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Осталось показать биективность треугольного преобразования ф„.1 множества -Y*"'", где ф„.1 = Fa„.i, так как по предположению индукции отсюда следовало бы, что каждая из функций системы Fa,„.i биективна по переменной с наибольшим индексом. Предположим, что преобразование ф„.1 небиективно, то есть в множестве ^"''' найдутся два различных набора (|ai,...,|a„.i) и (vi,...,v„.i), такие, что выполняются первые п-1 равенств системы (5.9). В силу биективности функции f„{xi,...,Xn.ux„) по переменной х„ подфункции/,(|ai,...,|a„.i,x) h/,(vi,...,v„.i,x) реализуют подстановки на множестве X, поэтому в X найдутся такие элементы аиЬ, что /„(|ai,...,|a„.i,a)=/,(Vb...,v„.i,fc). Это равенство в совокупности с первыми п-1 равенствами системы (5.9) означает небиективность преобразования ф множества Х^ , что противоречит исходному предположению. ♦ Следствие. Треу1'ольное преобразование ф множества V,, биективно тогда и только тогда, когда все его координатные функции линейны по переменной с наибольшим номером. ♦ 5.5. Задачи и упражнения 5.1. Приведите примеры функций из Рк, реализующих небиективное отображение; биективное отображение. 5.2. Докажите, что система Fm„' несбалансированна (алгебраически зависима) при т>п; при т<п, если содержит функцию-константу. 5.3. Докажите, что если система Fm,n '■ а) сбалансирована (алгебраически независима), то сбалансирована (алгебраически независима) и любая ее подсистема; б) несбалансированна (алгебраически зависима), то несбалансированна (алгебраически зависима) и любая система, содержащая. F,„,„. ' F„,„- система функций, отображающих Х'"'-^Х'"'', где Х- конечное множество мощности не меньше 2. 116
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИИ 5.4. Является ли система F^,,' алгебраически независимой, если она линейно зависима; линейно независима? 5.5. Является ли система F„,* функций из Рк алгебраически независимой, если каждая функция системы зависит от переменной х„ фиктивно? 5.6. Является ли система F,„,„ линейных б.ф. алгебраически независимой, если она линейно независима? 5.7. Докажите, что если отображение F„„:P^^^P^'"^ сбалансировано, где Р - поле, то сбалансирована любая нетривиальная линейная комбинация его координатных функций. 5.8. Являются ли линейными преобразования ф,0 множества Уз> частично заданные таблицами ^1 0 0 0 0 1 1 1 1 X, б 0 1 1 0 0 1 1 Хз 0 1 0 1 0 1 0 1 * 1 1 1 0 1 * * ф * 1 0 1 0 0 * * * 1 0 0 1 1 * * * * 1 * 0 * 1 * е * * 1 * 1 * 1 * * * 0 * 1 * 1 * Вычислите значение 9(0,0,0) для преобразования 0 при условии, что 0 - аффинное преобразование. Возможно ли доопределить преобразование ф так, чтобы оно стало аффинным? 5.9. Докажите, что преобразование ф множества V„ линейно тогда и только тогда, когда линейна каждая из его координатных функций. 5.10. Докажите, что отображение неавтономного регистра левого (правого) сдвига над X с любой обратной связью является сбалансированным, если операция х биективна по входной переменной. 5.11. Докажите, что при любой б.ф. g(x2,...,x„) и любых двоичных константах а\,аъ---,ап б.ф. {g{x2,-.-,x,^®x\®a\)-{x2®a2)-...-{XnQa^ имеет вес, равный 1. 5.12. Сбалансировано ли отображение ф: а) ф = {хгХгФхз, хг-хзФхь хрХзФхг}; б) ф = {Х\®Х2, ХзФхз,..., Х7ФХ8, Х%®Х\ ] ? 117
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 5.13. Имеет ли нормальное весовое строение система из шести б.ф. {Xi,Xi©X2, X2©X3,...,X5©X6}? 5.14. Имеет ли система {(x+y)modk, (x->')modA:} функций из Рк нормальное весовое строение при к = 3; к = 4; при простом к; при четном к"? 5.15. Сбалансировано ли отображение (f>:Ek^^^-Ek^\ где ф = {тах(х,>')->', (x+jo(z))modk ] ? 5.16. Биективно ли преобразование F„„ множества V,,, если для всех i = 1,2,...,« верно, 4Tofi(xi,X2,...,Xn)eTo{n)n{P2(n)\Ti(n))'? 5.17. Биективно ли преобразование ф множества Vt„ заданное системой координатных фунющй: а)ф = X, Ф ^2, X, • ^2 Ф Xj, X, Ф ^2, X, • Х2 Ф Xj, Х| Ф Х2 " Xj, б)ф= ■ Г)ф = X, ФХ2 ФХз, X, ■ Х2 Ф Xj Ф 1, X, • Х2 Ф Х2 • Xj Ф Х2 , Г X, Фх,, S Х| • Х2 Ф Xj , [Х, Фл^-Х2-Хз? В)ф = 5.18. Докажите, что если ф - биективное преобразование регистра сдвига длины п над GF(2), то ф' - также преобразование двоичного регистра сдвига длины п. Образует ли группу совокупность всех преобразований регистра сдвига множества V,,? 5.19. Биективно ли преобразование F„„ множества V„, если: а) /(xi,X2,...,x„) = х,-х,+1, i= 1,2,...,«-1, /,(xi,X2,...,x„) = х„-Х1Фх1Ф1; б) fi+\(xi,X2,...,x„) = Х1ФХ2Ф...ФХ;, i = 1,2,...,«-1, /1(ХьХ2,...,Х„)Ф/2(ХьХ2,...,Х„)Ф...Ф/,(Х1,Х2,...,Х„) = Х1ФХ2Ф.. .Фх„? 5.20. Является ли алгебраически зависимой система б.ф.: а) {Х1-Х2Фхз, (Х2ФХ;0-(-^1Ф-^4), Х1-Х2ФХ1-ХзФХ4, Х2ФХ4}; б) {Xi-X2-X3-X4©X3, Х2ФХ3, Х1-Х2ФХ4Ф1, Х2-ХзФх4}; в) {Х1-Х2-Х4Фхз, Х2ФХ3, Х1-Х2ФХ4, Х1ФХ2ФХ3ФХ4}? 118
Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИИ 5.21. Имеются ли среди преобразований фь ф2, фз множества V4 взаимно-обратные преобразования: Ф1 = Xj © ^4, Х| © Xj, ф2 = X, ©Xj, ХЗ © Х4, фз = Д-| 4L/ Д-л ' ,Д-л J х^ 03 X, " Хт, х.Ф Х| • Xj . 5.22. Докажите, что совокупность всех обратимых треугольных преобразований множества ^"' образует группу. 119
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ Многие криптографические системы используют для шифрования информации псевдослучайные последовательности, генерируемые программным способом. Качество шифрования определяется определенными свойствами псевдослучайных последовательностей, в частности их периодами. Так как порождение последовательностей большого периода основано на реализации многократных итераций преобразований, то для криптологии представляет интерес изучение структурных и периодических свойств преобразований конечных множеств. 6.1. Периоды последовательностей Последовательность элементов множества X назовем последовательностью над X и обозначим Х.^. Последовательность Х^ = {хьХ2,...,х,-,...} над X называется периодической с предпериодом N и периодом Т, если N+1 и Г - наименьшие из натуральных чисел, при которых х,- = х,+7- для всех i>N. Заметим, что если для всех i>N в X; — Х,+^, ТО Т/х. Если N = о, то последовательность Х^ называется чисто периодической с периодом Т. Утверждение 6.1. Если последовательность Y^ = {ф(х,)} над Y получена с помощью отображения ф:Х^У из периодической последовательности Х-). = {х;} над X с предпериодом N и периодом Т, то Y^ - периодическая с предпериодом iV' и периодом Т, где N'<N, Г делит Т. Доказательство. Если х, = хцт, то и ф(х,) = ф(Х(+7-), следовательно, ЛГ<Л^иГделитГ. ♦ Теорема 6.1. Для последовательностей Х^ = {х,} и У^ = {у,} над конечной аддитивной группой X, где у, = xi+X2+...+x„ i = 1,2,..., верны утверждения; тмотпФп 120
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИИ (1) Если Х_^ - периодическая с предпериодом yv>0 и периодом Т, то Y^ - периодическая с предпериодом Л^-1 и периодом Т, где TIdT и d есть порядок элемента уы+туы группы X. (2) Если Х^ - чисто периодическая с периодом Т, то Y^ - чисто периодическая с периодом Т, где T'/dTn d есть порядок элемента уг группы X, при этом yr.j.r = О при г = 1,2,... Доказательство. Из соотношения между членами последовательностей Х_^ и F^ имеем: Yi+j-T = Yi+Xi+1 +Xi+2+.. ■ +Xi+j. т- В условиях утверждения (1) в силу периодичности Х^ при всех i>N выполнено jc,+i+jc,+2+...+jc,+7- = Уы+т-Уы, и как следствие yMT=yi+d(yN+T-yN) = yi- Значит, N'<N и TIdT. Если N'<N-l, то уыл+^т = Уыл и, следовательно, Xn.\+j.t = Xn-\, что противоречит условию. В условиях утверждения (2) порядок d элемента ут совпадает при всех / с порядками элементов jc,+i+jc,+2+...+jc,+7-. Поэтому при всех / выполнено yi+jT = yh значит, TIdT. При натуральных г имеем: Угч/-7-= r-d-(x\+X2+. .Лхт) = rdyT=0. ♦ Рассмотрим последовательность Х^ над X = Xix:..xX„, в которой каждый член состоит из п компонент. Выделим в Х^ последовательность (над Xj) j-x компонент ее членов. Обозначим ее Х^^ и назовем 7-й координатной последовательностью последовательности Х^, j = 1,2,...,/г. С другой стороны, из последовательностей Xj^ = {ху} - над Xj, j = 1,2,...,п, можно образовать последовательность Х^ = [xj] над Xix...xX„, гдед:, = (jc,i,...,JCi„), / = 1,2,... Последовательность Х-^ назовем сопряжением последовательностей Xi^,...,X„^ (обозначается Очевидно, любая последовательность Х„» над X = Xix...xX„ является сопряжением п координатных последовательностей. Из данных определений следует утверждение. Утверждение 6.2. Последовательное!ь Х^ над X — ЛIX,.. хл„ является периодической с предпериодом N и периодом Т тогда и только 121
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ тогда, когда Х^^ - периодическая последовательность с предперио- дом Nj и периодом Tj, где Л^ = тах{Л^1,...,Л^„}, 7' = НОК{Т\,...,Т„). Теорема 6.2. Если последовательность У_^ = {ф(л:;.1,...,д:,,„)} периода Гполучена с помощью отображения 9'JfiX...xX„->y из периодических последовательностей Xj^ = {Xjj} над у^- с периодами TjJ = 1,...,п, то Г делит НОК(Ть...,Т„). Если при этом отображение ф биективно по всем переменным, то Т > НОК{Ти... ,Т„)/НОД(Ти...,Т„). Доказательство. Делимость НОК{Т\,...,Т„) на Т следует из утверждений 6.1 и 6.2. Без ущерба для общности докажем нижнюю оценку для тг = 2. Пусть Г, = t, Т2 = X, Н0Д(1,х) = d. Тогда t = pd, т = qd, НОЩх) = pqd, где (p,q) = 1. Предположим, что ф(л:;,1,д:;,2) = ф(л:,+7-,ьл:,+г,2) Для всех i, где T<pq. Так как T/pqd, то при сделанном предположении Т = л-^-5, где Ti/p, t/q, Ъ/d, причем равенства ■к = pw.t, = que выполнены одновременно, иначе было бы T>pq. Пусть для определенности п<р. Тогда в последовательности У_» имеют место повторы через каждые 0 членов, где 0 = n-q-d (так как Г/9). Следовательно, для всех натуральных / Ц>(хц^>.2) = ф(л:,че,1Л+е,2)- Так как т/9, то для всех i выполнено jc,+e,2 = л:,,2 и последнее равенство принимает вид: 4>iXi,\,Xi,2) = (fiXi+e,\,Xi,2). (6.1) По условию (p,q) - 1, значит, n{n,q) = 1. Поэтому / не делит 0, то есть д:,,1?^д:,+е,1 для некоторых /. Последнее неравенство несовместимо с (6.1) при биективности отображения ф по первой переменной. Следовательно, T>pq. ♦ 6.2. Граф отображения Пусть имеется отображение ф:Х-^У, где X и У - конечные множества мощности п и W соответственно, п,т>\. Отображению ф поста- 122
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИИ вим В соответствие ориентированный двудольный граф С(ф) = (XuF,LO, где ХиУ - множество вершин, U - множество дуг и пара (х,у)еи <» xgX, у = ф(д:)еУ. Граф С(ф) называют графом отображения ф. Из однозначности отображения ф следует, то полустепень исхода любой вершины jcgX равна 1 и | L/| = | J^d = п. Полустепень захода р,. вершины у графа С(ф) равна числу прообразов элемента у относительно отображения ф, 0</7у<п. При этом ^Ру =п. Если ф - преобразование п-множества X, то графом преобразования ф называют ориентированный граф С(ф) = iX,U) со множеством вершин X и множеством дуг U, где (х,у)е U с^у = ф(д:). Полустепень захода р^ равна 1 для всех хеХ тогда и только тогда, когда ф биективно. Граф С(ф) преобразования ф состоит из г компонент связности, 1<г<п, каждая из которых представляет собой простой цикл, и в случае небиективного преобразования возможно несколько подходов к этому циклу. Структурными характеристиками графа С(ц>) являются число компонент связности, число циклических вершин, число циклов и число подходов к циклам заданной длины и др. Неподвижный элемент преобразования ф образует петлю в графе С(ф). Граф С(ф) биективного преобразования ф (подстановки на множестве X) состоит из г независимых циклов, \<г<п. Если kj - число циклов длины / в храфе С(ц>), /е {1,2,...,«}, то п (=1 где 0<к;<п. Ш[кловая структура такого графа записывается в виде набора символов г1^',2' - ,...,« " |, в котором опускаются все компо- ненты / ' , для которых А:, = 0. 123
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Преобразования ф и v|/ множества X называются подобными, если найдется биективное преобразование 5 того же множества, при котором ф = 5"'-v|/-5. Отношение подобия на множестве преобразований есть отношение эквивалентности. Теорема 6.3. Преобразования ф и v|/ множества X подобны то1да и только тогда, когда графы С(ф) и G(v|/) изоморфны. Доказательство. Если преобразования ф и v|/ множества X подобны, то у = Ц)(х) тогда и только тогда, когда 5(у) = v|/(5(jc)). Следовательно, графы С(ф) и G(v|/) изоморфны, так как отличаются лишь переобозначением вершин с помощью подстановки 5. Обратное утверждение доказывается рассуждениями в обратном порядке. ♦ 6.3. Характеристики периодичности преобразования Преобразованию ф конечного множества X и элементу хеХ поставим в соответствие последовательность Ф = {ф'} / = 0,1,2,... над полугруппой всех преобразований множества X и последовательность ФхНадХ: Ф,= {ф'(х)}/ = 0,1,2,... В силу конечности множества X обе последовательности содержат конечное число элементов, при этом если /-й и j-Pi члены любой из этих последовательностей совпадают, i<j, то совпадают их (/+г)-й и (/+г)-й члены, г = 1,2,... Следовательно, обе эти последовательности являются периодическими. Периодом (предпериодом) элемента х относительно преобразования ф называется период (предпериод) последовательности Фд^. Обозначим их Гд ^ и п, ,р соответственно (или t^ и п.х> если преобразование ф фиксировано). Утверждение 6.3: 1. Если X - циклическая вершина графа С(ф), то «;< = О и /д равен длине цикла, которому принадлежит вершина х. 124
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ 2. Если X - ациклическая вершина графа С(ф), то щ равен длине подхода к циклу в графе 0(ц)), начинающеюся из вершины х, и t„ равен длине цикла той компоненты связности, которой принадлежит вершина х. Доказательство. Из определения предпериода п^ следует, что повторы в последовательности Ф^- имеют место лишь для членов с порядковым номером Пх+\ и больше. Следовательно, первые Пх членов не могут быть циклическими вершинами i-рафа С(ф). Из определения периода t^ следует, что периодический отрезок последовательности Ф^ образует цикл графа 0(ф). ♦ Периодом (предпериодом) преобразования ф называется период (предпериод) последовательности Ф, обозначим их t^ и п^. Утверждение 6.4. Пусть l\,l2, --Лг - все различные длины циклов графа С(ф) преобразования ф. Тогда /(р = H0K(l\,l2^ —,1т)- Если ф - обратимое преобразование, то Пф = О, в противном случае П(р равен наибольшей из длин подходов к циклам графа С(ф). Доказательство. Из определения периода преобразования и утверждения 6.3 следует, что /<р = НОК{и/хеХ) = НОЩик,... ,1т); п<р - тах{пУд:еХ}. ♦ Если ф биективно, то первые t^ членов последовательности Ф образуют циклическую группу <ф> порядка t^. Для периода преобразования ф п-множества X и периода вектора х&Х относительно преобразования ф верны оценки: 1</д.<п; \<ц<п\. Обе нижние оценки достигаются для тождественного преобразования. Первая верхняя оценка достижима при любом множестве X, вторая достигается лишь при множествах X мощности не более 2. Пример 6.1. Определим период и цикловую структуру преобразования ф множества Vj регистра правого сдвига с одной обратной связью/(хьд:2,д:з) = Х\®Х2®Х^. Из следствия теоремы 5.5 имеем, что ф - биективное преобразование. Построим независимые циклы графа С(ф). При хюстроении 125
в. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ очередного цикла выбираем в качестве начальной вершины х ту, которая не фигурировала при предыдущих вычислениях, и вычисляем элементы последовательности Фд^ до тех пор, пока впервые не выполнится равенство ф (jc) - х, означающее, что элемент х принадлежит циклу длины /. В нашем примере вычисления дают следующие результаты: 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) = ^(1,0.0) = Чи.о) = %i,i) = 4; 3) ф(0,1,0) = (1,0,1), ф(1,0,1) = (0,1,0), значит, %,,о) = /(i,o,i) = 2; 4)ф(1,1,1) = (1,1,1), значит,/(1,1,1) = 1. Таким образом, цикловая структура преобразования ф имеет вид ^j[2]дС] 4^4); период /(рпреобразования ф равен Н0К{\,1А) = 4. 6.4. Полноцикловые преобразования Особый интерес для криптографических приложений представляют преобразования с экстремальными периодическими свойствами. Преобразование ф п-множества называется полноцикловым (п.ц.), если граф С(ц>) представляет собой цикл длины п. Всякое п.ц. преобразование ф биективно, и t^,^ = t^ = п для всех хеХ. Теорема 6.4, Число различных п.ц. преобразований п-множества равно (п-1)!. Доказательство, Построение полного цикла из элементов тг- множества X можно рассматривать как размещение на тг свободных позициях окружности всех п различных элементов множества X. Число различных таких размещений равно числу различных перестановок элементов п-множества, то есть равно п\. В то же время перестановки элементов эквивалентны, если отличаются лишь параллельным сдвигом, так как представляют один и тот же цикл преобразования. Следовательно, множество всех построенных циклов разбивается на классы эквивалентных циклов, где в каждом классе содержится по тг циклов. Таким образом, число п.ц. 126
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ преобразований п-множества равно числу неэквивалентных циклов, то есть (п-1)!. ♦ Пример 6.2. Линейный конгруэнтный генератор (ЛКГ). Пусть Ek ~ кольцо вычетов по модулю к,(р- преобразование ЛКГ множества Ek, если для любого xgE^: (р(х) = (а-х+Ь)тойк, где а, b и к - константы из Е^, называемые множителем, сдвигом и модулем соответственно. ЛКГ имеет период не более к. Для любых ки х имеются константы аиЬ, при которых t^ = к. Такие генераторы называют ЛКГ полного (или максимального) периода. Приведем без доказательства следующую теорему [61]. Теорема 6.5. Преобразование ЛКГ имеет период к <»: \)(Ь,к)=1; 2) а-\ кратно любому простому делителю числа к; 3) а-\ кратно четырем, если к кратно четырем. В частности, если к = 2\ то t^ = 2*^ тогда и только тогда, когда b - нечетное число и a=l(mod4). Теорема 6.6. Биективное преобразование ф п-множества X является п.ц. тогда и только тогда, когда для любого отличного от константы отображения v|/:X—>F, где | У| >2, отображения v|/ и \\>-Ц) различны. Доказательство. Пусть для п.ц. преобразования ф множества X, для любого хеХ и указанного отображения v|/ \\>-(р{х) = V|/(jc). (6.2) Тогда для любого натурального / и любого xgX: ^•(р'(х) = vi/(a:), а это с учетом полноцикловости преобразования ф означает, что отображение v|/ - константа. Имеем противоречие, из которого вытекает, что отображения v|/ и vi/фразличны. Пусть теперь ф - неполноцикловое биективное преобразование множества Хи X' - подмножество множества X, образующее некоторый цикл графа С(ф). Определим отличное от константы отображе- 127
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОПОГИЯ ние V|/;X->F, где Y = {.Уь.Уг,.-}: М/(д:) = у\ для всех х&Х' и V|/(a:) = у2 для всех jcgA\A". При таком v|/ для любого х&Х выполняется равенство (6.2). Следовательно, отображения v|/ и 1|/-ф совпадают. ♦ Пусть ф и v|/ - преобразования множеств Х^"'' и Л^"'' соответственно, где |Л] = А: и V|/ задано подсистемой системы ф: ф = {/i(a:i,X2,...,a:„.i),...^-i(a:i V = {/1(^1Л)--Л|-1)>-"Л-1(^1Л)"-Л|-1)}- Рассмотрим критерий полноцикловости преобразования ф. Каждому пути S = {s\,S2,...,s,) в графе G(v|/) поставим в соответствие преобразование b{s): 5(^)=П/'.(^.'^'.)' (6.3) (=1 где для вершины а = (йь^г, ...,a„,i)G^"''' графа G(v|/) под^,(^.^п) понимается подфункция^,(а 1,^2, ...,а„.\,х,^, реализзоощая преобразование множества X. Теорема 6.7. Преобразование ф является п.ц. тогда и только тогда, когда v|/ - п.ц. преобразование множества ^""'' и b{s) - п.ц. преобразование множествах, где s - цикл в G(v|/). Доказательство. Покажем корректность формулировки теоремы, ведь при п.ц. преобразовании v|/ в качестве преобразования b{s) множества Xможет быть рассмотрено А:"' различных преобразований в зависимости от начала отсчета вершин цикла s. Для этого убедимся, что при п.ц. преобразовании v|/ все эти преобразования подобны. Действительно, если s = {s\,S2,...,St.\,St), s' = (s2,S:},...,St,s\), где t = к"', и 8(s) - п.ц. преобразование множества X, то из этого следует, что 5(s) - биективно и в силу (6.3) подфункция fn{a,x„) при любом ае^"'' реализует также биективное преобразование. Следовательно, биективно и преобразование b{s') как композиция биективных преобразований, где 5('У') = fn{S2,Xn)-fn{s^,Xn)- .■.■fn(S,^n)-fn(S\;>C„). Отсюда и из (6.3) следует подобие преобразований b{s) и 5(5'): 5(5') =f„is\ ^„y^-f„{s\,Xn)-b{s') =fn(s\,x„)'^-b{s)-f„{s\,x„). 128
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИИ То есть независимо от начала отсчета вершин цикла s графа G(v|/) преобразование 5(s) является п.ц. Пусть Фл[А:"] - отрезок последовательности Фд,, состоящий из ее первых к" членов, х €^"'. Разобьем ФЖ] на к последовательных отрезков ФАк"]], ■■-, ^х[1<"]к по к"'^ членов. Если преобразования v|/ и d(s) п.ц., то, судя по первым п-\ координатам, все члены отрезка Фд[/:"],- различны в силу полноцикловости преобразования v|/, / = 1,2,...,/:. В то же время, судя по п-й координате, последние члены отрезков Фл[^"]ь •••, Фдг[^"]* различны в силу полноцикловости преобразования 5(s). Следовательно, все члены отрезка Ф.г[/:"] различны и ф - п.ц. преобразование. Если ф - п.ц. преобразование множества то v|/ - п.ц. преобразование множества J^"'^\ так как в этом случае для периодов t^ и /ц, выполняются соотношения: Далее, если ф и v|/ - п.ц. преобразования множеств ^"' и ^""' соответственно, то для периода ts(s) преобразования 5(s) выполняются равенства: к =t(f = ty^|•t^s) = к -/5(5). Следовательно, 8(s) - п.ц. преобразование множествах ♦ Следствие 1. Пусть ф, - биективное треугольное преобразование множества J^'^, задаваемое системой координатных функций ф.= {fii^iXfiixi^i), ...,fiixi^2,.:^i)}, i= 1,2,... (6.4) Преобразование (р„ является п.ц. тогда и только тогда, когда для всех / = 1,2, ...,п преобразования 5'(5'"') множества X - п.ц., где при i>\ путь у' = lsl'\s'2'\...,s'][^ 1 -цикл вграфе С(ф,.1)и 5V'') = llfM'''^>)' S'(^°) = Ф' =/'(^') 1/ Оч Доказательство. Если преобразование ф„ множества Х^"^ является П.Ц., то, применяя п-\ раз прямое утверждение теоремы 6.7 для 129
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ i = n,n-\,...,2, получаем, что преобразование ф,.| множестъа А^'"'* и преобразование 5'(5'"') множества X также являются п.ц. Следовательно, для / = 1,2,...,п преобразования 8'{s''^) множествах являются п.ц. Если для / = \,2,...,п преобразования 5'(У'') множества Xявляются П.Ц., то, применяя п-\ раз обратное утверждение теоремы 6.7 для / = 2,3,..., п, получаем, что из полноцикловости преобразований ф,.1 и 5'(5'"') следует полноциюювость хфеобразования ф,- множества А^'*. ♦ Следствие 2. Пусть в условиях теоремы 6.7 ф и v|/ - преобразования множеств V,, и V„.i соответственно. Преобразование ф является п.ц. тогда и только тогда, когда v|/ - п.ц. преобразование множества ^„-1 и где вес функции ^(д:1,д:2,...,д:„.1) нечетен. Доказательство. В данных условиях 8{s) есть преобразование множества {0,1}, поэтому если s - цикл в графе G((p„.\), то для любого jcg {0,1 } 5is)ix)=x® ^ gix^,...,x„_^) =x®\\g\\. Очевидно, преобразование 5(s) п.ц <» \\g\\ нечетен. ♦ Следствие 3. Пусть биективное треугольное преобразование ф„ множества V„ задано системой функций (6.4), где fi(xi,X2,...,Xi) = = gi(xi,X2,...,Xi.i)®Xi,i= l,2,...,n, и gi = l. Преобразование ф„ является п.ц. тогда и только тогда, когда вес каждой из функций g2,•••,?»! нечетен. Доказательство проводится индукцией по п с использованием следствия 2. ♦ Известно, что число п.ц. регистров сдвига длины п равно 2 , однако удобные критерии полноцикловости для регистровых преобразований не известны. Приведем принцип «склеивания-расклеивания», позволяющий строить п.ц. двоичные регистры сдвига небольших длин. 130
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИИ Теорема 6.8. Пусть ф и v|/ - биективные двоичные регистры сдвига длины тг с обратными связями/(jCi.JCi-^/i) iif(xi>Xb-;X„) ^х^^ ■... ■ x'l" соответственно, где а2,...,а„е{0,1}. Тогда граф С(ф) отличается от ipa- фа G(v|/) тем, что либо один цикл графа С(ф) распадается на два цикла графа G(v|/), либо два цикла графа С(ф) объединяются в один цикл графа G(v|/). Доказательство. Так как ф и v|/ биективны, то f{x\,X2,...,Xn) = = xi®gix2,...,x„). Отсюда следует, что ф(0, а2,... ,а„) = {аг,... Amgiai,... ,а„)), Ц)(1,а2,...,а„) = (a2,...,a„,g(a2,...,a„)®l), vi/(0, а2,... ,а„) = (а2,... Amgiai, ■ ■ ■ ,а„)® 1), \]f{\,a2,...,an) - ia2,...,a„,gia2,...,a„)). Таким образом, если вершины (0,а2,...,а„) и (1,а2,...,а„) лежат на одном цикле графа С(ф), то в графе G(v|/) они лежат на разных циклах. И наоборот, если вершины (0,а2,...,а„) и (1,а2,...,а„) лежат на разных циклах графа С(ф), то в графе G(v|/) они лежат на одном цикле. На остальных вершинах из V„ преобразования ф и v|/ совпадают. ♦ Для построения п.ц. регистрового преобразования из исходного биективного двоичного регистра сдвига путем «склеивания» циклов нужно находить пары соседних по 1-й координате вершин (0,а2,...,а„) и (1,^2,...,^,,), лежащих на разных циклах, и изменять функцию обратной связи посредством добавления конъюнкции JCj^ ' — 'х"„". Если граф исходного регистра состоит из г циклов, то для построения п.ц. регистра требуется выполнить г-1 таких шагов. 6.5. Линейные регистры сдвига Линейное преобразование пространства Р*"' над полем Р не является п.ц. при п>0. Это следует из того, что нулевой вектор является неподвижным элементом всякого линейного преобразования. Тем не менее длина цикла в графе линейного преобразования пространства Р "* может быть «весьма большой» и достигать величины к"-\, где к - 131
в. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ порядок ПОЛЯ р. Такие линейные преобразования называют преобразованиями максимального периода. Рассмотрим условия максимальности периода преобразования ф пространства Р'"' линейным регистром сдвига (ЛРС) с функцией обратной связи a„.^-Xn+...+arX2+ao-xi, где ao,ai,...,a„.ieP. Матрица А^ преобразования ф имеет вид: О а, О а, О а. Л(р — Го 1 0 [о 0 ... 0 ... 1 ... 0 '.'.'. 1 %-1У Матрица А,^ называется сопровождающей матрицей данного ЛРС. Для реализации преобразования регистра левого сдвига вектор (х1,Х2,...,х„) умножается на матрицу А^ слева. ЛРС длины п максимального периода обозначим ЛРСтах-п. Особый интерес в криптологии к ЛРСтах-п объясняется удобством их реализации и доказуемостью их высоких периодов (при подходящих тг) в отличие от многих нелинейных преобразований. Ведь непосредственное вычисление периода преобразования (см. пример 6.1) может быть выполнено лишь для множеств небольшой мощности. Преобразование ф ЛРС имеет максимальный период в том и только в том случае, если циклическая группа <ф> имеет порядок к"-1 или, иначе говоря, если матрица А^ имеет порядок к"-\ как элемент группы линейных преобразований множества Р^"\ Выразим эти условия через характеристики обратной связи. Функции обратной связи/(jci,jc2,...,jc„) ЛРС однозначно соответствует многочлен Р(Я) степени п над полем Р: F(k) = Г- a„.l■'k"'^- а„.2-Х"'^-...- щ-'к- ао, называемый характеристическим многочленом этого ЛРС. Матрица А^ является корнем многочлена F(k), и, если F(k) неприводим над Р, ее порядок совпадает с порядком многочлена F(k). Поэтому преобразование ф имеет максимальный период тогда и только тогда, когда F(k) - примитивный многочлен, то есть: 1) F(k) неприводим над полем Р; 132
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИИ 2) F(k) делит многочлен Я,* "' -1 и не делит ни один из многочленов вида X''-1, где d/k"-1 и d^lc'-1. Построение примитивных многочленов в общем случае связано со сложными вычислениями. На практике используются таблицы примитивных многочленов. Для двоичных ЛРС из условий примитивности многочлена F(k) вытекает следующее утверждение. Утверждение 6.5. Если многочлен F(k) степени тг>\ неприводим над полем GF(2) и 2"-1 - простое число, то преобразование ЛРС множества V,, с характеристическим многочленом F(X) имеет максимальный период. Доказательство. Из простоты числа 2"-1 следует, что имеется лишь один делитель d числа 1с'-\, отличный от }^'-\, а именно d = \. Осталось заметить, что F(k) не делит многочлен Х-\ и делит многочлен Я,^ "' -1, так как все элементы поля GF(2"), кроме единицы, имеют в мультипликативной группе этого поля порядок 2"-1. Следовательно, F(k) примитивен. ♦ Утверждение 6.6. Примитивный многочлен F(k) над полем GF{2) содержит нечетное число членов. Доказательство. В противном случае единица поля GF(2) является его корнем. V ♦ Утверждение 6.7. ЕслиТлногочлен F(X) над полем GF(2) примитивен, то примитивен и многочлен A"-F(\/k). Последнее утверждение позволяет сократить в 2 раза таблицы примитивных многочленов над полем GF(2). 6.6. Аффинные преобразования максимального периода Биективное аффинное преобразование v|/ пространства Р^"' над полем Р порядка к, граф которого содержит цикл длины к"-\, назовем преобразованием максимального периода. Определим условия максимальности периода аффинного преобразования. 133
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Утверждение 6.8. Пусть ф - линейное преобразование пространства Р^"' и элемент х множества Р^"' имеет предпериод т и период t относительно преобразования ф. Тогда вектор 8д^, определяемый выражением S, = ф'"(л:)+ф'"^'(л:)+...+ф'"^'-'(л:), (6.5) есть неподвижный элемент преобразования ф. Доказательство. Так как преобразование ф линейно, то ф(8^) = ф^'(л:)+ф'"*^(л:)+...+ф'"^'"'(л:)+ф'"*'(л:). По утверждению 6.3 вершины ф'(д:) графа С(ф) при i>m являются циклическими и лежат на цикле длины t, поэтому ф'"*'(д:) = ф'"(л:). Следовательно, ф(£лг) = £дг. ♦ Таким образом, каждому элементу jcgP^"' соответствует неподвижный элемент линейного преобразования ф, определяемый выражением (6.5), обозначим его 8д^,р. Аффинные преобразования \[/i и \[/2 пространства Р^"' назовем а- параллельными, где а - ненулевой вектор пространства Р^"', если V|/i(jc)-\[/2(a:) = а для всех jcgP^"'. Заметим, что а-параллельные преобразования \[/i и v|/2 либо оба биективны, либо оба небиективны. Теорема 6.9. Пусть ф - биективное линейное преобразование пространства Р^"' над полем Р характеристики р и v|/ есть а-параллельное ему аффинное преобразование. Тогда ф и v|/ оба либо являются, либо не являются преобразованиями максимального периода. Доказательство. По условиям теоремы v|/(jc) = ф(д:)+а для всех jcgP^"', где аФи, и - нулевой вектор пространства Р^"'. Отсюда с использованием индукции по / несложно вывести равенство, верное для любого JCG Р^"' и любого натурального /: V|/'(jc) = ф'(д:)+ф'''(а)+ф''^(а)+.. .+ф(а)+а. (6.6) По утверждению 6.3, последовательность {ф'(а)}, / = 1,2,..., является периодической с периодом /д^, равным длине цикла, которому принадлежит вектор а. Тогда по утверждению 6.8 неподвижным элементом преобразования ф является элемент s^ip = ф''(а)+... +ф(а)+а при / = ta,^f 134
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИИ По теореме 6.1 последовательность {ц>'{а)+...+ц>(а)+а}, i = 0,1,2,..., является периодической с периодом t, где tld{Za,,f)ta,,f (6.7) И d{x) есть порядок элемента х как элемента аддитивной группы пространства Р^"'. Очевидно, d{x) = 1 при jc = О и d{x) = р ъ противном случае. Из равенства (6.6) имеем, что последовательность {\[/'(л^)} есть сумма периодических последовательностей {ф'(д:)} и {ф'(а)+... ...+ф(а)+а}, / = 1,2,..., с периодами соответственно /^.(р и t. Значит, по теореме 6.2 с учетом равенства (6.7) для периода /^ц, последовательности {v|/'(jc)} выполнено: (6.8) Если ф - преобразование максимального периода, то оно имеет единственный неподвижный элемент - вектор и и его порядок равен 1. Поэтому d{&a,if) = 1 и из (6.8) при X = а имеем: ta,^vlta,<f (6.9) С другой стороны, из равенства (6.6) следует, что ф'(л:) = V|/'(a:)-V|/'(m) для всех jcgP^"' и любога натурального /. Значит, по теореме 6.2 tx,ц|/HOK(tx,^^„tu,^^,). Учитывая, что векторы а и и принадлежат одному циклу преобразования v|/, из последнего соотношения получаем при Х = а, что ta,,Jta,v,. Отсюда и из (6.9) заключаем: ta,^^ = ^а,р = 1^'-\. Пусть теперь биективное аффинное преобразование vj/ пространства Р^"^ есть преобразование периода ^"-1. Вектор а не является неподвижной точкой преобразования v|/, так как его прообраз есть вектор и, поэтому ta,^^, = ^"-1. Тогда из равенства (6.8) при х = а следует, что (Г-1)/^(8а,р)-/а.р. Так как величина ^(е^р) равна либо 1, либо характеристике р поля Р, то (k"-l,da,ц) = 1, поэтому ИЗ последнего соотношения получаем, что (к"-1 )/Zo,p. То есть /^р = к"-\ и ф - преобразование максимального периода. ♦ 135
a М. Фомичвв. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ 6.7. Задачи и упражнения 6.1. Пусть {х,} и {у,} - периодические последовательности над кольцом вычетов по модулю к с периодами ti и t2 соответственно, где Я0Дг,Д2)=1. 1) Докажите, что период /последовательности {(Xi+yi)modk} равен ti-t2. Каково наименьшее значение t, если условие Н0Д{1\,12) = 1 не выполнено? Чему оно равно? 2) При каких а и b период т последовательности [(a-Xi+b-yi)modk] равен /i/2? 6.2. Пусть {х,} - периодическая последовательность над множеством Хс периодом t. 1) Каков период последовательности {хг,}, где г - натуральное? 2) Каков период последовательности, полученной из {х,} изъятием подпоследовательности {хг,}, где г - натуральное? 3) Каковы периоды последовательностей из пп. 1, 2, если {х,} не содержит одинаковых членов? 6.3. Пусть ф - преобразование регистра левого сдвига множества V,, с обратной связью/. Постройте граф преобразования ф, определите пред- периоды и периоды нулевого вектора и преобразования ф, если: а) п = 4, /(xi,X2,..., Х4) = xi©X2-X4; б) n = 4, y(Xi,X2,..., Х4) = Xi -Хз ©X2-X4®1; в) n = 5, J{Xi,X2,..., X5) = X2-ХзХ5ФХ3•X4 ©X2-X4©X2©Xi©l; r) n = 5, j\X\,X2f-, X5) = Х2ХзХ4Х5©Х1 •X3X4 ©X2X4©X3©X2©Xi©l. 6.4. Какова цикловая структура и период аффинного преобразования ф множества У,„ где ф(х) = Е-х®а, Е- единичная матрица, аФО. 6.5. Какова цикловая структура и период преобразования ф , если Ф - п.ц. преобразование множества V,,? 6.6. Является ли полноцикловым преобразование ф(х) = а-х-^Ь кольца вычетов по модулю 2", реализуемое линейным конгруэнтным генератором, если: а) п= 10, а= 10, fo = 7; б) п = 10, а = 9, fo = 6; в) п= \0,a = 9,h = 97 136
Глава 6. СТРУКТУРА И ПЕРИОДЫ ПРЕОБРАЗОВАНИЙ 6.7. Является ли п.ц. преобразование ф множества У„: а) п = 3, ф = {xi®l,xi©X2, xivx2®xi}; б) П = 3, ф= {Xi,Xi®X2©l, X1VX2VX3}; в) П = 4, ф = {Хь Xi©X2, ХГХ2ФХ3, Xi-X2©X2-X3©X4}? 6.8. Пусть y(xi,X2,...,x„) - функция обратной связи двоичного ЛРСтах-и. Докажите, что регистр сдвига с обратной связью J{xi,X2,...,x„)@X2 ■..■■ х^ является П.Ц. 6.9. Пусть flxi,X2,...,Xn) = a„-x„®...®a2-X2®Xi - функция обратной связи биективного преобразования двоичного (левого) ЛРС. Докажите, что преобразование регистра сдвига с обратной связью /(хьХ2,...,х„)Фх2 •...• х„ не имеет неподвижных элементов тогда и только тогда, когда а„Ф...@а2 = 1. 6.10. Пусть ф - преобразование двоичного ЛРСтах-и, vj/ = хФа - аффинное преобразование множества V,,. Определите неподвижные элементы преобразования у|/-ф-У|/. 6.11. Пусть ф - преобразование множества V,,, \\i - инволюция на множестве V„. Докажите, что t^ = t^^,.^.^. 6.12. Каков период аффинного преобразования множества V,, \\1 = ффа, где ф - линейная инволюция на- ненулевой вектор? 6.13. Пусть ф - преобразование двоичного ЛРСтах-и. Каков период преобразования v|/ = ф*^, где г - целое; степень числа 2? 6.14. Докажите, что многочлен над полем GF(2), не содержащий нечетных степеней переменной, не является примитивным. 6.15. Является ли примитивным многочлен ДЯ,) над полем GF(2): а) ЛХ) = Х^®Х^ФХ; в) ЛХ) = Х%Х'^Ф\; г) ЛХ) = Х^ЪХ^°ФХ^@Х'@Х%Х^®Х^®Х®\7 137
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ 7.1. Подходы к анализу последовательностей Многообразие критериев оценки псевдослучайных последовательностей, используемых при шифровании, чрезвычайно велико. Каждый из подходов к анализу шифрующих последовательностей можно отнести к одной из двух групп. Первая группа связана с поиском закономерностей, позволяющих воспроизвести шифрующую последовательность по относительно небольшому отрезку. При этом основные требования сводятся к тому, чтобы в псевдослучайной последовательности отсутствовали относительно простые межзнаковые зависимости. Вторая группа критериев связана с оценкой статистических свойств последовательности: имеется ли в исследуемой последовательности какой-либо частотный дисбаланс, позволяющий аналитику предположить значение следующего бита с вероятностью большей, чем при случайном выборе? При этом основные требования к шифрующей последовательности сводятся к тому, чтобы псевдослучайная последовательность обладала теми же статистическими свойствами, что и случайная последовательность. Эти условия означают, в частности, что равномерно распределены частоты встречаемости в последовательности не только отдельных знаков, образующих последовательность, но и 5-грамм, то есть наборов из s соседних знаков, 5 = 1,2,... Обе эти группы методов анализа последовательностей составляют системный подход к разработке поточных шифров. Лишь для некоторых частных классов последовательностей удается аналитически доказать некоторые важные свойства. Для обоснования многих других свойств используются статистические тесты. При системном подходе для анализа последовательностей используются известные тесты и разрабатываются новые тесты с учетом особенностей анализируемого объекта. Если в ходе анализа в некотором классе последовательностей обнаруживается новая слабость, то раз- тмотпт 138
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ рабатывается новый тест, который пополняет используемый набор известных тестов. 7.2. Линейные рекуррентные последовательности Порождение псевдослучайных последовательностей, используемых в криптографических приложениях, основано на реализации многократных итераций преобразований некоторого конечного множества X. Одним из базовых элементов криптографических схем является ЛРС. Рассмотрим свойства координатных последовательностей, порождаемых с помощью ЛРС. Последовательность [х-,}, i = 0,1,2,..., элементов поля Р называется линейной рекуррентной последовательностью (ЛРП) порядка и>0 над полем Р, если существуют константы ao,ai,...,a„.isP такие, что для любого />0 Xhn=^aj-x.^j. (7.1) Равенство (7.1) называют законом рекурсии, многочлен F(k) = Г- а„.гГ-'- а„.2-Г-^-...- av'k- «о (7.2) над полем Р называют характеристическим многочленом ЛРП, а вектор (xo,xi,...,x„.i) - начальным вектором ЛРП. Данная ЛРП совпадает с j-й координатной последовательностью последовательности векторов, j = 1,2, ...,и, генерируемой ЛРС с характеристическим многочленом (7.2). Поэтому период ЛРП совпадает с периодом преобразования соответствующего ЛРС. ЛРП максимального периода порядка п обозначим ЛРПтах-и. Функцию li(xi,X2,...,x„), отображающую множество начальных состояний ЛРС длины п в значение /-го члена генерируемой им ЛРП, назовем /-й выходной функцией ЛРС, / = 1,2,... Утверждение 7.1. Последовательность выходных функций ЛРСтах-и над полем Р порядка к является чисто периодической с периодом к"-1 и состоит из всех линейных функций от п переменных, отличных от константы 0. 139
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ Доказательство. Из периодичности ЛРПтах-« следует, что последовательность выходных функций ЛРСтах-и - периодическая с периодом к"-\. Каждая из выходных функций ЛРС является линейной в силу линейности преобразования ЛРС и не повторяется на периоде, иначе если бы i-я и j-я выходные функции совпадали, \<i<j<k"-\, период t равнялся бы j-i, что меньше к"-\. Следовательно, все линейные функции от xi,X2,...,x„, отличные от нуля, встречаются на периоде однократно. ♦ Отметим важные статистические свойства ЛРПтах-п. Утверждение 7.2. На периоде ЛРПтах-п над полем Р порядка к всякая ненулевая ^-грамма встречается к"'' раз, а нулевая 5-грамма встречается к"'"-! раз, l<s<n. Доказательство. Периодический отрезок {х,} ЛРПтах-п, i = 0,\,2,...,k"-2, в силу закона регистрового преобразования можно представить как последовательность {(x/,x,+i,...,X(+„-i)}. составленную из всех ненулевых векторов пространства F^"^ над полем Р. Поэтому частота встречаемости на периоде ЛРПтах-и любой ^-граммы есть число ненулевых векторов пространства Р^"\ у которых s фиксированных взятых подряд координат (например, s первых координат) совпадают с заданной 5-граммой. ♦ Таким образом, ЛРПтах-п обладают хорошими статистическими свойствами. Вместе с тем закон рекурсии ЛРП означает, что в ЛРП имеется довольно простая межзнаковая зависимость. Эта зависимость позволяет, в частности, по небольшому отрезку ЛРП определить начальный вектор из решения системы линейных уравнений. Поэтому использование в криптографических схемах ЛРС предусматривает способы, повышающие сложность вырабатываемых последовательностей. 7.3. Линейная сложность последовательностей Пусть /^'"' - векторное пространство размерности т над полем Р иХ^ = [xi], i = 0,1,2,..., - последовательность над Р*""'. Ненулевой многочлен F(X) над полем Р, заданный равенством (7.2), называется 140
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВА ТЕЛЬНОСТИ аннулирующим многочленом последовательности Х^, если при всех j^n выполнено рекуррентное соотношение х~ a„.\-Xj.\-...- a\-Xj.„i\- ao-Xj.n = и, (7.3) где и - нулевой вектор пространства Р^'"\ Множество аннулирующих многочленов последовательности Х^ обозначим Апп(Х^). Если f(k.)eAnn(X^), то f(kyg(K)eAnn(X^) при любом ненулевом многочлене g(k). Если/1(А,)^(А,),.../ХА,)еЛяя(Х^), то любая нетривиальная линейная комбинация над полем Р этих многочленов также принадлежит Апп(Х^). Минимальным многочленом последовательности Х^ (обозначим его тх-^(к)) называется ее аннулиру1^)щий многочлен наименьшей степени. Минимальный многочлен последовательности Х^ определен однозначно и является делителем всякого аннулирующего многочлена последовательности Х^. В частности, если Х^ - чисто периодическая последовательность периода Т, то mx-^(k)/)J-\. Линейной сложностью или линейным размахом последовательности Х^ (обозначим ее Л(Х^)) называется степень минимального многочлена последовательности Х^. Равносильным образом Л(Х^) определяется как длина L самого короткого ЛРС, способного породить эту последовательность при начальном состоянии (xi,X2,...,xl). Таким образом, Л(Х^) = degmx-^(^). Иными словами, линейная сложность последовательности - это порядок «самого компактного» линейного рекуррентного соотношения, которому подчиняются все знаки последовательности. Линейная сложность последовательности {и,и,...,и} полагается равной 0. Всякая периодическая или конечная последовательность может рассматриваться как ЛРП, вырабатываемая некоторым ЛРС. Например, линейный размах последовательности вида (а,а,...,а), аеР^'"\ при а = и равен О и при а^ш равен 1, так как эта последовательность подчиняется рекуррентному соотношению х,ч i-x, = и. 141
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Вместе с тем высокая линейная сложность последовательности не означает ее безусловную пригодность для криптографических приложений. Например, близкая к вырожденной последовательность вида (а,а,...,а,Ь) длины Л^, a,b&F^'"\ а^, имеет линейный размах, равный либо Л^-1 (если найдется элемент геР такой, что а-г = Ь), либо N. Из приведенных рассуждений следует, что линейный размах всякой последовательности Х.^ длины Л^, состоящей более чем из одного элемента пространства Р'-'"\ удовлетворяет оценкам s<A(X^)<N, где S есть наибольшая из длин серий вида (а,а,...,а), аеР'''"\ в последовательности Х^. Для последовательностей над полем Р линейная сложность эффективно определяется с помощью алгоритма Берлекемпа - Месси. Суть алгоритма заключается в подборе подходящего минимального многочлена последовательности путем индуктивного построения ряда многочленов, каждый из которых учитывает закономерности в последовательности более полно, чем предыдущий многочлен. Построение минимального многочлена последовательности Х^, который является последним в построенном ряду, требует порядка Л^(А1^) операций поля Р. Сложность алгоритма Берлекемпа - Месси для случайных последовательностей характеризуется с помощью введенного в [29] понятия профиля линейной сложности последовательности. Если Х^={х,}, 1= 1,2,...,Л^, и Лг есть линейная сложность ее подпоследовательности {xi,X2,...,Xf}, r<N, то последовательность {Л^}, г = \,2,---,N, называется профилем линейной сложности последовательности Х^. Показано, что для случайной последовательности Х^ над полем порядка к математическое ожидание линейной сложности Лг близко к г/2, а дисперсия ограничена константой, значение которой убывает с ростом порядка поля. Рассмотрим некоторые свойства последовательностей, связанные с их линейной сложностью. (т.) Утверждение 7.3. Если Xj.^ _ последовательность над Р ' , ;=1.2,...,г, иА'^=Х,_,*...*Х,^,то 142
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ mx^Qi) = HOK(mi(X),...,m^l)), где mj(X) - минимальный многочлен последовательности Xj^. Доказательство. Многочлен НОК{т\{Х),...,тг(К)) аннулирует все последовательности Xj.^, j = 1,2,...,г, и, следовательно, последовательность Х^. Поэтому mx^0C)/HOK(mi(l),...,m,{X)). Если тх-у(к)фНОК(т\(Х),...,тг(Х)), то многочлен тх-^(К) не делится на один из многочленов mi(A,),...,mf(A,), например не делится на т\{Х). Тогда многочлен mx-^QC) не аннулирует последовательность ^1^. ♦ Утверждение 7.4. Если последовательность У-> = {у,} есть линейная комбинация над полем Р последовательностей Xj^ = {ху} над р(т) у _ I 2,...,г, то есть для всех i = 0,1,2,... У/ = ci-x,i+...+Cr-x,„ то mY^(X)/HOK(mi(X),... ,тг(Х)), где mj(X) - минимальный многочлен последовательности Xj^. Доказательство. Многочлен НОК(т\(Х),...,тАХ) аннулирует каждую из последовательностей J(/^, 7 = 1,2,...,я, и следовательно, последовательность У_>. ♦ Нижняя граница линейной сложности суммы Y^ последовательностей Jfi^ и JG^ дается неравенством [15]: my^(X)>mi(X)+m2(X)-2-HOM(Ti,T2), где У; = хп+Хй для всех i = 0,1,2,...; Т\ и Гг - периоды последовательностей Х\^ и Хо-^ соответственно. При этом ту-^(Х) = mi(X)+m2(X), еслиЯОДСГьГг) = 1 и А,-1 делитWi(A,)m2(A-). Если последовательность Y^ = {у,} есть почленное произведение последовательностей Xj^ = {ху} над полем P,j = 1,2,...,г, то есть для всех / = 0,1,2,... _>', = Xn-...-Xir, то [47] Л(У.^<Л(^Г,^)-...-Л(Х-.). 143
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ При определенных условиях эта оценка достигается, в частности [48], если Р - поле простого порядка и т\(Х),...,тг(к) - примитивные многочлены над Р попарно взаимно простых степеней. Пусть Ф = {ф'} - последовательность степеней биективного преобразования ф пространства Р*"'^ и последовательность О. = {\|/(ф')} получена из Ф с помощью отображения ц1:Р^'"^->Р'-'\ i = 0,1,2,... Заметим, по утверждению 6.1 период to последовательности Q делит ?ф. Обозначим ч^рез Н(0.) линейную оболочку множества членов последовательности Q, являющуюся подпространством пространства Р''"*"* всех отображений р<'"^-->р<^\ где к=\Р\. Лемма 7.1. Если для некоторых натуральных j и п, где 0<j<j+n<tQ, и некоторого ненулевого набора (ao,ai,...,a„.i) элементов поля Р выполнено линейное соотношение у|/(ф^''") = а„.,-у(ф^'""-')+... +avwW*Vao-wWl (7-4) то определяемый равенством (7.2) многочлен/(А,) еЛяя(Г2)- Доказательство. Если выполнено линейное соотношение (7.4), то совпадают отображения, записанные в левой и правой частях равенства. Следовательно, совпадают образы любого xeP*"^ относительно этих двух отображений при указанном j, в частности если х = ц>'(у), где у - произвольный вектор из Р^'"\ i - любое целое число. В силу биективности преобразования ф это равносильно тому, что совпадают образы любого у из Р относительно этих двух отображений при любом целому. Отсюда получаем, что равенство (7.4) выполнено для некоторого п, 0<n<tQ, и некоторого ненулевого набора (ao,ai a„.i) при любом целом/ То есть f(X)eAnn(Q). ♦ Теорема 7.1. A(Q) = d\mH(Ci.). Доказательство. Пусть A(Q) = п, то есть минимальный многочлен последовательности Q имеет степень п. Тогда каждый член последовательности Q может быть линейно выражен через первые п членов. Следовательно, dimH(Q.)<A(Q.). С другой стороны, если dimH(Q) - п, то любые п+\ членов последовательности Q, в частности первые л+1 членов последовательности, связаны нетривиальным линейным соотношением, которому по лем- 144
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ ме 7.1 соответствует аннулирующий многочлен последовательности Q степени п. Следовательно, A(Q.)<dimH(Q.). Отсюда и из предыдущего неравенства получаем требуемое утверждение. ♦ 7.4. Статистические требования к последовательностям Одна из первых формулировок трех основополагающих правил для статистических свойств периодических псевдослучайных последовательностей была представлена С. Голомбом [13]. Эти правила были сформулированы для двоичных последовательностей и получили в открытой криптографии известность как постулаты Голомба. Пусть Х^ = {xo,xi,...,xr-i} - двоичная 4исто периодическая последовательность с периодом Т. Обозначив для нее через «i и «о число «единиц» и число «нулей»: П\ = Хо+Х\+...+Хт.\, По = Т-П\, и через п\ и по - соответственно число 5-грамм, составленных из «единиц», и число 5-грамм, составленных из «нулей», s>\. Через ni{d) и no{d) обозначим соответственно число «единиц» и число «нулей» в последовательности Х^: Xi = {x;ex;w},^e{0,l,2,...,r-l},/ = 0,1,2,..., где индексы рассматриваются по модулю Т. Функцией автокорреляции последовательности Х^ (обозначается cx-^(d)) называется функция от d: cx^id) = (ni(d)-no(d))/T. Постулаты Голомба таковы: l.ini'-no'i<l. 2. щ-Г = п{ = по = по-2-\ S = \,2,.-.,[Уоё2П 3. Функция cx-^d) должна принимать лишь два значения (быть двузначной). Третье правило формулирует необходимое условие независимости знаков последовательности Х^. Одновременно это и некоторая 145
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ мера различения последовательности Х^ и ее копии, начинающейся в другой точке цикла. Последовательности, удовлетворяющие трем постулатам Голом- ба, называют псевдошумовыми или ПШ-последовательностями. Заметим, что ЛРП максимального периода являются псевдошумовыми. Это означает, что постулаты были сформулированы, исходя из условия сохранения положительных статистических свойств, присущих ЛРП максимального периода. Отметим, что ЛКГ менее привлекателен с точки зрения генерации псевдослучайных последовательностей для криптографических приложений, так как генерируемые последовательности обладают довольно сильными межзнаковыми зависимостями. Тем не менее в некоторых задачах используются последовательности ЛКГ ввиду удобства их реализации. Например, если полноцикловый ЛКГ, определяемый формулой ф(х) = (а-х+Ь) mod2^ использовать как генератор псевдослучайных чисел из множества V,, то рекомендуется параметры ЛКГ выбрать следующим образом: 1) г = п-1, где п - длина слова в вычислительной машине; 2) a=l(mod4) и незначительно больше 2^*^^'; 3)Ь- нечетное число. Правила Голомба не гарантируют высокого качества псевдослучайной последовательности и являются скорее необходимыми. В ходе усовершенствования требований к качеству псевдослучайных последовательностей сформулировано понятие равномерно распределенной (на некотором множестве) случайной последовательности (РРСП). РРСП (на множестве X мощности к) - это последовательность {С,\,С,2,...,С,1,...} случайных величин, принимающих значения в множестве X, определенная на некотором вероятностном пространстве и удовлетворяющая двум требованиям: 1) для любого п и произвольных значений индексов \<t\<...<ti, случайные величины С,^ С,^ независимы в совокупности; 146
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ 2) ДЛЯ любого натурального / случайная величина С,, равномерно распределена на множестве X, то есть Р(С,, = х) = \/к для любого хеХ При выполнении этих двух базовых требований выполняется ряд других свойств РРСП. Перечислим некоторые из них. Свойство 1. Для любого п и произвольных значений индексов \<t\<...<t„ распределение «-мерной случайной величины к, С,, 1 является равномерным на множестве )6 . Свойство 2 (воспроизводимость при «прореживании»). Для любой подпоследовательности l<fi<...</„<... натурального ряда соответствующая подпоследовательность С,^ ....L^ .... последовательности I 7 п {С,,} также является РРСП. 1 Свойство 3 (воспроизводимость при суммировании). Если Х- аддитивная группа и {т1,} - произвольная неслучайная последовательность или произвольная случайная последовательность над X, не зависящая от {C,i}, то случайная последовательность {у,}, где у, = C,i+r\i, также является РРСП. Свойство 4. При любом натуральном t предсказание значения C,i по знакам C,i,C,2,---,C,,-i невозможно. Генератор РРСП - это устройство, позволяющее получить реализацию РРСП произвольной длины. Элементы этой реализации называют случайными числами. Различаются 3 типа генераторов РРСП: табличный, физический и программный. Табличный генератор РРСП - это таблица случайных чисел, полученная экспериментально в качестве выборки из равномерного распределения. Основные недостатки табличных генераторов: 1) ограниченность объемов таблиц; 2) большой расход оперативной памяти компьютера при хранении таблицы случайных чисел; 3) необходимость обеспечения информационной защиты табличных массивов. 147
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Физический генератор РРСП - это электронное устройство, выходной сигнал которого по своей физической природе является случайным процессом. Недостатки физических генераторов: 1) невозможность повторения ранее полученной реализации; 2) нестабильность функционирования электронного устройства (помехи, сбои, смещения режима и др.), приводящая к необходимости контроля каждой реализации. Программный генератор РРСП - это реализуемая ЭВМ про- храмма, служащая для имитации РРСП. Основной его недостаток - наличие в реализуемой последовательности закономерностей. Качество программного генератора напрямую связано со сложностью выявления этих закономерностей. Для выявления закономерностей к анализируемым последовательностям применяется широкий спектр различных статистических тестов. 7.5. Статистическое тестирование последовательностей в последние десятилетия разработано большое количество тестов для анализа случайности последовательностей. Суть тестирования обычно сводится к проверке так называемой «нулевой гипотезы» относительно изучаемой последовательности, согласно которой последовательность длины Л^ получена на основе N испытаний схемы Бер- нулли с вероятностью появления «1», равной 1/2. Статистический тест Т для двоичных последовательностей длины Л^ можно рассматривать как б.ф. Г:Улг->{1,0} = {«принять», «отвергнуть»}, которая разделяет множество V^ двоичных последовательностей длины Л^ на множество V^.o «неслучайных» последовательностей (обычно небольшое) и множество Vn,\ = VVWy^.o случайных последовательностей: VNj={s''eVN:ns'')=j}Jem}, 148
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ где S = (si,S2,...,sn). Вероятность р того, что случайно выбранная последовательность длины Л^ отвергается тестом, выражается равенством P = \Vn,o\-2-''. Как правило, в реальных тестах р невелико, р<0,01. Для последовательностей большой длины Л^ реализация теста с помощью точного оределения значения б.ф. Т требует трудоемких вычислений. Поэтому статистический тест обычно реализуют путем задания эффективно вычисляемой тестовой функции (статистики)/г, которая отображает VV в множество действительных чисел. Обозначим через R'^ последовательность из Л^ независимых и одинаково распределенных двоичных случайных величин и рассмотрим вероятностное распределение случайной величины /т(К'^), принимающей действительные значения. При заданной величине р для значений функции/г задают верхний и нижний пороги ti и 12. P{fiiR'')^h }+P{MR'')>t2} = p. J Обычно пороги выбирают так, чтобы P{fiiR'')uti}«P{fiiR'')>t2} « р/2. Множество VV,o «неслучайных» последовательностей мощности р-2 задается соотношением VN,o={s''eVN:Ms'')<U либо/7</)>^2}. Обычно функцию /г подбирают таким образом, чтобы вероятностное распределение случайной величины fiiR^) было достаточно близко к хорошо известному «эталонному» распределению. Чаще всего таким «эталонным» распределением бывает нормальное распределение или распределение хи-квадрат с некоторым числом степеней свободы. Поскольку для таких вероятностных распределений составлены подробные числовые таблицы, то это упрощает определение порогов ?1 и ?2 при заданных величинах р и Л^. Обычно к нормальному распределению приходят, когда суммируется большое количество независимых и идентично распределенных случайных величин. Распределение хи-квадрат с d степенями свободы используется, когда суммируются квадраты d независимых 149
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ И нормально распределенных случайных величин с нулевым средним и дисперсией 1. Рассмотрим несколько наиболее популярных статистических тестов. 7.5.1. Частотный тест Статистика/чСл''^) частотного теста имеет вид: N. 2 (\^ N^ /чЮ = ^/лГ Е1\ V'=1 ^ J Количество единиц в случайной последовательности R'^ = (Ri, R2,...,Rn) распределено в соответствии с биномиальным распределением, которое при Л'>30 хорошо аппроксимируется нормальным распределением с нулевым средним и единичной дисперсией. Приемлемыми порогами являются значения t\ = -ti ~ 2,5^3,0. 7.5.2. Автокорреляционный тест Для последовательности /" автокорреляционным тестом с задержкой X называют частотный тест для последовательности Д = (^le^i+x, s2®s2+-„..., sn.^®sn). : Данный тест используется для выявления корреляции между би-' тами последовательности /" на расстоянии т. 1 7.5.3. Последовательный тест i При реализации последовательного теста с параметром L после-^1 довательность /' разбивается на N/L отрезков длины L (например, на байты, L = 8) и определяется частота я, появления в последовательности s'^ двоичного представления целого числа i, 0<i<2^-\. Статистика/„ последовательного теста определяется так: .^. L-2' ^4^Y N ' •^"(^ ) =-17-Z И' N Ъ([ ' L-2' 150
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ Член N/(L-2^) - это среднее значение величин я,- и одновременно делитель, нормирующий не возведенные в квадрат члены суммы с нулевым средним и обеспечивающий, чтобы дисперсия стала равной единице. Вероятностное распределение статистики f„(s ) при больших значениях Л^ аппроксимируется распределением хи-квадрат с 2'^-\ степенями свободы. Данное распределение рекомендуется использовать, если средние значения величин я,- не меньше пяти. Следовательно, при заданной величине параметра L длина тестируемой последовательности должна быть не менее 5L-2 бит. 7.5.4. Тест серий В последовательности Х^ «единичную» («нулевую») г-грамму (х,+1,л,+2, ....Xz+r) назовем 1-серией (0-серией) длины г, г>\, если х, = = х,+г+1 = О (если х; = Xi+r+\ = 1), iG{0,l.-.-.T'-l}, где индексы рассматриваются по модулю Т. При реализации теста серий в последовательности s'^ определяется число 1 -серий и 0-серий длины г (обозначается zi,r и zo,r соответственно), l<r<L, (например, L = 15). Статистика/с(/') теста серий имеет вид: M^'^^Z' \.,... ' -^Z r+2 NIX'' fn' N17! Вероятностное распределение данной статистики при больших значениях N хорошо аппроксимируется распределением хи-квадрат с 2L степенями свободы. Из других тестов стоит упомянуть универсальный тест, оперирующий с расстояниями в последовательности s между соседними появлениями г-грамм, и тест повторений, измеряющий количество Повторяющихся г-грамм. В табл. 7.1 даны результаты сравнения минимальных длин последовательностей, требуемых для применения тестов. На практике принятие или отвержение нулевой гипотезы основывают на результатах применения нескольких независимых тестов. В тех случаях, когда независимые тесты приводят к различным вы- 151
Б. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ водам, используется комбинирование результатов тестов с помощью статистик, учитывающих совокупность результатов всех использованных тестов. Таблица 7.1. Минимальная длина тестируемой двоичной последовательности (в битах) при анализе г-грамм г 14 16 20 24 28 32 Последовательный тест 1,1510* 5,24-10* 1,05-10^ 2,01 •10^ 3,76-10"' 6,87-10'' Универсальный тест 2,32-10* l,06-10^ 2,12-10"' 4,07-1 о'' 7,59-10'^ 1,39-10'^ Тест повторений 14336 32768 1,6410^ 7,86-10^ 3,67-10* 1,68-10^ При небольшом количестве комбинируемых тестов используется статистика Фишера - Пирсона, которая сравнивается с распределением хи-квадрат. Если же количество комбинируемых тестов достаточно велико, то рекомендуется применение теста Колмогорова - Смирнова. При тестировании качества того или иного генератора псевдослучайных последовательностей изучению подвергается множество сгенерированных им последовательностей и оценивается, какая часть из них не проходит применяемые тесты. Генератор считается подходящим, если доля последовательностей, признанных неслучайными, сравнима с аналогичной характеристикой случайного генератора. С точки зрения криптографических приложений даже последовательность, сгенерированная абсолютно случайным источником, может оказаться совершенно неподходящей для зашифрования, например последовательность, состоящая в подавляющем большинстве из нулей. Поэтому конструкция генератора должна гарантировать, что заведомо слабые последовательности не появятся на выходе криптографического устройства. 152
Глава 7. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ 7.6. Задачи и упражнения 7.1. Пусть для многочленов над полем Р выполнено: J{X),g(k)eAnn(X^), где Х^ - последовательность над /^"\ и и(к) - произвольный многочлен над Р. Докажите, что многочлены f(^)+g(^),f(^)-g(^),fi}-y4(^) также принадлежат Лпп(Х^). 7.2. Докажите, что минимальный многочлен последовательности Х-^ над Р^"^ делит всякий аннулирующий многочлен последовательности Х^ и является единственным. 7.3. Является ли минимальный многочлен последовательности Х^ над Р*"^ неприводимым? Обоснуйте примерами. 7.4. Каков вид минимального многочлена последовательности {ф'}, I = 1,2,..., если ф - йолноцикловое преобразование множества V„? 7.5. Постройте чисто периодическую двоичную последовательность Х^, имеющую период / и линейную сложность Л, укажите ее минимальный многочлен т(ку. а) f = 2, Л = 2; 6)t=3,A = 2. 7.6. Постройте линейный профиль двоичной последовательности Z_, = {0,1,0,1,1,1,0,1}. 7.7. Пусть Х^ и Y^ есть соответственно ЛРПтах-я с характеристическим многочленом F\(X) и ЛРПтах-/и с характеристическим многочленом РгСк) (над полем Р). Докажите, что их почленная сумма имеет линейную сложность п+т, если (F\(X),F2(X)) = 1. Чему равна линейная сложность почленной суммы последовательностей А% и Y^, если п = /и и Fi(A,) = РгСк)" 7.8. ПустьХ^ = {х,} есть двоичная ЛРПтах-я и Y^ получена изХ^ с помощью б.ф. ф от г переменных, где г<п, а именно У-^ = {(p(xi,Xi+i,...,Xi+r.\)}, i = 1,2,... Сколько знаков «1» размещается на периодическом отрезке последовательности К.>, если вес функции ф равен т? 7.9. Пусть ф - биективное аффинное преобразование множества К и последовательность У.> получена из {ф'} с помощью б.ф./от п Переменных степени нелинейности d, а именно Y^ = {f((p'(x))}, 153
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ _ I = 1,2,... Докажите, что линейная сложность последовательности У_» не превышает 2!]( "• 1 • 7.10. Докажите, что для двоичной ЛРПтах-« выполнены все три постулата Голомба. 7.11. Пусть Х^ = {xj} - последовательность, генерируемая «счетчиком» по модулю 2", и Y^= {yi}, где у,- есть двоичное представление числа х„ I = 1,2,... Докажите, что дляу-й координатной последовательности У^ = {У,},7g{ 1,2,...,«}, верны утверждения: а) период tj равен 2/; б) минимальный многочлен т/Х) равен (Х®\У, где г = 2^'' + 1. Какие из постулатов Голомба выполнены для последовательности Fl^? 154
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ Нелинейность отображений информации, реализуемых криптографической схемой, является необходимым условием при построении шифра. В противном случае восстановление ключевых параметров шифра может быть осуществлено с помощью решения системы линейных уравнений. Принципы построения криптографических преобразований информации, сформулированные К. Шенноном [83], породили многообразие подходов к анализу нелинейных отображений и многообразие исследуемых характеристик отображений. Суть многочисленных подходов к анализу нелинейных отображений заключается в сведении сложной нелинейной задачи к относительно простым, в частности линейным задачам. Рассмотрим отображение (р:Р"^^^Р^'"\ где Р - поле порядка к, при этом ф задано системой {/i(xi,...,x„),.../m(xb...,x„)} координатных к-значных функций. 8.1. Перемешивающие свойства отображений Одно из положительных свойств отображений шифра - хорошее перемешивание входных данных или, иначе говоря, зависимость каждой координатной фзшкции отображения от возможно большего числа переменных. В противном случае элементы ключа могут быть найдены из решения соответствующей системы уравнений методами типа «разделяй и вскрывай». Перемешивающие свойства отображения ф определяются системой {S(fi),S(f2),..., S(f„,)}, где S(fj) - множество номеров существенных Переменных функции fj(xuX2,.-;X„), j = 1,2,..., т. Перемешивающие свойства отображения удобно изучать с помощью графов или матриц смежности их веришн. ^'^МОШтП 155
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОПОГИЯ Рассмотрим двудольный орграф Г(ф) со множеством вершин 1,2,...,и+т и множеством дуг Uip = {{i,j)}, где /е{ 1,2,...,и}, j&[n+\,n+2,...,n+m}. Вершины \,2,...,п соответствуют номерам переменных координатных функций, а вершины п+\,п+2,...,п+т соответствуют номерам координатных фзшкций отображения ф, к которым добавлено число п, что отличает их от номеров переменных. Пара (j,i)eU^ тогда и только тогда, когда функцияДх1,Х2,...,Х;,) существенно зависит от переменной х-,. Граф Дф) назовем перемешивающим графом отображения ф. Матрицу М(ф) = (т,,) смежности вершин графа Дф) назовем перемешивающей матрицей отображения ф. Говорят, что отображение ф совершенное или ф осуществляет полное перемешивание, если S(fj) = {1,2,...,и} для всех у = 1,2,...,т (иначе говоря, двудольный граф Дф) является полным, то есть имеет тп дуг, или матрица М(ф) положительна). Почти все отображения (р:Р^"^^>-Р^'"^ при и ^^ оо и /п, ограниченном величиной порядка и, являются совершенными. Вместе с тем подобный вывод нельзя распространить на отображения, используемые в криптографических приложениях, так как они выбираются не случайно, а из отображений с рядом заданных свойств. Поэтому изучение перемешивающих свойств криптографических отображений является актуальной задачей. Оценим вычислительную сложность построения перемешивающей матрицы отображения, заданного таблицей или многочленом. Из определения существенной переменной следует, что элемент /иу, перемешивающей матрицы отображения ф равен 1 тогда и только тогда, когда либо Дл1,Х2,...,х„) принимает различные значения хотя бы на одной паре соседних по /-й координате наборов, либо в многочлен функции^(xi,X2,...,x„) входят члены, зависящие отх,. Отсюда следует, что распознавание свойства «ieS(fj)» требует в худшем случае просмотра порядка к" констант: либо табличных значений функции fj(xuX2,---,Xn), либо коэффициентов ее полинома. В частности, если Р = GF(2), для ту, верна формула f ^ m„ = sign ^(/Дх)®//х®е,)) 156
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИИ где X = (хиХ2,.-.,х„), ei - вектор из V,, веса 1, у которого /-я координата равна 1, суммирование по х выполняется в поле D действительных чисел и sigx\{a) - функция, определенная на D и принимающая значения: 1 при а>0, -1 при а<0 и О при а = 0. Вместе с тем для многих отображений вычисление элементов /п/, перемешивающей матрицы не требует больших трудозатрат. Например, для случайного отображения (почти всегда совершенного) подсчет ограничивается сравнением значений фзшкции fj{x\,X2,...,x,) в среднем не более чем на двух парах соседних наборов. Таким образом, при распознавании совершенности преобразования ф один из способов вычисления элемента шу, состоит в подсчете значений выражения ^(x,)-^(x,+g,) для ряда векторов x\,Xb---,Xt,... до тех пор, пока впервые не будет получено значение, отличное от нуля. 8.2. Совершенность композиции преобразований Как техническая, так и программная реализация совершенных отображений при больших п,т осложняется тем, что необходимо реализовать большое количество связей между знаками входных и выходных векторов. Поэтому эффект полного перемешивания достигается, как правило, с помощью композиции преобразований, каждое из которых полное перемешивание не осуществляет, но допускает удобную реализацию. Именно так построены итеративные блочные шифры. Например, базовый режим ЕСВ алгоритма шифрования DES реализует композицию 16-цикловых преобразований. Каждое из цикловых преобразований не является совершенным, но уже композиция 5-цикловых преобразований является совершенной. Перемешивающие свойства композиции преобразований можно изучать, используя свойства перемешивающих графов и матриц. Рассмотрим матрицы над полем действительных чисел. Матрицу/i назовем положительной (неотрицательной), если положительны (неотрицательны) все ее элементы. Экспонентом неотрицательной квадратной матрицы А (обозначается exp/i) назовем наименьшее натуральное t (если такое t существует), при котором матрица А' положительна. Если при любом натуральном / матрица А' не положительна, то считаем, что exp^i = оо. 157
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Показателем совершенности неотрицательной квадратной матрицы А (обозначается рг£4) назовем наименьшее натуральное t (если такое t существует), при котором положительна матрица A{t), где A{t) = A+A\...+A'. Если при любом натуральном t матрица A{t) не положительна, то считаем рг£4 = оо. Будем говорить, что матрица А не меньше матрицы В (обозначается А>В), если aij>bij для всех допустимых i,j. Из данных определений непосредственно следуют утверждения. Утверждение 8.1. Если А - неотрицательная квадратная матрица, то pr£4<exp/i. Утверждение 8.2. Если АиВ - неотрицательные квадратные матрицы и А>В, то ехрА<ехрВ и pr£4<prf5. Пусть Af = {m*[' ] есть г-я степень матрицы М смежности вершин и-вершинного графа G, г>1. Теорема 8.1. Число путей длины г из вершины j в вершину / в графе G равно /п*р, г>0, /je {\,2,...,п}. Доказательство (индукция по г). Для г = 1 теорема верна по определению матрицы смежности вершин графа. Пусть теорема доказана для г-1 и для любой пары вершин графа G. Докажем утверждение для г. Так как Af = Af'^-M, то по правилу умножения матриц < = !<"•€'• (8-1) По предположению индукции т*^"" есть число путей в графе G длины г-1 из вершины7 в вершину s. Тогда /п*.^"• /и*!' есть число путей в графе G длины г из вершины j в вершину / таких, что вершина s предшествует вершине /. Просуммировав по s, получаем общее число путей в графе G длины г из вершины j в вершину /. ♦ Следствие. Для любого и-вершинного орграфа G с матрицей М смежности вершин справедливо: 1) если G не сильно связен, то prfM = со; 158
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИИ 2) если G сильно связен, то prfM = DiamG<expA/. Доказательство. Первое утверждение непосредственно следует из теоремы. Докажем второе утверждение. Пусть G сильно связен. Равенство DiamG = d означает, что любая пара веришн (/,/) графа G соединена некоторым путем длины t<d, при этом найдется пара вершин (пусть для определенности эта пара есть (1,2)), кратчайший путь между которыми имеет длину d. По теореме 8.1 это равносильно тому, что для любой пары (j,i) при некотором t<d элемент /п*|' матрицы Л/ положителен, при этом для пары (1,2) выполнено: /п,*^' = О для всех t<d и т*^' >0. А это означает, что prfW = d. Неравенство DiamG<expM следует из утверждения 8.1. ♦ Перемешивающим графом преобразования ф множества Р^"^ называется п-вершинный орграф Дф), в котором пара (/,/) является дугой тогда и только тогда, когда Xi&Sifj), i,je.[\,2,...,n}. Перемешивающая матрица М(ф) преобразования ф - это матрица смежности вершин графа Дф). Теорема 8.2. Преобразование ф*^ несовершенно, если матрица (М(ф))'' не положительна. Доказательство (индукция по г). Пусть преобразование ф*^ задано системой координатных функций, г>\: ф'= {f\'\xu---^n),---fn''\x\,...^„)}. С учетом теоремы 8.1 достаточно показать, что если xisSijf'^), то в графе Дф) имеется путь длины г из вершины j в вершину /, где уе{1,2,...,п}. Для г = 1 справедливость теоремы следует из определения графа Дф). Пусть теорема доказана для г-\ и для любой пары вершин графа Дф). Докажем утверждение для г. Так как ф'^ = ф-ф*^"', то дляуе {1,2,...,и} справедливо: f\xu...^n) =fW-%u...^„),.../,y-%u.. .л,)). (8.2) Пусть S(fp) = [tutb-Jm}, где {li,t2,-,t,„}^{h2,...,n}. Тогда, с одной стороны, в графе Дф) имеются дуги (j,ti), (jjj), ..., (j,tm) и, с другой стороны, из (8.2) получаем, что 159
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 5(y5<^>)c5(/|;-'v...u5(/|;;_-"). Отсюда следует, что если х,е5(^*'''), то среди чисел /i t^ найдется такое число ц, при котором х/е5(/ц*'^"'). Тогда по предположению индукции в графе Дф) имеется путь из вершины ц в вершину / длины г-1. Присоединяя к этому пути дугу (/, ц), получаем путь длины г из у в /. ♦ Следствие 1. Если перемешивающий граф Дф) преобразования ф не сильно связен, то преобразование ф*^ не является совершенным, г>\. Доказательство. Так как граф Дф) не сильно связен, то в нем имеются вершины j и / такие, что не существует пути из j в /, то есть по теореме 8.1 элемент /п*|' матрицы (М((р)У не положителен при всех г>1. По теореме 8.2 это исключает совершенность преобразования ф^ г>1. ♦ Следствие 2. Если перемешивающий граф Дф) преобразования ф сильно связен, то преобразование ф'^ не является совершенным при г<ехрМ(ф). Доказательство. Если г<ехрМ(ф), то в матрице (М((р)У имеется нулевой элемент. По теореме 8.2 это исключает совершенность преобразования ф'^. ♦ Таким образом, необходимыми условиями совершенности преобразования ф'^ являются сильная связность перемешивающего графа Дф) и достаточно большое число итераций преобразования ф, а именно г>ехрМ(ф). Если точное вычисление ехрМ(ф) вызывает затруднение, то можно либо оценить его экспонентом другой матрицы, сравнимой с матрицей М(ф) (см. утверждение 8.2), либо воспользоваться ослабленным необходимым условием совершенности преобразования ф'^:г>В1апгГ(ф). 8.3. Усиление свойства совершенности в развитие критерия совершенности были построены критерии качества отображения, отражающие зависимость координатных 160
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИИ функций ОТ переменных не только на всей области определения, но и на ее подмножествах. 8.3.1. Строгий лавинный критерий Этот критерий разработан в связи с исследованиями, нелинейных отображений (^-боксов), реализованных в Df'S-алгоритме [7,9]. Отображение ф удовлетворяет строгому лавинному критерию (СЛК), если каждая координатная функция отображения ф(д:)-ф(д:+е,) является сбалансированной. Выполнение СЛК означает, что изменение одной координаты случайно выбранного вектора хеР^"^ индуцирует равномерное вероятностное распределение на множестве значений случайного вектора ц)(х)-ц)(х+ед. Если Р = GF(2), то для отображения ф, удовлетворяющего СЛК, при всех ie{\,2,...,n} выполнено векторное равенство X (ф(х)Фф(хФе,)) = (2"-',...,2"-'). Отображение ф удовлетворяет СЛК порядка г, если удовлетворяет СЛК подфункция каждой координатной функции отображения ф, полученная любой фиксацией любых г переменных, 0<г<и. Очевидно, чем больше г, тем жестче критерий перемешивающих свойств отображения. Утверждение 8.4. Если отображение ф удовлетворяет СЛК, то каждая его координатная функция нелинейно зависит от каждой переменной. Доказательство. Без ущерба для общности рассуждений рассмотрим зависимость координатной функции/i(xi,X2,-^/i) отображения ф от переменной х\. Если xi^Sifi), то выполнено тождество/i(x)-/i(x+ei)=0 и, следовательно, отображение ф не удовлетворяет СЛК. Если/1(д:1,д:2,...,А'„) зависит otxi линейно, то есть fl{Xi,X2,...,X„) = а-Х1+\\/(Х2,...Л,), 161
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ где а - ненулевой элемент поля Р, vj/:/*'"'"—>•/*, тоща fi(x)-fi(x+ei)=-a и, следовательно, отображение ф не удовлетворяет CJIK. ♦ Следствие. Если Р - GF(2) и отображение ф удовлетворяет СЛК порядка г, то г<п-2. 8.3.2. Критерии распространения и бент-отобразкения В развитие СЛК было разработано семейство более жестких критериев качества криптографических отображений [31], получивших название критериев распространения (КР). Отображение ф удовлетворяет КР степени /, если каждая координатная функция отображения ф(д:)-ф(д:+а) является сбалансированной при любом векторе аеР^"\ имеющем не более / ненулевых координат, \<1<п. Отображение ф удовлетворяет КР степени / порядка г, если удовлетворяет КР степени / подфункция каждой координатной функции отображения ф, полученная произвольной фиксацией произвольных г переменных, 1<г<и. КР степени 1 равносилен СЛК. Дальнейшее усиление критериев нашло отражение в понятии бент-отображения [23, 33]. Отображение ф называется бент-отображением (при т = 1 бент- функцией), если при любом ненулевом векторе аеР^"^ каждая координатная функция отображения (р(х)-(р(х+а) сбалансирована. Из определения следует, что бент-отображение удовлетворяет СЛК и КР степени п. Для булевой бент-функции имеется эквивалентное определение как функции, у которой все коэффициенты Уолша равны ±2"^. Так как эти коэффициенты есть целые числа, то булевы бент-функции существуют только для четных п и имеют вес 2"''±2"^"'. Несбалансированность бент-функций не позволяет широко применять их в криптографических приложениях. Поэтому наиболее привлекательным объектом исследований криптологии являются сбалансированные отображения, удовлетворяющие СЛК и КР. 162
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИИ Множество булевых бент-функций инвариантно относительно группы аффинных преобразований и каждая из них имеет при и>2 степень нелинейности не выше п/1. При Р = GF(2) ф является бент-отображением тогда и только тогда, когда каждая нетривиальная линейная комбинация его координатных функций есть бент-функция. В противовес позитивным свойствам бент-функций изучаются и слабости функций, к которым относится, в частности, наличие у функции линейных структур. Вектор aef^"^ называют линейной структурой отображения ф, если (р(х)-(р(х+а)=Ь для некоторого bel^'"\ Очевидно, наличие у ф ненулевой линейной структуры исключает свойство «бент». 8.4. Алгебраические характеристики нелинейности к алгебраическим характеристикам нелинейности отображения относятся характеристики системы полиномов, задающих координатные функции отображения. Степенью нелинейности отображения ф (обозначается degф) называется наибольшая из степеней нелинейности его координатных функций: degф= max {deёf^(x^,x^,...,x„)}. ie{l,2,...,m) Отображение называется сильно нелинейным, если нелинейными являются все его координатные функции. Из утверждения 8.4 следует, что любое удовлетворяющее СЛК отображение является сильно нелинейным. Отображение ф аффинно на множестве X, где ХоР*"', если найдется аффинное отображение \|/ такое, что ф(д:) = ц>(х) при любом хеХ. Разбиение множества Р*"' с системой блоков (Xi,X2,...,Xr) назовем линеаризующим отображение ф, если ф аффинно на каждом из множеств Х\,Х2,...,Хг, число г назовем порядком разбиения множества Р'"\ Порядком аффинности отображения ф (обозначим его агёф) назовем наименьший из порядков разбиений множества F^"\ линеарн- 163
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ зующих отображение ф. Если агёф = г, то множество решений уравнения ф(д:) = b содержится в объединении множеств решений уравнений v|/,(x) = b, где \|/, - аффинное отображение, / = 1,2,...г. Характеристической функцией множества X, где ХсР^"', назовем функцию/х(х1,хъ-■-Л,), определенную на множестве Р*"' следующим образом: Теорема 8.3. Если {Xi,X2,...,Xr) - система блоков разбиения множества Р^"\ линеаризующего отображение ф, то degф<l+ max {deefx(x^,x^,...,x„)}. (e{l,2,...,r) ' Доказательство. По условиям теоремы найдутся аффинные отображения \|/; такие, что ф(д:) = \|/,(x) при любом хеХ,-, / = 1,2,...г. Следовательно, верно представление г ф(д:1,д:2,...,д:„) = ^\|/, • Д.Ц.д:^,.-,-^^). (=1 Так как deg\|/,(x) = 1 для всех / = 1,2,...г, то отсюда получаем справедливость теоремы. ♦ Рассмотрим так называемое простое разбиение R'' '' множества Р'"' порядка к\ 1 <г<п, с блоками вида Х^;:Х = {(^ь-ЛОеР*"': х.,^ =а„...,х.^ =а^}, где {/i,...,/r}c{ 1,2,...,и} и набор (ai,...,a,) пробегает все Означений. Разбиение R'>'-'' линеаризует отображение ф тогда и только тогда, когда является аффинной подфункция каждой координатной функции отображения ф, полученная произвольной фиксацией переменных X, X , 1<Г<П. '] V Индексом аффинности отображения ф (обозначается тёф) называется число г, если к'^ есть наименьший из порядков простых разбиений множества Р'-"\ линеаризующих отображение ф. Из определений следует, что indф>log^:(ardф). 164
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИИ Теорема 8.4. Для отображения ф выполнено: deg9< ]+(k-\)in<i(p. Доказательство. Пусть 1пёф = г и (что не нарушает общности рассуждений) блоки простого разбиения множества Р^"\ линеаризующего отображение ш, есть Х\'"\, , а\,...,аг&Р. Характеристиче- екая функция fl"'^„ блока Х];"'\ равна: /<',7,«,(-^1'-"'-^г) =<^(^ь---'^'^)- П ix^-b)-...- W {x^-b), где c{a\,...,a^ - константа поля P. Отсюда имеем, что deg/j;;;', (x,,...,xj< {k-\)-r. Тогда по теореме 8.3 получаем, что deg9<l+(^-l)-r. ♦ Отсюда следует, в частности, что степень нелинейности всякой функции Л-значной логики не превосходит п-{к-\). При к = 2 для биективных преобразований оценку можно уточнить. Теорема 8.5. Пусть ф - биективное преобразование множества V,,, п> 1. Тогда deg9<n-1. Доказательство. По следствию 2 теоремы 5.2 все координатные функции биективного преобразования ф равновероятны. Следовательно, по теореме 3.11 степень нелинейности каждой из них меньшей. ♦ Между степенями нелинейности прямого и обратного преобразований множества имеется связь [63]. В частности, для преобразований множества V„ верна теорема. Теорема 8.6. Если ф обратимо и degф = d, то верны точные оценки: п-\ n-d < degф■' < п-\ 165
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 8.5. Линейный синдром при итерациях Для построения сложных преобразований с заданными свойствами нередко используется композиция относительно простых преобразований, поэтому представляет интерес поведение степени нелинейности преобразования при итерациях. Последовательности Ф= {ф,ф^...,ф',...} степеней преобразования ф множества Р'"' соответствует последовательность D^ степеней нелинейности D<p = {degф, degф^ degф^ ..., degф', ...}. Если ф биективно, то последовательность Ф - чисто периодическая с периодом г<р и по утверждению 6.1 D<p также чисто периодическая с периодом t, где t/t^. При этом degф' = 1, так как degф' = degф''' = dege, где е - тождественное преобразование. Линейным синдромом биективного нелинейного преобразования Ф назовем наличие в циклической группе <ф> аффинных преобразований, отличных от тождественного. Если нелинейное преобразование ф имеет линейный синдром, то в последовательности Ф содержатся аффинные преобразования, не считая преобразований ф' при /, кратных г<р. Показателем аффинности (показателем линейности) преобразования ф называется наименьшее натуральное число г, при котором преобразование ф'^ аффинно (линейно). Обозначим эти величины ахрф и 1хрф соответственно. Очевидно, для любого биективного преобразования ф обе эти величины не превосходят периода t^ и 1хрф>ахрф. Теорема 8.7. Для любого биективного преобразования ф: 1) 1хрф/Г(р, ахрф/г<р, ахрфЛхрф; 2) преобразование ф'^ аффинно (линейно) тогда и только тогда, когда ахрф/г (1хрф/г). Доказательство. Для удобства упростим обозначения: t^ = t, 1хрф = /, ахрф = а, где a<l<t. 166
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИИ 1. Если / не делит (,то t = Iq+r, где 0<г<1. Тогда выполняется цепочка равенств: г I а+г la г Так как ф есть линейное биективное преобразование и множество всех линейных биективных преобразований образует группу, то из последнего равенства следует: Ф^ = (ф'У. Следовательно, ф'^ - тоже линейное преобразование и 1хрф</. Имеем противоречие. Значит, 1 делит t. Соотношения ахрф/г<р и ахрфЛхрф доказываются аналогично. 2. Рассмотрим преобразование ф', где se{\,2,...,t-\}. Если I = t, то преобразование ф' не является линейным и утверждение 2 выполнено. Если l<t, то при любом натуральном i преобразование ф' является линейным, так как является /-й степенью линейного преобразования ф. Если / не делит s,to s = l-q+r, где 0<r<l. В этом случае справедлива цепочка равенств ,v /• q+T la г ф =ф ^ = ф '-ф . Так как ф есть линейное биективное преобразование и множество всех линейных биективных преобразований образует группу, то из последнего равенства следует: Следовательно, ф'^ - тоже линейное преобразование и 1хрф</. Имеем противоречие. Значит, / делит s. Второе утверждение теоремы, относящееся к аффинным преобразованиям, доказывается аналогично. ♦ Следствие. Если период t^ нелинейного биективного преобразования ф простое число, то ф не имеет линейного синдрома. Если период t^ преобразования ф известен и не является простым числом, то определить величины 1хрф и ахрф можно с помощью итеративной процедуры, построенной с учетом теоремы 8.8. 167
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Пусть каноническое разложение числа т на неприводимые множители имеет вид: Ai к^ к где р\, рг, ..., Ps - все простые делители числа /и, а к\, къ ..., Л^- соответствующие им ненулевые кратности. Через D(m) обозначим множество делителей числа т вида D(m) = {m/pi, т/р2,..., т/р,}. Теорема 8.8. Пусть преобразование ф™ аффинно (линейно). Тогда 1) если для всех jeD(m) преобразование ф' не аффинно (не линейно), то ахрф = т (1хрф = /и); 2) если преобразование ф' аффинно (линейно) для jeD, где D^D{m), то аффинно (линейно) и преобразование ф'', гдerf = ЯOД0•:;•eD}. Доказательство. Из утверждения 2 теоремы 8.7 следует, что ахрф/т. Любой нетривиальный делитель числа т делит хотя бы одно из чисел множества D{m). Поэтому если ахрф^^/и (крф^^/и), то ахрф (1хрф) делит хотя бы одно из чисел множества D{m), что противоречит условиям первого утверждения теоремы. Следовательно, в условиях первого утверждения теоремы ахрф = т (1хрф = /и). Если ахрф (1хрф) делит некоторые числа, то ахрф (1хрф) делит и их ПОД. ♦ Таким образом, за конечное число шагов можно определить ахрф (1хрф), если уметь распознавать аффинность (линейность) различных степеней преобразования ф. Распознавание аффинности (линейности) таблично заданного преобразования может оказаться вычислительно трудоемким, однако можно достаточно легко убедиться в неаффинности многих преобразований. Утверждение 8.5. Преобразование ф не является линейным, если (^{х+у)ф(^{х)+(^(у) для некоторых векторов х,у&Р^"\ Доказательство. Вытекает непосредственно из определения линейности преобразования. ♦ 168
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИЙ Утверждение 8.6. Преобразование ф не является аффинным, если оно не является линейным и для некоторых векторов х, v.zeP'"' (p(x-y+z) ^ ф(д:)-ф(>')+ф(г). Доказательство. Если преобразование ф аффинно и не является линейным, то для любого xeF^"^ (р(х) = \\>(х)+\1, где \|/ - линейное преобразование и ц - ненулевой вектор из 1^"\ Используя последнее равенство и линейность преобразования \|/, получаем: (p(x-y+z) = ц>(х-у+1)+\1 = \|/(д:)-\|/(>')+\|/(г)+ц = = \|/(д:)+ц-\|/(>')-ц+\|/(г)+ц = (р(хУц)(у)+ц)(1). ♦ Если показатель линейности преобразования ф меньше его периода, то может оказаться полезной следующая оценка линейной сложности Л(Ф) последовательности Ф через характеристики преобразования ф. Теорема 8.8. Пусть ф биективно, 1хрф = Ind- степень минимального многочлена матрицы ф', тогда Л(Ф)</ч/</и. Доказательство. Рассмотрим подпоследовательность Ф^ последовательности Ф: Ф.= {ф>^Ф^...,ф^...},г=1,2,... Если минимальный многочлен FXX.) последовательности Ф^ имеет степень т, то многочлен FXX.0 степени гт аннулирует последовательность Ф, то есть Л(Ф) < гт. При г = I преобразование ф' линейно и минимальный многочлен Fi(k) последовательности Ф/ совпадает с минимальным многочленом матрицы ф', степень которого равна d, где d<n. Следовательно, А(Ф)<Ш<1п. ♦ 8.6. Приближения нелинейных отображений Пусть/и g - булевы функции от п переменных. Функцию g можно рассмалривать как приближение функции / В качестве меры 169
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ d(f,g) близости функций/и g используется расстояние по Хэммингу между их таблицами: d(f,g)=\\f®g\\. Под расстоянием d{f,F) от функции/до множества функций F, где FoPiC/j), понимается расстояние от / до «ближайшей» функции множества F: d(f,F)= min d(f,g). (8.3) Функцию g из класса F называют наилучшим приближением функции/в классе F, если d(f,g) = d(f,F). Важнейшей криптографической характеристикой функции f от п переменных является ее расстояние до множества А(п) аффинных функций от п переменных. Расстояние от функции / до множества А(п) называется нелинейностью функции/и обозначается Nf. Нелинейность N/ функции / инвариантна относительно группы всех аффинных преобразований пространства V„ и связана следующим соотношением со спектром Уолша: М = 2""'-1/2-тах|/„|. Из равенства Парсеваля следует, что для любой б.ф./ max |/„| > 2"^. Наибольшую нелинейность имеют функции, для которых это неравенство обращается в равенство. Такие функции называют максимально нелинейными. Нетрудно видеть, что при четных п это в точности класс булевых бент-функций, то есть при четных п понятия максимально нелинейной функции и бент-функции являются синонимами для б.ф. В [28] исследованы обобщенные бент-функции, реализующие отображения Z^"^—>-Z„„ где Z„, - кольцо вычетов по модулю т. Показано, что максимально нелинейная функция является бент-функцией. 170
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИИ НО бент-функция является максимально нелинейной, только если т - простое число. Еще одной важной характеристикой функций, связанной с наличием у них аффинных приближений определенного вида, является их корреляционный иммунитет. ФункцияДд:ь...,д:„), реализующая отображение Р*"'->-Р, называется корреляционно-иммунной порядка г, 1<г<и (обозначим это cim/= г), если функция f{x\,...,x„)-l(xi,...,x„) сбалансирована при любой линейной функции 1(х\,...,х„), зависящей существенно от t переменных, 1<1<г. Сбалансированная функция f(xi,...,x„) называется г-эластичной, если cim/= г. Отображение ф:/'*"'—^Т^™' называется корреляционно-иммунным порядка г, если каждая координатная функция отображения ф является корреляционно иммунной порядка г. Из данных определений следует, что корреляционно-иммунные функции порядка г не имеют хороших приближений в классе аффинных функций, зависящих существенно не более чем от г переменных. Если cimf = г, то z'a = О для всех векторов а веса не более г. Свойство корреляционной иммунности инвариантно относительно действия на функцию группы Джевонса Q„. В случае Р = GF(2) имеются ограничения на коэффициенты АНФ функции/(Xb...,x„), обладающей корреляционным иммунитетом порядка г [41]: cim/+deg^«. Для г-эластичной функцииДд:ь...,д:„) при ге{\,2,...,п-2} ограничения жестче: cim/+deg^«-1. В [46] в развитие этих результатов показано, что если cim/ = г, то все коэффициенты АНФ при членах степени п-г равны между собой, для г-эластичной функции они равны 0. Важным направлением исследования функций является описание (построение) классов функций, удовлетворяющих заданному набору условий. Одно из наиболее актуальных в криптологии направлений - построение сбалансированных отображений с возможно большей нелинейностью. 171
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ 8.7. Задачи и упражнения 8.1. Докажите, что при и—>оо доля совершенных отображений среди всех отображений ф:У„—>-Vm стремится к 1. Сколько имеется различных совершенных преобразований множества Уз? 8.2. Приведите пример неотрицательной матрицы М, у которой: а) prfM = оо; б) prfM конечен, ехрМ = оо. 8.3. Докажите, что при т<п преобразование ф"" несовершенно, если ф - преобразование регистра сдвига пространства Р^". Каков диаметр перемешивающего графа Г(ф)? Найдется ли преобразование регистра сдвига ф такое, что ехрМ(ф) = оо? 8.4. Докажите, что если ф - линейное биективное преобразование множества V„, где и> 1, то ехрМ(ф) = оо, 8.5. Определите рг£М(ф) для треугольного преобразования ф пространства Р^"\ где и>1. 8.6. Пусть ф есть совершенное отображение Уз—>Vm, т>\, все координатные функции которого самодвойственны и нелинейны по каждому переменному. 1) Докажите, что отображение ф подчиняется СЛК. 2) Опишите множество координатных функций такого отображения ф. Имеется ли при т = Ъ обратимое преобразование ф с такими свойствами? 8.7. Докажите, что при m<\og^ преобразование ф"" несовершенно, если каждая координатная функция преобразования ф пространства Р^ зависит существенно не более чем от г переменных, г<п. 8.8. При каких т преобразование ф"" несовершенно, если преобразование ф множества V,, задано системой координатных функций [f\{xuX2,...,Xr\f2ix2,XT.,...,Xr^{),...,f„ix,„Xu...,XrA)}, гдс \<г<п И всс ука- занные переменные являются существенными? Значения индексов вычисляются по модулю п. 172
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИИ 8.9. Докажите, что для любого преобразования ф множества V„ верны оценки: deg9-l < тёф < и-1. 8.10. Докажите неравенство для б.ф./от п переменных, многочлен Жегалкина которой содержит/С членов: ind/> logi/f-logi/i. 8.11. Докажите для биективного преобразования ф множества V„: а) если degф = 2, то degф"' < (и+1)/2; б) если degф = и-1, то degф"' =п-1. 8.12. Определите порядок аффинности и индекс аффинности б.ф./ 1) /= X4®xi -х^Фхг -хз ®xi -хг x^®Xi -xi -Xi,; 7)f~x\-X2 -хт, ■X4®x 1 ФхгФхз. 8.13. Является ли ф бент-преобразованием множества V,,, если степень нелинейности преобразования ф"' равна и-1? 8.14. Пусть ф и \|/ - преобразования множества V,,, причем deg\|/ = J, а ф биективно и линейно. Докажите, что а) degф■\|/ = deg\|/•ф = d; б) indф•\|/ = ind\|/. 8.15. Докажите, что наилучшим аффинным приближением б.ф. ^xi,X2,...,x„)®5(x„+bX„+2v..^».), где % линейна, является функция a(xi,X2,...,x„)®^(x„+i,x„+2,...,Xm), где а(х\,хъ...,х^ ~ наилучшее аффинное приближение б.ф.ДхьХъ—Л,). 8.16. Докажите, что если расстояние от б.ф.Лх\,Х2,...,х„) до аффинной б.ф. a(xi,X2,...,x„) не больше 2""^, где и>1, то a(xi,X2,...,x„) есть наилучшее аффинное приближение б.ф./{х1,Х2,...,Хг). 8.17. Определите расстояние от б.ф./до каждой из аффинных б.ф. и нелинейность Л(/^функции/: а)/= xi •X2®Xi ■x-i®X2X:} ®xi •X2xy, б)/= Xi®X2®X2-X:i; b)/= Xi •X2®X-i®Xi X2Xi,. 8.18. Определите наилучшее аффинное приближение б.ф./е/'2(«): а) п = 3,/= xi •X2®xi х-:^Фх2ху, б) п = 3,/= д:,Фд:2Фд:зФд:1 Xjxy, 173
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ в) И = 4, f=x\ -хг^хг-х^-хц; г) П = 5, f=X\ X2®Xj ХцФх^. 8.19. Докажите, что б.ф./{х\,...,х„) не является бент-функцией, если она: имеет фиктивную переменную; зависит чисто линейно от некоторой переменной. 8.20. Докажите, что б.ф./Ф^, где/(д:1Д2,-Дн) и g(x„^i,x„.n,..;Xm) зависят от непересекающихся множеств переменных: а) есть бент-функция тогда и только тогда, когда обе функции / и g есть бент-функции; б) удовлетворяет КР степени / тогда и только тогда, когда обе функции/и g удовлетворяют КР степени /. 8.21. Является ли б.ф./(х\,Х2,...,х„) бент-функцией: а) и = 4, f{x) = xi-X2®X3-X4; б) и = 3, f(x) = xi ■X2®xy, в) и = 5, f(x) = Xi-X2®X3-X4-X5? 8.22. Докажите, что множество линейных структур отображения ф.р(п)_^р(т) образует подпространство пространства Р^ . 8.23. Докажите, что б.ф. f{xi,...,x„) имеет ненулевую линейную структуру, если зависит от некоторых переменных линейно. 8.24. Докажите, что ахрф>и, если ф - нелинейное преобразование регистра сдвига множества V,,. 8.25. Определите ахрф, где ф - преобразование регистра левого сдвига множества V,, с обратной связью Дд:1,...Д4): а) Дхь ..., ^^4) = xi®X2-X4; б) f{Xl, ..., Х4) = Xi®X2®X3'-'^4; в) ЛХ\, ..., ^4) = X\®X2-Xj-X4®'i. 8.26. Определите ахрф, где ф - треугольное преобразование множества V,,, заданное координатными функциями: а) и = 4, ф = [Xi, X2®1, Xi-X2®X2, Xi®X2-X^®X4}', б) и = 4, ф = (ДПФЬ Д:,Фд:2Ф1, Xi®X2®X3, Xi ■X2®X2-X3®X4}\ в) и = 5, ф = {Xi, Х\ФХ2, ХхФх^ф], Xi •X2®X4, X^-Xa^Xs®! }. 174
Глава 8. КРИПТОГРАФИЧЕСКИЕ СВОЙСТВА НЕЛИНЕЙНЫХ ОТОБРАЖЕНИИ \ 8.27. Существует ли полноцикловое преобразование ф множества V,,, для которого ахрф<2""'? Рассмотрите множество преобразований ЛК1". 8.28. Опишите класс всех аффинных преобразований ф множества V,,, для которых с1тф = к, 0<к<п. Найдется ли в таком классе биективное преобразование, если к= п-1; к = и-2? 8.29. Докажите, что преобразование входного блока 2-циклового алгоритма шифрования DES при каждом фиксированном ключе несовершенно. 175
Глава 9, КОНЕЧНЫЕ АВТОМАТЫ МИЛИ 9.1. Функционирование автомата, виды автоматов Автоматом (или автоматом Мили) называется система из пяти объеьстов А = (X,S,Y,h,f), где X,S, У-непустые множества, ahnf- отображения: Л:5хХ—>S;/:SxX—>У. Множества X, S, Y называются соответственно входным, внутренним и выходным алфавитами, а их элементы - входными символами, состояниями и выходными символами. Множество S называют также множеством состояний автомата А. Отображения h и / называются соответственно функцией переходов и функцией выходов. Автомат А называют конечным, если множества X, S, Y конечны. Полагается, что автомат функционирует в дискретные моменты времени (такты). В ^м такте, t = 1,2,..., автомат находится в состоянии s,eS, воспринимает входной символ х,еХ, выдает выходной символ y,eY и далее переходит в состояние s,+ieS. Закон функционирования автомата во времени определяется следующими соопюшениями: s,+i = h(s,,x,y, (9.1) y,=As„x,), t = \,2,... (9.2) В соответствии с (9.1) и (9.2) автомат А преобразует входное слово х = (xi,X2,...,xi) В выходное слово у = (у1,у2,-;У1) той же длины /, проходя последовательность внутренних состояний s = (s\,S2,...,si+\). Состояние si называется начальным, состояние si+\ конечным или финальным. При этом говорят также, что входная последовательность X переводит состояние si в состояние si+\. Множество всех входных (выходных) слов в алфавите X (в алфавите У) обозначим через X* (через Y*). Пустое слово обозначим Л. Связанные с функционированием автомата А отображения Л*:5хХ*—>-S и /*:SxX*—>-У* зададим при каждом seS следуютцими равенствами: h*{s,A) = s; f*{s.A) = A; (9.3) тмошпфп 176
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ кроме того, для всех хеХ, weX* h*(s,w-x) = h(h*{s,w)^y, J*(s,wx) =f(s,w)-f(h*(s,w),x). (9.4) Из равенств (9.3), (9.4) несложно вывести, используя метод математической индукции, что реакция автомата Мили на последовательное введение входных слов v и w равна его реакции на входное слово V-W, то есть справедлива следующая теорема. Теорема 9.1. Для произвольных слов v и w из X* и произвольного seS автомата Мили выполняются равенства h*(s,v-w) = h*(h*(s,v),wy, (9.5) f*(s,vw) =f(s,v)r(h*(s,v),w). (9.6) Функцию fi'.Sx.x'^^Y, отображающую множество начальных состояний и входных слов длины / во множество значений 1-го знака выходного слова, назовем 1-й выходной функцией автомата А, 1=1,2,... fliSi,Xi,X2,...,Xi)=yi. Преобразование hx множества S, определяемое как подфункция функции h(s,x), соответствующая фиксированному значению х, hx(s) = h(s,x), называется частичной функцией переходов автомата А. Для любого входного слова х = (xi,X2,...,xi) преобразование h- множества S есть композиция преобразований: Автомат А называется регулярным (перестановочным, подстановочным), если все его частичные функции переходов являются подстановками множества S. Различаются следующие виды автоматов. Автомат А называется внутреннеавтономным, если функция переходов h{s,x) не зависит от х, то есть Л:5—>-S. Автомат А называется автоматом Мура или внешнеавто- номным, если функция выходов Д^.х) не зависит отх, то есть/:5—>У. 177
в. М. Фомичвв. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Автомат А = (S,Y,h,f) называют автономным, если он и внуарен- не- и внешнеавтономен. Выходные функции автономного автомата зависят лишь от начального состояния. Внутреннеавтономный автомат А с тождественной функцией переходов (обозначение А = (X,S,Y,f)) назовем автоматом с постоянной памятью (а.п.п.). Автомат А = (X, Y,f) реализует отображение f:X->Y и называется автоматом без памяти или комбинационной схемой, если функционирование автомата определяется лишь функцией выходов. Автомат А = (X,S,h) называют автоматом без выходов, если функционирование автомата определяется лишь функцией переходов. Автономный автомат без выходов А = (S,h) есть преобразование h множества S. Пусть Wc5 и W^0. Если множество допустимых начальных состояний автомата Мили А ограничено множеством W, то пара (A,W) называется слабоинициальным автоматом (с.и.а.). Автомат (А,Щ описывается системой: (А,Щ = iX,(S,W),YM- В частности, если W = [w] - одноэлементное множество, то есть в автомате А начальное состояние wsS фиксировано, то пара (y4,{w}) называется инициальным автоматом (и.а.). При этом будем обозначать A„ = (A,[w]) = iX,{S,[w]),Y,hS- 9.2. Способы задания автоматов Мили Для задания автомата А = (X,S,Y,h,f) необходимо описать каждое из множеств X, S, У и задать отображения Ли/. Это можно сделать различными способами. 1. Табличный способ. Пусть алфавиты автомата А имеют вид: Таблица автомата состоит из двух частей: левая часть задает функцию переходов, правая часть - функцию выходов: 178
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ 5,VC, CTl ^i ст„ Si+l ь ^i hi<^iAi) ^r У' ^1 ^1 Лс^л ^/) ^r Из данной таблицы следует, что число различных автоматов Мили (различных таблиц) с алфавитами мощности г,п,т равно (т-пУ". 2. Задание автоматов формулами и алгоритмами. Пусть тах[г,п,т] = к, тогда отображения h и/можно рассматривать как функции ^-значной логики (определенные, если min{г,п]<к не всюду, а лишь на части наборов). Следовательно, можно задать автомат А, описав алфавиты X, S, ¥и задав функции h и/формулами или алгоритмами. 3. Автоматный граф. Автомат Мили А = (X,S,Y,h,f) можно задать автоматным графом - ориентированным графом Га = (S,E) с помеченными вершинами и дугами. Пара (ст/,ст/)е£ тогда и только тогда, когда найдется t,ieX, при котором Л(ст,-,^;) = оу. При этом ребро (ст,-,ст/) помечается набором символов i^i. /р, ,^j /р, ,—,^t /Р; 1, который означает, что для каждого v = 1,2,...,t верны равенства Л(а,,^,^ = а^., (9.8) В автоматном графе Га автомата Мура А ребро (ст„ст,) помечается набором символов (^^ ,1,^ ,...,1,Л, означающим, что для всех v=],2,...,t справедливо равенство (9.8), а вершина ст, помечается символом р, , означающим, что/(ст/) = Р, . 179
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Автомат А (и автоматный граф Га) называется сильно связным, если из каждого состояния можно перейти в любое другое состояние при некоторой входной последовательности. Автомат А (и автоматный граф Га) называется связным, если связен храф, полученный из Га заменой дуг на ребра. Множество состояний всякого конечного автомата (вершин автоматного графа) разбивается на г компонент связности, 1<г<| 5|. 4. Задание автоматов формулами и схемами. При задании конечного автомата Мили в ряде случаев наряду с формулами для большей наглядности используются схемы. Приведем несколько примеров. Неавтономный регистр сдвига длины и с одной обратной связью ф(х„,х„.1,...,Х1)(рис. 9.1). Рис. 9.1. Неавтономный регистр сдвига Данный автомат является неавтономным автоматом Мура, в котором X = У = {0,1}, 5 = У„. Функции h и/есть б.ф.: Л(х,„...,хьа) = (аФф(х,„...,Х1)л.,-Д2); /(x„,...,xi,a) = xi. Если входная последовательность {а,} состоит из нулей, то данный автомат можно рассматривать как автономный автомат (автономный регистр сдвига). Внутренне автономный автомат, построенный на основе регистра сдвига (рис. 9.2). 180
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ г-> п Ч' и-1 >f • а а WyX^yX^ ^j...yX]) ^^^^^^,0"^'^ 1 - 1 Рис. 9.2. Внутреннеавтономныйрегистр сдвига Функции переходов и выходов этого автомата имеют вид: h{x„,...,xx,a) = (ф(х,„...Д1)д,„...Д2); /(х,„...дьа) = a©xi. 9.3. Отношения и операции с автоматами Рассмотрим автоматы Л = {X,S,Y,h,f)^A' = (X\S',r,h',f). Автоматы Л и Л' называются однородными, если X' = X, Г = Y. Однородные автоматы Л и Л' называются согласованными, если для любых seSr\S' ихеХ (h'(s^),f(s^)) = {h{s,x),f{s,x)). С.и.а. {A,W) и {A\W) называются однородными (согласованными), если автоматы Л и Л' являются однородными (согласованными). Объединением согласованных автоматов Л и Л' (обозначение ЛиЛ') называется автомат А = (X,SuS\Y,h'\f'), для которого при любых хеХ и seSuS' выполняется; _ j h{s,x), если seS, если seS'. ^"( n_(/(^,j:), если seS, J V .л; \fXs,x), если seS'. Объединением согласованных си.а. (A,W) = (X,(S,W),Y,h,f) и (A\W) = (X,(S',W),Y,h\f) назовем с.и.а. (AuA\WuW). Отсюда следует, что всякий с.и.а. (A,W) можно представить как объединение согласованных и.а.: (A,W)= U(^.{H')). iisW 181
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Автомат А' называется подавтоматом автомата А, если Х'сХ, S'^S, Y'^Y и функции /г', / есть ограничения соответственно функций h, f на множество 5" хХ'. Подавтоматом автомата А является, в частности, автомат, задаваемый компонентой связности автоматного графа Г^. С.и.а. {A'yW) называется подавтоматом с.и.а. (A,W), если А' - подавтомат автомата А и VycW. Гомоморфизмом автомата А в автомат А' называется тройка отображений ф^Х—>Х', фг'.^ —>5'', фз.К—>F', для которых при любых хеХ nseS выполняется Н'{Щ{3),(^Х{Х)) = ф2(/г(5Д))/(ф2(5),ф1(х)) = фз(/(5Д)). Гомоморфизмом си.а. (A,W) в си.а. (A',W) называется гомоморфизм автомата А в автомат А', при котором фг отображает W в W. Если ф1,ф2,фз - биективные отображения, то автоматы А и А' называются изоморфными. с.и.а. (A,W) и (A',W) называются изоморфными, если изоморфны автоматы Л и Л' и ограничение биекции фг на множество W есть биекция W<r>W'. Последовательным соединением автоматов Мили Ai = (X,Si, Y,h\,f\) и Лг = {Y.SiyZyhiJi) (обозначение Ах-^Аг) называется автомат Мили А = (X,S,Z,h,f), где S = S\xS2 и для любых хеХ и seS выполняется h(s,x) = h((si,S2)r>c) = (hi(si^), h2{s2/i(s\^))), Д^Д) =Д(5ь52)д) =f2(S2/l(Sl,x)). Последовательным соединением си.а. (Ai.W^i) = (X,(Si,Wi),Y,hi,f\) и (A2,W2) = (Y,(S2,W2),Z,h2j2) назовем с.и.а. (Ai->A2,WixW2). Прямой суммой автоматов Ai = (Xi,Si,Yi,hhf\) и Лг = (X2,S2,Y2,h2,f2) (обозначение AixAa) называется автомат А = (X,S,Y,h,f), в котором X = XixX2, S = S1XS2, Y = Y1XY2 и для любых хеХ и seS: h{s,x) = h{{S\,S2),{X\,X2)) = (hiiSiyXi), /l2(5'2^2)). f{{SuS2),{Xi^2)) = (f\{SiM),f2{S2^2))- 182
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ Прямой суммой С.И.а. (Ai.Wi) = (X],{S\,Wi),Y\,h\,f\) и (AbWi) = (X2,iS2,W2),Y2,h2,f2) назовем с.и.а. (AixA2,W,xW2). Не каждый автомат Мили может быть представлен автоматом Мзфа с теми же алфавитами X,S,Y. Но за счет расширения множества состояний для каждого автомата Мили можно построить равносильный ему автомат Мзфа. 9.4. Различимость состояний и входов Одним из центральных вопросов теории конечных автоматов является вопрос минимизации автомата, то есть исследование возможности и сложности построения для данного автомата А автомата В с меньшим внутренним алфавитом, реализующего то же множество автоматных отображений. В связи с этим представляет интерес сравнение поведения автомата в различных состояниях. Реакцией состояния s (или автоматным отображением при начальном состоянии s) называется порожденное этим состоянием отображение/|:Х*->К*, где Uw) =r(s,w). Реакцией автомата А, обозначаемой через [А] (или множеством всех его автоматных отображений), называется множество реакций всех его состояний: [A] = {fJseS}. Состояния S и Z из S называются эквивалентными, если они имеют одинаковые реакции. Автоматы Мили называются эквивалентными, если они имеют одинаковые реакции. Эквивалентные автоматы Мили являются однородными, так как равенство отображений означает совпадение их областей определения и областей значений. Автомат Мили А называется сокращенным, если неэквивалентны любые два его состояния. Возможность построения сокращенного автомата для заданного автомата Мили определяет следующая теорема. 183
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Теорема 9.2 (Хаффман - Мили). Для эквивалентности двух состояний автомата Мили с п состояниями (п>1) достаточно, чтобы совпадали реакции этих состояний на входные слова длины, не большей п-1. Доказательство. Пусть А = (X,S,Y,h,f) - автомат Мили. Состояния 5И Z автомата А назовем А:-эквивалентным и, к - натуральное число, если для всех weX'^ f*(s,w) =J*(z,w). Данное отношение является отношением эквивалентности, так как оно рефлексивно, симметрично и транзитивно. Следовательно, множество S разбивается на классы /^-эквивалентных состояний. Из определения /с-эквивалентности следует, что (/с+1)-эквива- лентные состояния являются и /^-эквивалентными, поэтому каждый класс (/с+1)-эквивалентности целиком содержится в некотором классе /с-эквивалентности. Следовательно, разбиение R/c+i множества S на классы (/с+1 )-эквивалентности является продолжением разбиения R^ множества S на классы /с-эквивалентности. Утверяедение 9.1 (промежуточное). Если R^+i = Rk, то Rj = Rk для всех j>k, то есть /^-эквивалентные состояния просто эквивалентны. Доказательство. Достаточно показать для i>k, что из /?, = /?,+i следует R,+\ = /?,+2. Если состояния s я z автомата (/+1 )-эквивалент- ны, то для всех хеХ и weX выполняется равенство J*(s,x-w)=J*(z,x-w). Отсюда, используя определение отображения/•", имеем: Это равенство равносильно двум следующим: J{s,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,+\, то эти состояния и (/+1 )-эквивалентны, то есть для всех х,йеХ и we.X' выполнено y*(/j(5,x),wa) =f{h{z^),wa). Из последнего равенства и равенства (9.9) следует равенство 184
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ fis^)-f*{h{s^),wa) =j[z,x)-f{h{zX>,wa), которое означает, что состояния s п z автомата (/+2)-эквивалентны, то есть/?,+ 1 = /?,+2- ♦ Утвериедение 9.2 (промежуточное). Если Ri^R,^ \, то число классов разбиения /?, больше /, / = 1,2,... Доказательство (индукция по /)• Пусть / = 1 и R\i^R2. Если число классов в R\ равно 1, то любые два состояния s nz автомата являются 1 -эквивалентными, в том числе и состояния h{s,x) и h{z,x) при любом хеХ Значит, при любых x,w&X справедливы формулы (9.9) и (9.10) и по теореме 9.1 состояния s w. z автомата 2-эквивалентны. Следовательно, R\ = R2, что противоречит условиям. Таким образом, число классов в R\ больше 1 и для / = 1 утверждение доказано. Пусть утверждение 9.2 доказано для i = к и Rk+i^Rk+2- Заметим, что из последнего неравенства вытекают неравенства /?,^^/?,+1 для всех / = 1,2,...,к, иначе имелось бы противоречие с утверждением 9.1. По предположению индукции это значит, что для всех / = 1,2,..„к число классов разбиения R, больше /. Если число классов ^^+1 разбиения Rk+\ меньше или равно к+1, то выполняется равенство ^+i = ^к = к+1, так как, с одной стороны, по предположению индукции число классов в R^ больше к, а с другой стороны, это число не может быть больше, чем число классов в Rk+\. Имеем противоречие, следовательно, число классов разбиения Rk+\ больше к+1. ♦ Так как автомат А имеет п состояний, то из утверждения 2 следует, что R„.\ = R„ (неравенство этих разбиений невозможно, так как из утверждения 2 получалось бы, что число классов в R„.\ должно быть больше п-1, то есть равно п, но и в R„ не может быть более п классов). Отсюда и из утверждения 9.1 получаем, что (п-1 )-эквивалент- ные состояния являются просто эквивалентными. ♦ Замечание. Для распознавания эквивалентности состояний автомата Мили с п состояниями значение достаточной длины слов, равное п-1, неулучшаемо. Следствие 1. Проблема эквивалентности состояний автомата Мили алгоритмически разрепшма. 185
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ Следствие 2. Автоматы Мили АиВ с пит состояниями соответственно эквивалентны, если совпадают их реакции на все входные последовательности длины, не большей п+т-1. Вследствие этого проблема эквивалентности автоматов Мили алгоритмически разрешима. Доказательство. Эквивалентные автоматы однородны, поэтому положим А = (X,S,Y,h,f), В = (X,S',Y,h',f), где SnS' = 0, и рассмотрим автомат С = АиВ. Для распознавания эквивалентности автоматов А и В достаточно показать, что для каждого состояния seS автомата А в автомате В найдется эквивалентное состояние s'eS' и наоборот. Следовательно, задача свелась к распознаванию эквивалентности состояний автомата С. Из теоремы 9.2 вытекает, что для этого достаточно рассмотреть входные последовательности длины, не большей п+т-1. ♦ Замечание к следствию 2. Значение достаточной длины слов, равное п+т-1, неулучшаемо. Теорема 9.3 (о сокращении). Для каждого автомата Мили может быть эффективно построен эквивалентный сокращенный автомат. Доказательство. Сокращенный автомат строится из исходного автомата объединением всех эквивалентных состояний исходного автомата и отождествлением этого класса с состоянием сокращенного автомата. Действие функций переходов и выходов на классах совпадает с действием на любых представителях этих классов функций исходного автомата. Из теоремы 9.2 вытекает, что построение может быть выполнено за конечное число шагов. ♦ Важным для некоторых приложений свойством конечных автоматов является способность перерабатывать различные входные слова в различные выходные слова. В связи с распознаванием в конечном автомате данного свойства вводятся следующие понятия. Две входные последовательности v и w из X* называются неразличимыми автоматом А (или для автомата А), если для любого seS и любого иеХ* справедливо J*{s,v-u) =J*(s,w-u). 186
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ В противном случае vh w различимы автоматом А. В частности, любые две входные последовательности различных длин различимы автоматом Мили. Автомат А называется различающим входы, если любые две различные входные последовательности различимы автоматом Л. Лемма 9.1. Входные слова v и w неразличимы автоматом А тогда и только тогда, когда для любого seS состояния h*(s,v) и h*(s,w) эквивалентны и выполнено J*(s,v)=J*(s,w). Доказательство. Пусть входные слова v и w неразличимы автоматом А и S есть произвольное состояние этого автомата. Тогда для всех иеХ* справедливо: f*(s,v)-f*(h*(s,v),u) =f(s,v-u) =f(s,w-u) =f*(s,w)-f*(h*(s,w),u)- Следовательно, требуемое равенство выполнено и состояния h*(s,v) и h*(s,w) эквивалентны. Обратное утверждение доказывается аналогично. ♦ Теорема 9.4 (Чен). Пусть А - автомат Мили с п состояниями. Если любые две последовательности входов длины п "-1 различимы автоматом Л, то Л - автомат, различающий входы. Следствие. Проблема распознавания различимости входов автоматом Мили алгоритмически разрешима. 9.5. Периодичность в конечных автоматах Одним из важных прикладных вопросов в теории конечных автоматов является периодичность функционирования автомата. Рассмотрим неавтономный автомат, на вход которого поступает периодическая последовательность. Обозначим через d, число состояний автомата Мили А = (X,S,Y, hj), достижимых из состояния s,sE^S, то есть d,=\ {z&S:z = h*{s,w),w&X*}\. Для любого состояния S величина d^ не больше мощности компоненты связности автоматного графа, содержащей s. 187
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Теорема 9.5. Неавтономный автомат Мили Л = {X,S,Y,h,f) под воздействием входной периодической последовательности х с предпе- риодом N и периодом Т из начального состояния s проходит периодическую последовательность состояний s с предпериодом N'(s) и периодом T(s), выдавая периодическую выходную последовательность у с предпериодом N"(s) и периодом T'(s), где N\s),N''(s)<N+(drl)-T, r(s) = x-k, Г'(^) = х'т, где X, х' - делители Т, k,r<ds. Доказательство. Обозначим х= {xi,X2,...,Xi,...}, s= {si,S2,...,Si+i,...}, где s\ = s. Пусть подпоследовательность s' последовательности s имеет вид: s' = {Sn+I, Sn+I+T, Sn+I+2-T, ■■■, SN+\+k-T, ■••}• В последовательностях s и s' встречается не более d, различных членов. Рассмотрим «первое совпадение членов» в подпоследовательности s', а именно пусть / - наименьшее натуральное число, для которого нашлось целое число т, 0<т<1, при которых выполняется равенство SN+\+mT = Sn+\+IT (9.11) Так как х - периодическая с предпериодом N, то из равенств (9.1), (9.11) следует, что для любого натурального У SN+1+m-T+j = Sn+\+\T+j- Следовательно, последовательность s - периодическая с периодом T(s), где T{s)/T-{l-m). В силу минимальности числа /, при котором имеет место «первое совпадение членов» в s', период Т {s) не может быть одновременно кратен Т и меньше Т-(1-т). Поэтому T(s) = x-(/-m), где х либо равен Т, либо есть делитель числа Г такой, что число 7Ух не делит число 1-т. Так как I-m<ds, то в обоих случаях r(s) = x-k, 188
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ где х/Т, k<ds. Из определения числа т следует, что предпериод N'(s) не превосходит N+m-T. Так как m<d,s-\, то имеем: N\s)<N+{d,-\yT. Теперь рассмотрим периодическую последовательность x,s= {{x\,s\),...,{x„Si),...}. Обозначим ее предпериод и период через N*{s) и T*{s). По утверждению 6.2 N*{s)<max{N,N\s)) = iV+(J,-l)T; 7* = HOK{T,T{s)) = НОК(Т,х-к). С учетом равенства (9.2) по утверждению 6.1 получаем, что N"(s)<N*(s) иГ'(5) делит T*(s), то есть: N"(s)<N+(driyT, Г'(^) = т'т, где х7Г, r<ds. ♦ Следствие 1. Если А - перестановочный автомат и е = hy ...hr - биективное преобразование множества S, реализуемое автоматом А при подаче входного слова (xn+i, ...,xn+t), то N'(s),N"(s)<N, а периоды T(s) и T'(s) есть делители числа tg-T, где tg - период преобразования g. Доказательство. В условиях следствия т = О, а I есть длина одного из циклов преобразования g. ♦ Из утверждения 6.1 с учетом равенства (9.2) для автономных автоматов вытекает следующая теорема. Теорема 9.6. Автономный автомат Л = (S,Y,h,f) при начальном состоянии seS, имеющем предпериод N{s) и период T(s) относительно преобразования Л, генерирует выходную периодическую последовательность с предпериодом Ng и периодом 7!,-, где Ns<N(s) и Т,/Т{з). Следствие 1. Если T{s) - простое число, то период 7,. равен либо T{s), либо 1. Следствие 2. Пусть Y = {0,1,...,'и-1}, у = [у\,Уъ-;У1,---] -выходная последовательность автономного автомата А, соответствующая начальному состоянию s, и kj, где JE.Y, есть частота элемента j в выходном слове {уы+\,---,Уи+т(х))- Тогда 189
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ T, = T(s)/d\ где d' - делитель НОД{ко,к\,...,кт-\)- Доказательство. По теореме 9.6 T{s) = l\-d\ где d'- натуральное число. Из определения чисел ko,ki,...,km-i следует, что J'делит каждое из них. Следовательно, J'делит НОД(ко,к\,---,кт-\)- ♦ 9.6. Задачи и упражнения 9.1. Используя в качестве функции переходов преобразование автономного или неавтономного двоичного регистра сдвига с одной обратной связью, постройте автомат Мили А с б.ф. выходов, при которой все выходные функции автомата являются: а) аффинными; б) сохраняющими константу О (константа 1); в) самодвойственными; г) монотонными. 9.2. Сколько имеется различных автоматов Мура с входным, внутренним и выходным алфавитами мощности соответственно г, пит! 9.3. Постройте таблицу и автоматный граф автомата Мили А = (V2,V3,Vuhif), в котором K(Si,S2,Sx>,(X\,X2)) = (Si®S2®Si, SyXi, 52'Х^ ), J{(S\,S2,Si ), (Xi,X2)) = Xi®X2®Si. В какие состояния переходит автомат А из состояния (0,0,1) при всевозможных входных словах длины 2? 9.4. Постройте таблицу и автоматный граф автомата Мура А = (V\,V2,V\,hJ), в котором h((Si,S2),x) = (S2, Si®S2®x),J{Si,S2) = Si®S2®l. Какие выходные слова выдает автомат А при начальном состоянии (1,0) и всевозможных входных словах длины 3? Является ли автомат А сокращенным? 9.5. Число состояний автоматов Мили Л i и Лг равно п и т соответственно. Сколько состояний имеет: а) последовательное соединение автоматов Ai и Лг; 190
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ б) прямая сумма автоматов Ai и А2; в) объединение автоматов А i и Лг? 9.6. Следует ли из сильной связности двух автоматов сильная связность их прямой суммы, объединения? В случае отрицательного ответа приведите иллюстрирующий пример. 9.7. Докажите, что неавтономный регистр сдвига является сильно связным автоматом. 9.8. Имеется сильно связный автомат без выходов А = (Vm,V,„h). Можно ли из некоторого состояния перейти в любое другое состояние не более чем за 3 такта функционирования автомата А, если m = 4, п= 14? 9.9. Пусть А = (Vi,V„„Vi,h,f) - автомат Мили, где h - аффинное отображение и/- отличная от константы б.ф. степени нелинейности к. 1) Докажите, что все выходные функции автомата А имеют степень нелинейности не больше к. 2) Оцените сверху размерность линейной оболочки всех выходных функций, если входная последовательность автомата имеет линейную сложность Л. 9.10. Пусть v|/ есть б.ф. от п переменных и Л = (V\,V,„h) - автомат без выходов, где h((Si,S2,...,S„)^) = (S2,Si,...,S„,\^(Si,S2,--;S„)®x). Докажите, что автомат А регулярен тогда и только тогда, когда функция v|/ линейна по переменной ^i. 9.11. Имеется автомат без выходов А = (V\,Vi,h), У которого координатные функции отображения h заданы следующими равенствами: /г2((^1ЛЛ)д) = Sy(l®S2®svS2)@xiWsi), Используя автоматный граф автомата А, покажите, что А содержит подавтомат, изоморфный автономному автомату В. Постройте автомат В. 9.12. Сколько тактов функционирования автоматаЛ = {Vi,V„,Vi,h,f) достаточно реализовать для распознавания: 191
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ а) эквивалентности двух его состояний; б) сокращенности автомата Л? 9.13. ПустьЛ = (Vi,V„,Vi,h,f) - автомат Мили, где h(si,S2,-..,s,„x) = (52Л,-.-Л, Sr@s„®x), 1<т<п; Л^\Л, ■ ■ ■ ,s„^) = s„,-s„,i.i -... -ЗпФх, 1 <т<п. Имеет ли автомат А эквивалентные состояния? Если да, то оцените мощности классов эквивалентности. 9.14. Автомат Л = (V\,V„,Vi,h,f), где/есть б.ф. от п переменных и h((SuS2,...,S„),x) = (52,5з,...,5„д). Укажите пример функции /, при которой автомат А не различает все последовательности {х,}, i = 1,2,..., построенные по правилу: а) если Xj = 1, то x,+i = 0; б) если X, = О, то Xi+2 = 1; в) еслих,фх,+1 = 1, тох,+2 = Xj+i. 9.15. Пусть А = (Vi,V„,Vi,h,f) - автомат Мура, реализующий неавтономный регистр сдвига длины п с функцией обратной связи \]l(Si,S2,...,Sn), ТО есть h(Si,S2,.-.,Sn,x) = (S2,S3,...,S„,\\l(SuS2,--;Sn)®x). 1) Докажите, что автомат А при любой функции обратной связи \]i(si,S2,...,s„) есть автомат, различающий входы, если функция выхода /биективна по существенной переменной с наибольшим индексом. 2) Приведите примеры функций v|/ и /, при которых автомат А не имеет эквивалентных состояний. 9.16. Постройте гомоморфный образ автомата, выходная последовательность которого есть сумма выходных последовательностей двух идентичных автономных ЛРС длины п. 9.17. Докажите, что автономный автомат А = (V^Vi,h,f), где h - преобразование ЛРС,/- равновероятная б.ф., вырабатывает при ненулевом начальном состоянии выходную последовательность с периодом 2"-1. При каких других функциях / выходной период автомата А также максимален? 9.18. Каков спектр значений периодов выходных гюследователь- ностей автомала, являющегося прямой суммой (объединением) авто- 192
Глава 9. КОНЕЧНЫЕ АВТОМАТЫ МИЛИ номных Л PC максимального периода длины п и т,в зависимости от начального состояния этих ЛРС? 9.19. Пусть А = (S,Y,h,f) и А' = (S',Y,h',f) - согласованные автономные автоматы Мили. Докажите, что периоды выходных последовательностей автомата ЛиЛ' при всех начальных состояниях не превышают max{|5VS"|, |5"\5|, \S'rsS\}. 9.20. Пусть автомат А есть последовательное соединение автономного ЛРСтах-п и неавтономного регистра сдвша длины т. Какие возможны предпериоды и периоды выходных последовательностей автомата А в зависимости от начального состояния s ЛРС? 9.21. Имеется автономный автомат А = (Z/2",V],h,g-5), где h - преобразование полноциклового ЛКГ с модулем 2", 5 - биекция между Z/2" и V,,, ставящая в соответствие каждому вычету его двоичное представление, g - б.ф. 1) Докажите, что если g нечетного веса, то при любом начальном состоянии автомат А вырабатывает выходную последовательность с периодом 2". 2) При функции переходов h(s) = (s+1 )mod2" получите необходимые и достаточные условия на функцию g, обеспечивающие период 2" выходной последовательности. 193
Часть II ОСНОВЫ КРИПТОЛОГИИ Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ Название науки криптологии образовано как составное от двух греческих слов: «crypto^» - тайный и «logos» - слово. В современном понимании предметом криптологии являются отображения информации, используемые для ее защиты от некоторых несанкционированных действий злоумышленника. С самого начала криптологии развивалась как двуединая наука, составляющими которой были, если пользоваться устоявшейся терминологией, криптография и криптографический анализ (коротко - криптоанализ). Криптография - наука о построении отображений информации, используемых с целью ее защиты (такие отображения информации назовем криптографическими), а криптоанализ - наука о методах анализа криптографических отображений информации с целью раскрытия защищаемой информации. 10.1. Задачи криптографии Криптографические отображения применяются для решения следующих основных задач защиты информации: 1. Обеспечения секретности информации, то есть защиты от несанкционированного ознакомления с содержанием. 2. Обеспечения целостности информации, то есть защиты от несанкционированного изменения, к которому относится вставка, удаление и замена фрагментов исходного сообщения. 3. Обеспечения аутентификации информации, то есть подтверждения подлинности сторон, самой информации, времени создания информации и т. д. 4. Обеспечения неотказуемости (невозможности отказа) от авторства. zim^or^h0ii 194
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ Если первая задача является для криптографии традиционной на протяжении нескольких тысячелетий развития человечества, то остальные задачи переместились в область интересов криптографии в XX в. в связи с развитием электронных информационных технологий. Криптографические отображения информации стали использоваться в электронном документообороте, для защиты электронных платежей, коммерческих сделок и др. Рассмотрим систему понятий криптологии, используемых при рассмотрении задач защиты информации. 10.2. Основные понятия криптологии Шифром называется семейство Е обратимых криптографических отображений информации. С каждым отображением шифра связано значение к некоторого параметра, называемого ключом, то есть Е={Е,},кеК, где К - конечное множество допустимых значений ключа, называемое ключевым множеством. Выбранный ключ к однозначно определяет отображение Ек из семейства шифра Е. Практическое использование ключа подразумевает реализацию так называемого жизненного цикла ключа, то есть выполнение таких действий с ключом, как генерация, распределение (рассылка), хранение, применение при реализации отображений шифра, смена, уничтожение. Информацию, гюдвергаюшуюся отображениям шифра, называют открытым текстом. Применение отображения шифра к открытому тексту называется шифрованием (зашифрованием). Результат шифрования открытого текста называется шифрованным текстом или криптограммой. Если обозначить через л и Y* множество открытых и шифрованных текстов соответственно, то шифр можно рассматривать как семейство Е отображений множества лхК в множество Y*. Обратимость отображений шифра обеспечивает возможность восстановления открытого текста по шифрованному тексту. Применение 195
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ „„ „ „ „ К криптограмме обратного отображения с использованием известного ключа называется рас1пифрованием. При расшифровании реализуется отображение множества F хА' в множество X. Использование шифра для решения той или иной криптографической задачи подразумевает наличие соответствующих действуюш,их лиц (например, абонентов, использующих секретную связь) и определенного порядка их взаимодействия, называемого криптографическим протоколом. Семейство отображений шифра в совокупности с используемыми протоколами образуют криптосистему или шифрсистему. Ключевое множество и ключевые протоколы (то есть протоколы, управляющие жизненным циклом ключей) образуют ключевую систему шифра. Раскрытие криптоаналитиком информации, защищаемой шифром, называют дешифрованием (при этом ключ для расшифрования криптоаналитику неизвестен, то есть неизвестно, какое именно отображение следует использовать для расшифрования). Разработанный криптоаналитиком способ раскрытия шифра или информации, защищаемой шифром, называют криптоаналитической атакой. Способность шифрсистемы противостоять атакам криптоаналити- ка получила название криптографической стойкости шифрсистемы. Стойкая криптосистема обеспечивает защиту информации в течение длительного времени, несмотря на усилия противника, располагающего значительными материальными, интеллектуальными и вычислительными ресурсами. Это означает, что стойкая шифрси- стема должна базироваться на шифре, состоящем из большого числа различных отображений, иначе тотальным перебором отображений расшифрования секретная информация может быть раскрыта. Кроме того, стойкий шифр должен быть устроен так, чтобы дешифрование всех (или почти всех) криптограмм представляло для «взломщика» шифра трудоемкую задачу, не решаемую с использованием самых передовых современных технологий в течение практически приемлемого временного периода. 196
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ 10.3. Симметричные и асимметричные шифрсистемы По принципам шифрования шифрсистемы разделяются на системы с секретным и с открытым ключом. Системы с секретным ключом используются уже на гфотяжении нескольких тысячелетий до настоящего времени и основаны на классическом принципе обеспечения секретности информации: секретности используемого ключа для всех, кроме лиц, допущенных к информации. Такие шифрсистемы называют также симметричными в связи с тем, что ключи, используемые в них для шифрования и расшифрования, обладают определенной симметрией (часто они совпадают). Защита информации с помощью симметричных систем обеспечивается секретностью ключа. Системы с открытым ключом предложены Диффи и Хеллманом в 1975 г. и уже нашли активное применение. Другое их название - асимметричные системы, так как в них ключи шифрования и расшифрования не связаны отношением симметрии или равенства. Ключ шифрования может быть открытым, известным для всех, но расшифровать сообщение может только обладатель секретного ключа расшифрования, который во избежание путаницы с ключом симметричной системы обычно называют закрытым ключом. Вычисление ключа расшифрования по ключу шифрования, то есть раскрытие шифра, увязано с решением некоторых математических задач, характеризуемых высокой сложностью решения. В качестве таких задач фигурируют, например, задачи поиска делителей большого натурального числа и определения логарифма элементов конечного поля большого порядка (см. прил. 8 и 9). Общепризнанное преимущество симметричных систем заключается в более высокой скорости шифрования, в меньших размерах используемого ключа и в более основательных гарантиях обеспечения криптографической стойкости. Однако асимметричные криптосистемы используют более удобные протоколы, в част1юсти для решения таких важных задач, как аутентификация информации, распределение ключей между пользователями. Поэтому для защиты информации могут использоваться гибридные шифрсистемы, 197
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ В которых сочетаются принципы как симметричных, так и асимметричных систем. Конкретные рекомендации по построению гибридных шифрсистем обсуждаются при рассмотрении криптографических протоколов. 10.4. Понятие о криптографических протоколах Установленная последовательность действий, выполняемых для решения какой-либо криптографической задачи, называется криптографическим протоколом. Криптографические протоколы являются важной составной частью криптографической системы. Возможны ситуации, когда задачи обеспечения безопасности информации не решаются из-за наличия слабостей в протоколе, несмотря на использование подходящих криптографических отображений. Основное отличие протокола от алгоритма состоит в том, что реализация алгоритма предполагает активные действия одного субъекта, в то время как протокол реализуется в ходе взаимодействия нескольких субъектов (сторон протокола). Каждое действие криптографического протокола по содержанию представляет собой либо вычисления, выполняемые действующими субъектами протокола, либо рассылку сообщений между ними. Условия криптографической задачи определяют особенности соответствующего протокола. Если взаимодействующие стороны доверяют друг другу и готовы совместно решать криптографическую задачу, то в этом случае используются протоколы без посредника, называемые двусторонними протоколами. Если между сторонами могут возникать разногласия или им требуется поддержка третьей стороны, то используются протоколы с посредником (незаинтересованной доверенной стороной), которые называют трехсторонними протоколами. Задача посредника - обеспечить исполнение всех этапов протокола, вплоть до его завершения. Существуют и протоколы с арбитром, где под арбитром понимается посредник особого типа; он не обязательно участвует в ис- 198
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ полнении каждого протокола, он приглашается только для проверки корректности выполнения протокола. Наиболее привлекательная разновидность протоколов - самодостаточные протоколы, конструкция которых обеспечивает контроль за верным исполнением протокола. Такие протоколы имеются далеко не для каждой задачи. Атаки на протоколы со стороны противника могут быть направлены как против криптографических алгоритмов, используемых в протоколах, так и против самих протоколов. Такие атаки можно разделить на пассивные и активные. Во время пассивной атаки противник ограничивается наблюдением за действиями сторон протокола и пытается извлечь из наблюдений полезную для себя информацию, не вмешиваясь в реализацию протокола. При активной атаке на криптохрафический протокол противник допускает видоизменение протокола в своих интересах, которое может выражаться в том, что им вводятся в протокол новые сообщения, удаляются из протокола «законные» сообщения, производится подмена одних сообщений другими, выводится из строя канал связи или память, в которой хранится информация. Атакующий может быть не только посторонним лицом, но и «штатным» участником протокола, при этом противник может представлять собой группу лиц, находящихся в сговоре. 10.5. Организация секретной связи, задачи криптоаналитика Рассмотрим сначала организацию секретной связи с использованием симметричной криптосистемы. Действующими лицами протокола являются отправитель, адресат, пассивный противник, активный противник и др. Задача протокола - передать секретное сообщение X от отправителя адресату. Последовательность действий выглядит следующим образом: 1. Отправитель и адресат договариваются об используемой симметричной криптосистеме, то есть о семействе отображений Е={Е,},кеК. 199
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 2. Отправитель и адресат договариваются о секретном ключе связи к, то есть об используемом отображении Е^еЕ. 3. Отправитель шифрует открытый текст X с помощью отображения Ek, то есть создает криптограмму Y = E/dX). 4. Криптограмма Y передается по линии связи адресату. 5. Адресат расшифровывает криптограмму Y, используя тот же ключ к и отображение Е^'^, обратное к отображению Ек, и читает сообщение X: Х = Ек-\¥). Поясним важные особенности рассматриваемого протокола с помощью схемы (рис. 10.1). Адресат Шифратор шифрование Линия связи, vY Y Шифратор расшифрование Криптоаналитик а: к Рис. 10.1. Схема секретной связи двух абонентов с использованием симметричной криптосистемы Шаг 2 протокола реализуется либо с помощью посредника, третьей стороны, которую можно условно назвать центром генерации и распределения ключей (ЦГРК), либо функции ЦГРК возлагаются на абонентов. В первом случае криптографический протокол шифр- связи называют трехсторонним, а во втором случае - двусторонним. Существенной особенностью протокола является секретность ключа к, который передается отправителю и адресату либо в открытом виде по каналу связи, защищенному от действий криптоаналити- ка, либо в ишфрованном виде по линии связи. Защищенный канал 200
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ СВЯЗИ может иметь относительно невысокую пропускную способность, но должен надежно защищать ключевую информацию от несанкционированного доступа. Ключ должен оставаться в секрете до, во время и после реализации протокола, иначе злоумышленник, завладев ключом, может расшифровать криптограмму и прочитать сообщение. Отправитель и адресат могут выполнить шаг 1 протокола публично (секретность шифрсистемы необязательна), но шаг 2 они должны выполнить секретно (секретность ключа обязательна). Такая необходимость вызвана тем, что линии связи, в особенности протяженные, уязвимы с точки зрения вмешательства пассивного и активного противников. Пассивный противник (криптоаналитик), желая получить доступ к сообщению X, контролирует линию связи на шаге 4 протокола. Не вмешиваясь в реализацию протокола, он перехватывает криптограмму Y с целью раскрытия шифра. Разрабатывая криптосистему, криптограф обычно исходит из следующих предположений о возможностях криптоаналитика *: 1) криптоаналитик контролирует линию связи; 2) криптоаналитику известно устройство семейства Е отображений шифра; 3) криптоаналитику неизвестен ключ к, то есть неизвестно отображение Ек, использованное для получения криптограммы Y. В этих условиях криптоаналитик пытается решить следующие задачи, называемые задачами дешифрования: 1. Определить открытый текст X и использованный ключ к по перехваченной криптограмме Y, то есть построить алгоритм дешифрования v|/ такой, что У|/(У) = (Х,к). Данная постановка задачи предполагает использование криптоа- налитиком статистических свойств открытого текста. Основные правила противостояния криптографа и криптоаналитика были сформулированы еще в конце XIXв. преподавателем немецкого языка в Париже гол- "ондцем Керкхоффсом в книге «La Ciyptographie militare». 201
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 2. Определить использованный ключ к по известным открытому и шифрованному текстам, то есть построить алгоритм дешифрования ф такой, что ц>(Х,¥) = к. Такая постановка задачи имеет смысл, когда криптоаналитик перехватил несколько криптограмм, полученных с использованием ключа к, и располагает открытыми текстами не для всех перехваченных криптограмм. В этом случае, решив задачу дешифрования второго типа, он «прочтет» все открытые тексты, зашифрованные с использованием ключа к. 3. Определить используемый ключ к по специально подобранному открытому тексту X и по соответствующему шифрованному тексту Y, то есть построить алгоритм дешифрования фл-, такой что ЫУ) = к. Подобная постановка задачи возникает тогда, когда криптоаналитик имеет возможность тестирования криптосистемы, то есть генерирования криптограммы для специально подобранного открытого текста. Чаще такая возможность возникает при анализе асимметричных систем. Имеется разновидность этой задачи дешифрования, когда используется специально подобранный шифртекст. Дешифровальные задачи первого типа отличаются более высокой вычислительной сложностью по сравнению с задачами второго и третьего типа. Наименьшую вычислительную сложность имеют задачи тестирования. Активный противник нарушает реализацию протокола. Он может прервать связь на шаге 4, полагая, что отправитель не сможет больше ничего сообщить адресату. Он может также перехватить сообщение и заменить его своим собственным. Если бы активный противник узнал ключ (контролируя шаг 2 или проникнув в криптосистему), он мог бы зашифровать свое сообщение и отправить его адресату вместо перехваченного сообщения, что не вызва]ю бы у последнего никаких подозрений. Если активный противник не знает юхюча, то он может создать лишь такое шифрованное сообщение, которое при 202
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДА ЧИ КРИПТОЛОГИИ расшифровании превращается в случайную последовательность символов. Рассмотренный протокол подразумевает взаимное доверие отправителя, адресата и третьей стороны в лице ЦГРК. Это является слабостью данного протокола, так как не всегда можно исключить взаимный обман действующих лиц протокола. Впрочем, абсолютных гарантий безупречности того или иного протокола не существует, так как выполнение любого протокола связано с участием людей и зависит, в частности, от надежности действующих лиц протокола. Таким образом, по организации секретной связи с использованием симметричной криптосистемы можно сделать следующие выводы; 1. Протокол должен защищать открытый текст и ключ от несанкционированного доступа постороннего лица на всех этапах передачи информации от источника к получателю сообщений. Секретность ключа более важна, чем секретность нескольких сообщений, шифруемых на этом ключе. Если ключ скомпрометирован (украден, угадан, раскрыт, выкуплен), тогда противник, имеющий ключ, может расшифровать все сообщения, зашифрованные на этом ключе. Кроме того, противник сможет имитировать одну из переговаривающихся сторон и генерировать фальшивые сообщения с целью ввести в заблуждение другую сторону. При частой смене ключей эта проблема сводится к минимуму. 2. Протокол не должен допускать выхода в линию связи «лишней» информации, предоставляющей криптоаналитику противника дополнительные возможности дешифрования криптограмм. Протокол должен защищать информацию не только от посторонних лиц, но и от взаимного обмана действующих лиц протокола. 3. Если допустить, что каждая пара пользователей сети связи применяет отдельный ключ, то число необходимых ключей равно п(п-1)/2 для п пользователей. Это означает, что при большом п генерация, хранение и распределение ключей становится трудоемкой проблемой. Рассмотрим теперь организацию секретной связи с использованием асимметричной криптосистемы. Последовательность действий Выглядит следующим образом: 203
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 1. Отправитель и адресат договариваются об используемой асимметричной криптосистеме. 2. Адресат высылает отправителю открытый ключ к. 3. Отправитель шифрует открытый текст X с помощью открытого ключа к, то есть создает криптограмму Y = ^^(^О- 4. Криптограмма Y передается по линии связи адресату. 5. Адресат расшифровывает криптограмму Y, используя закрытый ключ Z, и читает сообщение X: X = EJJ). Несомненно, данный протокол защищает сообщение Х\ пассивный противник может перехватить открытый ключ к и криптограмму Y, но не может расшифровать сообщение, так как не имеет закрытого ключа. Достоинством протокола является то, что он не требует распределения секретных ключей. В сети связи нередко открытые ключи всех пользователей помещаются в общедоступную базу данных, а закрытые ключи хранятся у пользователей. Это упрощает протокол, так как отправитель сам выполняет шаг 2 протокола, не дожидаясь действия адресата. Адресат не участвует в протоколе до тех пор, пока не соберется прочитать открытое сообщение. На практике алгоритмы с открытым ключом не заменяют симметричных алгоритмов. Как правило, они используются для шифрования не самих сообщений, а ключей или некоторых других «вспомогательных» информационных блоков относительно небольиюй длины. Это вызвано следующими обстоятельствами: 1. Производительность алгоритмов с открытым ключом (скорость шифрования) по крайней мере в 1000 раз уступает производительности симметричных алгоритмов, что ставит их в невыгодное положение при шифровании больших объемов информации. 2. Криптосистемы с открытым ключом уязвимы к атакам на основе подобранного открытого текста, особенно когда число вариантов блока открытого текста ограничено и допустим перебор этих вариантов. Поэтому наиболее выгодным представляется протокол секретной связи с использованием гибридной криптосистемы, в котором асимметричный алгоритм используется для засекречивания и распределе- 204
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ ния ключей связи, а алгоритм с секретным ключом связи используется для защиты данных. Кроме того, такой протокол допускает уничтожение секретного сеансового ключа сразу после завершения сеанса, что резко снижает опасность его компрометации. 10.6. Обеспечение целостности сообщений Одним из центральных понятий криптографии с открытым ключом является однонаправленная функция, то есть функция/, зна- чение/(х) которой легко вычисляется для любого элемента х области определения, а вычисление по значению /(х) его прообраза х трудоемко. Например, можно легко выполнить вычисление в конечном поле Р значения функции а' при заданном аеР, а вычисление логарифма для элемента поля Р требует более значительных трудозатрат. Однонаправленная функция с потайным входом (или с ключом) зависит не только от х, но и от некоторого параметра к. Вычисление прообраза по значению такой функции может быть реализовано легко лишь при известном параметре к. Хеш-функция - это отображение множества U Х'" во множест- 1>т ВО ^"^ (здесь X - конечное м1южество, т - натуральное, обычно / значительно больше т), то есть отображение последовательностей длины не меньше т в последовательности длины т. Значение хеш- функции называют сверткой. Хеш-функции используются в криптографии для проверки идентичности двух последовательностей путем сравнения их сверток. Такая проверка не является абсолютно достоверной, но может быть выполнена с приемлемой точностью. Особый интерес представляют однонаправленные хеш-функции, для которых практически невозможно восстановить входную последовательность по ее свертке. Кроме того, хороши те однонаправленные хеш-функции, которые свободны от коллизий, то есть не допускают простого построения двух разных последовательностей, имеющих одинаковые свертки. Используемые в криптографических приложениях хеш-функции, реализуют совершенное отображение (осуществляют полное пере- 205
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ мешивание), поэтому изменение хотя бы одного бита в сообщении (исходной последовательности) приводит к изменению в среднем половины битов свертки. Если требуется проверить наличие у кого-либо файла, имеющегося у вас, то достаточно получить свертку этого файла и сравнить ее со сверткой, вычисленной вами. Если нужно, чтобы проверка была доступна только определенному лицу, то используется хеш-функция с добавлением закрытого ключа или блочный шифр с секретным ключом. Для вычисления свертки, называемой в этом случае имитовставкой или кодом проверки подлинности сообщения (англ. аббревиат)фа MAC), нужно знать ключ. Хеш-функция без использования ключа (американский стандарт - Secure Hash Standard) описана в прил. 7. 10.7. Цифровая подпись Цифровая подпись, как и традиционная подпись от руки, предназначена для аутентификации информации и обеспечения неотказуе- мости от авторства. Подпись от руки, поставленная на документе, издавна рассматривалась как доказательство авторства или согласия с содержимым документа. Считается, что подпись обладает следующими свойствами: 1. Подпись неповторима, ибо она свидетельствует, какое именно лицо намеренно подписало документ. 2. Подпись подлинна, ибо она убеждает, что именно это лицо подписало документ. 3. Подпись не используется многократно, так как она - часть документа, ее нельзя переместить на другие документы. 4. Подписанный документ не подлежит изменениям. 5. От подписи в дальнейшем нельзя отказаться. В действительности эти «заповеди» могут нарушаться, хотя «нарушитель» рискует быть обнаруженным. Рассмотрим использующий симметричную криптосистему протокол цифровой подписи с посредником, лицом, заслуживающим безусловного доверия сторон. 206
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДА ЧИ КРИПТОЛОГИИ Пусть отправитель А хочет подписать цифровое сообщение и послать его адресату Б. Используя симметричный шифр Е = {Ек}, оя может это сделать с помощью посредника, имеющего ключ ki для секретной связи с отправителем А и ключ kj для секретной связи с адресатом Б. Эти ключи должны быть установлены заранее до начала протокола и могут использоваться многократно для нескольких подписей. Изложим протокол по шагам. 1. Отправитель А шифрует с использованием ключа ki сообщение а для адресата Б и отправляет криптограмму b посреднику, где 2. Посредник расшифровывает криптох-рамму Ь, используя ключ ki: E:l{b) = a. 3. Посредник формирует блок информации /д = [а,Ь,рА], состоящий из расшифрованного сообщения а, копии криптограммы b и ин- формацио1шого блока рл, подтверждающего, что сообщение исходило от А (идентификатор абонента А). Используя ключ kj, он шифрует блок /д и посылает криптограмму с получателю Б, где 4. Б расшифровывает криптограмму с, используя ключ kj: Kli(^) = h = \.а,Ь,рл]- Теперь он может прочесть сообщение а и сертификат посредника Рл о том, что его отправил А. К достоинствам протокола следует отнести следующее: 1. Только посредник и отправитель А совместно владеют секретным ключом к\, поэтому только А мог отправить посреднику сообщение, зашифрованное ключом к\ {подпись не подделывается) и подтверждение посредником этой подписи достоверно. Если активный противник попытается выдать себя за отправителя А, посредник обнаружит это на шаге 2 и не отправит сообщение адресату Б. 207
е. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ 2. Эта подпись не тиражируется и подписанный документ неизменяем. Если бы Б попытался сертификат посредника рл объединить с ложным сообщением а', то есть заявить, что он получил блок с сообщением а' и сертификатом ра, то посредник обнаружил бы это несоответствие. Он запросил бы у Б это ложное сообщение а' и криптограмму Ь. Зашифровав ложное сообщение а' на ключе к\, посредник обнаружил бы, что Е^ (а')фЬ, то есть вычисленная криптограмма не совпадает с криптограммой h, которую ему прислал Б. Естественно, Б не мог бы предъявить криптограмму Ь', которая согласуется с а', потому что он не знает ключа ki. 3. От этой подписи нельзя отречься. Если отправитель А позднее заявит, что он не посылал сообщение а, то сертификат посредника р^ вкупе с сообщением а, храняпщеся у Б, засвидетельствуют обратное. Таким образом, данный протокол устраняет недостатки, присущие традиционной подписи на бумажном документе. Рассмотрим еще один протокол с участием посредника, задача которого - обеспечить предъявление получателем Б третьему лицу В подписанного документа а, полученного им от отправителя А. 1. Б объединяет в блок / = [а,р^] полученное сообщение а с сертификатом посредника ра и шифрует блок / на ключе kj, после этого Б посылает криптограмму w посреднику (для пересылки третьему лицу В). 2. Посредник, используя ключ kj, расшифровывает криптограмму w: e;1{w) = i. 3. Посредник шифрует блок / на секретном ключе к^,, используемом для связи с 5, и посылает В криптограмму v. 4. В расшифровывает криптограмму v, используя кт,: E;1(v) = 1 =[а,рЛ. 208
Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ Теперь В может прочесть и сообщение а и сертификат посредника Ра, свидетельствующий, что его послал А. Эти протоколы в принципе выполнимы, но они требуют высоко- проИЗВОДИ! ельной и безошибочной работы посредника. Он должен постоянно расшифровывать и зашифровывать сообщения между каждой парой абонентов, желающих отправить друг другу подписанный документ. Посредник является узким местом в такой системе связи, даже если он - бездушная компьютерная программа. Посредник должен быть непогрешим, ибо даже единственная ошибка в миллионе подписей подрывает доверие к нему. Кроме того, он должен работать в полной безопасности. Если его база данных по секретным ключам станет доступной злоумышленнику или кто-то исказит его ключи, функционирование системы будет нарушено. Этот протокол хорош скорее в теории, чем на практике. Рассмотрим более практичные протоколы цифровой подписи, использующие асимметричные криптосистемы. В некоторых системах с открытым ключом, например в криптосистемах Эль Гамаля (см. прил. 10) и RSA, создание цифровой подписи равносильно зашифрованию документа закрытым ключом. В таком случае каждый может воспользоваться открытым ключом для расшифрования и тем самым проверить достоверность подписи. Такой протокол отвечает всем требованиям подписи и не нуждается в посреднике. Вместе с тем требуются некоторые усложнения этого протокола, чтобы устранить определенные возможные слабости подписанного документа. Подписание больших документов посредством их шифрования асимметричным алгоритмом неэффективно в силу невысокой скорости шифрования. Поэтому лучше подписывать не сам документ, а его свертку, полученную с использованием однонаправленной хеш- функции. Получателю отправляется документ и его подписанная свертка. Важно использовать именно однонаправленную хеш-функцию, чтобы свести к минимуму риск подмены истинного документа ложным документом, имеющим такую же свертку. Удобство данного варианта протокола состоит и в том, что хранение подписи требует меньше памяти и может осуществляться отдельно от хранения документа. 209
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Чтобы злоумышленник не смог воспользоваться многократно подписанным документом (например, денежным переводом), предназначенным для разового использования, в документ следует добавить информационный блок, где зафиксированы время и дата подписания документа, так называемая метка времени. Кроме того, метка времени на документе снижает риск отказа автора от своей подписи (если подписавший заявит, что у него украден закрытый ключ и документ подписан не им). Соответствующий протокол с посредником предусматривает следующие шаги: 1. А подписывает сообщение. 2. А генерирует заголовок, содержащий идентификационную информацию, затем добавляет заголовок к подписанному сообщению, подписывает все вместе и отправляет посреднику. 3. Посредник проверяет подлинность наружной подписи и подтверждает идентификационную информацию. Далее он проставляет метку времени на сообщении и на идентификационной информации. Затем он подписывает весь пакет и отсылает его как автору подписи А, так и адресату Б. 4. Б проверяет подлинность подписи посредника, идентификационную информацию и подлинность подписи А. 5. А проверяет подлинность сообщения, которое посредник послал Б. Если А не признает своего авторства, он немедленно заявляет об этом. Заметим, что важным вопросом является защита базы открытых ключей, которая должна быть всем доступна. Один из вариантов защиты предусматривает использование посредника в лице центра распределения ключей (ЦРК), который подписывает каждый открытый ключ своим закрытым ключом. Такой протокол работает хорошо, если обеспечена защита открытого ключа ЦРК. 210
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА Устройство ключевой системы является одним из определяющих факторов для криптографической стойкости шифрсистемы. При этом важны оба компонента ключевой системы: строение ключевого множества шифра, а также процедуры и протоколы, управляющие всеми этапами жизненного цикла ключей. 11,1. Строение и порядок ключевого множества в качестве ключа может использоваться либо часть входных данных отображений шифра, либо функциональные элементы, использованные при построении отображений шифра, либо сочетание множеств обоих указанных типов. Всевозможные допустимые значения ключа образуют ключевое множество. Некоторые ключевые множества неоднородны, обладают определенными структурными свойствами. Например, ключевое множество К может иметь вид: K = KixK2, где Ki - множество сеансовых или разовых ключей (действующих в течение одного сеанса связи). Кг - множество структурных ключей (функциональных элементов алгоритма шифрования) или долговременных ключей (действующих в течение длительного периода времени). В некоторых протоколах распределения ключей используется другое разделение множества ключей по функциональному назначению: сеансовые ключи (для шифрования сообщения), ключи пересылки (для шифрования сеансовых ключей), главные ключи (для хранения в шифрованном виде ключей пересылки) и т. д. Одной из основных характеристик ключевого множества является его порядок, то есть число различных ключей, образующих ключевое множество. Важной характеристикой ключа является его размер, под которым обычно понимается длина слова в некотором алфавите. Кодирующего значение ключа. Порядок ключевого множества непосредственно связан с размером образующих его ключей.
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Например, если ключевое множество есть V„, то ключ keV„ называют бинарным и размер его равен числу п координат соответствующего двоичного вектора. Порядок ключевого множества в этом случае равен 2". Если ключом является перестановка координат и-мерных векторов, то такой ключ часто называют коммутаторным и размер его равен длине записи перестановки, то есть равен п. Порядок ключевого множества в этом случае равен и!. Размер ключа должен быть достаточно велик, чтобы вскрытие шифра перебором всех ключей было непосильно для противника в приемлемое время. При этом необходимо учитывать )фовень секретности защищаемой информации, необходимый срок сохранения ее в секрете и возможности криптоаналитика противника, в частности его вычислительные мощности. С другой стороны, завышенный размер ключа может негативно сказаться на удобстве, надежности и стоимости работы с ключами шифра. Поэтому определение криптографом размера ключа при разработке шифрсистемы - это компромисс противоположных факторов. При обсуждении в криптографической литературе приемлемых длин ключей приводятся следующие приблизительные оценки [38]. При использовании симметричной шифрсистемы с бинарным ключом для защиты информации с высоким )фовнем секретности рекомендуемая длина ключа составляет не менее 128 бит. Для шифрси- стем с открытым ключом эта оценка выше по крайней мере в 10 раз. Если )фовень секретности защищаемой информации не самый высокий, то длина ключа может быть сокращена, но не более чем на 50 %. 11.2. Вероятностная модель ключевого множества Вероятностная модель ключевого множества используется крип- тоаналитиком для анализа статистических свойств криптосистемы. Вероятностная модель определяется, в частности, заданием вероятностного распределения на ключевом множестве, которое рассматривается как пространство элементарных событий. Каждому ключу кеК ставится в соответствие вероятность р^ его использования для 212
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА зашифрования либо какого-то конкретного, либо случайного открытого текста. При этом J] р^ = I. В наиболее естественной и часто принимаемой криптоаналитиком моделрмхредполагается, что ключи для шифрования выбираются независимо от открытых текстов и обладают хорошими статистическими свойствами, то есть: 1) для очередного периода эксплуатации (сеанса, суток, и т.д.) каждый ключ выбирается случайно равновероятно из ключевого множества К, то есть р^ = 1/\Щ для любого кеК; 2) при смене ключей новый ключ выбирается независимо от предыдущих. 11.3. Генерация ключей Важнейшей характеристикой ключа является его случайность. Наличие закономерностей как в отдельном ключе, так и в ключевом массиве приводит к неявному уменьшению порядка ключевого множества и, следовательно, к понижению криптографической стойкости шифра. Например, если шифрсистема использует 8-байтовый бинарный ключ и генерация ключа допускает любое из всевозможных значений ключа, то порядок ключевого множества равен 2^. Если же ключ составлен из восьми символов кода A5CII, то порядок ключевого множества сокращается до 2'' . То есть полный перебор ключей требует вычислительных затрат в 10 млн. раз меньше, чем в первом случае. Использование в качестве ключей осмысленных слов и выражений также приводит к сокращению порядка ключевого множества. Перебор таких ключей называется атакой по словарю. Качество ключей с точки зрения случайности определяют свойства генератора ключей. Для симметричных криптосистем хорошими ключами можно считать строки случайных битов, полученные с помощью физических генераторов РРСП (см. гл. 7), а также строки случайных битов, полученные с помощью программных генераторов, если они взяты из последовательностей, которые при статистическом тестировании признаются случайными. 213
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Генерация ключей для асимметричных криптосистем сложнее, так как ключи должны иметь определенные теоретико-числовые свойства, например быть простыми числами. В качестве программных генераторов ключей можно использовать блочные шифры. Например, американский стандарт генерации ключей ANSI Х9.17 реализуется криптографическим алгоритмом, построенным на основе схемы «тройного DES»* (см. прил. 19.5). 11.4. Обеспечение секретности ключей Важнейшим требованием к ключам является их секретность, что проиллюстрировано в гл. 10 при обсуждении криптографических протоколов. Для обеспечения секретности ключей на различных этапах их жизненного цикла применяются следующие организационные и технические меры: 1) ограничение круга лиц, допущенных к работе с ключами; 2) регламентация распределения, хранения и уничтожения ключей; 3) регламентация порядка смены ключей; 4) применение технических средств защиты ключевой информации от несанкционированного доступа. Рассмотрим некоторые способы реализации этих мер. 11.4.1. Схемы разделения секрета Разделение секрета - это способ распределения долей секретной информации между несколькими пользователями, при котором знание каким-либо лицом любой из долей не позволяет ему восстановить секрет проще, чем перебором всевозможных значений секрета, а совокупность всех долей позволяет однозначно вычислить секрет. Принцип разделения секрета используется в криптографических приложениях, в частности для распределения ключей. * ANSI (American National Standards Institute) - Американский национальный институт стандартов, отвечает за стандартизацию электронного обмена данных, банковского дела и за вопросы безопасности взаимосвязи открытых систем. 214
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА Пусть секретом является бинарный ключ х длины п. Простейшая схема разделения laKoro секрета между т пользователями заключа- ется-а распределении между ними векторов xi,X2,-.-,x„ из V„ таких, что X = ;ei©X2©...©x,„. Действительно, отсутствие хотя бы одной доли приводит к полной неопределенности значения секрета х. И только объединение всех долей позволяет вычислить х. Заметим, что если доверить пользователям значения гь гг,..., г„ координат вектора х, где Г1+Г2+...+г,„ = п, то это не будет разделением секрета (такие схемы иногда называют разбиением секрета), так как каждый пользователь для восстановления секрета может перебрать менее 2" вариантов. Недостаток простейшей схемы разделения секрета заключается в ее невысокой надежности. Если доля одного из пользователей утеряется, то секрет будет невозможно восстановить. В связи с этим введено понятие (п,0-пороговой схемы разделения секрета, l<t<n, которая по определению обладает тем свойством, что любая группа из t пользователей может однозначно восстановить секрет, а всякая группа из меньшего числа пользователей восстановить секрет не может. Примером (п,0-пороговой схемы разделения секрета является схема Шамира. В этой схеме секретом является свободный член «о заранее выбранного многочлена/(х) степени t-l над конечным полем Р большого порядка: 1=0 Выберем для п пользователей соответственно п различных несекретных элементов Г1,Г2,...,г„ поля Р, отличных от нуля. Вычислим для выбранного многочлена /(х) значения Дг,) и распределим между пользователями в качестве долей секрета наборы вида (г„ /(г,)), /= 1,2,...,п. Для восстановления секрета можно воспользоваться интерполяционной формулой Лагранжа, согласно которой многочлен/(х) степени t-l при любых t парах вида (si,f(si)), i = \,2,...,t, где s\,...,Si- попарно различные элементы поля Р, удовлетворяет соотношению 215
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ X-S: /(х)=ЕМ)-П7-7 Так как ао = ДО), то получаем: j*i ^i ^J Числа ГТ—-— известны и не зависят от характеристик мно- гочлена /(х). С помощью последней формулы любая группа из t пользователей может восстановить секрет. В то же время никакая группа из меньшего числа пользователей восстановить секрет не сможет, так как для однозначного определения коэффициентов многочлена степени t-l требуются значения многочлена не менее чем в t точках поля. Удобство схемы Шамира состоит в том, что легко изменяется число пользователей, для этого надо просто добавить к элементам Г1,Г2,...,г„ поля Р новые элементы. Компрометация т долей секрета, l<m<t-l, преобразует (n,t)- пороговую схему Шамира в (п-ш,г-ш)-пороговую схему. Существуют и более изощренные схемы разделения секрета, в которых предусмотрено, в частности, что среди пользователей может оказаться злоумышленник. 11.4.2. Рассылка ключей Традиционный способ рассылки ключей симметричной криптосистемы состоит в использовании курьерской службы. Во время пересылки для ограничения несанкционированного доступа к ключевой документации может использоваться специальная упаковка, обеспечивающая контроль над целостностью ключевого материала и защиту от съема информации злоумышленником. Такой способ трудоемок и дорогостоящ. Альтернативных вариантов имеется несколько. Можно использовать либо какой-нибудь надежный запщщенный канал связи, либо несколько параллельных каналов связи и схему разделения секрета. 216
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА Эффек1т1вной мерой является передача ключа в шифрованном виде при условии, что обеспечена секретность ключа пересылки. При передаче в электронном виде ключи иногда искажаются, что приводит к невозможности их использования. Для обнаружения искажения передаваемого ключа можно использовать предварительное шифрование этим ключом некоторой константы и передачу вместе с ключом нескольких байт полученной криптограммы, выполняющих функцию имитовставки. При обнаружении искажения ключ может быть послан повторно. 11.4.3. Хранение ключей Обеспечение секретности ключа при хранении может быть достигнуто следующими способами: 1) ключ хранится вне компьютера или шифрующего аппарата и каждый раз вводится пользователем через клавиатуру, при этом ответственность за обеспечение секретности ключа и за точность его ввода возлагается на пользователя; 2) ключ, записанный на карточке (с магнитным носителем, с микросхемой ПЗУ, на смарт-карте), передается в компьютер или шифратор через считывающее устройство, при этом ограничен доступ пользователя к ключу и, следовательно, возможность компрометации ключа; 3) секретный ключ разделяется на две части, одна из которых хранится в компьютере, а вторая на карточке, что исключает компрометацию ключа при компрометации одной из его частей; 4) ключ к хранится в памяти компьютера в шифрованном виде и непосредственно перед использованием расшифровывается, при этом секретность ключа, с помощью которого зашифрован к, обеспечивается одним из трех вышеуказанных способов. Отметим удобство сеансового ключа, состоящее в отсутствии необходимости его хранить после использования. Если сеансовый ключ генерируется непосредственно перед сеансом, то проблема хранения отсутствует полностью. Если по каким-либо причинам ключ утерян, например физически уничтожен носитель ключа, то для восстановления работоспособности криптосистемы необходимо предусмотреть механизм восстанов- 217
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ления утерянного ключа. Для этого можно воспользоваться депонированием ключа - хранением копии ключа (лучше в зашифрованном виде) у доверенного лица. Надежность этого метода повы- шаеэся, если используется несколько доверенных лиц и схема разделения секрета. Для депонирования ключей можно использовать смарт-карты, хранящиеся у доверенного лица. 11.4.4. Смена ключей Некоторые криптосистемы предусматривают ежедневную смену ключа. Чтобы избежать ежедневного распределения новых ключей, в некоторых криптосистемах новый ключ ki+i генерируют из предыдущего ключа ki, выполняя вычисления с использованием однонаправленной функции/: ki+i = f(ki), i = 1,2,... Такую процедуру называют обновлением ключа. Секретность обновленного ключа зависит от секретности предыдущих ключей. В случае компрометации ключа необходимо незамедлительно провести его смену и перейти к использованию нового ключа. Компрометация закрытого ключа асимметричной криптосистемы ставит под сомнение законность всех договоров и сделок, заключенных с использованием этого ключа, так как наличие открытого и закрытого ключей позволяет злоумышленнику читать и подписывать сообщения. Если дата компрометации ключа установлена, то ущерб от компрометации можно локализовать, используя метки времени в сообщениях. С целью уменьшения потенциального ущерба от компрометации ключей можно использовать несколько ключей для различных приложений. Например, можно разделить абонентов на группы и для общения с каждой группой использовать различные комплекты ключей. Время «жизни» ключа должно быть ограничено. Чем продолжительнее использование ключа, тем выше вероятность его компрометации и больше соблазн для криптоаналитика заняться его раскрытием, так как раскрытие ключа позволит раскрыть все сообщения, зашифрованные этим ключом. Тем более что наличие больпюго числа сообщений, зашифрованных одним ключом, дает криптоаналитику дополнительный шанс. 218
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА Уничтожение ключей должно носить необратимый характер, чтобы исключить полностью возможность восстановления ключей. Применяется и архивация ключей - сохранение копий ключей, которые в течение некоторого временного периода могут быть востребованы. 11.5. Протоколы обмена ключами Одной из важнейших криптографических задач является задача распределения ключей. Современные способы используют технические каналы связи и реализуются быстрее и удобнее, чем традиционные способы рассылки. Различаются следующие виды протоколов распределения ключей: 1) передача ключа абоненту; 2) совместная выработка абонентами общего ключа (открытое распределение ключей); 3) предварительное распределение ключей. Наряду с передачей ключей нередко возникает необходимость идентифицировать абонентов. 11.5.1. Передача ключей с использованием симметричного шифрования 11.5.1.1. Двусторонние протоколы Пусть абоненты А v. Б используют для связи семейство шифра Е и располагают заранее известным ключом кАв, используемым не для шифрования сообщений, а для пересылки ключевой информации. Передача разового ключа к от А к Б осуществляется с помощью пересылки криптограммы Е{кАБ.Т), полученной зашифрованием открытого текста / с помощью ключа клв, где 1={к,иб), где t - метка времени; б - идентификатор абонента Б. Если не осуществлять передачу метки времени, то злоумышленник сможет позднее повторно передать сообщение. Если не осущест- вля1ь передачу идентификатора б абонента Б, то злоумышленник 219
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ сможет направить данное сообщение по другому адресу, например абоненту^. 2. Для аутентификации сеанса можно использовать следующий протокол, основанный на технике «запрос-ответ». 1-й шаг. Абонент Б генерирует случайное число гд (необходимое для того, чтобы Б убедился, что имеет дело именно с ^) и отправляет его абоненту^. 2-й шаг. Абонент А вычисляет криптограмму Е{кАБ,Т), где / = {к, гб , б), и отправляет ее абоненту Б. 3. Для двусторонней аутентификации сеанса можно использовать следующий протокол, являющийся усилением предыдущего протокола. Пусть кАИ kg- случайные числа (заготовки для совместной выработки сеансового ключа к), сгенерированные абонентами А и Б соответственно. 1-й шаг. Абонент Б генерирует случайное число гд и отправляет его абоненту А (впоследствии А должен предъявить число гд абоненту 5). 2-й шаг. Абонент А генерирует случайное число rj (впоследствии Б должен предъявить число rj абоненту А), вычисляет криптограмму Е{клБ.1), где / = {кк. Га, г б, б), и отправляет ее абоненту Б. Последний расшифровывает криптограмму, и тем самым А предъявляет гд абоненту Б. 3-й шаг. Абонент Б вычисляет криптограмму EikA^J), где J = (кв. Га, Гб, а), и отправляет ее абоненту А (а - идентификатор абонента А). Последний расшифровывает криптограмму, и тем самым Б предъявляет га абоненту А. 4-й шаг. Каждая из сторон вычисляет сеансовый ключ к с помощью некоторой функции/: к=/{кА,кБ). Ни одна из сторон не знает заранее сеансового ключа. 220
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА 4. Бесключевой протокол Шамира. Данный протокол не требует использования заранее известного обоим абонентам ключа. В то же время необходимо, чтобы все преобразования из семейства шифра коммутировали, то есть при любых ключах к\ и к2 из ключевого множества и любом открытом тексте х выполнялось бы E(kuE(k2^)) = E{k2,E{ki^)y В этом случае протокол передачи секретного ключа кот А кБ выглядит так. 1-й шаг. Абонент А случайным образом генерирует сеансовый ключ к и ключ к^ для передачи ключевой информации, после чего вычисляет криптограмму Е(к^,к) и отправляет ее абоненту Б. 2-й шаг. Абонент Б случайным образом генерирует ключ кв для передачи ключевой информации, после чего вычисляет криптограмму E(ks,E(kA,k)) и отправляет ее абоненту А. 3-й шаг. Абонент А расшифровывает полученную на 2-м шаге криптограмму с помощью ключа к^, то есть вычисляет E(k/\E(ks,E((kA,k)) = Е(кБ,(к)), и отправляет это сообщение абоненту Б. 4-й шаг. Абонент Б расшифровывает полученную на 3-м шаге криптограмму с помощью ключа kg, то есть вычисляет сеансовый ключ/:. В этом протоколе не следует использовать некоторые коммутирующие преобразования. Например, в случае гаммирования перехват криптограмм на шагах 1-3 позволяет криптоаналитику беспрепятственно вычислить сеансовый ключ к. Шамир и Омура независимо показали, что этот протокол можно реализовать с использованием преобразования вида Е{кА,к) = rmod/7, 221
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ где р - большое простое число; р-1 имеет большой простой множитель и константа w определяется ключом к^. 5. Одним из важных элементов криптохрафических протоколов является использование модуля безопасности, представляющего собой техническое устройство, позволяющее физически защитить от несанкционированного доступа алгоритм шифрования и ключ. Попытка проникнуть внутрь устройства приводит к необратимому физическому разрушению электронной схемы и информации. Рассмотрим протокол передачи сеансового ключа с использованием модуля безопасности. Пусть ключи симметричной криптосистемы образуют трехуровневую иерархию: сеансовые ключи, ключи передачи для шифрования сеансовых ключей и мастер-ключ хранения для шифрования ключей передачи. Мастер-ключи рассылаются заранее и хранятся в физически защищенном модуле безопасности, так как от них зависит безопасность всей системы. Ключ передачи кр хранится в незащищенном месте, но в зашифрованном виде (с помощью мастер-ключа km): Е, (kp) = s^. При необходимости организации сеанса связи абонент А вводит в модуль безопасности величину Sp, где с помощью мастер-ключа выполняется расшифрование: После этого в модуле сеансовый ключ кс случайным образом генерируется и зашифровывается с помощью ключа передачи и затем отправляется абоненту Б: Абонент Б аналогичным образом вычисляет кр и с его помощью расшифровывает сеансовый ключ. Таким образом, в модуле безопасности ключи обрабатываются в незашифрованной форме, при этом вне области модуля ключи никогда не раскрываются. 222
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА 11.5.1.2. Трехсторонний протокол Действующими лицами протокола являются посредник в лице центра генерации и распределения ключей, абоненты А и Б, которые имеют секретные ключи к] и kz соответственно для связи с ЦГРК. 1. Абонент А вызывает ЦГРК и запрашивает сеансовый ключ, чтобы связаться с Б. 2. ЦГРК генерирует случайный сеансовый ключ к и шифрует две его копии: одну на ключе к], общем с А, а другую - на ключе кг, общем с Б: E^{k) = s^; E^^(k) = s,. Кроме того, ЦГРК шифрует на ключе кг идентификатор рл, подтверждающий подлинность запроса абонента А: ЦГРК посылает А в зашифрованном виде идентификатор рл и обе копии сеансового ключа, то есть посылает ^i и информационный блок [^2,-Уд]- 3. А расшифровывает свою копию сеансового ключа: E;l{s,) = k. 4. А пересылает Б информационный блок [^г^-Уд]- 5. Б расшифровывает свою копию сеансового ключа и идентификатор А: Е^1(^2) = к; e;1{s^) = p^. Б получает ключ и узнает, кто его вызывает для связи. 6. А и Б с помощью сеансового ключа к устанавливают секретную связь. Этот протокол работает, но он требует абсолютной безопасности ЦГРК. Если активный противник подкупит ЦГРК, скомпрометированной окажется вся сеть, обслуживаемая данным ЦГРК. Активный противник завладеет всеми секретными ключами, которые имеются у ЦГРК для совместного использования с каждым абонентом, Он сможет прочесть все сообщения, которые уже прошли в сети и которые 223
в М Фомичев. ДИСКРЕТНАЯ MATEMAJHKA ИКРИПТОЛОГИЯ пройдут В будущем. Для этого ему достаточно контролировать линии связи и расшифровывать перехваченные криптограммы. При большом числе абонентов в сети нагрузка на ЦГРК может оказаться критически высокой. lJ.5.2. Управление ключами в системах с открытым ключом Криптография с открытым ключом упрощает управлеьше ключами но У нее есть свои недостатки. Если абонент А запрашивает открытый ключ абонента Б для связи с ним, то злоумышленник может перехватить этот открытый ключ и подменить его своим ключом. После этого он может общаться с абонентом А, имитируя абонента Б Такая модель действий злоумышленника получила название «активного противника посередине». Для предотвращения подмены ключа используются сертификаты открытых ключей, представляющие собой ключ, подписанный доверенным лицом (в случае централизованного управления ключами - органом сертификации). Заверенный сертификат содержит не только ключ но и информацию о его владельце. Используется и децентрализованное управление ключами, когда ключи подписываются поручителями, выделенными из равноправных пользователей системы. Преимущество такой схемы - в отсутствии необходимости использовать центр сертификации, которому все доверяют, а недостаток - в отсутствии гарантий того что получивший сертификат ключа абонент доверяет поручителям, подписавшим его. 11.5.2Л. Алгоритм Диффи - Хеллмана Для совместной выработки ключа абоненты А и Б выбирают большое простое число п и число g, порождающее подгруппу большого порядка в мультипликативной группе вычетов по модулю п (в лучшем случае g - примитивный корень по модулю л). Эти числа необязательно хранить в секрете. Далее выполняется следующий протокол: ] Абонент А выбирает случайное большое целое число х н посылает Б число X: 224
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА Х= g^modn. 2. Абонент Б выбирает случайное большое целое число у и посылает А число Y: Y = g^modn. 3. Абоненте вычисляет значение: к = Гтос1л. 4. Абонент Б вычисляет значение: к' =X'modn. Очевидно, к = к' и противнику для вычисления общего ключа к необходимо вычислить дискретный логарифм, чтобы определить либо X, либо у. Заметим, что данный протокол уязвим по отношению к атаке «активного противника посередине». Последний может перехватывать сообщения абонентов и имитировать с каждым их них второго абонента. 11.5.2.2. Протокол «станция-станция» Данный протокол противодействует атаке «активного противника посередине». Предполагается, что у А имеется сертифицированный открытый ключ абонента Б, и у Б имеется сертифицированный открытый ключ абонента А. Эти сертификаты подписаны доверенной стороной, не участвующей в протоколе. 1. Абонент А генерирует случайное число х и посылает Б число X: Х= g^modn. 2. Абонент Б генерирует случайное число у и вычисляет общий ключ к в соответствии с протоколом Диффи - Хеллмана: к = X^modn. Далее Б подписывает пару {g^modn, ^modn), затем шифрует подпись с использованием ключа к и посылает А сообщение / (здесь Sb - подпись, Ек - шифрование): / = [g'modn, EkiS^g^modn, g'modn))]. 225
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 3. Абонент А также вычисляет к. Он расшифровывает вторую часть сообщения и проверяет подпись. Затем А посылает Б сообщение У: J = Ek(SA(g''modn, g^modn)). 4. Абонент Б расшифровывает сообщение J и проверяет подпись абонента А. 11.5.3. Предварительное распределение ключей Рассмотрим сеть с п абонентами, в которой каждая пара абонентов использует независимые ключи. Ключевую систему такой сети характеризует матрица ключей К„: K„ = (kis), г>е{1,2,... ,л), где kis - ключ для связи /-го и .у-го абонентов, i^s; кц - пустой символ. Абоненту / для связи с остальными абонентами нужно хранить л-1 ключ (из /-го столбца матрицы К„), а всего в сети используется л(л-1)/2 ключа. Следовательно, при большом л в сети заметно усложняются вопросы изготовления, распределения, хранения и смены ключей. Для уменьшения объема хранимой информации применяются схемы предварительного распределения секретных ключей в сети связи. Суть этих схем в том, что распределяются не сами ключи, а некоторая информация, с использованием которой участники могут самостоятельно вычислить необходимый ключ по заранее оговоренной процедуре. В качестве примера рассмотрим схему распределения ключей Блома. Пусть Р - конечное поле больпюго порядка. Зафиксируем л элементов г\,...,г„ поля Р, соответствующих л абонентам сети. Эти числа не являются секретными и хранятся на общедоступном сервере. Секретным является симметричный многочлен Дх,у) над полем Р степени 2т, \<т<п (то есть Яу = aji при %'): т т Лх,у) = Y^Y^^ijxjj ■ (=0 j~0 lie
Глава 11. КЛЮЧЕВАЯ СИСТЕМА ШИФРА Коэффициенты многочлена Лх,у) хранятся в центре распределения ключей. Каждый абонент А получает в качестве ключевых материалов набор {Oq ,а^ , ..., а^) коэффициентов многочлена Лх,га) = «о + «i'' •х+- ■ •+«т ■^"'■ Для связи абонентов А и Б используется кпюч f{rб, га), легко вычисляемый как А, так и Б с использованием известных чисел гу г,,. При использовании данной схемы каждый абонент хранит т+1 секретное значение вместо л-1, а общее число секретных коэффициентов многочлена J{x,y) равно т-(т + \)/2 вместо п-(п-\)/2. 11.5.4. Зависимость протоколов от архитектуры сети Ключевые протоколы должны строиться с учетом особенностей архитектуры сети связи, в которой они будут использоваться. Рассмотрим сеть связи, в которой А отводятся функции руководителя, а всем остальным {Б, В и другим) функции подчиненных. Пусть А использует эту сеть для передачи своим подчиненным общих приказов, распоряжений, указаний и т. п. При этом А зашифровывает сообщение на ключе к, общем для всей сети, и отправляет каждому подчиненному по одному экземпляру шифрованного сообщения. Криптоаналитик, контролируя сеть и перехватывая криптограммы, получает для криптоанализа столько же материала, сколько он имел бы, контролируя только линию связи А с Б, так как все криптограммы в сети идентичны. Если бы А для связи с п подчиненными использовал п различных ключей, то криптоаналитик, контролируя сеть, имел бы для дешифрования сообщения больше материала, чем при едином ключе. Если сеть построена для связи п абонентов, общающихся по принципу «каждый с каждым», то использовать один и тот же ключ для всех пар абонентов - это самый дешевый и простой способ с точки зрения изготовления, распределения и смены ключей. В то же время, это самый слабый способ с точки зрения устойчивости функционирования ключевой системы. Ведь если ключ 227
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ скомпрометирован только в одном абонентском пункте, то скомпрометирована вся сеть. Поэтому важнейшей характеристикой ключевой системы является ее устойчивость к компрометациям. Говорят, что ключевая система, работоспособность которой обеспечивается с помощью N ключей, выдерживает г компрометации, r<N, если компрометация г ключей не облегчает задачу определения остальных N-r ключей. Сеть из п абонентов, общающихся по принципу «каждый с каждым», имеет наилучшую устойчивость к компрометациям, если для связи различных пар абонентов используются независимые ключи. Такая сеть выдерживает компрометацию всех ключей любых л-2 абонентов. Сеть из п абонентов, использующая схему распределения ключей Блома, выдерживает компрометацию всех ключей любых т абонентов. Для упрощения вопросов управления ключами можно п абонентов организовать с помощью сети, наделенной иерархией. Пусть п абонентов сети разделены на т зон (примерно поровну), в каждой из которых выделен один абонент, называемый начальником зоны. Внутри зоны связь абонентов организована по принципу «каждый с каждым», такой же сетью связаны и начальники всех зон. Абоненты разных зон связываются друг с другом через своих начальников, которые в таких случаях выполняют функции ЦГРК. В такой сети каждый «рядовой» абонент хранит ключи только для связи с абонентами своей зоны, то есть порядка п/т ключей, а начальник зоны хранит еще и ключи для связи с начальниками других зон, то есть порядка т+п/т ключей. При этом протокол связи между абонентами разных зон несколько усложняется. Очевидно, такая сеть является компромиссом между сетью, где каждый с каждым общается напрямую, и сетью, где каждый с каждым общается посредством ЦГРК. 228
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ Исследование криптографических свойств шифрсистемы подразумевает исследование математических моделей всех ее компонентов: отображений шифра, используемых протоколов, а также открытых и шифрованных текстов, связанных с функционированием шифрсистемы. Рассмотрим математические модели открытых текстов, иначе говоря, модели источников открытых сообщений (ИОС). 12.1. Характеристики открытых текстов Как шифрованный, так и открытый текст представляют собой последовательности символов, взятых из конечного набора, называемого алфавитом. Элемент алфавита называется буквой. Число символов алфавита называется мощностью алфавита. Приведем примеры алфавитов на основе английского языка. 1. Ai - алфавит прописных букв, |Ai| = 26: 2. Ai - прописные и строчные буквы, целые числа, пробел и знаки препинания (мощность алфавита « равна 70): a,b,c, ...,x,Y,z, О, 1,2,..., 9, пробел, зпт, тчк,:,;, ", ?, !. 3. Лз-элементы множества {0,1}. В основном используются производные от Лз алфавиты, совпадающие со множеством V,, двоичных л-мерных векторов. Мощность таких алфавитов равна 2", и, как правило, 5<л<8. Широко используемыми алфавитами, элементы которых есть двоичные векторы, являются коды A5CII и МТК-2. Часто в процессе шифрования над символами алфавита производятся вычислительные действия, поэтому их удобью представлять ^И^ЮГгПИОИ 229
в. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА ИКРИПТОЛОГИЯ В виде чисел или двоичных наборов. Рассмотрим в качестве алфавита мощности т кольцо Z,„вычетов по модулю w: Z^ = {0,1,2 т-1}. Всякий текст, записанный в некотором алфавите, имеет длину, равную числу букв в соответствующей записи. Последовательность к соседних букв текста, к>2, называется к-тряммой (при к = 2- биграммой и т. д.). Помимо алфавитаZ„„ могут рассматриваться производные от него алфавиты Z ,, представляющие собой набор всевозможных к-трамм исходного алфавита. Модели открытых текстов разделяются на два класса: детерминированные и вероятностные. 12.2. Детерминированные модели Источники открытых сообщений многообразны. В качестве ИОС можно рассматривать отдельного человека или группу людей, радиостанции, пункты телеграфной и телефонной сети и т. д. Каждый источник открытого текста характеризуется: 1) одним или несколькими языками общения; 2) набором используемых алфавитов; 3) определенной тематикой генерируемых сообщений; 4) частотными характеристиками сообщений и др. Например, сообщения на английском языке, передаваемые по телетайпу или набранные на пишущей машинке, скорее всего используют алфавит Лг. Частный корреспондент, намеревающийся шифровать свои сообщения, во многих случаях предпочтет использовать алфавит А\. Даьшые, обрабатываемые в компьютерных сетях, удобнее отображать с использованием алфавита V,,. Каждый ИОС порождает тексты в соответствии с правилами грамматики некоторого языка, что находит отражение и в статистических характеристиках сообщений. Например, в текстах на английском языке за буквой q всегда следует буква и, в русских текстах буквы ьиъ никогда не соседствуют и не следуют за гласными буквами. Вообще всякий язык и всякий ИОС можно характеризовать разбиением мьюжества всех /:-грамм, к = 2,3,..., на допустимые (встречаю- 230
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ щиеся в каких-либо текстах) и запрещенные (не встречающиеся ни в каких текстах). Разбиение множества всех к-грамм на допустимые и запрещенные определяет детерминированную модель ИОС. В такой модели открытый текст рассматривается как последовательность букв некоторого алфавита, не содержащая запретных к-грамм. Заметим, что разделение мультиграмм на допустимые и запрещенные весьма условно в силу динамичности языка, его способности к развитию. Кроме того, указанное разделение может иметь индивидуальные особенности для каждого источника сообщений, то есть характеризует не только язык в целом, но и отдельный ИОС. 12.3. Вероятностные модели в вероятностных моделях ИОС рассматривается как источник случайных последовательностей. Пусть источник генерирует в алфавите Z^ текст конечной или бесконечной длины. При этом можно считать, что источник генерирует конечную или бесконечную последовательность случайных переменных хо,х\,...,Хп.\,..., принимающих значения в Zm. Вероятность случайного сообщения {ao,a\,...,ai,.\) определяется как вероятность такой последовательности событий: P{ao,ai,...,a„,\) = Р{хо = «о, Xi = а\,..., x„.i = а„.\}. Множество случайных сообщений образует вероятностное пространство, если выполнены условия: 1) P(ao,ai,...,a„.i)>0 для любого случайного сообщения (ао,а\,...,а„.\У, 2) ^ Р(ао,а„...,а„_,) = 1; («,|,«|,...,Я„.|) 3) для любого случайного сообщения {ао,аи...,а„.\) и любого .у>л P(ao,ai,...,a„.i) = ^ Р(ао,а,,...,а,..,), то есть вероятность всякого случайного сообщения длины п есть сумма вероятностей всех продолжений этого сообщения до длины s. 231
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Текст, порождаемый таким источником, является вероятностным аналогом языка. Он обладает одинаковыми с языком частотными характеристиками /:-грамм. Задавая определенное вероятностное распределение на множестве открытых текстов, мы задаем соответствующую модель ИОС. Рассмотрим наиболее часто используемые вероятностные модели ИОС. 123.1. Стационарный источник независимых символов алфавита В этой модели предполагается, что вероятности сообщений полностью определяются вероятностями использования отдельных букв алфавита в случайном тексте: ?{ао,а\,...,ап-\) = Y\^^^i =^/Ь 1=0 где для всех /е{0,1,--.,и-1} и любого a&Zm P[x, = a}>Q; ^Р{;с,=а} = 1. «eZ„, Открытый текст такого источника является реализацией последовательности независимых испытаний в полиномиальной вероятностной схеме с числом исходов, равным т. Множество исходов взаимно-однозначно соответствует множеству всех символов алфавита. Приведем списки букв высокой частоты использования для некоторых европейских языков (табл. 12.1). Таблица 12.1. Частота букв в разных языках Язык Английский Испанский Итальянский Немецкий Французский Русский Буква алфавита/частота буквы в текстах, % Е/12,86 Е/14,15 1/12,04 Е/19,18 Е/17,76 0/11,0 Т / 9,72 А/ 12,90 Е/11,63 N/10,20 S / 8,23 И/8,9 А/7,96 О / 8,84 А/11,12 1/8,21 А/7,68 Е/8,3 1/7,77 S/7,64 О/8,92 S / 7,07 N/7,61 А/7,9 N/7,51 1/7,01 N / 7,68 R/7,01 Т/7,30 Н/6,9 R/7,03 R / 6,95 Т/7,07 Т/5,86 I / 7,2з1 Т / 6,0_ Данная модель позволяет разделить буквы алфавита на классы высокой, средней и низкой частоты использования. Для сравнения 232
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ частот редких букв и букв, приведенных в таблице, укажем, что, например, в английском языке редкими буквами являются буквы 7, Q, Z, а их частоты в процентах оцениваются величинами 0,13, 0,12 и 0,08 соответственно. Данная модель строится для любого ИОС с использованием относительно небольшого количества материала и удобна для практического применения. Например, эта модель эффективно используется при дешифровании текстов, защищаемых шифром простой замены. В то же время некоторые свойства данной модели противоречат свойствам языков. В частности, согласно этой модели любая /:-грамма, к>1, имеет ненулевую вероятность появления в сообщении. Ограниченность модели не позволяет применять ее для дешифрования широкого класса криптосистем. 12.3.2. Стационарный источник независимых биграмм Эта модель несколько более громоздка, но точнее отражает свойства языков. Открытый текст такого источника является реализацией последовательности независимых испытаний в полиномиальной вероятностной схеме с числом исходов, равным п^. Множество исходов взаимно-однозначно соответствует множеству всех биграмм алфавита. Модель характеризуется следующим равенством: /1-1 Р{ао,аъ:.,а2п.\) = П^^-^2, ='^2i'^2м ='^2м)' 1=0 где для всех a.b&Zm^^ /е{0,1,...,л-1} В качестве оценок вероятностей биграмм используются относительные частоты их появления, которые вычисляются экспериментально на большом текстовом материале. Вероятности биграмм в алфавите Z,„ могут быть сведены в матрицу размера тхт: 233
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Ро.О Ро,\ ■■■ Ро.т-] РЮ Ри - Р\.т-\ где pi^s есть вероятность размещения биграммы (г» на случайно выбранной позиции в случайном тексте. Из матрицы вероятностей би- грамм криптоаналитик может извлечь ряд полезных особенностей, свойственных ИОС и языку в целом. Например, в английском языке все биграммы вида {q,...) имеют нулевую вероятность за исключением биграммы {q,u), вероятность которой равна приблизительно 0,0011. Биграммы вида (а,...) имеют ненулевую вероятность за исключением биграммы {a,q) и др. Модель позволяет классифицировать все биграммы источника сообщений по вероятности их появления в тексте. Данная модель точнее по сравнению с предыдущей отражает особенности языков и источников сообщений. В частности, согласно этой модели всякое сообщение, у которого на нечетном месте располагается первая буква запретной биграммы, имеет нулевую вероятность. В то же время моделью игнорируются запретные биграммы, у которых первая буква располагается на четном месте, а также игнорируются свойственные языкам зависимости между соседними би- граммами. Например, вероятность запрещенной в английском языке 4-граммы «ququ» в данной модели оценивается величиной 1,21-10". В меньшей степени указанные недостатки присущи следующей модели. 12.3.3. Стационарный источник марковски зависимых букв Открытый текст такого источника является реализацией последовательности испытаний, связанных простой однородной цепью Маркова с т состояниями. Данная модель (как и соответствующая цепь Маркова) определяется матрицей П переходных вероятностей и вектором V начального распределения вероятностей: П = {p(s/t)), 0<t,s<m, 234
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ v = (v(0),v(l),...,v(m-l)), где v{t) - вероятность знака t на первой позиции случайного текста. Вероятность случайного сообщения {ао,а\,...,а„.\) выражается формулой P(ao,au...,a„.i) = v{ao)-p{axlao)- piajlax)-...- р(ап.\/а„.2). Переходные вероятности и начальное распределение знаков в случайном тексте удовлетворяют условиям: а) p{s/t), v{t) >0 для всех t,sGZm; б) v(0)+v(l)+...+v(m-l) = 1; в) p{0/t)+p{l/t)+...+p{m-\/t) = 1 для всех feZ^. Вектор W = (w(0),w(l),...,w(m-l)) стационарного распределения знаков в случайном тексте определяется из системы уравнений m-l 1=0 w(0)+w(l)+...+w(m-l) = 1. Согласно данной модели всякое сообщение, содержащее на какой-либо позиции запретную биграмму, имеет нулевую вероятность. 12.3.4. Усло:жнение стационарных моделей Исходя из рассмотренных моделей можно предложить их усложнения в направлении увеличения глубины зависимости вероятности очередной буквы текста от значений нескольких предыдущих букв. Здесь можно выделить два ряда моделей: 1) стационарный источник независимых /:-грамм; 2) стационарный источник зависимых к-траии, к>2. В условиях моделей первого ряда всякое сообщение является реализацией последовательности испытаний в полиномиальной вероятностной схеме с числом исходов, равным т*. Эти модели адекватно отражают межсимвольные зависимости внутри каждой /:-граммы, но игнорируют межсимвольные зависимости соседних /:-грамм. Чем больше к, тем, с одной стороны, точнее рассматриваемые модели от- 235
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ражают свойства языков и ИОС и, с другой стороны, тем они более громоздки и трудоемки в применении. Модели второго ряда способны учесть межсимвольные зависимости соседних А:-грамм, однако они еще более громоздки, чем модели первого ряда. Если модели первого ряда описываются т*-мерным вектором вероятностей, то модели второго ряда - матрицей размера т хт и т*-мерным вектором начального распределения. Выбор подходящей модели для исследования ИОС носит, как правило, компромиссный характер и осуществляется криптоаналити- ком с учетом свойств конкретного шифра. 123.5. Нестационарные источники сообщений В нестационарных моделях вероятности появления к-трамм. в тексте зависят от их места в сообщении. Нестационарные модели можно рассматривать как уточнение стационарных, в которых учтена в той или иной мере структура сообщения. Например, если источником сообщений является премьер-министр, а адресатом - король, то с большой вероятностью все сообщения будут начинаться со слов «Ваше Величество!..», а завершаться - соответствующей подписью. Подобные стандарты играют важную роль в криптографическом анализе. В частности, удачно выбранная криптоаналитиком нестационарная модель ИОС может в некоторых случаях упростить задачу дешифрования по шифрованному тексту, сведя ее к задаче дешифрования по открытому и шифрованному тексту. Построение рассмотренных моделей ИОС реализуется в результате статистической обработки генерируемых источником текстов. Для этого по результатам «просмотра» достаточно большого количества текстового материала вычисляются: в случае вероятностной модели - оценки всех вероятностей, необходимых для выбранной модели, и в случае детерминированной модели - все запрещенные /:-граммы данного ИОС. Чем большее количество материала обработано, тем точнее построенная модель ИОС и тем эффективнее ее применение для решения практических задач. 236
Глава 12. ИСТОЧНИКИ ОТКРЫТЫХ ТЕКСТОВ Рассмотренные модели ИОС могут использоваться в криптографических приложениях как в алгоритмах дешифрования, так и для различения открытых текстов и случайных последовательностей с помощью вычислительной техники. Вместе с тем полностью возложить решение последней задачи на вычислительную технику не всегда возможно, так как отсутствие в тексте запрещенных /:-грамм не гарантирует его осмысленности. 237
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ Шифры можно классифицировать по криптографической стойкости, то есть по способности противостоять атакам криптоаналитика. Вопрос о стойкости шифров - центральный вопрос криптоанализа шифров. Существуют ли неуязвимые шифры? Как должен быть устроен надежный шифр? Как правильно использовать шифр для защиты информации? Эти и многие другие подобные вопросы связаны с исследованием криптографической стойкости шифрсистем. Рассмотрим различные подходы к оценке криптографической стойкости шифров. 13.1. Вероятностные модели шифра На основе отображений шифра и вероятностных моделей открытого текста и множества ключей можно построить вероятностную модель шифра. Обозначим некоторые распределения вероятностей (р. в.): Рисх - Р- в. на множестве открытых текстов; Ркл - Р- в. на множестве ключей; Рш - Р- в. на множестве шифрованных текстов; Рисх,к - совместное р. в. на множестве пар открытых текстов и ключей; Рисх^и - совместное р. в. на множестве пар открытых и шифрованных текстов; Рисх/ш - условное р. в. на множестве открытых текстов (при условии, что шифрованный текст фиксирован). Пусть а - открытый текст, z - ключ, у - шифрованный текст, E{a,z) - криптограмма, полученная в результате шифрования открытого текста а на ключе z- Обычно полагают, что при шифровании ключ z выбирается независимо от открытого текста а, поэтому PucMz) = РисМ)-РМ). (13.1) тмоштп 238
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ Совместные и условные р. в. определяются из формул: Рш(у)= X РисАаУРМ), (13.2) («,z):£(rt,z)=,v Рис..ш(а,у)= X Рисх(а)РМ1 (13.3) г:Е{а,г)=у ' исх,ш (а,уУРи,(у), (13.4) где последнее равенство вытекает из определения условной вероятности и справедливо при условии Р„,(у)>0. Таким образом, имея распределения вероятностей на множестве открытых текстов и ключей и зная семейство шифра, можно в принципе вычислить как распределение вероятностей на множестве шифртекстов, так и различные совместные и условные распределения вероятностей. Используя вероятностнз'Ю модель шифра, Шеннон впервые сформулировал понятие совершенно стойкого шифра. 13.2. Совершенно стойкие шифры Вопрос о теоретической стойкости шифров впервые был сформулирован Клодом Шенноном: «Насколько надежна криптосистема, если криптоаналитик противника располагает неограниченным временем и всеми необходимыми средствами для анализа криптограмм?» С этим вопросом тесно связан следующий вопрос: «Существуют ли шифры, которые не мог бы вскрыть криптоаналитик, располагающий сколь угодно большой криптограммой и неограниченными вычислительными ресурсами?» Известно, что еще до Шеннона вплотную к решению этих вопросов приблизился американский инженер Джилберт Вернам, служащий компании AT&T, который в 1917 г. предложил новый способ шифрования телеграфных сообщений. Алгоритм шифрования Вер- нама заключался в том, что представленная в двоичном коде последовательность открытого текста побитово складывалась с ключом - случайной двоичной последовательностью. Сложение битов открытого текста и ключа осуществлялось по правилам: 239
е. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 0+0 = 0; 0+1 = 1; 1+0=1; 1+1 =0. Вернам интуитивно чувствовал, что предложенный им шифр обладает высокими криптографическими качествами, но строгих доказательств этого представить не сумел. Обосновать высокие криптографические качества шифра Вернама сумел К. Шеннон, опубликовавший в 1949 г. основные положения теоретической криптографии [74]. С использованием вероятностной модели шифра Шеннон дал математическое определение совершенно стойкого шифра и показал, что шифр Вернама является совершенно стойким. По Шеннону шифр является совершенно стойким, если открытый и шифрованный тексты статистически независимы, то есть для любого открытого текста а и любой криптограммы у Рисх(а) = Рисх/ш{а/у) (13.5) при условии, что Рш(у)>0. Иначе говоря, при использовании совершенно стойкого шифра распределение вероятностей на множестве открытых текстов после перехвата криптограммы у (апостериорное распределение вероятностей) не отличается от распределения вероятностей на множестве открытых текстов до получения перехваченной криптограммы у (от априорного распределения вероятностей). Перехват сообщения, зашифрованного с помощью совершенно стойкого шифра, не содержит для криптоаналитика никакой информации, если ключ ему неизвестен. Шифр называется идеально стойким, если невозможно определить однозначно открытый текст при известном шифрованном тексте сколь угодно большой длины. Очевидно, совершенно стойкий шифр является идеально стойким. Так как при всех открытых текстах а и шифртекстах у таких, что Рисх{а)>0, Рш(у)>0 справедливо равенство Рисх{а)Ри^исх(у/а) = Рш.„сх{а,у) = Рш(у)Р,1сх/ш{а/у), то при указанных текстах а и у равенство (13.5), определяющее совершенно стойкий шифр, эквивалентно равенству Ршл,сх(у/а) = Ри.(у). (13-6) 240
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ Шеннон доказал, что совершенно стойкие шифры существуют. В качестве примера рассмотрим так называемый шифр Вернама по модулю т, в котором знаки открытого текста, шифрованного текста и ключа принимают значения из кольца вычетов Z„, а длина ключа и длина криптограммы совпадают с длиной п открытого текста. Операция шифрования и-граммы открытого текста а = (а\,а2,...,а„) с помощью и-граммы ключа z = {z\,Z2,---,Zn), в результате которой получается п-грамма шифрованного текста у = CVb>'2,"-,>'«), определяется уравнением yi = (ai®Zi)modm, i = 1,2,...,п. (13.7) Теорема 13.1. Шифр Вернама по модулю т является совершенно стойким шифром при случайном равновероятном выборе ключа из множества Z^"* всех и-грамм в алфавите Z„. Доказательство. Пусть а,у& Z^"* и Рисх(а)>0. Если ключ Z выбирается из множества Z^"* случайно и равновероятно, то Po(z) = /n-". (13.8) При заданных текстах а и у имеется единственный ключ z, удовлетворяющий уравнениям (13.7), тогда из (13.3) и (13.8) получаем: Рисх.ш(а,у) = Pucx{a)P^,iy-d) = Рисх(аУт'". Отсюда, используя определение условной вероятности, получаем: PwJucxiyla) = Рисх.ш{а,У)1РисМ) = т". (13.9) Так как Р„,0')>0, то, используя формулу Байеса, с учетом последнего равенства имеем: Рисх/ш(а/у) = Рисх(с1)Рш/исх(у/с1)/1 ^ РисхФУРш/исх(у/Ь)] = = P„,,(a)-m-7m-"[ J^ РисхФ)] = Pucxia), /.eZ',"' что и 1ребовалось доказать. ♦ OiMeiHM некоторые важные свойства шифра Вернама по модулю т. 241
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ 1. Равенство (13.9) означает, что при известном открытом тексте все криптограммы длины п равновероятны. 2. Из равенства (13.6) следует, что и при неизвестном открытом 1ексте все крипто1раммы длины п равновероятны. Наряду с этими замечательными свойствами необходимо отметить, что длина ключа в совершенно стойких шифрах совпадает с длиной сообщения. Это означает, что использование таких шифров для защиты больших объемов информации требует огромных 1рудо- затрат, связанных с производством, распределением, хранением и уничтожением ключевых материалов. Тем не менее совершенно стойкие шифры все же нашли практическое применение для защиты особо важных линий связи с относительно небольшим объемом передаваемой информации. Немцы еще в начале 20-х гг. снабдили свои дипломатические представительства совершенно стойкими шифрами, а англичане и американцы перешли к использованию шифров типа Вернама во время Второй мировой войны. Разведчиками-нелегалами ряда государств использовались шифрблокноты, содержшцие ключевые материалы для секретной связи с помощью шифра Вернама (как правило, по модулю 10). Шифр Вернама по модулю 2 использовался на правительственной «горячей линии» между Вашингтоном и Москвой, где ключевые материалы представляли собой бумажные ленты (производившиеся в двух экземплярах), на которые знаки ключевой последовательности наносились с помощью перфорации. Существует и «компьютерная версия» шифрблокнота, согласно которой для шифрования предлагается использовать ключевые последовательности, записанные в памяти компьютера. Однако при этом возникает проблема защиты ключевых последовательностей от искажений, подмены и других возможных угроз. 13.3. Системный подход к оценке практической стойкости шифров Вопрос о практической стойкости, поставленный Шенноном, формулируется так: «Надежна ли шифрсистема, если криптоанали- 242
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ ТИК располагает ограниченным временем и ограниченными вычислительными возможностями для анализа перехваченных криптограмм?» Данный вопрос тесно связан с проблемой конструирования шифрсистем. С одной стороны, криптографическая система должна обеспечивать надежную защиту информации и, с другой стороны, должна быть удобна с точки зрения технической реализации и эксплуатации. Так как шифрсистемы, обеспечивающие идеальную секретность, в большинстве случаев практически неприменимы, то вопрос относится прежде всего к шифрсистемам, использующим ключи ограниченного размера и способным обрабатывать большие объемы информации. По Шеннону, практически стойкая криптосистема по своим свойствам должна быть близка к идеальным системам, то есть являться своего рода искусной подделкой под идеальный шифр. Это выражается в близости характеристик отображений шифра к аналогичным характеристикам случайных отображений. Например, высокая стойкость шифра гаммирования обеспечивается при использовании шифрующей последовательности, близкой по своим свойствам к РРСП (см. гл. 7), поэтому криптографические качества шифра гаммирования определяются свойствами используемого генератора гаммы. Системный подход к оценке стойкости шифрсистемы подразумевает определенную детализацию понятия «стойкий шифр». В результате этой детализации формируется ряд критериев математического и технического характера, которым должна удовлетворять стойкая шифрсистема. При разработке нового подхода к анализу шифрсистемы формируется соответствующий критерий качества шифрсистемы, который пополняет ранее сложившуюся систему критериев. Основной количественной мерой криптографической стойкости шифра является вычислительная сложность решения задач дешифрования. Вычислительная сложность определяется несколькими характеристиками. Рассмотрим важнейшие из них. Предположим, что перед криптоаналитиком поставлена задача дешифрования шифра Е по некоторому набору криптограмм. Пусть Ле ~ класс применимых к шифру Е алгоритмов дешифрования, которыми располагает криптоаналитик. При этом криптоаналитик рас- 243
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ сматривает как вероятностное пространство W элементарных событий множество пар ключей и открытых текстов, если открытые тексты неизвестны, или множество ключей, если открытые тексты известны. Для алгоритма v|/g/^£ обозначим через Ду) среднюю трудоемкость его реализации, измеряемую в некоторых условных вычислительных операциях. При этом величина трудоемкости обычно усредняется по множеству W. Одной из основных характеристик практической стойкости шифра Е является средняя трудоемкость Те дешифрования, определяемая выражением ТЕ=ттТ(\\1). (13.10) При этом, однако, важно отметить следующее: 1. Существуют алгоритмы дешифрования, определенные не на всем вероятностном пространстве W, а лишь на некоторой его части. Кроме того, некоторые алгоритмы дешифрования устроены так, что их реализация приводит к успеху (решению дешифровальной задачи) не на всей области определения, а лишь не некотором ее подмножестве. Поэтому к важнейшим характеристикам алгоритма дешифрования v|/ необходимо отнести не только его трудоемкость T{\\i), но и надежность v^v|/), под которой понимается средняя доля информации, дешифруемой с использованием алгоритма v|/. Если надежность алгоритма дешифрования мала, то с точки зрения криптографа он является неопасным, а с точки зрения криптоа- налитика неэффективным. Таким образом, при получении оценки (13.10) величины Те целесообразно рассматривать лишь те алгоритмы дешифрования, надежность которых достаточно велика. При этом для определения «наилучшего» алгоритма дешифрования системы Е можно использовать различные критерии в зависимости от конкретных условий задачи. Например, можно считать «наилучшим» алгоритм дешифрования v|/, для которого наименьшее значение принимает величина r(v|/)/v(v|/). Эту величину можно интерпретировать как средние трудозатраты, необходимые для успешного дешифрования шифрсистемы. 244
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ 2. Сложность дешифрования зависит от количественных и качественных характеристик крипто1рамм, которыми располагает криптоа- налитик. Количественные характеристики определяются числом перехваченных криптограмм и их длинами. Качественные характеристики связаны с достоверностью перехваченных криптограмм (наличие искажений, пропусков и т. д.). По Шеннону, каждый шифр имеет объективную характеристику Те(п) - среднюю (по всем криптограммам длины п и ключам) вычислительную сложность дешифрования. Величина lim Те{п) характери- зует предельные возможности дешифрования системы Е при неограниченном количестве шифрматериала и абсолютной квалификации криптоаналитика. Оценивая стойкость шифра, криптоаналитик получает верхние оценки предельной стойкости, так как практическое дешифрование использует ограниченное количество шифрматериала и ограниченный класс так называемых известных методов дешифрования. 3. Важной характеристикой криптографической стойкости системы является временная сложность ее дешифрования. Оценка временной сложности дешифрования системы подразумевает более детальную проработку реализации алгоритмов дешифрования с учетом характеристик вычислительного устройства, используемого для дешифрования. К таким характеристикам вычислительного устройства, реализующего алгоритмы дешифрования, относятся архитектура, быстродействие, объем и структура памяти, быстрота доступа к памяти и др. Следовательно, время дешифрования системы Е определяется имеющимся классом алгоритмов дешифрования Ае и вычислительными возможностями криптоаналитика. Выбор наилучшего алгоритма дешифрования осложняется и тем, что различным вычислительным устройствам могут соответствовать различные «наилучшие» алгоритмы дешифрования. Вопрос о криптографической стойкости шифрсистемы имеет некоторые особенное! и с точки зрения криптоаналитика и криптографа. Криптоаналитик атакует шифрсистему, располагая конкретными интеллектуальными, вычислительными и экономическими ресурсами. Его цель - успешное дешифрование системы. 245
в. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ Криптограф оценивает стойкость шифрсистемы, имитируя атаку на шифр со стороны криптоаналитика противника. Для этого криптограф моделирует действия криптоаналитика, оценивая по максимуму интеллектуальные, вычислительные, технические и другие возможности противника. Цель криптографа - убедиться в высокой криптографической стойкости разработанной шифрсистемы. Таким образом, системный подход к оценке практической стойкости шифра связан с оценкой вычислительных трудозатрат при дешифровании системы с позиции различных критериев качества шифра. Используя понятие практической стойкости шифра, можно классифицировать шифры по величине стойкости или по продолжительности временного периода, в течение которого шифр с высокой надежностью обеспечивает требуемый уровень защиты информации. 13.4. Другие подходы к оценке практической стойкости шифров 13.4.1, Асимптотический анализ стойкости Этот подход развивается теорией сложности вычислений. При исследовании шифра оценка его стойкости увязывается с некоторым параметром шифра, обычно это длина ключа, и проводится асимптотический анализ оценок стойкости. Считается, как правило, что шифрсистема имеет высокую криптографическую стойкость, если последняя выражается через длину ключа экспоненциально, и шифрсистема имеет низкую криптографическую стойкость, если стойкость выражается в виде многочлена от длины ключа. 13.4.2. Оценка количества необходимого шифрматериала Данный подход основан не на сложности вычислений при реализации дешифрования, а на оценке среднего количества материала, который необходимо проанализировать криптоаналитику для вскрытия шифра. Оценка количества необходимого криптоаналитику шифрматериала представляет итерес с той точки зрения, что явля- 246
Глава 13. КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ ется нижней оценкой стойкости шифра в смысле вычислительной сложности дешифрования. Этот подход применяется в основном для оценки стойкости поточных рандомизированных шифров. Особенностью устройства таких шифров является то, что они используют для шифрования и расшифрования секретный ключ небольшого размера, а также большую и общедоступную случайную последовательность чисел (рандомизатор). Ключ определяет, какие части рандомизатора используются для шифрования, в то время как криптоаналитику, не знающему секретного ключа, приходится анализировать весь рандомизатор. В качестве примера такого шифра рассмотрим шифр Диффи. В этом шифре рандомизатором является массив из 2" случайных двоичных последовательностей, занумерованных элементами множества V,,. Ключом является и-мерный двоичный вектор. При шифровании с использованием ключа к двоичная последовательность открытого текста складывается побитово (как в шифре Вернама) с последовательностью рандомизатора, имеющей номер к. Таким образом, для дешифрования сообщения противнику необходимо исследовать порядка 2" бит. Впоследствии Рюппель заметил, что примерно такой же уровень стойкости достигается, если рандомизатор содержит п случайных двоичных последовательностей, а ключ к задает набор коэффициентов, определяющий шифрующую последовательность как нетривиальную линейную комбинацию последовательностей рандомизатора. 13.4.3. Стоимостный подход Этот подход предусматривает оценку стоимости дешифрования системы. Особенно он актуален тогда, когда для дешифрования криптосистемы необходимо разработать и построить новый вычислительный комплекс. Стоимостный подход полезен с точки зрения сопоставления материальных затрат на деишфрование системы и ценности информации, защищаемой криптосистемой. Примером реализации такого подхода является весьма подробный вывод оценки стоимости дешифрования алгоритма DES, сделанный Диффи и Хеллманом в связи с алгоритмом распараллеливания перебора всех ключей DES. 247
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ В заключение отметим динамичный характер оценок криптографической стойкости шифров. Эти оценки необходимо время от времени пересматривать в связи с развитием вычислительных средств и прогрессом в области разработки методов дешифрования. В частности, в [38] упоминается «эмпирический закон» развития вычислительных средств, согласно которому считается, что вычислительные возможности криптоаналитика удваиваются через каждые 18 месяцев. 248
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ Шифрсистемы классифицируются по различным хфизнакам; по видам защищаемой информации (текст, речь, видеоинформация), по криптографической стойкости, по принципам обеспечения защиты информации (симметричные, асимметричные, гибридные), по конструктивным принципам (блочные и поточные) и др. При построении отображений шифра используются с математической точки зрения два вида отображений: перестановки элементов открытого текста и замены элементов открытого текста на элементы некоторого множества. В связи с этим множество шифров делится на 3 вида: шифры перестановки, шифры замены и композиционные шифры, использующие сочетание перестановок и замен. Рассмотрим эти классы шифров. 14.1. Шифры перестановки Пусть имеется открытое сообщение ао,а\,...,ам.\ длины N в алфавите Z,„. Если к этому сообщению применить перестановку ст, где ст = (ст(0),ст(1),...,ст(Л^-1)), то результатом будет криптограмма «0(o>a0(i)v,a0(Af-i). Семейство таких преобразований называется шифром перестановки. Таким образом, перестановка заключается в переупорядочении букв открытого текста, в результате чего он становится нечитаемым. Ключом такого шифрпреобразования является используемая перестановка ст. Расшифрование криптограммы производится с помощью применения к ней обратной перестановки ст'. Особенностью описанной модели шифра перестановки является совпадение длин открытого текста и ключа. С точки зрения практической реализации это очень неудобно, поэтому, как правило, шифры перестановки использую! ключ фиксированного размера /, при этом открытый текст разбивается на ]N/l[ отрезков длины /, к каждому из которых применяется ключевая перестановка. 4И^/1ОГП1И0И 249
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ С ТОЧКИ зрения криптоанализа важной особенностью шифров перестановки является то, что относительные частоты встречаемости символов в открытом и шифрованном тексте совпадают, так как они инвариантны по отношению к любой перестановке. Вторая важная особенность заключается в ограниченности размера используемого ключа, что приводит, особенно при зашифровании длинных текстов, к многократному использованию ключа и облегчает криптоаналити- ку дешифрование сообщений. Поэтому перестановки целесообразно использовать в сочетании с заменами в композиционных шифрах. В электронных шифрах перестановки выполняются с помощью элементов памяти в виде различных линий задержки. В ручных шифрах, то есть шифрах «домашинной эры» шифры, перестановки находили свое применение. 14.1.1. Шифрование с помощью скиталя Еще с античных времен (IX в. до н. э.) известен шифр перестановки, реализуемый с помощью скиталя - деревянного цилиндра, на который наматывался ремень так, что части ремня не перекрывались, а смыкались по краям. Сообщение записывали по намотанному ремню вдоль оси скиталя, а затем ремень разматывали и подпоясывали им гонца. На поясе гонца сообщение выглядело как нечитаемый набор букв. Ключом этого шифра является диаметр скиталя. Для расшифрования сообщения гонца распоясывали и наматывали ремень на скиталь требуемого диаметра. Интересно, что еще в древние времена был изобретен и оригинальный способ дешифрования, когда было предложено наматывать ремень на конический скиталь с небольшой конусностью. На требуемый для вскрьггия шифра диаметр указывала та часть конуса, где «читался» фрагмент сообщения. 14.1.2. Маршрутные шифры Другой пример - это маршру7ные шифры перестановки, использующие прямоугольную таблицу, в которой открытый текст записывается по строкам, а шифрованный текст образуется при считывании таблицы в другом порядке (по столбцам, по диагоналям... то 250
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ есть по другому маршруту). Расшифрование состоит в заполнении шифрованным текстом чистого прямоугольника тех же размеров в соответствии с выбранным маршрутом и в чтении открытого текста по строкам. Ключом таких шифров являются размеры таблицы и маршрут считывания букв таблицы. 14.1.3. Решетка Кардана Наиболее стойким из ручных способов шифрования перестановкой с помощью таблиц является шифрование с помощью «решетки Кардано», известное уже более 400 лет. «Решетка Кардано» используется при шифровании как ключ и представляет собой квадратную таблицу размера 2пх2п, «-натуральное, в которой четверть («^ штук) всех позиций выделены для записи символов открытого текста. Практически «решетка Кардано» выполняется в виде картонного квадрата размера 2пх2п клеток, в котором «^ клеток вырезаны как окна. Эти «^ клеток случайным образом более или менее равномерно распределены по площади квадрата и выбраны таким образом, что при последовательном повороте квадрата вокруг геометрического центра на 90, 180, 270 и 360° вырезанные клетки последовательно покрывают все 4« клеток квадрата. При шифровании «решетка Кардано» накладывается на квадрат тех же размеров с чистыми клетками, выполненный, например, из бумаги. В начальном угловом положении, соответствующем углу поворота 0°, в клетки бумажного квадрата, выделенные «окнами» «решетки Кардано», последовательно (то есть по строкам слева направо или в каком-либо другом заранее оговоренном порядке) записываются первые п^ символов открытого текста. Затем «решетка Кардано» поворачивается в угловое положение 90° и вновь в клетки бумажного квадрата, выделенные «окнами» «решетки Кардано», последовательно записывается вторая порция из п символов открытого текста. Далее следует поворот в угловое положение 180° и запись следующих п символов открытого 1екста, поворот в угловое положение 270° и запись следующих г? символов открытого текста. Если длина шиф- 251
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ _ _ _ руемого открытого текста больше 4и , то «решетка Кардано» используется для зашифрования многократно. Шифртекст получается после снятия «решетки Кардано» и считывания в том или ином порядке символов текста с бумажного квадрата. Дальнейшим усложнением ручных шифров перестановки явились шифры двойной (кратной) перестановки. В этих шифрах используется пара (набор) ключей, первый из которых преобразует открьпый текст в промежуточный, а второй преобразует промежуточный текст в шифрованный. 14.2. Шифры замены Пусть имеется открытое сообщение ао,аь...,алг.1 в алфавите Z ц и система Ф отображений множества Z , в алфавит Y шифрованного текста, Ф = {фо, фь-, Флг-!}- Криптограмма у вычисляется по открытому сообщению ao,ai,...,aNi с использованием системы отображений Ф, где Ф в данном случае выполняет функции ключа: у = (фо(ао), (pi{ai),..., флг.1(алг.1)). Если ф, - биективные отображения, то систему отображений Ф называют подстановочным шифром замены. Если ф,- - многозначные отображения, обладающие свойством {ф,(a)}n{ф,■(^))} = 0 при всех афЬ, i = 0,],...,N-], то систему Ф называют многозначным шифром замены. Рассмотрим подстановочные шифры замены, при этом без ущерба для общности рассуждений можно считать, что У = Z i и фо,ф1,...,флг.1 - подстановки на множестве Z , . Если ф, = ф для всех / = 0,\,...,N-\, то шифр замены называется моноалфавитной подстановкой (простой заменой) на множестве Z , . В противном случае такой шифр называется многоалфавитной полс7ановкой (шифром колонной замены). Если к - 1, то говорят, что шифр реализует позначную замену, если к -2,10 шифр решшзует замену биграмм и т. д. 252
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ Укажем некоторые известные классы шифров замены. 14.2.1. Шифр Цезаря Множество отображений шифра Цезаря - это циклическая подгруппа Г,„ = <Т> симметрической группы S,„, состоящая из подстановок сдвига: Т„={Т],] = 0,\,...,тЛ, где Т{а) = {a+j)modm. Система Цезаря - это моноалфавитная подстановка, преобразующая открытый текст ao,ai,...,aN.\ в криптограмму T{ao),T{a\),...,V{aj^.\). При использовании для шифрования подстановки Т символ а открытого текста заменяется символом a+j шифрованного текста. Цезарь для шифрования обычно использовал подстановку 7^. Система Цезаря вскрывается по шифртексту с помощью перебора всех ключей, число которых меньше га (нулевой сдвиг исключается). 14.2.2. Таблица Визкинера Этот шифр задается таблицей размера тхга, в г-й строке которой записана перестановка сдвига Т алфавита Z,„, i = 0,1,...,га-1. Обычно таблица Вижинера используется для построения шифра многоалфавитной подстановки. При этом строки таблицы рассматриваются как нижние строки соответствующих подстановок сдвига. Каждый знак открытого сообщения шифруется с помощью одной из строк таблицы Вижинера. Выбор очередной строки таблицы осуществляется в соответствии с некоторым правилом. Таблица Вижинера представляет собой частный случай таблиц, называемых латинскими квадратами. Латинский квадрат порядка т - это таблица размера тхт, в каждой строке и в каждом столбце которой записана некоторая перестановка элементов алфавита Z„,. Перечисление всех латинских квадратов порядка т является сложной комбинаторной задачей. Однако можно указать способ построения некоторых классов латинских квадратов. 1. Для любой перестановки X алфавита Z,„ система перестановок вида XT, i = 0,\,...,т-\, образует латинский квадрат порядка т. 253
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 2. Если L есть латинский квадрат порядка га, то XLY также латинский квадрат порядка га, где X,У- произвольные подстановочные матрицы порядка т. Одним из способов улучшения шифра Цезаря является таблица Вижинера на основе смешанного (переставленного) алфавита. Ключом такой системы является пара (^ь^г), где ^рлозунг или мульти- грамма, которая не содержит повторяющихся символов алфавита и записывается в начальных позициях первой строки, ki&Zm- Остальные позиции первой строки заполняются буквами алфавита, не вошедшими в лозунг. Если обозначить через ^{К\) подстановку, нижний ряд которой совпадает с первой строкой, то полная система подстановок получившегося латинского квадрата имеет вид: {f-ip{Kx)},i = QX...,m-\. (14.1) Выбор ключа {Кикг) означает, что для шифрования используется подстановка У ^ -9(^1), то есть данный шифр является шифром простой замены. Главной особенностью шифров простой замены, обусловливающей их криптографическую слабость, является то, что вариационные ряды открытого и шифрованного текстов совпадают с точностью до некоторой перестановки (являющейся ключом!). Вскрытие этой шифрсистемы производится по шифртексту сопоставлением вариационных рядов открытого и шифрованного текстов. Нередко при этом используются и дополнительные соображения вроде «запрещенных мультиграмм» и «вероятного слова». Дальнейшим усложнением шифров, построенных на основе латинских квадратов, являются шифры колонной замены, в которых выбор шифрующей подстановки производится в соответствии с некоторым ключевым управляющим словом, называемым лозунгом. Ключом такой шифрсистемы является пара {К^Кг), где К\ vi Кг ~ мультиграммы в алфавите Z,„. Мультиграмма ^i имеет тот же смысл, что и в предыдущем примере, то есть полная система подстановок латинского квадрата имеет вид (14.1). Если используется лозунг Кг = (Ь\,Ьг,...,Ь,), то последовательность шифрующих подстановок имеет период / и выглядит следующим образом: 254
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ При небольшой длине лозунга Кг шифрование несложно реализовать вручную. Данный шифр представляет собой не слишком существенное усложнение шифра простой замены. 14.2.3. Шифры пропорциональной замены Такое название получили многозначные шифры замены, разработанные с целью усложнения шифров простой замены. Для затруднения дешифрования на основе частотного анализа в этих шифрах некоторым буквам a&Zm открытого текста ставится в соответствие несколько величин из алфавита Y шифрованного теста (очевидно, |F|>m). При этом число допустимых образов буквы а в криптограммах приблизительно пропорционально частоте использования буквы а в открытых текстах, а при шифровании образ буквы а выбирается с помощью случайной процедуры из множества допустимых образов. Принципиальный подход к дешифрованию таких систем тот же, что и для шифров простой замены. Однако требуемое количество материала возрастает. 14.2.4. Замена биграмм Чтобы затруднить криптоанализ на основе частот появления в текстах букв, были разработаны шифры замены, реализующие шифрование биграмм, триграмм и т. д., поскольку частоты появления в текстах А;-грамм, как правило, заметно меньше вероятностей появления {к-1 )-грамм. Примером шифра замены биграмм является шифр Playfair, изобретенный еще в 1854 г. и использовавшийся британцами во время Первой мировой войны. Для шифрования текста, записанного в алфавите Z„, используется ключ, который представляет собой прямоугольник размера пхг, где пг = т. По строкам таблицы записывается произвольная перестановка элементов алфавита Z,„. В частности, на первых / позициях таблицы может быть записан лозунг, состоящий из / различных букв алфавита, т>1, а на оставшихся т-1 позициях записываются не использо- 255
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ванные в лозунге элементы алфавита. Получившуюся матрицу обозначим через Г: Г={уиУ,1 = 0,\,...,п-\; j = 0,],...,r-\. Таким образом, каждому элементу алфавита Z,„ взаимно-однозначно соответствует пара чисел (i,j) - координаты этого элемента в матрице Г. Открытый текст разбивается на биграммы и одновременно изменяется так, чтобы в модифицированном тексте не встречались биграммы вида (а,а). Например, если в исходном тексте встречается биграмма вида (а,а), где аФО, то между буквами этой биграммы вставляется символ 0. Если же в исходном тексте встречается биграмма вида (0,0), то между нулями вставляется другая буква. То есть длина модифицированного текста может превышать длину исходного текста. Функция шифрования ф определяется следующим образом: ц>(а,Ь) = ф(у,у,у,,) = (Y,j.i.Y/.mi). i = s,j*t; (14.2) (Yw,.Y.v+i,,). i*s,i=t. Номера строк вычисляются по модулю п, а номера столбцов - по модулю г. Схематично (рис. 14.1) функцию шифрования можно отобразить переходом пары позиций в матрице Г, соответствующих буквам биграммы открытого текста (заштрихованные кружки), в пару позиций той же матрицы, соответствующих буквам биграммы шифрованного текста (незаштрихованные кружки). Рис. 14.1. Схемы функции шифрования шифра Playfair Данные три схемы соответствуют трем случаям, отмеченным в формуле (14.2). 256
Глава 14. ШИФРЫ ПЕРЕСТАНОВКИ И ЗАМЕНЫ Данная система шифрования не является, строго говоря, системой моноалфавитной подстановки на алфавите Z ,, так как длина исход- т~ ного текста в общем случае не сохраняется. Вместе с тем вариационные ряды би1рамм открытого и шифрованного текстов практически совпадают с точностью до некоторой перестановки. Для криптоана- литика ситуация усложняется только тем, что разброс в значениях частот меньше, чем в случае позначной замены. По сравнению с позначной заменой это приводит к увеличению длины криптограммы, необходимой для вскрытия криптосистемы Playfair. 14.2.5. Замена к-грамм Замену А:-грамм проиллюстрируем с помощью шифрования методом Хилла. Рассмотрим открытый текст {ао,а\,...,ац.\) в алфавите, совпадающем с полем Р. Пусть к - натуральное число, для удобства положим, что к делит без остатка N. Разобьем открытый текст на целое число А:-грамм, которые можно рассматривать как элементы А:-мерного векторного пространства Р""^ над полем Р: {ао,аи ..., a^.i) = {bQ,bu ..., b,.i), где t = N/k; bieP^''\ i = 0,1,2,...,?-!. В качестве ключа используется невырожденная матрица М над полем Р размера кхк. Криптограмма (5'o,5'i,...,5',.i) вычисляется по правилу: (^о,^, s,.i) = (bo-MM-M,...,b,.vM). (14.3) Расшифрование заключается в умножении слева А:-грамм шифрованного текста на матрицу М"'. Из описания способа шифрования следует, что система Хилла - это моноалфавитная подстановка на Р^''\ К положительным свойствам системы Хилла следует отнести хорошее выравнивание частот отдельных символов в шифртексте. Вместе с тем данная система не выдерживает криптоаналитической атаки с помощью решения системы уравнений. Если криптоаналитик помимо шифртекста имеет несколько А:-грамм открытого текста, то элементы ключа могут быть найдены из решения системы линейных уравнений. 257
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Усложнением шифра Хилла является шифр колонной замены, использующий набор матриц Л/'^ = {М\,М2,---,Мг)- Ключом усложненного шифра является набор матриц h^'^ и слово конечной длины в алфавите h^'^, символы которого последовательно используются для шифрования А:-грамм открытого текста. Если длина t открытого текста (в А:-граммах) больше г, то ключевое слово используется несколько раз до тех пор, пока не будет зашифрована последняя А:-грамма открытого текста. Ключ такого шифра также может быть найден из решения системы линейных уравнений, но материала для этого требуется в г раз больше. 258
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ Криптология, как и другие математические дисциплины, имеет дело с математическими моделями изучаемого предмета, а именно с математическими моделями криптосистем. Рассмотрим некоторые модели семейства отображений шифра, удобные для изучения и анализа. 15.1. Математические модели шифра Под таковыми понимаются различные математические формы представления отображений шифра. Задание отображений шифра таблицами соответствий типа («открытый текст», «ключ»)-> «шифртекст» весьма громоздко и для современных шифров просто нереально. Одна из наиболее удобных моделей шифра - это алгоритмы шифрования и расшифрования. Алгоритм шифрования (расшифрования) - это последовательность вычислительных операций, производимых с входными данными с целью получения криптограммы (открытого текста). Входными данными алгоритма шифрования (расшифрования) являются элементы открытого (шифрованного) текста и ключа. Алгоритмы должны быть корректно заданы на всей области определения. Алгоритм расшифрования может отличаться от алгоритма шифрования незначительно и даже с ним совпадать, в особенности это характерно для симметричных криптосистем. Шифр называется обратимым, если алгоритмы шифрования и расшифрования совпадают. Реализации алгоритмов шифрования и расшифрования для обратимых шифров могут различаться только входными данными. Обратимые шифры удобны тем, что шифрование и расшифрование реализуется одним устройством (одной программой). Обратимость шифра - это более сильное условие, чем условие обратимости всех преобразований шифра. Изложение алгоритма шифрования обычно сочетает словесное описание с формулами и, как правило, содержит криптосхему, то /ЗИ/1/1ОГУ11И0И 259
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ есть схему, поясняющую реализацию алгоритма шифрования или его некоторых блоков. С примерами алгоритмов шифрования можно ознакомиться в приложениях. Некоторые алгоритмы шифрования (расшифрования) удается задать достаточно компактной формулой, в которой переменные соответствуют элементам открытого (шифрованного) текста и ключа, а значения функции, реализуемой формулой, соответствуют элементам шифрованного (открытого) текста. В таком случае адекватной формой представления шифра могут служить уравнения, связывающие элементы ключа, открытого и шифрованного текстов. Эти уравнения называют уравнениями шифрования (расшифрования). Примерами уравнений шифрования являются уравнения (13.7), описывающие способ шифрования Вернама, и уравнения (14.3), описывающие способ шифрования Хилла. 15.2. Автоматная модель симметричного шифра При анализе современных симметричных шифров, реализуемых электронными схемами и компьютерными программами, удобно рассматривать шифрующие автоматы. Шифрующим автоматом (ш.а.) назовем систему Аш, состоящую из восьми объектов Aa=(X,S,Y,K,z,g,h,f), где X, S, Y и К - конечные множества, называемые соответственно алфавитом открытого текста, множеством состояний ш.а., алфавитом шифрованного текста и ключевым множеством ш.а., а z, g, h nf- отображения z: K->S, g: SxKxX->K, h: SxKxX->S, /: SxKxX->Y, называемые соответственно функцией инициализации, функцией обновления ключа, функцией переходов и функцией выходов. Элементы множества К называются ключами ш.а. 260
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ Ш.а. функционирует в дискретные моменты времени /, называемые тактами, t = 1,2,... Предварительно выбирается начальное значение ключа ^le^ и в зависимости от него устанавливается начальное состояние автомата ^i е5: si=z(ki). (15.1) В г-й такт под воздействием входного символа х, ш.а. выдает выходной символ у,, переходит в следующее состояние s,+i и обновляет использованное в г-м такте значение ключа к,, вычисляя значения у„ s,+\ и^,+1 по формулам: y,=J{s„k,.x,), (15.2) Si+i=h(si,ki,x,), (15.3) k,+i = g(s„k„x,). (15.4) При этом функции z,f,hHg удовлетворяют условиям: 1) некоторые из функций z, f, h и g (но не все) могут зависеть от ключа фиктивно; если функция z зависит от ключа фиктивно, то это означает, что начальное состояние ш.а. либо фиксировано, либо устанавливается случайным образом независимо от ключа и не является секретным; 2) функции/и h обе зависят от кл1бча фиктивно только в том случае, когда функция z зависит от ключа существенно. Если функция g(s,k,x) отлична от тождественного отображения множества К, то значение ключа ш.а. не остается постоянным от такта к такту. Такой ш.а. назовем мультиключевым. Если за t тактов функционирования ш.а. Аш отобразил входное слово xi,X2,...,x, в выходное слово У1,У2у-уУ1 с использованием начального значения ключа ^ь то будем говорить, что за t тактов ш.а. Аш зашифровал открытый текстxi,X2,...,x, в шифрованный т&ксту\,у2,-..,у, с использованием ключа ^i. Множество всех входных (выходных) слов в алфавите X (в алфавите У) обозначим через X* (через Y*). Пустое слово обозначим Л. Связанные с функционированием ш.а. Аш отображения f*:SxKxX*^ Y*, h*:SxKxX*^S и g*:SxKxX*^K зададим при каждом sgS и каждом кеК следующими равенствами: 261
S. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Л^ЛЛ) = Л; h*is,k,A) = s; g*is,k,A) = k; (15.5) кроме того, для всех леХ, wgX* f'isXw-x) =J*is,k,w)-J{h*{s,k,w),g*is,k,w),x). (15.6) h*{s,k,w-x) = h(h*(s,k,w),g*(s,k,w),x); (15.7) g*(s,k,w-x) = g(h*(s,k,w),g*is,k,w),x). (15.8) Из равенств (15.5)-(15.8) несложно вывести, используя метод математической индукции, что реакция ш.а. на последовательное введение входных слов V и W равна его реакции на входное слово v-w. Теорема 15.1. Для ш.а. Аш при любых v,wgX*, к&К и s&S выполняются равенства: f'{s,k,v-w)=f'{s,k,v)-f'{h*{s,k,v),%*{s,k,v),w); h*{s,k,v-w) = h*{h*{s,k,v),Z*i^^,v),w); g*{s,k,v-w) = g*(h*(s,k,v),g*(s,k,v),w). Функцию fi-.KxX'^i-Y, отображающую множество начальных значений ключа и входных слов длины / во множество значений 1-го знака выходного слова, назовем 1-й выходной функцией ш.а. Аш, 1=1,2,... fi{kM,X2,...,xi) = yi. (15.9) Если множество начальных значений ключа ш.а. Аш не пусто и ограничено множеством Q, где Qc^, то пара {Аш,0) называется слабоинициальным ш.а. (си.ш.а.). Автомат (Аш,0) описывается следующей системой: (Аш,0) = (X, S, Y, {K,Q), Z, g, h,f). В частности, если Q = {к} - одноэлементное множество (начальное значение ключа ^е^ фиксировано), то пару {Аш,{к]) назовем инициальным ш.а. (и.ш.а.), обозначая: Аш{к) = (Аш,{к}) = (X, S, Y, {К,{к}), Z, g, h,f). Покажем, что ш.а. можно представить автоматами Мили. Автоматом Мили, ассоциированным с ш.а. Аш (си.ш.а. {Аш,0)у п.ш.л. Аш{к)), назовем автомате = (X,SxK,Y,h',f), где 262
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ n(s,kU) =f{s,k,x), h'((s,k)^) = Oiis,k^), g(s,k^)). Под автоматным храфом ш.а. Аш будем понимать автоматный граф ассоциированного с ним автомата Мили А. Непосредственно из определения автомата, ассоциированного с ш.а., и равенств (15.1) - (15.4) вытекает следующая теорема. Теорема 15.2 (о сводимости ш.а. к автомату Мили). С.и.ш.а. (Аш,0), где Qc,K, есть с.и.а. Мили (A,n(Q)), где А - автомат Мили, ассоциированный с ш.а. Аш и п(0) = {(z(k),k):k&Q}. Таким образом, ш.а. Аш представляет собой автомат Мили с «расширенным» множеством состояний и специфическими ограничениями на множество начальных состояний. 15.3. Отношения и операции с шифрующими автоматами Пусть имеются два ш.а.: Аш = (X,S,Y,K,z,g,h,f) и Аш' = (Г,3',Т,К',1\8\к\Г). Ш.а. Аш и Аш' называются рднородными, если X' = X, S' = S, Y' = Y. Однородные ш.а. Аш и А^ш' назовем согласованными, если для любых sgS, к&КглК' и хеХ выполняется {z{k)MsMX},%{s,k^)As,k^)) = {z\k),h\s,k^),%\s,k^)f{s,k^)). С.и.ш.а. {Аш,0) и (Лж'.б') называются однородными (согласованными), если ш.а. Аш и Аш' являются однородными (согласованными). Следовательно, согласованными автоматами являются: 1) любые однородные ш.а. Аш и Аш', если Кс^К' = 0; 2) все с.и.ш.а. {Аш,0), Q^K, соответствующие заданному ш.а. Аш- Ш.а. Аш' называется подавтоматом ш.а. Аш, если Х'сХ, 5'е5, К'сУ, К'сХ, функция z' есть ограничение функции z на множество К' и функции g\ h', f есть ограничения функций g, h, f соответственно на множество 5' х^' хХ'. С.и.ш.а. {Auj',Q') называется подавтоматом с.и.ш.а. (Ля/,0, если ш.а. Аш' - подавтомат ш.а. Аш и б'£б- Подавтоматом ш.а. Аш явля- 263
в. М. Фомичев^ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ ется, в частности, ш.а., задаваемый компонентой связности автоматного храфа автомата Аш- Гомоморфизмом ш.а. Аш в ш.а. Аш' называется четверка отображений (ф1,ф2,фз,ф4) со свойствами: ф1:5-^5', ц>2:К^К', ц>у.Х-^Х', ф4:Г-^Г', где для любых sgS, к&К и х&Х выполняется: z\^{k)) = ф,(г(^)), /г'(ф1(5),ф2(^),фзМ) = <9\{h{s,k,x)), ^'(ф1(^),ф2(^),фз(л)) = <^2{g{s,k,x)), Лф1(^),ф2(^),фз(л)) = (^i(jis,k,x)). Гомоморфизм с.и.ш.а. {Аш,0) в с.и.ш.а. (Аж'.б) - это гомоморфизм ш.а. Аш в ш.а. Аш', при котором ф2(0 = б • Если ф1,ф2,фз,ф4 - биективные отображения, то ш.а. Аш и Аш' называются изоморфными. с.и.ш.а. {Аш,0) и {Аш',0') называются изоморфными, если изоморфны автоматы Аш и Аш' и биективно отображение Q-^Q', индуцируемое отображением ф2. Рассмотрим некоторые операции с ш.а. Определим последовательное соединение ш.а., при котором выход первого автомата рассматривается как вход второго автомата. Последовательным соединением 1-го типа ш.а. Аш\ = {X,Si,Y,Ki,z\,g\,hhf\) и Ашг = (Y,S2,Z,K2,Z2,g2,h2,f2) (обозначение Аш1^^Аш2) называется ш.а. Аш = (X,SixS2,Z,KixK2,z,g,h,f), где для любых S = (s\,S2)e.S\xS2, к = (к\,к2)е.К\хК2 и xgX выполняется: Z(k) = iZiiki), Z2{k2)\ h(s,k,x) = (hi(si,ki,x), h2{s2,k2,f\{shh,x))), g(s,k,x) = (gi{si,ki,x), g2(s2,k2,fi(Sbk\'X))), J{s,k,x) = f2{S2,k2,f\{Shh,x)). Последовательным соединением 1-го типа с.и.ш.а. (АшьбО ч {Ami,Q2) назовем с.и.ш.а. (Ai^A2.<2i^62)- 264
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ Ш.а. Аш = (X,S,Z,K,z,g,h,f) называется прямой суммой ш.а. Аш\ = iXuSi,Yi,Ki,Zug\,hi,fi) и Аип = {XbSbYbKbZbgbhbfi) (обозначение A/z/ix^zm), если X = XixX2, 5 = 5ix52, K=KixK2, Х = Х,хХ2, Y=YixY2 и для всех S = (si,S2)&SixS2, к = (ki,k2)&KixK2 их = (x\,X2)&XixX2: Z(k) = (Zl(^l), Z2(k2)), h(s,k,x) = ihi(si,ki,xi), /12(52,^2^2)), g(s,k,x) = (gl(S\,ki,Xi), g2(S2,k2,X2)), f(s,k,x) = (fl(Sl,ki,Xi),f2(S2,k2,X2))- Прямой суммой с.и.ш.а. (АжьбО и (Aim,Q2) назовем с.и.ш.а. (AixA2,QixQ2). Объединением согласованных ш.а. Ацл = (X,S,Y,Ki,zi,gi,hi,fi) и Aim = {X,S,Y,K2,Z2,gi,hi,fi) (обозначение: Аш{У->Аип) назовем ш.а. Лй/= (X,S,Y,KiKjK2,z,g,h,f), где при любом ^е^,- и любом /е {1,2} (zik),h(s,kr>c),gis,k^)J{s,k^))=i!^iZi(k)Ms,k^),gi(s,k^)/iis,k^)). Объединением согласованных си.ш.а. (Aiui,Qi) и (А/и2,б2) назовем с.и.ш.а. (Aiui^Ain2,QiuQ2). Отсюда следует, что всякий с.и.ш.а. (Аш,0.) является объединением и.ш.а.: (Аш,а)=иА,^(к). (15.10) 15.4. Моноключевые шифрующие автоматы ш.а. назовем моноключевым (м.ш.а.), если g(s,k,x) не зависит 0Т5 и X и реализует тождественное преобразование множества К. М.ш.а. Аш можно задать семеркой: Am=(X,S,Y,K,z,h,f). Поскольку ключ в м.ш.а. не обновляется от такта к так1у, то понятие начального значения ключа равносильно понятию просто ключа. При ключе к функционирование м.ш.а. таково: Si=z{k). (15.11) 265
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ у,=Л5„кл), (15.12) Si+i = hisi,k,Xi). (15.13) Из равенств (15.11) - (15.13) следует, что моноьслючевой и.ш.а. (м.и.ш.а.) Аш(к) является м.ш.а. с одноэлементным ключевым множеством: Auj(k) = (X,S,Y,{k},z,h,fi. Автомат Мили, ассоциированный с моноключевым с.и.ш.а. {Аш,0.), является подавтоматом (X,SxQ,Y,h\f) автомата (X,SxK,Y,h",f'), ассоциированного с м.ш.а. Аш- Автоматный граф м.ш.а. Аш есть совокупность \К\ автоматных графов м.и.ш.а. Аш(к), где ^е^. Подавляющее большинство современных шифров моделируются моноключевыми ш.а., что естественно с точки зрения относительной простоты их реализации и логики развития шифров (имеется в виду - от простого к сложному). В то же время мультиключевые ш.а. обладают высоким потенциалом в смысле усиления криптографических свойств. В частности, периоды их выходных последовательностей могут в принципе превышать в |^| раз периоды выходных последовательностей моноключевых ш.а. с тем же множеством состояний. Кроме того, при эффективной реализации функции обновления ключа g реализация мультиключевого ш.а. усложняется несущественно. 15.5. Криптографические генераторы Автономный ш.а. Ар, задаваемый системой из семи объектов, назовем криптографическим генератором (к.г.): Аг= (S, У, К, Z, g, h,f). Функционирование к.г. определяется равенством (15.1) и следующими равенствами: y,=f{sM (15.14) 5,„ = /г(5,Л), (15.15) k,,x=g{s„k,). (15.16) 266
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ Если множество начальных значений ключа к.г. Ар ограничено непустым множеством Q, где Q^:K, то пара (Ar,Q) называется слабо инициальным к.г. (с.и.к.г.)- Автомат (AnQ) описывается следующей системой: iAr,Q) = (S, Y, {K,Q), z, g, h,f). В частности, если в к.г. Ар начальное значение ключа ^е^ фиксировано, то пара {Ar,{k}) называется инициальным к.г. (и.к.г.). При этом будем обозначать Aiik) = {Аг,{к}) = (5, Y, (К,{к}), z, g, h,f). Из равенства (15.10) следует, что всякий с.и.к.г. (Ar,Q) является объединением и.к.г.: (Ar,Q)=[JAr(k). (15.17) teg Автоматом Мили, ассоциированным с к.г. Л/-(с.и.к.г. (Ar,Q), и.к.г. Аг(к)), является автономный автомате =j(SxK,Y,h\f), где fis,k)=Ks,k), h'(s,k) = (h(s,k), g(s,k)). Из теоремы 15.2 следует, что к.г. Л/-есть автономный с.и.а. Мили (А,п(К)), с.и.к.г. (Ar,Q) есть автономный с.и.а. Мили (A,ti(Q)), где А - автомат Мили, ассоциированный с Л/-. Моноключевой к.г. (м.к.г.) Вг не обновляет значения ключа от такта к такту и задается системой из шести объектов: Br=(S,Y,K,z,h,f). Функционирование м.к.г. определяется равенством (15.11) и следующими равенствами: y,=f(s„k), (15.18) s,^i = h(s„k). (15.19) Моноключевой и.к.г. (м.и.к.г.) Вг{к) является м.к.г. с одноэлементным ключевым множеством: Br{k) = (S,Y,{k],z.h,f). 267
S. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ По определению последовательным соединением 1-го типа к.г. Аг= iSi,Y,Ki,z\,g\,hi,f\) и ш.а. Аш = {Y.SbZKbZbgbhbfi) является к.г. Вг= (SixS2,Z,K\xK2,z,g,h,f), где для любых s = (si,S2)&SixS2 и k = (ki,k2)GKixK2: Z(k) = (Zliki), Z2(k2)), h(s,k) = (hi(si,ki), h2{s2,k2,f\{suki))), g(s,k) = (gi(si,ki), g2is2,k2,fi(Sbki))), J{s,k) =/2(^2^2/1(^1,^1)). Определим друхюй тип последовательного соединения автоматов, при котором выход первого автомата управляет функцией переходов второго автомата. Последовательным соединением 2-го типа к.г. Аг= (S,W,K,z,g\,hi,fi)H а.п.п. Мили Л = (X,W,Y,f2) (обозначение Лг=^Л) называется ш.а. Аш = (X,S, Y,K,z,g,h,f), где для любых s&S, кеКи xgX: J{s,k,x) = fz(fi(s,k),x), g(s,k,x) = gi(s,k), h(s,k,x) = h\(s,k). При таком соединении к.г. Ар называется управляющим блоком, а а.п.п. Мили А - шифрующим блоком ш.а. Аш- 15.6. Эквивалентность ключей и шифрующих автоматов Одной из важнейших проблем теории шифрующих автоматов, непосредственно связанной с оценкой криптографической стойкости шифров, является проблема минимизации ш.а. Дадим некоторые определения, необходимые для рассмотрения данной проблемы. Под реакцией с.и.а. Мили (A,W) = (X,(S,W),Y,h,f) подразумевается множество реакций состояний wgW соответствующего автомата Мили А = (X,S,Y,h,f). В частности, реакция и.а. Мили А„ - это реакция состояния W соответствующего автомата Мили А. 268
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ Сил. Мили (A,W) = iX,(S,W),Y,h,f) и iA\W) = iX,(S\W),Y,h\f) называются эквивалентными (обозначение: (A,W)=(A',W)), если совпадают их реакции. Реакцией и.ш.а. Аш(к) назовем реакцию состояния (z(k),k) автомата Мили А, ассоциированного с и.ш.а. Au/Jc). Иначе говоря, реакция и.ш.а. Ац^к) - это отображение множества открытых текстов во множество шифрованных текстов, реализуемое автоматом Ащ при ключе к. Ключи kviq шифрующего автомата Ащ называются эквивалентными (обозначение: ks.q), если совпадают реакции и.ш.а. Aidk) и Аш(д). Таким образом, если к=д, то автоматы Аш(к) и Аш{д) одинаковый открытый текст зашифровывают в одинаковый шифрованный текст. Реакцией ш.а. Аш (с.и.ш.а. (Аш,0)) назовем множество реакций всех и.ш.а. Аш(к), к^К (keQ). Два ш.а. (с.и.ш.а.) называются :^кйивалентными, если совпадают их реакции. Из определений следует, что эквивалентные ш.а. (с.и.ш.а.) с непустыми множествами состояний и ключей должны иметь одинаковые входные и выходные алфавиты. Ш.а. (с.и.ш.а.) называется сокращенным, если любые его два ключа неэквивалентны. Теорема 15.3. Если сокращенный ш.а. Аш с ключевым множеством Ki эквивалентен ш.а. Вш с ключевым множеством Кг, то \Ki\ = \К2\. Доказательство. Если сокращенные ш.а. Аш и Вш эквивалентны, то при любом к&К\ для инициального автомата Мили Аш(к) найдется эквивалентный ему инициальный автомат Мили Вш{д), д&Кг, причем единственный, иначе Вш не был бы сокращенным. Следовательно, Щ = Щ. ♦ Используя сделанные определения, рассмотрим некоторые следствия из теоремы 9.2 (Хаффмана - Мили), позволяющие оценить длину открытых текстов, достаточную для распознавания эквивалентности ключей и самих ш.а. Теорема 15.4. Для распознавания эквивалентности ключей кк q ш.а. Аш = (X.S, Y,K,z,g,hf) достаточно для каждого открытого текста а длиной 269
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ не больше |i^|5|-l проверить совпадение шифрованных текстов, полученных при зашифровании а с использованием ьслючей к и д. Вследствие этого проблема распознавания эквивалентности ключей ш.а. алгоритмически разрешима. Доказательство. Из теоремы 15.2 следует, что для распознавания эквивалентности ключей к и q ш.а. Аш достаточно распознать эквивалентность состояний (z(k),k) и (z(q),q) автомата Мили А, ассоциированного с ш.а. Аш- Число состояний автомата А равно |Л"Н5|, поэтому по теореме 9.2 имеем, что для распознавания эквивалентности ключей ки q ш.а. Аш достаточно проверить реакцию состояний (z(k),k) и (z(q),q) автомата Мили А на входные слова длиной не больше l^^l-^l-l • ♦ Теорема 15.5. Для распознавания эквивалентности ш.а. Aш=(X,S,Y,K,z,8Лf) и Аш' = {X,S\Y,fO,z\g\h\f) (с.и.ш.а. {Аш,0) и {Аш',0.')) достаточно проверить совпадение их реакций на семейство всех открытых текстов длиной, не больше |Л]-|5|+|А"'|-|5'|-1. Вследствие этого проблема распознавания эквивалентности ш.а. (с.и.ш.а.) алгоритмически разрешима. Доказательство. Проверка эквивалентности ш.а. Аш и Аш' (с.и.ш.а. {Аш,0) и {Аш',0.')) сводится к проверке эквивалентности состояний автомата В = AvjA', где А и А' есть автоматы Мили, ассоциированные с ш.а. Аш и Аш' соответственно. Так как множества состояний автоматов А и А' не пересекаются, то число состояний автомата В равно |/(f|-|5|+|A"'|-|5'|, поэтому по теореме 9.2 имеем, что для распознавания эквивалентности ш.а. Аш и Аш' (с.и.ш.а. {Аш,0.) и (Аш',Q')) достаточно проверить их реакцию на входные слова длиной не больше |/(f|-|5|+|A"'|-|5'|-l. ♦ Теорема 15.6. Для распознавания эквивалентности ключей к и q м.ш.а. Аш = {X,S, Y,K,z,h,f) достаточно для каждого открытого текста а длиной не больше 2|5|-1 проверить совпадение шифрованных текстов, полученных при зашифровании а с использованием ключей kw.q. Доказательство. Для распознавания эквивалентности ключей к и q м.ш.а. Аш достаточно распознать эквивалентность состояний {z{k),k) и {z(q),q) автомата Мили В, ассоциированного с моноключевым с.и.ш.а. iAш,{k,q}) = Aш{k)\JAш{q). 270
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ Так как число состояний автомата В равно 2-|5|, то по теореме 9.2 имеем, что для распознавания эквивалентности ключей кпд м.ш.а. Аш достаточно проверить совпадение шифрованных текстов, полученных при зашифровании с использованием ключей ки q открытых текстов длины не большей 2-|5|-1. ♦ Теорема 15.7. Для распознавания эквивалентности м.ш.а. Аш= (X,S,Y,K,z,h,f) иЛ/z/' = (X,S\Y,K',z\h',f) (моноключевых с.и.ш.а. (■^ш,0) и (Auj\Q')) достаточно проверить совпадение их реакций на семейство всех открытых текстов длиной, не больше |5|+|5'|-1. Доказательство. Проверка эквивалентности м.ш.а. Аш и Аш' (моноключевых с.и.ш.а. (Аш,0) и (Aш',Q')) сводится к проверке эквивалентности каждого ключа ^еС^1екоторому ключу qslC и эквивалентности каждого ключа qsK' некоторому ключу ^е^. Для распознавания эквивалентности двух таких ключей к и q достаточно распознать эквивалентность состояний (z(k),k) и (z'(q),q) автомата BkjB', где В и В' есть автоматы Мили, ассоциированные с м.и.ш.а. Аш{к) иAш\q) соответственно. Так как множества состояний автоматов В и В' не пересекаются, то число состояний автомата ВиВ' равно |5|-ь|5'|, поэтому по теореме 9.2 имеем, что для распознавания эквивалентности м.ш.а. Аш и Аш' (моноключевых с.и.ш.а. (Аш,0.) и (Aш',Q')) достаточно проверить их реакцию на входные слова длиной не больше |5|+|5'|-1. ♦ Теорема 15.8. Для каждого ш.а. Аш (с.и.ш.а. (Аш,0)) может быть эффективно построен эквивалентный ему сокращенный ш.а. (сокращенный с.и.ш.а.). Доказательство. Разобьем ключевое множество К ш.а. Аш (множество Q начальных значений ключа с.и.ш.а. (Aш,Q)) на классы эквивалентности, что можно эффективно вьшолнить согласно теореме 15.4. Сокращенный ш.а. Вш (с.и.ш.а. (Вш,й')) имеет вид: Вш=(Х,3,¥,К',1\к',Г), (Вш,а1 = (Х, S, Y, iK\Q'), z\ h\f), где К'- система представителей всех классов эквивалентных ключей ш.а. Аш, Q'=K'nQ, 271
S. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ функция z' есть ограничение функции z на множество К\ а функции /г' и/ есть ограничения функций h и/соответственно на множество SxK'xX. ♦ 15.7. Различимость входов Необходимым свойством ш.а. является способность при любом ключе зашифровывать различные открытые тексты (начиная с некоторой длины) в различные шифрованные тексты. В противном случае не обеспечена однозначность расшифрования криптограммы, полученной при использовании некоторого ключа. В связи с этим условие различимости входов для ш.а. формулируется существенно жестче, чем для автомата Мили. В связи с рассмотрением различимости входов ш.а. введем следующие понятия. Открытые тексты v и w в алфавите X называют неразличимыми и.ш.а. Аш{к), если для любого ugX* J*(z(k),k,v-u) =J*iz(k),k,w-u). В противном случае открытые тексты v и w различимы и.ш.а. Аш{к). В частности, любые два открытых текста в алфавите X различной длины различимы всяким и.ш.а. Будем говорить, что открытые тексты v и w в алфавите X неразличимы си.ш.а. (Аш,0) (ш.а. Аш), если при некотором ksQ (кеК) эти слова неразличимы и.ш.а. Аш{к). Открытые тексты v и w в алфавите X различимы си.ш.а. (Аш,0) (ш.а. Аш), если при любом keQ (кеК) эти тексты различимы и.ш.а. Auik). Ш.а. Аш (с.и.ш,а. (Аш,0), и.ш.а. Аш(к)) различает входы, если любые различные открытые тексты различимы этим ш.а. (си.ш.а., и.ш.а.). Теорема 15.9. Открытые тексты v и w неразличимы и.ш.а. Аш(к) тогда и только тогда, когда эквивалентны состояния (h*(z(k),k,v), g*(z(k),k,v)) и {h*(z(k),k,w),g*{z(k),k,w)) автомата Мили А, ассоциированного с ш.а. Аш, и выполнено равенство J*(z(k),k,v) =J*izik),k,w). 272
Глава 15. ШИФРУЮЩИЕ АВТОМАТЫ Доказательство, Пусть открытые тексты v и w неразличимы автоматом Аш{к). Тогда для всех ugX* по теореме 15.1 имеем: r(zik),k,v)r(h4zik),k,v),g*(zik),k,v),u) =f'{z{k),k,v-u) = =rizik),k,w-u)=J*(zik),k,w)rih*izik),k,w),g*(z{k),k,w),u). Сравнивая соответственные части составных слов, записанных в крайних звеньях данной цепочки равенств, получаем, что, во-первых, требуемое равенство выполнено и, во-вторых, эквивалентны указанные состояния автомата Мили А, ассоциированного с ш.а. Аш- Обратное утверждение доказывается рассуждениями в обратную сторону. ♦ Из теорем 9.4 и 15.2 следует, что проблема распознавания различимости входов шифрующим автоматом (с.и.ш.а., и.ш.а.) алгоритмически разрешима. В заключение заметим, что понятийная база данной главы позволяет изучать многообразие как существующих, так и перспективных симметричных шифров как специальный класс автоматов Мили. 15.8. Задачи и упражнения 15.1. Сколько имеется различных ш.а. с входным, внутренним и выходным алфавитами мощности соответственно г, п и т и ключевым множеством мощности q при условии, что хотя бы одна из функций z,h,f зависит от ключа существенно? 15.2. Число состояний и ключей ш.а. Ai (ш.а. Лг) равно соответственно п\ и q\ (п2 и qi), и ключевые множества автоматов не пересекаются. Сколько состояний и ключей имеет: а) последовательное соединение 1 -го типа ш.а. А\ пАг, б) прямая сумма ш.а. А\ и Лг; в) объединение ш.а. А\ и Лг? 15.3. Следует ли из сильной связности двух ш.а. сильная связность их прямой суммы, объединения? В случае отрицательного ответа приведите иллюстрирующий пример. 15.4. Сколько тактов функционирования ш.а. A = {V\,V,„V\,Vm,z,g,hJ) достаточно реализовать для распознавания: а) эквивалентности двух его ключей; б) его coKpanteHHOCTH? 273
S. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 15.5. Каково наибольшее из возможных значений периода выходной последовательности к.г. Ар = {S,Y,K,z,g,h,j)1 Проиллюстрируйте примером. 15.6. Пусть А = (S,Y,K,z,g,h,f) и Л' = {S,Y,K\z\g\h\f) - согласованные к.г. Докажите, что период выходной последовательности к.г. ЛиЛ' при любом ключе не превышает |5|-max{|A[W|,|^'\/ir|, \fCr\K\). 15.7. Пусть Ащ = (X,S,Y,K,z,g,h,f) - последовательное соединение 2-го типа к.г. Ар = (S,W,K,z,gi,hi,fi) и а.п.п. Мили А = {X.W.Yfi), где функция выходов/2(и',х) автомата А биективна по х. 1) Докажите, что Аш различает входы. Каковы уравнения функционирования автомата, реализующего расшифрование? 2) Оцените период Т выходной последовательности ш.а. Ащ, если период выходной последовательности к.г. Аг равен t и период входной последовательности автомата А равен т. 15.8. Пусть функции h и / ш.а. Аш = (X,S,Y,K,z,g,h,f) зависят от ключа несущественно. Докажите, что: а) ш.а. Аш эквивалентен некоторому м.ш.а.; б) его сокращенный автомат имеет не более mm{|5|,|Z(^|} состояний, где Z(K) - область значений функции z- Сформулируйте критерий эквивалентности ключей ш.а. Аш в терминах автомата Мили, ассоциированного с Аш- 274
Глава 16. ПОТОЧНЫЕ ШИФРЫ 16.1. Различия между поточными и блочными шифрами Поточные шифры относятся к шифрам замены, преобразующим посимвольно открытый текст в шифрованный. Поточный алгоритм зашифровывает г-й символ X, из алфавита X открытого текста в г-й символ у, из алфавита Y шифрованного текста с использованием меняющихся от такта к такту шифрующих отображений ф,:Х-^У, г = 1,2,... Традиционно шифры замены строились по принципу поточного шифрования и в качесргве шифруемых символов использовались буквы или биграммы. Е^ электронных поточных шифрах в качестве шифруемых символов фигурируют чаще всего биты или байты. При использовании шифрования в высокоскоростных системах передачи данных наиболее высокой скоростью шифрования характеризуются аппаратно-реализованные поточные шифры. В отличие от поточных шифров блочные шифры с использованием (как правило) неизменного отображения обрабатывают блоки информации. Блочный принцип присущ традиционным шифрам перестановки. Например, в маршрутных перестановках блок информации состоит из тп букв, записываемых в таблицу размера тх«. Однако понятие блочного шифра появилось и сформировалось лишь в начале 70-х гг. XX в., когда назрела необходимость в электронных шифрах замены для обработки компьютерной информации. Необходимость разработки нового класса блочных шифров была вызвана в основном двумя обстоятельствами: функциональной несовместимостью аппаратуры поточного шифрования и вычислительных машин, а также тем, что программы шифрования компьютерной информации, использующие посимвольную обработку данных, не могли достичь необходимых скоростей. Это стимулировало разработку нового класса шифров с блочным принципом обработки информации и с более высокой производительностью шифрования. С учетом разрядности современных компьютерных процессоров наиболее удобны для программной реализации симметричные блоч- /1И^/1ОГтИ0И 275
S. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ные шифры с размером п обрабатываемых блоков данных от 64 до 256 бит, где п кратно 32. Заметим, что граница между поточными и блочными шифрами весьма условна. Позднее мы укажем симметричные шифры, наделенные признаками как поточных, так и блочных шифров. 16.2. Синхронные поточные шифры Поточные шифры разделяются на синхронные (СПШ) и асинхронные (или самосинхронизирующиеся - ССПШ). Криптосхема СПШ состоит из управляющего и шифрующего блоков. Управляющий блок генерирует управляющую последовательность {у,}, которая используется для формирования шифрующих отображений ф^ , t = 1,2,... Управляющую последовательность часто называют управляющей гаммой, а управляющий блок - генератором гаммы (так как традиционно члены управляющей последовательности обозначались греческой буквой у). Шифрующий блок зашифровывает символ открытого текста х, в символ шифрованного текста j, с использованием отображения ф^ , t= 1,2,... Управляющий блок поточного шифра моделируется криптографическим генератором G = {S,r,K,z,g\,h\,f\), шифрующий блок - автоматом Мили с постоянной памятью А = (Х,Г,¥/2) (множество Г возможных состояний памяти автомата А совпадает с выходным алфавитом к.г. Ар), а СПШ в целом моделируется ш.а. Аспш= (X,S,Y,K,z,g,h,f), являющимся последовательным соединением 2-го типа к.г. G и автомата ^: Аспш^С^А. В t-M такте, t = 1,2,..., к.г. G генерирует знак гаммы у,, y,=Ms„k,), (16.1) 276
Глава 16. ПОТОЧНЫЕ ШИФРЫ который записывается в память автомата А. Под воздействием знака у, а.п.п. А зашифровывает знак х, открытого текста в знак у, шифрованного текста с помощью отображения ф^ : %^(х,) =/2(У„х,) = у, (16.2) Множество Ф = {фуГуеГ} шифрующих отображений поточного шифра есть множество подфункций функции /гСуд), соответствующих всевозможным фиксациям переменной у. Далее ограничимся рассмотрением подстановочных поточных шифров, каковыми являются практически все современные поточные шифры. Для таких шифров алфавиты Хи¥равномощны и однозначность расшифрования)обеспечивается в том и только в том случае, когда функция/2(у,х) биективна по переменной х. Если X = Y, то при любом фиксированном у функция /гСу.х) является подстановкой на множестве X. В силу естественных соображений, связанных с упрощением реализации шифра и повышением производительности шифрования, при построении поточных шифров предпочтение отдается моноключевым к.г. Если управляющий блок моделируется м.к.г. G = {S,r,K,z,huf\), то СПШ моделируется м.ш.а. Аспш = (X,S,Y,K,z,h,f), где Аспш = G^>A и уравнения шифрования при использовании ключа к имеют вид y,=f2(fiis„k),x,),t= 1.2,... (16.3) Уравнения расшифрования при использовании ключа к имеют вид X, = Wiisi,k),y,), / = 1,2,..., (16.4) где при любом фиксированном уеГ отображение \]i(y,y) множества У^Х является обратным к отображению /2(у,х) множества X^^^Y (такие отображения существуют в силу биективности функции/2(у,х) по переменной х). По способу построения моноключевые генераторы гаммы, используемые в СПШ, делятся на два вида. Первый вид генераторов образуют генераторы с внутренней обратной связью (internal feedback), у которых функция выходов/i не зависит от ключа к. Име- 277
a М. Фомичвв. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ_ ется разновидность этого класса генераторов, в которых от ключа зависит только начальное состояние. Второй вид - генераторы типа счетчика (counter mode), они отличаются тем, что от ключа зависит только функция выходов/]. Генераторы второго класса в отличие от генераторов первого класса позволяют вычислить г-й бит гаммы, не вычисляя всех предыдущих битов. Для этого генератор устанавливается в г-е внутреннее состояние, после чего вычисляется соответствующий ему г'-й бит гаммы. Это свойство полезно использовать для обеспечения случайного доступа к файлам данных; оно позволяет расшифровать отдельный фрагмент данных, не расшифровывая файл полностью. Схема реализации шифрования дискретных сообщений с использованием СПШ показана на рис. 16.1 Генератор гаммы Генератор гаммы Шифрующий блок (зашифрование) I Шифруюпщй блок (расшифрование) X. Рис. 16.1. Шифрование дискретных сообщений с использованием синхронного поточного шифра Отправитель сообщения устанавливает заранее оговоренный ключ к генератора и, вычислив криптограмму в соответствии с уравнениями шифрования (16.3), отправляет ее получателю. Для расшифрования получатель использует идентичный генератор гаммы, в который устанавливает тот же ключ к. Шифрующий блок получателя в режиме расшифрования вычисляет открытый текст по криптограмме в соответствии с уравнениями расшифрования (16.4). В СПШ генерируемая гамма не зависит от открытого текста (генератор G автономен). Поэтому СПШ функционирует исправно до тех пор, пока устройства, реализующие шифрование и расшифрование на концах линии связи, работают синхронно, то есть не имеет места расшифрование ишфрованного знака у, с использованием знака 278
Глава 16. ПОТОЧНЫЕ ШИФРЫ гаммы у,, ii^. Такие нежелательные сбои, называемые рассинхрони- зацией, могут наступить из-за различных скоростей работы аппаратуры на приемном и передающем концах, удаления знаков при передаче в канале и др. Сбои могут повлечь неправильное расшифрование всего последующего отрезка сообщения. Если это случается, отправитель и получатель должны каким-то образом восстановить синхронизм работы генераторов гаммы прежде, чем продолжить сеанс связи. Обычно проблемы восстановления синхронизма решаются либо с помощью повторного шифрования с реинициализацией ключа обоими абонентами (повторное использование гаммы как минимум нежелательно, а для некоторых шифров вовсе исключено!), либо с помощью разбиения текста на блоки, начала и окончания которых снабжаются маркерами - специальными «пограничными» символами. Во втором случае рассинхронизация приводит к некорректному расшифрованию лишь до тех пор, пока получателем не будет принят один из маркеров. К положительным сторонам СПШ следует отнести то, что они не размножают искажений знаков текста, которые довольно часто имеют место при передаче по каналам связи. Если при отправлении сообщения был искажен знак х, или при передаче по каналу связи был искажен знак у,, то при синхронной работе генераторов эти искажения не повлияют на правильность расшифрования всех знаков, кроме г-го. Как мы увидим ниже по тексту, это свойство не присуще ССПШ. СПШ защищают передаваемое сообщение от несанкционированных вставок и удалений отрезков текста, так как в этих случаях произойдет рассинхронизация и «вмешательство» будет немедленно обнаружено. В то же время СПШ не вполне защищают от умышленной подмены отрезка сообщения на другой отрезок такой же длины. Если злоумышленнику известен отрезок открытого текста, то ему не составляет труда подменить его таким отрезком, который расшиф- руется в требуемый фрагмент текста. 279
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 16.3. Самосинхронизирующиеся поточные шифры ССПШ также состоит из з^фавляющего и шифрующего блоков с аналогичным функциональным назначением. Однако имеются отличия в строении управляющего блока и в схеме взаимодействия блоков. Если шифрующий блок ССПШ моделируется тем же а.п.п. Мили А = (Х,Г,У/2), то управляющий блок построен на основе неавтономного м.ш.а. В = (Y,Y^"\r,K,z,hi,fi), где п - натуральное число и z - элемент множества Y^"\ не зависящий от ключа. ССПШ в целом моделируется м.ш.а. Асспш — (X,Y^"\Y,K,z,h,f) с об- ратной связью по шифртексту (output feedback mode), где для лю- быххеЛ', кеКиу = (уиуъ...,у„)е¥^"^ fiy,k,x) =Ш\(у,к),х), h(y,k^) = (y2,--;ynJb>k^))- Таким образом, не только м.ш.а. В управляет автоматом А (способ управления тот же, что и в СПШ), но и автомат А управляет м.ш.а. В за счет обратной связи, выдавая знаки шифртекста не только на выход автомата Асспш, но и на вход автомата В. Уравнения шифрования и расшифрования здесь те же, что и для СПШ. Важное отличие от СПШ заключается в функции переходов, которая устроена так, что генерируемая гамма зависит от предшествующих битов шифртекста: Уг+1 =f\(y,.,n\,y,.n+2,...,yi,k),t>n. (16.5) Реализация шифрования дискретных сообщений с использованием ССПШ показана на рис. 16.2 Каждое внутреннее состояние управляющего блока ССПШ (за исключением первых п состояний) заполняется п предыдущими знаками шифртекста. Поэтому если п следующих подряд знаков шифртекста не подвергаются искажению при передаче по линии связи, то ш.а. на приемном и передающем концах устанавливаются в одинаковые внутренние состояния и, следовательно, вырабатывают при этом одинаковые знаки гаммы. Таким образом происходит самосинхронизация ш.а. 280
Глава 16. ПОТОЧНЫЕ ШИФРЫ Ключ к Э" X, Внутренние состояния ^ генератора 1 Функция выхода У: и Шифрующий блок (зашифрование) V, Внутренние состояния генератора V Функция выхода V-V Шифруюп^ий блок (расшифрование) Ключ к X, Рис. 16.2. Шифрование дискретных сообщений с использованием асинхронного поточного шифра Как правило, каждое шифруемое сообщение начинается не с содержательного текста, а со случайного отрезка из п знаков, который шифруется, передается и затем расшифровывается. И хотя расшифрование этого отрезка реализуется некорректно в силу несовпадения начальных состояний генераторов, после передачи п начальных знаков генераторы синхронизируются. Для затруднения криптоанализа м.ш.а. Асспш по первым п знакам шифртекста его начальное состояние (значение функции инициализации) целесообразно выбирать случайным образом для каждого сообщения. Слабой стороной ССПШ является размножение ошибок. Единичная ошибка в шифртексте порождает п ошибок в открытом тексте. ССПШ уязвимы также по отношению к имитации сообщений. Злоумышленник может записать некоторый перехваченный им отрезок шифртекста и позже отправить его в адрес. После нескольких нестыковок в начале сообщения (до п знаков) посланный отрезок рас- шифруется верно и получатель не сможет определить, что принял устаревшее сообщение, если это сообщение не содержит метки времени. Подобная имитация также невозможна, если менять ключи при каждом новом сообщении. 281
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМАТИКА И КРИПТОЛОГИЯ _ __ _ 16.4. Шифры гаммирования Шифрами гаммирования называют подстановочные поточные шифры, в которых X = Y и двумерное табличное задание шифрующего отображения/гСу.л:) образует латинский квадрат в алфавите X. Если множество Ф = {cpyiyeT") шифрующих подстановок шифра гаммирования образует группу или смежный класс по некоторой подгрутше полной симметрической группы степени \Х\, то такой шифр гаммирования называют групповым. Удобством реализации отличаются моноключевые шифры гаммирования, в которых X = Y = Г = Zm- кольцо вычетов по модулю m и операция шифрования fz есть сложение или вычитание по модулю т одного из следующих типов: /гСуд) = (±x±Y)modm. Такие шифры являются групповыми и называются шифрами модульного гаммирования. Наиболее удобными с точки зрения практического применения являются шифры модульного гаммирования, которым соответствуют уравнения шифрования у, = х,Фу„ у, = (±у, - x,)modm. Удобство таких шифров заключается в их обратимости, то есть шифрующие блоки при зашифровании и расшифровании функционируют идентично. 16.5. Криптографические свойства поточных шифров Для обеспечения высокой криптографической стойкости шифрования важны как свойства соответствующего ш.а., так и устройство криптографического протокола, определяющего порядок использования шифра. Рассмотрим особенности ш.а. и криптографических протоколов, используемых в поточных шифрсистемах. 282
Глава 16. ПОТОЧНЫЕ ШИФРЫ 16.5.1. Повторное использование гаммы Важным свойством криптохрафических протоколов СПШ является запрет на многократное использование одинаковой гаммы для шифрования различных текстов. Для шифров гаммирования исключено даже повторное шифрование на одном ключе. Покажем это на примере синхронного шифра модульного гаммирования с уравнениями шифрования у, = (x,+y,)modm. (16.6) Пусть криптоаналитик располагает двумя криптограммами У\ >У2 ,---,уы И у^,у2',...,уы', полученными наложением одинаковой гаммы на различные открытые тексты xi', хг,..., л:^' и х\', Х2',...,х^': у,' = (x/+y,)modm, у} = {х} + y,)modm, t= 1,2,... Требуется восстановить открытые тексты. Рассмотрим разность имеющихся криптограмм, которая не зависит от гаммы: у^-у} = {х^-х, )modm, t= 1,2,... Следовательно, решение задачи сводится к подбору двух открытых текстов, разность которых задана. Угадав фрагмент одного открытого текста (используя заранее известные стандарты или тематику, свойственные данному источнику открытых сообщений), легко вычислить фрагмент другого открытого текста. Имея одну или несколько таких «привязок» на различных позициях текстов, можно попытаться продолжить как влево, так и вправо угадывание текстов, используя грамматические связи языка, а также смысловые и логические связи текстов. Поиск возможных вариантов продолжения угаданных фрагментов текстов можно реализовать как перебор знаков, упорядоченный по убыванию апостериорных вероятностей. При этом для любого t используется заранее вычисленное эмпирическое распределение вероятностей знаков разности открытых текстов: Р{л:,' = V', X, = v-u/y, -у, = и], v,ueX. 283
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ Данный метод не всегда приводит к полному успеху. Однако если правильно восстановлены части текстов, то это позволяет крипто- аналитику восстановить гамму и заняться определением ключа по известным знакам гаммы. Существенно проще решается данная задача для двух открытых текстов, отличающихся лишь вставкой одного или нескольких символов. Рассмотрим используемый в этом случае криптоаналитиче- ский метод восстановления текстов, который получил название атаки с помощью вставки символа (insertion attack). Пусть открытый текст ХиХ2,Х2,Х4,... с помощью гаммы уьУ2,Уз,У4,-- преобразуется в соответствии с уравнениями шифрования (16.6) вшифртекст у\,у2,Уъ,У4>-- Криптоаналитику известен шифртекст, но не известны открытый текст и гамма. Предположим также, что криптоаналитик располагает еще одной криптограммой, полученной зашифрованием той же гаммой видоизмененного открытого текста, полученного из оригинального открытого текста вставкой в некоторой позиции известного бита х'. Пусть видоизмененный открытый текст есть xi,x',X2,X2,X4,..., а соответствующий шифртекст есть у\,у2',Уз',У4',У5',-- По двум шифртекстам можно определить, начиная с момента вставки, и гамму и открытый текст: У2 = yi'-x'; Х2 = у2-У2; Уз^Уз'-Хъ хз = уз-уз; У4 = ^4-^3; Х4 = У 4-у4 - Момент вставки символа х' можно определить, сравнивая видоизмененный и оригинальный шифртексты. Если значение вставленного символа неизвестно, то можно реализовать перебор вариантов этого значения. Для защиты от атаки с помощью вставки символа достаточно никогда не использовать одинаковые отрезки гаммы для повторного шифрования. 16.5.2. Выход гаммы в линию связи При эксплуатации поточного шифра недопустимым является выход отрезка гаммы y/,y,+i,...,Y,>j.i в линию связи, // - натуральные 284
Глава 16. ПОТОЧНЫЕ ШИФРЫ числа. Такое событие может произойти в результате неисправности аппаратуры шифрования и может повлечь неприятные последствия двух видов. Во-первых, активный противник может отправить получателю ложное сообщение (длиной не более t знаков), зашифровав его с помощью перехваченной гаммы. Эта опасность подобна той, что имеет место при эксплуатации асимметричной криптосистемы, когда база открытых ключей общедоступна и не защищена от навязывания ложных сообщений активным противником. Во-вторых, криптоаналитик может попытаться определить по полученному отрезку гаммы ключ к управляющего блока, что, как правило, проще, чем пытаться определить ключ по шифртексту. В случае успеха криптоаналитик получит доступ ко всей информации, зашифрованной с использованием ключа к. 16.5.3. Восстановление текста, зашифрованного неравновероятной гаммой Одним из важнейших для стойкого шифрования свойств поточных шифров является равновероятность гаммы, вырабатываемой управляющим блоком. Рассмотрим на примере синхронного шифра модульного гаммирования, как может быть использована неравновероятность гаммы для вскрытия шифра. Для определенности рассмотрим гаммирование в соответствии с уравнениями (16.6). Уточним вероятностную модель шифра. Пусть /?, есть вероятность использования знака / в гамме, / = 0,1,2 т-1, и не все из вероятностей /7о, /71,..., р,„. 1 равны \/т. Требуется дешифровать криптограмму у\, уг,-.., уы, полученную при зашифровании обычного литературного текста с использованием данного шифра гаммирования. Заметим, что для оценки вероятностей /?, знаков гаммы можно использовать два подхода: либо рассчитать вероятности /л в рамках определенной вероятностной модели шифра, используя закон образования гаммы (криптосхему генератора гаммы), либо рассчитать их с учетом уравнений шифрования (16.6), используя частоты знаков 285
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОПОГИЯ криптохраммы и вероятностное распределение знаков открытых текстов. Рассмотрим вначале более простую задачу, когда некоторые знаки вовсе не встречаются в гамме. Без ущерба для общности положим: PO>P\>...>Pr-i>0, Рг = Рг+\ = ...=Рт-\=0, (16.7) где г<т. В этих условиях заметим, что в t-м такте шифрованию подвергалась одна из г следующих букв открытого текста, t = 1,2,...,TV: л:,' =у,,х, = (уг-^)тойт, ...,xj = (jj-r+Omodm. Поэтому открытый текст может быть получен методом чтения в колонках, то есть подбором t-то знака в t-vi колонке табл. 16.1, t = 1,2,...,7V (элементы таблицы рассматриваются по модулю т). Таблица 16.1 у\у 0 1 г-1 У\ У\ У1-1 yi-r+l У2 Уг у 2-1 У2-Г+1 У> У/ Уг1 УгГ+1 Уы Уи Уы-\ Улгг+1 Заметим, что знаки в каждой колонке упорядочены по вероятности их использования в открытом тексте. Это облегает чтение в колонках, так как «читаемый текст» с повышенной вероятностью расположен в верхних строках таблицы. Данный метод относится к методам бесключевого чтения, то есть к методам восстановления открытого текста без предварительного определения ключа. Применение метода чтения в колонках тем успешное, чем меньше высота колонок г, характеризующая многозначность решения задачи. При г, близких к т, чтение в колонках теряет всякий смысл, так как таблица содержит большое количество не только осмысленных, но и взаимно противоречивых открытых текстов. Критическое значение высоты колонок г определяется, исходя из свойств языка источника открытых текстов и вероятностного распределения (16.7). Если теперь вернуться к общей постановке задачи, когда нельзя исключить использования ни одного знака гаммы, то метод чтения в 286
Глава 16. ПОТОЧНЫЕ ШИФРЫ колонках необходимо несколько изменить. Для составления таблицы надо исключить из рассмо1рения т-г наименее вероятных знаков гаммы. Действовать при этом можно так же, как и раньше, но надежность такого метода меньше 1 в связи с возможностью потери истинного решения (открытого текста). 16.5.4. Критерии оценки криптографических свойств управляющего и шифрующего блоков Криптографическая стойкость поточного шифра характеризуется близостью его свойств к свойствам идеального шифра. Поэтому всякий поточный шифр можно рассматривать как более или менее искусную подделку под идеальный шифр. Криптографические свойства поточного шифра определяются свойствами как шифрующего, так и управляющего блоков. Напомним, что шифрующий блок задается отображением fiiy.xyTxX-^Y или, что равносильно, множеством Ф = {фу.уеТ"} шифрующих отображений поточного шифра (cpyiX-^F), определяемых равенством (16.2). Порядок использования отображений из множества Ф для шифрования текста определяется гаммой управляющего блока шифра. Наилучшая подделка под идеальный шифр получается тогда, когда последовательность шифрующих отображений {ср^ }, t = 1,2,..., имитирует последовательность независимых случайных отображений X-^Y. Отсюда можно вывести два необходимых условия криптографически стойкого СПШ: 1) при каждом фиксированном хеХ отображение/2(y,x) является сбалансированным, откуда следует, что |У|, так же как и |Х|, делит \Г\ (для шифров гаммирования это условие обеспечено свойствами латинского квадрата/2(у,л)); 2) при случайном равновероятном выборе начального значения ключа к управляющая гамма {у,} наилу1шим образом имитирует последовательность независимых случайных величин, распределенных равномерно на множестве Г (то есть РРСП в алфавите Г). 287
a М. Фомичев. ДИСКРЕТНАЯ MA ТЕМА ТИКА И КРИПТОЛОГИЯ_ При этих условиях шифрованный текст, вырабатываемый СПШ, имитирует РРСП в алфавите Y. Из второго условия вытекают конкретные требования к управляющей гамме СПШ. 1. Управляющая гамма должна иметь большой период (многократно превосходящий длину открытого текста, закрываемого СПШ) и не содержать длинных повторяющихся отрезков, иначе это было бы равносильно повторному использованию гаммы. 2. Управляющая гамма должна обладать рядом статистических свойств, присущих РРСП в алфавите /". В частности, частота встречаемости в гамме всякой г-граммы должна быть близка к \Г\''^ для г= 1,2,...,Го, где Го- некоторая константа, определяемая возможностями вскрытия СПШ с использованием неравновероятности муль- тиграмм гаммы. 3. Зависимость между знаками управляющей гаммы должна быть сложной настолько, чтобы восстановление гаммы по ее достаточно длинному отрезку являлось трудоемкой вычислительной задачей. В частности, управляющая гамма должна иметь большую линейную сложность. 4. Система уравнений, связывающая неизвестные элементы ключа к с известными знаками гаммы, должна иметь высокую сложность решения, исключающую возможность практической реализации алгоритма решения *. Ключ к, при котором управляющая гамма не удовлетворяет хотя бы одному из условий 1-3, назовем слабым ключом СПШ. В связи с этим определением условия 1-3 необходимо дополнить оговоркой: либо использование слабых ключей должно быть исключено, либо доля слабых ключей не должна превышать допустимой (с точки зрения пользователя шифра) доли информации, которая может быть дешифрована криптоаналитиком. Криптографические свойства ССПШ определяются свойствами шифрующего блока и отображения/i:}^"'x^r-^r. * Конкретные параметры условий 1-3 определяются с учетом требований пользователя к шифру и возможностей криптоаналитика противника. 288
Глава 16. ПОТОЧНЫЕ ШИФРЫ Условия, обеспечивающие стойкое шифрование с использованием ССПШ, в отношении шифрующего блока те же, что и для СПШ. Отображение управляющего блока при ключе к должно имитировать случайное отображение Y^''^-^Г. Детализация этого условия обычно увязывается со свойствами определенного класса ш.а. и соответствующими методами криптоанализа. Во всяком случае это отображение должно быть сбалансированным, то есть |Г| должен делить \Y\" (иначе можно считать, что к - слабый ключ ССПШ). Указанные свойства можно обеспечить в той или иной мере подбором конструктивных элементов криптосхем поточных шифров. 16.6. Задачи и упражнения 16.1. Сколько имеется различных ш.а. с внутренним и выходным алфавитами мощности соответственно « и m и ключевым множеством мощности q, реализующих подстановочный СПШ? Управляющая гамма состоит из знаков алфавита мощности г. 16.2. Для шифра гаммирования в алфавите Z„ определите период t преобразования ф(у1,у2,---.У/), выполняемого над словами длиной г с использованием отрезка гаммы у\,у2,---,Уг- 16.3. Докажите, что СПШ не имеет эквивалентных ключей тогда и только тогда, когда управляющий блок при различных ключах порождает различную гамму и шифрующий блок является сокращенным автоматом Мили. Сформулируйте соответствующий критерий для шифра гаммирования. 16.4. Опишите группу шифра гаммирования по модулю т. 16.5. Криптоаналитику, перехватившему криптограмму у1,у2,•••,}'/, известно, что она получена с использованием синхронного шифра гаммирования при зашифровании текста а\,а2,..;а, в соответствии с уравнениями шифрования (16.6). Какой шифртекст ему следует навязать получателю, чтобы тот расшифровал сообщение b\,b2,.-.,b,l 16.6. Криптограмма уьУг,.-,У/ получена при зашифровании текста а\,аь...,а, с использованием синхронного шифра гаммирования по модулю 10. Улучшатся ли криптографические свойства шифрования, если Э7у криптограмму повторно запшфровать, используя тот же от- 289
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ резок гаммы; другой отрезок гаммы, сгенерированный независимо от первого отрезка? 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. Принципы построения блочных шифров Всякий СБШ может использоваться в нескольких режимах шифрования. Базовый режим, на основе которого построены все остальные режимы, называется электронной кодовой книгой (англ. - ЕСВ) или простой заменой. ^И/1/10Гг11Г1(ЗГ1 291
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Блочный шифр в режиме ЕСВ можно рассматривать как м.ш.а. без памяти (то есть 5 = 0) Аесв = {X,Y,K,f), где X = Y = Fa,, и функция выходов/(л:Л) биективна по входной переменной х. Уравнения шифрования при ключе /:е^Г имеют вид; y,=f{x„k) = Ek{x,),t= 1,2,... (17.1) где Ек{х) есть при любом ке^К подстановка на множестве Уъ,- Таким образом, блочный шифр в режиме ЕСВ реализует простую замену алфавита порядка 2 ". Новизна задачи построения СБШ заключалась в разработке криптографически стойких, удобно реализуемых (как аппаратно, так и программно) шифров замены для алфавитов большого порядка. 17.2.1. Немного истории Первым опытом создания блочного шифра явился разработанный американской фирмой IBM шифр «Люцифер». Блоки открытого и шифрованного текста, обрабатываемые «Люцифером», представляют собой двоичные векторы длиной 128 бит. Шифр построен по принципу «сэндвича», составленного из нескольких чередующихся слоев - преобразований замены {substitution) блоков и преобразований перестановки {permutation) координат блоков. Такие схемы получили название 5Р-сетей (сетей перестановок и замен). Криптографическая идея SP-сети заключается в построении сложного преобразования с помощью композиции нескольких относительно простых, удобно реализуемых преобразований. При реализации этой в целом перспективной криптографической идеи не обошлось и без издержек: схема получилась несколько громоздкой и, как следствие, обладала низкой производительностью. Скорость шифрования различных программных реализаций «Люцифера» не превышала 8 кбайт/с. Аппаратная реализация шифровала со скоростью 97 кбайт/с. К тому же возникли опасения по поводу криптографической стойкости шифра, которые впоследствии подтвердились. Однако опыт, накопленный разработчиками при создании «Люцифера», пригодился уже вскоре. 292
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ В 1973 г. Национальное бюро стандартов (NBS) США объявило конкурс, цель которого - разработка стандарта шифрования данных. Победила фирма IBM, представившая в 1974 г. алгоритм шифрования, известный под названием DES - Data Encryption Standart (см. прил. 1). Алгоритм DES обрабатывает 64-битовые блоки данных и использует 56-битовый ключ. Подобно «Люциферу» он реализует преобразование 5Р-сети, построенной по итеративному принципу, то есть на основе композиции нескольких однотипных преобразований. В дальнейшем итеративный принцип построения SP-сети использовался в подавляющем большинстве разработок СБШ. Алгоритм был опубликован (беспрецедентный исторический факт для «действующего» шифра!) и явился не только предметом активного изучения со стороны специалистов многих стран, но и мощным импульсом для развития гражданской (невоенной) криптологии. Масштабы использования Dfi'5-алгоритма в коммерческом секторе были впечатляющими. Его стали использовать во многих странах мира далеко за пределами США. Между тем с самого начала DES подвергался критике из-за короткой длины ключа, что повлекло запрет на его использование для защиты государственных секретов США. Последовавшие за опубликованием алгоритма 25 лет показали, что гипотетические методы вскрытия DES, связанные с распараллеливанием перебора ключей, постепенно превращаются в реальность. Да и производительность Df'5-алгоритма в силу особенностей реализации на современных процессорах отстала от возросших потребностей. В условиях объективно назревающей потребности в замене действующего стандарта наряду с его критикой криптографы неустанно разрабатывали блочные шифры, достойные заменить DES. К ним относятся как различные схемы усложнения Dfi'5-алгоритма (с независимыми цикловыми ключами, кратного шифрования, с увеличенными размерами блоков и ключей...), так и оригинальные схемы NewDES, FEAL, IDEA (см. прил. 3) и др. 293
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ В 1997 г. NIST объявил о начале прохраммы по принятию AES (Advanced Encryption Standard) - стандарта XXI в. для криптографической защиты данных. Был проведен трехэтапный международный конкурс с целью разработки отвечающего современным требованиям блочного шифра с высокими эксплуатационными качествами и криптографической стойкостью. Победителем конкурса стал разработанный бельгийцами (авторы - J. Daemen и V. Rijmen) алгоритм RIJNDAEL (см. прил. 4), который и был объявлен новым криптографическим стандартом, вступающим в силу в 2002 г. 17.2.2. Итеративные блочные шифры Рассмотрим устройство подстановки Ек итеративного СБШ, удовлетворяющего уравнениям шифрования (17.1). Пусть Ц)(х,д) (5(х,д), n(x,q)) - биективное по переменной х отображение V2„xQ-^V2n (V2„xQ'-^V2„), где хеУь,, qeQ (qeQ') и Q (Q') - множество производных ключей, зависящих от ключа к. Для реализации подстановки Ек используются производные ключи ^о. Яг+i из Q' nqu...,qrn3Q: q! = m), i = 0,l...,r,r+\, (17.2) где {0o,6b...,6r,0r+i} - семейство функций, отображающее ключевое множество К в множество Q'xQ'-'^xQ'. Обозначим через ф^ (5^, щ) подстановку, реализуемую при фиксированном значении qeQ (qeQ') отображением (p(x,q) (5(x,q), n(x,q)). Подстановка Ек есть произведение подстановок (преобразования применяются справа налево): £.(^)= ^,-ф,/...-ф,^-ф,,-5,^(^), (17.3) ' NIST - National Institute for Standards and Technology (до 1988г. -NBS, National Bureau of Standards), Национальный институт no стандартам и вычислительной технике, являющийся подраздечением Министерства торговли США. По решению Конгресса США NIST отвечает за стандарты, касающиеся ЭВМ и соответствующих систем связи. 294
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ где X - блок открытого текста. Алгоритм расшифрования состоит в реализации подстановки Ек'^ для блока шифртекста у. Из равенства (17.4) получаем, что Для итеративного СБШ, определяемого равенствами (17.2) и (17.3), отображение ц>(х,д) называется цикловой функцией, отображение Ь(х,д) - входным отображением, 'к(х,д) - выходным отображением. Семейство отображений {0o,6b...,6„6r+i} называется ключевым расписанием итеративного СБШ, число г - числом циклов шифрования. Величина qi называется г-м цикловым ключом алгоритма шифрования, ^0 и ^г+1 - соответственно ключами входного и выходного отображения (последние два ключа отсутствуют, если в блочном шифре входное и выходное отображения есть подстановки, не зависящие от ключа). Часть алгоритма шифрования (расшифрования), ограниченная применением подстановки ф„ (подстановки ф~ ), называется /-м цик- лом шифрования ((г-г+1)-м циклом расшифрования), i = 1,2,...,г. Если (р(х\д,) = у\ то вектор х' называют входным блоком, а вектор у' - выходным блоком г-го цикла шифрования. Итеративный СБШ можно построить таким образом, что обеспечивается его обратимость. Теорема 17.1. Если при любом qeQ' подстановки 5д(х) и Пд(х) - взаимно-обратные и при любом qeQ подстановка (pi,(x) есть инволюция, то итерационный СБШ обратим и алгоритм расшифрования отличается от алгоритма шифрования использованием цикловых ключей в обратном порядке. Доказательство. В условиях теоремы имеем, что я"' = 5„ , 5^' =п и ф(/д:) = ф^'(д:) при любом ^е^. Поэтому равенство (17.4) приобретает вид: Сравнивая это равенство с (17.3), получаем требуемое утверждение. ♦ 295
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 17.2.3. Шифры Фейстеля Один из первых способов построения цикловой функции (реализованных в Dfi'5-алгоритме) основан на использовании отображения типа регистра сдвига. Конструкция была признана удачной и нашла широкое применение в дальнейших разработках блочных шифров {FEAL, ГОСТ (см. прил. 2), Khufii, Khafre, LOKI, Blowfish,...). Такие шифры названы шифрами Фейстеля в честь одного из разработчиков DES. Шифр Фейстеля - это итеративный СБШ, цикловая функция (^{x,q) которого оперирует с «половинами» входного блока л- (то есть X = (xiyX2)eV„xV„) и имеет вид (p((xi^2),q) = (X2,\ii(x2,q)®xi), (17.5) где vj/:V„x(2—>V„. Функцию \\i(x2,q) назовем функцией усложнения шифра Фейстеля. Варианты схемы шифрования Фейстеля отличаются конструкцией функции усложнения vj/, входного и выходного отображений и свойствами ключевого расписания. Схема реализации цикловой функции (p(x,q) шифра Фейстеля дана на рис. 17.1. i рс - {х„ X,) Рис. 17.1. Схема реализации цикловой функции (^(x,q) 296
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ Из равенства (17.5) следует, что при цикловом ключе ^е(2 преобразование ф(/ есть преобразование регистра сдвига длины 2 над множеством VnC обратной связью \^{x2-,q)®xi. По теореме 5.5 биективность преобразования ф, равносильна би- ективности функции обратной связи \]f{x2,q)®Xi по переменной х^, которая в данном случае обеспечена операцией XOR и независимостью от Xi функции VJ/. Из той же теоремы следует, что биективность циклового преобразования сохраняется при использовании вместо XOR других функций, биективных по переменной xj. Реализация 5Р-сети шифра Фейстеля более проста по сравнению с реализацией 5Р-сети итеративного СБШ общего вида, что видно из сравнения областей определения отображений (^{x,q) и \^{x2,q), являющихся основными элементами соответствующих 5Р-сетей. Однако в 5Р-сети шифра Фейстеля перемешивание входных блоков происходит медленнее, так как перемешиваются биты лишь одной половины блока, а остальные биты лишь сдвигаются. Обратимость шифра Фейстеля достигается за счет свойств цикловой функции и перестановки половин выходного блока данных после последнего цикла шифрования. Теорема 17.2. Если при любом ^е(2' щ{х) = 5^'^-Т'(х), где Т- подстановка левого циклического сдвига координат двоичного вектора, то шифр Фейстеля обратим и алгоритм расшифрования отличается от алгоритма шифрования использованием цикловых ключей в обратном порядке. Доказательство. В условиях теоремы подстановки Ек и Ек определяются формулами: Ек(х) = 5;'^, -Г-ф^^ •••••Ф,, -Ф,, ■^, W> (17.6) Из равенства (17.5) следует, что при любом qeQ Ф, ' = Г-%Г. (17.8) 297
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Сделаем в равенстве (17.7) замены в соответствии с (17.8). Учитывая, что 7^" = е, получаем равенство: £,-'(у)=5;'-Г-ф^_-ф^^-...-ф,^^-5,^^, (у). Сравнивая его с (17.7), получаем, что теорема верна. ♦ 17.2.4. Построение цикловой функции Цикловые ключи известных блочных шифров являются двоичными векторами, поэтому можно считать, что б = ^т и рассматривать цикловую функцию СБШ (^{x,q) как отображение Ущ+т-^Угп, а функцию усложнения vj/(x2,^) шифра Фейстеля как отображение V„+m—>V„. Исследования блочных шифров привели к выявлению ряда условий, которым удовлетворяет цикловая функция i^{x,q) (в случае шифра Фейстеля - функция усложнения \^{x2,qy) с хорошими криптографическими свойствами. Сочетание нескольких условий достигается за счет того, что эти функции реализуются в виде композиции определенного количества «элементарных» отображений, называемых слоями цикловой функции <^{x,q). При этом каждый слой обеспечивает некоторые из необходимых свойств, а их композиция в целом обеспечивает все необходимые свойства. Конструктивные слои цикловой функции (функции усложнения шифра Фейстеля) имеют следующее функциональное назначение: 1) подмешивание производных ключей; 2) перемешивание входных блоков; 3) реализацию сложной нелинейной зависимости между знаками ключа, входного и выходного блоков. Цикловая функция должна удовлетворять ряду условий. 1.При любом q&Q подфункция ф^ цикловой функции (^{x,q) должна быть подстановкой, это вытекает из требования обратимости шифрующих преобразований шифра. Если это так, то цикловая функции (^{x,q) сбалансирована. Аналогичным свойством должны обладать все слои цикловой функции. 298
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ Функция усложнения \\i(x2,q) шифра Фейстеля и ее слои могут в принципе не удовлетворять этим условиям, так как обратимость циклового преобразования достигается за счет использования операции XOR, что показано выше. Однако криптоаналитические методы определения ключа, использующие хорошие аффинные приближения цикловой функции, стимулируют разработчика выбирать сбалансированные функции усложнения. 2. Из равенства (17.3) следует, что шифрующее отображение Ек(х) является аффинным относительно знаков входного блока и цикловых ключей, если аффинны функции Ь(х,д), Ц)(х,д), 'к(х,д). В этом случае ключ несложно определить по открытому и шифрованному тексту с помощью решения системы линейных уравнений. Поэтому цикловая функция должна быть нелинейной, при этом ее координатные функции не должны допускать хороших аффинных приближений, при наличии которых увеличивается риск определения ключа. Таким образом, координатные функции отображения (р(х,д) (или \li(x2,g)) должны иметь высокую нелинейность и корреляционный иммунитет. Эти свойства обеспечиваются в основном за счет конструкции нелинейного слоя замены, хотя нелинейность может быть усилена и при подмешивании ключа (см., например, алгоритм IDEA) за счет использования операций модульного сложения или умножения. При больших п реализация нелинейной замены упрощается, если нелинейный слой (обозначим это преобразование s(x''^\..., х'^^"^), где (д:^'\..., x''^"^)eV2n) задать набором нелинейных преобразований, каждое из которых обрабатывает лишь часть входного набора. Если d/2n, то s(/^\..., /'"^) = (s,(x^^\...,x^"\..., ..(;с<^"-'\..., ;с<^"^)), где и = 2n/d, и Si,..., 5j - нелинейные преобразования множества V2„/j, получившие название 5-боксов (другой вариант - 5-блоки - представляется менее удачным, так как порождает некоторую путаницу с блоками информации, обрабатываемыми шифром). Число d используемых в нелинейном слое 5-боксов выбирается как компромисс между сложностью реализации нелинейного слоя и криптографическими качествами 5-боксов. Возможны варианты при построении 5-боксов. Например, в каждом цикле Df'^S'-алгоритма размер блока данных сначала увеличива- 299
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ ется с 32 до 48 бит, что позволяет подмешивать 48 бит циклового ключа, а затем с помощью нелинейных 5-боксов обратно уменьшается до 32 бит. 3. Перемешивающие слои цикловой функции должны реализовать связи между входными и выходными битами 5-боксов таким образом, чтобы: а) каждый 5-бокс удовлетворял критериям типа лавинного эффекта или критериям распространения и, значит, был совершенным преобразованием входных наборов; б) на следующем цикле совокупность входных битов каждого 5-бокса зависела от выходов нескольких 5-боксов предыдущего цикла. Если первое условие выполнено (что достигается определенной конструкцией 5-боксов), то изменение одного бита входного набора любого 5-бокса приводит к изменению нескольких (в среднем не менее двух) бит его выхода. Второе условие выполняется с помощью слоя, переставляющего координаты промежуточных блоков, в простейшем случае координаты циклически сдвигаются. Вьшолнение обоих условий позволяет при некотором s достичь положительных криптографических свойств отображения ф^'^ = ф_^ ,..., ф_^ , реализуемого после s итераций циклового отображения: ф^'^ удовлетворяет критериям типа лавинного эффекта или критериям распространения, в частности является совершенным. Следовательно, шифрующее отображение г-циклового СБШ при r>s обладает теми же положительными криптографическими свойствами, в частности каждый бит шифртекста существенно зависит от всех знаков ключа и открытого текста. Это свойство затрудняет определение ключа по открытому и шифрованному тексту методами типа <фазделяй и вскрывай», в том числе и по специально подобранным блокам открытого текста. Например, в 16-цикловом Dfi'5-алгоритме совершенным является преобразование после пяти циклов, в 32-цикловом алгоритме ГОСТ - после трех циклов. 4. К одним из наиболее эффективных методов криптохрафическо- го анализа СБШ относятся метод дифференциального криптоанализа 300
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ И метод линейного криптоанализа, активно развиваемые в последние полтора десятка лет. Суть метода дифференциального криптоанализа заключается в поиске и использовании для определения части цикловых ключей корреляции между разностью (XOR-суииой) открытых текстов и разностью соответствующих шифрованных текстов. Метод линейного криптоанализа состоит в выявлении линейных соотношений между знаками ключа, открытого и шифрованного текстов, которые для случайно выбранных пар соответствующих блоков выполняются с вероятностью больше '/г. Если такие соотношения найдены, то они могут использоваться для отбраковки ложных значений ключа СБШ статистическими методами. В связи с этим важно, чтобы цикловая функция обладала свойствами, затрудняющими применение указанных методов. То есть хорошая цикловая функция для случайно выбранных пар входных и выходных блоков: • имеет минимальную корреляцию между разностью открытых текстов и разностью соответствующих шифрованных текстов; • характеризуется незначительным отклонением от Vi вероятности выполнения каждого нетривиального линейного соотношения между знаками ключа, открытого и шифрованного текстов. Для противодействия методу дифференциального криптоанализа и методу линейного криптоанализа важны свойства всех слоев цикловой функции. 17.2.5. Входное и выходное отобраукения Функциональное назначение входного и выходного отображений - это, как правило, обеспечение обратимости шифра и усложнение шифрующей подстановки. В некоторых первоначальных разработках итеративных блочных шифров отображения 5(x,q) и n(x,q) не зависят от ключа и даже являются тождественной подстановкой е на множестве Уъ,, то есть практически в композиции Е^ не используются. 301
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Например, в ОЕ^-алгоритме * входное отображение - это входная подстановка 5, не зависящая от ключа, как и выходное отображение я, где я = 5"'-7". В алгоритме NewDES обе подстановки равны е. В алгоритме ГОСТ подстановка 5 = е, подстановка п = Т". Вообще ключи входного и выходного отображений блочных шифров являются двоичными векторами, нередко Q = V2„, то есть 5(а:,^) и n(x,q) можно рассматривать как отображение V4,,—>V2„. Чтобы затруднить применение к итеративным СБШ методов дифференциального и линейного криптоанализа, в качестве входного и выходного отображений используются соответственно операции XOR(x,qo) и XOR(x\qr+i), где х - блок открытого текста, х' - блок данных после г-го цикла шифрования. Эти операции получили название отбеливания (whitening). Использующий эти операции итеративный блочный шифр называют шифром с отбеливанием, а ключи до и qr+i - ключами отбеливания. Усложнение обратимого итеративного шифра с помощью операций отбеливания не нарушает его обратимости, так как в этом случае для любого qeQ' 5q(x) = 5q\x) = X®q = Kq{x) = К^\х). Отбеливание улучшает криптографические свойства шифра, так как криптоанализ шифра с отбеливанием равносилен криптоанализу шифра без отбеливания, у которого входной и выходной блоки неизвестны и равны соответственно x®qQ и y®qr+\. Реализация шифра с отбеливанием усложняется незначительно. 17.2.6. Построение ключевого расписания Неудачно построенное ключевое расписание блочного шифра может заметно ослабить криптографические свойства алгоритма шифрования. Рассмотрим пример. Будем говорить, что ^-й бит ключа к используется в /-м цикле шифрования, если этот бит является существенной переменной отображения 0/, ге{1,2,...,г). ' Использовано описание криптосхем шифров, данное в [38]. 302
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ Если половина битов ключа к используется только в первых / циклах шифрования, а остальные биты используются только в последних г-1 циклах шифрования, то для определения ключа к по блокам х и у открытого и шифрованного текстов можно применить метод «встречи посередине», иначе называемый методом согласования. Суть метода состоит в том, что каждый вариант набора одной половины битов ключа используется для реализации первых / циклов шифрования блока х и заносится в память по адресу, равному значению промежуточного блока после / циклов. Каждый вариант набора другой половины битов используется для реализации первых г-1 циклов расшифрования блока у, после чего два набора из половин ключевых битов стыкуются, если совпали промежуточные блоки, полученные в результате усеченных процедур шифрования и расшифрования. При использовании памяти порядка J\k\ -с бит (с - константа) метод согласования сокращает трудоемкость определения ключа по сравнению с полным перебором приблизительно в J\k\ раз. В связи с этим стойкость двойного шифрования с независимыми ключами равна стойкости однократного шифрования, если игнорировать проблемы, связанные с необходимой памятью. Именно поэтому двойное шифрование с использованием DES-euiropmua с независимыми ключами считается нецелесообразным. Таким образом, одним из необходимых условий для ключевого расписания является существенная зависимость от каждого бита ключа к нескольких (не менее двух) цикловых ключей. Более того, при любом «рассечении» алгоритма шифрования на / и г-1 циклов, /g{ 1,2,...,г-1}, совокупность цикловых ключей хотя бы одной из «отсеченных» частей алгоритма должна быть функцией от всех битов ключа к. Немаловажен также и выбор числа г циклов шифрования. При грамотно построенной цикловой функции эффективность методов дифференциального и линейного криптоанализа уменьшается с увеличением числа г циклов шифрования. Исходя из этого, выбирается 303
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ значение г, являющееся компромиссом между криптографической стойкостью шифра и скоростью шифрования. Трудоемкость вычисления цикловых ключей (а также ключей до и q,+[) не слишком важна при шифровании и расшифровании, так как все производные ключи вычисляются по ключу к однократно и затем записываются в память, после чего их можно использовать многократно в ходе обработки всего сообп^ения (файла). Напротив, трудоемкость вычисления производных ключей важна при реализации алгоритма дешифрования, связанного с перебором ключей шифра и вытекающим из него многократным вычислением производных ключей. 17.3. Слабые ключи итеративного шифра Понятие слабого ключа, впервые введенное в ходе криптографического анализа ОЕ^-алгоритма, связано со свойствами ключевого расписания и естественным образом обобщается на итеративные СБШ. Криптографические свойства шифрующей подстановки Е^ тера- тивного СБШ тем выше, чем лучше она имитирует случайную подстановку. Поэтому считается, что набор цикловых ключей q\,...,qr должен имитировать случайную выборку из множества Q. Учитывая, что г много меньше, чем \Q\, отсюда получаем, что цикловые ключи q\,...,qr должны быть, как правило, попарно различны. С этим свойством связано понятие слабого ключа. Ключ к итеративного г-циклового СБШ назовем ц-слабым, если соответствующий набор цикловых ключей q\,...,qr содержит \х различных элементов, \<\х<г. Слабым ключом называется 1-слабый ключ. Следующая теорема и ее следствие показывают, насколько опасным может быть использование слабого ключа. Теорема 17.3. Пусть к - слабый ключ итеративного г-циклового СБШ и d<r, где d - порядок подстановки ф,,. Тогда данный СБШ при ключе к является т-цикловым, где т - остаток от деления г на d. 304
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ Доказательство. При слабом ключе к, порождающем г цикловых ключей, равных q, подстановка Ек итеративного СБШ согласно равенству (17.3) имеет вид: Ек{х)= \^^<%У-\{х)- Так как (ф,,)'' = е и г = d-m+x, то (ф,,)' = (ф(/)^. Отсюда и из последнего равенства получаем, что Е^ реализует т-цикловой итеративный СБШ. ♦ Следствие. Если в условиях теоремы 17.3 d/r и подстановки 5^ и я„ - взаимно-обратные, то шифрующая подстановка Е^ является тождественной. Заметим, что в шифрах с отбеливанием подстановки 5„ и я, - взаимно-обратные, если до = qr+i- Теорема 17.4. Пусть к - слабый ключ 2г-циклового шифра Фей- стеля, до = qr+i и к^ = 5^' -T'ix). Тогда шифрующая подстановка Ек есть инволюция, имеющая 2" неподвижных элементов. Доказательство. Из доказательства теоремы 17.2 следует, что при слабом ключе к подстановки Ек и Ек'^ отличаются лишь взаимно- обратным порядком использования производных ключей. Пусть слабый ключ к порождает 2г цикловых ключей, равных q, тогда при qo = = qr+i из (17.6) имеем для всеххеУъ,: Ек(х) = 5;^ -r-i^f- \ (X) = Ек\х). (17.9) Значит, повторное шифрование на ключе к равносильно расшифрованию. Следовательно, Ек - инволюция. Посчитаем число единичных циклов в Ек- Пусть ^с («ь^г) = {х\,хт), где аиаг,Х[,Хг&У„. Из (17.9) следует, что (аьяг) - неподвижный элемент подстановки Ек тогда и только тогда, когда {х\,Х2) - неподвижный элемент подстановки 7^'-(ф,)^', или, что равносильно, Г-(ф/(д:1л) = (Ф<,)"'(^|Л). 305
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Используя (17.8), отсюда получаем; (%У(ХиХ2) = (ф/-Г(ХьХ2). (17.10) Следовательно, число единичных циклов в Е^ равно числу блоков (Х[,Х2), удовлетворяющих (17.10). Так как (ф^)*^ - подстановка, то это условие равносильно тому, что (хьхг) = Т'{х\,Х2) = (х2,Х[) или условию Х[ = Х2. Число блоков с одинаковыми половинами равно 2". ф Несложно посчитать число слабых ключей для таких шифров, как DESurOCT. Алгоритм генерации цикловых ключей ОЕ^-алгоритма заключается в считывании значений 24 координат каждого из двух 28-битовых регистров, заполнения которых циклически сдвигаются на 1-2 шага. Отсюда выводится, что все цикловые юхючи одинаковы, если исходное заполнение каждого из двух регистров при сдвигах не изменяется, то есть состоит сплошь из единиц или сплошь из нулей. Следовательно, в ключевом множестве DES-euiropmua имеется 4 различных слабых ключа. Установлено, что в ключевом множестве Db'5-алгоритма имеются и 2'"-слабые ключи, т = 1,2,3. В частности, имеется 12 различных 2-слабых ключей (обычно их называют полуслабыми), составляющих 6 пар ключей, при которых шифр реализует 6 пар взаимно- обратных подстановок. Число слабых ключей ГОСТа равно числу двоичных матриц размера 8x32 с одинаковыми строками, то есть 2^ . Свойства слабых ключей не удалось использовать для снижения оценки стойкости ОЕ^-алгоритма и ГОСТа, так как крайне мала доля слабых ключей и мала вероятность того, что при шифровании на слабом ключе используется единичный цикл шифрующей подстановки. 17.4. Режимы шифрования Режимами шифрования называют различные алгоритмы обработки данных, построенные на основе базового режима ЕСВ. Криптографическая стойкость этих алгоритмов определяется в основном стойкостью базового режима. Однако особенности различных режи- 306
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ MOB шифрования позволяют использовать блочный шифр для решения различных криптографических задач. 17.4.1. ЕСВ (простая замена) В режиме простой замены юхючу к соответствует подстановка Ек степени 2 ", в соответствии с которой каждый блок открытого текста заменяется блоком шифрованного текста. Поэтому режим ЕСВ имеет следующие особенности: 1. Замены и перестановки отдельных блоков в шифртексте не нарушают корректности расшифрования. 2. Шифрование на одном ключе одинаковых блоков открытого текста дает одинаковые блоки шифртекста. 3. В силу хорошего перемешивания информации шифрующими подстановками, что является общим свойством блочных шифров, каждый из 2и бит выходного блока у может быть искажен с вероятностью '/2 при искажении одного лишь случайно выбранного бита входного блока х. Единичная ошибка в блоке х порождает в среднем п ошибок BHjopn шифрблока у. На следующие шифрблоки ошибка не распространяется. При искажении битов выходного блока у соответствующий блок х расшифруется некорректно, а остальные блоки расшифруются верно. Но если бит шифртекста случайно потерян или добавлен, то в силу произошедшего сдвига весь последующий текст расшифруется некорректно. Для локализации последствий сдвига следует предусмотреть средство контроля границ блоков. Первые две особенности позволяют активному противнику, контролирующему линию связи, защищаемую шифром в режиме ЕСВ, наблюдать частоты появления отдельных блоков и сообщений. В определенных условиях он может генерировать ложные сообщения, не зная ни ключа, ни алгоритма шифрования, даже если сообщения содержат метки времени [38]. В силу этих серьезных недостатков режим ЕСВ не используется для шифрования длинных сообщений. В этом режиме шифруются лишь короткие сообщения вспомогательного характера: пароли, сеансовые ключи и т. п. Большинство сообщений имеет длину, не кратную 2и. Поэтому при шифровании последнего неполного блока информации возни- 307
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ кает задача корректного определения алгоритма шифрования. Эта проблема решается с помощью различных способов дополнения блоков. Простейший способ заключается в дополнении неполного от-битового (от-байтового) блока открытого текста строкой длины 2п-т-8 бит {(2п/8)-т-\ байт) определенного вида, например нулевой строкой, и байтом, в котором указано число 2п-т (2и/8-от), равное дефициту последнего блока в битах (байтах). После этого дополненный блок шифруется обычным образом. Если 2n-m<S, то длину сообщения придется увеличить на один блок. Второй способ называется похищением шифртекста. Обозначим через v" и w"* отображения К—>V,„, где 1<от<г и для любого (xi,X2,...,Xr)eVr: v'"(Xi,X2,...,Xr) = (Xi,X2,...,X„,), W (а:1,А:2,...,А:г) = (Xi+m,X2+m,---,Xr)- Пусть X, и у, есть неполные от-битовые блоки открытого и шифрованного текстов, х,.1 и yt-i есть предыдупще полные блоки открытого и шифрованного текстов. Тогда алгоритм шифрования используется следующим образом: yt = v'"(Ek(x,.i)), y,.i = Ek(x„w'"(Ek(x,.i)). При расшифровании сначала вычисляется блок со = Ek^(y,.i), после чего определяетсях, = v'"(co) иx,.i = Ek^(y,,w'"{(o)). 17.4.2. СВС (сцепление блоков шифртекста) Блочные шифры в режиме СВС описываются уравнениями шифрования y, = Ek{x,®y,.{),t=\,2,..., (17.11) где уо - случайный вектор из Vi,,, называемый вектором инициализации (начальным вектором, синхропосылкой) и вырабатываемый перед каждым сообщением. На рис. 17.2 дана блок-схема зашифрования (в верхней части) и расшифрования (в нижней части) в режиме СВС. 308
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ О г<Э J i г 1 г е у, i е;' i £.' £. ^ 1 е.- е ^3 Чз Рис. 17.2. Схема зашифрования-расшифрования в режиме СВС Начальный вектор может передаваться в линию связи как в открытом, так и в шифрованном виде (в частности, с помощью режима ЕСВ). Однако важно избегать повторения синхропосылки в разных сообщениях, шифруемых одинаковым ключом. Это затрудняет атаку на шифртекст, основанную на наличии стандартов в начале сообщения. В качестве синхропосылки используется некоторая строка случайных байтов либо метка времени. Искажение одного бита в блоке а:, влечет искажение в среднем половины битов во всех блоках шифртекста, начиная с у,. Для расшифрования это несущественно, так как восстановленный текст содержит ту же единственную ошибку. Искажение /-го бита в блоке у, (такие искажения возможны из-за шумов в линиях связи или сбоев в устройствах хранения) влечет искажение около половины битов в блоке х, и /-го бита в блоке х,+[. Следующие блоки, расшифровываются корректно (самовосстанавливаются). В то же время режим СВС совершенно неустойчив к ошибкам синхронизации. 309
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Дополнение блоков можно выполнять как в режиме ЕСВ, а если 1ребуется совпадение длин исходного сообщения и криптограммы, то используются следующие способы. При неполном от-битовом блоке х, открытого текста соответствующий блок у, шифртекста вычисляется так: y, = x,®v'"{Ek(y,.i)). Второй способ - это вариант похищения шифртекста. Пусть а есть (2и-от)-битовая строка из нулей и со = Ei,(x,.i®y,.2). Тогда шифрование происходит следующим образом: у, = v'"(co), y,.i = Ек((х„а)Ф(а). При расшифровании сначала вычисляется блок данных со' = Ek^(y,.i)®(y,,a), после чего определяется X, = v'Cco'), л;,., = Ei:'(y„w'"((o'))®y,.2. 17.4.3. СРВ (обратная связь по шифртексту или гаммирование с обратной связью) В некоторых практических ситуациях требуется шифровать символы поступающего потока, не дожидаясь, когда сформируется целый блок данных. В таких случаях удобен режим СРВ, в котором блоки открытого и шифрованного текста имеют длину т бит, где т - параметр режима, \<т<2п. Обозначим такой режим шифрования CFB-m. В связи с байтовым представлением информации параметр т выбирается, как правило, равным восьми. Блочный шифр в режиме CFB-m моделируется м.ш.а. ^CFB - (X,S,Y,K,z,h,fm)> где X = Y = V„„ S = ¥2,,, г = ^i - не зависящая от ключа к синхропосылка, а функции/„ и h имеют вид Us„k^) = У, = ^E,isd)®x„ (17.12) /г(5Дл) = ^,.1 = (w'UXy,), t = 1,2,... (17.13) На рис. 17.3 показана схема зашифрования (в левой части) и расшифрования (в правой части) в режиме CFB-m. 310
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ £, '->ё E.is.) nEXs)) У, У, Р E,{s.] V'"(ff,(.v,)) •ё- Рис. 17.3. Схема зашифрования-расшифрования в режиме CFB-m В обеих процедурах базовый режим используется только для шифрования (реализация подстановки Е^'^ не требуется). Как и в режиме СВС, синхропосылка может передаваться в линию связи в открытом виде. Однако необходимо исключить повторение синхропосылки в различных сообщениях, шифруемых одинаковым ключом. Искажение одного бита в блоке х, влечет искажение одного бита в у, и в среднем половины битов во всех блоках шифртекста, начиная с у,+1, но при расшифровании получается открытый текст с той же единственной ошибкой. Искажение /-го бита в блоке у, влечет искажение /-го бита в блоке Х/. Затем ошибка поступает в регистр состояний и искажает в среднем половину битов в каждом из следующих / блоков, где [2п/т]<1<]2п/т[. В дальнейшем блоки расшифровываются корректно. Режим СРВ, как и ССПШ, самостоятельно восстанавливается после ошибок синхронизации. 17.4.4. OFB (обратная связь по выходу, гаммирование или внутренняя обратная связь) Блочный шифр в режиме гаммирования можно рассматривать как синхронный шифр гаммирования, обрабатывающий от-битовые блоки открытого и шифрованного текста (обозначим такой режим OFB-/n). Этот шифр моделируется м.ш.а. А^р-д = (X,S,Y,K,z,h,fm), где X = Y = V„„ S = V2,,, Z = si - не зависящая от ключа к синхропосылка. 311
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ функция ВЫХОДОВ задана равенством (17.12), а функция переходов не завист от входа и имеет вид: h(s„k) = 5„, = (w"4s,)yXEk(s,))), г = 1,2,... (17.14) На рис. 17.4 показана схема зашифрования (в левой части) и расшифрования (в правой части) в режиме OFB-m. В обеих процедзфах базовый режим используется только для шифрования. M-S, <-| £. £.(s,) ) >- V"'(£.(s,)) У, ЕМ V'"(£,(s-,)) Рис. 17.4. Схема зашифрования-расшифрования в режиме OFB-m Синхропосылка может передаваться в линию связи в открытом виде, но необходимо исключить повторение синхропосылки в разных сообщениях, шифруемых одинаковым ключом. При использовании режима OFB чрезвычайно важно сохранять синхронизм. Для этого необходимо гфедусмотреть средство контроля над синхронизмом и средство восстановления синхронизма в случае его потери. В режиме OFB ошибки не распространяются, что является позитивным при передаче оцифрованных речевых сигналов или видеоизображений. Использование некоторых СБШ в режиме OFB ограничено из-за относительно коротких периодов генерируемой гаммы. Например, в 0£'5-алгоритме период гаммы с большой вероятностью не превосходит 2 32 17.4.5. Другие реукимы шифрования Разработка других режимов шифрования стимулировалась стремлением ус1ранить некоторые недостатки четырех основных режимов. 312
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ ВС - сцепление блоков. Этот режим задается следующими равенствами: у, = Ekix,@y,.,®... @у,@уо), г = 1,2,..., где уо - синхропосылка. Основной недостаток режима ВС заключается в том, что при расшифровании единичная ошибка в шифртексте влечет некорректное расшифрование всех последующих блоков шифртекста. РСВС - сцепление блоков шифртекста с распространением ошибки. Режим задается следующими равенствами: у, = Ek(x,®y,.i®x,.i), г = 1,2,..., Этот режим используется в протоколе Kerberos 4 для выполнения за один проход и шифрования и проверки целостности. В режиме РСВС единичная ошибка в шифртексте влечет некорректное расшифрование всех последующих блоков шифртекста, что используется для проверки целостности сообщений. Однако если проверка целостности охватывает лишь завершающий отрезок текста, то могут остаться незамеченными перестановки пары шифрблоков в начале текста. Это подозрительное свойство заставило разработчиков отказаться от данного режима в пользу СВС в следующей версии протокола Kerberos. OFBNLF - нелинейная обратная связь по выходу. Этот режим наследует некоторые свойства режимов OFB и ЕСВ. Функционирование в режиме OFBNLF моделируется мультиключевым ш.а., ключ изменяется в каждом блоке: у, = Ei^ (х,); к, = EkiKi); г = 1,2,... Единичная ошибка в шифртексте распространяется только на один блок открытого текста, однако требуется поддержка синхронизма. Скорость обработки информации определяется не только скоростью шифрования базовым алгоритмом, но и скоростью обновления текущего значения ключа. 313
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ __ _ „ 17.4.6. Чередование В некоторых случаях возникает потребность ускорить шифрование потока данных в несколько раз. Этого можно достичь, если распараллелить поток данных и использовать несколько процессоров. Непосредственно так можно сделать только в режиме ЕСВ, другие режимы надо несколько видоизменить, используя прием чередования. Рассмотрим суть чередования в таких режимах, как СВС, СРВ, OFB. При необходимости ускорить шифрование приблизительно в т раз последовательностьХ^ = {xi,X2,...,x,,...} блоков открытого текста разбивается на т подпоследовательностей X^j, Х_^,2, ...,Х^^„ где для i = \,2,...,т После этого каждая из т подпоследовательностей шифруется на ключе к с использованием уникального вектора инициализации. 17.5. Усложнение симметричных блочных шифров Криптоаналитикам не удалось разработать практически приемлемый метод дешифрования DES-алгоритма, который был бы лучше метода полного перебора ключей. Вместе с тем короткая длина ключа ОЕ^-алгоритма не позволяла рассматривать его как надежное средство защиты информации. Это стимулировало криптографов заняться построением блочного шифра с длинным ключом, использующего в качестве базового элемента ОЕ^-алгоритм. Один из методов - многократное шифрование с использованием базового алгоритма. Этот метод применим к любому СБШ, однако применение его приводит к уменьшению скорости шифрования (либо требуется больше аппаратуры) в соответствующее число раз. Кроме того, важно, чтобы множество шифрующих подстановок не являлось группой (для DES это доказано), иначе кратное шифрование сводится к однократному. Простейшая схема кратного шифрования - это двойное шифрование с помощью двух шифрующих подстановок с независимыми ключами: 314
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ у,= Е,^{Е,^{х,)% Г =1,2,... Эта схема была отвергнута сразу в связи с тем, что ключи можно определить по открытому и шифрованному тексту методом согласования. Трудоемкость метода порядка |А"| (что соответствует трудоемкости полного перебора ключей базового алгоритма), при этом необходима память порядка \К\. Другой способ двойного шифрования, называемый методом Дэ- виса - Прайса, построен на идеях режима шифрования СВС: у,= Е,^{х,®Е^^(у,.,)), Г =1,2,... Метод «встречи посередине» позволяет определить ключи и в этом случае, характеристики сложности метода примерно такие же. Более стойкие схемы используют тройное шифрование. Схему тройного шифрования Тачмена с парой независимых ключей к\ и кг называют режимом EDE (зашифрование-расшифрование-зашифрование): у,= Е,^{Е1\{Е,^{х;)), t=\X... При одинаковых ключах эта схема равносильна однократному шифрованию, что позволяет совместно использовать эти схемы в общей сети. Несмотря на чередование ключей, исключающее стандартный метод согласования. Меркл и Хеллман разработали оригинальный вариант метода согласования памяти и времени [27], требующий выполнения порядка |А"| операций при наличии памяти порядка |А"| и некоторого количества подобранных блоков открытого текста. Наиболее надежной схемой тройного шифрования является схема с тремя независимыми ключами: у,= E,^{El_{E,^{x,)), г=1,2,... Метод согласования времени и памяти для этой схемы имеет трудоемкость порядка \К^ и требует памяти порядка |А"|. Имеется схема тройного шифрования с минимальным ключом - ТЕМК, в которой тройное шифрование используется двояко: 315
Б. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ как схема шифрования данных и как функция инициализации, вычисляющая по двум независимым ключам ki и кг три производных ключа шифрования qi, qt и qs: 4i = Е,^ (£;' (Ei^^ (X,)), i = 1,2,3, где Xi, X2, Хз - несекретные блоки. Ключи ki и кг определяются полным перебором. То есть трудоемкость вскрытия схемы имеет порядок \Kf, память не требуется. Рассмотренные схемы кратного шифрования могут сочетаться с различными режимами шифрования. К другим способам кратного шифрования относится схема двойного гаммирования с уравнениями шифрования y, = x,ey/'W, г=],2,..., где гаммы {у/"} и {у/^'} генерируются с использованием независимых ключей ki и /с2 аналогичным образом: y/"-£,, (ум<''е^(0), г = 1,2, и i,(t) есть 2и-битовый вектор, совпадающий с двоичным представлением числа t. Имеются также схемы кратного шифрования, связанные с увеличением размеров используемых ключей и обрабатываемых блоков, и схемы, объединяюидае применение нескольких базовых алгоритмов. 17.6. Задачи и упражнения 17.1. Пусть ф^ - подстановка, реализуемая циюювой функцией шифра Фейстеля при цикловом ключе q. Докажите, что: а) подстановки Т", Т"-ц>д и ф^-Т" являются инволюциями; б) подстановки ф^ и (ф^)'' подобны. 17.2. Сравнивая режимы шифрования ЕСВ и СВС, докажите, что отношение эквивалентности ключей блочного шифра не зависит от режима шифрования. 316
Глава 17. СИММЕТРИЧНЫЕ БЛОЧНЫЕ ШИФРЫ 17.3. в каких режимах шифрования биективность всех шифрующих отображений базового режима необязательна для однозначного расшифрования криптохрамм? 17.4. Какими недостатками характеризуется СБШ с ключом длиной 128 бит, оперирующим блоками размера 16 бит? Рассмотрите режимы ЕСВ и OFB. 17.5. Сравните корреляционный иммунитет шифрующих отображений СБШ с «отбеливанием» и без «отбеливания». 17.6. Имеются ли эквивалентные ключи у г-циклового СБШ, ключевое расписание которого задано линейным отображением V„-^V„,.r ранга dl Если таковые имеются, то сколько эквивалентных ключей содержится в одном классе? 17.7. Пусть ключевое расписание итеративного г-циклового СБШ, у которого входное и выходное отображения не зависят от ключа, задано сбалансированным отображением V,,—>V,„.r. 1) Каково число слабых ключей такого СБШ? 2) Каково число 2-слабых ключей такого СБШ? 3) Какова сложность определения ключа методом согласования? 17.8. Сколько 64-битовых блоков открытого текста искажается при расшифровании криптограммы СБШ, если в шифрованном тексте исказился 1 бит и используется режим СРВ-15; CFB-8? 17.9. Итеративный г-цикловой СБШ с отбеливанием построен на основе цикловой функции ц>(х,д). При каких значениях г шифрующая подстановка, соответствующая слабому ключу, является аффинной? 317
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ Криптографические генераторы (к.г.) используются для выработки ключей и управляющих последовательностей поточных шифров. Качество к.г. Аг = (S,Y,K,z,§,h,f) определяется криптографическими свойствами его выходных последовательностей. Познакомимся с основными приемами построения криптосхем генераторов. 18.1. Элементная база криптосхем Базовым элементом криптосхем многих генераторов является ЛРС максимального периода, выходная последовательность которого (ЛРП) имеет большой период и хорошие статистические свойства. С другой стороны, ЛРП не обладает нелинейными свойствами (в частности, имеет небольшой линейный размах), что не позволяет рассматривать ЛРС как законченную схему качественного к.г. Поэтому использование ЛРС сочетается с различными функциональными схемами и элементами памяти. Назначение последних - привнести в криптосхему определенные нелинейные свойства, не теряя при этом положительные свойства ЛРП. Гамму такого генератора можно рассматривать как определенное усложнение ЛРП. Додтоинство ЛКГ состоит в высокой скорости вычисления последовательностей, достигаемой на современных вычислительных средствах. Но при построении шифров они не нашли самостоятельного применения в силу своей «предсказуемости», то есть в силу простоты восстановления всех параметров ЛКГ по нескольким членам последовательности, даже если они известны не полностью. Такие же достоинства и недостатки присущи в определенной мере и полиномиальным конгруэнтным генераторам. -тЮСШФП 318
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ 18.2. Фильтрующие генераторы Один из простейших способов усложнения последовательности над конечным множеством X заключается в отображении ее и-храмм с помощью функции от п переменных в другую последовательность. Фильтрующей схемой над X с фильтром (фильтрующей функцией)/(xi,X2,...,x„) (обозначение - ф.с./(xi,X2,...,x„)) назовем автомат Мура А = (X,X',X,h,f), где для всякого ^ = (si,S2,...,s„)eX' h(s,x) = (s2,...,s„^). (18.1) С помощью ф.с.y(xi,X2,...,x„) последовательность {х,} отображается в последовательность [Дх/,Х1+;,...,х„+,)}, i = 1,2,... Пусть Р - конечное поле. Фильтрующим генератором (ф.г.) над полем Р называется автономный автомат Афг = (P',P,h,f), где h - преобразование ЛРС длины п над полем Р. Выходную гамму ф.г. можно рассматривать как результат отображения ф.с. У(хьХ2,...,х„), примененного к ЛРП порядка п. Криптосхема ф.г. изображена на рис. 18.1. 1 ^^ 1 1-12 3 ■-■ и -J (18.2) Рис. 18.1. Фильтрующий генератор Уравнения гаммообразования ф.г. имеют вид: Y, =/(Л'"'(х)), /=1,2,..., где X - начальное состояние ЛРС. Ф.г. называется нелинейным, если нелинейна его функция выходов/(xi,X2,...,x„). Ключевыми элементами ф.г. могут быть начальное состояние ЛРС, его характеристический многочлен, а также функция ЛХьХ2,...,Х„). 319
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Ф.г. имеет наилучшие характеристики тогда, когда используется ЛРС максимального периода и сбалансированная функция ДхьХг,--, х„). Это гарантирует период гаммы, равный к"-\, где к - порядок поля Р. Нелинейные свойства гаммы обеспечиваются выбором нелинейной функции/(хьХ2,..,х„). Обозначим через d степень нелинейности функции У(хьХ2,...,х„). Из теоремы 7.1 следует, что линейная сложность Л(у) гаммы ф.г. не больше, чем число различных конъюнкций от п переменных ранга от О до d. При подсчете этого числа надо учесть, что каждая переменная входит в конъюнкции как сомножитель в степени не больше г, где г = min(d,k-\). В двоичном {к = 2) случае A(y)<s(n,d), где s(n,d)=±{']]. Получение нижних оценок - более сложная и важная для крипто- логии задача, требующая учета более глубоких свойств функции У(хьХ2,...,х„). Например, для определенных булевых бент-функций в [20] доказано, что при п, кратных 4, Л(у)> и/2 и/4 ■,п/4 Результаты работ [3, 34] позволили вывести нижнюю оценку в случае ЛРС максимального периода и частного класса фильтрующих булевых функций. Пусть однородный многочлен/'(хь...,х„) степени d, являющийся частью многочлена Жегалкина функции У(хь...,х„), имеет вид: fW N У=1 а, • ■ ^jHd-y)-r где(г,2"-1)= \hN = и (d-\)r Л(у)>(2)-Л^+1 тогда выполнено неравенство 320
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ Таким образом, для получения гаммы ф.г. с высокой линейной сложностью необходимо использовать функцию/(xbX2,...,x„) достаточно большой степени нелинейности. В [34] показано, что доля фильтрующих генераторов, построенных на базе ЛРС максимального периода простой длины п, у которых линейная сложность Л(у) достигает наибольшего значения s(n,d), стремится к единице. 18.3. Комбинирующие генераторы Рассмотрим комбинирующий генератор (комб.г.) над полем Р, который является усложнением фильтрующего генератора. Комб.г. построен на основе т ЛРС над полем Р (обозначим их ЛРС-1,...,ЛРС-т) и функции/(xi,...,Хот), называемой комбинирующей функцией, т>\, на вход которой поступают знаки ЛРП, вырабатываемые линейными регистрами. Комб.г. изображен на рис. 18.2, где через rij обозначена длина ЛРС-у, j = \,2,...,т. Обозначим « = «1+... +п,„ и без ущерба для общности положим, что п\<п^<-..'^п„. 1 ^^ •-> «, ЛРС-1 ■ ■ ■ 2 1 - ^J L> щ JIPC-2 ■ « ■ 2 1 - K.J L> и. ■ ■ ■ 2 1 --> --> JIPC-W Рис. 18.2. Комбинирующий генератор Уравнения гаммообразования комб.г. имеют вид: Y,=/(v(9i'"'U^")),...,v(9«/"'(^^""))), '■= 1,2,. (18.3) 321
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ где х^^ - начальное состояние ЛРС-У, фу - преобразование множества состояний ЛРС-7,7 = \,2,...,т, и для любого вектора х = (хи---,х,,)еР^'''^ определим, что v{x) = xi. Функция в правой части равенства (18.3) (обозначим ее через vj/.V',...,х^*"')) является /-Й выходной функцией данного комб. г., / = 1,2,... Комб.г. называется нелинейным, если нелинейна функция f{xi,X2,...,Xm). Ключевыми элементами комб.г. могут быть начальные состояния всех ЛРС, их характеристические многочлены, а также функция У(Х1,Х2,...,Х„). Начальные состояния всех ЛРС составляют начальное состояние генератора. Если начальное состояние каждой ЛРС отлично от нулевого, то соответствующее начальное состояние генератора назовем неособенным. Оценим линейную сложность гаммы генератора. Каждому каноническому полиномуy(xi,X2,...,Хот) над конечным полем Р поставим в соответствие полином/z(xi,X2,...,Xot) над кольцом целых чисел Z, полученный K3f{xi,X2,...,x,„) заменой всех ненулевых коэффициентов на 1 и заменой операций в поле Р операциями в кольце Z. Теорема 18.1. ЕслиУ(х1,Х2,...,д:от) - канонический полином комбинирующей функции, то при любом начальном состоянии комб.г. линейная сложность Л(у) гаммы не превышает/z(«i,«2, •••,«/«)• Доказательство. По теореме 7.1 Л(у) есть размерность пространства F, порожденного множеством всех выходных функций комб.г. Оценим для пространства F мощность базиса, составленного из конъюнкций переменных (ведь все выходные функции имеют полиномиальное представление). Из (18.3) следует, что /-я выходная функция имеет вид: H/,(x^'',...^^'"')=y(/iV"),.-.,CV"")), (18.4) где //''(х^''),...,/„^''(х^'"') есть линейные функции от непересекающихся наборов х^'',...,х^"'' независимых переменных и |х^^| = Пр j = 1,2,...ш. Поэтому после приведения полинома /-й выходной функции к каноническому виду получаем сумму не более f:^ni,n% ...,«,„) конъюнкций. Следовательно, число различных конъюнкций, линейная комбинация которых совпадает с /-й выходной фунющей, не больше чем^«1,«2- ••■,«»,)• 322
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ Заметим, что проведенные рассуждения не зависели от начального состояния комб.г. и номера /. ♦ Для обеспечения наилучших криптографических свойств комб.г. необходимо, чтобы комбинирующая функцияy(xi,...,x„,) зависела существенно от т переменных и использовались неособенные начальные состояния, иначе данный комб.г. вырождается в комб.г. с меньшим числом ЛРС. Считаем, что далее эти условия безоговорочно выполнены. Полученную в теореме 18.1 оценку для Л(у) в некоторых условиях можно заменить точным равенством: в частности, [34, 48], это равенство верно, если Р - простое поле и ЛРС комб.г. имеют примитивные характеристические многочлены попарно взаимно простых степеней. При определенных ЛРС и функции У(д:1,...,д:от) можно обеспечить большой период и хорошие статистические свойства гаммы комб.г. Из теоремы 6.2 следует, что если при некотором начальном состоянии ЛРС-1,...,ЛРС-т генерируют последовательности периодов соответственно t\,...,tin, а функцияy(xi,...,Хот) биективна по всем переменным, то период Г(у) гаммы не меньше HOK{t\,...,tm)/HOM{t\,...,tm). Рассмотрим подробнее случай Р = GF{2). Теорема 18.2. Пусть все ЛРС комб.г. имеют максимальный период и попарно взаимно простые длины. Тогда период Т(у) гаммы равен: т ДУ)=П(2"^~1), (18.5) а число Л^1 единиц на периоде удовлетворяет неравенствам \\f\\-2"-'"i\-t"^ )<Ni< \\f\\-2"-'". (18.6) Доказательство. По условиям теоремы ЛРС имеют попарно взаимно простые длины п\,...,Пт.\,п,„, поэтому при неособенном начальном состоянии (х^",...,х^"'"'',х^"'') генератора периоды выходных последовательностей ЛРС равны соответственно 2"' -1,...,2"'"' -1, 2"'" -1 и также являются попарно взаимно простыми. Следовательно, по утверждению 6.2 период последовательности двоичных т-мерных 323
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ наборов {(//''(х"*),...,/„^''(х^'"'))}, / = 1,2,..., поступающих на вход комбинирующей функции/(xi,...,Хот), равен t„: т ?.= П(2"'-1)- >| По теореме 6.2 период гаммы 7'(у) делит tn,, то есть T{y) = drdr...-d„„ tl n - где dj/2 -' -I ,у = \,2,...,m. Докажем для всех^ = l,...,m, что 4/=2 ■' -1. Пусть это не так и для определенности dm<2'''" -1. При этом d,„>l, иначе Г(у) = dy...d„,.i и делит t,„.i, откуда следовало бы, что j{xi,X2,.. .,х„) зависит от х^ несущественно. Рассмотрим последовательность {ут+/.г} - регулярную выборку с шагом г из гаммы генератора, начиная с т-го знака, и соответствующую ей последовательность выходных функций {v[/^+,-.r(x^",...,x^'"')}> /= 1,2,..., где г = Гот.ьхе{1,2,...,/-}. Так как число r-d„ кратно Г(у), то r-dm также является периодом гаммы (возможно, не наименьшим). Следовательно, периодический отрезок последовательности {ут+,г}, длина которого равна 2"™ -1, содержит qi единиц и ^о нулей, где qi, qo положительны (иначе J{xi,...,x,„) фиктивно зависит от х„,) и кратны h„, где h,„ = (2"™ -1 yd„. Заметим, что h„>l. С другой стороны, так как г кратно периодам ЛРС-1,..., ЛРС-(т-1), то из (18.4) имеем, что {н/,+;.Хх"',...,х^'""",х^"")} имеет вид {^ai,...,a,„.i,/,„^''"'V'"'))}, ' = 1,2,..., гдеДаь...,a,„.i,Xm) - подфункция функции f(xi,...,x,„.i,x,„) и фиксация (ai,...,a„,.i) набора переменных (xi,...,x,„.i) однозначно определяется числом т. Подфункция Да1,...,а,„.1,х,„) есть функция одной переменной и поэтому аффинна, причем найдется те {1,2,...,/-} и соответствующий набор (ai,...,a,„.i). при котором подфункция/(ai,...,a„,.i,x,„) отлична от константы, иначе Лхи---,х,„.1,х,„) зависела бы от х,„несущественно. Рассмотрим при таком наборе (ai,...,a,„.i) последовательность {Да1,...,а„,.1,/„/^'^"^'(х'"'*))), / = 1,2,..., 2"'" -1. В силу взаимной простоты 324
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ чисел г и 2"™ -1 периодический отрезок последовательности {1т^^^"\х^'"^)} при ненулевом начальном состоянии х^"''есть перестановка периодического отрезка ЛРП, вырабатываемой ЛРС-т. Поэтому этот отрезок содержит 2""' единиц и 2"™ -1 нулей. Следовательно, при указанном наборе (ai,...,am.i) последовательность {f(ai,..-,a„,.i,lj^*"''\x^'"^))} содержит либо 2"™" единиц и 2"™' -1 нулей, либо наоборот. В любом случае оба числа не делятся одновременно на hm. Имеем противоречие. Следовательно, равенство (18.5) доказано. Пусть частота встречаемости вектора (а1,...,аот) в последовательности {(/,V"),..-.CV""))}, '■ = I2,...,t„, есть N(au...,a„,). С учетом взаимной простоты периодов всех ЛРС и количества единиц и нулей на их периодах имеем: т N(au...,a^)=Yl(2"'-^+aj-l). Поэтому для всех (а1,...,аот) выполнены неравенства: 2"-'"(1-1/2"'-1/2"2-...-1/2"'")<Л^(аь...,а,)<2''-'", (18.7) и справа равенство достигается лишь при (а1,...,аот) = (1,...,1)- Так как длины ЛРС различны и упорядочены, то 1/2"'+1/2"2+...+1/2"'"< 2'""'. С учетом этого оценки (18.7) принимают вид: 2"-'"(1-2'"' )<N{au...,ar) < 2""'". (18.8) Число Л^1 единиц на периоде гаммы равно: Ni= Y, N(a,,...,aJ. Отсюда и из неравенств (18.8) получаем (18.6). ♦ Следствие. Если/(х1,Х2,...,д:,„) равновероятна, то 2""'-2""' <Л^1 <2"'\ Доказательство. Заметим, что правое неравенство (18.6) достигается лишь дляУ(х1,Х2,...,х„,) = xiX2-...x,„. Подставляя в (18.6) значение 325
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 11/11 = 2*""' И заменяя правое неравенство строгим неравенством, получаем требуемые оценки. ♦ 18.4. Корреляционные атаки Несмотря на отмеченные сильные свойства фильтруюп^их и комбинирующих генераторов, имеется опасность, связанная с корреляцией между гаммой генератора и выходными последовательностями некоторых ЛРС [11]. В этом случае определение ключа генератора можно реализовать поэтапно (метод типа «разделяй и вскрывай»). На первом этапе, используя гамму генератора, можно статистически определить начальные состояния некоторых ЛРС, а на последующих этапах восстановить остальные элементы ключа, имея дело уже с упрощенной криптосхемой. В качестве примера рассмотрим генератор Геффе, использующий комбинацию трех ЛРС. В этом генераторе ЛРС-1 и ЛРС-2 являются генерирующими, а ЛРС-3 является управляющим. Комбинирующая функция/(xi,X2,X3) имеет вид: y(xi дгДз) = ^1 -^3 ® xr(xi®l). Если все ЛРС имеют максимальные периоды и их длины «i, «2, «з попарно взаимно просты, то период гаммы равен произведению периодов ЛРС, а линейная сложность гаммы генератора равна «1-«3+«2-«3+«2- В то же время функция f{xi,X2,Xi) имеет хорошие линейные приближения: а именно f{xi,X2,Xi) совпадает с функцией xi (а также с функцией хг) на % всех наборов таблицы. Это означает, что гамма генератора совпадает с выходом ЛРС-1 примерно для 75 % знаков. Таким образом, можно опробовать начальные состояния ЛРС-1 и статистически отсеивать «ложные» значения, генерируя знаки выхода ЛРС-1 и наблюдая частоту совпадения этих знаков с соответствующими знаками гаммы генератора. При ложных значениях совпадение происходит примерно для 50 % знаков. Посчитано, что для отсева одного «ложного» значения достаточно использовать порядка 15 сравнений знаков. Трудоемкость дальнейшего вскрытия ключа незначительна. 326
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ Другой известный пример комбинирующего генератора - пороговый генератор, использующий комбинацию нечетного числа т ЛРС. Комбинирующая функция f(xi,...,x,„), называемая функцией мажорирования, принимает значение 1 тогда и только тогда, когда ||(xi,...,x,„)||>m/2. При соответствующих ЛРС период гаммы порогового генератора равен произведению периодов ЛРС, а линейная сложность гаммы генератора равна^(«!,...,«„) (при m = 3 линейная сложность равна «1«2+«г«з+«2'«з)- Этот генератор также имеет слабости. Функция мажорирования имеет хорошие аффинные приближения, в частности при m = 3 любая переменная совпадает с J{xuX2,xt,) на 0,689 части всех наборов таблицы. Корреляционная атака, использующая порядка 30 знаков гаммы, позволяет последовательно отсеять ложные значения всех ЛРС. При увеличении числа т используемых в схеме ЛРС сложность корреляционной атаки возрастает. Наилучшее противодействие корреляционным атакам достигается при использовании комбинирующих функций с высоким корреляционным иммунитетом (см. гл. 9). В то же время Зигенталером [41] показано, что имеется взаимосвязь между корреляционным иммунитетом комбинирующей функции и линейной сложностью гаммы, обусловливающая ослабление одной характеристики при усилении другой. 18.5. Генераторы гаммы с неравномерным движением Одним из способов достижения нелинейной зависимости знаков гаммы от ключевых элементов генератора, привлекающих внимание разработчиков, является неравномерное движение информации в определенных узлах генератора, определяемое ключом. До сих пор мы рассматривали преобразования, при которых информация в элементах памяти криптосхемы обновляется равномерно, то есть при каждом тактовом импульсе. Если продвижение информации в некотором регистре зависит от последовательности, вырабатываемой другим регистром, то разумно предположить, что 327
в. М. Фомичев. ДИСКРЕТНАЯМАТЕМАТИКА И КРИПТОЛОГИЯ генерируемая гамма станет сложнее. Построенные по такому принципу генераторы гаммы называются генераторами гаммы с неравномерным движением. Изменение закона движения регистра приводит к изменению исходной (полученной при равномерном движении) гаммы. Суть изменения состоит, как правило, в усечении (удалении), реже - в дублировании некоторых битов исходной гаммы. Эффект неравномерного движения достигается двумя способами: с помощью внешнего управления регистрами генератора гаммы и с помощью самоуправления. Один из способов внешнего управления - это последовательное соединение т автоматов, где каждый предыдущий автомат называют управляющим по отношению к последующему, а последний автомат называют генерирующим. Если т>2, то такое соединение автоматов называют каскадным, am- числом каскадов. Устройство каждого каскада может быть простым, например каскад - это ЛРС и управление реализуется в виде зависимости в каждый такт числа «продвижек» информации управляемого автомата от выходного знака управляющего автомата. Другой способ - это несколько взаимно управляемых автоматов, совместно генерирующих гамму (см. криптосхему генератора шифра .45 в прил. 6). Самоуправление реализуется автоматом с помощью зависимости числа «продвижек» информации от состояния некоторых элементов памяти. 18.5.1. Схемы с внешним управлением Рассмотрим некоторые классы генераторов двоичной гаммы с неравномерным движением, построенные на основе ЛРС. При этом для ЛРС-у, у = 1,2,..., обозначим через Fj - характеристический многочлен, tj - период выходной последовательности, не зависящий от начального состояния, если рассматриваются ЛРС максимального периода. 18.5.1.1. Генераторы «6-х шагов» Если в двухкаскадной схеме управляющий автомат есть фильтрующий генератор на базе ЛРС длины п, а генерируюищй автомат 328
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ есть ЛРС длины т (с одной из ячеек которого снимается гамма), отрабатывающий каждый такт в зависимости от управляющего знака т или 5 шагов, х^5, то такой автомат называют генератором «6-х шагов» (при 5 = О, т = I - генератором «стоп-вперед»). Схема дана на рис. 18.3. е Т. ■Ф т ЛРС-2 ЛРС-] Рис. 18.3. Генератор «5-х шагов» Если состояния ЛРС-1 и ЛРС-2 в /-м такте равны соответственно X,- и у,, i = 1,2,..., где X, = (х,;ьх,;2,...,х/,„),у, = (У1,т,-;У1.2,У1.1), ТО уравне- ния гаммообразования имеют вид: где a(i) - суммарная «продвижка» ЛРС-1 в первые i тактов: CT(0=Z(5-(/U;)©l) + x-/(x.)). ;=i Пусть S = a(ti). После H0K{s,t2) «продвижек» ЛРС-2 оба регистра возвращаются в начальное состояние, а это происходит после t тактов функционирования генератора, где t = tv{H0K{s,t2)ls). При {sJt) = I период t достигает наибольшего значения t\-t2. Верхняя оценка линейной сложности гаммы была получена в [29] й имеет вид: Л(у) < t\-m. 329
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Для генератора «стоп-вперед» эта оценка достигается [4], если управляющий регистр есть ЛРСтах-п и(п,т) ■= 1. Генераторы «стоп-вперед» и «1-2 шага» достигают максимальной линейной сложности [44], если, в частности, оба ЛРС идентичны и имеют максимальный период. Получение точных значений линейной сложности гаммы, вырабатываемой схемами с внешним управлением, связано с выявлением условий (см., например, [44]), при которых минимальный многочлен гаммы nUf(X) = т( Я,''), где т(к) - минимальный многочлен генерирующего ЛРС. В гамме генератора «1-2 шага» с ЛРС-2 максимального периода все 5-граммы, s<(m+l)/2, появляются с той же частотой, с которой они появляются и в выходной последовательности ЛРС-2 при равномерном движении. Статистические свойства гаммы генератора «стоп-вперед» явно слабы: в среднем каждый второй бит выхода ЛРС-2 дублируется, кроме того, из равенства у;Фу,+1 = I следует Дх,) = I, что упрощает определение состояний ЛРС-1 по гамме. 18.5.1.2. Генераторы с перемежающимся шагом Усложнением генератора «стоп-вперед», предложенным с целью улучшения его статистических свойств, является генератор с перемежающимся шагом. Его гамма образуется как сумма гамм двух генераторов «стоп-вперед» с генерирующими ЛРС-2 и ЛРС-3 длины т и г соответственно и общим управляющим ЛРС-1 длины п. Если в /-М такте ЛРС-2 продвигается, то ЛРС-3 простаивает, и наоборот. Ключом генератора являются начальные состояния всех ЛРС. Если состояния ЛРС-1, ЛРС-2 и ЛРС-3 в /-м такте равны соответ- i ственно х„ у1 и z„ где ц = (z/,i,z,-,2, ■■■,Zi,r), i = 1,2,..., и a{i) = Y,f^^i^' н то уравнения гаммообразования имеют вид: У/=70(0.1® г,-а(/).1- В [14] изучены период и линейная сложность гаммы генератора. Показано, что условия (5,ь) = (t\-s,tT,) = (t2,t?,) = 1 гарантируют мак- 330
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ симальный период гаммы: t = tytrh- В этом случае линейная сложность гаммы как суммы двух последовательностей оценивается снизу величиной Л(у)>(т+/--2)-?1. Если многочлены Гг и F3 различны и неприводимы, {t2,h) ~ ' и ?1 = 2 , то период гаммы максимален и равен i = 2 -ti-h, а линейная сложность гаммы ограничена неравенствами (т+/-)-2*'' < Л(у) < {т+г)-2\ Если ЛРС-2 и ЛРС-3 имеют максимальные периоды, то частота появления в гамме всех 5-грамм, s<mn{m,r), равна 2'' с отклонением порядка 0(2''")+О(2'0. Как и генератор «5-х шагов» генератор с перемежающимся шагом вскрывается опробованием начального состояния управляющего ЛРС (метод типа «разделяй и вскрывай»). Эффективная длина ключа генератора с перемежающимся шагом близка к длине управляющего регистра. 18.5.1.3. Каскадные генераторы Гельмана Каскадный генератор построен на основе ЛРС-1,..., ЛРС-ш максимального периода и привлекателен тем, что может быть использо- ран для генерации гаммы с огромным периодом и линейной сложностью. В этой конструкции первый ЛРС управляет вторым, второй - третьим и т. д. Если все ЛРС имеют длину п и различные примитивные характеристические многочлены [12], то период гаммы т-каскадного генератора достигает величины (2"-1)'", а линейная сложность имеет порядок «-(2"-If"'. Вместе с тем установлено [26, 30], что имеется корреляция между выходом с ЛРС-1 и гаммой т-каскадного генератора, позволяющая по крайней мере при 77г<10 построить эффективный метод последовательного вскрытия начальных состояний ЛРС, начиная с первого. 18.5.1.4. Сжимающие генераторы Другой принцип управления движением использован в сжимающем генераторе, который построен на основе параллельно рабо- 331
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ тающих JIPC-1 и J1PC-2 с максимальными периодами. Знаками гаммы являются выходные знаки, снимаемые с ячейки ЛРС-2, но только в те такты, когда управляющий знак ЛРС-1 равен единице, в остальные такты оба бита, генерируемые ЛРС-1 и ЛРС-2, игнорируются. Уравнения гаммообразования имеют вид: где Л^(/) есть номер такта, соответствующего /-й единице в выходной последовательности ЛРС-1. Гамма сжимающего генератора имеет хороший период и линейную сложность [5]. Криптографические слабости обнаружены у него только в том случае, когда характеристические многочлены прорежены (содержат мало ненулевых коэффициентов). Реализация сжимающего генератора имеет высокую скорость, но имеются определенные проблемы, связанные с нерегулярностью выдачи знаков гаммы. Для решения этой проблемы предлагается использовать технику буферизации. 18.5.1.5. Аддитивные генераторы Эти генераторы, иногда называемые запаздывающими генераторами Фибоначчи, синтезируют идеи, на которых строятся ЛРС иЛКГ. Аддитивные генераторы оперируют с «-битовыми числами, которые рассматриваются как элементы кольца вычетов Z „. Если ^о, Х\,...,Хт.\ есть числа, образующие начальные слова генератора, то /-й знак (число) гаммы Х-, образуется по правилу, i>m, т-\ X, = (Xa.-X^„,„)mod2", где ао,а\,..., a^.i есть двоичные числа. При этом коэффициенты выбирают так, чтобы при замене сложения по модулю 2" операцией XOR- суммирования соответствующий закону рекурсии характеристический многочлен был примитивным. Это гарантирует для подпоследовательности младших разрядов и, следовательно, для всей последовательности чисел {Xj] период не меньше 2'"-1. 332
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ Аддитивные генераторы нестойки, но их можно использовать как базовые блоки при построении более стойких генераторов. Например, генератор Fish (Fibonacci Shrinking Generator - сжимающий генератор Фибоначчи), авторы U. Blocher и М. Dichtl, построен на базе двух аддитивных генераторов и использует принципы сжимающего генератора. Ключом являются начальные состояния двух аддитивных генераторов: А, = (A!.24+Ai.55)mod2^\ В, = (B,.i9+fi/-52)mod2-'l Если младший бит числа В/ равен 1, то пара (Ai,Bi) используется для выработки знака гаммы, если равен О, то игнорируется. Пусть {С,} ({Dj}) есть последовательность используемых чисел, взятых их {Л;) (из {В,}), Знаком гаммы является пара 32-битовых чисел (r2j,r2j+i),j = 0,1,..., вычисляемая по правилу (Гу,Г2м) = (E2j®F2j,C2j^l®F2j), где E2J = C2j®(D2jaD2j+i), F2j = D2j+ia(E2jaC2j+\). Этот генератор обладает высокой производительностью, но стойкость его невелика, по- рядка 2 операции. Росс Андерсон, взломавший Fish [1], предложил его более стойкую версию, получившую название Pike. Генератор Pi^e работает еще быстрее, хотя использует 3 аддитивных генератора, например: Ai= (Д;.24+A^55)mod2^^ B,•=(B,.7+fi/-57)mod2^^ С,= (C.i9+Q.58)mod2-'l Андерсон заметил, что криптоаналитическая атака заметно усложняется, если для управления использовать не младшие биты, а биты переноса. Если 3 бита переноса одинаковы, то продвигаются все 3 аддитивных генератора. В противном случае продвигаются лишь те два генератора, чьи биты переноса совпадают. Знак гаммы генератора Pike есть XOR-сумма трех «-битовых наборов, соответствующих значениям последних чисел гаммы аддитивных генераторов. Чтобы исключить повторы в гамме генератора, предложено перезагружать ключ после генерации 2^^ чисел. Для получения 333
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 700-байтового начального заполнения целесообразно использовать качественную хеш-функцию (см., например, SHS в прил. 7). Разновидностью генераторов типа Fi^h является также генератор Mush (автор D. J. Wheeler), построенный на базе двух взаимно сжимающих аддитивных генераторов. 18.5.2. Схемы с самоуправлением Схемы генераторов с самоуправлением могут быть построены на базе единственного ЛРС с помощью дополнительных обратных связей. Они получили название самопрореживающих генераторов, так как их гамма является результатом удаления некоторых знаков из гаммы равномерно движущегося ЛРС. 18.5.2.1. Генераторы (5,х)-самоусечения Предложенный и изученный в [36] генератор (5,т)-самоусечения построен на основе ЛРС, в котором величина сдвига информации зависит от состояния некоторых ячеек регистра. В простейшей разновидности генератора информация в ЛРС продвигается на 5 шагов, если г-й знак гаммы равен 1, и в противном случае информация в ЛРС продвигается на т шагов, Ъфх. В более сложных модификациях генератора бит, определяющий величину сдвига информации, есть функция нескольких ячеек ЛРС. Несложно показать, что преобразование ф множества состояний ЛРС, реализуемое генератором (5,т)-самоусечения, небиективно. Пусть ЛРС длины п имеет максимальный период и х-, - состояние ЛРС в г-м такте при равномерном движении. В графе Г^ преобразования ф вершина х; имеет полустепень захода от О до 2. В силу свойств ЛРПтах-« не менее четверти всех вершин графа Лр являются концевыми (не имеют предшественников). Отсюда следует, что число циклических точек графа Лр и, следовательно, период гаммы генератора не превосходит (3/4)-(2"-1). Точное значение периода гаммы зависит от свойств чисел бит. Для определенных классов пар чисел битв [36] посчитано, что Г«(2Л)-(2"-1). 334
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ Экспериментально получено, что линейная сложность гаммы генератора (1,2)-самоусечения близка к 2"'\ но доказательства этого не найдены. Простейший генератор (5,т)-самоусечения нельзя использовать непосредственно, так как любой бит на выходе является битом состояния и при известном законе движения следующий бит выхода позиционно привязывается к предыдущему. Поэтому лучше использовать различные группы битов состояния для генерации гаммы и для управления движением. 18.5.2.2. Самосжимающий генератор Еще один вариант схемы самоуправления использован в самосжимающем генераторе [24]. Этот генератор строится на основе ЛРС максимального периода, с двух ячеек которого снимается пара знаков, при этом если первый знак равен 1, то второй знак является выходным, и если первый знак равен О, то второй знак игнорируется. Для гаммы самосжимающего генератора также могут быть достигнуты хорошие характеристики. Между сжимающими и самосжимающими генераторами имеется соответствие. Вторые требуют в 2 раза меньше схемного пространства, но генерируют гамму медленнее. 18.6. Генераторы с дополнительной памятью Для усложнения корреляционного анализа последовательностей криптографических генераторов при их конструировании используются дополнительные регистры памяти. Рассмотрим некоторые способы использования дополнительной памяти в криптографических схемах. 18.6.1. Генераторы Макларена - Марсалъи В генераторах Макларена - Марсальи исходная последовательность усложняется с помощью регистра памяти и управляющих последовательностей. Пусть имее7ся т ячеек памяти, занумерованных числами от О до W-I, в которые записываются элементы и-множества X. Для отобра- 335
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ жения последовательности Х^ = [x(i)} над X в последовательность Y.^ = {y(i) ] над X используются в общем случае две управляющие последовательности и.^ = {м(()) и 1У = {w(i) ] над кольцом вычетов Z„,. Последовательность С/_> управляет записью в память членов входной последовательности, а W..^ управляет считыванием из памяти членов выходной последовательности. Определим функции переходов и выходов соответствующего автомата Мили А = (XxZ„,xZ„X'"^Xh,f). Пусть (s(0),...,s(m-\))eX^'"\ тогда h((s(0),...,s(m-\))^M,w) = (s'(0),...,s'(m-\)), где s'(u) = хиs'(i) = s(i) при всех 1ч^и, J{(s(0),...,s('n-\))^u,w) = s(w). Периоды последовательностей Х_>, С/_>, 1У_> и У_> обозначим соответственно tx, tu, tw И ty. Последовательность над множеством D называется полной, если она содержит все элементы множества D. Теорема 18.3. Если последовательности С/_> и 1У_> полны, то период ty кратен tx и делит HOK{tx,tu,tw)- Доказательство. В силу полноты [/_> каждая ячейка памяти «обновляется» знаками входной последовательности как минимум один раз за tu тактов, то есть начиная с некоторого такта т каждый знак состояния не зависит от знаков начального состояния. При ('>т через каждые I тактов, где / = HOK(tx,tu,tw), повторяются знаки всех входных последовательностей и, следовательно, повторяются состояния автомата А и знаки выходной последовательности. Таким образом, /,. делит HOK(tx,tu,tw)- Число ty можно представить в виде: ty = dx-du„, (18.9) где dx/tx, duJHOK(tu,tw)- Из всех представлений вида (18.9) рассмотрим то, у которого dx принимает наибольшее значение, и покажем, что в таком представлении dx = tx. По условию число d = dx-HOK(tu,tw) - также период (возможно, не наименьший) последовательности У_>. Рхли й/,<Гд, то 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+d автомат А переходит в различные состояния, так как воспринимает различные входные символы при одинаковых управляющих символах: u(j) = u(j+d). Эти различные знаки состояний под воздействием одинаковых управляющих символов последовательности W_> в такты j+l и j+d+l (w(/+Z) = u(j+d+l), так как t^/d) при некотором / поступают в выходную последовательность, что неизбежно в силу полноты последовательности W.-+. Значит, y(j+r)j^y(j+d+r) при указанных j и /. Следовательно, d не период последовательности У_>. Имеем противоречие, означающее, что dx = tx. ♦ Уточнение коэффициента пропорциональности ц, связывающего периоды tx и ty = yL-tx, требует некоторой дополнительной информации о свойствах входных последовательностей. Например, в [48] приведена оценка ц>г„-е"'^'' для случая С/_> = W_>, (?„,?,) = 1 и f„<fj. 18.6.2. Регистр сдвига с обратной связью с переносом Другое направление использования дополнительной памяти для усложнения последовательностей связано с относительно новой конструкцией Э. Клаппера и М. Горецки, получившей название регистра сдвига с обратной связью с переносом (РСОСП). РСОСП - это регистр сдвига, имеющий несколько ячеек дополнительной памяти, образующих регистр переноса. Наиболее простая разновидность РСОСП строится на базе ЛРС над GF(2) и ячейки дополнительной памяти, предназначенной для записи целых чисел от О до 2'^-!, где г - число ячеек регистра, содержимое которых используется для вычисления обратной связи, рис. 18.4. Пусть в ячейках регистра записаны биты х\, хг,..., х„, а в дополнительной памяти записано число ст. В следующем такте содержимое регистра сдвигается (в данном случае вправо), бит х„ поступает на выход, при этом содержимое памяти и левой ячейки регистра обновляется следующим образом: 337
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Zniod2 -> -1^1 ^1 ... ^, [1/2] -^^ 1 г^ s i 1 . < Выход Рис. 18.4. Регистр сдвига с обратной связью с переносом 1) вычисляется действительная сумма битов а\-Х\+агХ2+...+ап-Хп, где а\,а2,...,ап - двоичные коэффициенты, из которых г коэффициентов равны 1, а остальные равны О, эта сумма складывается с числом ст: Е = cs+ayX\+arX2+...+a„-x„; 2) младший бит числа Е записывается в левую ячейку регистра сдвига, а набор остальных битов, соответствующий числу [Е/2], является новым содержимым памяти. Наибольший период, достигаемый РСОСП, ограничен числом q-\, где q называется числом обратной связи: q = ai-l+ar2^+...+a„-2". Важной особенностью РСОСП является то, что для их анализа неприменим традиционный математический аппарат конечных полей, поэтому для изучения свойств схем с переносом разработана теория, основанная на 2-адических числах [16]. Использование в криптосхемах РСОСП, в особенности в сочетании с неравномерным движением [И], заметно усложняет корреляционные атаки. В связи с этим представляются перспективными криптосхемы типа каскадных генераторов Гольмана, построенных или на базе нескольких РСОСП, или на базе их совместного использования с ЛРС. Применение РСОСП в криптосхемах будет расширяться, по-видимому, по мере их изучения. 338
Глава 18. КРИПТОГРАФИЧЕСКИЕ ГЕНЕРАТОРЫ 18.7. Задачи и упражнения 18.1. Докажите, что ф.с. над конечным множеством Хс фильтром f(xi,X2,...,x„) различает входы, если функция/(д:1,д:2,...,л:„) биективна по переменной х„; по переменной х\. 18.2. При каком условии гамма {у,} ф.г. над полем Р с фильтром f(xi,X2,...,x„), усложненная ф.с. над Р с фильтром h(xi,X2,...,Xm), может рассматриваться как гамма {у,'} ф.г. с фильтром g(xi,X2,...,Xs) при некоторых gH S. Выразите gn s через характеристики функций/и h. 18.3. Для ф.г. над полем Р порядка к с фильтром/(дгьдгг,...,^:/!), построенного на основе ЛРСтах-«, докажите, что период гаммы: а) равен ^"-1, если/сбалансирована; б) равен числу неэквивалентных состояний ф.г. 18.4. Какой длины п достаточно использовать ЛРСтах-« в схеме ф.г. над GF(2) с фильтром/(д:1,д:2,...,д:я) = x\-xs®X2-X6®xyXy®X4, чтобы гарантировать линейную сложность гаммы не меньше 5-10^? 18.5. Определите равновероятную комбинирующую функцию / комб.г. над GF{2), построенного на основе ЛРСтах-5, ЛРСтах-7 и ЛРСтах-11, гарантирующую при неособенном начальном состоянии линейную сложность гаммы не меньше 167? Каков период t гаммы данного генератора? Сколько нулей содержится на периоде гаммы? 18.6. Докажите, что если управляющий автомат генератора «5-т шагов» имеет эквивалентные состояния, то генератор в целом также имеет эквивалентные состояния. 18.7. Каков период t гаммы сжимающего генератора, построенного на основе управляющего ЛРСтах-т и генерирующего ЛРСтах-«, если (п,т) = 1? 18.8. Каков период t гаммы самосжимающего генератора, построенного на основе ЛРСтах-«, п>2, если в каждом такте знак гаммы считывается с п-й ячейки ЛРС, а управляющий знак есть сумма содержимого («-1)-й и («-2)-й ячеек ЛРС? Сколько знаков единицы размещается на периоде выходной последовательности? 339
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 18.9. Для генератора [5,т]-самоусечения, построенного на основе ЛРСтах-«, покажите, что: а) функция переходов небиективна; б) число концевых вершин автоматного графа равно 2"'^. 18.10. Для генератора Макларена - Марсальи, построенного на основе 2-битовой памяти, генерирующего ЛРСтах-«, управляющего записью в память JlPCmax-m и управляющего считыванием из памяти ЛРСтах-г, определите: а) за сколько тактов в худшем случае обновляется содержимое одной ячейки; обеих ячеек; б) каков коэффициент размножения в гамме единичной ошибки во входной последовательности; в управляющих последовательностях. 340
ПРИЛОЖЕНИЯ 1. Алгоритм шифрования DES Алгоритм DES - это итеративный 16-цикловой обратимый блочный шифр Фейстеля. Размер входного блока - 64-бита. Размер ключа к шифра - 56 бит. Цикловые ключи q\,...,q\(, есть алгоритмически вырабатываемые выборки 48 бит из 56 бит ключа к. Входное и выходное преобразования (бил)- не зависящие от ключа подстановки, при этом TZ = b' -Т . Функция усложнения \^{x2,q) (рис. П-1) состоит из следующих слоев: jCj (32 бита) У Vi t \ (Л9 (читЛ ■■ 1 и\Х.) \Що Опт) » t(T\* п *'К\)< 1 (48 бит) тмЩи! i|iu<|n|.i|ni ф ф ^ ,, ф ll IMi III ф «1 ililii» V Перестановка Р 32 бита V ¥(.ь?) (32 бита) Рис. П-1. Блок-схема функции усложнения \\i(x^q) 1) расширения Е 32-битового вектора до 48-битового вектора; 2) подмешивания 48-битового циклового ключа путем XOR-сум- мирования; 3) нелинейной замены с помощью 5-боксов 5i,...,5g 48-битового вектора на 32-битовый вектор; 4) перемешивания координат 32-битового вектора с помощью перестановки Р. птсхтпфп 341
8. М. Фомичвв. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Отобразкение расширения Е 32 1 2 3 4 5 8 9 10 11 12 13 16 17 18 19 20 21 24 25 26 27 28 29 4 12 20 28 5 13 21 29 6 14 22 30 7 15 23 31 8 16 24 32 9 17 25 1 Данная таблица означает, что первым битом вектора £(^2) является 32-й бит вектора Х2, вторым битом вектора Е(х2) является 1 -й бит вектора Х2 и т. д. Отображения 5-боксов заданы следзоощими таблицами. s-боксы Si 14 0 4 15 4 15 1 12 13 7 14 8 1 4 8 2 2 14 13 4 15 2 6 9 11 13 2 1 8 1 11 7 3 10 15 5 10 6 12 11 6 12 9 3 12 11 7 14 5 9 3 10 9 5 10 0 0 3 5 6 7 8 0 13 ^2 15 3 0 13 1 13 14 8 8 4 7 10 14 7 11 1 6 15 10 3 11 2 4 15 3 8 13 4 4 14 1 2 9 12 5 11 7 0 8 6 2 1 12 7 13 10 6 12 12 6 9 0 0 9 3 5 5 11 2 14 10 5 15 9 S3 10 13 13 1 0 7 6 10 9 0 4 13 14 9 9 0 6 3 8 6 3 4 15 9 15 6 3 8 5 10 0 7 1 2 11 4 13 8 1 15 12 5 2 14 7 14 12 3 11 12 5 11 4 11 10 5 2 5 14 2 8 1 7 12 S4 7 13 10 3 13 8 6 15 14 11 9 0 3 5 0 6 0 6 12 10 6 15 11 1 9 0 7 13 10 3 13 8 1 4 15 9 2 7 1 4 8 2 3 5 5 12 14 11 11 1 5 12 12 10 2 7 4 14 8 2 15 9 14 4 S5 2 14 4 11 12 11 2 8 4 2 1 12 1 12 11 7 7 4 10 1 10 7 13 14 11 13 7 2 6 1 8 13 8 5 15 6 5 0 9 15 3 15 12 0 15 10 5 9 13 3 6 10 0 9 3 4 14 8 0 5 9 6 14 3 342
ПРИЛОЖЕНИЯ S6 12 10 9 4 1 15 14 3 10 4 15 2 15 2 5 12 9 7 2 9 2 12 8 5 6 9 12 15 8 5 3 10 0 6 7 11 13 1 0 14 3 13 4 1 4 14 10 7 14 0 1 6 7 11 13 0 5 3 11 8 11 8 6 13 s7 4 13 1 6 11 0 4 11 2 11 11 13 14 7 13 8 15 4 12 1 0 9 3 4 8 1 7 10 13 10 14 7 3 14 10 9 12 3 15- 5 9 5 6 0 7 12 8 15 5 2 0 14 10 15 5 2 6 8 9 3 1 6 2 12 Ss 13 1 7 2 2 15 11 8 13 4 1 1 14 4 8 1 7 6 10 9 4 15 3 12 10 11 7 14 8 1 4 2 13 10 12 0 15 9 5 6 12 3 6 10 9 14 11 13 0 5 0 15 3 0 14 3 5 12 9 5 6 7 2 8 11 Поступающий на вход 5-боксов 48-битовый вектор разбивается на 8 групп по 6 бит, и i-я шестерка битов отображается с помощью 5, в четверку битов, i = 1,2,...,8. Занз'меруем строки 5-бокса двоичными наборами (0,0), (0,1), (1,0), (1,1), а столбцы - 4-битовыми двоичными наборами в лексикографическом порядке. Тогда значением отображения 5-бокса для входного набора (xi,X2,...,xe) является двоичный набор, соответствующий числу, записанному в строке с номером (х\,Хб) и столбце с номером (х2,х:^,Х4,Х5). После 5-боксов 4-битовые векторы объединяются в 32-битовый вектор, координаты которого переставляются. Перестановка Р 16 2 7 8 20 24 21 14 29 32 12 27 28 3 17 9 1 19 15 13 23 30 26 6 5 22 18 11 31 4 10 25 Данная таблица означает, что 21-й бит перемещается на 4-ю позицию, 4-й бит - на 31-ю позицию и т. д. Входное преобразование 5, обычно называемое начальной подстановкой IP, задано следующей таблицей. 343
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Начальная подстановка IP 58 62 57 61 50 54 49 53 42 46 41 45 34 38 33 37 26 30 25 29 18 22 17 21 10 14 9 13 2 6 1 5 60 64 59 63 52 56 51 55 44 48 43 47 36 40 35 39 28 32 27 31 20 24 19 23 12 16 11 15 4 8 3 7 Подстановка IP дана в записи по нижней строке, т.е. 1 -й бит переходит в 58-й, 2-й - в 50-й и т. д. Ключевое расписание реализуется следующим алгоритмом. Поначалу ключ состоит из 8 байт, у которых каждый 8-й бит зависим, так как служит для проверки четности байта. Затем ключ сокращается до 56 бит отбрасыванием битов проверки четности с одновременной перестановкой остальных битов. Усеченная подстановка SK 57 49 41 33 25 17 10 2 59 51 43 35 63 55 47 39 31 23 14 6 61 53 45 37 9 27 15 29 1 19 7 21 58 11 62 13 50 3 54 5 42 60 46 28 34 52 38 20 26 44 30 12 18 36 22 4 Полз^ившийся 56-битовый вектор делится на два 28-битовых вектора, и в каждом цикле шифрования оба вектора подвергаются подстановке циклического сдвига на одинаковое число шагов по следующей схеме. Величина сдвига ключа на циклах шифрования Номер цикла Сдвиг Номер цикла Сдвиг 1 1 9 1 2 1 10 2 3 2 11 2 4 2 12 2 5 2 13 2 6 2 14 2 7 2 15 2 8 2 16 1 После каждого сдвига из обоих векторов выбирается по 24 бита с одновременным изменением их порядка, то есть реализуется усеченная подстановка SK]. Усеченная подстановка SK 14 17 23 19 41 .52 44 49 11 12 31 39 24 4 37 56 1 26 47 34 1 5 8 55 53 3 16 30 46 28 7 40 42 15 27 51 50 6 20 45 36 21 13 33 29 10 2 48 32 344
ПРИЛОЖЕНИЯ 2. Алгоритм ГОСТ 28147-89 в 1989 г. в СССР был разработан блочный шифр для использования в качестве государственного стандарта шифрования данных. Алгоритм ГОСТ 28147-89 - это итеративный 32-цикловой обратимый блочный шифр Фейстеля. Размер входного блока - 64-бита. Размер ключа к шифра - 256 бит. Цикловые ключи qi,...,q-i2 есть 32-битовые векторы, выбираемые из восьми независимых векторов к\,к2,...,к% по правилу: {qu...,qn) = {kx,ki,.-;h,k\M,---,h,k\,k2,---,h,h,ki,---M- Входное преобразование 5 - тождественное, выходное тс = Г^^. Функция усложнения '^{xъq) (рис. П-2) имеет слои: 1) подмешивания 32-битового циклового ключа путем суммирования по модулю 1^^; 2) нелинейной замены с помощью 5-боксов (узлов замены) s\ s%, реализзоощих отображения V4->V4; 3) перемешивание координат 32-битового вектора с помощью циклического сдвига на 11 бит влево. ■Г, (32 бита) q (32 бита) «|г ||| IMI A'i 1 »|| 4 i и i и ill S, ^ i^^ ■ ■ ■ V Циклический СДВИГ Г" ^ г V {x„q) (32 бита) II «1«« h на Рис. П-2. Блок-схема функции усложнения vfe^) Узлы замены выбираются для каждой сети отдельно и могут рас- сма1рива7ься как долговременный ключ алгоритма. 045
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ГОСТ предусматривает 3 основных режима шифрования: простую замену, гаммирование и гаммирование с обратной связью, а также режим выработки имитовставки, используемый для аутентификации данных. Режим простой замены используется только для шифрования ключевой информации (ключи и таблицы замен). Гаммирование заключается в побитовом суммировании блоков открытого текста и блоков гаммы, вырабатываемых по правилу. П = Ek{Yi,Zi), где Ек - подстановка, реализуемая алгоритмом ГОСТ на ключе к; Y, и Z; есть 32-битовые векторы, вычисляемые из рекуррентных соотношений Y; = (F,•.l+C2)mod2^^ Z,- = (Z(.,+Ci)mod(2^^-l). Здесь (Fo,Zo) = Ek{S), где S - начальное состояние 64-разрядного регистра криптосхемы, называемое синхропосылкой; С\ и Сг-кон- станты, равные в шестнадцатеричной записи 01010101 и 01010104 соответственно. Расшифрование данных возможно только при наличии синхропо- сылки S, которая в открытом виде хранится в памяти ЭВМ или передается по каналам связи вместе с зашифрованными данными. Режим гаммирования с обратной связью (фактически это CFB-64) отличается от режима гаммирования лишь тем, что при выработке блока гаммы для зашифрования следзоощего блока используется блок шифртекста, полз^енный на предыдущем шаге. Уравнения шифрования имеют вид: m^=Ek{S)®Tu Ш1.Е,(Ш1.1)ФП / = 2,3,...,«. где Ti и Ш, есть /-е блоки открытого и шифрованного текстов. 346
ПРИЛОЖЕНИЯ Имитовставка - это контрольный вектор, используемый для тех же целей, что и вектор аутентификации в О^^-алгоритме. Имитовставка вырабатывается с помощью «усеченного» 16-циклового алгоритма ГОСТа. Вектор имитовставки и - это 32 младших бита последнего блока В,, шифртекста, вырабатываемого в этом режиме. Вырабатываемые блоки связаны следзоощими соотношениями: В; = ек{В;.х®Тд, / = 2,3, ...,«, где Ск есть подстановка, реализуемая 16-цикловым алгоритмом ГОСТа на ключе к. 3. Блочный шифр IDEA Алгоритм IDEA (International Data Encryption Algorithm) был разработан в 1992 г. на очередном этапе разработки предполагаемого стандарта шифрования данных. Авторы - сотрудники Швейцарского федерального технологического института X. Lai и J. L. Massey. Алгоритм IDEA - это итеративный 8-цикловой шифр с выходным отображением, обеспечивающим обратимость шифра (входного отображения нет). Размер обрабатываемых блоков - 64-бита, размер ключа- 128 бит. Входной блок и цикловые ключи разбиваются на 16-битовые подблоки, над которыми и выполняются операции, что позволяет добиться высоких скоростей шифрования уже на 16-битовом процессоре. В ходе алгоритма выполняются следзоощие операции: 1) поразрядное сложение - Ф; 2) сложение по модулю 2'^, записывается символом ±; 3) умножение чисел, представленных подблоками, по модулю 2'^+] (нулевой подблок соответствует числу 2' ), записывается символом X. 347
8. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Блок-схема алгоритма IDEA изображена на рис. П-3. Рис. П-3. Блок-схема алгоритма шифрования IDEA Таким образом, цикловое отображение (f>(x,q) построено с использованием «смешивания» операций над различными алгебраическими структурами, что усложняет криптоанализ алгоритма. Опишем первый цикл работы алгоритма (остальные циклы реализуются аналогично). Входные подблоки первого цикла обозначим через хъХъХу.ХА, ключевые подблоки г-го цикла обозначим через Я1'\я2''\-;Яб^'\ i = \,2,...,S, ключевые подблоки выходного отображе- (9) (9) (9) (9) ния-^Г \q2 ,qi ,qi . 348
ПРИЛОЖЕНИЯ В течение первого цикла шифрования реализуется следующие шаги вычислений (для простоты вместо обозначения ^j'" будем использовать q,,, S = 1,2,...,6). Шаг 1. с\ =x\xqi. Шаг 2. С2 = Х2±д2- ШагЗ. Сз = л;з±дз- Шаг 4. С4 = X4x^4- Шаг 5. С5 = с\Фс). Шаг 6. Сб = С2®С4. Шаг 7. С7 = С5Х^5- Шаг 8. cg = Сб±С7. Шаг 9. сд = с%Щб- Шаг 10. Сю = С9±С7. Шаг 11. Си = С1ФС9. Шаг 12. с\2 = С3ФС9. Шаг 13. Ci3 = сгФсю. Шаг 14. Ci4 = С4ФС10. Входные подблоки следующего цикла есть Cii,ci3,ci2,ci4. После 8-го цикла реализуется выходное отображение: Шаг1.у,_.х/%Л Шаг2.у2 = ;с2^^ад^'- Шаг3.уз=;сз^^ад^'. Шаг4.у4 = ^^'х^^'. Шифрованным текстом является блок (у\,у2,уз,У4)- Ключевое расписание реализуется с помощью вычисления 52 ключевых подблоков из 128-битового ключа к, на каждом цикле используется по 6 подблоков ключа и при реализации выходного отображения - 4 подблока ключа. Вначале 128-битовый ключ к представляется как 8 подблоков, которые в наших обозначениях равны ^ (1) ^ (1) ^ (1) ^ (2) _ (2) где старшими битами подблоков являются левые биты. Далее 128- битовый ключ циклически сдвигается влево на 25 бит и снова разбивается на 8 подблоков 349
в. М. Фомичвв. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ ?3 , ?4 , ?5 . ?6 , ?1 , ?2 . ?3 , ?4 • Затем 128-битовый ключ снова циклически сдвигается влево на 25 бит и снова разбивается на 8 подблоков и т. д., пока не сгенери- руются все 52 подблока. Подблоки ключа расшифрования (обозначим их через w/'^*) определяются следующим образом. При г = 2,3,--,8 (.vvi .н'г ,1^3 ,1^4 ; - \\_q\ \ ,-qг , -qi , L?4 J ), при re {1,9} (w/^W2<^V3^^V;^') = iiq^-'f. -q^', -qr'\ [qm (ws''W) = (q5''W\r=l,2,...,S, где [z]' есть обратный к z элемент относительно умножения по модулю 2' +1 (обратным к О считаем 0); и -z есть обратный к z элемент относительно сложения по модулю 2' . Методы анализа алгоритма IDEA, менее трудоемкие, чем полный перебор ключей, не известны. Производительность алгоритма IDEA превышает в 1,5-^4 раза (в зависимости от вычислителя) производительность D£5-aлгopитмa. Алгоритм IDEA запатентован в Европе. Держатель патента - фирма Ascom-Tech AG (Швейцария). 4. RIJNDAEL в соответствии с требованиями NIST претендент на стандарт шифрования должен быть симметричным блочным шифром с размером блока 128 бит, ключом - 256 бит (также должны поддерживаться ключи длиной 128 и 192 бита), иметь стойкость, не меньшую, чем тройной DES. Скорость шифрования претендента должна превышать скорость шифрования тройного D£5-aлгopитмa. Шифр должен иметь достаточно прозрачную структуру для анализа, возможность эффективной реализации на платформе Pentium Pro, а также возможность эффективной аппаратной реализации. 350
ПРИЛОЖЕНИЯ Математические операции алгоритма При реализации алгоритма выполняются операции над 8- и 32-битовыми векторами (байтами и 4-байтовыми векторами). Байтовые операции. Байты рассматриваются как элементы конечного поля Р = GF{ 2*) порядка 2* с бинарными операциями Фи*. Операция ф представляет собой поразрядное суммирование байтов по модулю 2 или так называемое ХОЛ-суммирование. Операция • - это умножение полиномов, соответствующих байтам, по модулю неприводимого двоичного полинома т{х) = х@х®х'@х®\, где байту b = {Ь-1,Ьб,...,Ьо) биективно соответствует полином Ь{х) = bix^®b6X%.. .ФЬо. С помощью расширенного алгоритма Евклида можно найти для элемента поля Р обратный элемент по умножению. Произведение многочлена Ь(х) на х равно полиному Ь(Х)»Х = Ь1Х^ФЬбх''фЬ5Х^ФЬ4Х^ФЬ)х'*ФЬ2Х^ФЬ1Х^ФЬоХ, приведенному по модулю т(х). То есть для умножения на х: к промежуточному байту Ь', полученному сдвигом влево байта b на одну позицию, приписывается справа 0: Ь'= фб, bs, Ьа, Ь-}, Ьг, Ь\, bo, 0); если Z?7 = О, то байт Ь' и есть результат умножения, если Ьт = 1, то результат получается с помощью ХОЛ-суммирования полиномов Ь(х)»х и т(х) или, что равносильно, байтов Ь" и «1 В» (в шестнадцатерич- ном представлении т{х) ~«11 В»). Операцию умножения х на многочлен Ь(х) обозначим xtime(b). Умножение многочлена Ь(х) на л;* равносильно /:-кратной композиции операции хйтеф). Операции с 4-байтовыми векторами. Четырехбайтовые векторы можно представлять с помощью полиномов степени не выше 3 с коэффициентами из Р. Сложение 4-байтовых векторов производится путем ХОЛ-суммирования, что равносильно суммированию в поле Р коэффициентов при соответствующих степенях полиномов. 351
в. М. Фомичев^ДИСКРЕТНАЯ МАТЕМАТИКА и КРИПТОЛОГИЯ _^ Умножение двух полиномов производится с последующим приведением произведения по модулю полинома М(х) = х^+1. Иначе говоря, если с{х) = а(х)®Ь(х), где а(х) = аух' +а2Х +а\х+ао, Ь(х) = by!C^+b2X +h\x+bo, ■у 2 С(х) = Су!С'+С2Х +С\Х+Со, ТО ч^зу а, а„ а, а. а, а„ V«3 а, а. о У bo' Полином М{х) не является неприводимым над GF{ 2*), следовательно, умножение на фиксированный полином не всегда является обратимым. Однако в шифре Rijndael умножение реализуется на фиксированный полином, для которого обратный существует. Произведение многочлена Ь{х) на х равно полиному Ь{х)®х = b^*+b2X^+biX^+box, приведенному по модулю М(х). Результатом умножения является полином b2X^+b\x'^+box+bi. Таким образом, умножение на х равносильно левому циклическому сдвигу байтов внутри вектора. Описание алгоритма RIJNDAEL - итеративный обратимый блочный шифр с варьируемыми размерами ключа, блоков информации и числом циклов шифрования. Цикловое преобразование шифра однородно и состоит из трех типов слоев. Под однородностью преобразования понимается то, что каждый бит состояния обрабатывается аналогичным образом. Выбор констрз^стивных параметров слоев осуществлен в соответствии с определенной стратегией (Wide Trail Strategy): 1) слой линейного перемешивания обеспечивает с помощью линейного преобразования хорошие перемешивающие свойства алгоритма (диффузию) уже после нескольких циклов шифрования; 352
ПРИЛОЖЕНИЯ 2) нелинейный слой реализует параллельное применение ^-боксов с оптимальными (в худшем случае) нелинейными свойствами; 3) слой добавления ключа реализует подмешивание ключа к промежуточному состоянию с помощью ХОЛ-суммирования. Перед первым циклом и в завершение последнего цикла алгоритма применяются отображения отбеливания. Для достижения обратимости шифра слой линейного перемешивания последнего цикла изменен по сравнению со слоями линейного перемешивания остальных циклов. Состояния, ключи и число циклов шифрования Входные, промежуточные и выходные блоки данных (состояния) удобно представить в виде прямоугольных массивов байтов S = (а^); I = 0,1,2,3/у = 0,1,2,.-., Nh-1, имеющих 4 строки и Мь столбцов, где Мь есть длина блока, деленная на 32. Последовательность битов состояния записывается по колонкам сверху вниз, колонки следуют слева направо. Ключ к также можно представить в виде прямоугольного массива байтов, который имеет 4 строки и Nk столбцов, где Nk есть длина ключа, деленная на 32. Если колонку каждого из массивов рассматривать как 4-байтовое слово, то можно считать, что ключ и всякое состояние есть последовательность 4-байтовых слов. Длины блока и ключа могут выбираться независимо друг от друга и составляют, как правило, 128, 192 или 256 бит. Ключ к может иметь любую длину, кратную 4 байтам, но если его длина отличается от 128, 192 или 256 бит, необходимо доопределить число h циклов шифрования. Длина блока также может быть любой, кратной 4 байтам, но не менее 16 байт. При этом необходимо доопределить 3 константы сдвига. Число циклов шифрования h зависит от Nh и Nk. h N,=A N,=6 N,=s N,=4 10 12 14 N,=6 12 12 14 iV, =8 14 14 14 353
в, М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Цикловое преобразование Слои, составляющие каждый цикл (кроме последнего цикла), реализованы следующими четырьмя преобразованиями: 1) заменой байтов; 2) сдвигом строк; 3) перемешиванием столбцов; 4) наложением циклового ключа. Замена байтов F (нелинейная подстановка) действует на все байты состояния S независимо и состоит из двух операций: 1) для каждого байта состояния (представленного двоичным полиномом степени не выше 7) находим обратный элемент в поле Р, при этом '00' переходит в '00'; 2) к полученному байту, представленному двоичным вектором {xo,x\,...,x^), применяем невьфожденное аффинное преобразование А над GF{2): ■^0 \^lj У1 Уг Уъ Уа У5 Уб УУ1 о о о 1 1 1 1 1 о о о 1 1 1 1 1 1 о о о 1 1 1 1 1 1 о о о 1 о 1 1 1 1 1 о о о о 1 1 1 1 1 о 0^ 0 0 h (х Л X, X, Хъ ^А X, ч \^ } да (Q\ 1 1 0 0 0 1 lu Таким образом, F(a/,) = Л(а/,"). Сдвиг строк состояния B{S) относится к слою линейного перемешивания и реализуется как циклический сдвиг вправо трех последних строк на С^, С^ VL Cj байт сойтветственно. Значения С,, С^ v. Cj зависят от величины iV^: N,=A N,=6 N,=s С, 1 1 1 Сг 2 2 3 Сз 3 3 4 354
ПРИЛОЖЕНИЯ Перемешивание столбцов состояния Р(5) относится также к слою линейного перемешивания и реализуется так. Столбцы рассматриваются как полиномы степени не выше 3 над полем GF (2* j и умножаются по модулю х^+1 на фиксированный полином с{х) = '03'х' +'OVx^ +'0Гх + '02\ Налозкение i-го циклового ключа qi осуществляется с помощью ХОЛ-суммирования этого ключа с состоянием, / = 1,2,3,... (длина циклового ключа должна равняться числу бит в состоянии). Ключевое расписание Генерация цикловых ключей из ключа шифра включает две процедуры: расширение ключа и выбор цикловых ключей. Генерация реализуется на основе следующих принципов: • общее количество бит цикловых ключей равно длине блока, умноженной на /г+1, где h - число циклов шифрования; • ключ шифра к преобразуется в расширенный ключ; • цикловые ключи qi образуются из расширенного ключа следующим образом: 1-й цикловой ключ состоит из первых N^ слов, 2-й - из следующих iV^ слов и т. д. Расширение ключа шифра к происходит с использованием одного из двух вариантов рекуррентного закона. Представим расширенный ключ как последовательность 4-байтовых слов {W[/]}, i = 0,1,2,... Первые Ni^ слов содержат ключ шифра. Далее, при iV^ < 6, W[i] = W[i-\]®W[i-Nkli > N^ i *■ Шь I = 1,2,3,- • • Для i, кратных Nk, W[i] = F(T(W[i-m@W[i-Nk]@C(i/Nk), где T - циклический сдвиг байтовой последовательности на 1 байт, C(t) есть 4-байтовый вектор (RC[t],'ОО'/ОО'/ОО"), 1-й байт которого вычисляется по закону RC[t] = xtime(RC[t-l]y,RC[0] = "ОГ; t = 1,2,3- Если Nk>6, то рекуррентный закон отличается от ранее заданных только при /, для которых 1-4 кратно Nk, а именно 355
в. М. Фомичев. ДИСКРЕТНАЯ МА ТЕМА ТИКА И КРИПТОЛОГИЯ _ W[i] = F{W[i-\])®W\i-Nk]. На выбор ключа к никаких ограничений не накладывается, но расширенный ключ необходимо вычислять из ключа шифра к и нельзя определять другим способом. Таким образом, алгоритм шифрования RIJNDAEL состоит из начального наложения циклового ключа, /г-1 идентичных циклов шифрования и последнего цикла, в котором отсутствует перемешивание столбцов. Так как алгоритм шифрования представляет собой композицию обратимых преобразований, то расшифрование производится путем применения обратных преобразований к выходному блоку (состоянию). При замене байтов используется .у-бокс F\ обратный к F, при сдвиге строк три последних строки состояния циклически сдвигаются соответственно на N^-C^, N^^-C^ и N^^-Cj байт, при перемешивании колонок используется умножение на многочлен d{x) = 'OB'x^ -^'OD'-x^ -^'ОЭ'х + 'ОЕ', обратный к введенному выше многочлену с{х). Таким образом, цикл алгоритма расшифрования состоит из следующих последовательно применяемых преобразований: а) обратной замены байтов; б) обратного сдвига строк; в) обратного перемешивания столбцов; г) наложение инверсного циклового ключа, получаемого путем применения обратного замешивания столбцов к соответствующему цикловому ключу. Цикловые ключи в алгоритме расшифрования используются в обратном порядке. В последнем цикле, как и в случае прямого преобразования, отсутствует перемешивание столбцов. Алгоритм расшифрования играет несколько менее важную роль в конструкции шифра, так как в некоторых режимах работы расшифрование не используется (CFB, гаммирование, вычисление вектора аутентификации). 356
ПРИЛОЖЕНИЯ Реализация алгоритма допускает высокую степень распараллеливания. Все преобразования на цикле шифрования могут выполняться параллельно над байтами, строками или столбцами состояния. В тех приложениях, где особые требования к скорости шифрования, расширение ключа целесообразно выполнить один раз и многократно использовать расширенный ключ для обработки входных блоков. Если ключ шифра необходимо часто изменять, то расширение ключа можно выполнять параллельно с циклами шифрования. 5. Стандарт генерации ключей ANSI Х9Л7 Для генерации ключей данный стандарт использует 3DES как базовый криптографический алгоритм и специально зарезервированный ключ к этого алгоритма (рис. П-5). т- у— ьГ1 г r^ 1 \^'- 1 W lij W ►/? Рис. П-5. Схема генерации ключей ANSI Х9.11 Пусть Ек - подстановка алгоритма 3DES, реализуемая при ключе к. Для генерации /-го случайного 64-битового ключа R/ используются: 64-битовый входной блок V,, где Vo - секретный начальный блок, и j; - метка времени, i = 0,1,2,...: Ri = Ek(Ek(T,)®Vi). Следующий входной блок вычисляется по формуле Ум=Ек(Ек(ТдФЯд. В частности, если требуется сгенерировать ключ для DES- алгоритма, то его можно получить из Л„ скорректировав 8-е биты в некоторых байтах ключа R,, чтобы достичь четности всех байтов. 357
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ 6. Алгоритм А5/1 А5 - это поточный шифр гаммирования, используемый для шифрования связи GSM, а именно канала «телефон - базовая станция» Алгоритм А5/\ - одна из двух разновидностей алгоритма А5. Генератор Л5/1 состоит из трех ЛРС над GF(2) длины 19, 22 и 23 (рис. П-6) с характеристическими многочленами соответственно Сумма битов, снимаемых с трех ЛРС, образует гамму генератора. ЛРС-1 О ЛРС-2 ^>^ 10 17 18 ^> ^ И 20 21 <- БУД ЛРС-3 0 1 2 3 ...12 13 14 15 ...21 22ч— т Рис. П-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- битовую строку. Сначала исходное w-битовое сообщение (а\,а2,...,а„) расширяется до длины, кратной 512, и приобретает вид: {а\,а2,..-,атЛ,0 ,1\,...,1б4), где {1\,...,1б4) - двоичная запись числа т, символом О*'' обозначена нулевая строка длины s-l и s - наименьшее число, при котором 512 делит m+s+64. Разобьем расширенное сообщение на последовательность 512-битовых блоков (х\,Х2,...,х„), где п = (m+s+64y5l2. Значением хеш-функции является финальное состояние после « тактов работы автомата без выхода А = (X,S,h), где Х= S = Vido, при входной последовательности (Х\,Х2,...,Х„) и начальном состоянии sq автомата, имеющем шестнадцатеричную запись: ^0 = (67452301 EFCDAB89 98BADCFE 10325476 C3D2EIF0). Функция переходов h задана равенством h(SiyK,) = s,+g(str>c,). 359
в. М. Фомичвв. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ где функция g'.Vi(ioxVi(io-^V\6a описана ниже, а операция + выполняется так: оба слагаемых разбиваются на пять 32-битовых слов, соответственные слова складываются по модулю 2^^ и результаты объединяются в 160-битовую строку. Значением функции gisiyK,) является финальное состояние после 80 тактов работы автомата без выхода В = (Х,5',/г'), где Х" = V32, 5' = Уз2'^\ при входной последовательности (w(0),w(\),...,w(19)), зависящей от Xi, и начальном состоянии s, автомата В. Последовательность [w(i)} получается по линейному рекуррентному закону w(i) = w(i-3)®w(i-8)®w(i-U)®w(i-l6), i > 16, при начальном векторе (w(0),w(l) w(15)), являющемся разбиением! блока X, на 32-битовые слова. Вычисление функции переходов /г' автомата В можно отобразить с помощью схемы, данной на рис. П-7. Рис. П-7. Схема вычисления функции переходов h' 360
ПРИЛОЖЕНИЯ Пусть состояние q(i) автомата В в такте / есть набор, состоящий из пяти 32-битовых слов: q(i) = (a(i)Mi),c(i)Ai),e(i))- Тогда для / = 0,1,...,79 a(i+1) = (f(a(i))+fi(b(i)Ai)Ai))+e(i)+w(i)+z(i))mod2'\ b(i+l) = a(i), c(/+l) = r>(0), d(i+\) = c(i), e(i+l) = d(i), где T - циютический сдвиг координат вектора влево на 1 бит, г(0), г(1), ..., г(79) - 32-битовые слова, имеющие в шестнадцатеричной записи вид: 5Л827999, 0</<19; 6ED9EBAI, 20</<39; SFWBCDC, 40</<59; CA62CW6, 60</<79. z(i) = Функция^ имеет вид: f (bAc)v(bAd), 0</<19; fi(b,c,d)=\ b@c@d, 20<i<39, 60</<79; UbAc)v(bAd)v(cAd), 40<i<59, где л и V есть соответственно побитовое умножение и побитовое логическое сложение векторов, вектор b полз^ен из вектора b инвертированием всех координат. 8. Криптосистема RSA Система построена на основе степенной односторонней функции с секретом J{x) = x^modn. Блок х открытого текста, представленный как целое число из сегмента [0,и-1], преобразуется в блок j шифртек- ста из того же сегмента с помощью вычисления у = Е(е,п)(х) = x"modn, где (е,п) - открытый ключ, используемый для зашифрования. При расшифровании блок jc открытого текста вычисляется также с помо- 361
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ щью степенной функции, но с другим показателем d, являющимся закрытым ключом: X = D(ddy) = /modn. В основе согласованности этих преобразований лежит теорема Эйлера, в соответствии с которой для каждого числа х, взаимно простого с модулем п, выполнено сравнение х'^^"^ = 1 modn, где ф(и) - функция Эйлера, равная числу натуральных чисел, не превосходящих п и взаимно простых с п. Напомним, что ф(и) = (1-1/р,Н1-1/р2)-...-(1-1/рЛ если каноническое разложение числа п есть /?,' • pj^ • ..• р/ . Для того чтобы воспользоваться теоремой Эйлера, в криптосистеме RSA используют числа end, связанные соотношением ed=\ mod9(n). (*) Тогда при X, взаимно простом с модулем п, (x^modn)''modn = x^''modn = y**"^*'modn = х-(\)' = х. Таким образом, с использованием ключа d реализуется корректное расшифрование. Как выбирать числа е, d и п? Вообще, зная ф(и), число е можно выбрать взаимно простым с ф(и), проверив свойство (е,ф(и)) = 1 с помощью алгоритма Евклида. Тогда d есть решение сравнения (*), и d можно найти с помощью расширенного алгоритма Евклида, определяющего числа dnt такие, что e-d+t-<p(n)= 1. В системе RSA модуль п есть произведение двух секретных простых чиселр к д, поэтому ф(и) = (р-1)(д-1). При этом если простое число е>тах(р,д), то оно взаимно просто с ф(и), то есть при выработке такого ключа е можно воспользоваться быстрыми тестами проверки чисел на простоту и не применять алгоритм Евклида. Без знания простых сомножителей рид трудно определить значение ф(«), и, значит, при секретном числе d определение открытого 362
ПРИЛОЖЕНИЯ текста по шифрованному сводится либо к трудной задаче извлечения корня степени е из числа у по модулю п, либо к трудной задаче разложения числа п на простые множители. Заметим, что условие (х,п) = 1 при больших р и д почти всегда выполнено, так как доля таких чисел х есть (р(п)/п = (п-р-д+\)/п > \-\lq-\lp. Криптоанализ системы RSA показал, что для стойкого шифрования необходимо выполнение следующих условий [48, 81]: 1) числа р vi. q должны быть достаточно большими, не слишком сильно различаться и быть не слишком близкими; 2) НОД(р-\,д-\) должен быть небольшим, в лз^шем случае он равен 2; 3) числа р и q должны быть сильно простыми (простое число г называется сильно простым, если г+1 имеет большой простой делитель, а г-\ имеет большой простой делитель s такой, что s-\ также имеет большой простой делитель. 9. Шифрсистема Эль Гамаля Криптографическая стойкость системы Эль Гамаля основана на сложности задачи логарифмирования в мультипликативной группе конечного простого поля. Для функционирования схемы выбирается большое простое число р и а - порождающий элемент мультипликативной группы Z р простого поля Zp. Секретным ключом схемы является целое число q, где 1<?<р-2. Открытым ключом схемы является набор чисел: р,аи^, где Правило зашифрования определяется формулой E(p,afi)(x) = (yuyi), гдеy\,y2eZ р и вычисляются по формулам yi = a'^modp, y2=(x-P')modp, где г - слз^айно выбираемое число (рандомизатор), 1 <г<р-2. Правило расшифрования определяется формулой X = D^p,y)(yl,y2) = (уг{ yi)"')modp. 363
a М. Фомичвв. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Несложно проверить, что расшифрование выполняется корректно. Использование рандомизатора означает, что здесь реализован шифр многозначной замены. При этом для зашифрования различных блоков (чисел) открытого текста необходимо использовать различные значения рандомизатора. В противном слзд1ае соответствующие шифрованные тексты (уиут) и (yi',y2), полученные для открытых текстов X и х\ связаны соотношением yriyiY^x-ix'f и текста' можно вычислить, если известен текста. Система Эль Гамаля может быть обобщена для применения в любой конечной циклической группе G. В качестве G, помимо указанной группы Z р, чаще всего используется мультипликативная группа конечного поля GF(2"') характеристики 2 и группа точек эллиптической кривой над конечным полем. 10. Схема цифровой подписи Эль Гамаля Используем обозначения прил. 9. Для вычисления подписи сообщения х необходимо выбрать закрытый ключ д, представляющий собой слз^айное число из сегмента [1,/7-2], и вычислить величину Р = а'. Набор (р,а,Р) является открытым ключом. После этого реализуется следующий алгоритм: 1. Выбираем слз^айное целое число г, \<г<р-2. 2. Вычисляем значение у = a'^modp. 3. Вычисляем значение 8 = (x-qy)r^mod(p-\). Значением подписи является пара (у,8). Проверка подписи заключается в проверке равенства р^-у^ = a'modp. Если равенство верно, то подпись принимается, если нет, то отвергается. Число г не должно повторяться для различных сообщений. После вычисления подписи его следует уничтожить, иначе по нему и по подписи можно вычислить секретный ключ q. 364
Ответы и решения Глава 1 1.2. а) А; б)А^В; ъ) Ъ u(AnB)u{BnQ. 1.3. 2"-"'-2. 1.4. 2-[и/2]-(и-[и/2]). 1.5. б) \и\ =(2"-1Н2"'-1). 1.6. а) Можно, б) Нельзя. 1.7. 2^ 1.8. С^+С^ =36. 1.9. а) 457; 6)734. 1.10. а) 20; 6)60; в) 70. 1.11. а)5^с;;; 6)(3"+1)/2-2". i-m 1.15. а) 4; 6)9; в) 0. 1.16. 5и1. 1.17. а)(]Л,...,1); 6) (0,0,...,0). 1.18. 2''"''-2. 1.19. Является, так как 18/144. 1.20. Не является, так как Я0Д(18,45) не делит 88. 1.21. 6. 1.22. Нельзя, так как h(D(420))<lO. 1.25. Являются. 1.26. Изоморфны при и = 4. 1.27. {15,21,33,35,55,77}. 1.29. Граф связен, но не сильно связен; (к, п-к). 1.30. pHq-p)Hn-q)\. 1.32. Не имеются. 1.33. С1+\. 1.34. п-{п-\). 1.35. При и>1 не сбалансировано; С*. 1.36. 3. ^зи/^^огтиси 365
e^M^ Фомочев. ДИСКРЕТНАЯ I^TEMATl^HJ^HnTCinOmH Глава 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. ai@a2®...®a„= 1. 3.15. а) degf = и, \\f\\ = 2"М-\Г; б) degf = 1, 11/11 = 2"-'; в) deg/-=m, 11/11 = 2^-42; r)degf=2, 11/11 = 3-2^'"-^ д)degf=и-3,11/11 = 2"-'-2\ 3.16. 11/11 = 2"-'. 3.17. Если ||(й!ь...,й!„)|| = г, то ||ф(л:1,...,л:„)|| = {О, при s, г четных; к, при s четном, г- нечетном; к-(2"'"'-1), при s нечетном, г- четном; к-1, при S, г нечетных}. 3.18. 15/31. 3.19. 2^<"-*^-2^<"'*-'^где s(n,k) = С,^+... + С*. 3.20. 2^-^"'\ 3.26. (а,х) = 1/2-1/2-(-1)*'''*\ используя формулу (3.10), значения коэффициентов с|*'^) увяжите с числами решений линейных систем вида {(а,х) = г, (Ь,х) = 8}, s,8e{0,1}. 3.27. При нулевом векторе а сомножитель равен нулю. 3.28. <Л=||/|| = П. 3.32. Можно, с з^етом оценки Апселя для \М(п)\ имеем: 1000-3*<'" = 271>200. 3.33. C.?-Jf-(2'^-2). 366
ОТВЕТЫ И РЕШЕНИЯ 3.35. 17. 3.36. 2^ - 6 = 26. 3.39. а) и б) Не является, в) Является. 3.40. 2С„*. 3.41. а) Содержится в То. б) Содержится в 7*1. в) Полна 3.42. а)а = Ь=\; б)а=\,Ь = 0; в)а®Ь=]; г) 0. 3.43. а) и б) Зависимы, в) Независимы. 3.45. 7; 3; 2"-'; s(n,ky, s(n,k)-l; где s(n,k) = С° +...+ С*. 3.46. /= Хг®."^зФ-^2 •xj®Xi осз ®Х\ -хг осч /=[5-l-(-l)"'-3-(-l)^^-l-(-l/'®"4+l-(-ir^-l-(-ir'®^Vl-(-l)^®"^- g = l©A:i©A:2©Jf2-Jf4; g = l/2+l/4-(-ir^-l/4-(-l)"'®"4l/4-(-l)"^®"4l/4-(-l)"'®"^®"^ 3.47./=(01100110)=X2©X3; g = (00111100) = xiex2. 3.48. a) pe8es; 6) рФу; в) (p©l>(a©ye8©sei). 3.49./= (0011110001101001) = X2ex3©xi •X4, или/= (0110110001101100) = Х2®хг®х^®Х2-х^, или g = (1010010111110000) = \®хг®х^®хх -x^, или 2, = (1011010010110100) = \®хг®х^®хг-х^, g = (101101001 1100001) = ieX2©X4©Xi X4®XrX4, /i = (0010110111010010) = xi®X2®X3®xrX4, ИЛИ/i = (0110110010010011) =XieX2©X3©X4©X2-X4, ИЛИ/i = (011 11 101 10000010) = Xi®X2®Xi®X4®X2-X4®XrX4; gi = (1010110000110101) = i©xiex4©xiX3©xiX4©x2X3ex2X4, или gi = (1011110100100100) = = 1 ®X\®X4®X\X'}®X\X4®X2X'}®X2X4®XtJC4. 3.50. f2 = Xi-XrXy, g2 = Xi-XiVXi-X4VXyX4. 3.51. r) Эквивалентно относительно GL3. 3.52. a) 2\ 45. 3.54. Первая. 3.55. jQjgif) = 5ioxAia где Лю - группа четных сдвигов, | aJ = 2^. 3.56. 2* 3.58. п+\. 367
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Глава 4 4.3. а) ху+2ху^+2х:^+2хУ; б) 3jc+2jc43x42jc''. 4.4. 1) В противном слз^ае система полиномов полна при всех к>2 2) Следует из п. 1 и равенства тъх{х,у) = х1.у+у. 3) Следует из п. 2 и равенства xly = jc-min(x,>'). 4) Следует из п. 3 и равенства min(jc,>') = лзу+хч-1. 4.5. а) Нет (используйте метод неопр. коэф. и тождество х'=х, верное для к = 6). б) Нет. 4.8. r+id,гдеd = (а,к), rsbmodd. 4.9. а) к любое, а = к-\,и при к = 2т, где т>\, а = т-1; б)/: любое, а = к-\. 4.15. {k\f,YRQN=k!'-\ 4.18. а) и б) РсГп при Q. = [0,к-\}; в) РсГп при Q = {1, к-\}. 4.19. Ни при каких к>2, так как a^^(k-df mod к. 4.20. Возьмите подстановку Nx. 4.21. Породите систему функций из теоремы 4.7. 4.22. а) При четном к не полна: все функции сохраняют множество четных чисел из Е^. При нечетном к>2 система полна: из х+у и к-2 порождаем все константы, затем л:-1, т. е. имеем полную систему из задачи 4.20. б) Не полна: функция сохраняет множество {0,1}. в) Не полна: функция сохраняет множество {1}. Глава 5 5.6. Является. 5.8. ф,0 нелинейны, так как ф(00])еф(010)5^ф(0П), 0(О1О)Ф0(1ОО)^0(11О), 0(0,0,0) = (010); нельзя. 5.11. Свести к весовой характеристике преобразования регистра сдвига. 5.12. Нет. 5.13. Имеет. 5.14. При простом к имеет; при четном к не имеет. 368
ОТВЕТЫ И РЕШЕНИЯ 5.15. Нет. 5.16. Небиективно, так как ф(0,0,...,0) = ф(],],...,]). 5.17. а), б) и г) ф небиективно, так как 3-я координата ф-я неравно- вер.; в) ф небиективно, так как неинъективно. 5.19. а) Нет. б) Биективно. 5.20. а), б), в) Является. 5.21. Нет, ф2, фз небиективны. Глава 6 6.1. 2)(a,k) = (b,k)=\. 6.2. 1) и 2) Делит HOK(t, гУг. 6.3. а) По = и ф = О, ^0 = 1, ^Ф = 28; б) и о = 2, ^0 = 5, и ф = 5, Гф = 5. 6.4. 2"' циклов длины 2. 6.5. d циклов длины 2"/d, где d = НОД{к, 2"). 6.7. а) Является, б), в) Не является. 6.12. 4. 6.13. (2"-1)/ЯОД(г,2"-1). Глава 7 7.4. (?1+1)*,где^>2"-'. 7.5. б)Х^= {0,1,1, 0,1,1, ...},т(к) = Х^®Х®1. 7.6. {0,2,2,2,3,3,3,5}. 7.8. т-2"-''-ф(0,0,...,0). Глава 8 8.6. 1) Из самодвойственности функций имеем: Е (ф(л:)Фф(л:Фе,)) = (4ki,...,4km), где kjj^O в силу совершенности ф и kjj^2 в силу нелинейности ф. 2) Координатная б.ф.^ равна x\X2®x\X'}®X2Xj,®ajX\®bjX2®CjXj,®d, где aj@bj@Cj = 0; ф обратимо при d= О, (а,Ь,с) = (0,0,0) для/i, (0,1,1) для/2и(],0,1)для/з. 8.8. т<]+(п-гУ(г-]). 8.12. а)3и2. 8.18. Ъ)Х2, r)Xi©X3©X5. 369
В._М. Фомичев^ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГШ 8.21. а) Да. б) и в) Нет. 8.25. а) 28; б) 45. 8.26. а) 2; б) 4. 8.28. Найдется при к = п-2. Глава 9 .2. п -т . 9.3. В состояние (100) при входах (м,(00)) и (м,(0])) и в состояние (110) при других входах, ueVi. 9.4. Является сокращенным. 9.5. а) и б) пт; в) п+т. 9.6. Не следует. 9.9. dim<(/i/2,...)><5(m+A,^), где^(иЛ)= С,>...+С* . 9.12. а) 2-2'" = 2'"''', где т = 2"-1; 2-2'"-2"-'(2"-1) = 2'"''"(2"-1). 9.13. Мощность всех ютассов эквивалентности не меньше 2'', где t = min(r,m). 9.14. а)/=л:гл:*+1; б)/= xjtVXjt+iVXjt+2; в) f= (хк®хм)-(Хк+2®Хк+1). 9.15. 2) v|/биективна по ^1,/= ^,. 9.17. (||/1|,2"-1)=1. 9.18. Для прямой суммы: НОК(2"-\,2'"-\), 2"-1, 2'"-1,1; для объединения: 2"-1, 2"-1, 1. 9.20. При ненулевом начальном состоянии ЛРС Т= к-х, где т/2"-1, ik<2'"-l и iV<(2'"-l)-(2"-l), при этом iV+T<2'"<2"-l); при нулевом начальном состоянии ЛРС iV<2'"-l и 1<Т<2'", где N+T<2'". 9.21. 2) g несущественно зависит от переменной, соответствующей старшему разряду. Глава 15 15.1. n'-inqmr'-rfinrnT'-g""'. 15.2. а) и б) п\-П2ид1-д2;в)п\+П2ид1+д2. 15.4. а)2^гдеЛ^=2"-'"'-1. 15.7. 2) T/HOK(t,x). 370
ОТВЕТЫ И РЕШЕНИЯ Глава 16 16.1. n''-{nqrf>-{m\Y. 16.2. t = HOK(n(yi), п (У2),...,п (Yr)), где п (у,) = т/НОД(т,уд. Глава 17 17.3. CFBnOFB. 17 6 'ymm(n,mr)-d 17.7. i)2"-'"'<'-'i 17.8. От 5 до 6; 9. 17.9. г кратно ахрф,. Глава 18 18.2. Л({у,})>п+т-1. 18.4. и>1001. 18.5. /= Х1-Х2®Х1-х^®хгХз; t = ЗМ27-2047 = 8059039; f+2"*+2"'+2'^-2^^ = 3947679. 18.7. / = 2'""'-(2"-1). 18.8. t=2"-^;2"-\ 18.10.а) W + 1; б) mm(m,r); 2; 1 371
Словарь согласованный • сокращенный ■ эквивалентный эквивалентные • 263 269 ■ 269 183 После термина указан номер страницы, где он вводится или определяется. Знак = означает тождественность терминов. однородный ■ 263 А Автомат автономный • 178 внешне = автомат Мура • / 77 внутренне • 177 без выходов • 178 без памяти = комбинационная схема • 178 генерирующий • 328 инициальный • 178 конечный • 176 Мили • 176 ассоциированный с шифрующим автоматом 262 однородные- 181 различающий входы • 187 регулярный = перестановочный = подстановочный • 177 с постоянной памятью • 178 связный • 180 сильно связный • 180 слабоинициальный • 178 согласованные • 181 сокращенный • 183 управляющий • 328 шифрующий инициальный ■ 262 моноключевой ■ 265 мультиключевой ■ 261 обратной связью по шифртексту ■ 280 Автоморфизм • 36 Алгоритм DES- 341 ГОСТ 28147-89- 345 Диффи - Хеллмана • 224 шифрования, расшифрования 259 Алфавит • 105, 229 внутренний = множество состояний • 176, 260 входной- 176 выходной • 176 открытого текста • 260 шифрованного текста Аналог действительнозначный булевой функции 71 Антицепь• 15 АНФ - алгебраическая нормальная форма • 56 Архивация ключей • 219 Атака криптоаналитическая • 196 по словарю ■ 213 с помощью вставки символа 284 на протокол • 199 260 йшотпФп 372
СЛОВАРЬ активная ■ 199 пассивная ■ 199 Аутентификация информации • 194 _ Базис в замкнутом laiacce функций • 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 Генератор «8-т шагов» • 329 «стоп-вперед» • 329 Fish- 333 Mush- 334 Pike- 333 гаммы = управляющий блок - 276 Геффе- 326 запаздывающий Фибоначчи - 332 комбинирующий - 321 нелинейный • 322 криптографический • 266 инициальный, слабо инициальный ■ 267 Макларена - Марсальи • 335 пороговый • 327 РРСП- 147 программный ■ 148 табличный ■ 147 Ъ1Ъ
a М. Фомичвв. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ физический ■ 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 Задачи дешифрования * Закон де Моргана • 10 дистрибутивности • 10 рекурсии- 139 Замыкание множества функций * 56 201 374
СЛОВАРЬ И Изоморфизм автоматов • 182 графов ■ 24 решеток • 17 Имитовставка = код проверки подлинности сообщения * 206,347 Инволюция' 28 Индекс аффинности отображения • 164 подгруппы • 34 _ Квадрат латинский • 253 Класс левый (правый) смежный • 34 эквивалентности • 12 Классификация булевых функций • 77 Ключ |1-слабый • 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 ll Латинский квадрат • 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
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Отображение аффинное • 111 на множестве- 163 бент • 162 биективное или взаимнооднозначное • 25 взаимно-обратное • 26 входное, выходное • 295 единичное = тождественное • 26 инъективное • 25 линейное • 110 нелинейное• 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
a М. Фомичвв. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ С арбитром • 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 Режим шифрования свс- CFB- EDE- ЕСВ- OFB- Решетка 308 310 315 307 311 • 16 Кардано • 2 С Свертка • 205 380
СЛОВАРЬ СДНФ - совершенная дизъюнктивная нормальная форма • 53 Секретность информации ■ 194 Серия в последовательности • 151 Сертификат открытого ключа • 224 Сеть перестановок и замен = 5Р-сеть- 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 нелинейности отображения • ] 63 381
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ одночлена• 67, 93 подстановки • 28 расширения • 43 Стойкость криптографическая ' 196 Строение нормальное весовое =н.в.с.- 106 Структура отображения линейная■ 163 Сумма прямая автоматов • 182 шифрующих ■ 265 Схема («,/)-пороговая разделения секрета- 215 распределения ключей Бло- ма • 226 фильтрующая • 319 Шамира • 215 J Таблица Вижинера * 253 Такт- 261 Текст открытый- 195 различимый, неразличимый шифрующим автоматом - 272 шифрованный = криптограмма- 195 Транспозиция ■ 28 f Умножение матриц тензорное = кронекерово• 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 к - 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
a М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОПОГИЯ Центр генерации и распределения ключей (ЦГРК) • 200 Цепочка множеств полная = неуплотняемая = насыщенная * 13 Цепь • 15 Цикл■ 36 жизненный ключа • 195 независимый • 36 подход • 22 транспозиция • 36 шифрования, расшифрования • 295 'ч Часть графа • 24 Чередование • 314 Число каскадов • 328 натуральное, свободное от квадратов • 20 обратной связи • 338 сильно простое • 363 случайное • 147 циклов шифрования • 295 т Ширина множества частично упорядоченного• 15 Шифр- 195 блочный • 275 итеративный ■ 293 Фейстеля ■ 296 Вернама по модулю m • 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
СЛОВАРЬ Элемент примитивный поля • 45 алгебраический над полем • 43 примитивный расширения • 44 нейтральный = единичный • 32 сравнимые, несравнимые • 15 неподвижный • 27 Элементы образующий • 35 взаимно-обратные • 32 обратимый • 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. Bernasconi J., Gunther C.G. Analysis of a nonlinear feedforward logic for binary sequence generators. BBC Tech. Rep., 1985. 4. Beth Т., 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 NSA 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-Veriag, 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-Veriag, 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 С G. Alternating step generators controlled by de Bruijn sequences. Lecture Notes in Computer Science 330. Berlin: Springer- Veriag, 1988. 15. Gunther С G. On some properties of the sum of two pseudorandom sequences. Paper presented at Eurocrypt'86. /imiamm 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 CdiXaDES. Advances in Cryptology - Crypto '95 (LNCS vol 963), Springer Verlag, 1995. 31. Preneel В., 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. Rivest R.L. Cryptography. Handbook of theoretical computer science. 1990. 387
в. М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОПОГИЯ 33. Rothaus О. S. On «Bent» Functions. Journal of Combinatorial Theory (A), T.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 С J. Wiley & sons. Inc. 1996. 39. Schnorr С 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,№l, 1973. 48. .Алферов A. П., Зубов A. Ю., Кузьмин A. С, Черемушкин A. В. Основы криптографии. М.: Гелиос АРВ, 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. Фролов Г. Тайны тайнописи. М.: А/О «Безопасность» и «Инфосервис Экспресс, Лтд.», 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. Решетка двоичных п-мерных векторов 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
В^М. Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОПОГИЯ 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. ФУНКЦИИ it-ЗНАЧНОЙ ЛОГИКИ 90 4.1. Начальные понятия и элементарные функции 90 4.2. Важные классы функций ^-значной логики 93 4.3. Примеры полных систем в Р^ 95 4.4. Распознавание полноты и критерии полноты в Р^ 97 4.5. Особенности ^-значных логик 100 4.6. Задачи и упражнения 102 Глава 5. СБАЛАНСИРОВАННОСТЬ ОТОБРАЖЕНИЙ 105 5.1. О связи отображений с системами функций 105 5.2. Критерии сбалансированности отображений 106 5.3. Критерии биективности преобразований 109 5.4. Некоторые классы отображений ПО 5.4.1. Аффинные отображения ПО 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
a М^Фомичев. ДИСКРЕТНАЯ МАТЕМАТИКА И КРИПТОЛОГИЯ Часть II. ОСНОВЫ КРИПТОЛОГИИ Глава 10. ОСНОВНЫЕ ПОНЯТИЯ И ЗАДАЧИ КРИПТОЛОГИИ 194 10.1. Задачи криптографии 194 10.2. Основные понятия криптологии 195 10.3. Симметричные и асимметричные шифрсистемы 197 10.4. Понятие о криптографических протоколах 198 10.5. Организация секретной связи, задачи криптоаналитика... 199 10.6. Обеспечение целостности сообщений 205 10.7. Цифровая подпись 206 Глава П. КЛЮЧЕВАЯ СИСТЕМА ШИФРА 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. СРВ (обратная связь по шифртексту или гаммирование с обратной связью) 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. Генераторы «5-тшагов» 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. Генераторы (S,t)-самоусечения 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. Стандарт генерации ключей ANSIX9.17 357 6. Алгоритм ^5/1 358 7. Американский стандарт хеш-функции (SHS) 359 8. Криптосистема RSA 361 9. Шифрсистема Эль Гамаля 363 10. Схема цифровой подписи Эль Гамаля 364 Ответы и решения 365 Словарь о 372 Литература 386 397