Текст
                    ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ: КРИПТОГРАФИЯ
Институт проблем информационной
безопасности МГУ
Логачёв О. А., Сальников А. А., Ященко В. В.
Булевы функции в теории
кодирования и криптологии
Москва
Издательство МЦНМО
2004

УДК 519-6 (082) ББК 22.18 Л69 Издание осуществлено при поддержке РФФИ (издательский проект № 03-01-14062) И Логачёв О. А., Сальников А. А., Ященко В. В. Л69 Булевы функции в теории кодирования и криптологии — М.: МЦНМО, 2004. — 470 с. ISBN 5-94057-117-4 В книге впервые на русском языке в систематическом виде изложены крипто- графические и теоретико-кодовые аспекты использования аппарата теории булевых функций. Исключение составили лишь вопросы, связанные с теорией сложности и решением систем булевых уравнений. При этом в книге нашли своё отражение как классические результаты, так и результаты, опубликованные в последнее время. Для понимания книги достаточно сведений, имеющихся в университетских кур- сах по линейной алгебре, теории групп, теории конечных полей и полиномов, ком- бинаторике и дискретной математике. Помимо этого предполагается знакомство с основами теории вероятностей. Основой для книги послужили материалы курсов, читаемых авторами в МГУ для студентов механико-математического факультета и факультета вычислительной математики и кибернетики, специализирующихся по направлению «Информацион- ная безопасность». Книга будет полезна студентам, аспирантам и научным работникам, интересу- ющимся дискретной математикой, теорией кодирования и криптологией. Она может быть использована в том числе и как справочник. ББК 22.18 © Логачёв О. А., Сальников А. А., Ященко В. В., 2004. © МЦНМО, 2004.
Оглавление Предисловие................................................. 8 От авторов.................................................. 9 Обозначения................................................ 11 Глава 1. Арифметика конечных полей и полиномов ............ 16 §1.1. Алгебраические основы............................. 16 § 1.2. Строение конечных полей.......................... 41 § 1.3. Полиномы над конечными полями ................... 54 Комментарии к главе 1 .................................. 63 Глава 2. Булевы функции.................................... 65 §2.1 . Основные понятия и определения................... 65 §2.2 . Числовые и метрические характеристики ........... 74 §2.3 . Автокорреляция и взаимная корреляция............. 90 §2.4 . Групповая алгебра булевых функций ............... 97 §2.5 . Криптографические свойства булевых функций и отображений ......................................... 101 §2.6 . Покрывающие последовательности булевых функций.. 114 Комментарии к главе 2 ................................. 118 Глава 3. Классификации булевых функций.................... 119 §3.1 . Групповая эквивалентность отображений. Теорема Пойа . . 119 §3.2 . Классификация булевых функций от пяти переменных .... 128 §3.3 . Классификация квадратичных булевых функций...... 138 §3.4 . Классификация однородных кубических форм от 8 переменных........................................ 148 §3.5 . /?Л4-эквивалентность булевых функций............ 152 Комментарии к главе 3 ................................. 156 Глава 4. Линейные коды над полем F2 ...................... 158 §4.1 . Основные свойства линейных блочных кодов........ 158 §4.2 . Задача декодирования............................ 170 §4.3 . Циклические коды ............................... 176 §4.4 . Некоторые классы примитивных циклических кодов...191 Комментарии к главе 4 ................................. 199
6 Оглавление Глава 5. Коды Рида—Маллера................................200 §5.1 . Общие свойства кодов Рида—Маллера...............200 §5.2 . Алгоритм декодирования Рида.................... 210 § 5.3. Коды Рида—Маллера первого порядка и связанные с ними коды........................................... 215 §5.4 . Коды Рида—Маллера второго порядка и связанные с ними коды........................................... 225 §5.5 . Классификация булевых функций и коды Рида—Маллера третьего порядка ..................................... 228 Комментарии к главе 5 ................................ 232 Глава 6. Нелинейность ....................................233 §6.1 . Нелинейность как мера криптографического качества .... 233 §6.2 . Максимально-нелинейные (бент-)функции и их свойства . 235 §6.3 . Некоторые классы максимально-нелинейных (бент-)функций........................................ 243 §6.4 . Частично максимально-нелинейные (частично бент-)функции и их свойства........................... 250 §6.5 . Платовидные функции и частично определённые м.-н. (бент-)функции........................................ 253 §6.6 . Гипер-бент-функции ............................ 264 §6.7 . Биортогональные базисы ........................ 266 Комментарии к главе 6 ................................ 270 Глава 7. Корреляционная иммунность и устойчивость.........272 §7.1 . Основные определения и свойства................ 272 §7.2 . Наследование свойств при сужениях булевых функций ... 289 §7.3 . Общие методы построения корреляционно-иммунных функций и устойчивых отображений...................... 298 §7.4 . Нелинейность корреляционно-иммунных и устойчивых функций............................................... 303 § 7.5. Построение устойчивых булевых функций с положительными криптографическими свойствами ........308 §7.6 . Покрывающие последовательности корреляционно- иммунных и устойчивых функций ........................ 315 § 7.7. Квадратичные устойчивые булевы функции максимального порядка................................. 327 Комментарии к главе 7 ................................ 330
Оглавление 7 Глава 8. Коды, булевы отображения и криптографические свойства ..........................................332 §8.1 . Почти совершенно нелинейные и почти бент-отображения 332 §8.2 . Теоретико-кодовый подход к изучению APN- и АВ-отображений........................................ 346 § 8.3. Циклические коды и булевы отображения ........ 354 §8.4 . Лавинные критерии и критерии распространения .. 362 §8.5 . Построение булевых функций, удовлетворяющих критерию распространения степени k и порядка t ......... 367 § 8.6. Глобальные лавинные характеристики булевых функций .. 369 Комментарии к главе 8 ................................. 374 Глава 9. Элементы криптографического анализа...............375 §9.1 . Алгоритм Берлекемпа—Месси. Линейная сложность....375 §9.2 . Принципы статистического метода криптоанализа блоковых шифров ........................................ 389 § 9.3. Принципы корреляционного метода криптоанализа..398 §9.4 . Принципы линейного метода криптоанализа........ 410 §9.5 . Принципы разностного (дифференциального) метода криптоанализа........................................... 416 §9.6 . Запреты булевых функций ....................... 418 Комментарии к главе 9 ................................. 426 Литература ............................................. 430 Предметный указатель ..................................... 462
Предисловие Ещё 10 лет назад в России практически не издавались книги, в назва- ниях которых было бы слово «криптография». Сейчас уже многие знают, что криптография — наука о шифрах и что только криптография даёт наиболее надёжные инструменты для обеспечения безопасности инфор- мационных технологий. Но специалистов в этой области мало, поскольку для глубокого понимания криптографии необходимо овладеть достиже- ниями многих наук, в первую очередь математики, физики, теории связи и наук кибернетического цикла. Поэтому в настоящее время криптоло- гия (теоретические разделы криптографии) становится университетской наукой. Подробный разговор об этом состоялся на двух конференциях в МГУ: «Московский университет и развитие криптографии в России» (17—18 октября 2002 г.), «Математика и безопасность информационных технологий» (23—24 октября 2003 г.). Созданный в МГУ Институт проблем информационной безопасности реализует издательский проект —серию фундаментальных книг по науч- но-методологическим проблемам информационной безопасности, в том числе по тем направлениям криптологии, которые фактически уже вхо- дят в университетское математическое образование. Книга О. А. Логачёва, А. А. Сальникова и В. В. Ященко «Булевы функции в теории кодирования и криптологии» входит в эту серию. Она написана математиками-криптографами для математиков и содержит в систематическом виде результаты одного из направлений криптоло- гии, связанного с применением булевых функций при анализе и синтезе шифров. Книга может быть рекомендована читателям с базовой университет- ской подготовкой — студентам и аспирантам математических факультетов университетов, научным работникам, криптографам. Ректор МГУ, академик РАН /д л В. А. Садовничий февраль 2004 г.
От авторов Понятие булевой функции сформировалось во второй половине XIX в. в связи с исследованиями по математической логике и основаниям мате- матики. Своё название булевы функции получили в честь Джорджа Буля (G. Boole, 1815—1864), английского математика, одного из основополож- ников математической логики. В первой половине XX в. булевы функции приобрели фундаментальное значение для оснований математики. Вместе с тем длительное время булевы функции оставались невостребованными в прикладных областях. Существенные изменения произошли в середине XX в., когда бур- ное развитие техники связи, приборостроения и вычислительной техники потребовало создания адекватного математического аппарата. В этот пе- риод происходит становление таких прикладных отраслей математики, как теория конечных функциональных систем, теория информации, тео- рия кодирования и, наконец, математическая криптография. Практика показала плодотворность применения аппарата теории булевых функций к проблемам анализа и синтеза дискретных устройств, осуществляющих обработку и преобразование информации. Сформировавшееся в настоящее время в открытой научной литера- туре представление о криптографии включает в себя целый спектр науч- ных направлений, каждое из которых обладает собственным предметом исследований и пользуется специфическим математическим аппаратом. С одной стороны, это абстрактные исследования «по мотивам криптогра- фии» в области теории сложности вычислений, а с другой — построение и анализ алгоритмов вскрытия конкретных криптографических систем. Тем не менее в формулировках задач многих криптографических направ- лений и в ходе их решения по существу используется аппарат теории булевых функций. В первую очередь это относится к традиционным крип- тографическим системам с секретным ключом. Название книги «Булевы функции в теории кодирования и криптологии» отражает близость ря- да криптографических задач и задач кодирования и декодирования кодов Рида—Маллера. В книге впервые на русском языке в систематическом виде изложе- ны криптографические аспекты использования аппарата теории булевых функций. Исключение составили лишь вопросы, связанные с теорией сложности и решением систем булевых уравнений. При этом в книге
10 От авторов нашли своё отражение как классические результаты, так и результаты, опубликованные в последнее время. Для понимания книги достаточно сведений, имеющихся в универси- тетских курсах по линейной алгебре, теории групп, теории конечных полей и полиномов, комбинаторике и дискретной математике. Помимо этого предполагается знакомство с основами теории вероятностей. Основой для книги послужили материалы курсов, читаемых авторами в МГУ для студентов механико-математического факультета и факуль- тета вычислительной математики и кибернетики, специализирующихся по направлению «Информационная безопасность». В книгу включены результаты, которые получены авторами в последние годы в рамках пла- новых работ лаборатории МГУ по математическим проблемам крипто- графии. Книга состоит из 9 глав. Первая глава носит вспомогательный характер. В ней приводятся ос- новные сведения из алгебры, используемые в книге. Во 2-ой главе приво- дятся основные понятия и доказываются основные теоремы, относящиеся к основам теории булевых функций. В 3-й главе рассмотрены вопросы классификации булевых функций относительно различных групп преоб- разований. В 4-й главе приведены основные сведения из теории кодиро- вания. В 5-й главе рассматриваются свойства булевых функций с точки зрения теории кодирования. В главе 6 изучаются свойства максималь- но-нелинейных функций. В главе 7 изучается свойство корреляционной иммунности функций. В главе 8 подробно рассмотрены различные крип- тографические характеристики булевых функций и отображений. Глава 9 содержит элементы криптографического анализа. С целью сокращения объёма книги часть результатов вынесена в за- дачи. Кроме того, некоторые из включённых в книгу задач не решены до сих пор и фактически являются основой для дальнейших исследо- ваний. Что касается ссылок, то все основные пункты текста пронумерованы последовательно по главам — независимо от того, определения ли это, теоремы, примеры и т. п. Таким образом, например, «Определение 1.121» отсылает нас к пункту 121 главы 1 (который оказывается определением). Математические выкладки имеют аналогичную, но свою нумерацию. Авторы с благодарностью примут любые замечания и комментарии к книге; направляйте их на интернет-сайт http: //www. cryptography. ru. Авторы выражают искреннюю признательность Степанову Михаилу Владимировичу за поддержку в процессе работы над книгой.
Обозначения N — множество натуральных чисел (1, 2, 3, ...); Z — кольцо целых чисел (..., —2, — 1, 0, 1, 2, ...); — кольцо вычетов по модулю п е N; R — поле действительных чисел; Q — поле рациональных чисел; С — поле комплексных чисел; — мощность множества А; А х В — декартово произведение множеств А и В\ Ап — п-я декартова степень множества А (п е N); Р{-} — вероятность события, описанного в фигурных скобках; £[•] — математическое ожидание случайной величины, указанной в квадратных скобках; □ — конец доказательства; ВА — множество всех отображений из множества А в множество В; Пл — множество минимальных представителей циклотомических классов; —полный прообраз элемента Ь^В относительно действия отображения ср е ВА; F — конечное поле; —конечное поле из q элементов (q = pn, р — простое число, rzeN); F* — мультипликативная группа обратимых элементов поля F7; F<7 [х, у,..., z] — кольцо полиномов над полем F7 от переменных х, у,..., z; Тг7^(а) — относительный след элемента а € F^ над полем F7; Тгш(а) — абсолютный след элемента над полем Fp (р — про- стое); deg Р(х, у, ..., z) — степень полинома Р(х, z); У — линейное векторное пространство; Vn,q — векторное пространство столбцов длины п е N с координата- ми из поля F^; Уп — векторное пространство столбцов длины п € N с координата- ми из поля F2 (м-мерное булево пространство); — отношение частичного порядка на векторах из Уп',
12 Обозначения dim V — размерность векторного пространства V; Т — оператор транспонирования матрицы (вектора); v=(u(1\ ..., — вектор (столбец) л-мерного векторного простран- ства в координатной записи (предполагается, что зафиксиро- ван некоторый базис); wt(v) — вес Хэмминга вектора v; dist(v, и) =wt(v — и) — расстояние Хэмминга между векторами v и и\ dist(?l, В) = min {dist(v, й)} — расстояние Хэмминга между множе- v^A,ueB ствами векторов AQV и В С V; ф — покоординатное сложение векторов одинаковой размерности над полем F2; &п — симметрическая группа подстановок степени п € N; — симметрическая группа подстановок, действующая на эле- ментах пространства V; — группа трансляторов (сдвигов), действующая на векторном пространстве размерности п е N; — группа Джевонса, действующая на векторном простран- стве Vnfq размерности п е N; (Л) — группа, порождаемая множеством А; 0£(У) — полная линейная группа, действующая на векторном про- странстве V; 021(У) — полная аффинная группа, действующая на векторном про- странстве V; г-вектор — вектор размерности г е N; г-подмножество — подмножество мощности г € N; (т х п)-матрица — матрица из т е N строк и п е N столбцов; rank М — ранг матрицы М\ det М — определитель квадратной матрицы М; 0 — тензорное произведение; а | b или Ь\а — а делит b (a, b е Z); |xj — наибольшее целое число, не превосходящее х е R; |х] — наименьшее целое число, большее или равное х е R; 0 — пустое множество; НОД — наибольший общий делитель; НОК — наименьшее общее кратное; i — У—Т € С — мнимая единица; Тп = |ехр | | k е — группа корней /2-й степени из единицы;
Обозначения 13 Т = {х € С | |х| = 1} — мультипликативная группа комплексных чисел, мо- дуль которых равен 1; 74 — множество всех булевых функций от п € N переменных; 74(5) — множество частично определённых булевых функций от neN переменных с областью определения S С 14; 74,™ — множество всех булевых отображений из Vn в Vm (п, meN); exp f(x) = (— 1)^х) — функция на Vn со значениями в {—1, 1}; £п — множество всех линейных булевых функций от п е N пере- менных; Сп,т — множество всех линейных булевых отображений из Vn в Vm (п, meN); Ап — множество всех аффинных булевых функций от п е N пере- менных; Ап,т — множество всех аффинных булевых отображений из Vn в Vm (п, т е N); Вп — множество всех булевых бент-функций (максимально нели- нейных) от п е N переменных; Bn(S) — множество частично определённых бент-функций п € N пере- менных с областью определения S С Уп\ Sn — множество всех симметрических булевых функций от п е N переменных; (х, у) — скалярное произведение векторов х и у одинаковой / размерности; х • у = (х^у^, — произведение векторов х и у одинаковой размерности; Wf(a)= (—— преобразование Уолша—Адамара булевой xeVn функции f eFn (осе 14); Wf(a, s) = £ (-1)^фТг^>-расширенное преобразование Уолша— Адамара булевой функции f (а € Vn, s G Пя); — частичное преобразование Уолша—Адамара x^D булевой функции / е 74 по множеству D С Vn (а е Vn)\ Ц/Да)= /(х)(-1)<х’а> — преобразование Фурье булевой функции xevn _ fe^n(cxevn); WfD(ci) = /(х)(— 1)<х’°^ — частичное преобразование Фурье булевой xeD функции f е^п по множеству D С Vn (а е Vn);
14 Обозначения Nf — нелинейность булевой функции f eF», GNf — обобщённая нелинейность булевой функции f е 7^; — производная булева отображения Ф сЛт по направлению и е vn; ДДа) = — автокорреляция булевой функции f е^п x^vn со сдвигом а е Vn', Af = max |ДДа)|, &f= 52 Д2Да) ~ численные меры глобальной ла- винной характеристики булевой функции f е ill (Л) — индекс линейности булева отображения F е f — дуальная к f еВп бент-функция; J&(f) — группа инерции функции f в группе Ф; Lp — подпространство линейности (пространство линейных струк- тур) булева отображения F е Fn,m\ PC/? — множество тех векторов, по направлению которых отображе- ние F е удовлетворяет критерию распространения; lil(F) — максимальный элемент таблицы разностей булева отображе- ния F е Fn,m', RM(r, п) — двоичный код Рида—Маллера порядка г G N длины 2Л (п е N); RM*(r, п) — двоичный выколотый код Рида—Маллера порядка г € N дли- ны 2п - 1 (neN); Cj(f) ~ число кодовых слов кода С, находящихся на расстоянии j ОТ / (0 гс); Aut(C) — группа автоморфизмов кода С; С± — дуальный код к коду С; de — минимальное расстояние кода С; kc — размерность линейного кода С; гс — радиус покрытия кода С; Rc — скорость кода С; Wc(x, у) — весовая функция Хэмминга кода С; [п, k, dj-код— линейный код длины rzeN, размерности ZzeN с мини- мальным расстоянием d 6 N; 7Vmax(n, rri) — максимально возможная нелинейность m-устойчивой буле- вой функции из р(х, г) — шар с центром в векторе х € Vn радиуса г € {0, 1, ..., п}\ у — функция Мёбиуса; 6 — (5-функция Дирака;
Обозначения 15 1м Еп ^ = (! — функция-индикатор множества М; — единичная (п х п)-матрица; _[ — матрица Сильвестра—Адамара порядка neN; [и]— кронекерова (тензорная) степень; NWf — количество двоичных векторов, на которых значения коэффи- циентов Уолша—Адамара функции f отличны от нуля; N&f — количество двоичных векторов, на которых значения автокор- реляции функции f отличны от нуля; con" — оператор фиксации части переменных, действующий на мно- жестве функций; задаётся множеством номеров / = {/!,... 1 /1 <...<//^/г, и двоичным вектором ат = = (а(1), ...,а^)теК; РП — оператор проектирования булева отображения на z-ю коор- динату; рег(м) 1ок(с) — период последовательности и; — множество локаторов строки с; charu(A) — характеристический полином линейной рекуррентной после- довательности и.
Глава 1. Арифметика конечных полей и полиномов В настоящей главе рассматривается теория конечных полей и полино- мов в том объёме, который необходим для чтения книги. Для понимания материала этой главы необходимо знакомство с основными понятиями теории множеств. § 1.1. Алгебраические основы Важнейшими объектами, изучаемыми в алгебре, являются алгебраи- ческие системы. Вообще говоря, под алгебраической системой в алгебре понимается множество, на котором определены некоторые совокупности операций и предикатов, удовлетворяющих определённым условиям. Далее мы будем рассматривать лишь алгебраические системы с пустой совокуп- ностью предикатов. Примерами алгебраических систем являются группы, кольца, поля. Такие алгебраические системы будут часто использовать- ся в данной книге при описании и исследовании различных теоретико- кодовых и криптографических конструкций. Пусть S — некоторое множество, и пусть S х S — множество упорядо- ченных пар (s, /), где s, t € S. Тогда произвольное отображение из S х S в S будем называть (бинарной) операцией на множестве S. Группа — это собирательное название алгебраических систем с одной бинарной операцией, удовлетворяющей определённым условиям. Обо- значать группы будем большими готическими буквами, а элементы этих групп — строчными готическими буквами. Определение 1.1. Группой (0, *) называется множество 0 с би- нарной операцией «*» на нём, для которых выполнены следующие три условия. 1. Операция «*» ассоциативна, т.е. для любых а, Ь, сб Ф выполнено равенство а* (Ь * с) = (а * Ь) * с. 2. В б существует единичный элемент (или единица) е такой, что для любого аЕ 0 выполнено равенство а* е = е * а = а.
§1.1. Алгебраические основы 17 3. Для каждого элемента а е & существует обратный элемент а-1 е <5 такой, что выполнено равенство а * а-1 = а-1 * а= е. Если группа удовлетворяет также и условию 4. Для любых а, b е 0 выполнено равенство а * b = ь * а, то группа называется абелевой (или коммутативной). Группу ((5, *) будем обозначать просто 0. Легко показать, что единич- ный элемент е в группе С5, а также обратный элемент а"1 для каждого данного элемента а € 0 определены однозначно. Для всех а, Ь G (5 вы- полнено равенство (а* Ь)"1 = Ь-1 * а-1. Для простоты часто для групповой операции используется мультиплика- тивное обозначение «•» (как для обычного умножения чисел) и вместо а * b пишут а • b или просто аЬ (и называют этот элемент произведени- ем элементов а и Ь). Отметим, что при этом отнюдь не предполагается, что операция и в самом деле является обычным умножением. Иногда для групповой операции бывает удобно использовать аддитивную запись и писать а 4- b вместо а * b (и называть этот элемент суммой элементов а и Ь), 0 — вместо е (этот элемент называют нулём группы 0) и —а — вме- сто а-1. Аддитивные обозначения используют, как правило, для абелевых групп. Пример 1.2. Пусть 0 — это множество целых чисел с обычной опера- цией сложения «+». Известно, что эта ассоциативная операция является коммутативной. Легко убедиться, что 0 является коммутативной груп- пой, в которой единичным элементом является 0, а обратным элементом для числа а является противоположное число —а. Эту группу обычно обозначают Z. Определение 1.3. Группа (мультипликативная) 0 называется цикли- ческой, если в ней существует такой элемент ае С5, что любой элемент b е 0 является степенью элемента а, т. е. существует целое число k такое, что b = ak. Такой элемент а циклической группы 0 называется образу- ющим. Для циклической группы 0 с образующим а используют обозначение 0 = (а). Для аддитивных групп говорят о кратном, а не о степени. Непо- средственно из определения и коммутативности аддитивной группы Z следует, что любая циклическая группа коммутативна. В циклической
18 Глава 1. Арифметика конечных полей и полиномов группе может быть несколько различных образующих. Например, в ад- дитивной группе Z образующими являются как 1, так и — 1. Определение 1.4. Отношением эквивалентности на множестве S называется подмножество Г множества 5x5 упорядоченных пар ($, /), s, t G S, обладающее следующими свойствами: 1) (s, s) е Г для всех s € S (рефлексивность); 2) если (s, /) е Г, то (/, s) е Г (симметричность); 3) если (s, /) G Г и (/, и) е Г, то ($, и) е Г (транзитивность). Элементы s, / е S называются эквивалентными, если (s, t) е Г. Лю- бое отношение эквивалентности на множестве S порождает разбиение S на попарно не пересекающиеся подмножества эквивалентных элементов. Все элементы множества S, эквивалентные некоторому фиксированному элементу s €S, составляют класс эквивалентности элемента $, который обозначается как {S}r = {t е S I (S, ОеГ}. Отметим, что {$}г = {/}г в том и только в том случае, когда s и t эквива- лентны: (s, t) € Г. Совокупность всех различных классов эквивалентности и даёт указанное разбиение множества S. Задача 1.5. Пусть a, b G Z и п е N. Будем говорить, что а сравнимо с b по модулю п и писать a = b (mod л), если разность а — Ь делится на п, т. е. если а = b + kn для некоторого k е Z. Доказать, что 1) отношение «=» является отношением эквивалентности; 2) множество Zrt классов эквивалентности с введённой на нём опе- рацией {а}= + {Ь}= = {а + Ь}== является циклической группой (эта группа называется группой классов вычетов по модулю п). Определение 1.6. Группа называется конечной (соответственно бес- конечной), если она состоит из конечного (соответственно бесконечного) числа элементов. Число элементов группы называется её порядком. Для порядка конечной группы 0 будем использовать обозначение #0. ( k I 1 Пример 1.7. Пусть Тп — |ехр 2тг/- \k е Zn j — множество комплекс- ных корней и-й степени из единицы (/ = л/—Т). Вместе с операцией умно- жения комплексных чисел (ехр 2тп^-) • (ехр 2тп^) =ехр 2тп’—^2-, k\, Z, множество Тп образует мультипликативную группу корней л-й степени из единицы. При этом = л.
§1.1. Алгебраические основы 19 Определение 1.8. Подмножество 55 С 0 группы 0 называется под- группой этой группы (55^0), если само множество 55 образует группу относительно операции группы (5. Подгруппы группы 0, отличные от три- виальных подгрупп {е} и 0, называются собственными подгруппами. Легко проверить, что множество всех степеней произвольного эле- мента а группы 0 образует подгруппу этой группы. Определение 1.9. Подгруппа группы 0, состоящая из всех степе- ней элемента g е 0 этой группы, называется подгруппой, порождённой элементом д, и обозначается (д). Если (д) — конечная циклическая под- группа, то её порядок #(д) называется порядком элемента д. В против- ном случае элемент д называется элементом бесконечного порядка. Таким образом, порядок элемента д равен наименьшему натурально- му числу k, для которого д* = е. Нетрудно показать, что любое целое число т, обладающее тем свойством, что д'72 = е, делится на k. Если 91—некоторое непустое подмножество группы 0, то подгруп- па 55 группы 0, состоящая из всех произведений конечной длины всех степеней элементов из 91, называется подгруппой, порождённой мно- жеством 91, и обозначается 55 = (91), а 91 называется множеством образующих подгруппы 55. Задача 1.10. Пусть 55 —подгруппа группы 0. Показать, что отноше- ние на 0, определяемое условием (01, 02) <=> 01 =g2t) для некоторого I) е 55, является отношением эквивалентности. Соответствующие отношению эквивалентности классы экви- валентности называются левыми смежными классами группы 0 по подгруппе 55 и обозначаются ай = {gb IН (или g + 55 = {g + t)|fy£55}, если 0 — аддитивная группа), где g — фикси- рованный элемент группы 0. Аналогично определяется разбиение группы 0 на правые смежные классы группы 0 по подгруппе 55, которые име- ют вид 55g = {1)9 | Ь G 55}. Если группа 0 абелева, то, очевидно, её левые смежные классы по подгруппе 55 совпадают с правыми. Задача 1.11. Если 55 — конечная подгруппа группы 0, то каждый (ле- вый или правый) смежный класс группы 0 по подгруппе 55 содержит столько же элементов, сколько их в подгруппе 55.
20 Глава 1. Арифметика конечных полей и полиномов Определение 1.12. Если подгруппа 5) группы 0 такова, что множе- ство смежных классов 0 по 5) конечно, то число этих смежных классов (левых или правых) называется индексом подгруппы 5) в группе 0 и обозначается (0 : У)). Задача 1.13. Показать, что порядок конечной группы 0 равен произ- ведению порядка любой её подгруппы Г) и индекса (0 : 5э) этой подгруппы в группе 0. В частности, порядок любого элемента g е 0 делит порядок группы 0. Определение 1.14. Наименьшее натуральное число т (если оно су- ществует), для которого выполнено равенство дт = е для всех g е 0, на- зывается экспонентой группы 0 и обозначается ехр 0. Экспонента конечной группы 0 делит порядок этой группы, т. е. ехр 0 | #0. Подгруппы и порядки элементов для циклических групп описываются следующей теоремой. Теорема 1.15. Справедливы следующие утверждения. 1. Каждая подгруппа циклической группы циклическая. 2. В конечной циклической группе {д} порядка т элемент gk порождает подгруппу порядка HCW, „> НОД(*. больший общий делитель чисел k и т). 3. Если d — положительный делитель порядка т конечной цик- лической группы (д), то (д) содержит единственную подгруппу индекса д.Для любого положительного делителя I порядка т груп- па (д) содержит единственную подгруппу порядка I. 4. Пусть I — положительный делитель порядка т конечной цик- лической группы (д). Тогда группа (д) содержит ровно ср(Г) эле- ментов порядка I (здесь р(Г) — функция Эйлера, равная количеству целых чисел k, 1 k /, которые взаимно просты с I). 5. Конечная циклическая группа (д) порядка т содержит ровно <р(т) образующих. Образующими группы (д) являются те и только те степени gr элемента д, для которых НОД(г, т) = 1. Задача 1.16. Доказать теорему 1.15. Определение 1.17. Отображение 0—группы (0, *) в группу (У), •) называется гомоморфизмом группы 0 в группу fj, если оно пе- реводит операцию группы 0 в операцию группы £), т. е. если для всех 01, 02 £ ® выполнено равенство ^(01 *02)=^(б1)-^(£12).
§1.1. Алгебраические основы 21 Если, кроме того, гомоморфизм является отображением на & (т. е. сюръективным), то называется эпиморфизмом (или гомоморфизмом «на»), и в этом случае У) называется гомоморфным образом группы 0. Гомоморфизм группы 0 в 0 называется эндоморфизмом этой группы. Если ф — взаимно однозначный гомоморфизм группы 0 в группу fj, то он называется изоморфизмом, и в этом случае говорят, что группы 0 и й изоморфны (это обозначают символом 0 = fj). Изоморфизм группы 0 в 0 называется автоморфизмом этой группы. Если ф\ 0 —> й — гомоморфизм группы (0, *) в группу (fj, •), то из ра- венства а*е = а, выполненного в группе (0, *), следует '^(а)-'0(е) = '0(а). Поэтому образ единичного элемента ф(г) = г' является единицей группы fj. Кроме того, из равенства g * д-1 = е, выполненного в группе (0, *) для любого g е 0, следует ф(д~[) = (ф(д))~[. Пример 1.18. Пусть отображение ф группы Z в группу Zrt, п е N за- даётся равенством ф(г) = {г}=. Тогда ^ — эпиморфизм группы Z на груп- пу Z„. Определение 1.19. Пусть 0 —конечная абелева группа, Т — муль- типликативная группа комплексных чисел, по модулю равных единице. Гомоморфизм х группы 0 в группу Т называется характером груп- пы 0. Пусть х ~ характер группы 0. Тогда для каждого g G 0 выполнены равенства (X(g))exp® = Х((9)ехр0) = Х(е) - 1. Поэтому значения характера х являются корнями степени ехр 0 из еди- ницы. Кроме того, x(g-1) = (x(g))-1 = у(д) для каждого д е 0 (здесь чер- та означает комплексное сопряжение). Среди характеров группы 0 име- ется тривиальный характер хо, определяемый равенством ^0(д) = 1 для всех g е 0. Все остальные характеры называются нетривиальными. Задача 1.20. Доказать, что множество 0Л всех характеров абелевой группы 0 образует абелеву группу относительно операции умножения, определяемой поточечно: (XiX2)(fl) = Xi(fl)X2(fl). где Xi, Х2€©Л, де®. Поскольку значениями характеров могут быть лишь корни степени ехр 0 из единицы, то группа 0Л конечна. Задача 1.21. Пусть 0 —конечная циклическая группа порядка п и пусть д — её образующий элемент. Доказать, что 0Л состоит из
22 Глава 1. Арифметика конечных полей и полиномов отображений х/, 0 п — 1, задаваемых соотношением X;(0*) = е27Г1= cos 2тг— + i sin 2тг—. 7 п п Задача 1.22. Доказать, что для любых двух различных элементов 01, 02 абелевой группы 0 существует характер хе(5л группы С5 такой, что х(01) 7^х(02) (такой характер называют различающим для 91 и 02). Теорема 1.23. Если у — нетривиальный характер конечной абе- левой группы 0, то £х(0)=о. (1.1) 0G0 Если g е 0 и 0 7^ е, то £ Х(0) = О. (1.2) Доказательство. Поскольку х — нетривиальный характер груп- пы 0, то существует элемент 01 €0 такой, что x(9i)^ 1- Для такого элемента 01 выполнена цепочка равенств x(0i) £ х(0) = £ x(0i0) = £ х(о), ее© 0G0 06(5 поскольку, когда элемент 0 пробегает всю группу 0, то и произведение 010 также пробегает всю группу 0. Таким образом, справедливо равен- ство (x(0i)- О £ х(о)=о, 0G0 откуда следует равенство (1.1). Что касается второго утверждения теоремы, то заметим, что функция 0 (0 е С5), определённая равенством д(х) = х(о) Для всех X € С5Л, является характером конечной абелевой группы 0Л. Этот характер нетривиален, поскольку согласно результату задачи 1.22 существует характер х £ такой, что х(0)^х(е)= 1. Остаётся применить равенство (1.1) к груп- пе ®л и получить равенство (1.2). □ Теорема 1.24. Число различных характеров конечной абелевой группы 0 равно порядку этой группы'. #0Л = #0. Доказательство. Теорема следует из равенств #®л = £ £ х(0)= £ £х(0)=#®, 060 х€0л *€0Л 0G0
§1.1. Алгебраические основы 23 где в первом равенстве использовано (1.2) и тот факт, что х(е) = 1, а в по- следнем использовано (1.1) и тот факт, что Хо(о) = 1- О Задача 1.25. Показать, что группа характеров 0Л конечной абелевой группы 0 изоморфна самой группе 0. (Указание: применить структурную теорему о конечных абелевых группах, которая в своей простейшей форме утверждает, что каждая такая группа изоморфна прямому произведению некоторых конечных циклических групп. Предварительно доказать, что группа характеров конечной циклической группы изоморфна самой этой группе.) Автоморфизмы группы сами образуют группу относительно операции композиции (или, иначе, относительно операции последовательного при- менения автоморфизмов), что легко проверить. Определение 1.26. Автоморфизм ^0, д е 0 группы 0, определяемый соотношением ^д(Ь) = 01)0~1 для всех Ь £ называется внутренним автоморфизмом группы 0. Элементы f) и 01)0""1 называются сопряжёнными. Если S — некоторое непустое подмножество группы 0, то множество gSg-1 = {0b0—1 | О G. S} называется сопряжённым с S. Определение 1.27. Ядром гомоморфизма ф:&—>$) группы 0 в группу У) называется множество кег ф = {д е 0 | ф(д) = е'}, где е' — единичный элемент группы fj. Определение 1.28. Подгруппа fj группы 0 называется нормальной подгруппой (или нормальным делителем) этой группы, если 01)0”1 ££) для всех 0 € 0, I) € fj. Задача 1.29. Показать, что ядро любого гомоморфизма кег ф явля- ется нормальной подгруппой. Задача 1.30. Доказать, что подгруппа & группы 0 является нор- мальным делителем этой группы тогда и только тогда, когда для любого элемента 0 е 0 левый смежный класс совпадает с правым смежным классом Sjg. Задача 1.31. Доказать, что если Sj — нормальная подгруппа группы 0, то множество (левых) смежных классов группы 0 по подгруппе обра- зуют группу относительно следующей операции (fll£)(02^) = (fll02)£-
24 Глава 1. Арифметика конечных полей и полиномов Определение 1.32. Пусть 55 — нормальная подгруппа группы 0. То- гда группа, образованная (левыми) смежными классами группы 0 по под- группе 55 с операцией, введённой в задаче 1.31, называется факторгруп- пой группы 0 по 55 и обозначается 0/55. Если факторгруппа 0/55 конечна, то её порядок совпадает с индексом (0 :55) подгруппы 55 в 0. В частности, для конечной группы 0 выполнены равенства Непосредственной проверкой легко убедиться, что всякая нормаль- ная подгруппа группы 0 естественным образом определяет некоторый гомоморфизм этой группы и наоборот. Пусть ф: 0—»0j =^(0) — гомо- морфизм группы 0 на группу 0Ь Тогда ядро ker ф является нормаль- ной подгруппой группы 0, причём группа 01 изоморфна факторгруппе 0/ ker ф. Обратно, если 55 — нормальная подгруппа группы 0, то отоб- ражение ^:0—>0/55, определяемое условием Фь(£) = я$3 для любо- го g е 0, является гомоморфизмом группы 0 на группу 0/55, причём ker фъ =Я. Пусть S — непустое подмножество группы 0. Его нормализатором в группе 0 называется следующее множество ai(S)={flG®|0sfl-'=s}. Если S = {g}, то 91(g) называют нормализатором элемента g в группе 0. Задача 1.33. Показать, что 91(5) является подгруппой в группе 0. Центром группы 0 называется следующее множество С = {с е 0 | eg — gc для всех g е 0}. Задача 1.34. Показать, что 0 является нормальной подгруппой в группе 0. Определение 1.35. Кольцом (/?,+, •) называется множество R с двумя бинарными операциями, обозначаемыми символами «+» и « •», такими, что 1) R — абелева группа относительно операции «+»; 2) операция « •» ассоциативна, т.е. для всех a, b, с eR выполнено равенство (а-b) - с = а • (Ь - с); 3) выполнены законы дистрибутивности, т.е. для всех a, b, с ER вы- полнены равенства а • (Ь + с) = а • b 4- а • с, (Ь + с) • а = b • а 4- с • а.
§1.1. Алгебраические основы 25 (Следует обратить внимание, что операции «+» и «• » не обязатель- но являются обычным сложением и умножением.) Для краткости обычно кольцо (/?, +, •) обозначают одной буквой R. Единичный элемент ад- дитивной группы кольца R называют нулевым элементом (или нулём) кольца R и обозначают 0, а обратный к элементу а этой группы обозна- чают через — а. Вместо а Н- (—Ь) пишут а — Ь, а вместо а - b — просто ab. Из определения кольца следует, что а • 0 = 0 • а = 0 для всех aeR. От- сюда также следует, что {—a)b = a(—b) = — ab для всех a, b eR. Определение 1.36. 1. Кольцо R называется кольцом с единицей, если оно имеет мультипликативную единицу, т. е. если существует такой элемент ее/?, что ае = еа = а для всех aeR. 2. Кольцо R называется коммутативным, если операция « •» комму- тативна. 3. Кольцо R называется целостным кольцом (или областью це- лостности), если оно является коммутативным кольцом с единицей е 0, в котором равенство ab = 0 влечёт за собой а = 0 или b = 0 (если ab = 0 и а^О, Ь^О, то а и b называются делителями нуля', таким образом, область целостности — это коммутативное кольцо с единицей без делителей нуля). 4. Кольцо R называется телом, если R / {0} и ненулевые элементы R образуют группу относительно операции « • ». 5. Коммутативное тело называется полем. Таким образом, в поле (будем обозначать его буквой F) заданы две операции, называемые сложением и умножением, выделены два элемен- та 0 и е, причём 0 е. Поле F — абелева группа по сложению, единичным элементом которой является 0, а элементы F, отличные от 0, образуют абелеву группу по умножению, единичным элементом которой являет- ся е. В дальнейшем для единицы поля, как правило, будем использовать символ 1. Две операции «сложение» и «умножение» связаны законом дистрибутивности. Проиллюстрируем понятия кольца и поля следующими примерами. Пример 1.37. 1. Целые рациональные числа образуют целостное кольцо, но не поле. 2. Чётные числа образуют коммутативное кольцо без единицы. 3. Отображения i/r. R -+ R (где R — некоторое кольцо) образуют коль- цо, если сумма и произведение отображений определены поточечно: (V’l + V’2)W = (х) + ^2(Х), {ф\ ^2)(Х) = -ф\ (х) • •Й(Х) для всех хе/?.
26 Глава 1. Арифметика конечных полей и полиномов 4. Множество всех (л х п)-матриц (л е N) с элементами из некоторого кольца R образуют кольцо. 5. Множество Zn при п = р — простом с операциями {л}= 4- {Ь}= = = {а 4- /?}=, {а}= - {Ь}= = {а • b}=, а, b 6 Z образует поле Zp = Fp вычетов по модулю р (легко видеть, что операции сложения и умножения классов сравнимых элементов согласованы). Это непосредственно следует из то- го, что равенство {а}= • {Ь}= = {а • Ь}= = {0}= выполняется в том и только в том случае, когда ab =kp для некоторого целого k. Но, поскольку р — простое, то оно делит по крайней мере один из сомножителей а или Ь. Следовательно, либо {а}= = {0}=, либо {Ь}= = {0}=, т. е. Zp не имеет де- лителей нуля. Кроме того, для любого а 6 Z, а= ± {0}=, и р существуют (см., например, [13]) целые числа и и v такие, что иа 4- pv = 1. Поэтому {л}={л}= = {1}= и {л}^1 ={и}=. Следовательно, Zp — поле. Определение 1.38. Подмножество S кольца R называется подколь- цом, если оно замкнуто относительно операций кольца R и само образует кольцо относительно этих операций. Определение 1.39. Подмножество / кольца R называется (двусто- ронним) идеалом кольца, если оно является подкольцом кольца R и для всех а е / и г е R выполнены включения аг е / и raeJ. Пример 1.40. 1. Пусть 7? — коммутативное кольцо, aeR, и пусть / = {га | г € R}. Тогда / — идеал кольца R. 2. Пусть R — коммутативное кольцо. Тогда наименьшим идеалом, со- держащим данный элемент aeR, является идеал (а) = {га 4- па\ г е R, п е Z}. Если кольцо R имеет единицу, то (a) = {ra\r е R}. Определение 1.41. Пусть R — коммутативное кольцо. Идеал / коль- ца R называется главным, если существует элемент a^R такой, что / = (а). В этом случае идеал / называется также главным идеалом, по- рождённым элементом а. Поскольку идеалы являются нормальными подгруппами аддитивной группы кольца, то каждый идеал / кольца R определяет некоторое раз- биение множества R на смежные классы по аддитивной подгруппе /, называемые классами вычетов кольца R по модулю идеала J. Класс вы- четов кольца R по модулю идеала /, содержащий элемент aeR, будем обозначать через {a} = a + J, так как он состоит из всех элементов коль- ца R вида а 4- с, где ceJ. Элементы a,beR, принадлежащие одному и тому же классу вычетов по модулю / (т. е. a — b eJ) будем называть сравнимыми по модулю J и записывать а = b (mod J) (сравнить с за- дачей 1.5). Нетрудно проверить, что если а = b (mod /), то a + r = b + r (mod J), ar = br (mod J), ra = rb (mod /) и na = nb (mod J) для любых
§1.1. Алгебраические основы 27 г eR и и € Z. Если, кроме того, г = s (mod /), то а + r = b +s (mod /) и ar = bs (mod J). Прямой проверкой несложно показать, что множество классов вычетов кольца R по модулю идеала / образует кольцо относи- тельно операций «+» и « • », определяемых равенствами (а + /) + (д + 7) = (а + 6)+Л (1.3) (a + J)(b + J) = ab+J. (1.4) Определение 1.42. Кольцо классов вычетов кольца R по модулю идеала J относительно операций (1.3) и (1.4) называется факторколь- цом кольца R по идеалу J и обозначается R/J. Пример 1.43. Пусть (п) = {kn | k е Z} — идеал кольца целых рацио- нальных чисел, состоящий из целых кратных /г, тогда факторкольцо Z/(n) состоит из классов вычетов 0+(п), 1 + (п), ..., п-1 + (п). Если п — р — простое (см. пример 1.37(5)), то Z/(p) = Zp =FP — поле. Следует отметить, что при образовании факторкольца не обязательно сохраняются свойства исходного кольца. Например, свойство отсутствия делителей нуля при этом не всегда сохраняется, что видно на примере кольца Z/(n) при составном п. Понятие гомоморфизма групп допускает обобщение на случай колец. Отображение ф: R -+S кольца R в кольцо S называется гомоморфизмом, если для любых a, b eR ф(а + Ь) = ф(а) + ф(ф), ф(аЬ) = ф(а)ф(Ь). Таким образом, гомоморфизм ф: R-+ S переводит операции «+» и « • » кольца R в соответствующие операции кольца S и индуцирует гомо- морфизм аддитивной группы кольца R в аддитивную группу кольца S. Множество ker ф = {a е R | ф(а) = 0 е 5} называется ядром гомоморфизма ф. Другие понятия, такие как изомор- физм и т.п., аналогичны приведённым в определении 1.17. Если ф — гомоморфизм кольца R на кольцо S, то ker ф — идеал коль- ца R, причём кольцо S изоморфно факторкольцу R/ ker ф. Обратно, если / — идеал кольца R, то отображение фр. R-+ R/J, определяемое ра- венством ф^а) = а 4- J для всех а е R, является гомоморфизмом кольца R на R/J с ядром J. Пусть R — коммутативное кольцо с единицей. Элемент aeR назы- вается делителем элемента b eR, если существует такой элемент с eR,
28 Глава 1. Арифметика конечных полей и полиномов что выполнено равенство b = ас. Делители единицы называются обрати- мыми элементами. Элементы a, b ER называются ассоциированными, если существует такой обратимый элемент е е R, что выполнено равен- ство а = be. Элемент с е R называется простым, если он не является обратимым и не имеет других делителей, кроме обратимых и ассоцииро- ванных с ним элементов. Определение 1.44. 1. Идеал P^R кольца R называется простым, если для любых a, b ER включение ab Е Р выполнено тогда и только тогда, когда либо аЕР, либо b еР. 2. Идеал М R кольца R называется максимальным, если для лю- бого идеала J кольца R включение М С J выполнено тогда и только тогда, когда либо J = М, либо J =R. 3. Кольцо R называется кольцом главных идеалов, если оно целост- ное кольцо и каждый идеал J кольца R является главным, т. е. существует такой элемент а е R, что J = (а) = {га | г е R}. Теорема 1.45. Пусть R — коммутативное кольцо с единицей. 1. Идеал М кольца R является максимальным тогда и только тогда, когда факторкольцо R/М является полем. 2. Идеал Р кольца R является простым тогда и только тогда, когда факторкольцо R/Р является целостным кольцом. 3. Каждый максимальный идеал является простым. 4. Если R — кольцо главных идеалов, то факторкольцо R/(c) яв- ляется полем в том и только в том случае, когда с — простой элемент кольца R. Доказательство. 1. Пусть М — максимальный идеал кольца R. Тогда для а е R, а^М множество J = {ar + m\r Е R, т е М} является идеалом кольца R, содержащим М и отличным от М, так что J = R. В частности, существуют такие элементы г 6 R и т е М, что ar + т = 1, где 1 — мультипликативная единица кольца R. Это означает, что если а 4- М ф 0 4- М, т. е. класс вычетов а + М является ненулевым элементом факторкольца, то он обладает мультипликативным обратным, так как (а 4- М)(г + М) = ar + М = (1 - т) 4- М = 1 4- М. Следовательно R/M — поле. Обратно, пусть R/М — поле и пусть / — такой идеал кольца R, что /ЭМ, J^M. Тогда для aEMQJ класс вычетов а-ЕМ имеет муль- типликативно обратный, так что {а 4- М) (г 4- М) = 1 4-М для некоторого г е R. Это означает, что аг 4- т = 1 для некоторого т Е М. Поскольку J — идеал, 1 е/, а значит (1) =RQJ, то / = R. Таким образом, М — макси- мальный идеал кольца R.
с §1.1. Алгебраические основы 29 2. Пусть Р — простой идеал кольца R. Тогда факторкольцо R/P является коммутативным кольцом с единицей 1 + Р / 0 + Р. Пусть (а + Р)(Ь 4- Р) = 0 + Р, тогда ab 6 Р. Так как Р — простой идеал, то либо аеР, либо Ь^Р, т. е. либо а + Р = 0 + Р, либо b + Р = 0 + Р. Таким образом, факторкольцо R/Р не имеет делителей нуля и поэтому является целостным кольцом. Обратное получим сразу же, проведя указанные рассуждения в обратном порядке. 3. Это утверждение следует из пп. 1 и 2, так как каждое поле является целостным кольцом. 4. Пусть с eR. Если с — обратимый элемент, то (с) = R и фактор- кольцо R/(c) состоит из единственного элемента, так что оно не может быть полем. Если с не обратимый и не простой элемент, то с облада- ет некоторым делителем ае R, который не является ассоциированным с элементом сине является обратимым элементом. Заметим, что а^О, так как если а = 0, то с = 0 и а был бы ассоциирован с элементом с. Пусть c = ab, где beR. Мы утверждаем, что а^(с). Действительно, в про- тивном случае a = cd =abd, где d eR, т. е. а(\ — bd) = 0. Так как а ^0, то bd = 1, значит b — обратимый элемент, а это противоречит тому, что а не ассоциирован с элементом с. Следовательно, (с) С (а) С R, где все включения собственные, так что факторкольцо R/(c) не может быть полем ввиду п. 1. Остаётся последний случай, когда с — простой элемент коль- ца R. Тогда (с) 7^ /?, так как с не является обратимым элементом. Если J Э (с) — идеал кольца /?, то J = (а) для некоторого а е /?, поскольку R — кольцо главных идеалов. Следовательно, с е (а), так что а —делитель элемента с. Поэтому либо а — обратимый элемент, либо ассоциирован с элементом с, так что либо J =R, либо J = (с). Это показывает, что с — максимальный идеал кольца R. Отсюда, в частности, следует, что в силу п. 1, факторкольцо R/(c) является полем. □ Пусть F — поле. Подмножество К поля F, которое само является по- лем относительно операций поля F, называется его подполем. В этом случае поле F называется расширением поля К. Если К /F, то К на- зывается собственным подполем поля F. Единицей любого подполя К поля F является единица самого поля F. Действительно, пусть е' — единица поля F, е — единица подполя /(. Так как е е F, то должно быть е' • е = е • е = е (т. к. е — единица /<). Но, по- скольку е Ф 0, соотношение ef • е = е • е можно сократить на е, получив е' = е. Определение 1.46. Поле, не содержащее собственных подполей,* на- зывается простым.
30 Глава 1. Арифметика конечных полей и полиномов Пример 1.47. 1. Поле Fp=Z/(p), р — простое, является простым полем. Это следует из того, что у аддитивной группы поля Fp нет соб- ственных подгрупп. 2. Поле Q рациональных чисел является простым полем. Действи- тельно, пусть F — некоторое подполе поля Q. Тогда 1 е F и, следова- тельно, F содержит любое целое рациональное число п С Z. Если п / 0, то п~х = - е F. Следовательно, — е F, а значит, F = О. п п Задача 1.48. Доказать, что пересечение любого множества подполей поля F само является подполем F. Лемма 1.49. В каждом поле содержится единственное простое подполе. Доказательство. Пусть F — заданное поле. Рассмотрим множество всех его подполей (это множество непусто, так как содержит само по- ле F). Пусть Fo — пересечение всех подполей поля F. Тогда Fo — подполе поля F согласно задаче 1.48. Более того, Fo является простым подполем поля F. Действительно, если Fj является подполем поля Fo, то оно од- новременно является и подполем поля F, и поэтому содержит Fo, так что Fo =Fi. Единственность простого поля непосредственно следует из спо- соба его построения. □ Теорема 1.50. Пусть F — простое поле, е — единица поля F. Тогда выполнено одно из следующих условий. 1. Никакое ненулевое целое кратное единицы (считаем пе = - е + ... + е, п>0 и (—п)е = —(пе)) поля F не равно нулю. п В этом случае поле F изоморфно Q — полю рациональных чисел. 2. Существует целое п / 0, при котором пе — 0. Тогда наимень- шее натуральное число р с таким свойством является про- стым. В этом случае поле F изоморфно полю Fp. Доказательство. Пусть элемент не = е 4- • . 4- е отличен от нуля п при любом п е Z, п / 0. Тогда элементы вида пе в F образуют кольцо, изоморфное Z. Поскольку F —поле, то при rz^O элемент (пе)~[ также принадлежит полю F. Тогда элемент (те)(пе)~{ = EF при любых т и п, п^0. Легко видеть, что эти элементы образуют в F подполе Fo, изоморфное полю Q. Но поскольку F — простое поле, то F = Fo и F изо- морфно Q.
с §1.1. Алгебраические основы 31 Пусть теперь существует целое п 0 такое, что пе = 0. Среди всех таких чисел выберем наименьшее натуральное число п$. Эле- менты 0, е, 2е, ..., (мо — 1)е образуют в F подкольцо /?, изоморфное Z/(zio)« Предположим, что п$ составное, т. е. существуют натуральные k и m, k < п$, т <пв такие, что n$ = k- т. Тогда 0 = п$е = (ke) • (те) и, поскольку в поле F нет делителей нуля, либо ke = 0, либо те = 0, что в любом случае противоречит минимальности по- Следовательно, и0 =/? - простое и кольцо R изоморфно полю Z/(p). Поскольку F — простое поле, то F = R и F изоморфно полю Z/(p) =FP. □ Определение 1.51. Наименьшее натуральное число р, удовлетворя- ющее условию ре = 0, называется характеристикой поля F и обозна- чается char F. Если такого числа не существует, то говорят, что характе- ристика поля равна нулю. Очевидно, что характеристика любого поля совпадает с характери- стикой содержащегося в нём простого подполя, так как в определении характеристики участвует только единица поля, а она содержится и в про- стом подполе. Пусть F — произвольное поле. Полиномом (или многочленом) над полем F будем называть формальное выражение вида оо а(Х) = aiX1 = uq 4- j А 4-... -I- апХп 4~ • • • , /=о где п — неотрицательное целое число, коэффициенты а,, Z = 0, 1,..., явля- ются элементами поля F и только конечное их число отлично от нуля, А — некоторый (формальный) символ, не принадлежащий полю F, называе- мый переменной (или неизвестной) над F. Для удобства будем считать, что члены atXl при az=0 выписывать не обязательно. Следовательно, л полином а(Х) может быть выражен в виде а(Х) = 52 ai^1^ где ап — по- /=о следний (относительно индекса I) отличный от нуля коэффициент. Исходя из этого (добавляя или убирая члены с нулевыми коэффициентами), при сравнении двух полиномов а(Х) и Ь(Х) над F можно полагать, что они оба л содержат одни и те же степени переменной А. Полиномы а(Х) — ai^1 п '=0 и Ь(Х) = 52 biX1 над F считаются равными тогда и только тогда, когда /=о at = bi для 0 i п. Определим сумму полиномов а(Х) и Ь(Х) равенством л а(А) + />(А) = 52(а,+/>()А'', /=0
32 Глава 1. Арифметика конечных полей и полиномов а произведение полиномов а(А) = aiX‘ и Ь{Х) = Ь-,Х1 /=0 z=0 равенством т+п а(Х)Ь(Х) = Ck\k, где q = аъЪ j. k—Q i+j=k, Легко видеть, что множество полиномов с такими операциями образу- ет коммутативное кольцо с единицей без делителей нуля. В тех случаях, когда из контекста ясно, какая переменная имеется в виду, будем исполь- зовать для обозначения полинома а(А) символ а. Определение 1.52. Кольцо, образованное полиномами над полем F с введёнными выше операциями, называется кольцом полиномов над F и обозначается F[A]. Нулевым элементом кольца F[А] является полином, все коэффициен- ты которого равны 0. Он называется нулевым полиномом и обозначается через 0. Определение 1.53. Пусть а(А) = ^2 £ZzAz еF[A], ап^0. Тогда ап 1=0 называется старшим коэффициентом полинома, а^ — его постоян- ным коэффициентом и п — его степенью. Последняя обозначается deg а(А) = deg а. При этом считают, что deg 0 = — 1. Полиномы степени, не превышающей 0, называются постоянными полиномами (или константами). Если старший коэффициент полинома а(А) равен 1, то полином на- зывается нормированным (или унитарным). Задача 1.54. Пусть а(А), b(X) е F[A]. Показать, что deg а(Х) + b(X) max(deg а(А), deg Ь(Х)), deg а(Х) • b(X) = deg а(Х) + deg Ь(Х). Будем говорить, что полином а(Х) eF[A] делит полином 6(A) eF[A], если существует такой полином c(A)eF[A], что выполнено равенство Ь(Х) = а(Х)с(Х). В этом случае будем говорить, что а(Х) — делитель поли- нома Ь(Х), а полином Ь(Х) делится на полином а(Х) (или кратен полиному а(Х)). Обратимыми элементами в кольце F[A] являются делители по- стоянного полинома 1, а следовательно, ими являются все ненулевые постоянные полиномы и только они. В кольце F[A] существует деле- ние с остатком. Пусть 6(A) =4 0 — полином из F[A]. Тогда для каждого
§1.1. Алгебраические основы 33 а(А) € F[А] существуют такие полиномы с(А), d(X) е F[A], что выполнено равенство а(А) = b(X)c(X) + d(X), deg d(X) < deg b(X). Теорема 1.55. Кольцо F[A] полиномов над полем F является коль- цом главных идеалов. Другими словами, для каждого идеала J / (0) кольца F[A] найдётся однозначно определённый нормированный полином а(Х) е F[A] такой, что J = (а(А)). Доказательство. Пусть /^(0) —идеал кольца F[A]. Пусть далее 6(A) — ненулевой полином минимальной степени, содержащийся в J, Ьп — старший коэффициент полинома Ь(Х) и а(Х) = b~lb(X). Тогда а(Х) — нор- мированный полином, содержащийся в J. Если с(А) — произвольный по- лином из J, то, применяя алгоритм деления с остатком, найдём q(X), d(X) е eF[A] такие, что с(А) = q(X)a(X) + d(X), deg d(A) < deg a(X) = deg b(X). Так как J —идеал, то d(X) = c(X) - q(X)a(X) e J и по определению b(X) в силу минимальности степени 6(A) должно быть выполнено d(A)=0. Поэтому полином с(А) делится на а(А), так что J = (а(А)). Если а\(A) eF[А] —другой нормированный полином такой, что / = ((21(A)), то а(Х) = ci(A)ai(A) и aj(A) = cz(X)a(X), где ci(A), сг(А) € eF[A]. Отсюда следует, что а(Х) = С\(Х)с2(Х)а(Х), так что С[(А)б?2(А) = 1, т. е. Ci(A) и Сг(А) — постоянные полиномы. Поскольку оба полинома а(Х) и fli(A) нормированные, то а(А) = а\(А). □ Определение 1.56. Пусть а(А), 6(A) eF[A], не равные нулю. Наи- большим общим делителем полиномов а(Х) и Ь(Х) называется норми- рованный полином d(X) е F[A], обладающий следующими свойствами: 1) d(X) делит каждый из полиномов а (А) и Ь(Х); 2) любой полином, который делит каждый из полиномов а(А) и Ь(Х), делит d(X). Наибольший общий делитель полиномов а(Х) и 6(A) обозначается НОД(а(А), 6(A)). Задача 1.57. Доказать существование и единственность полинома d(X) из определения 1.56. (Указание: воспользуйтесь тем, что множе- ство полиномов {a(X)q(X) + 6(А)с(А) | q(X), с(Х) € F[А]} является идеалом в кольце F[A].) Задача 1.58. Пусть НОД(а(А), 6(A)) = d(X), а(Х), 6(A), d(X) е F[A]. Показать, что тогда существуют полиномы и(Х), u(A)eF[A] такие, что выполнено равенство d(A) = a(A)a(A) + 6(A)u(A).
34 Глава 1. Арифметика конечных полей и полиномов Доказать справедливость этого утверждения для произвольного конеч- ного числа полиномов. Легко заметить, что понятие наибольшего общего делителя обобща- ется для произвольного конечного числа полиномов. Наибольший общий делитель двух полиномов а(А), b(X) eF[A] можно найти при помощи ал- горитма Евклида. Предположим без ограничения общности, что по- лином Ь(Х) отличен от нуля и не делит полином а(А). Тогда, применяя многократно алгоритм деления с остатком, получим а(А) = ^(А)6(А) + п(А), 6(А) = ?2(А)п(А) + г2(А), г1(А) = ^3(А)г2(А) + г3(А), о < deg Г] (А) < deg Ь(Х), O^deg r2(A) <deg и (А), О < deg г3(А) < deg г2(Х), r5_2(A) = ^(A)rs_i(A) + rs(A), (К deg rs(A) <deg rs_i(A), rs_ i(A) = <7s+1(A)rs(A). Здесь ^i(A), ..., qs+i(X) и гДА), ..., rs(A) — полиномы из F[A]. Так как степень deg Ь(Х) конечна, то процедура закончится за конечное чис- ло шагов. Если старший коэффициент последнего ненулевого остатка rs(A) = rso + rsiA + ... + rskXk равен rsk, то НОД(а(А), b(X)) = г^г8(Х). Определение 1.59. Пусть а(А), 6(A) eF[A], не равные нулю. Наи- меньшим общим кратным полиномов а(Х) и Ь(Х) называется норми- рованный полином с(Х) eF[A], обладающий следующими свойствами: 1) с(А) делится на каждый из полиномов а(А) и 6(A); 2) любой полином, который делится на каждый из полиномов а(Х) и 6(A), делится и на с(А). Наименьшее общее кратное полиномов а(А) и 6(A) обозначается НОК(а(А), 6(A)). Задача 1.60. Доказать существование и единственность полинома с(А) из определения 1.59. (Указание: рассмотреть пересечение главных идеалов (а(А)) и (6(A)).) Доказать существование и единственность наименьшего общего крат- ного для произвольного конечного числа полиномов. Определение 1.61. Полином а(Х) е F[A] называется неприводимым над полем F (или в кольце F[A]), если он имеет положительную степень и равенство а(А) = 6(A) • с(А), 6(A), с(А) € F[А], может выполняться лишь в том случае, когда либо 6(A), либо с(А) является постоянным полиномом.
§1.1. Алгебраические основы 35 Полином положительной степени из F[A], не являющийся неприво- димым над F, называется приводимым над полем F (или в кольце F[А]). Задача 1.62. Доказать, что если неприводимый полином а(Х) е F[A] делит произведение а\(А) •... • ат(Х) полиномов из F[A], то по крайней мере один из сомножителей ау(А), j = 1, ..., m, делится на а(А). Теорема 1.63. Каждый полином положительной степени а(Х) = = ао + Я1А+ ... H-tf/jA", ап 7^0 из F[A] может быть представлен в ви- де произведения a(X) = anb‘l'(X) b'^(X), (1.5) где апе¥, ЬДА), ..., bk(X) — различные нормированные неприводи- мые полиномы из F[A], t\,..., tk — натуральные числа. Это разложе- ние единственно е точностью до порядка, в котором расположены сомножители. Доказательство. Применим индукцию по степени полинома а(А). Случай deg а(Х) = 1 (база индукции) тривиален, поскольку любой по- лином первой степени неприводим над F. Предположим, что теорема выполняется для всех полиномов из F[А] степени меньше п. Пусть dega(A)=n (шаг индукции). Тогда, если а(Х) — неприво- дим над F, то а(А) =an(a~ia(X)) — требуемое представление, так как а~[а(Х) — неприводимый над F нормированный полином из F[A]. Если а(Х) — приводим над F, то он допускает разложение а(Х) = 6(А)с(А), где b(X), с(Х) е F[А], 1 deg b(X) < и, 1 deg с(А) < п. По предположению индукции каждый полином Ь(Х) и с(А) можно представить в виде (1.5). Следовательно, можно представить в виде (1.5) и полином а(Х). Предположим, что полином а(Х) имеет два представления в виде (1.5). Из сравнения старших коэффициентов в этих разложениях ясно, что по- стоянные множители в них совпадают и равны ап: а(А) = anb{' (А) •...• b‘k>(А) = and1' (А) •... • dl;(А). (1.6) Неприводимый полином /?ДА) делит правую часть равенства (1.6). Со- гласно результату задачи 1.62 он делит один из полиномов d;(A), 1 j г. Полином dj (А) также неприводим. Следовательно, выполнено равенство dj(X) == f(A)/?i(A), где с(А) = Cq — постоянный полином. Так как dj(X) и &i(A) оба нормированы, то d-ДХ) = Ь\(Х) и мы можем в равенстве (1.6) сократить dj(X) и Ь\(А). К полученному равенству применим тот же приём. После конечного числа шагов мы убеждаемся, что оба разложения (1.6) совпадают с точностью до порядка следования сомножителей. □
36 Глава 1. Арифметика конечных полей и полиномов Разложение (1.5) будем называть каноническим разложением по- линома а(Х) в кольце F[A]. Важным вопросом для полиномов из F[A] является вопрос о том, приводим данный полином над полем F или нет. Лемма 1.64. Пусть а(Х) eF[A]. Для того, чтобы факторкольцо F[A]/(a(A)) было полем, необходимо и достаточно, чтобы полином а (А) был неприводим над F. Доказательство. Поскольку неприводимые полиномы над F явля- ются простыми элементами кольца F[А], доказательство непосредственно следует из теорем 1.45(4) и 1.55. □ Факторкольцо F[A]/(a(A)), где а (А) ^0 — полином из F[A], состоит из классов вычетов {6(A)} = Ь(Х) 4- (а(А)), где 6(A) eF[A], а операции вводятся соотношениями (1.3) и (1.4). Два класса вычетов 6(A) 4-(а(А)) и с(А) 4- (а(А)) совпадают в том и только в том случае, когда 6(A) = с(А) (mod а(Х)), т. е. когда полином 6(A) —с(А) делится на а(Х). Это равно- сильно тому, что 6(A) и с(А) дают один и тот же остаток при делении на а(Х). В классе вычетов 6(A) 4- (а(Х)) содержится единственный поли- ном г(А) е F[А], для которого deg г(А) < deg а(Х). Этот полином является остатком от деления 6(A) на а(Х). Единственность полинома г(А) выте- кает из того, что если существует другой полином гДА) е 6(A) + (п(А)) такой, что deg гДА) < deg а(Х), то разность и (А) — ДА) должна делиться на а(Х). Но поскольку deg r\ (А) — r(A) < deg а(Х), то это возможно лишь при гДА) = ДА). Таким образом, элементы, образующие факторкольцо F[A]/(a(A)), можно описать следующим образом: это классы вычетов г(А) 4- (а(А)), где г(А) пробегает все полиномы из F[А] степени меньшей, чем deg а(Х). Пусть а(А) с F[A]. Замена переменной А в полиноме а(Х) произволь- ным элементом поля F обращает этот полином в корректно определённый элемент поля F. Если а(Х) =ао 4-а\А 4-... 4-апХп е F[A] и а е F, то, за- меняя А на а, получим элемент а(а) = ао 4- а\а 4-... 4- апап е F. Его на- зывают значением полинома а(Х) при А = о. Если в кольце F[A] имеется какое-либо полиномиальное равенство, то, заменяя в нём А произволь- ным фиксированным элементом а € F, получаем равенство в поле F. Со- ответствие ai-*a(a)€F, oCF, называется отображением поля в себя, определяемым полиномом а(А). Определение 1.65. Элемент qGF называется корнем полинома а(Х) е F[А], если а(а) = 0. Задача 1.66. Доказать, что элемент oeF является корнем полинома а(Х) е F[А] тогда и только тогда, когда полином А — а делит а(А).
§1.1. Алгебраические основы 37 Определение 1.67. Пусть a eF — корень полинома a(A)eF[A]. Кратностью корня а называется такое натуральное число k. что а(А) делится на (А — а)\ но не делится на (А —а)/г+1. При k = 1 корень а называется простым, а при k > 1 — кратным. Задача 1.68. Пусть а(А) € F[A] и deg а(А) = п 0. Доказать, что по- лином а(А) имеет не более чем п корней. Определение 1.69. Производной полинома а(Х) = а$ 4- ajA 4-... + 4-апХп eF[A] называется полином a,(A) = ai4-2a2A4-...4-nartAn-1 eF[A] (здесь натуральное число i понимается как сумма соответствующего чис- ла единиц поля F). Задача 1.70. Доказать, что корень aeF полинома a(A)eF[A] яв- ляется кратным тогда и только тогда, когда он одновременно является и корнем производной а'(А) полинома я(А). Задача 1.71. Показать, что для неприводимости полинома a(A)eF[A] степени 2 или 3 в кольце F[А] необходимо и достаточно, чтобы он не имел корней в поле F. Рассмотрим теперь понятие векторного пространства. Здесь мы вый- дем за рамки того понимания операции на множестве, которое принима- лось до сих пор. Умножение вектора на элемент поля (скаляр) не есть операция над двумя элементами одного и того же множества. Это опера- ция, которая каждой паре (скаляр, вектор) ставит в соответствие вектор. Определение 1.72. Линейным, или векторным, пространством над полем F называется множество V с операциями сложения и умножения на элементы (скаляры) поля F, обладающими следующими свойствами: 1) множество V относительно операции сложения является абелевой группой; 2) a(vi 4- v%) = avi 4- av% для любых а е F, Vi. V2 € V; 3) (а 4- b)v = av + bv для любых a. b € F, v е V; 4) abv = a(bv) для любых a. b е F, v е V; 5) 1 v = v для любого v € V. Элементы векторного пространства называют векторами, а элементы поля F — скалярами. Пример 1.73. Множество Fn столбцов длины п с элементами из по- ля F является векторным пространством над полем F относительно опе- раций, определяемых формулами (и^. и®. .... ^)т + а>(1), ^(2), .... v^)T = = (и^ 4-и® 4- .... и{п) + . а(и^. .... и^)Т = (аи^. аи®\ .... аи^)Т.
38 Глава 1. Арифметика конечных полей и полиномов Знак «Т» обозначает операцию траспонирования матрицы, т.е. ... / «(1) \ ..., г?п))т — это столбец ( ••• ). \ и{п} / Пример 1.74. Множество F) всех функций на множестве М со значениями в поле F является векторным пространством над полем F относительно операций, определяемых формулами (А + = + (af)(m) = af(m), fl, fi, feF(M, F), тем, aeF. Пример 1.75. Пусть поле К —подполе поля F. Тогда F является векторным пространством над К, если рассматривать операцию умноже- ния элементов из F на элементы из К как умножение в F. Размерность векторного пространства (см. ниже определение 1.82) F над полем К на- зывается степенью расширения F над К. Если эта размерность конечна, то говорят, что F есть расширение конечной степени поля К. Степень расширения обозначается [F: К]. Укажем некоторые следствия аксиом векторного пространства, не яв- ляющиеся следствиями только аксиом абелевой группы. Все они дока- зываются аналогично похожим на них следствиям аксиом кольца. 1. аО = 0 для любого aeF (здесь 0 — нулевой вектор пространства V). 2. а(—v) = — av для любых а е F, v е V. 3. a(vi - V2) = avi - avz для любых а е F, v\, V2 € V. 4. О • v = 0 для любого v € V. 5. (—1) • v = —V для любого v е V. 6. (а - b)v ~av - bv для любых a, b е F, v e V. Определение 1.76. Векторные пространства V и U над полем F на- зываются изоморфными, если существуют такое взаимно однозначное отображение ф\ V -+ U, что 1) + ^2) =Ф(у\) + ^(^2) для любых Vi, V2 е V; 2) ф(аъ) = аф(у) для любых а е F, v е V. Само отображение ф называется при этом изоморфизмом пространств V и U. Всякое выражение вида
§1.1. Алгебраические основы 39 где ai,..., ап е F, называется линейной комбинацией векторов v\, V2,... ..., vn € V. Говорят, что вектор и G V линейно выражается через век- торы Vi, V2, vn 6 V, если он равен некоторой их линейной комби- нации. Определение 1.77. Система векторов {гц, г>2, .vn} С V называется базисом векторного пространства V, если каждый вектор и € V един- ственным образом выражается линейно через Vj, V2, ...» vn. Коэффици- енты этого выражения называются координатами вектора и в базисе {Vi, V2, .... vn}. Пример 1.78. Вектор-столбцы ех = (1, 0, 0)т, е2 = (0, 1...0)т, еп = (0, 0, 1)т, составляют канонический базис пространства F". Координатами вектора и = (и(1), ..., в этом базисе служат элементы по- ля и^, и^\ и^. Конечно, в пространстве F" имеются и другие базисы. Описание векторных пространств с точностью до изоморфизма весьма просто. Лемма 1.79. Всякое векторное пространство V над полем F, имеющее базис из п векторов, изоморфно пространству F1. Доказательство. Пусть {vi, V2, v„} — базис пространства V. Рассмотрим отображение -0: у _*F", ставящее в соответствие каждому вектору столбец из его координат в ба- зисе {vj, V2,.. ., vn}. Очевидно, что это взаимно однозначное отображение. «Легко проверить, что для ф выполнены соотношения, определяющие изо- морфизм векторных пространств. □ Задача 1.80. Показать, что множество всех линейных комбинаций векторов Vi, V2, ...» Vk произвольного векторного пространства V обра- зует подпространство в V. Задача 1.81. Показать, что два множества линейно независимых век- торов, порождающих одно и то же подпространство, равномощны. Определение 1.82. Число линейно независимых векторов в множе- стве, порождающем конечномерное векторное пространство V, называ- ется размерностью пространства V и обозначается dim V. Задача 1.83. Показать, что любое множество линейно независимых векторов в конечномерном векторном пространстве всегда может быть дополнено до множества, образующего базис.
40 Глава 1. Арифметика конечных полей и полиномов Определение 1.84. Векторное пространство V является прямой суммой своих подпространств №j, Wt (обозначение V = Wi + Wz + + ... + W/), если Wi П Wj = {0} при i j и любой вектор из V однозначно представим в виде суммы векторов из Wt, i = 1, ..., t. Пример 1.85. Пусть {гц, vn} — базис пространства V и он разбит на t непересекающихся подмножеств {»!, .... »„} = {»!,!, •••, V],*,} U {V2.1, •••, V2.k2}U...U{vt<i, V/A}. Тогда V = 4- U?2 + ... 4- Wt, где — подпространство, порождённое векторами ц-j, vz^., i = 1, t. Перейдём теперь к последней из рассматриваемых в настоящем пара- графе алгебраических систем. Комбинируя понятия векторного простран- ства и кольца, мы приходим к понятию алгебры. Определение 1.86. Алгеброй над полем F называется множество А с операциями сложения, умножения и умножения на элементы поля F такое, что 1) относительно сложения и умножения на элементы поля F множе- ство А является векторным пространством; 2) относительно сложения и умножения множество А является кольцом; 3) (ayi)u2 = ^i(^^2) =«(uiU2) Для любых a eF, uj, е А. Подмножество алгебры называется подалгеброй, если оно одновре- менно является подпространством и подкольцом. Отображение алгебр называется изоморфизмом, если оно одновременно является изоморфиз- мом векторных пространств и колец. Пример 1.87. Множество Мп квадратных (п х п)-матриц с эле- ментами из поля F образуют алгебру над полем F размерности и2. Пример 1.88. Кольцо полиномов F[A] над полем F образует алгебру над полем F бесконечной размерности. Базисом является бесконечное множество мономов вида Д'7, n = Q, 1, ... Пример 1.89. Факторкольцо F[A]/(a(A)), где а(Х) — неприводи- мый над полем F полином, образует алгебру над полем F размерно- сти n = deg а(А). Базисом являются классы вычетов вида 1+(а(А)), А + (а(А)), ..., Ап-1 + (а(А)). Завершая данный параграф, отметим, что ниже мы будем рассматри- вать и другие свойства упомянутых выше алгебраических систем, всякий раз делая ссылки на введённые понятия. Что же касается аппарата линей- ной алгебры, то мы отсылаем читателя к стандартным университетским учебникам по линейной алгебре, например, [15, 52, 64].
§ 1.2. Строение конечных полей 41 § 1.2. Строение конечных полей Теория конечных полей представляет собой хорошую иллюстрацию материала общей теории полей, так как конечность поля позволяет дове- сти решение многих вопросов до конца. Вместе с тем полученные в ней результаты тесно связаны с теорией чисел, теорией кодирования и крип- тологией. В §1.1 мы уже встречались с важным классом конечных полей. А именно (пример 1.47, теорема 1.50), было установлено, что для каж- дого простого числа р факторкольцо Z/(p) является конечным простым полем, состоящим из р элементов, которое может быть отождествлено с полем Галуа Fp. Рассмотрим прежде всего вопрос о том, каково возможное число эле- ментов (порядок) конечного поля F. Теорема 1.90. Пусть F — конечное поле. Тогда оно состоит из рп элементов, где простое число р является характеристикой поля F, а натуральное число /? = [F :Fp] — является степенью расширения поля F над его простым подполем Fp. Доказательство. Ясно, что характеристика поля F есть некоторое простое число р, так как иначе число элементов содержащегося в F про- стого подполя было бы бесконечным. Отсюда следует, что в F содержится простое подполе Fp, изоморфное Z/(p). Кроме того, степень расшире- ния [F: Fp] поля F над Fp необходимо конечна из-за конечности общего числа элементов в F. Пусть [F :FP] =п. Рассматривая F как линейное пространство над Fp, выберем в F произвольный базис и\, ..., ип (от- носительно Fp). Тогда любой элемент a G F единственным образом пред- ставляется в виде линейной комбинации а = а^и\ +... + а^ип, а^ е Fp, i = 1, 2, ..., п. При этом каждая такая линейная комбинация будет эле- ментом F. Следовательно, общее число элементов поля будет равно числу всевозможных строк (а(1), ..., а(п)), в которых а®, z = 1, 2, ..., п, могут быть произвольными элементами поля Fp. Так как при этом каждый а® может принимать ровно р различных значений, то общее число всевоз- можных строк (а(1), ..., а(/1)), а значит и число элементов поля F рав- но рп. □ Лемма 1.91. Пусть F7 — конечное поле, содержащее подполе F из q элементов. Тогда F' состоит из qm элементов, где т = [F' : F]. Доказательство. Лемма доказывается аналогично доказательству теоремы 1.90. □ Лемма 1.92. Пусть F = Fp — конечное поле из q элементов. Каж- дый элемент aeJq удовлетворяет равенству aq = а.
42 Глава 1. Арифметика конечных полей и полиномов Доказательство. Для а = 0 равенство ая = а выполняется триви- ально. Пусть теперь а — произвольный отличный от нуля элемент по- ля F^. Рассмотрим совокупность «1, а2, • ••> ciq-\ (1.7) всех отличных от нуля элементов Fg. Умножая все элементы совокупно- сти (1.7) на а, получим элементы аа\, аа^ч ..., i, (1*8) которые принадлежат полю F9, отличны от нуля и попарно различны (действительно, если aat = aaj при i ± j, то сокращая обе части равен- ства на а получим а, = а/, что противоречит выбору совокупности (1.7)). Следовательно, в совокупности (1.8) содержатся по одному разу все эле- менты совокупности (1.7). Поэтому произведения элементов совокупно- стей (1.7) и (1.8) равны, т. е. q-\ q — \ aq~l П П а‘- i=i 1=1 Сокращая последнее равенство на отличный от нуля множитель П а/, /=1 получим соотношение aq~[ = 1, умножая которое на а, приходим к иско- мому равенству. □ Лемма 1.93. Если F' = F^ — конечное поле из q элементов и F — подполе поля F^, то полином Xя - Хе F[A] разлагается в [А] сле- дующим образом А’ - А = (А - а). (Поле называется полем разложения полинома Xя — А над F.) Доказательство. Полином Xя — А степени q имеет не более q раз- личных корней в поле F^. В силу леммы 1.92 известно q различных корней: ими являются все элементы поля F^. Таким образом, этот по- лином разлагается в поле F^ указанным в формулировке леммы образом и не может вполне разлагаться ни в каком меньшем поле. □ Докажем теперь теорему существования. Теорема 1.94. Для каждого простого числа р и для каждого натурального числа п существует конечное поле из рп элементов. Любое конечное поле из q = рп изоморфно факторкольцу Fp[A]/(a(A)), где^р — простое поле из р элементов и а(Х) — неприво- димый над Fp полином степени п (доказательство существования
§ 1.2. Строение конечных полей 43 неприводимого над Fp полинома любой наперёд заданной степе- ни п см. ниже § 1.3, лемма 1.143). Доказательство. Пусть Fp — простое поле из р элементов и а(Х) е е Fp [Л] — неприводимый над Fp полином, deg#(A) = n. Не ограничивая общности рассуждений, будем считать, что полином а(Х) нормирован- ный. Тогда согласно лемме 1.64 факторкольцо Fp[A]/(a(A)) является полем. Элементами этого поля будут классы вычетов г(А) + (я(А)), где г(А) —полином из Fp[A] степени не выше п — 1, т. е. г(А) = го 4- Г\ А + 4-... + rzz-iArt“1. Очевидно, что таких полиномов будет ровно qn. Пусть Fp — произвольное поле из q = рп элементов. Поскольку char Fp = char Fp[A]/(a(A)) = p, то простые поля, содержащиеся в по- лях Fp и Fp[A]/(a(A)), изоморфны. Поэтому поля Fp и Fp[A]/(a(A)) можно считать расширениями одного и того же поля Fp. Как следует из леммы 1.93, элементы полей Fp и Fp[A]/(a(A)) являются корнями одного и того же полинома Xq — А е Fp [А]. Пусть а = А + (я(А)) — элемент поля Fp[A]/(a(A)). Очевидно, что а(а)=0, т. е. элемент а является корнем полинома а(Х). Поскольку НОД(а(А), Xя — А) 1 (см. задачу 1.66) и а(Х) — неприводимый полином, то а(Х) делит Xя — X. Поскольку все элементы поля Fp являются корнями полинома Xя — А и а(Х) делит Xя — А, то существует элемент /3eFp та- кой, что а(/3) = «о + ai/3 +... + ап-\/Зп~[ + = 0. Ясно, что /3 не может быть корнем какого-либо полинома из Fp [А] степени меньшей, чем п. Следовательно, все рп линейных комбинаций bo + bi/3+ ... + Ьп^\/Зп~[, i =0, 1, ..., п — 1, различны и тем самым представляют все элементы поля Fp. Определим взаимно однозначное отображение Fp[A]/(a(A)) —*Fp, положив + + + = + + b/eFp, i = 0, 1, ..., п — 1. Простой проверкой легко показать, что -0 является изоморфизмом этих полей. □ Воспользовавшись рассуждениями из доказательства теоремы 1.94 и леммы 1.64, мы можем для любого конечного поля Fp с помощью нормированного неприводимого над Fp полинома степени п построить поле Fp«. Теорема 1.94 позволяет говорить о вполне определённом поле, состо- ящем из q элементов. Будем обозначать его Fp, где под q понимается степень некоторого простого числа р, которое является характеристикой этого поля. Лемма 1.95. Пусть F — произвольное поле характеристики р. Тогда для любых a,b € F и для любого натурального числа I в поле F
44 Глава 1. Арифметика конечных полей и полиномов выполнено равенство (а + Ь)р‘ = ар‘ +bpl. Доказательство. Поскольку биномиальный коэффициент \k) 1-2-...•£ —1, является целым числом, делящимся на р, то (mod р). Следовательно, по формуле Ньютона, выполняющейся в любом поле, имеем (а + Ь)р = ар + (рЛар~'Ь+ ...+ ( Р ЛаЬр~{ +ЬР =ар +ЬР. \ 1 / \Р — \ J Далее применим индукцию по /. Для этого воспользуемся соотношением (а + ьу1 = ((а + Ьу'~')р, из которого следует справедливость тождества. □ Теорема 1.96. Пусть ¥q — конечное поле из q = рп элементов. Тогда каждое подполе поля F^ имеет порядок рт, где т —нату- ральное число, делящее п. Обратно, если т — натуральное число, делящее п, то существу- ет ровно одно подполе поля F<? из рт элементов. Доказательство. Пусть F — некоторое подполе поля F^. Поскольку char F = р, то поле F должно иметь порядок рт, где т — натуральное число, не превосходящее п. Из леммы 1.91 следует, что число q = рп должно быть степенью числа рт, поэтому т обязательно делит п. Обратно, пусть F7 — поле порядка q = рп и n = m-k. Тогда число рт — 1 делит число рп — 1. Это означает, что полином Хрт — Л делит полином ХрП — Л, корнями которого являются все элементы поля F^. Поскольку Хрт — X делит ХрП — X, то рт элементов из F7 являют- ся корнями полинома Хрт — X. Обозначим это множество через М CF^. Пусть а, b еМ. Тогда (а + Ь)рт = арт + Ьрт =а + Ь согласно лемме 1.95, т. е. а + b е М, и (а • Ь~1)рт = арт • (Ь~{)рт = арт • (Ьрт)~[ = а • b~[ е М. Кроме того, 0, 1 е М. Следовательно, корни полинома Хрт — А в поле F7 образуют подполе М =FP« порядка рт. Единственность этого подполя вытекает из того, что в любом подполе F' порядка рт выполняется тождество арт = а и поэтому F' = М. □ Пример 1.97. Подполя произвольного конечного поля Fp* можно найти, составив список всех натуральных чисел, являющихся делителя- ми числа п. На рис. 1.1 представлены структуры подполей для полей Fpi2 и Fp3o (отношения включения указаны на диаграммах).
§ 1.2. Строение конечных полей 45 Теорема 1.98. Мультипликативная группа F* ненулевых элемен- тов произвольного конечного поля циклическая. Доказательство. Если число q — 1 простое, то теорема тривиальна, поскольку порядки всех элементов группы F* (за исключением 1) равны q — 1, так что каждый отличный от 1 элемент порождает F*. Пусть q — 1 — составное и его разложение на простые множители имеет вид ?-1=П Pi‘> i=\ где pi, i = 1, 2, ..., s, — различные простые числа, ц-, i = 1, 2, ..., s, — натуральные числа. Полином Д^-О/а _ 1 делит полином А67-1 — 1 и сре- ди q — 1 элементов группы F* должен найтись хотя бы один элемент, не являющийся корнем полинома Д^-1)/р/ — 1, поскольку этот полином может иметь не более (q — V)/pi корней. Для каждого / = 1,2,...,$ вы- берем элемент at с таким свойством: af~^Pi ± 1. Пусть =a^~^Pi S и Ь = П bi. Покажем, что порядок элемента Ь равен q — 1 и тем са- /=1 и1 мым покажем, что группа F* является циклической. Ясно, что bPi = 1, i = 1, 2, ..., s, так что порядок bi делит рр. Пусть этот порядок равен рЪ. Если ni меньше чем ц-, то bPi = 1. Но bPi = a\Q~v^Pi 7^ 1. Сле- довательно, порядок элемента bi равен р"‘. Предположим, что bn = 1 для некоторого натурального п. Покажем, что из этого следует п = О (mod рр) для всех i = 1, 2, ..., s. Для каждого i справедливо соотно- шение _ U: И П р/ b =1.
46 Глава 1. Арифметика конечных полей и полиномов 1~Т Р' Заменяя b на П и используя равенство Ь-' =1, находим « П ₽? - = I. Переходя к сравнению в показателях, имеем (m°d pi1)- № Поскольку НОД^р^, Ц рУ') = 1, последнее сравнение эквивалентно сравнению п = 0 (mod pf')- Другими словами, п кратно р? для любого / = 1, 2, ...,s, т.е. крат- но q — 1 = рр ... p"s. Следовательно, порядок элемента b равен q — 1 и f; = (Ь). □ Определение 1.99. Образующий элемент циклической группы F* на- зывается примитивным элементом поля F^. Из теоремы 1.15 следует, что поле F7 содержит ср(р — 1) примитивных элементов, где <р — функция Эйлера. Пусть Fgm — расширение поля F^. Рассмотрим функцию из F^ в Fv, играющую важную роль в приложениях. Определение 1.100. Пусть aeF^. Следом Tvqm/q(a) элемента а над F^ называется элемент, определяемый равенством Tr^(a)==a-Fa/7H-az?2-F...4-a^ Если q = p — простое число (т.е. F^ — простое подполе поля F^), то lvqm/q(a) называется абсолютным следом элемента а и обозна- чается Тгт(а). Задача 1.101. Доказать, что след обладает следующими свой- ствами: 1) Тг^/q (a + b) = Trqmfq (а) 4- Тг^/q (b) для любых a, b е ¥qm; 2) Trqm/q(ca) = с Тг^дДа) для любых с € Fq и ае F^; 3) след Тг^/4 является линейным отображением из F^ на F^, где F^m и F,? рассматриваются как линейные пространства над F/, 4) Trqm/q(a) = та для любых а е F^; 5) Trqm/q(ag) = Trqm/q(a) для любых а е ¥q™.
§ 1.2. Строение конечных полей 47 Теорема 1.102. Равенство =0 выполняется в том и только в том случае, когда существует элемент b eFqm та- кой, что выполнено равенство a = bq — Ь. Доказательство. Достаточность этого условия сразу вытекает из результата задачи 1.101(5). Докажем обратное. Допустим, что элемент а е F^ таков, что вы- полнено равенство Tr^/^fa) = 0. Пусть b — корень полинома Xq — А — а из некоторого расширения поля F^. Тогда bq — b =а и 0 = Тг^тд, (а) = а 4- aq 4- aq 4" • • • 4" aq — = (bq - b) + (bq - b)q 4- (bq - b)q2 4-... 4- (bq - b)qm~' = = (bq - b) + (bq2 - bq) + (f/ - b“2) +... + (b4" - b«m~') = b4” - b, так что b e F^. □ Задача 1.103. Пусть F7 cFg/ cF^. Показать, что для всех a€FQ" выполнено равенство Тгд«/9(а) = Тгч7ч(Тг^/9,(а)). Другая интересная функция из конечного поля в его подполе получа- ется, если рассматривать произведения специального вида. Определение 1.104. Пусть aeFqm. Нормой Nqm/q(a) элемента а над F^ называется элемент, определяемый равенством N^/^a) = а • aq • aq2-... • aqm *. Если q = p — простое число (т.е. F^—простое подполе поля FQ™), то Nqm/q(a) называется абсолютной нормой элемента а и обозна- чается Nm(a). Задача 1.105. Доказать, что норма Nqmjq обладает следующими свой- ствами: 1) /q (a - b) = Nqmiq (a) • /q (b) для любых a, b e F7™; 2) норма Nqm/q является отображением из F^m на FQ и отображает F*™ на FJ; 3) N^m/Да) = ат для любых а е Fq; 4) Nqm/q(aq) = N^m/^a) для любых а е Fqm. Задача 1.106. Пусть F^ cF^ cF^/. Показать, что для всех aeFq„ выполнено равенство
48 Глава 1. Арифметика конечных полей и полиномов С помощью следа Тг^п/7 можно описать все возможные линейные отображения из F^ в F^. Теорема 1.107. Пусть F^ — расширение конечного поля FQ (оба поля рассматриваются как векторные пространства над по- лем F^). Тогда линейными отображениями из F^ в F<? являются отображения Lb, b е F^, определяемые равенством Lb(a)==Trqm/q(ba) для всех а е F^, и только они (если Ь^£с, то Lb / Lc). Доказательство. Каждое отображение Lb в силу результата зада- чи 1.101 (3) является линейным отображением из F^™ в F^. Если b, с е F^ и b с, то Lb(a) - Lc(a) = Tvqm/q(ba) - Tvqm/q(cd) = Tr^((fe - c)d) 0 для подходящего элемента a e F^, так как отображает F^ на F^. Таким образом, мы имеем qm различных линейных отображений Lb из F^ в ¥q. Выберем некоторый базис {и\, ..., Um} векторного пространства над F^. Любое линейное отображение L из F7^ в F7 однозначно опреде- ляется образами этих базисных элементов {L(u\), ..., L(um)} в F^. Число различных таких наборов равно qm. Следовательно, все линейные отоб- ражения из F^m в F^ исчерпываются отображениями £/,, b e¥qm. □ Определение 1.108. Пусть F^cF^m. Два базиса {z/j, ..., um} и {^i, ...» vm} векторного пространства F^ над F7 называются ду- альными, если для всех 1 i, j т выполнено равенство Tvqm/q(Ui-Vj)= < 0, при z ф j; 1, при i = j. Пусть {ui,..., ит} — базис векторного пространства F7m над F^. Про- извольный элемент а € F^ однозначно представим в виде а = с\(а)и\ + ... + ст(а)ит, где Ci(a)e¥q, /=1,2, ..., т. Отображения Ci(a), очевидно, являются линейными отображениями из ¥qm в F^. Следовательно, согласно тео- реме 1.107 существуют такие элементы u/eF^m, что Ci(a) = Trqm/q(via) для всех а е F^. Полагая а = щ, i = 1, ..., т, мы видим, что Tvqm/q(vjUi) равен 0 при i / и 1 при i — j. Элементы {ui, ..., vm} являются базисом векторного пространства над F^, так как если d\V\ + ... + dmUm = 0, dte¥q, i = \,...,m,
§ 1.2. Строение конечных полей 49 то, умножая это соотношение на щ, i = 1, ..., т, и применяя след Тг^/^, получим di =0, i = 1, т. Эти рассуждения показывают, что для лю- бого базиса поля Fpm над F7 существует дуальный базис. Существует много различных базисов поля F^m над Fp. Остановимся подробно на двух наиболее важных типах базисов. Определение 1.109. Пусть Fp С Fpm. 1. Полиномиальным базисом называют базис векторного простран- ства Fpm над Fp вида {1, а, а2, ..., а"2-1}, образованный степенями неко- торого элемента а е ¥qm. В качестве а часто выбирают примитивный эле- мент поля Fpm. 2. Нормальным базисом называют базис векторного простран- ства Fpm над Fp вида {a, aq, aq , ..., aqm } для подходящим образом выбранного элемента а е Fpm. Представление элементов конечных полей можно осуществлять раз- личными способами (см., например, [283]). Мы приведём лишь один спо- соб, опирающийся на теорему 1.94. Согласно этой теореме произвольное конечное поле Fp, q = рт (р — характеристика поля), изоморфно фак- торкольцу кольца Fp [%] по модулю нормированного неприводимого над Fp полинома а(х) = а^ 4- а^х + ... + ат_\Хт~{ 4- хт, deg а(х) = т. Эле- мент а = х 4- (а(х)) поля Fp[x]/(a(x)) является корнем полинома а(х), т. е. а(а) = 0. Следовательно, элементы поля порядка q могут быть выраже- ны канонически с помощью полиномиального базиса {1, а, а2, ..., ат~{} в виде линейных комбинаций Co + ciQ + .-. + Cm-io/"”1, C/6Fp, i = 1, 2, ... ..., т — 1. Сложение двух элементов поля Fp — это сложение одноимён- ных коэффициентов из их канонических представлений. Операция умно- жения состоит из двух этапов. На первом этапе производится обычное умножение элементов, представленных в полиномиальном базисе. Далее полученное выражение приводится к каноническому виду с помощью со- отношения ат = —(do + а\а 4-... + am_[am~i). Как известно, в конечном поле ¥q имеется две конечные абелевы груп- пы, а именно аддитивная и мультипликативная группы этого поля. В со- ответствии с этим имеется чёткое различие между характерами (см. опре- деление 1.19), соответствующими этим группам. Характер аддитивной группы поля Fp, q = рт (р — характеристика поля Fp), называется аддитивным характером поля Fq. Простое поле, содержащееся в Fp, отождествим с Fp = Z/(p). Пусть Trm: Fp Fp — аб- солютный след из Fp в Fp (см. определение 1.100). Рассмотрим функцию, определяемую равенством V. М = в2™ Jr^/P
50 Глава 1. Арифметика конечных полей и полиномов для всех с e¥q. Легко проверяется, что эта функция является аддитивным характером поля F^. Определённый таким образом характер называется каноническим аддитивным характером поля Fg. Любой аддитивный характер поля F^ может быть выражен через хь Лемма 1.110. Пусть F<?, q = рт — конечное поле, be¥q. Тогда функция хь, определяемая равенством хь(с) = х\(Ьс) для всех с e¥q, является аддитивным характером поля F^. Каждый аддитивный характер поля F^ совпадает с характером хь для некоторого be¥q. Доказательство. Первое утверждение леммы доказывается непо- средственной проверкой. Согласно результату задачи 1.101(3) функ- ция Тгт отображает поле Fg на Fp и xi — нетривиальный характер. Поэтому для a, b е F^, а / Ь, найдётся такой элемент с е F^, что Ха(с)_х\(ас)_ h\r\\ Следовательно, Ха и хь — различные характеры. Когда элемент b пробе- гает всё поле F^, получается q различных аддитивных характеров. С дру- гой стороны, согласно теореме 1.24 существует ровно q различных адди- тивных характеров поля F^. □ Полагая b = 0 в лемме 1.110, получим тривиальный характер хо, об- ладающий свойством хо(с) = 1 Для всех с £ EV Характер мультипликативной группы F* поля F^ называется мульти- пликативным характером поля F^. Поскольку группа F* — цикличе- ская порядка q — 1 (см. теорему 1.98), то все её характеры можно описать следующим образом. Лемма 1.111. Пусть b — некоторый фиксированный примитив- ный элемент поля F^. Тогда для каждого j, 0 < j q — 2, функция определённая равенством для всех k,O^k^q — 2, является мультипликативным характером поля F^. Каждый мультипликативный характер поля F7 совпадает с некоторым 0 / С ? — 2. Доказательство. Лемма вытекает из задачи 1.21. □ Независимо от выбора примитивного элемента b в лемме 1.111 ха- рактер -00 всегда является тривиальным мультипликативным характером, т. е. фь(с) = 1 для всех с G F*.
§ 1.2. Строение конечных полей 51 Задача 1.112. Доказать, что группа мультипликативных характеров конечного поля F7 является циклической группой порядка q — 1 с еди- ничным элементом т^о- Пример 1.113. Пусть char = 2, т. е. q = 2п. Отождествим поле F^ с F2[А]/(а(А)) — кольцом вычетов по модулю неприводимого над F2 поли- нома а(А) = ао ф а\А ф ... ф ап^\Хп~1 ф Ал, dega(A) = rz, ф —сложение по модулю 2. Тогда аддитивная группа поля F2« является элементарной абелевой 2-группой (см. [231]) и аддитивный характер имеет вид Хь(с) для любого c€F2«, c = CQ®C\a®...®cn_ian~[, где а = Аф(а(А)) eF2n, Ci € F2, i = 1, ..., п — 1. Согласно результату задачи 1.101(3) функция Тгл является линейным отображением F2« в F2 и может быть выражена в виде _ е2тг! Тг„(М/2 _ рТгя(М Тгя(6с) = Тгп(Ьсо ф Ф... ф Ьсп-\ап ’) = = cq Тгп(Ь)фС1Тгл(/?а)ф...фсл_1 ТгДба"-1) = = CObQ®Cib\ ф...фСл-1^-1 =(С ь'), где (•, •) — скалярное произведение, а b^b' — взаимно однозначное отображение поля F2« в себя. Следовательно, хь(с) = (— 1)^^. Группа F^ — циклическая порядка 2п — 1. Имеется ровно <р(2п — 1) примитивных элементов поля F2*, порождающих эту группу. В случае 2п — 1 = р — простое, любой элемент поля F2«, отличный от 0 и 1, по- рождает группу FJ,. Пусть b — некоторый примитивный элемент поля F2% тогда ^(^) = e2^W"-i) для всех k, 0 k 2п — 2. Рассмотрим теперь структуру кольца F^[A]/(a(A)) вычетов по моду- лю некоторого полинома. Это кольцо играет важную роль при описании некоторых классов кодов. Предварительно введём ещё ряд понятий и до- кажем несколько утверждений для конечных колец. Определение 1.114. Конечное коммутативное кольцо R называ- ется разложимым, если существуют такие собственные идеалы Л, / = 1, 2, ...,/,/>2, что R = /j 4- /2 4- • • • 4- Jt (4—групповая прямая сумма, т. е. ЛП/7={0}, и любой элемент кольца R однозначно представим в виде суммы элементов идеалов Л, / = 1,2, ...,/).
52 Глава 1. Арифметика конечных полей и полиномов Задача 1.115. Пусть R — конечное коммутативное разложимое коль- цо с единицей е и R=J\ 4- /2 + ... 4- Jt — соответствующее разложение. Доказать, что: 1) для произвольных элементов г = а\ 4-... 4- at и г' = а\ 4- ... + a't, где at, а\ еК, умножение производится «покоординатно», т. е. гг' = а\а\ 4-... + ata't\ 2) каждый идеал Л, i = 1, 2, ..., /, будучи подкольцом кольца /?, со- держит собственную единицу в/. При этом е = е\ 4-... 4- в/, е/в/ = 0 при i / Л Определение 1.116. Конечное коммутативное кольцо R, не раскла- дывающееся в прямую сумму своих собственных идеалов, называется неразложимым. Определение 1.117. Пусть R — конечное коммутативное кольцо с единицей е. ЭлементaeR называется собственным идемпотентом, если а2 = а, а ± 0, е. Задача 1.118. Показать, что любой элемент конечного кольца R в некоторой степени является идемпотентом. Лемма 1.119. Конечное коммутативное кольцо R с единицей разложимо тогда и только тогда, когда в нём есть собственный идемпотент. Доказательство. Пусть R разложимо и R = J\ 4- /2 — соответствую- щее разложение (не ограничивая общности рассуждений, можно считать, что /=2), а е~ единица кольца R. Тогда в соответствии с результатом задачи 1.115(2) е = е\ 4- #2, где et, i = 1, 2, — единицы идеалов J\ и со- ответственно, а значит, они являются собственными идемпотентами. Обратно, пусть а е R, а ф 0, е и а2 = а. Рассмотрим идеалы J\ = aR и /2 = (е — a)R кольца R. Легко проверить, что J\ и /2 — собственные идеалы кольца R и что = 4-/2- Пусть &е/1П/2- Тогда Ь = аг\ = = (е — а)г2, г\, Г2Е R. Умножая последнее равенство на а, получим ац = = 0, т. е. b = 0. Следовательно, J\ П J2 = {0}, т. е. R = J\ 4- h — прямая сум- ма подгрупп и R — разложимое кольцо. □ Пример 1.120. Пусть ^(AJeF^fA] — нормированный полином, deg а(Х) =п, каноническое разложение которого имеет вид а(Х) = Ь*'(Х)Ь?2(Х) b*1 (X), где bi(X), i = 1, 2, ..., —различные нормированные неприводимые над F^ полиномы, ki^\, 2 = 1,2, ..., t, deg 6/(А) = и,. Очевидно, что
§ 1.2. Строение конечных полей 53 факторкольцо R = F<?[A]/(a(A)) является конечным коммутативным коль- цом с единицей 1 cFg и J^R — qn. При этом факторкольцо R состоит из классов эквивалентности вида {с(А)} = с(А) 4-(а(А)), где с(А) е F^ [А] и deg с(А) < п — 1. Рассмотрим полиномы т‘ w=S=*•' W • • • • • **-•' W W • • • • ь‘‘ <Л>’ &i (А/ / = Легко видеть, что НОД(Ш1(А), ..., m/(A)) = 1. Следова- тельно, согласно результату задачи 1.58 существуют такие полиномы (A), 442(A), ..., Ut(X) eF^[A], что mi(A)ui(A) + ... 4-mt(X)ut(X) = 1 в кольце F7[А]. Обозначим mz(A)uz(A) = ez(A), i = 1, 2, ..., t. Легко про- верить, что [е,(А)]2 = е,(А) (mod а(А)), i = l,2, ez(A)-е/(А) = 0 (mod а(А)), i //, т.е. элементы ez(A) являются идемпотентами в кольце R и R = JX + 4- J2 + ... +Л, где Ji = (ez(A)) — идеал, порождённый идемпотентом в/(А), / = 1, 2, ..., /. Рассмотрим теперь структуру идеала Л. Произвольный элемент {f(A)} этого идеала можно представить в виде {с(А)} = q(X)ei(X) 4- (а(А)) = д(Х)ггц(Х)щ(Х) + (а(А)), где q(X) е F<? [A], deg q(X) nt - 1 и #/z = qn‘. Рассмотрим отображение в идеала Л в кольцо F7 [A]/(frz (А)) вида 0({с(А)}) = 0(q(X)edX) 4- (а(А))) = q(X) + (fez(A)). Простой проверкой легко показать, что отображение 0 является гомомор- физмом Ji на кольцо F^/(/?/(A)). Однако, поскольку #/z = #(F<7/(Z?z(A))) = ~qn' и ^/(6/(А)) — поле (см. лемму 1.64), то идеал Л изоморфен полю. Следовательно, все идеалы являются минимальными (идеал коммута- тивного кольца называется минимальным, если он не содержит в себе собственных идеалов кольца, отличных от него самого и {0}).
54 Глава 1. Арифметика конечных полей и полиномов § 1.3. Полиномы над конечными полями Пусть F^ — некоторое конечное поле, (q' = qm, т — натуральное число) — его расширение, и пусть b € F^/. Определение 1.121. Нормированный полином наименьшей степени ть(Х) € F^[А], для которого ть(Ь) = 0, называется минимальным поли- номом элемента b над полем F^. Ясно, что существуют нормированные полиномы из Fg[A], для кото- рых b является корнем. Например, одним из таких полиномов являет- ся Xq — AeF^[A], для которого b является корнем в силу леммы 1.93. Следовательно, существуют полиномы и с минимальной такой степе- нью. Предположим, что существуют два минимальных полинома для од- ного элемента Ь, т. е. т^(А) и т'ь(Х) таких, что deg ть(Х) = deg т'ь(Х), ть(Х) / т!ь(Х). Тогда полином ть(Х) = ть(Х) — т'(А), очевидно, удовле- творяет условию rhb(b) = Q и deg ть(Х) < deg ть(Х), что противоречит минимальности степени полинома ть(Х). Таким образом, минимальный полином ть(Х) элемента b над полем F^ определён однозначно. Предположим теперь, что минимальный полином ть(Х) приводим, т. е. ть(Х) = т'ь(Х) - (А), где mJ, (A), mJ,'(А) — нормированные полиномы та- кие, что deg mJ, (А) < deg m^(A) и deg (А) < deg ть(Х). Тогда в поле F^/ выполнено соотношение ть(Ь) = т'ь(Ь)т'^(Ь) = 0. Поскольку поле не со- держит делителей нуля, то либо mJ,(ft) = 0, либо mJ,'(fe) = 0. В любом случае получаем противоречие с минимальностью полинома т^(А). Та- ким образом, полином т^(А) неприводим. Задача 1.122. Пусть а(Х) € F^ [А] — неприводимый полином над по- лем F<j, F<? С F^ и пусть b — корень полинома а (А). Доказать, что b является корнем некоторого полинома с(А) eF^[A] тогда и только тогда, когда а(Х) делит с(А). Теорема 1.123. Для любого поля ¥q (q — степень простого числа) полином xqn — х равен произведению всех нормированных неприво- димых над F^ полиномов, степени которых делят п. Доказательство. Пусть а(А) — нормированный неприводимый над F^ полином, deg а(Х) = d и d | п. Случай а(Х) = А тривиален. Предпо- ложим, что а(А) / А. Воспользовавшись леммой 1.64, строим с помощью полинома а(Х) поле F^d. В этом поле найдётся элемент 6^0, для которого а(Х) является минимальным полиномом, т.е. а(Х) = ть(Х). Поскольку b является также корнем полинома Xq -1 — 1, то а(Х) делит Xq -1 — 1. Для завершения доказательства нам потребуются следующие утверждения.
§ 1.3. Полиномы над конечными полями 55 Лемма 1.124. Если t,rus- натуральные числа, t 2, г 1, s > 1, то ts — 1 делит tr — 1 тогда и только тогда, когда s делит г. Доказательство. Представим число г в виде r = su + v, где O^vcs. Тогда Г-1 v tus-l tv-\ ts - 1 ts - 1 + ts- Г Пусть ts — 1 делит tr — 1. Поскольку ts — 1 делит tus — 1 и последнее слагаемое меньше единицы, то равенство возможно, только если v = 0. Следовательно, s делит г. Обратное утверждение леммы очевидно. □ Лемма 1.125. В произвольном поле Fg полином Xs — 1 делит по- лином Хг — 1 тогда и только тогда, когда s делит г. Доказательство. Представим число г в виде г = su + v, 0 и < s. Тогда Asu+u-l=A"(Aus-l) + (Au-l). Пусть As — 1 делит Аг — 1. Поскольку As — 1 делит Xus — 1 и degXv — 1 <s, то последнее равенство возможно, только если v = 0. Следовательно, s делит г. Обратное утверждение очевидно. □ Согласно леммам 1.124 и 1.125 qd — 1 делит qn — 1 и Xqd~{ — 1 делит А7”-1 — 1. Следовательно, а(А) делит Xqn — А. Обратно, пусть я(А) делит А^-А, dega(A)=d. Опять предполо- жим, что а(А) А. Построим с помощью полинома а(А) поле F^. Пусть а е ¥qd — корень а(А) и /3 — примитивный элемент поля F^, так что /3 = bo -|- ot 4~... -|- bd—\otd 1, bi E F^, z = 0, 1, ..., d — 1. (1.9) Так как a(a)=0, то aqn =a. В силу леммы 1.95 из (1.9) вытекает, что (3qn = /3. Следовательно, (3qn~]‘ = 1 и порядок элемента /3, равный qd — 1, должен делить qn — 1. Тогда d делит п согласно лемме 1.124. □ Задача 1.126. Пусть F^cF^, /3 — примитивный элемент поля F^ и тр(Х) — его минимальный полином над F^. Доказать, что deg m^(A) = п. Определение 1.127. Пусть F^ — расширение поля F^, и пусть а € Fan. Тогда элементы л Qn~1 а, а4, ..., а4 называются сопряжёнными с элементом а относительно поля F^. Сопряжённые с элементом aeF^ относительно поля ¥q элементы различны тогда и только тогда, когда минимальный полином элемента а
56 Глава 1. Арифметика конечных полей и полиномов над имеет степень п. Если же это не так, то степень d минимального полинома элемента а является собственным делителем числа и, и тогда среди сопряжённых с а относительно элементов различными будут d-1 лишь элементы a, aq, .aq , каждый из которых повторяется в ряду сопряжённых элементов n/d раз. Определение 1.128. Автоморфизмом поля F^ над полем F^ на- зывается такой автоморфизм поля F^, который оставляет неподвижными элементы поля F^. Теорема 1.129. Автоморфизмы поля F^ над полем F^ относи- тельно операции последовательного применения образуют цик- лическую группу (группу Галуа) порядка п. Различными элемента- ми этой группы являются автоморфизмы его, сп, ..., (автомор- физмы Фробениуса), определяемые условиями a/(d) = aql для любого a G F^n, 0 j" п — 1. Доказательство. Легко проверить, что сгу- при любом /, 0 /X я — 1, являются изоморфизмами поля F^ над полем F^. Пусть теперь а — про- извольный автоморфизм поля F^ над полем F^ и пусть b — некоторый примитивный элемент поля F^, а ть(Х) = Хп -I- тп_\Хп~{ 4-... + то е Е F^ [Л] — его минимальный полином над F^. Тогда 0 = a(bn + mn_tbn~' + ... + т0) =a(b)n + mn_\a(b)n~l 4-... + т0, так что элемент <т(Ь) eF^ также является корнем полинома гп^(А). По- скольку b является корнем т^(А), то, воспользовавшись леммой 1.95, легко проверить, что bq,bq , ..., bqn также являются корнями полинома т^(А). Покажем, что все они различны. Действительно, пусть bq> =bq для некоторых /, £, O^jck^n— 1. Возведя это равенство в сте- пень qn~k, получим bq"~k+l =bq" =b Согласно результату задачи 1.122 полином ть (А) делит полином Xqtl — — А. По теореме 1.123 это возможно лишь в случае, когда п делит п — k + j. Но, так как 0 < п — k 4- j < п, то получаем противоречие. Сле- довательно, bq, bq , ...,bqn —все корни полинома ть(Х) и a(b) = bql при некотором /, 0 < j < k п — 1. Поскольку а — автоморфизм, то для любого ae¥qn получаем a(a) = aql и ст = сг/-. Ясно, что автоморфизмы {&; | j = 0, 1, ..., п — 1} образуют относительно операции последователь- ного применения циклическую группу, порождаемую <j\. □ Пусть mQ(A) — минимальный полином элемента а е F^ над полем F^. Его степень d =deg гиа(А) является делителем числа п.
§ 1.3. Полиномы над конечными полями 57 Определение 1.130. Полином а(Х) = ma(X)d называется характе- ристическим полиномом элемента а над F^. Согласно замечанию, сделанному сразу после определения 1.127, и теореме 1.129 корнями полинома mQ(A) в ¥qn являются элементы q, aq, ..., aq , а корнями характеристического полинома а(А) в по- ле F^ являются те и только те элементы, которые сопряжены с а относительно F^. Отсюда а(Л) = Л"+а„_1Ал-1 + ... + а0 = (А - а)(А - а9) •• (Л - а'7"-'). Сравнение коэффициентов в последнем равенстве даёт возможность по- лучить новые выражения для следа и нормы: Тг9»/?(а) = -а„_ь N^a) = (-1)ла0. Рассмотрим ещё один параметр, характеризующий полином. Лемма 1.131. Если а(Х) eF^[A] — полином степени п^ 1, удовле- творяющий условию а(0) 0, то существует натуральное число е ^qn — 1, для которого полином Xе — 1 делится на а(Х). Доказательство. В факторкольце РДА]/(а(А)) содержится qn — 1 ненулевых элементов (т. е. классов вычетов по модулю идеала (а(А))). Поскольку каждый из qn классов вычетов A7 + (а(А)), j = 0, 1, ..., qn — 1, является ненулевым элементом этого факторкольца, то существуют такие целые числа г и s, 0^r<s^qn — 1, что As = Xr (mod а(Х)). А посколь- ку НОД(А, а(А)) = 1, то Xs~r = 1 (mod а(Х)). Значит, полином Xs~r — 1 делится на а(А), где 0 < s — г < qn — 1. □ Так как полином А — 1 делится на любой ненулевой постоянный по- лином, то в следующее определение можно включить и постоянные по- линомы. Определение 1.132. Пусть а(Х) е Е? [А] — ненулевой полином. Ес- ли <з(0) 7^0, то наименьшее натуральное число е, для которого полином а(А) делит Ае - 1, называется периодом (или порядком) полинома а(А) и обозначается ord(a(A)). Если же а(0) = 0, то полином а(Х) однознач- но представим в виде а(Х) = Xkb(X), где k — натуральное, b(X) е F^ [А], Ь(0)^0. В этом случае порядок ord(a(A)) полинома а(Х) равен порядку ord(b(A)) полинома Ь(Х). Лемма 1.133. Пусть а(Х) e¥q[X] — неприводимый полином сте- пени и, удовлетворяющий условию а(0) =4 0. Период этого полинома совпадает с порядком любого корня этого полинома в мультипли- кативной группе F*„ поля Eqn.
58 Глава 1. Арифметика конечных полей и полиномов Доказательство. На основании теоремы 1.123 поле F^ содержит все корни полинома а(А). Если а —корень полинома а(А), то согласно теореме 1.129 элементы otq, ..., aqtl также являются корнями полинома а (А). Поскольку НОД(^, qn - 1) = 1, то порядки элементов aq, .... aqn в группе F*n совпадают. Пусть е — порядок элемента а в группе F*„. Выполнение соотношения ае = 1 в соответствии с результатом задачи 1.122 возможно тогда и толь- ко тогда, когда а(Х) делит Xе — 1. Требуемый результат вытекает теперь из определений ord(#(A)) и порядка элемента а в группе F*«. □ Задача 1.134. Доказать, что период неприводимого над F^ полинома а(А) € F^[A] степени п делит число qn — 1. Существуют связи между периодами некоторых полиномов, которые можно получать друг из друга простыми алгебраическими преобразова- ниями. Определение 1.135. Пусть дан полином а(А) =ао+ &1А +... ... + ап_\Хп~{ +апХп € Fq [A], deg а(А) = п. Полином а*(А) = Хп а(\ = аоХп + а\Хп 1 4-... + ап_\А 4- ап \ Л / называется двойственным к полиному а(А). Лемма 1.136. Пусть а(Х) — ненулевой полином из F^ [А] и а* (А) — двойственный к нему полином. Тогда ord(a(A)) = ord(a*(A)). Доказательство. Пусть а(0)^0. Тогда утверждение вытекает из того факта, что полином а(А) делит Xе — 1 в том и только в том случае, когда полином а*(Х) делит Xе — 1. Если же а(0) = 0, то а(Х) = Xkb(X), где k — натуральное число, Ь(Х) € F,, [А] и Ь(0)^0. Тогда из ранее доказанного и из определения периода следует, что ord(a(A)) = ord(b(A)) = ord(b*(A)) = ord(a*(A)), где последнее равенство вытекает из равенства а* (А) = Ь*(Х). □ Поскольку период любого полинома степени п из F^ [А] не превос- ходит qn — 1, то представляют интерес те полиномы, для которых эта граница достигается. Определение 1.137. Полином а(А) € F^[A] степени п 1 называется примитивным полиномом над полем F^, если он является минимальным полиномом над некоторого примитивного элемента расширения ¥qn поля F^.
§ 1.3. Полиномы над конечными полями 59 Таким образом, примитивный полином над F<? степени п — это норми- рованный полином, который неприводим над F^ и имеет корень a€F^, который является образующим элементом мультипликативной группы F*fl поля F^n. Теорема 1.138. Полином а(А)еЕДА] степени п является при- митивным полиномом над F^ в том и только в том случае, ко- гда он является нормированным полиномом таким, что а(0)^0 и ord(a(A)) = qn — 1. Доказательство. Пусть а(А) — примитивный полином над F^. Сле- довательно, это нормированный полином, удовлетворяющий условию а(0)^0. Поскольку а (А) неприводим над F^, то из леммы 1.133 и из того факта, что его корнем является примитивный элемент расширения Е^ поля Е?, следует, что ord(a(A)) —qn — 1. Обратно, пусть я(А) е F^ [А] — нормированный полином такой, что £(0)^0 и ord(a(A)) = qn — 1. Следовательно, п^\. Покажем, что по- лином а (А) неприводим над Е?. Предположим противное. Тогда либо а(А) является степенью некоторого неприводимого полинома, либо он может быть представлен в виде произведения двух взаимно простых полиномов положительной степени. В первом случае a(X) — bk(X), где k^2, полином 6(A) eF^ [А] неприводим над Е?, 6(0) 7^ 0. Поскольку а(Х) делит А*7"-1 — 1, a Xqn~{ — 1 является произведением всех норми- рованных неприводимых полиномов из F^ [А], степень которых делит п, кроме полинома А, то полином а (А) не может быть степенью некоторого неприводимого полинома. Во втором случае а(Х) = 6 ДА) • 62(A), где 6 ДА), 62(A), 61 (0) / 0, 62(C)) 7^ 0, — взаимно простые полиномы из ЕДА] поло- жительных степеней azj и п% соответственно. Если ord(6z(A)) = et, i = 1, 2, то bi (А) делит Ае/ - 1, i = 1, 2. Согласно лемме 1.125 полином Xei - 1 делит Ае/в2 - 1, i = 1, 2, но поскольку НОД(61(А), 62(A)) = 1, то 6ДА)6г(А) делит Ае,6?2 — 1, следовательно, ord(a(A)) < ord(6i(A))ord(62(A)). Согласно лемме 1.131 выполнены неравенства ei ^qn' — 1, е% qn2 — 1, что даёт ord(a(A)) (qn' - \){qn<2 - 1) < qn'+n2 - 1 =qn - 1. Получили противоре- чие. Следовательно, полином а(А) неприводимый. Согласно лемме 1.133 порядок всех его корней совпадает с qn — 1, т.е. он является мини- мальным полиномом над Е? примитивного элемента и, следовательно, примитивным полиномом. □ Обозначим через число нормированных неприводимых поли- номов из ЕДА] степени d. Тогда из теоремы 1.123 следует равенство qn = 52 dNq(d), где суммирование ведётся по всем положительным d\n
60 Глава 1. Арифметика конечных полей и полиномов делителям d числа п. Для нахождения чисел Nq(d) используем так называемую функцию Мёбиуса. Определение 1.139. Функцией Мёбиуса называется функция у, за- данная на множестве натуральных чисел N и определяемая равенством 1, если п = 1; /х(я) = (—1)*, если п — произведение k различных простых чисел; 0, если п делится на квадрат некоторого простого числа. Лемма 1.140. Для любого п е N функция Мёбиуса удовлетворяет соотношению {1, если п = 1; (1 0, если п > 1. Доказательство. Случай п= 1 тривиален. Пусть п> 1. Предполо- жим, что каноническое разложение числа п на простые множители имеет вид п = р[ • р? •... • p$s, где pt, i = 1, 2, ..., s — различные простые чис- ла. Ясно, что делители d числа п, для которых y(d) 0, представляют собой некоторое произведение различных простых чисел из канониче- ского разложения числа п. Таким образом ]Гм(^)=^(1)+52Мр<)+ 52 ^(а>р<2) + - ps) = d\n /=1 = i + Q)(-i) + (|)(-i)2 +... + (2)(-i)s = [i + (-i)F=0. □ Лемма 1.141. Пусть h и Н — две функции, заданные на^и при- нимающие значения в некоторой абелевой группе 0 с аддитивной записью операции. Равенство Н(п) = h(d) для всех п € N d\n выполняется тогда и только тогда, когда выполняется равенство й(п) = 52 = 5? всех п € d\n d\n
§ 1.3. Полиномы над конечными полями 61 Доказательство. Воспользовавшись выражением для функции Н(п) и используя лемму 1.140, получим Е К =Е (?)=Е Е= d\n d\n d\n c\^ =52 E m(^)^(c)=52E c\n d\^ ф d\Z для всех n e N. Обратное утверждение доказывается аналогично. □ Лемма 1.142. Число Mq(n) нормированных неприводимых поли- номов степени п в кольце F^ [А] задаётся формулой = ч^'-^ч^ч"'1- d\n d\n Доказательство. Применяя лемму 1.141 для случая, когда (5 = Z — аддитивная группа целых чисел, h(n) = nNq (п) и Н(п) = qn для всех п е N, получаем лемму. □ Ранее в теореме 1.94 при доказательстве существования поля из рп элементов для произвольных простого р и натурального п нами было по- стулировано без доказательства существование неприводимого полинома степени п над полем Fp. Теперь, воспользовавшись полученными выше утверждениями, докажем несколько более общее утверждение. Лемма 1.143. Для каждого конечного поля F<? и каждого на- турального п в кольце F,? [А] существует неприводимый полином степени п. Доказательство. Учитывая, что /1(1) = 1 и /1(d) — 1 для всех d eN, воспользовавшись леммой 1.142, получим Щп) > 1(<7« - qn~l - qn~2 >0. □ В заключение настоящего параграфа рассмотрим вопросы, свя- занные с делителями полинома Хп — 1 над F7 и структурой кольца Rqyn =F^[A]/(Art — 1). Они будут полезны при изучении строения цикли- ческих кодов. Пусть F^—конечное поле, /г — натуральное и НОД(^, п) = \. Тогда существует наименьшее натуральное / такое, что ql = 1 (mod и), называемое показателем, которому q принадлежит по модулю п.
62 Глава 1. Арифметика конечных полей и полиномов В соответствии с леммой 1.125 полином Хп — 1 делит полином Xя -1 — 1 и не делит Xя -1 — 1 ни для какого s, 0 < s < Z. Поскольку корнями полинома Xя — А = A(A?/-1 — 1) являются все элементы поля Vqi (см. лемму 1.93), то корни полинома Ап — 1, называемые корнями степени п из единицы, лежат в расширении Vqi поля F^ и не лежат ни в каком меньшем поле. Производная полинома Хп — 1 равна пХп~[ и взаимно проста с Хп — 1, так как НОД(^, п) = 1. Следовательно, по- лином Хп — 1 имеет (см. задачу 1.70) п различных корней (включая единицу). Лемма 1.144. Пусть a e¥qi — произвольный корень полинома А"-1. Тогда 2-4 . (0, если а / 1; У а1 = \ /=о еслиа=\. Доказательство. Если а = 1, то сумма равна п. Предположим, что а 1. Тогда V х~аП п =ТГ7 = °- □ 1=0 Задача 1.145. Показать, что корни полинома Хп — 1: 1) образуют циклическую подгруппу группы F*/, т. е. в ¥qi существует элемент а (называемый примитивным корнем степени п из единицы} такой, что 1 Ап-1 = П(А-а‘); i=0 2) образуют мультипликативную группу поля тогда и только тогда, когда п = ql — 1. Везде ниже в данном параграфе а будет обозначать примитивный ко- рень степени п из единицы. Перейдём теперь к исследованию разложения на множители полинома Хп — 1. Предварительно нам необходимо ввести понятие циклотомическо- го класса. Определение 1.146. Пусть п — натуральное число, q — степень неко- торого простого числа. Циклотомическим классом Cn,s по модулю п над F^ для некоторого s € {0, 1, ..., п — 1} называется множество cn,s ={s, sq, sq2, .... sqls~{}, где sqls =s (mod n).
Комментарии к главе 1 63 Мы будем выбирать в качестве индекса циклотомического клас- са наименьшее число в нём (такой выбор наименьшего числа удобен, но не существенен). Множество всех целых чисел по модулю п разбива- ется на непересекающиеся циклотомические классы {О, 1,2, — 1} = U Cn,s, S где s пробегает множество представителей циклотомических классов по модулю п. Задача 1.147. Показать, что если НОД($, п) = 1, то ls = l, где I — показатель, которому q принадлежит по модулю п. Задача 1.148. Пусть а(А) = П (^ ~ °7)’ гДе К С {0, 1, 2, ..., п - 1}. Доказать, что коэффициенты полинома а(Л) лежат в поле тогда и толь- ко тогда, когда для любого i € К выполнено включение iq (mod п) е К. Пусть as — корень Хп — 1, его минимальный полином та*(Х) = ms(X) (поскольку элемент а фиксирован, будем использовать упрощённые обозначения для минимального полинома). Как было показано в теоре- ме 1.129, элементы {asq‘ 11 = 0, 1, ..., ls — 1} являются корнями полинома т5(А),тоесть ms(X) = {J (А-а'). Следовательно, А" — 1 = nzs(A), S где s пробегает все множество представителей циклотомических классов по модулю п. Опишем теперь структуру кольца Rqyn = F^[A]/(An - 1). Согласно примеру 1.120, для каждого полинома 9S(X) = (Хп — V)/ms(X) существует такой полином us, что es(X) = us(X)0s(X) является идемпотентом коль- ца. При этом ^s(A) = 1 и eS1(A)eS2(A) = 0 при в кольце S Наконец, само кольцо Rq^n представляет собой прямую сумму идеалов Л(£$(А)), где s пробегает всё множество представителей циклотомических классов по модулю п. Комментарии к главе 1 Несмотря на наше стремление сделать изложение материала кни- ги в достаточной степени замкнутым, у читателя могут возникнуть те
64 Глава 1. Арифметика конечных полей и полиномов или иные вопросы математического характера, не нашедшие отражения в главе 1. Поэтому нам представляется полезным указать ряд изданий, которые могли бы удовлетворить интерес читателя. На разнообразные возникшие у читателя вопросы алгебраического характера можно найти ответы в замечательных книгах [277, 413]. Ис- черпывающая информация собственно о конечных полях (с приложени- ями) представлена в [283], краткое её изложение в [105, 311]. Фунда- ментальная теория полей (и не только конечных) представлена в [424]. Все необходимые понятия и утверждения теоретико-группового характе- ра читатель может найти в [231]. Информацию о классических группах, играющих важную роль в вопросах классификации булевых функций, исследовании свойств кодов Рида—Маллера, криптологии, можно най- ти в [190], о группах подстановок в [79, 417]. С алгоритмическими аспектами реализации операций на различных алгебраических структурах можно познакомиться, например, по кни- гам [10, 327]. Некоторые теоретико-вероятностные, статистические и теоретико-информационные понятия использованы нами лишь в двух главах. Необходимый материал можно найти, например, в [68, 179, 205, 281]. Информация об изданиях по теории кодирования будет представле- на в главах 4, 5. Мы старались упомянуть либо отечественные источники, либо зарубежные, имеющие русский перевод.
Глава 2. Булевы функции §2.1. Основные понятия и определения Пусть F7 (q = рп, р — простое) — конечное поле, состоящее из q эле- ментов. В основном тексте мы везде будем рассматривать конечные поля характеристики 2. Для произвольного натурального числа п € N будем рассматривать Vn = F2 х ... х F2 — векторное пространство наборов длины п с компо- п раз нентами из поля F2. Операции в поле F2 будем обозначать « • » —умно- жение по модулю 2 и «ф» —сложение по модулю 2, кроме того, нам понадобится и операция «V» (см. таблицу 2.1). При этом в алгебраи- Таблица 2.1 подразумевая, что a-b = ab. Для покомпонентного сложения по моду- лю 2 векторов из Vn мы используем то же обозначение «ф». Всякий раз из контекста будет ясно, к элементам какого пространства применяется эта операция. Зафиксируем обозначения для двух векторов из 0 = (0,0)т, 1 =(1, ...» 1)т. Элементы х векторного пространства Vn будем называть векторами. При этом мы всегда будем иметь в виду векторы-столбцы. Зафиксируем базис пространства Vn вида: е1 = (1,0,...,0)т, е2 = (0,1,...,0)т, en = (0,0,..., 1)т. (2.1) Тогда вектор х € Vn может быть представлен в виде х = х(1) е\ ф...фх|л) е„, где коэффициенты х(,) (/ = !,...,«) из поля F2 называются координа- тами вектора х относительно данного базиса. Ясно, что /-я компонента
66 Глава 2. Булевы функции вектора х и его /-я координата относительно базиса (2.1) совпадают. В дальнейшем мы не будем их различать. Однако отметим, что при ис- пользовании другого базиса это равенство, вообще говоря, нарушается. Определение 2.1. Булевой функцией от п переменных называется отображение из Vn в F2. Множество всех булевых функций от п пере- менных будем обозначать Тп. Для записи значения булевой функции / на векторе х е Vn будем ис- пользовать следующие выражения /(х) = /(*(1) Ф...фх(л) • еп) = /(х(1), х(л)). При этом в правой части этих равенств имеется в виду не транспониро- ванный вектор х, а строка из его координат относительно базиса (2.1). Транспонированный же вектор х мы будем обозначать хт, где Т — символ транспонирования матрицы. Поэтому для х мы будем использо- вать следующее выражение х = (х(1), ..., х^)т. Очевидно, что для задания функции f(x) = /(х(1), ..., х(л)) достаточ- но указать, какое значение функции соответствует каждому из векторов х, т.е. выписать таблицу (см. таблицу 2.2). Координаты х(1), х(2), ..., х(л) Таблица 2.2 х"> х<2> ... Х(а) /(х(1>,х<2>, .. х,п>) 0 0 0 0 ДО, 0, . .., о, 0) 1 0 0 0 /(1,0,. о, 0) 0 1 0 0 /(0, 1, . .., о, 0) 1 1 1 1 /(1,1,- .., 1, 1) будем называть переменными или аргументами функции /. Для удоб- ства мы будем употреблять естественный лексикографический порядок расположения наборов значений переменных в этой таблице. Таким об- разом, описан табличный способ задания булевой функции, при этом стало очевидно, что между множествами 7^ и имеется естествен- ное взаимно однозначное соответствие. Поэтому справедливо следующее утверждение. Предложение 2.2. Мощность #Fn множества всех булевых функций от п переменных х(1), х(2), ..., х(л) равна 22".
§2.1. Основные понятия и определения 67 С ростом числа переменных таблица, задающая функцию, сильно усложняется, становится громоздкой. Число функций от п переменных быстро растёт: #5*1=4, #5*2=16, #5*3 = 256, #5*4 = 65536, Множество 5*л содержит функции от меньшего числа переменных. Для удобства рассмотрения в 5*л таких функций вводится следующее опреде- ление. Определение 2.3. Функция Дх(1),х(2),...,х(/-1),,х(/+1), . ..,х(л)) е е5*л зависит существенно от переменной х^\ если существуют такие значения а(1), а(2), ..., ..., о№ переменных х(1), х®\ ..., х^“1\ х^+1\ ..., х^п\ что Да^а*2), ..., О, В этом случае переменная х® называется существенной. Если х(/) не является существенной переменной, то она называется несуще- ственной, или фиктивной. Пусть для функции /(х(1), ..., х(л)) переменная х^ является фиктив- ной. Возьмём таблицу для функции /(х(1), ..., х(п)) и по ней построим новую таблицу путём вычёркивания всех строк вида о№,..., 1, a(z+1), ..., о№ и вычёркивания столбца для переменной х^. Полученная таблица будет определять некоторую функцию g(x(1), х(2), ..., x(z-1), ...,х^) от п — 1 переменной. Будем говорить, что функция £(х^, х<2>, ..., х<<-1\ х(<+1), ..., х^) получена из функции /(х^\ ..., х^) путём удаления фиктивной переменной х^, а также что функция Дх(1), ..., х<">) получается из g(x(1), х(2), ..., x(z-1), x(z+1), ..., х(л)) путём введения фиктивной переменной x(z). Определение 2.4. Подфункцией булевой функции f называется функция полученная подстановкой в f констант 0 или 1 вместо некоторых переменных. Если мы подставляем в функцию f константы cr(Z|), ..., (s вместо переменныхx(z,), ..., x(Zs) соответственно, то полученная подфунк- ция обозначается • Таблица подфункции получается из таблицы функции f выбором строк вида , (с/1*, ..., <тЧ а^х\ ..., а(л))
68 Глава 2. Булевы функции и вычёркиванием из неё столбцов, соответствующих переменным ... ..., x(Zs). Теорема 2.5. Множество Тп функций от п переменных, суще- ственно зависящих от всех переменных, имеет мощность, равную п /=0 где ..~ биномиальные коэффициенты. Доказательство. При доказательстве теоремы будем пользоваться хорошо известным в комбинаторике тождеством для биномиальных ко- эффициентов: £'-»'+|(’ХГ-9=Ю- (2-3> Доказательство теоремы проведём индукцией по п. Базис индукции. Очевидно, что при п = 1 две функции существенно зависят от своей переменной, а две — несущественно. Шаг индукции. Число функций от п переменных, существенно за- висящих от всех переменных, равно разности числа всех функций от п переменных и числа функций, зависящих существенно от меньшего числа переменных. Отсюда получаем #Л = 22" - (")#.?„_! - (")#Л-2 - ••• - (")#Я), где — число функций от п переменных, существенно завися- щих от п — k переменных. Воспользуемся предположением индукции для k= 1, 2, ..., п. Имеем / \ п~[ / 1\ ' ' 1=0 ' 7 / \ n~k / k\ / \ 0 /п\ У(-1)'Г"М22”‘"-...-(я| V(-l)'( °)22°" \ k J \ i J \п J \i J 4 7 /=о 7 7 i=o 4 7 Группируя слагаемые при одинаковых степенях 2, получим #л,-22--[(“)(";1)]2г-
§2.1. Основные понятия и определения 69 Используя тождество (2.3) при т = 1, 2, ..., п, имеем #?,,=(;x+(-i)'O2!'"+-+(-i)*(Z)22'_‘+- i=0 Р(х(1), . Рассмотрим полиномы из F2[x(1),..., х(п)], степени которых по каждой переменной не превосходят 1: ф ( ф ) ф ... • •• •... -х(л), (2.4) где «о» Дь ctij, ...» Я12...Л — элементы поля F2, или в эквивалентном виде Р(х(1), ..., х(л)) = ф />(а(1), ..., а(п))(х(1))а(° - ...-(х^)^, (2.5) (a<|),...,otW)T€ Vn где Ь(а^\ ..., с№) eF2 при любом (а(1), ..., а(л))т е Vn. В представле- нии (2.5), очевидно, b является булевой функцией. Мы также будем использовать сокращённое обозначение: xa = (x(1))Q(,)-...-(x(n))Q(rt), (2.6) где х = (х(1), ..., х("))т, а = (а(1), ••., а(л))т. Теорема 2.6. Каждая функция f может быть представлена ^единственным образом в виде полинома из F2[x(1), ..., х(л)], степень
70 Глава 2. Булевы функции которого по каждой переменной не превосходит 1: /(х(1), %(п))=Соф Гф ф Г ф CijX^X^S ф... \ = 1 ' ' • • • ® £12...лХ(1) •... • х(/1), (2.7) (полином Жегалкина) или в эквивалентной форме /(х(1), х(п)) = ф ^(а(|), a<"’)(x(l))Q"’-...-(x(n))Q<nl (2.8) (алгебраическая нормальная форма —АНФ). Доказательство. Ясно, что каждый полином из описанного в усло- виях теоремы множества определяет некоторое отображение из Vn в F2, т. е. булеву функцию. С другой стороны, из (2.7), (2.8) ясно, что таких полиномов ровно 22Л и различные полиномы определяют различные отоб- ражения. □ В обозначениях (2.6) формулу (2.8) можно переписать в виде /(*) = ф g/(a)xa- aev„ Взаимно однозначное соответствие /(х) <-* gf(x) между булевыми функциями f(x) и gf(x) в представлении (2.8) иногда называют пре- образованием Мёбиуса. Если задана функция g/(x), то функция /(х) находится с помощью формулы (2.8). Найдём формулу для обратного отображения. Введём частичный порядок на векторах пространства Vn. Будем го- ворить, что вектор х предшествует вектору у и обозначать х^у, если х(0 ^0) для всех i от 1 до п в обычном арифметическом смысле (0 < 0, 0 1, 1 1). Если векторы х и у не совпадают и х у, то будем говорить, что вектор х строго предшествует вектору у и обозначать х -< у. Задача 2.7. Доказать, что в обозначениях (2.6) справедливо равен- ство f 1, если е а; ае = < (0 в противном случае для всех е, а € 14- Задача 2.8. Доказать, что Х^у <=> хф 1 >#ф 1.
§2.1. Основные понятия и определения 71 Нам также понадобится понятие веса вектора. Определение 2.9. Вес (Хэмминга) вектора ...,х^)т это число ненулевых координат он обозначается wt(x). Теорема 2.10. Если задана функция f(x)eFn, то функция gf(u) е ?п находится с помощью формулы gf(u) = ф /(*)• xevn, х^и Доказательство. Проведём доказательство индукцией по весу век- тора и. Если и = 0, то, очевидно, g/(0) = /(0). Пусть теорема справедлива для всех векторов с весом меньшим, чем wt(u). Тогда по определению функции gf(x) (2.8), а далее по предположению индукции имеем /(«) = ф gf(x)= ф ф (и). xeVn, х^и xeVn, х^и yeVn, у^.х Несложно видеть, что в сумме ф ф f(y) каждое слагаемое xevn, х^и yevn, yz$x f(y) присутствует только если у -< и, и более того, встречается ровно 2wt(«)-wt(£/) _ । раз, т е нечёТное число раз. Поэтому ф ф /(У)= ф xeVn, х^и yeVn, у^х yeVn, у^и Следовательно, gf(u) = ф f(x). □ x€Vn, Замечание 2.11. Из формул f(u) = ф gf(x) и gf(u) = ф f(x) xg.Vn, х^и хбУ/ь х^и видно, что преобразование Мёбиуса является инволюцией на 7^, т. е. об- ратно само себе. Определение 2.12. Выражение х(/|) •...(когда = 1) в представлении (2.7) или выражение (x(1))qG) •... • (х(л))а<л) (когда gf(a^\ ..., с№) = 1) в представлении (2.8) называется слагаемым в по- линоме Жегалкина (или АНФ) функции /. При этом вес wt(a) вектора а = (с/1), а<л))т называют длиной слагаемого (х(1))а<1> •• (х(п))а</,). Определение 2.13. Алгебраической степенью функции f (обозна- чение deg f) называется число переменных в самом длинном слагаемом полинома Жегалкина (или АНФ) функции /.
72 Глава 2. Булевы функции Определение 2.14. Алгебраической степенью функции f отно- сительно переменной х® (обозначение deg(/, x(z))) называется число переменных в самом длинном слагаемом полинома Жегалкина функции f, содержащем х(/). Ясно, что если deg(/, x(z))=0, то переменная x(z) является несуще- ственной для функции /. Если deg(/, х^) = 1, то будем говорить, что функция f зависит от переменной x(z) линейно. Если deg(/, x(z)) > 1, то будем говорить, что функция f зависит от переменной x(z) нелинейно. Слагаемые длины 1 в полиноме Жегалкина будем называть линейными слагаемыми. Рассмотрим одно важное свойство булевых функций, которое харак- теризует их внутреннюю структуру. Определение 2.15. Булева функция /(х(1), ...,х(л)) от п перемен- ных называется функционально разделимой, если существуют функции й(//(1), • от $ переменных и ..., 2(n-s+1)) от п - $ + 1 пере- менных такие, что при 1 < 5 < п — 1 справедливо равенство Дх(1), ..., x(,1)) = g(/i(x(1), x(s)), x(s+1), ..., х(п)). (2.9) Покажем, что большинство булевых функций не являются функцио- нально разделимыми. Теорема 2.16. Доля функционально разделимых булевых функций от п переменных стремится к нулю с ростом п. Доказательство. Можно выбрать s переменных, входящих в функ- цию h в представлении (2.9), способами. Для функции h при этом имеется 22' возможностей и для функции g имеется 22” s+* возможностей, поскольку она зависит от п — s 4-1 переменных. Общее число функцио- нально разделимых функций, следовательно, не превосходит л-2 Е . 22-— s _ 3)Q2? . 2?- 8„(„ - 1)(„ - З)23"~ s=2 и отношение этого числа к 22Л стремится к нулю при /г —> оо. При этом мы использовали неравенство которое выполнено для всех s: 1 < s < п — 1. □ Важным частным случаем функциональной разделимости, который будет использоваться ниже, является представление функции f € Fn+m
§2.1. Основные понятия и определения 73 Функций Тс<?^еННОЙ Лине^ноя замсны переменных в виде суммы двух функции h е Л И g е ?т от непересекающихся переменных: - f(Az)=h(x)®g(yY x^Vn, yeVm^ геуп+т_ (2.10) и лостятпии *7 (нерешённая). Найти эффективные необходимые ле (9 im Ые условия представимости заданной булевой функции в ви- В тяХи?еНое9ЭТОГО парагРаФа рассмотрим примеры булевых функций, в мятрмяти е v изображены функции, которые часто употребляются игпают пп?еСК°И кибернетике, теории кодирования и криптографии. Они играют роль элементарных функций. Таблица 2.3 X 0 (константа 0) 1 (константа 1) X (тождество) X (отрицание) 0 0 1 0 1 1 0 1 1 0 х(|» х,2> Х(').х<2) (конъюнкция, умножение по mod 2) X<')Vx<2) (дизъюнкция) х(,,-х(2> (импликация) х(,,Фх<2> (сложение по mod 2) Х^'/х'2’ (функция Шеффера) 0 0 0 0 1 0 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 Обозначим через Ап множество булевых функций из которых deg 1: An = {feFn | deg /Ч 1}. Такие функции будем называть аффинными функциями, а Ап — множе- ством (классом) аффинных функций. Аффинные функции, Д/[Я которых /(0) = 0, называются линейными функциями: Cn~{f ^Ап\ Полином Жегалкина произвольной аффинной функции f имеет вид х(л)) = а(1)х(1) ®...фЛ(л) Ф&, (2-11) где (/ = 1, ..., п), b €^2- В случае линейных функций 6=0-
74 Глава 2. Булевы функции Теорема 2.18. Справедливы равенства: #An — 2n+i, #Сп=^п- Доказательство. Доказательство теоремы следует из (2.11). □ Рассмотрим класс функций f остающихся неизменными при лю- бой перестановке их переменных. Класс таких функций будем обозна- чать Sn и называть классом симметрических функций. Теорема 2.19. Имеет место равенство #Sn = 2n+I. Доказательство теоремы следует из того факта, что симметрическая функция постоянна на множестве векторов, имеющих один и тот же вес. Теорема 2.20. Булева функция f(x^\ ..., х<л)) является симмет- рической тогда и только тогда, когда Дх(1), х(2), ..., х(п)) = = /(х(2), х(1), х(3), ..., х(л)) = f(x®, х(3), ..., х(л), х(1)) (2.12) при любых Х^, Х<2>, ..., Х^ EF2. Справедливость теоремы очевидна, если вспомнить (см. [231, 417]), что использованные в (2.12) подстановки транспозиции и полного цикла представляют собой полную систему образующих симметрической группы степени п. Далее по мере изложения основного материала будут представлены и другие классы булевых функций. Определение 2.21. Булева функция f называется (со, (^-регу- лярной (или просто регулярной), если 1) для любого набора х е Vn такого, что /(х) = 0, выполнено равенство #{yt Vn |dist(x, у) = 1, /(у)=1} = с0; 2) для любого набора х е Vn такого, что /(х) = 1, выполнено равенство #{«/е V„|dist(x, у) = 1, f(y) = 0} = a. Булеву функцию, являющуюся (с, с)-регулярной, будем называть с-ре- гулярной. § 2.2. Числовые и метрические характеристики Многие свойства булевых функций из Тп удобно формулировать и ис- следовать, рассматривая Тп как векторное пространство над полем F2.
§2.2. Числовые и метрические характеристики 75 Предложение 2.22. Множество Тп является векторным про- странством над полем F2; dim ?п = 2п. Доказательство этого предложения непосредственно следует из тео- ремы 2.6. Кроме того, теорема 2.6 представляет нам один из возможных базисов пространства Этим базисом является множество функций {1;х<‘> (i = 1, n); xwx<'> (1 <z </<<••; х(|) х'"*}. (2.13) Ниже при изучении различных представлений элементов пространства будем рассматривать и другие базисы. Определение 2.23. Расстояние (Хэмминга) между двумя векторами х и у равно числу компонент, в которых они различаются; оно обознача- ется dist(аг, у). Очевидно, что dist(x, */) =wt(x®i/). (2.14) Для расстояния Хэмминга выполнены следующие свойства: 1) dist(x, у) = dist(^, х) для любых х, у е Vn (симметричность рассто- яния); 2) dist(x, у) > 0 при х у; dist(x, х) = 0 при любом х € Vn; 3) dist(a:, z) < dist(а:, у) + dist(у, z) для любых х, у, z е Vn (неравен- ство треугольника). Задача 2.24. Доказать неравенство треугольника для расстояния Хэмминга. Доказать, что равенство выполняется тогда и только тогда, когда для всех i от 1 до п либо х® = либо z® = у^ (или выполнены оба равенства). Рассматривая булеву функцию как вектор из V24 получим аналогич- ные понятия для булевых функций. Определение 2.25. Вес wt(/) булевой функции f определяется сле- дующим равенством: wt(/) = #{лге | /(АГ) = 1}. Определение 2.26. Функция f для которой wt(/) =2П-1, назы- вается уравновешенной. Задача 2.27. Пусть g(x(1), ..., х(п), у) = Дх(1\ х(п)), т.е. перемен- ная у является фиктивной для функции g(x(1\ х(л), у). Доказать, что wt(g(x(1), х(л), у)) — 2 wt(/(x(1), ..., х(л))).
76 Глава 2. Булевы функции Задача 2.28. Пусть Дх(1), ..., х(я)) еЛ? и пусть g(x(1), ..., х(л z(1), г(2)) = Дх(1), x(rt-l), z(1) ®z(2)). Доказать, что wt(g) = 2 wt(/). Задача 2.29. Пусть Дх(1), х(л)) е Л,. Доказать, что функция g(x(1), ..., х<л>, у) = Дх(1), ..., х(л)) фу — уравновешенная. Задача 2.30. Пусть Дх(1), ..., х(л)) еЛг. Доказать, что wt(/)=l (mod 2) тогда и только тогда, когда deg f = п. Результат задачи 2.30 можно сформулировать следующим образом: старший моном х^х® •... -х^ «отвечает» за чётность веса булевой функции /(хО), ..., х^). В связи с этим представляет интерес следую- щая задача. Задача 2.31 (нерешённая). Можно ли выделить множество мономов булевой функции, которое будет «отвечать» за делимость веса булевой функции на 2\ k = 2, 3, 4, .... Определение 2.32. Расстояние между булевыми функциями f и g dist(/, g) определяется следующим равенством: dist(/, g) = #{х е Vn | Дх) g(x)}. Ясно, что dist(/, g)=wt(f®g). Определение 2.33. Скалярным произведением векторов x,ueVn называется сумма (х, и) =ф х^и^. Для произвольного подмножества М С Vn символом М1- будем обо- значать следующее множество = {у € Vn | (у, х) = 0 для всех х е М}. Определение 2.34. Преобразованием Фурье булевой функции f называется целочисленная функция на Vn, определяемая следующим ра- венством __ w xevn (суммирование производится в действительной области). Для каждого и е Vn значение Wf(u) называется коэффициентом Фурье. Для произвольной булевой функции f через exp f будем обозначать целочисленную функцию ехр /(х) = (-1)/<х).
§2.2. Числовые и метрические характеристики 77 Определение 2.35. Преобразованием Уолша—Адамара булевой функции f называется целочисленная функция на Vn, определяемая следующим равенством U7/(u)= ^2 ехР x(~Vn x£Vn (суммирование производится в действительной области). Для каждого и € Vn значение №Ди) называется коэффициентом Уолша—Адамара. Часто коэффициенты Фурье и коэффициенты Уолша—Адамара назы- вают спектральными коэффициентами. Теорема 2.36. Коэффициенты Фурье и коэффициенты Уолша— Адамара связаны соотношением Wf(u)=2n6(u)-2Wf(u), где 6(и) — 8-функция Дирака: {1, если и = 0; 0, если и / 0. Доказательство. Wf(u) = ^2(-!)/(*)«<*•“>= £ (_!)<*.«>_ £ (-!)<*.«> = xev„ xev„ xev„ f(x)=0 /(*)=! = £(-!)<-> _2 £ (-!)<*“>. xevn xevn /(*)=! Сумма 22 (—представляет собой сумму значений характера эле- xevn ментарной абелевой 2-группы. Поэтому эта сумма равна нулю, если век- тор и отличен от нулевого вектора (т.е. если характер нетривиальный), и равна 2П, если вектор и является нулевым (т.е. если характер три- виальный). Сумма 22 (—1)^’") совпадает с №Ди). Учитывая всё xevn, /(x)=i сказанное, получаем утверждение теоремы. □ Использование коэффициентов Уолша—Адамара или коэффициентов Фурье в различных случаях имеет свои преимущества. В дальнейшем мы в основном будем использовать коэффициенты Уолша—Адамара.
78 Глава 2. Булевы функции Теорема 2.37. Для преобразования Уолша—Адамара справедлива формула обращения'. ехр /(х) = 2-л u€V„ Доказательство. Преобразуем правую часть формулы: 2"" ^2 ГДи)(-!)<*’"> =2~п ^2 $2(“ 1)№>ф<у’и>(- 1)<х,и> = uev'n uev„ yevn = 2~П 52(-1)№) J2 (-1 )<***“>. yeVn u€Vn Сумма 52 при фиксированном х € Vn равна нулю, если х/у, uevn и равна 2Л, если х = у. Учитывая это, получаем 2“л ^2 ^/(^)(-1)(х’м>=2"л(-1)/(х)2л = ехр /(х). □ uevn Таким образом, коэффициенты Уолша—Адамара однозначно опреде- ляют булеву функцию. Вместе с тем, не любой набор из 2Л чисел может быть набором коэффициентов Уолша—Адамара некоторой булевой функ- ции. Более того, ответить на вопрос «является ли данный набор чисел коэффициентами Уолша—Адамара?» не очень просто. Задача 2.38. Пусть W: Vn-^7L — некоторая целочисленная функция на Vn. Доказать, что булева функция f eFn такая, что W(u) = Wf(u) для любого и е Vn, существует тогда и только тогда, когда выполнены следу- ющие соотношения ортогональности: {О, если v 0; 22л, еслиг/ = 0. Отметим, что в силу теоремы 2.36 аналогичные теореме 2.37 формулы обращения справедливы и для коэффициентов Фурье. Задача 2.39. Пусть L С Vn — произвольное подпространство. Дока- зать, что справедливо следующее равенство [2dimL, еслиуе/Л; 52(-1)<ху> = < xeL [0 в противном случае. Приведём одно полезное и часто используемое утверждение.
§2.2. Числовые и метрические характеристики 79 Лемма 2.40. Пусть f е L С Vn — произвольное подпростран- ство и a, b eVn — произвольные векторы. Тогда 22 (-= 2 dim L~n(- 22 (2.15) хеафЬ yeb^L-L Доказательство. Для доказательства леммы достаточно восполь- зоваться теоремой 2.37, поменять порядок суммирования и воспользо- ваться задачей 2.39: £ J2 (2-" £ = xEa®L x€a®L ' yEVn ' = 2-" £ Wf(y) £ = yeVn x^a®L = 2^ь-п{_^{а.ь) £ IF/(у) (-1 )<“*>. □ уеЪ®1Л Соотношение (2.15) наиболее полезно в случае а = b = 0: 2> 1)/W = 2 dim L~n 22 wf(yY (216) x^L yeL-L Поскольку (—l/(x) = 1 — 2/(x), то отсюда легко получаем ещё одно по- лезное соотношение 22 IF/(y) = 2" — 2"-dim £+1 wt(/|L), (2.17) xeL1- где wt( Д) = #{ х е L | f(x) = 1}. Задача 2.41. Пусть f Доказать, что для любого вектора и € Vn такого, что wt(u) = k и координаты и® вектора и равные 1 расположены на местах Zj, ..., выполнено соотношение Е F/(x) = 2”-2i+1 X^Vn, X^U В частности, №z(0) = 2"-2 wt(/). Задача 2.42. Пусть для f и для фиксированного подпростран- ства Ло С Vn существует целочисленная функция W(y), у eVn, такая, что для произвольных векторов а, Ь G Vn выполнено равенство хеаф^о у€бф£^- Тогда U^z(6) = №(6) при всех Ь € Vn.
80 Глава 2. Булевы функции Теорема 2.43 (равенство Парсеваля). Коэффициенты Уолша— Адамара удовлетворяют следующему соотношению'. £ rz2(u) = 22n. uevn Доказательство. — у^ у^ — 22п. x,yevn uevn Задача 2.44. Доказать, что при любом и ф 0 для коэффициентов Уол- ша—Адамара справедливо соотношение Wf(x)Wf(x®u) = 0. xeVn Пусть / — произвольная аффинная функция: /(х) = а(1)х(1) ф... ф а(л)х(,г) ф Ь = (а, х} ф Ь, где а е Vn, b е F2. Поэтому будем записывать аффинную функцию I в ви- де / = 1а ь. Легко доказать следующее утверждение. Предложение 2.45. Справедливо равенство wla.Au) = < (-\)ь2п, 0, если и = а; если и^а. Задача 2.46. Доказать, что коэффициенты полинома Жегалкина функции f eFn выражаются через коэффициенты Уолша—Адамара сле- дующим образом: gz(u) = 2wt(u)_| - 2wt(u)-n~1 £ (mod 2). а=^иф1 Задача 2.47. Доказать, что если Wf(cx) = 0 (mod 2k) для всех а е Vn, то deg f п - k + 1. При вычислении коэффициентов Уолша—Адамара часто оказывается полезной следующая лемма.
§ 2.2. Числовые и метрические характеристики 81 Лемма 2.48. Пусть булева функция h е Тп+т от п + т перемен- ных представлена в виде суммы двух функций f еТп и g еТт от п и т непересекающихся переменных соответственно’. h(x, у) = f(x) ф g(y), где xeVn, ye Vm. Тогда Wh(a, 0) = Wf(oc)Wg(J3) для всех ае /Зе Vm. Доказательство. Непосредственное вычисление доказывает лемму: 1Гл(а,/3) = _ xevn, yevm xevn, yevm xevn yevm Пусть M с Tn — произвольное подмножество в Tn. Определение 2.49. Расстоянием от булевой функции ftTn до множества М называется следующая величина dist (Д М) = min dist(Д g). geM Из определения коэффициентов Уолша—Адамара видно, что Wf(u) = Г/ф/о0(0). Воспользовавшись результатом задачи 2.41, несложно получить W;(u) = 2п-2 wt(/ ф /ы,0) = 2" - 2 dist(Д /м,0). Поэтому dist(/,/u.0) = 2n-1-ir/(u), dist(/,/u,1)=2n-1 + |r/(u). Определение 2.50. Расстояние между булевой функцией f еТп и множеством аффинных функций Ап называется нелинейностью функции f и обозначается N р Предложение 2.51. Справедливо равенство Nf=2n-1 - | max IW>(u)| . 1 2 uevn 1 ' 1 Доказательство этого предложения непосредственно следует из при- ведённых выше рассуждений.
82 Глава 2. Булевы функции Задача 2.52. Пусть /2 £^2- Доказать, что для функции Дх, у) = Д (х) ф Д(г/), х е Угц, у € Vn2, выполняется неравенство Nf>2n*Nh+2n'Nh-2NhNh. Рассмотрим ещё одну форму представления булевых функций. Пусть 6и(х) — сдвиг 5-функции Дирака на вектор и е Vn: 8й(х) = 8(и<&х). Очевидно, что п (у (О если и^ — Г 6u(x) = Y[zi(u,x), где zi(u, х) = ] ’ /=1 [ 1 - x(z), еслии(/)=0. Для любой булевой функции Дх) е Fn выполнено равенство ftx)=52 f(u)Su(x). (2.18) uEVn Воспользовавшись представлением функций 6и(х) (ueVn)f выраже- ние (2.18) можно привести к виду полинома с целыми коэффициентами: /(х) = /(х(1\ ...,х<л)) = 52 А/(«)(х(1))“"’-...-(х(я))“"'’, (2.19) ueVn у которого степень по каждой переменной не превосходит 1. Ясно, что различным булевым функциям соответствуют различные целочисленные полиномы вида (2.19). Однако отметим, что произвольный целочисленный полином вида (2.19) может и не представлять на Vn булеву функцию, т. к. его значения на Vn могут быть отличны от 0 и 1. Определение 2.53. Будем называть числовой нормальной формой булевой функции (numerical normal form) f eFn полином с целыми коэффициентами вида /(х)=52 А/(и)(х<|>)“<1) •...•(x(">)“w. uevn Учитывая задачу 2.7, получаем Кх) = 52 м«)- ueVn, и^х Задача 2.54. Пусть feFn. Доказать, что для любого и е Vn выпол- нено равенство A/(U) = (-I)wt(u) 52 (-l)wtW/(x). (2.20) xeVn, ифс
§2.2. Числовые и метрические характеристики 83 (Указание: вначале вычислить коэффициенты числовой нормальной фор- мы функции 8и(х).) Зная числовую нормальную форму булевой функции f, можно легко получить полином Жегалкина этой функции, приведя числовую нормаль- ную форму по модулю 2. Обратно, зная полином Жегалкина функции /, можно получить числовую нормальную форму этой функции. Теорема 2.55. Пусть f е^п и /(?'», х(я))= ф ^(«)(Х(1>)“"’ • ...• (х(п))“'"’ иёК : — её полином Жегалкина. Тогда для любого ueVn п М«) = Е(-2)*-1 Е (2.21) vi,...,vkevn, Vi V... Доказательство. Теорему несложно получить путём многократного применения соотношения a®b=a + b — 2аЬ к алгебраической нормаль- ной форме и приведения подобных членов. □ Теорема 2.56. Пусть f deg f = d 0. Тогда для любого и eVn п *f(u) = Е (-2)*"1 Е (2-22) fe=| Wt(«)-1 | t J vlt...,vk£Vn, L d -I VjV...Vv*=u Доказательство. Пусть {vi, ..., vJ — множество, состоящее из k различных векторов пространства Vn. Если wt(vi V ... V Vk) > kd, то су- ществует индекс /, 1 /г, такой, что wt(v7)>d. Тогда для любого натурального £<(wt(u))/d, т. е. k < [(wt(u) — l)/d], любое слагаемое во внутренней сумме (2.21) имеет сомножитель gf(Vj) с wt(v7) >d, ко- торый равен 0, поскольку deg f = d. Следовательно, слагаемые в сум- ме (2.21), соответствующие k = 1,2, ..., [(wt(iz) — l)/dj, равны нулю. □ Следствие 2.57. В предположениях теоремы 2.56 любой коэф- фициент Xf(u), и eVn делится на Естественным образом устанавливается связь коэффициентов число- вой нормальной формы и коэффициентов Фурье.
84 Глава 2. Булевы функции Пусть f(x) = 52 (h)(x(1))w (х^)иП —числовая нормальная uevn форма булевой функции f. Тогда имеем вд=52 zw(-i)<a’x> = xevn = 52 Е А/(и)(х<,>/'’---(х(п))и,',,(-1)<вл> = Е w Еьл^- xevn uevn uevn xevn,u^x Заменив в последнем выражении для Wf (а) суммирование по х на сум- мирование по л:® 1, мы получим Wf(a)=^Xf(u) £ (-1)<^®'> = £ Xf(u) £ (_i)«M)®wt(a) = uevn xevn, uevn xevn, = (-0wt(a) E 2"-wt(u)A/(u). uEVn, a=$u Таким образом, справедливо Предложение 2.58. Имеет место равенство r/(a) = (-l)wt<a) 2n~wtwXf(u), ufzVn, a^u в частности, ___ Wt(/) = rz(0) = E 2n-wt(u)Az(u). uev„ Предложение 2.59. Имеет место равенство Хг(и) = 2~п(-2)^(и) 52 xevn, х^и Доказательство. Воспользовавшись задачей 2.54, имеем AZ(«)=(-i)wt<“> £ (-1Г(’7(у). yeVn, У^и Используем формулу обращения для коэффициентов Фурье, получим
§2.2. Числовые и метрические характеристики 85 Воспользовавшись теперь задачей 2.39, окончательно получаем ЛЛ(ы) =2-rt(—2)wt<"> ^2 Щх). □ xevn, x=$u Задача 2.60. Получить выражения, связывающие коэффициенты чис- ловой нормальной формы с коэффициентами Уолша—Адамара. Приведём несколько примеров расчёта коэффициентов числовой нор- мальной формы булевых функций. Пусть /а о £ >Сл, а е Vn. Воспользовавшись теоремой 2.55, получим Г (—2)wt(u)-1, если п а и и =4 0; 4,0(«) = sn 1^0 в противном случае. Пусть 1аЛ е Ап, а е Vn. Тогда (—2)wt<“>_|, если и и и/0; Ч.,(«) = 1. о если и = 0; в остальных случаях. Пусть deg f = 2. Легко показать, что в этом случае коэффициенты А/(а) либо равны 0, либо ±1, если и = 0; ±2\ i wt(u) — 1 в остальных случаях. Пусть г е {0, 1,..., п} и f — булева функция, принимающая значение 1 только на векторах х таких, что wt(x) = г. Тогда для неё А/(u) = (- Любая симметрическая булева функция является суммой функций такого вида. Перейдём к ещё одному способу представления булевых функций, часто используемому в теоретико-кодовых и криптографических прило- жениях. Пусть q =2п. Рассмотрим в кольце полиномов F^[x] множество /С полиномов с нулевым свободным членом, степень которых не превос- ходит q — 2. Каждый полином из /С реализует некоторое отображение F^ в себя. В поле F^ выберем некоторый базис 0%, ..., 0п над полем F2.
86 Глава 2. Булевы функции При этом xgF^ можно рассматривать как вектор, компонентами кото- рого являются его координаты относительно базиса 0\, 02, •••> x = Q}x^0i = (Oi, 02, ...,0Л) /х(,Л х<2> \х(п) / где х^ е F2, i = 1, 2, п. Для полинома Ре /С и следа Тгп (напомним, что Тгл(а) = а + о? + + ...4-а2” ) рассмотрим отображение Тгл(Р(х)). Поскольку значение Тгл лежит в F2, то Тгл(Р(х)) задаёт отображение из Vn в F2, т.е. булеву функцию, следующего вида Тг„(Р(х)) = Tr^x^e, фх<2)02 + ... + х(л)0„)) = = /р(х(|), х(2), х(л)) = fp(x). Напомним, что в правой части последнего равенства х, как было отмечено выше, рассматривается уже как вектор из Vn. Поскольку при п> 1, то ясно, что для различных поли- номов Р и Q из /С может выполняться соотношение fp(x) = fQ(x), т. е. они представляют одну булеву функцию. Поэтому естественно выделить в множестве /С какое-нибудь каноническое множество полиномов, пред- ставляющих булевы функции. Определение 2.61. Полиномы Р, QeF^fx] называются эквива- лентными по следу, если для любых х е F7 выполняется равенство Тгл(Р(х)) = Тгл((?(х)). Задача 2.62. Доказать, что Тгл(Р(х)) = 0 для любых xeF^ тогда и только тогда, когда Р(х) = Q(x) + Q2(x) для некоторого полинома QeF^x]. Напомним понятие циклотомического класса (см. §1.3). Множество вычетов по модулю 2п — 1 относительно операции умножения на 2 раз- бивается на подмножества, называемые циклотомическими классами по модулю 2п — 1. Циклотомический класс Слл, в котором s — наимень- шее число, состоит из чисел Cn,s = {$, s • 2, s • 22, s - 2Л*-’}, где ^ — наименьшее целое число такое, что S’2ns=s (mod 2П — 1).
§2.2. Числовые и метрические характеристики 87 Число s будем называть представителем циклотомического класса. Множество всех ненулевых представителей циклотомических классов обозначим Пл. Мощность ns циклотомического класса Cn,s делит число п (это свой- ство равносильно тому, что в поле F2« существует единственное подполе F2«s порядка ns). Относительный след Тг2«/2^ поля F2* над полем F2«s — это линейное (над F2«s) отображение, ядро которого состоит из элементов вида b ф Ь2”3, b € F2n. В каждом смежном классе аддитивной группы поля F2n по этому ядру имеется единственный элемент cs G F2«5. Определение 2.63. Полином Р(х) е /С будем называть циклотоми- чески приведённым, или сг-полиномом, если он имеет вид Р(х) = ф csxs, cs е F2ns. Теорема 2.64. 1. Каждый полином из /С эквивалентен по следу некоторому циклотомически приведённому полиному. 2. Различные циклотомически приведённые полиномы неэквива- лентны по следу. 2п—2 Доказательство. Пусть Р(х) = ф aix1 е /С. Представим этот по- i=l лином в виде Ms 1 Р(х) = ф ф as-2iXS'V = ф PS(X). 5бПл /=0 5СПЛ Зафиксируем $ еЩ и рассмотрим полином Ps(x), который естественно называть циклотомически однородным: Пз — 1 Ps(x) = ф а^х5'2'. i=o Поскольку след инвариантен при действии на аргумент автоморфизмов Фробениуса, то для любого целого t выполнено равенство: Trn(as.2/Xs'2') = Tr„(a2'2/xs2'+') для всех s G Щ, / = 0, ..., — 1, as.2/ G F2«. В частности, при t =ns — j выполнено равенство (см. определение числа ns): ’Yrn(as.2iXs2') = Trn(a^2~'xs).
88 Глава 2. Булевы функции Таким образом, в силу линейности следа справедлива цепочка равенств: Tr„(Ps(x)) = ф Тг^а^х5'2') = ф Tr„(af2/"V) = Тг« (** ' ф аТ%'\ /=0 /=0 ' i=0 ' Поэтому циклотомически однородный полином Ps(x) эквивалентен по следу следующему моному: /П5-1 х (е Проделав аналогичные вычисления для каждого s из Пп, получим пер- вое утверждение теоремы. Задача 2.65. Показать, что различные циклотомически приведённые полиномы неэквивалентны по следу. Результат задачи 2.65 завершает доказательство теоремы. □ Поскольку произвольный сг-полином Р удовлетворяет соотноше- нию Р(0)=0, то />(0) = 0. Кроме того, deg/><n. Следовательно, сг-полиномов недостаточно для представления всех булевых функций из Тп. Рассмотрим множество Оп полиномов Р' е F2« [х] вида Р'(х) = cqo. ф Р(х) ф С2Л-1 «х2””1, где Р(х) — произвольный сг-полином, а е F2«, такой, что Тгп(а) = 1, a Cq и С2л-1 ~ элементы поля F2. Задача 2.66. 1. Доказать, что различные полиномы из множества Оп неэквивалентны по следу. 2. Доказать, каждый полином из F2« [х] эквивалентен по следу неко- торому полиному из Оп. Лемма 2.67. Для любой булевой функции существует единственный полином РеОп такой, что fp=f. Доказательство. Обозначим Щ =ПП U{0, 2п — 1}. Из определения множества Оп имеем п #Оп = П 2ns=2sen* \ sen'n где по = Л2л-1 = 1. Положим = #{$ С Щ \ns —t}. Тогда, исполь- зуя принцип включения-исключения и формулу обращения Мёбиуса для
§2.2. Числовые и метрические характеристики 89 перечисления циклических последовательностей (см. [232]), получаем Е Е = =2'i" =22 = #Л„ Полученное соотношение для мощности Оп и результат задачи 2.66 до- казывают лемму. □ Естественно назвать полиномы из Оп полиномами, представляющими булевы функции из Рассмотрим ещё два важных понятия, часто используемых при ис- следовании различных свойств булевых функций. Определение 2.68. Производной булевой функции f по направле- нию и (и / 0, и е Vn) называется следующая булева функция (Du f)(х) = /(х ф и) ф Дх), х G Vn. Определение 2.69. Производной булевой функции f по направлению подпространства L с Vn называется следующая булева функция (£>£/)(х) = ф }(хфи). u^L Нетрудно заметить, что если uj, ..., (k^n) — базис подпростран- ства L, то Dl? = DUkDUk { ... DUJ. Задача 2.70. Доказать следующие свойства производных: 1) для любого подпространства L с Vn и любых f е и 6 £, х € Vn выполнено равенство DLf(x) = DLf(x®u); 2) для любых f, geFn и любого подпространства L С Vn выполнено равенство Ddf ®g) = DL(f) ®DL(g); 3) для любой f и любых и, V, х € Vn выполнено равенство Du®v /(х) = Du Дх) ф Dv Дх ф и); 4) равенство Duf = O выполнено для любого и е Vn тогда и только тогда, когда f = const; 5) равенство Duf = const выполнено для любого и е Vn тогда и только тогда, когда f — аффинная функция.
90 Глава 2. Булевы функции Задача 2.71. Пусть ^(х)еЛ, w 6 — некоторый набор булевых функций. Доказать, что справедливость тождеств ^ифг(х) = (Ри(х) Ф<^(*Ф и) для любых и, v, х е Vn является необходимым и достаточным условием существования булевой функции f такой, что Duf(x) = ipu(x) для любых и, хе Vn. (Эти условия можно считать условиями «интегрируемости» системы булевых функций ^а(х)еЛ, ueVn. В общем случае — функций на ко- нечной абелевой группе —эти условия получены в работе [45].) В заключение данного параграфа отметим, что он не претендует на полноту. Существуют и другие, не упоминавшиеся нами представ- ления булевых функций, играющие важную роль в различных разделах дискретной математики. В частности, примером могут служить дизъюнк- тивные нормальные формы. Мы рассмотрели только те представления булевых функций, которые эффективно использовались в криптологии и в теории кодирования. § 2.3. Автокорреляция и взаимная корреляция Взаимная корреляция и автокорреляция булевых функций является одним из важнейших инструментов в исследовании криптографических свойств булевых функций. С его помощью можно характеризовать раз- личные свойства булевых функций и устанавливать между этими свой- ствами содержательные связи. Определение 2.72. Пусть /, Целочисленная функция д/,д«) = Е (—1}/(х)ф£(*фи), xevn определённая на пространстве Vn, называется функцией взаимной кор- реляции, или взаимной корреляцией (cross-correlation) булевых функ- ций f и g. Очевидно следующее предложение. Предложение 2.73. При любом ueVn и любых f, geFn имеет место равенство
§2.3. Автокорреляция и взаимная корреляция 91 Определение 2.74. Пусть f Целочисленная функция АДн) = xevn определённая на пространстве Vn, называется автокорреляционной функцией, или автокорреляцией (auto-correlation) булевой функции f. Несложно видеть, что автокорреляция функции f в точке и е Vn сов- падает с нулевым коэффициентом Уолша—Адамара производной функ- ции f по направлению и: bf(u) = WDul(0). Очевидно следующее предложение. Предложение 2.75. При любом ueVn и любой f имеет ме- сто равенство А/,Ды) = д/(“) Не любой набор из 2Л чисел может быть набором значений автокорре- ляции некоторой булевой функции. Более того, ответить на вопрос «явля- ется ли данный набор чисел набором значений автокорреляции некоторой булевой функции?» не очень просто. Задача 2.76 (нерешённая). Пусть Д: Vn —>Z — некоторая целочис- ленная функция на Уп и Д(0) = 2л. Найти эффективные необходимые и достаточные условия, при которых существует булева функция f такая, что Д^ = Д. Определение 2.35 преобразования Уолша—Адамара можно записать в матричной форме. Для этого нам потребуется следующее определение. Определение 2.77. Матрицей Адамара типа Сильвестра на- зывается квадратная (2Л х 2Л)-матрица Нп (п — натуральное) такая, что = Нп = Н\®Нп_\ для п>\, где 0 — кронекерово (тензорное) произведение матриц. Важнейшие свойства этих матриц вытекают из следующего соотно- шения: Нп = Н^ = 2пН~1. В частности, отсюда следует, что НпН^ = НпНп = 2пЕ<у, где — единичная (2Л х 2Л)-матрица.
92 Глава 2. Булевы функции По существу, матрица Нп = (hu,v), u,vt Vn, со строками и столб- цами, занумерованными векторами пространства Vn, представляет собой таблицу значений характеров элементарной абелевой 2-груп- пы, т. е. hu,v = (— Для удобства нумерации столбцов и строк этой матрицы используют взаимно однозначное соответствие между Vn и Z2«, когда вектору и ставится в соответствие число k(u) = и^ 4- и<® • 2 +... ... + и^ • 2"~1. Тогда, воспользовавшись определениями 2.35 и 2.77, строку коэффициентов Уолша—Адамара можно представить в виде (ГДО), .... Г/(2л-1)) = ((-1)Л°). Определение 2.78. Булевы функции /, geJ’n называются совер- шенно некоррелированными (perfectly uncorrelated), если при любом и е Vn имеет место равенство AAg(«) = 0. Определение 2.79. Булевы функции /, называются некорре- лированными порядка k (uncorrelated of degree k), O^k^n, если при всех и е Vn таких, что 0 < wt(iz) < k, Д/,И«)=о. Перейдём теперь к рассмотрению так называемой теоремы о взаим- ной корреляции. Значение этой теоремы определяется возможностью с её помощью получать различные результаты, как появившиеся ранее из дру- гих соображений, так и описывающие новые криптографические свойства булевых функций. Теорема 2.80 (о взаимной корреляции). Пусть f, gzFn- Тогда (AAg(0), AAg(2"-!))//„ = (Г/(0)Гя(0), .... ГД2Л- l)Fg(2n- 1)). Доказательство. Выполним следующие очевидные преобразо- вания: ^2 A/.g(«)(-!)<“"> = 52 52(-1)^®^®и)(-1)<“-о) = uev„ uev„ xev„ = у2 (-1)52 (- о г(ж®и)®. xev„ uev„
§2.3. Автокорреляция и взаимная корреляция 93 Воспользовавшись теперь заменой переменных z = хф и, получаем 1)^Х) (—(_ |^(2)®<2фХ,и) _ xevn uevn xevn zeyn = 52(-l)g(z)®<^ = r/(v)rg(v). □ X€V„ zevn Следующее утверждение фактически является аналогом для булевых функций хорошо известной теоремы Винера—Хинчина для непрерывных функций. Следствие 2.81. Пусть f eFn- Тогда (4/(0), Д/(2" - !))//„ = (Г2(0), W?(2" - 1)). Доказательство. Достаточно применить теорему 2.80 при f = g. □ Задача 2.82. Пусть булева функция h е 7^+^ от п + т переменных представлена в виде суммы двух функций f е Fn и g е от п и т непе- ресекающихся переменных соответственно: h(x, у) = f(x) ф g(y), где xeVn, у eVm. Доказать, что ДА(а, /3) = ДДа)Дг(/3) для всех а € Vn, /3 е Vm. Следствие 2.83. Пусть f, g € Тп- Тогда 2я(ДАг(0),..., AAg(2"- 1)) = (ГДО) U/g(0),..ГД2Я - 1) Гё(2я - Из последнего следствия, в частности, вытекает равенство Парсеваля: ^2 Г/2(и) = 2',Д/(0) = 22п. «6V„ Следствие 2.84 (теорема о свёртке). Пусть h(x) = f(x) ф g(x), где f, geFn- Тогда Wh(u) = ±. £ xevn при любом и eVn- Доказательство. Положим g\ (х) = g(x) ф {и, х). Тогда Wgl (и) = = Wg(v®u) для всех veVn и Wh(u) = (0). Используя след- ствие 2.83, получим Wh(u) = ^^iWf(x)Wgi(x)^^^Wl(x)Wg(x®u). □ хе vn хе уп
94 Глава 2. Булевы функции Рассмотрим для каждой булевой функции f множество ненулей коэффициентов Уолша—Адамара: Vn\Clf={ue Vn\Wf(u)^0}. Это множество чрезвычайно важно для криптографических приложе- ний — как будет видно из дальнейшего изложения, многие важные крип- тографические свойства определяются множеством ненулевых коэффи- циентов Уолша—Адамара. Там же будет подробно рассмотрено множе- ство CIf={veVn\Wf(v) = Q}. Определение 2.85. Булевы функции Д gEFn имеют непересекаю- щиеся спектры (non intersecting spectra), если Vn\ClfQVn\CIg = 0. Задача 2.86. Доказать, что булевы функции Д g^Fn имеют непе- ресекающиеся спектры тогда и только тогда, когда Wf(u)Wg(u) = 0 для всех и е Vn. Лемма 2.87. Булевы функции f, gEJ~n имеют непересекающиеся спектры тогда и только тогда, когда они совершенно некоррели- рованы. Доказательство. Пусть функции f и g имеют непересекающиеся спектры, т.е. Wf(u)Wg(u) = 0 для всех и е Vn (см. задачу 2.86). Вос- пользовавшись следствием 2.83, получим: Д/,И“) = ^ Е rz(x)rg(x)(-l)^u> =0. xeVn Обратное утверждение следует из теоремы 2.80. □ Лемма 2.88. Пусть f, ge?n. Тогда Е Д^(а)^23я. uevn Доказательство. Пусть 1Г=(ГД0)^(0), ..., Wf(2n — 1)ГЯ(2Л- 1)), Д = (ДАг(0),..., ДАг(2я-1)). Тогда согласно теореме 2.80 имеем {W, W) = (Д//„, ДЯ„) = Д) = 2"(Д, Д);
§2.3. Автокорреляция и взаимная корреляция 95 здесь скалярное произведение (•, •) рассматривается в поле действи- тельных чисел. Следовательно, 2" £ A^,g(«)=E Wf(u)W2g(u)^ ueVn uevn < (Е (Е wg^)=22п-22п=24n- 'uevn ' Че 14 ' Из этого неравенства мы и получаем лемму. □ Теорема 2.89. Пусть f, g eFn и L — подпространство простран- ства Vn. Тогда Е wf(x)wg{X)=^mL е x^L и€1Л Доказательство. Используя теорему 2.80, мы можем записать Е rz(x)rg(x)=E Е Д/,И“)(-1)<ил> = Е д/.и«) Е^1^- xeL xeL uevn uevn xeL Для завершения доказательства леммы остаётся применить задачу 2.39. □ Теорема 2.90. Для любых f, g выполнено неравенство ^A^.WA^max|A^(u)|, где N А и = # {и € Vn | A ftg (и) ^0} и NWbg = #{ueVn\Wf (и) Wg (и) ± 0}. Доказательство. Предположим, что Ад^(и) = 0 для любого и € Vn. Тогда, очевидно, выполнено неравенство из формулировки теоремы. Следовательно, достаточно рассмотреть случай, когда существует такой и е Vn, что A/,g(u) 7^0. Тогда для некоторого Uq € Vn имеем |A/,g(“o)l = max |A/,g(«)| > 0. Рассмотрим взаимную корреляцию между функциями f(x) и Si (х)= = g(x®uo). Имеем Az<gl(0) = AZig(ao), т. е. максимум модуля значения функции взаимной корреляции сдвигается в 0. Если AZgl(0) <0, то рас- смотрим корреляцию между функциями f(x) и g(x ф ио) ф 1. Нетрудно проверить, что все проделанные выше операции не изменяют значения параметров NW^g. Поэтому без нарушения общности мы будем предполагать, что A/,g(0) > 0 и Д/^(0) = max | Af g (и) |. Воспользовавшись следствием 2.83, имеем 2"ДАв(0)=Е Wf(u)Wg(u). uevn
96 Глава 2. Булевы функции Так как ДАя(0) >0, то не все Wf(u)Wg(u) равны нулю. Следовательно, существует такой вектор Zq и такое г е F2, что Wf (so) wg(z0) = (-1 )£ max | Wf (u) Wg (u) |. Поскольку величина Дд^(н) не превосходит 2я, то 2nNAf,g > £ ДЛ<?(«) = rz(0)rg(0). uevn Положим h\(x) = f(x)ф (zq,x) и hz(x) = g(x) ф (zq, x) ® e. Тогда Щ (0) Wh2 (0) = (-1Г Wf (zo) Wg(z0) = max | Wf (u) Wg (u) |. Кроме того, ясно, что N^g = # {и G Vn I ДА^(и) / 0} = # {и e Vn I ДЛ1Л (u) / 0} = /V ДЛ1Л. Следовательно, 2nNAf'g =2^ДЛьЛ2 > ДА„М«) = (0)ГЛ2(0) = uev„ = Wf(z0)Wg(z0) = max |^(«)IFg(«)|. we уn Также мы имеем £ Wf(u)Wg(u) 2я max |ДАя(м)| Г2Я - NW 1 > ueVn___________= 2 = ё y f'Z>'max\Wf(u)Wg(u)\ max|W7(«)rg(«)| max\W,f(u)Wg(u)\- Vn u£Vn u£Vn Перемножая эти два неравенства, получаем утверждение теоремы. □ Полагая в теореме 2.90 f = g, получаем Следствие 2.91. Для любой f выполнено неравенство N^rNWf^2\ (2.23) где N^f=#{ueVn\^f(u)/0} и NWf=#{ueVn\Wf(u)^0}=#(Vn\Clf). Замечание 2.92. Неравенство (2.23) в лаконичном, формальном виде выражает серьёзный методологический тезис, и его в некотором смыс- ле можно считать аналогом соотношения неопределённостей Гейзенбер- га, хорошо известного в квантовой физике. Дело в том, что, как будет показано в последующих главах книги, для обеспечения некоторых крип- тографических качеств булевой функции нужно обеспечить небольшое количество нулевых коэффициентов Уолша—Адамара, а для обеспечения других качеств — небольшое количество нулей функции автокорреляции.
§ 2.4. Групповая алгебра булевых функций 97 Неравенство (2.23) показывает, что и то, и другое одновременно обеспе- чить невозможно, т. е. если булева функция «хороша» в одном смысле, то она «плоха» в другом смысле. §2.4. Групповая алгебра булевых функций Множество Тп булевых функций можно превратить в коммутативное кольцо, определив операцию свёртки «*» булевых функций следующим равенством (f * g)W = ф fix® y)g(y) = ф f(z)g(Z ®х) yev„ zev„ для любого хе Vn. Это кольцо называется групповой алгеброй и обо- значается РгКр В общем случае групповая алгебра строится из двух объектов — группы и поля (см. [180]). Некоторые задачи из теории буле- вых функций удобно рассматривать, пользуясь аппаратом и свойствами групповой алгебры. Рассмотрим для примера, как с помощью операции свёртки может быть выражено дифференцирование булевых функций. Согласно опреде- лению 2.68 производная булевой функции f е^п по направлению под- пространства L С Vn равна (О/./)(х) = ф /(хфи). ueL Из определения операции свёртки видно, что DLf = f*IL, где — функция-индикатор подпространства L: {1, если х е L\ 0, если х % L. Таким образом, свёртку булевых функций можно считать обобщением производных, и естественно ожидать, что для свёртки будут выполнены аналоги многих свойств, доказанных для булевых производных. Каждой булевой функции f можно поставить в соответствие опе- ратор свёртки Sh действующий в F2 Vn следующим образом Sfg = f*g.
98 Глава 2. Булевы функции Множество операторов Sf (для всевозможных /) порождает так назы- ваемую алгебру умножений F2I4, изоморфную алгебре F2I4 (см. [62]). Оператор Sf является линейным и его свойства, разумеется, определя- ются свойствами функции /. В функциональном анализе (см. [420]) применяется теорема, выделя- ющая операторы свёртки среди всех линейных операторов. Приведём её применительно к групповой алгебре F2I4. Теорема 2.93. Операторы свёртки на F2I4 и только они яв- ляются линейными операторами, которые коммутируют с опера- торами сдвига, т. е. являются решениями операторного уравнения Stu = tuS для всех и е Vn, где S: ^Уп —> F2I4 — неизвестный линейный опера- тор, a tu: Fn, и eVn, — оператор сдвига, определяемый фор- мулой (tuf)(x) = f(x®u) для всех f е 74, х е Vn- Доказательство. Пусть S =Sf — оператор свёртки, задаваемый бу- левой функцией f е^п- Тогда при любых §6 74, хе Vn выполнено ра- венство (Sftug)(x)= 52 f(x®y)g(y®u) = 52 f(x®u®z)g(z) = (tuSfg)(x), yev„ z&v„ t. e. Sf является решением указанного выше операторного уравнения. С другой стороны, пусть линейный оператор S: F214—>F2Vrt — ре- шение операторного уравнения. Рассмотрим следующий функционал /:74-*F2 /(g) = (5g)(0). Этот функционал линейный и поэтому найдётся такая булева функ- ция /, что Kg) = 52 Kx)g(x) xevn при всех geFn- Пользуясь этим равенством и исходным операторным уравнением, получаем при любой geFn 52 f(x)g(x® и) = (S/ug)(0) = (tuSg)(O) = (Sg)(u), xevn и тем самым f * g = Sg, т. e. S =Sf. □
§ 2.4. Групповая алгебра булевых функций 99 Заметим теперь, что, как легко проверить, оператор сдвига тоже яв- ляется оператором свёртки tu = Ssu, где 6ц определена условием 6и = tu6, а 6 — функция Дирака. Кроме того, любой оператор свёртки является линейной комбинаци- ей некоторых операторов сдвига, точнее, оператор Sf является суммой операторов tu по всем векторам и, на которых функция f равна единице. Пусть теперь функции f(x) и g(x) заданы своими полиномами Же- галкина. Найдём выражение для функции f * g. Разложим произведение f(x®y)g(y) как функцию от у, по степеням у с коэффициентами — бу- левыми функциями от х. При булевом суммировании по всем у е Vn все мономы от у обнулятся, кроме старшего члена у^у<® •... • у^. Отсюда очевидны следующие утверждения. Лемма 2.94. Булева функция (f * g)(x) равна коэффициенту при у^у^ •... • у^ в разложении f(x®y)g(y) по степеням у. Следствие 2.95. Если deg f 4- deg g < n, mo f * g = 0. Если deg f + 4- deg g^n, mo deg f * g deg f + deg g — n. Подробнее рассмотрим несколько полезных примеров. Пример 2.96. Моном x(z,)x(/2). . х0*) обозначим ха, где а е Vn стро- ится по набору z’i, z*2, ..., ik следующим образом: а(/) = 1 j €{Zb /2) t Тогда а ь Г(х®1)а6> еслиа\/6 = 1; [О в противном случае. Здесь а • 6 = (а^Ь^\ ..., а^Ь^). Для доказательства заметим, что мо- ном у^у® •... • у(п) присутствует в разложении (х ф у)ауь по степеням у в том и только в том случае, когда а V b = 1, или, что эквивалентно, а = (6ф 1) фаб. В этом случае (х®у)ауь = (х ® у)ь®'уь (х ® у)аЬ и коэффициент при у^у® •... • у^п\ очевидно, равен (хф 1)аА Пример 2.97. Пусть /(х) = ф g[(a)Xй — произвольная функция. Тогда aeVn f*xb = ф gf(a)(x® I)"'6.
100 Глава 2. Булевы функции Это выражение получается из примера 2.96 с учётом линейности свёртки и того, что условие а = (6 ф 1) ф ab эквивалентно условию а > Ь ф 1. Пример 2.98. Пусть f(x) = ф g^(a)xfl — однородная форма сте- aeVn wt(a)=r пени г. Тогда b если wt(6)=n —г; gf ® О, еСЛИ Wt(6) = П — Г + 1. В последнем случае суммирование ведётся по всем п - г + 1 таким зна- чениям /, что № = 1, и при этом для каждого такого i вектор at опреде- ляется равенством а/ = (Ь ф 1) ф ez-, = 1 <=> i = j. Отметим, что в силу линейности свёртки для любых /, g, he Fn вы- полнено равенство (/ * g)M = (f* gh)(x) ф (/ * g(h ф l))(x). Это равенство, в частности, позволяет вычислять свёртку фиксированной функции f с функцией степени нелинейности г, зная свёртки f с функ- циями большей степени нелинейности. Отсюда же вытекает, что если f * g = 0 для всех таких g, что deg g = r + 1, то f * g = 0 для всех та- ких g, что deg g < г. С помощью этого соображения, а также след- ствия 2.95 и примера 2.98 доказывается следующее утверждение. Лемма 2.99. Степень нелинейности булевой функции f еТп рав- на г в том и только в том случае, когда выполнены два условия'. 1) f * g = 0 для всех g такой, что deg g = п - г - 1; 2) f * g ф 0 для некоторой g такой, что deg g = п — г. Подчеркнём, что в силу линейности свёртки условие 1 леммы доста- точно проверить для некоторого базиса функций g степени нелинейности п — г — 1. Поскольку код Рида—Маллера RM(r, п) (см. главу 5), определяемый как множество всех двоичных векторов длины 2п, задаваемых булевы- ми функциями степени нелинейности не более чем г, является линейным пространством в Fn, то булевы функции можно приводить по модулю RM(r, п). Будем обозначать f = g (mod RM (г, п)) если deg(/® g) < г. Пользуясь линейностью свёртки и леммой 2.99, по- лучаем следующее утверждение.
§2.5. Криптографические свойства булевых функций 101 Следствие 2.100. Для произвольных булевых функций f, ge^n сравнение f~g (mod RM (г, n)) выполнено тогда и только тогда, когда f * h = g * h (mod RM(r, n)) для всех таких h, что deg h = n — r — 1. Естественно, последнее требование достаточно проверить для всех g из некоторого базиса. Отметим теперь, что условия deg g = п — г — 1 в лемме 2.99 и deg h — — п — г — \ в следствии 2.100 можно заменить на условие deg g = п — г, если вместо равенства f * g = 0 требовать равенство f * g = const (кон- станта зависит от g). Получим следующее утверждение. Лемма 2.101. Степень нелинейности булевой функции равна г в том и только в том случае, когда выполнены два ус- ловия: 1) f * g = const для всех g таких, что deg g = п - г; 2) f * g const для некоторой g такой, что deg g = п — г 4-1. Следствие 2.102. Для произвольных булевых функций f, g^Fn сравнение f = g (mod RM (г, n)) выполнено тогда и только тогда, когда f * h = g * h (mod RM(r, n)) для всех таких h, что deg h = n — г. § 2.5. Криптографические свойства булевых функций и отображений Целью настоящего параграфа является определение основного объек- та данной книги — криптографических свойств булевых функций и отоб- ражений. Стремясь сохранить математический стиль изложения, авторы старались как можно меньше использовать специфические криптогра- фические и технические понятия и термины, связанные с проблематикой создания реальных систем криптографической защиты информации. К та- ким понятиям, например, можно отнести классификацию шифров (крип- тографических систем), управление ключами, синхронизацию функцио- нирования шифрующих устройств и многие, многие другие. Достаточно
102 Глава 2. Булевы функции подробное изложение связанных с этими понятиями вопросов можно най- ти, например, в [2, 17]. Вместе с тем подчеркнём, что рассматриваемые в книге свойства булевых функций, даже на первый взгляд абстрактно математические, исторически выделялись под влиянием реальных задач анализа и синтеза шифров. С другой стороны, известны примеры, ко- гда некоторые авторы из абстрактных соображений начинали углублённо изучать свойства булевых функций, ссылаясь на их якобы криптогра- фические приложения, но потом оказывалось, что выделенные свойства никак в криптографическую практику не вписываются. Для дальнейшего необходимо дать представление о двух наиболее ши- роко используемых системах шифрования. Под потоковым шифром (stream cipher) будем понимать шифр, вы- рабатывающий на основе ключа псевдослучайную последовательность элементов поля F2 и реализующий поэлементное модульное (по модулю 2) сложение членов этой последовательности с элементами шифруемой ин- формации, представленной также в двоичном виде. Под блоковым шифром (block cipher) будем понимать шифр, выра- батывающий на основе ключа подстановку большой степени 2П и преоб- разующий блоки шифруемой информации, состоящие из п бит, в соот- ветствии с этой подстановкой. Замечание 2.103. Мы дали не формальные определения классов шифров, а лишь необходимое для читателя пояснение о характере используемых преобразований. Более подробное знакомство с таки- ми шифрами, входящими в семейство шифров с секретными ключами (symmetric cipher), будет проводиться в гл. 9. Нас будут интересовать лишь различные свойства тех преобразований информации, которые реализуются в процессе шифрования. Определение 2.104. Криптографическими (дискретными) функ- циями мы будем называть системы булевых функций, используемых для преобразования информации в некотором шифре. Для обычных математических рассуждений мы будем использовать термины «(булева) функция» и «отображение». В 1949 г. К. Шеннон (С. Shannon) опубликовал свою знаменитую ра- боту [386]. В ней, в частности, он, как криптограф-практик и вместе с тем гениальный учёный, обобщил известную ему криптографическую практи- ку и сформулировал фундаментальные принципы построения криптогра- фических функций.
§2.5. Криптографические свойства булевых функций 103 Первый из них —рассеивание (diffusion), посредством которого «...статистическая структура сообщений, которая приводит к избы- точности в сообщениях, „распыляется" в статистику больших длин, т. е. в статистическую структуру, включающую длинные комбинации букв криптограммы». Второй принцип — запутывание (confusion) «...состоит в том, что со- отношения между простыми статистиками в пространстве криптограмм и простыми подмножествами в пространстве ключей делаются весьма сложными и беспорядочными». После примеров, иллюстрирующих эти принципы, но не формализу- ющих их, К. Шеннон делает вывод о том, «...что для изучения секретной системы нужно применить тот или иной из рассмотренных принципов или оба вместе». Кроме того, К. Шеннон вводит в криптографический оборот хорошо известный в эргодической теории принцип перемешивания. Хотя переме- шивание в точном смысле может осуществляться лишь в пространствах с бесконечным числом точек, К. Шеннон даёт криптографическую трак- товку этого понятия: «Однако под перемешиванием можно понимать, грубо говоря, такое отображение, которое распределяет любую разум- но расположенную область довольно равномерно по всему пространству. Если до отображения область можно было бы описать в простых терми- нах, то после отображения потребовалось бы очень сложное описание». Комментируя этот принцип, К. Шеннон отмечает возможность реализа- ции хорошего перемешивания «...с помощью повторных произведений двух простых некоммутирующих операций» [386]. К. Шеннон также при- водит конкретные примеры. Хотелось бы отметить два момента. Во-первых, принципы построе- ния криптографических функций, высказанные К. Шенноном, являются эмпирическими и не носят формально-математического характера. Это непосредственно видно из тех пояснений, которые даёт К. Шеннон в своей статье. Во-вторых, эти принципы относятся не к какому-либо конкрет- ному виду шифров, а к криптографическим функциям вообще. Например, семейство блоковых шифров, на которых современные авторы с удоволь- ствием демонстрируют принципы К. Шеннона, появилось гораздо позже самих принципов и конструировались с учётом этих принципов. Очевидно бесперспективны попытки некоторых авторов формали- зовать принципы К. Шеннона как определённый законченный набор свойств криптографических функций. Развитие методов криптогра- фического анализа время от времени пополняет набор тех свойств, которым должны удовлетворять криптографические функции. Поэтому
104 Глава 2. Булевы функции формально-математическое содержание принципов Шеннона постоянно расширяется. Перейдём к предварительному знакомству с рядом важнейших свойств криптографических функций. Подробное рассмотрение этих свойств будет проведено в последующих главах настоящей книги. Пусть Ф: Vn —> Vm — некоторое отображение пространства Vn в про- странство Vm. Множество всех отображений из Vn в Vm будем обозначать Fn,m- Очевидно, отображение Ф может быть записано в виде у^ = ..., х(л)), У{т) = Мх^, где fi (z = 1, 2, ..., m) — координатные булевы функции, задающие отображение Ф. Формально отображение Ф будем записывать в виде Ф = (А,..., fm>. Уравновешенное отображение. Определение 2.105. Отображение Ф € Fn,m (т п) называется уравновешенным (balanced), если для любого vtVm выполнено равен- ство #{ueVn\$(u) = v} = 2n-m. Очевидно, что каждое уравновешенное отображение должно быть сюръективным. Сюръективность же равносильна тому, что не существу- ет булевой функции g от т переменных, отличной от функции-константы 0, такой, что g(/l(«), /т(«))=0. Такие функции f\ j • ••» fm называются алгебраически независимыми. В граничном случае п = т, когда сюръективность и взаимная одно- значность отображения Ф совпадают, алгебраическая независимость функций /1, ..., fm эквивалентна взаимной однозначности отображения Ф = fn). Задача 2.106. Доказать, что отображение Ф = (Д » • • • , fm) сюръек- тивно тогда и только тогда, когда функции f\ •••> fm алгебраически не- зависимы. В случае т = 1 отображение Ф = f является булевой функцией, кото- рая называется уравновешенной, если
§2.5. Криптографические свойства булевых функций 105 Нелинейность криптографических отображений. Определение 2.107. Нелинейностью отображения (nonlinear- ity) Ф называют следующее целое число где — нелинейность булевой функции Ф...Фс^/т (см. определение 2.50, §2.2). Корреляционно-иммунные и устойчивые функции. Определение 2.108. Булева функция f е^п называется корреляци- онно-иммунной порядка т, Х^т^п (correlation immune), если для любых наборов 1 i\ < ... < im < и, ..., с№ EF2, выполняется со- отношение =^д. при этом функция f?' ‘"-та{ } рассматривается как функция от п — т пе- ременных. Уравновешенную и корреляционно-иммунную порядка т функцию иначе ещё называют m-устойчивой (resilient). Устойчивые отображения. Понятие устойчивости для отображения Ф Е ТпУт обобщает понятие устойчивости для функции и определяется как способность отображения сохранять свойство уравновешенности при фиксации некоторых наборов координат аргумента. Определение 2.109. Отображение Ф = (Д, ..., fm)eFn,m называет- ся (и, т, ^-устойчивым, если для любых наборов 1 < i\ < ... < it < п, а(1),..., а(/) е F2 отображение Ф' = • • •, € Л-г,т является уравновешенным. Строгий лавинный критерий (SAC). Критерий распростране- ния (PC). Определение 2.110. Функция f EFn удовлетворяет: 1) критерию SAC, если /(хф«)ф/(х) является уравновешенной функцией для любого и е Vn такого, что wt(u) = 1; 2) критерию SAC(&), 1 < k < п, если подфункция при лю- бых 1 < i[ < ... <ik^n, ..., с№ е F2 удовлетворяет SAC; 3) критерию РС(/), 1 < / п, если f(x®u) ф /(х) является уравно- вешенной функцией для любого и е Vn такого, что 1 С wt(u) < /;
106 Глава 2. Булевы функции 4) критерию РС(/) критерию k, \ < I п, 1 k < п, если подфунк- ция f? 'yka при любых 1 С i\ < ... < ik < п, а(1), а^ е F2 удовлетво- ряет РС(/). Легко видеть, что имеются определённые взаимосвязи между описан- ными выше критериями. Подробные комментарии по этому поводу будут приведены ниже в разделах, посвящённых изучению этих свойств. Линейные структуры отображений. Определение 2.111. Отображение ФеЛг,/ обладает линейной структурой (linear structure), если в пространстве Vn существует век- тор а 0 такой, что ОаФ(х) = Ф(х) ф Ф(х ф а) = ba = const, Ьа € V/, для любого хе Vn. Такой вектор а называют линейным транслятором отображения Ф. Задача 2.112. Доказать, что а € Vn является линейным транслятором для булевой функции f е 7^, т. е. Daf =е, в том и только в том случае, если для всех z таких, что (z, а) = е ф 1, выполнено равенство Wf(z) = 0. Задача 2.113. Доказать, что а € Vn, а ^0 является линейным транслятором для булевой функции f е^п тогда и только тогда, ко- гда |ДДа)| = 2". Определение 2.114. Подпространство = {а е Vn | £)аФ = const} называется подпространством линейности отображения Ф или пространством линейных трансляторов. Очевидно, для любого аффинного отображения Ф его подпростран- ство линейности совпадает со всем пространством Vm. Задача 2.115. Пусть отображение представлено в виде суммы двух отображений Ф1 е и Ф2 G.Fn2j от П\ и п% непересекаю- щихся переменных: Доказать, что Наличие у отображения Ф нетривиальных линейных структур свиде- тельствует об определённых слабостях этого отображения. Это находит своё отражение в следующем утверждении. Ф(х, у) = Ф1(х)фФ2(у)- А*ф — Лф । “Н А^фл.
§2.5. Криптографические свойства булевых функций 107 Лемма 2.116. Отображение ФеТ^,/ обладает линейной струк- турой, dim — г > 1 тогда и только тогда, когда существует невырожденная (п х п)-матрица А такая, что ф(х) = ф(/4х) = х(1)6, •••, х(п)), (2.24) где bi е Vn, 1 < z О и Ф* е Fn_r,i — отображение, не обладающее ли- нейной структурой. Доказательство. Пусть отображение Ф обладает линейной струк- турой Ьф и dim Ьф = г < 1. Пусть а\, ..., аг — базис линейного простран- ства Ьф. Векторы а.[, ..., аГ могут быть дополнены некоторыми линейно независимыми векторами аг+\, ..., ап до базиса всего пространства Vn. Пусть А — матрица линейного преобразования пространства Vn, пере- водящая канонический базис {е\, ..., еп} в базис {#i, ..., ап} так, что Aei =ai, z = 1, 2, ..., п. Тогда справедлива следующая цепочка равенств Ф(х(|), х<2), ...,х<п)) = Ф(Л(х<|), х<2), х(л’)) = = Ф(Л(х(1)в] фх(2)в2ф...фх(п)ел)) = Ф(х(1)Я1 фх(2)агФ...Фх<л)а„). Поскольку векторы х(|)а,, х(2)а2, •••, xwar являются линейными транс- ляторами отображения Ф, то Ф(и) фФ(ифх0)а/) =x^bi, bi е Vi, для любого и € Vn, i = 1, 2, ..., г. Следовательно, Ф(х(1)«1 ф... ф х^ап) = Ф Ф(х(2)а2 Ф... Ф х(п)ал) = = x(1)6i фх(2)62 ФФ(х(3)а3® ... Фх(л)ап) = ... ... =x(1)6i ф ... фх(г)6г фФ(х(г+1Ч+1 Ф ... Фх(п)ал), т.е. выполнено соотношение (2.24). Ясно, что отображение Ф*(х(г+1), ... ..., х(л)) = Ф(х(г+1)аг+1 ф...фх(/1^п) не обладает линейной структурой. В противном случае мы получили бы противоречие с тем, что dim Лф = г. Обратное утверждение практически очевидно. □ Доказанное утверждение означает, что линейной заменой переменных из отображения Ф может быть выделена некоторая «линейная» часть. Задача 2.117. Доказать, что следующие три определения множе- ства булевых функций, имеющих нетривиальную линейную структуру, эквивалентны: 1) f € если f имеет нетривиальную линейную структуру; 2) f е rf, если f линейно эквивалентна булевой функции, зависящей линейно по крайней мере от одной переменной;
108 Глава 2. Булевы функции 3) /gJ\?, если существует такой набор переменных от которых функция f зависит квазилинейно в следующем смысле: f(x) =4 f(y) для любых двух векторов х, у G Vn таких, что х(/,) ф ... ф х(/а) y(i]} ф ... Ф y(ik}, X(j) __ y{j) ддЯ всех у ikY Задача 2.118. Доказать, что любая функция f G 5^ аффинно эквива- лентна функции вида £-Х(1) ф g(x(2), ..., где е е F2, k С n, a g е Fk-\ не имеет нетривиальных линейных структур. Задача 2.119. Доказать, что любая функция f G уравновешена. Задача 2.120. Пусть f erf, dim L® = г и при соответствующим вы- боре базиса функция f представима в виде Ку. *) = Ку) ф g№. l(y) eJy — аффинная функция, у е Vr, g(z) G Fn-r — функция, не име- ющая линейных структур, z G Vn-r- Доказать, что выполнено равенство N^=2rNg. Естественно обобщить понятие пространства линейных структур сле- дующим образом. Определение 2.121. Пространством г-нелинейности г< < deg /, функции f eJ^n называется следующее множество векторов Lrf={ae VJdeg Z)fl/(x)^r}. Задача 2.122. Доказать, что для любого г < deg / множество Lj яв- ляется линейным подпространством в Vn. Очевидно, что совпадает с пространством линейных трансляторов функции /, a LJ1 — с группой инерции в группе сдвигов функции /. Задача 2.123. Доказать, что если / LJ"1, то dim L® = dim LJ1 + 1. Задача 2.124. Доказать, что если то dim Lj dim + + r+ 1. Несложно видеть, что подпространства r-нелинейности образуют флаг подпространств, т. е. выполнена цепочка включений QL°lQ...QL^sl~' =Vn.
§2.5. Криптографические свойства булевых функций 109 Определение 2.125. Для функции f е^п через qf будем обозначать отображение из Vn х Vn в F2, ассоциированное с функцией f,u,ve Vn: qf (и, v) = DuDvf(O) = Duf(v) © Duf(Q) = Д0) ® f(u) © f(v) © f(u © v). Ядром ker qf ассоциированного отображения будем называть следу- ющее линейное подпространство в пространстве Vn: ker qf = {и е Vn | qf(u, v) = 0 для любых v е Vn}. Задача 2.126. Доказать, что Lf = ker qf для любой f eFn- Индекс линейности отображения. Построение булевых отображе- ний, предназначенных для криптографических применений, проводится, как правило, с использованием специальных приёмов. Одним из таких приёмов является конструирование нелинейного отображения из линей- ных (аффинных) отображений с помощью так называемого неравномер- ного (time clocked) движения. Определение 2.127. Пусть Vm, V), 14 —векторные пространства над полем F2 и h = (Ль ..., hk) — линейное отображение из Vm в Vk (hi, i = 1, ..., k, — координатные функции этого линейного отображения). Пусть А = {Аи Е Am,i | и е Vk} — совокупность аффинных отображе- ний Аи из множества всех аффинных отображений Amj пространства Vm в V/. Определим отображение Ф из пространства Vm в У/ равенством Ф(х)=Дад(х) (2.25) для любого xeVm. Будем говорить, что Ф — линейное разветвление с разветвляющим пространством Vk и с разветвляющим отобра- жением h. При этом отображения Аи, и е Vk, называются разветвляе- мыми отображениями. Нетрудно понять, что любое отображение Ф из пространства Vm в V/ может быть представлено в виде линейного разветвления (2.25). Действи- тельно, достаточно положить т = k, f(x) —х и Ах(х} = Ф(х) для любого хе Vn. Очевидно, что при изучении линейных разветвлений достаточно рассматривать случай, когда отображение h\ Vm —> Vk является сюръек- тивным отображением и т k. Необходимо отметить, что представление произвольного отображения в виде линейного разветвления, вообще говоря, не однозначно. Определение 2.128. Индексом линейности отображения Ф назы- вается число ill (Ф), равное минимальной размерности k разветвляющего пространства среди всех возможных представлений отображения Ф в ви- де (2.25).
110 Глава 2. Булевы функции Этот параметр определённым образом характеризует отклонение отображения Ф от множества линейных отображений. В этом смысле максимально удалёнными от линейных отображений являются отобра- жения, максимизирующие величину Ш(Ф). Если вычислять П1(Ф) просто в соответствии с определением, то надо перебирать все возможные представления отображения Ф в виде (2.25), а это, очевидно, очень трудоёмкий процесс. Поэтому представляет инте- рес следующая задача. Задача 2.129 (нерешённая). Разработать эффективный алгоритм вычисления (или оценки) ill(Ф) для отображений Ф из некоторых практи- чески интересных классов. Пример 2.130. Рассмотрим хорошо известный (см., например, [2]) потоковый шифр (шифр гаммирования) А5, применяемый для защиты телефонных переговоров в европейской системе мобильной связи GSM (Group Special Mobile). Более конкретно, нас будет интересовать то нели- нейное отображение, которое реализовано в этом шифре. Рассматрива- емое преобразование Ф является взаимно однозначным отображением пространства Vq4 в себя. Векторное пространство Уб4 разбито на ком- поненты V19, V22, V23, т. е. Уб4 = V19 х V22 х V23. Соответственно любой вектор х пространства ¥54 представим в виде «т=(«Л 4)=(и|"............(4"...........42!>), (4"...423’». где Xi е V19, *2 С V22, Х3 е V23. Пусть Bi — линейное преобразование про- странства Vj9, реализуемое линейным регистром сдвига с полиномом об- ратной связи /1(А) = Л19 ф Л5 ф А2 ф А® 1; В% — линейное преобразова- ние пространства реализуемое линейным регистром сдвига с поли- номом обратной связи /2(A) = А22 ф А ф 1; В3 — линейное преобразование пространства V23, реализуемое линейным регистром сдвига с полиномом обратной связи /з(А) = А23 ф А15 ф А2 ф А ф 1. Разветвляющее простран- ство имеет размерность k = 3, а разветвляющее отображение I имеет вид /(х) = (/, (X,), /2(Х2), /з(Хз))Т = (Х|°, х^1, х^2)т. Разветвляемые отображения Аи, и е V3, имеют вид < В, 0 0 \ / В\ 0 0 А ООО = А111 = 1 0 в2 0 ^001 = Апо = 1 0 в2 0 < 0 0 В3 J \ 0 0 £23 < в, 0 0 \ / £19 0 0 Аою = А101 =.( 0 £22 0 А юо — Аоп = ( о в2 0 к 0 0 В3 / \ 0 0 £з где Es — тождественное отображение пространства Vs в себя.
§2.5. Криптографические свойства булевых функций 111 Задача 2.131. Очевидно, что индекс линейности отображения Ф, ре- ализованного в шифре А5, не превосходит 3: ill(Ф) 3. Вычислить точное значение индекса линейности Ш(Ф). Задача 2.132. Пусть / = 1 и тем самым отображение является буле- вой функцией из ?т. Доказать, что ill(/) < t тогда и только тогда, когда с помощью некоторой аффинной замены переменных функция f может быть представлена в виде = g\(yW, ® ...® gn-t(y{'\ y(t})x(n~t} ф /1 y(t}). Задача 2.133. Доказать, что для любой булевой функции f справед- ливо неравенство deg f С 1 + ill(/). Определение 2.134. Будем говорить, что булева функция f е^п за- дана в виде линейного разветвления, если существуют такие /, $, п = t 4- s, Ф е h е что /(z) = Дх, у) = (х, Ф(у)> ф h(y) для любых z = (х, у) е Vn, х е К, у е Vs. Задача 2.135. Пусть f eJ-n задана в виде линейного разветвления. Доказать, что для любого и = (v, w) е Vn, v € V/, we Vs выполнено ра- венство 4 , Wf(u) = 2t уСФ-Цр) Задача 2.136. Пусть f eFn задана в виде линейного разветвления. Доказать, что для любого veVt выполнено неравенство < max | Wf (у, w) | < 2' #Ф “' (v). Булевы функции без запрета. Определение 2.137. Булеву функцию feFn называют функцией без запрета, если для любого натурального N и произвольного набора у^, ..., у^ gF2 система уравнений y^ = f{x^,x^,...,x^), = ..., X{N+n~l)) разрешима относительно неизвестных х(1), х^, ...,
112 Глава 2. Булевы функции Сводимость свойств булевых отображений. Пусть Ф = (/ь ... ..., fm)~ произвольное отображение из Fn,m- Через prz: = Тп (/=1,2, . ..,т) обозначим оператор проектирования, который каждо- му отображению Ф ставит в соответствие его координатную функцию prz- Ф= f[. В некоторых случаях свойства отображений из ^п,т выража- ются через свойства их координатных функций. Определение 2.138. Свойство х называется сводимым, если отоб- ражение Ф е ?п,т обладает свойством х тогда и только тогда, когда лю- бая ненулевая линейная комбинация его координатных функций обладает свойством х. Простейшим примером сводимого свойства для Ф е ^п,т при т является свойство уравновешенности. Теорема 2.139. Отображение Ф = (Д, /2, •••> 1, fi, i = 1, 2, ..., т, — координатные функции, уравновешено тогда и только тогда, когда для любого ненулевого вектора т b = (b^, Z?(2), ..., b^)T е Vm булева функция fb = ® b^fi уравнове- /=1 шена. Доказательство. Для любого вектора а = (а(1\ а®\ ..., а^)Т е Vm обозначим Ф--1 (а) = {хе Vn | Ф(х) = а}. Если отображение Ф уравновешено, т. е. #Ф~1(а) = #Ф”1(а') для любых а, а' е Vm, то для любого ненулевого вектора Ь = ..., е Vm выполнено равенство ^2(_1)Ь(,71(с)®...фЬ(т)fm(c) = ^2 #ф-1(а)(-1)/,<1)а(1)ф-е/,<"1)а(,п) =0. cevn aevm Следовательно, функция /1 ф ... ф fm уравновешена. Обратно, если выполнено условие теоремы, то для любого вектора а = (а(1), а(2), ..., е Vm получаем #Ф”1(а) = — f У2 (—1)д(1)^1(с)фа<1)Л....Y У2 (-1)^т)^т(с)фа(т)Л = cGVn4<')GF2 4^eF2 ' _ 1 у2 (— у2 (— 1)^(17|(с)ф-ф^(т)^(с)= =2п~т □ be vm сеУп Опишем теперь в общем виде один типичный приём введения свойств дискретных отображений. Пусть х—некоторое свойство, а £ = {£} — некоторое множество операторов: С- ч,т > ч,т-
§2.5. Криптографические свойства булевых функций 113 Определение 2.140. Отображение Феобладает вторичным свойством (х, S), если любое отображение £(Ф), £ € Е, обладает свой- ством х. Для порождения вторичных свойств чаще всего используются следу- ющие операторы: оператор фиксации части переменных и оператор взятия производной по направлению линейного подпространства L. Оператор фиксации части переменных cony задаётся множест- вом номеров / = 1 /1 <...<// ^ и, и двоичным вектором а = (а(1), ..., а^)Т е Vp сопу(Ф) = ((/i)x0, Оператор взятия булевой производной по направлению подпростран- ства L С Vn: DL$(x) = ф Ф(хфн). ueL Операторы con" и Dl линейны и коммутируют с операторами проек- тирования: con; prz. = prz. cony, Dl prz = prz- DL. Приведём примеры вторичных свойств, порождённых свойством уравно- вешенности и операторами фиксации части переменных и взятия булевых производных. Пример 2.141. Пусть все отображения, полученные какими-ли- бо фиксациями переменных из отображения Ф, уравновешены. В этом случае вторичное свойство называется корреляционной иммунностью (см. определение 2.108). Пример 2.142. Пусть все производные отображения Ф по направле- нию подпространств {0, и}, и € PC, уравновешены. В этом случае говорят, что отображение Ф удовлетворяет критерию PC (см. определение 2.110). Для этих примеров вторичных свойств в работе [421] доказывалась сводимость. Докажем более общую теорему, которая включает этот ре- зультат в качестве частного случая. Теорема 2.143. Пусть ъ—некоторое сводимое свойство отоб- ражений, а Е — некоторое множество линейных операторов, коммутирующих с операторами проектирования. Тогда вто- ричное свойство (х, Е) является сводимым. Доказательство. Пусть отображение Ф е ?п,т обладает свойством (х, Е). Это означает, что любое отображение £(Ф), £ € Е обладает свой- ством х. В силу сводимости х любая ненулевая линейная комбинация
114 Глава 2. Булевы функции координатных функций £(Ф) обладает свойством х, т. е. для любых п bi не равных одновременно нулю, функция ф 6/рг^(Ф) обладает /=1 свойством х. Поскольку оператор £ линеен и коммутирует с операторами проектирования, имеем П п / п ф ^рг,С(ф) = ф ь£ РП Ф = Цф ^рг,ф Z = 1 / = 1 \=1 и любого оператора £ е 5 функция <цф Ь/рг^ф) П Таким образом, для любой ненулевой линейной комбинации ф й/р^Ф /=1 обладает свойством х. п Это и означает, что любая ненулевая линейная комбинация ф 6/рг£Ф обладает вторичным свойством (х, Е). z==1 Легко убедиться в обратимости проведённых рассуждений. □ В заключение настоящего параграфа сделаем одно важное методо- логическое замечание. Большое разнообразие свойств криптографиче- ских функций, которые необходимо учитывать в криптографической прак- тике, обладает определённой противоречивостью. Эта противоречивость заключается в том, что криптографическая функция не может в макси- мальной степени обладать всеми этими свойствами. Более того, строя криптографическую функцию и пытаясь достигнуть максимума по ка- кому-то показателю, мы будем снижать уровень качества этой функции относительно некоторых других свойств. Конкретные утверждения, опи- сывающие те или иные связи между различными свойствами криптогра- фических функций, читатели найдут в последующих частях книги. § 2.6. Покрывающие последовательности булевых функций Производные булевых функций (см. определение 2.68) широко используются при исследовании различных свойств этих функций. Особенности производных наглядно характеризуют нелинейность, авто- корреляционные, алгебраические и другие свойства булевых функций. В настоящем параграфе мы рассмотрим интересную математическую конструкцию, связанную с производными, которая далее будет использо- вана при исследовании функций с определёнными криптографическими свойствами.
§ 2.6. Покрывающие последовательности булевых функций 115 Определение 2.144. Пусть 0 = (0и), и е Vn, 0и 6 Z. Будем называть 0 покрывающей последовательностью булевой функции если выполнено равенство 0UDU f(x) =р = const (2.26) uevn для любого xeVn. В этом случае будем также говорить, что булева функция f допускает покрывающую последовательность в. Величина р называется уровнем этой покрывающей последовательности. Если р / 0, то будем говорить, что покрывающая последовательность в явля- ется нетривиальной. Хотя в представляет собой целочисленную функцию на простран- стве Vn (0: Vn —>Z), целесообразно использовать термин «покрывающая последовательность» для того, чтобы в рассуждениях избежать путаницы с булевыми функциями. Отметим, что множество целочисленных последовательностей 0= (0М), и 6 Vn, 0U eZ, длины 2п являются модулем над кольцом целых чисел, т. к. очевидно выполнены соотношения (а + Ь)0 = а0 + Ь0, а(0 4- д) = а0 + ар для любых a, b е Z, 0 = (0U), р = (/iu), и е Vn, 0U, ри € %- Задача 2.145. Доказать, что множество покрывающих последова- тельностей данной булевой функции f произвольного уровня образу- ют подмодуль модуля всех целочисленных последовательностей длины 2п. Задача 2.146. Доказать, что для любой булевой функции имеется три- виальная покрывающая последовательность. Интерес к покрывающим последовательностям объясняется тем, что некоторые свойства булевых функций легко выражаются на языке по- крывающих последовательностей. Пример 2.147. Пусть булева функция f имеет линейную струк- туру ио е Vn, т. е. DUq f(x) = f(x} ф f\xф ио} = cUq. Тогда легко видеть, что функция f допускает покрывающую последовательность 0 вида: 0Uo = 1; 0U=Q1 u^Uq. Уровень р этой покрывающей последовательности ра- вен сио. Задача 2.148. Доказать, что различные булевы функции могут допус- кать одну и ту же покрывающую последовательность. Рассмотрим вопрос о том, как характеризуются покрывающие по- следовательности с помощью коэффициентов Уолша—Адамара. Для по- следовательности 0 = (0Ы), и е Vn, через We(b) = 6 € К, uevn
116 Глава 2. Булевы функции будем обозначать преобразование Фурье. Для булевой функции f как и в § 2.3, будем обозначать Vn \ CIf = {v е Vn | Wf(v) 0}. Теорема 2.149. Пусть f eFn и в = (0и), и eVn, —целочисленная последовательность. Функция f допускает 0 в качестве покры- вающей последовательности с уровнем р тогда и только тогда, когда ___ _____ Vn \ CIf с {Ь е Vn I We(b) = 1^(0) - 2Р}, или, что эквивалентно, {Ь € Vn I We(b) W) - 2р} С {Ь € Vn I Wf(b) = 0}. Доказательство. Поскольку (—l)Du^x) = 1 — 2Z)u/(x), то из опре- деления 2.144 легко получить, что функция f допускает покрывающую последовательность в с уровнем р тогда и только тогда, когда для любо- го х е Vn выполняется равенство £2 0«(-1)/(хфи> = (52 uevn 'uevn ' Целочисленные функции равны тогда и только тогда, когда равны их пре- образования Фурье, т. е. для любого b eVn справедливо соотношение 52 52 ^(-1)/(жфи)ф<6л> = ГЕ 0и-2р xevn uevn \ievn которое, очевидно, эквивалентно соотношению 52 M-i)<6e>)ww=(52 0u-2p]wf(b). u€Vn ' \i^Vn ' Таким образом, функция f допускает покрывающую последовательность в с уровнем р тогда и только тогда, когда для любого beVn выполнено равенство ___ _______ [We(b)-(We(0)-2p)]Wf(b)=0, т. е. ___ _____ {b е Vn I We(b) * We (0) - 2р} n {b е Vn | Wf (6) / 0} = 0. Теперь утверждение теоремы очевидно. □ Замечание 2.150. Очевидно, что {б€ Ул|Ш)/Ш)-2р} = |бе к, 52 еи^р\. ueVn. (U,b)=l J
§2.6. Покрывающие последовательности булевых функций 117 Иногда удобно использовать теорему 2.149 в виде: Следствие 2.151. Функция f допускает 0 в качестве покрываю- щей последовательности с уровнем р тогда и только тогда, когда для всех Ь eVn таких, что ^2 р, выполнено №ЦЬ) =0, uevn, (u,b)=i т.е. f ф lb,о — уравновешенная функция. Теперь очевидно следующее утверждение. Следствие 2.152. Булева функция является уравновешенной то- гда и только тогда, когда она допускает нетривиальную покры- вающую последовательность. Теорема 2.149 позволяет легко построить один класс покрывающих последовательностей. Теорема 2.153. Пусть McVn- произвольное множество. Цело- численная последовательность 0м с элементами = Е(-1)(г'и> хеМ является покрывающей для любой булевой функции f cFn такой, что Vn\CIf СМ. Уровень покрывающей последовательности 0м равен {—2п~[, если f — уравновешенная функция, 0 в противном случае. Доказательство. Вычислим преобразование Фурье последователь- ности 6м'. weM(b)= (-1 )<*“> = = uevn uevn хем 2п, еслиЬеМ; 0 в противном случае. Таким образом, преобразование Фурье М&ДЬ) постоянно на М, и если Vn \ CIf С М, то в соответствии с теоремой 2.149 функция f допускает 0м в качестве покрывающей последовательности с уровнем Р=|(¥вИ0)-1^(6)) = —2п \ если f — уравновешенная функция; 0 в противном случае.
118 Глава 2. Булевы функции Подчеркнём, что уровень построенной в теореме 2.153 покрывающей последовательности 0м очень большой. Для изучения свойств булевых функций нужны, как правило, покрывающие последовательности с ма- леньким уровнем. Комментарии к главе 2 В настоящей книге мы почти не обращались к таким разделам, как функциональные построения в алгебре логики (см. [92, 93]), теория дизъ- юнктивных нормальных форм (см. [11, 24]), теория сложности булевых функций (см. [59]) и некоторым другим. Эти разделы также имеют мно- гочисленные приложения в криптологии, но они должны быть предметом отдельной книги. Возвращаясь к различным способам представления булевых функ- ций, рассмотренным в настоящей главе, необходимо добавить ещё один. А именно — представление булевой функции с помощью гиперграфа. Информацию по этому представлению можно найти, например, в [433]. Понятие производной булевой функции активно и плодотворно ис- пользуется на протяжении всей книги. Большое количество криптогра- фических и теоретико-кодовых свойств булевых функций может быть выражено с помощью этого понятия. Попытки разработки дифференци- ального и интегрального исчисления для булевых функций можно найти, например, в [126]. Используемые в книге вероятностные и статистические предположе- ния о распределениях на областях определения булевых функций и бу- левых отображений сводятся к равномерным распределениям. Вместе с тем представляется интересным рассмотреть изменения различных ха- рактеристик булевых функций при изменении распределений на областях определения. Частично некоторые подобные задачи рассмотрены в [319].
Глава 3. Классификации булевых функций Теоретико-групповая классификация булевых функций имеет разно- образные технические и криптографические приложения. Хорошо извест- ным примером, сыгравшим большую практическую роль, является Гар- вардский каталог. Известна классификация булевых функций от пяти переменных. Наличие таких каталогов облегчает задачи анализа и син- теза дискретных устройств, позволяет выбирать функции с наилучшими свойствами с точки зрения их применения в различных конкретных слу- чаях. §3.1. Групповая эквивалентность отображений. Теорема Пойа Большая часть комбинаторного анализа связана с перечислением: подсчётом числа возможностей, числа решений, числа множеств данного типа и т.д. Поскольку в перечислении, и, в частности, в классифика- ции булевых функций, теорема Пойа занимает одно из важных мест, мы изложим её для случая, когда объектами являются отображения произ- вольных конечных множеств. Пусть А и В — некоторые конечные множества мощности #Л = / и = т соответственно. Множество всех отображений (мы их будем называть функциями) из Л в В мы обозначим ВА. Число таких функций равно т1. Пусть — симметрическая группа степени / подстановок на элемен- тах множества А. Рассмотрим некоторую её подгруппу 0 < 6д. Порядок группы (5 удовлетворяет неравенствам 1 #0 ^ /! . Хорошо известно, что если дана подстановка д, то можно разбить мно- жество А единственным образом на циклы, т. е. такие подмножества Л, что их элементы циклически переставляются подстановкой д. Если t — длина такого цикла и если а — некоторый элемент этого цикла, то цикл состоит из следующих элементов: а, да, д2а, ..., д*~[а,
120 Глава 3. Классификации булевых функций где gk = д ... д. Если множество Л подстановкой д разбивается на q(g) k циклов длины 1, £2(0) циклов длины 2 и т. д, то мы говорим, что такая подстановка д имеет тип {ci(g), £2(0), • ••, £/(0)}. Ясно, что Q (0) + 2с2 (0) + • • • + М0) = / для любой д е 0, т. к. сумма длин всех циклов равна общему числу эле- ментов множества А. Для каждого элемента д е 0 образуем моном Aj'^A^2^ •... • А^(0) от I независимых переменных Аь ..., А/. Определение 3.1. Цикловым индексом (cycle index polynomial) группы подстановок 0 называется полином ^(Ль Л2, .... А/) = £ А?(0)А^0) •• A?<0>. Пример 3.2. Приведём очень показательный пример из работы [109]. Если 0 состоит лишь из тождественной подстановки элементов Л, то мы имеем Рв(Аь Л2, .... AZ) = AZ,, так как тождественная подстановка имеет тип {/, 0, 0, ..., 0}. Пример 3.3. Пусть Л — множество вершин куба, так что I = 8, и пусть 0 —множество всех тех подстановок Л, которые могут быть получены вращениями куба. Всего имеется 24 таких вращения. Их можно разбить на пять категорий: а) тождественное; б) три поворота на угол тг вокруг прямых, соединяющих центры про- тивоположных граней; в) шесть поворотов на угол вокруг прямых, соединяющих центры противоположных граней; г) шесть поворотов на угол тг вокруг прямых, соединяющих середины противоположных рёбер; ч 2 д) восемь поворотов на угол -тг вокруг прямых, соединяющих проти- воположные вершины. Легко представить себе циклы множества Л в каждом случае. В слу- чае а) — восемь циклов длины 1; в случае б) — четыре цикла длины 2; в случае в)—два цикла длины 4; в случае г) —четыре цикла длины 2; в случае д) — два цикла длины 1 и два цикла длины 3. Поэтому цикловой
§3.1. Групповая эквивалентность отображений. Теорема Пойа 121 индекс имеет следующий вид Л$(А1, А2, ..As) = 24 (А? + 9А2 4- 6А4 4- 8Af A3). Пусть теперь А — множество рёбер того же самого куба, так что Z = 12, и пусть 0 —множество всех 24 подстановок элементов множе- ства Д, которые могут быть получены вращениями куба. Вращения те же, что и прежде. Посмотрим, что делают вращения с рёбрами. Тождествен- ное вращение —это подстановка типа {12, 0, 0, ..., 0}. Категория б)— это подстановки типа {0, 6, 0, ..., 0}; категория в) — подстановки типа {0, 0, 0, 3, 0, ..., 0}; категория г) — подстановки типа {2, 5, 0, ..., 0}; и ка- тегория д) — подстановки типа {0, 0, 4, 0,..., 0}. Таким образом, цикловой индекс имеет следующий вид Р0(Ai, А2, ..А12) = 24 "Г ЗА2 4- 6А4 4- 6AjА2 4- 8А3). Отображение /еВ'4, де0, где fQ(d) = /(да) (да — элемент множества Д, в который переходит а при действии подстановки д) для любого а €4, является правым действием группы 0 на множестве ВА, поскольку выполняются условия ^01-02 — (^01 )02* f* = f для всех gb g2, е е 0 (е — единица группы 0), / еВА. Введём на множестве ВА бинарное отношение: /1 ~ f2 тогда и только тогда, когда существует такой элемент g € 0, что /® = /2. Непосредственной проверкой легко убедиться, что так введённое би- нарное отношение ~ является отношением эквивалентности, т. е. выпол- няются следующие свойства: а) рефлексивность: / ~ /; б) симметричность: /1 ~ /2 => /2 ~ /Г, в) транзитивность: /1 ~ /2, /2 ~ /з => Л ~ /з- Таким образом, множество всех функций ВА разбивается на непересе- кающиеся классы, состоящие из эквивалентных относительно бинарного отношения ~ функций. Обозначим класс эквивалентности, содержащий функцию /, че- рез {[}&• Очевидно, что для мощности класса эквивалентности справед- ливы неравенства 1^#{/}<^#0.
122 Глава 3. Классификации булевых функций Класс эквивалентности {f}& иногда называют (5-типом. Функции, при- надлежащие одному классу, называются (^-эквивалентными (далее по тексту мы будем говорить просто о «типе» и «эквивалентных» функ- циях, если понятно, о какой группе идёт речь). В случае, когда #{/}$= 1, говорят, что функция инвариантна от- носительно группы (5. Для характеристики инвариантности функции относительно группы 0 вводится понятие группы инерции. Определение 3.4. Группой инерции функции f в группе 0 называ- ется следующее множество Задача 3.5. Доказать, что множество является группой. Лемма 3.6. Группы инерции (^-эквивалентных функций f\ и сопряжены в группе С5, т. е. существует такой элемент д в груп- пе 05, что выполняется соотношение 0j0(/2)£|-1=J®(A)- Доказательство. Поскольку функции Д и Д 05-эквивалентны, то существует элемент д в группе 0 такой, что /2 = Пусть 1) Е Тогда j _ _ _ Д909- = = (/2)Ь0-' = (/Ь)0-' = /0- = Л, Следовательно, Q Симметричными рассуждениями с заменой g на д-1 можно показать, что выполнено и следующее вклю- чение: что эквивалентно включению: Q 0<Te(/2)s-1- Полученные включения доказывают лемму. □ Существует вполне определённая связь между мощностью класса {[}& и порядком группы инерции Теорема 3.7. Для произвольной функции f еВА выполняется ра- венство „ Доказательство. Класс эквивалентности {Де состоит из функций {/}® = {Л|й = /9,0€®}.
§3.1. Групповая эквивалентность отображений. Теорема Пойа 123 Пусть g и д'- некоторые элементы из 0, для которых выполняется со- отношение = f9 . Подействуем на функцию, стоящую в обеих частях этого равенства, подстановкой д-1: = /0‘0-1 = f = (f0')0"' = /0‘0"1. Следовательно, элемент д' • д-1 лежит в группе инерции или, дру- гими словами, элементы д и д' принадлежат одному левому смежному классу группы 0 по подгруппе С другой стороны, несложно пока- зать, что элементы одного и того же левого смежного класса по подгруп- пе J&(f) при действии на f дают одну и ту же функцию. Таким образом, число различных функций в {f}& совпадает с числом левых смежных классов по группе то есть #{/}» = = □ Лемма 3.8. Пусть &А D® ЭУ). Тогда для любой функции f выполнено Доказательство. Лемма проверяется непосредственно. □ Несколько более сложное соотношение устанавливается между клас- сами эквивалентности {...}^ и {...}$ в случае, когда <5д D 0 Dfj. Пусть индекс [Ф : fj] = s и ® = gi£ U д25э U ... U gs£ (3.1) — разложение 0 в объединение правых смежных классов по подгруппе Я (01 =е). Лемма 3.9. В условиях леммы 3.8 выполнено следующее соотно- шение между классами эквивалентности {...}^ и {/U = {/bu{/02bu-..u{/0sb. Доказательство. Утверждение этой леммы следует из разложе- ния (3.1). □ Подход, заключающийся в разбиении множества ВА всех функций на классы эквивалентности относительно некоторой группы преобразо- ваний, носит название теоретико-групповой классификации функций. Этот подход обычно реализуется таким образом, чтобы изучаемые свой- ства и параметры функций были инвариантны относительно действия вводимой группы.
124 Глава 3. Классификации булевых функций Для этих целей важным является утверждение, называемое леммой Бернсайда [109], которое составляет существенную часть теории Пойа. На основе этой леммы решается вопрос перечисления классов эквива- лентности, т. е. нахождение для заданной группы Ф числа классов экви- валентности относительно этой группы. Лемма 3.10. Пусть группа 0 < действует на ВА и {/i}©, ... ..., — все различные (3-типы. Число 3-типов /С(0) удовле- творяет соотношению gee где st(g) = #{ / € =/}. Доказательство. Рассмотрим следующую функцию, определённую на 3 х ВА\ ( 1, если f9 = f; [0 в противном случае. Воспользуемся стандартным приёмом изменения порядка суммирования: Е st(g) = E #{f€BA\f° = f} = gee gee =E E w<0-/)=E Ew(0-^ = E gee feBA feBA gee f^BA Поскольку для любой функции f' € {/}$ выполняется равенство = = #^7е(//) (см. лемму 3.6), то выполнена следующая цепочка равенств /С(е) /С(е) Е#^®(/)=Е Е #^®(/')=Е #&№#№= ?евА j=\ /=1 /с(е) = Е #0 = XW#<S. □ /=1 Придадим теперь каждому элементу b е В его вес w(b) (это обозначе- ние выбрано для того, чтобы не путать рассматриваемый в этом парагра- фе вес с весом Хэмминга wt). Этот вес может быть рациональным числом, переменной или вообще элементом произвольного коммутативного коль- ца. Следовательно, мы можем образовывать суммы и произведения весов,
§3.1. Групповая эквивалентность отображений. Теорема Пойа 125 произведения весов на рациональные числа, и эти операции удовлетво- ряют обычным законам ассоциативности, коммутативности и дистрибу- тивности. Определение 3.11. Для любой функции f еВА её вес w(f) опреде- ляется как произведение ау(/) = П аеА Очевидно, что если функции f и /' принадлежат одному классу экви- валентности относительно некоторой группы 0, то их веса равны: Так как все функции одного класса эквивалентности имеют одинаковый вес, мы можем определить в качестве веса класса это общее значение. Определение 3.12. Для любой функции f еВА вес класса эквива- лентности, содержащего /, определяется соотношением Определение 3.13. Производящей функцией множества (enume- rator) В называется сумма еп(В) = 52 w^>- Ьев Определение 3.14. Производящей функцией произвольного мно- жества функций S СВА называется сумма en(S) = 52 w(h- fes Задача 3.15. Доказать, что еп(ВА) = 52 w(& ‘ ьев Пусть множество А разбито на несколько непересекающихся компо- нент A j, ..., Ak так, что #Л = #Л14-... + #Л,. Рассмотрим множество 5 функций f^BA, обладающих тем Свой- ством, что f постоянна на каждой компоненте.
126 Глава 3. Классификации булевых функций Лемма 3.16. Производящая функция множества S с Вл задаёт- ся соотношением k en(S) = п /=1 ьев Доказательство. Пусть f eS. Тогда её сужение на компоненту Ai (i = 1, ..., k) является константой f\Ai=bi, biEB. Следовательно, функции f соответствует набор (b\,...,bk)^B х ...хВ = k — Bk. Будем обозначать эту функцию f = fbx,..,bk- Обратно, каждому на- бору (&i, ..., bk)EBk соответствует единственная функция fbi,..jkzS. Воспользовавшись этим замечанием, можно записать следующую цепоч- ку равенств: еп($)=52w(b = Е w^b............ь^= Е Пнд...............ь„(а))= fes (b},...,bk)eek (6i.bk)eek aeA = 52 П w^b>..............•••• П ............... (b\,...,bk)tzBk ai^Ai = 52 = (b.,*t)eS‘ k = £ IW(b,)]*A •52 мм#л=П Et^i#A- D Ь\^.в bkeB i—\b^B Найдём теперь производящую функцию множества всех ©-типов, ко- торое мы обозначим через ВА/$: ВА/^> = {{/1}©, {/2}(25, •••, {//C(0)}<s}- Теорема 3.17 (Пойа). Справедливо соотношение: /С(е) , к еп(вл/®)=52 ш({А}®)=р®(52 Ем6)]2- •••’ E^)iz)’ /=1 Чев ьев ьев ' где P&(Xi, ..., Л/) — цикловой индекс группы 0. В частности, если все веса выбраны равными 1, то /С(0) = Р(5(иг, ..., т).
§3.1. Групповая эквивалентность отображений. Теорема Пойа 127 Доказательство. Пусть w — одно из возможных значений, которое может принимать вес функции. Пусть — множество всех функций f € ВА, удовлетворяющих условию w(f) —ш. Ясно, что является объ- единением некоторых 0-типов. Тогда аналогично доказательству лем- мы 3.10 можно получить, что число 0-типов, лежащих в равно i Е <3-2» 0GQ5 где stw(g) — #{ f € ВА | w(f) = fQ = /}. Все 0-типы, лежащие в имеют вес сс. Поэтому, если мы умножим (3.2) на w и просуммируем по всем возможным значениям сс, то получим производящую функцию еп(Вл/®) = i £ £ W<SM0)) = си = Е Е Е Е w^- ее® ы де® /евл /0=/- Для того, чтобы найти сумму 52 заметим, что g — подстановка /евл /0=/ на элементах множества А. Поэтому А распадается на циклы, элемен- ты которых циклически переставляются подстановкой Условие /0 = f означает, что /(а) =/(да) =/(g2a) =... , поэтому функция f постоянна на каждом цикле. Обратно, каждая функ- ция, постоянная на каждом цикле подстановки д, автоматически удовле- творяет условию /0 = /. Пусть циклы суть Ль ..., Ak и тип подстановки 0 равен {ci(g), £2(0), • ••> £/(0)}. Это значит, что среди чисел #Лi,..., число 1 встречается Ci(g) раз, число 2 —£2(0) раз и т.д. Воспользовавшись леммой 3.16, имеем k 1 ( >с/(0) £ м/)=ПЕ(^))*Л/=П1£(н^} • fz-BA i—\ f0=f Следовательно, i 1 ( 1 C/(0) en(BV®) = -b. 52 П £МЙ)]7 • (3.3) 0G0 /=1
128 Глава 3. Классификации булевых функций Теперь ясно, что выражение (3.3) может быть получено подстановкой Д1=^2ш(6), Л2 = ^2[ау(Ь)]2, ...» ьев ьев ьев в выражение Р&(Х\, ..., А/) = ^— ^2 А^|(0)А22<0) ... Хс^ циклового ин- декса группы 0. # 0е0 □ § 3.2. Классификация булевых функций от пяти переменных Вернёмся теперь от отображений конечных множеств, рассмотрен- ных в §3.1, вновь к булевым функциям. Теперь в качестве множества А (см. §3.1) мы будем рассматривать векторное пространство Vn (1 = 2п), а в качестве множества £ —конечное поле F2 (т = 2). Множество ВА в этом случае совпадает с 5^. Группа &д = &уп, #&vn = 2П!. Фигуриро- вавшая в предыдущем параграфе группа 0 является подгруппой &уп. Рассмотрим сначала пять основных подгрупп группы &уп, которые участвуют в построении тех или иных классификаций булевых функ- ций. Поскольку общие выражения для цикловых индексов этих подгрупп выглядят достаточно сложно, а для их вывода требуются сложные тео- ретико-групповые и комбинаторные рассуждения, мы приведём выраже- ния для цикловых индексов и чисел классов эквивалентности только для значений п = 1, 2, 3, 4, 5, 6 (см. таблицы 3.1—3.4). Исключение составит лишь группа инвертирования переменных, для которой будут получены общие выражения. Читателям, интересующимся подробностями вычис- ления цикловых индексов, можно порекомендовать [236]. Группа инвертирования переменных (группа сдвигов). Эта группа состоит из 2П подстановок вида (х(1), ..., х(л))т (х(1) ®л(1), ..., х(л) где а = (а(1\ ..., а^)т е Vn. Подстановки из этой группы имеют следу- ющие цикловые структуры: — тождественная подстановка — {2л, 0, 0, ..., 0}; — любая подстановка, отличная от тождественной подстановки — {0, 2п~\ 0, ..., 0}. Следовательно, цикловой индекс этой группы имеет вид •••> Аг*) = 2^(А? +(2л-1)А2 ).
§3.2. Классификация булевых функций от пяти переменных 129 Отсюда получаем выражение для числа классов эквивалентности отно- сительно Зл- Мп) = Р3п(2, 2, .... 2) = 1(22" 4- (2" - 1)22"-'). Группа перестановок переменных &п. Эта группа состоит из п\ подстановок вида 0: ..., х(л))т ь—> х(/л))т, (•••’ п 1 где . I — подстановка на множестве {1, п}. \/1» •••’ /«/ Таблица 3.1 п £(©„) ЛзДАь ..., Л2«) 1 4 А? 2 12 2^1 + А2 Аг) 3 80 6 (А? + 3Af А| + 2А2 A3) 4 3984 2J (А|6 + 6А®А2 + ЗА* А® 4- + 8Af Al + 6Af А2А8) 5 37 333248 7^0 (А?2 + 10Aj6A| + 15А» А|2 + 20Л» А| + + 20Af A2A3AI + 30А| А2А® + 24 А? А|) 6 25626412338 274 304 720 (А?4 + 15А?2А26 + 45А[6 А24 + + 40А j6 Al6 + 15А?А|8 + 120Af A|Af Ag 4- 4- 90А8А2А{2 4- 40А4А20 4- 90AjА|А|24- 4- 144А|А52+ 120AfA2A2A|) Группа Джевонса £)л. Эта группа состоит из 2Л • п\ подстановок вида д: х(л))т х(/л) фа(л))т, где ( 1’ ’ П )— подстановка на множестве {1,...,/?} и а = (а^\... \/i’ •••’ А/ .а(п))т G Vn. Структурно группа представляет собой полупрямое произведение групп &п и Зл- 5 Булевы функции
130 Глава 3. Классификации булевых функций Таблица 3.2 п ЛрДА1, \2п) 1 3 -(А? 4- А2) 2 6 □ (Aj 4- ЗА2 4~ 2Af А2 4- 2А4) о 3 22 4g (А® + 13>2 + 8А? А2 + 8АгАб+ + 6AfAi+ I2A4) 4 402 884 (А|6+51 A® +48Af А2А4 4~48А| 4- 12А® А2 4~ + 84А1 + 12А4А® + 32Aj А| + 96А^А|) 5 1 228 158 3 840^ "^231А2 4-20А| А2 4- 520А4 4- 80А1 A3 4- + 720А42А^ + 160А^ А1А^А| + 320A2 Ay, + + 240AjА|А® + 480Af + 240А^ 4- + 60А, А22 4- 384А2А® + 384А2А?о) 6 400 507806843 728 -TTrUn (А?4 + Ю53А12 + ЗОА'.’Чр + 4920А|6 + 46 080 + 180А|6 А^4 + 160А|6Аз® +528ОА2А| + 120А? Af+ 4- 960А®А2АзАб 4- 3840AJ А|2 4- 720А? А^2 4- 4- 5760А| 4- 2160А2А]2 4- 640AjА^° 4- 4- 1920А| А|° 4- 1440А| А^2 4- 2304А?А^ 4- 4- 6912А2А% 4- 3840А2 A2A3AI4- 3840А4А'?2) Группа линейных преобразований 0£(Рл) (полная линейная л— 1 группа). Эта группа состоит из П (2п — 2Z) подстановок вида /=о £j: х(п))т I-* где А = (aij) — обратимая (и х п)-матрица, #z/ eF2, z, j = 1, 2, п. В матричном виде подстановку можно записать в виде дх = Ах.
§3.2. Классификация булевых функций от пяти переменных 131 Таблица 3.3 п KL(&Z(Vn)) P&£(Vn)(^\, • • •> Л2«) 1 4 А. 2 8 — (А? + ЗА? А2 + 2 А1 Аз) о 3 20 jgg(A? + 21AjA2 + 42Af А2А4 + + 56А?А| + 48 А । А7) 4 92 2о4бо(А!6 + Ю5А?А^ + 210А|а!> + + 1260А?А2А2 + 2520А? А2А4 + 112А, Ag + + 1680А,А3А5+1120AfА^ + 3360AfА2А3Аб + + 5760AfA^+ 1344A|A| + 2688A|A|5) 5 2744 999^360 (A'|2 + 465A1M + 26 040A«A^ + + 312 480Aj A^Aj + 624 960A?A2A2A| + 6510A?A^2 + + 78 120AjA®A4 + 19 840А®Аз + 416 640A|A^A| + + 833 280A2А2А|А4АбА|2 + 55 552A?A|° + + 833 280A2A2Ae + 476 160Af A^ + + 1 428 480A?A2A7A14 + 952 320A,A3A7A2i + + 666 624AfA|+ 1 333 248A2A25+ 1 935 З6ОА1А31) Кроме того, известно, что /С((б£(Тб)) =950 988 216. Группа аффинных преобразований (521 (Vn) (полная аффинная п — 1 группа). Эта группа состоит из 2п И (2Л — 21) подстановок вида i=0 g: (х(1), ..., х(п))т и-* a\jX^ ф а(1), П ч т ф anjX^ ф j /=1 ' где А = — обратимая (п х ri)-матрица, а,/ е F2, /, j = 1,2,..., п и а = = (а(1), а^)т е Vn. В матричном виде подстановку можно записать в виде дх = а ф Ах.
132 Глава 3. Классификации булевых функций Таблица 3.4 п /c(®a(v„)) ^(252t(V„)(A|, . А2л) 1 3 (А? 4-А2) 2 5 24 (А? +ЗА2 4-6А?А2 4-6А4 + 8А1 Аз) 3 10 ;~5~. 7 (Af 4- 49А2 4- 42Af А2 + 252А4 4- 1 344 1 2 2 4 +168А? А2 А4 4- 384A । А7 4- 224А? А| 4- 224А2 А6) 4 32 ^ёб(А;б+645А1 + 210А?Л^ + 13440А: + +840Af А® + 5 040A j А2 Л4 + 5 040А4 Л4+ + 20 160А?А2А^ + 20 160А|+1 792А,А| + + 26 880А । Аз А|+26 880А? А2 X2 А6+26 880А4 А, 2 + +4 480Aj Al +13 440А2 А|+46 080A'f А? + + 46080А2Ан+43008А,А15+21 504А,А|) 5 382 319 979 520 (Л‘432 581Л26+930 A J6 А| +2 455 200А«+ +104 160AfА4А4 + 312 480А| А44 + 2 499 840А4А2А4 + +3 888 640А2 А| +14 999 040At +9 999 360А? А2 Л4 А|+ + 26 040А? АР + 624 960А| А|А4 + 79 360А? А| + + 3333 120А1А2АзАб+19998720А4А?2 + +13 332 480А? А2АзА4А6А12 +888 832А? А.|° + +14 221 312А 2 Ag +13 332 480А? А| А^ + +3 809 280А| А| +11 427 840А|А?4 + + 22 855 680А? А2А?А|4+22 855680А4А28 + + 30 474 240А, А3А7А2| +10 665 984А? А| + + 1О665984А2А?о+21 331 968А?А?5 + +21 331 968А2Азо+61 931 520А,А3|+2 499840А|а5) Кроме того, известно, что /С(021(Рб)) = 15 768 919. Некоторые обобщения. Пусть 0 —одна из представленных выше групп. Обозначим через s п, следующее множество ={(9, Л) | 9 е 0, heJ^n, degh^s}.
§3.2. Классификация булевых функций от пяти переменных 133 Преобразование (g, h) действует на множестве 7^ следующим образом /<в'Л)(х) = /(дх)®Л(х). Легко проверить, что это преобразование является взаимно однозначным отображением и в результате последовательного применения двух таких преобразований мы получаем преобразование того же вида. Как правило, в процессе получения списка представителей классов 0-эквивалентности (так называемая задача конструктивного пере- числения) используется понятие инварианта группы 0. Пусть I — неко- торое натуральное число. Определение 3.18. Отображение тг: —>RZ, удовлетворяющее со- отношению 7Г(/В) = 7Г(/) для всех f е^п и g G 0, называется инвариантом группы 0. Легко видеть, что если на функциях f и /' какой-либо инвариант тг группы 0 принимает различные значения (тг(/) / 7г(/')), то эти функции не являются 0-эквивалентными. Определение 3.19. Инвариант тг группы 0 называется полным, если из совпадения значений тг(/) = тг(//) следует, что функции f и /' 0-экви- валентны. Задача нахождения полных инвариантов для различных групп явля- ется очень трудной. Она решена только в отдельных частных случаях. Поэтому на практике для построения алгоритмов проверки эквивалентно- сти и нахождения групп инерции используют инварианты, не являющиеся полными, но тем не менее они позволяют в достаточно большом числе случаев либо получать ответ, либо сокращать число перебираемых эле- ментов группы. Задача 3.20. Пусть 0 < 6уя — одна перечисленных выше групп. До- казать, что вес функции wt(/) и степень нелинейности её алгебраической нормальной формы deg f являются инвариантами группы 0. С методической точки зрения полезным является следующее утвер- ждение. Теорема 3.21. При п-^оо почти все булевы функции имеют три- виальную группу инерции в группе 021(КЛ). Доказательство. Пусть g G 02l(Vn) и g = q • С2 ... c^g) — разложе- ние этой подстановки на непересекающиеся циклы. Очевидно, что число функций, остающихся неизменными при действии на них подстановки д,
134 Глава 3. Классификации булевых функций равно 2"(0). Пусть Мп — число функций от п переменных, имеющих нетри- виальную группу инерции. Легко видеть, что M^(#02l(Vn)-l)2", где и= max 1/(0). Определим и. Пусть g— нетривиальное аффинное преобразование, т. е. g = (Д, 6) е. Рассмотрим уравнение дх = Ах ф b = — х относительно неизвестного х, число его решений—это число еди- ничных циклов у подстановки д. Это уравнение имеет 2п~г решений, где г = гапк(Л фЕ). Если г = 0, то А=Е, причём в этом случае Ьу^О. Получаем, что при г = 0 решений нет. При г 1 у подстановки g не бо- лее чем 2Л-1 единичных циклов. Поэтому наибольшее возможное число циклов у аффинной подстановки будет в случае, когда она имеет 2П-1 единичный цикл, а остальные циклы имеют длину 2. Задача 3.22. Доказать, что существует аффинная подстановка g из (521(14), имеющая тип {2Л~1, 2Л-2, 0, ..., 0}. Таким образом, и = 3 • 2Л~2 и (2п П1(2"-2/)- й . 23'2”-2 Мп < i=0_________________ Q — (2n~2—n2—n) 22n 22" Z Поскольку (2П~2 — п2 — п) стремится к бесконечности при п —> сю, ясно, что Мп12?п —> 0 при п —> ос. Следовательно, доля функций, обладающих нетривиальной группой инерции в 021(Кл), стремится к 0 при п —> оо. □ Следствие 3.23. Утверждения, аналогичные утверждению тео- ремы 3.21, справедливы и для групп Доказательство. Доказательство следует из леммы 3.8. □ Процесс получения списка представителей всех классов эквивалент- ности состоит из нескольких этапов. Сначала выбирается какой-либо способ построения последовательности f\, /2, ••• функций из 7^. Поскольку не удаётся сразу обеспечить получение функций из разных классов эквивалентности, то способы построения этой последователь- ности могут быть самыми разными. Например, это может быть перебор всех булевых функций от п переменных по значениям некоторых парамет- ров или получение этой последовательности случайным образом методом Монте-Карло и т. п. После этого полагаем h\ = f\ и подсчитываем порядок группы инер- ции Далее для функции /2 проверяем, эквивалентна ли она функ- ции h\. Если эквивалентна, то переходим к функции /3, а если не экви- валентна, то полагаем /12 = /2 и подсчитываем порядок группы инерции
§3.2. Классификация булевых функций от пяти переменных 135 J7cj(/z2) и т. д. Для очередной функции Д из исходной последовательно- сти проверяем, эквивалентна ли она какой-либо функции из уже ото- бранных /ii, 7/2, hs. Если эквивалентна, то переходим к следующей функции Д+1. Если нет, то полагаем hs+\ = fi и подсчитываем порядок её группы инерции. После этого проверяем, выполнено ли равенство Е#<* = п2" #J®(^) / = 1 Если равенство выполнено, то классификация завершена. Если же сумма в левой части меньше 22", то переходим к функции Именно таким способом были построены практически все известные на сегодня классификации булевых функций. Из выражения для циклового индекса группы Зп видно, что исполь- зование групп Дп и для классификации оказывается эффективным только при п < 3. Группы и 0£(14) позволяют построить удобную классификацию только при п < 4. Впервые такая классификация (так называемый Гарвардский каталог) была получена в начале 1950-х го- дов. Полные таблицы представителей классов эквивалентных функций для всех групп при п <4 можно найти, например, в [91]. При п = 5 единственно возможным оказывается использование для классификации группы 021(14). Полная классификация относительно этой группы была проведена в 1975 г. (см. [76]) —в неё вошли представители 382 классов эквивалентности. Для классификации булевых функций от п 6 пере- менных этот подход оказывается уже неэффективным. Вероятнее всего, дальнейшие продвижения в классификации можно будет сделать, исполь- зуя обобщения группы 021(14) — группы вида 02l(l4)fjs. В подтверждение этих слов приведём две классификации булевых функций от шести переменных относительно групп 0£(14)-£)з (см. табли- цу 3.5) и 021(14)Йз (см. таблицу 3.6), опубликованные в [89]. Отметим, что в этих таблицах для краткости используются индексные обозначения для алгебраической нормальной формы булевых функций, т. е. каждый моном обозначается набором индексов входящих в него переменных, на- пример, запись 123 4-456 обозначает функцию Рассматривая теперь классификацию, приведённую в таблице 3.6, от- метим, что для получения данной классификации достаточно проверить, какие из представителей классов эквивалентности в таблице 3.5 экви- валентны относительно группы 021(14)^)3- Это можно сделать простым перебором аффинных преобразований.
136 Глава 3. Классификации булевых функций Таблица 3.5 Классификация функций от 6 переменных относительно группы W6)ft № Представитель класса эквивалентности Мощность класса 1 0 1 2 1234 651 3 12344-1256 18228 4 12344-12564-3456 13888 5 12345 1953 6 12345 63 7 123(454-6) 273420 8 Т23(45 4- 6) 39060 9 1(2345 + 236 4-456) 874 944 10 1(2345+236+456) 874 944 11 123456 1 12 123456+12345 63 13 123456 + 1234 651 14 123456 + 12345 1953 15 123456+ 123(45 + 6) 39060 16 123456 + 1234 + 1256 18228 17 123456+123(45 + 6) 273420 18 123456 + 1 (2345 + 236 + 456) 874 944 19 123456 + 1234 + 1256 + 3456 13888 20 123456+1(2345 + 236 + 456) 874 944 Всего 4194 304 Мы приводим эти классификации без теоретических доказательств их полноты, описания использованных при построении инвариантов, без вычисления групп инерции и т. п. Читателю, желающему глубже изучить вопросы построения классификаций, рекомендуем подробно ознакомить- ся с работами [63, 76, 89]. Отметим также, что мы сознательно опускаем вопросы использования вычислительной техники при построении клас- сификаций, поскольку по этим вопросам можно написать отдельную мо- нографию.
§3.2. Классификация булевых функций от пяти переменных 137 Таблица 3.6 Классификация функций от 6 переменных относительно группы 02((1Шз № Представитель класса эквивалентности Мощность класса 1 0 1 2 1234 651 3 1234+1256 18228 4 1234+1256+3456 13888 5 12345 2016 6 123(45+6) 312 480 7 1(2345+236+456) 1749 888 8 123456 64 9 123456+12345+12346 41664 10 123456+1234+1256 1 166 592 11 123456+1234+1256+3456 888 832 Всего 4194 304 Получение различных классификаций представляет большой практи- ческий интерес в связи с тем, что каждая классификация даёт большой фактический материал для проверки различных предположений и гипотез о свойствах, возможных значениях и распределениях значений парамет- ров функций из заданных классов. Кроме того, при наличии классифика- ции появляется возможность решать такие задачи, как: — вычисление возможных характеристик функций и точных распре- делений этих характеристик (такие результаты интересны, если функция является случайным параметром); — поиск наилучших для данной конкретной ситуации значений пара- метров функций из заданного класса; — выбор функций, обладающих наилучшими для конкретной ситуации параметрами; — поиск всех функций с заданными конкретными ограничениями на параметры, подсчёт их числа, нахождение точного описания и распре- деления; — описание структуры множества функций с заданными свойствами; — определение полных систем инвариантов функций для заданной группы преобразований.
138 Глава 3. Классификации булевых функций В связи с вышеизложенным отметим, что в настоящее время для криптографических приложений наибольший интерес представляют сле- дующие задачи. Задача 3.24 (нерешённая). Построить полную систему аффинных инвариантов для всего множества булевых функций. Задача 3.25 (нерешённая). Описать все классы аффинной эквива- лентности булевых функций. В заключение этого параграфа отметим, что построение классифика- ций относительно некоторой группы 0 можно проводить и для произволь- ных подмножеств всего множества Fn. Об одной из таких классификаций пойдёт речь в следующем параграфе. § 3.3. Классификация квадратичных булевых функций Свойства квадратичных функций над полями характеристики, отлич- ной от 2 (в том числе и над упорядоченными полями), изучались в боль- шом количестве работ (см., например, [52, 163, 385]). С другой стороны, результаты по эквивалентности квадратичных функций над полями ха- рактеристики 2 представлены гораздо беднее и, как правило, в связи с конкретными приложениями. Так, результаты работы Диксона [189], опубликованной в 1901 г., рассматриваются в [291] в связи с теоретико- кодовыми приложениями. Исходя из целей нашей книги, мы также будем придерживаться этого подхода и, в частности, при изложении результатов мы будем следовать монографии [291]. Определение 3.26. Квадратичной функцией от п переменных на- зывается булева функция из 5*^, полином Жегалкина которой имеет сле- дующий вид /(х) = /(х(1), х(п)) = ф aijX^x^ фф Ь[Х^ фе, /=1 где atj (1 < z < j и), bi (1 < / < и), е — элементы поля F2. В этом определении мы намеренно используем термин «функция», а не «форма», поскольку последний термин мы хотим сохранить для од- нородных полиномов Жегалкина. Ясно (см. задачу 3.20), что множество квадратичных функций под дей- ствием элементов полной линейной группы (полной аффинной группы)
§3.3. Классификация квадратичных булевых функций 139 переходит в себя. Отметим, что к квадратичным функциям, как вырож- денный случай, относятся и все аффинные функции (в случае, когда все коэффициенты ач равны 0). Полином квадратичной функции f в матричном виде может быть за- писан следующим образом /(х) = /(х(1), ..., х(л)) =xTQfX^ б^хфе, (3.4) где о <21,2 <21,3 ••• <21,п-1 <21,п \ 0 0 02,3 ••• Я2,п-1 <22,п 0 ............. 9 ип_\п о ................. О — верхнетреугольная (и х и)-матрица с нулевой главной диагональю, ь] = (Ь\, Ь2,Ьп). С матрицей Qf связана следующая симметричная матрица с нулевой главной диагональю: _ Qf = Qf®Qj. Матрица Qf определяет билинейную форму qf(u, v) = uTQfV. (3.5) Воспользовавшись соотношением (3.4), легко проверить, что qf(u, v) = f(u ф v) ф f(u) ф /(v) ф е. (3.6) Определение 3.27. Билинейную форму qf(u, и) будем называть би- линейной формой, ассоциированной с квадратичной функцией f. Из соотношений (3.5) и (3.6) видно, что билинейная форма qf(u, v) является альтернированной, т. е. для всех и, veVn справедливы сле- дующие равенства qf(u, и)=0, qf(u,v) = qf(v,u). Определение 3.28. Булева билинейная и альтернированная форма называется симплектической. Определение 3.29. Булева симметрическая матрица с нулевой глав- ной диагональю называется симплектической матрицей. Соотношение (3.5) показывает, что симплектические матрицы на- ходятся во взаимно однозначном соответствии с симплектическими
140 Глава 3. Классификации булевых функций билинейными формами. Число различных симплектических (п х ^-мат- риц (симплектических билинейных форм от п переменных), очевидно, равно 2(2). Лемма 3.30. Ранг симплектической матрицы чётен. Доказательство. Для доказательства леммы используем ме- тод индукции. Очевидно, что существует всего две симплектических (2 х 2)-матрицы: При этом rank В\ =2, rank В2 = 0, т. е. ранги этих матриц чётны. Пред- положим, что ранги всех симплектических (т х т)-матриц, где m^t, чётны. Пусть В — некоторая симплектическая ((/ + 1) х (/ + ^-матри- ца. Тогда матрицу В можно представить в виде где Л— некоторая симплектическая (/ х /)-матрица, у — вектор-столбец из Vt. По предположению индукции rank А = 2k. Если у линейно зависит от столбцов матрицы Л, то гапк[Л, у] =гапк Л = 2k. Кроме того, суще- ствует вектор-столбец х G Vt такой, что Ах = у. Тогда хт[Л, у] =хт[Л, Ах] = [хтЛ, хТАх]. Поскольку матрица Л симплектическая, то хтАх = 0 для любого х е Vt и хтАт = (Ах)т = ут. Следовательно, хтИ, у] = [ут, 0], т. е. строка [у\ 0] линейно зависит от строк (/ х (/ + 1))-матрицы [Л, у]. Отсюда имеем rank = гапк[Л, у] — 2k. Теперь предположим, что вектор-столбец у линейно не зависит от столбцов матрицы А. Аналогичными рассуждениями получаем следу- ющее равенство rank f 4- f= 2k + 2. □ V 0/ Найдём число Г(п, 2s) симплектических (п х п)-матриц ранга 2s. Вначале получим некоторые рекуррентные соотношения для Г(/г, г),
§3.3. Классификация квадратичных булевых функций 141 г = 2s. Пусть А — фиксированная симплектическая (п х и)-матрица ран- га г и пусть — ((/г Н-1) х (лг 4- 1))-матрица, где у — произвольный вектор из Vn. Лемма 3.31. Среди 2п различных матриц В ровно 2п — 2Г имеют ранг г 4-2 и ровно 2Г матриц имеют ранг г. Доказательство. Если у линейно зависит от столбцов матрицы А, то, как показано в доказательстве леммы 3.30, rank В = rank А = г. Если у линейно не зависит от столбцов матрицы Л, то, как показано в доказа- тельстве леммы 3.30, rank В = г 4- 2. □ Из леммы 3.31 следует, что числа Г(п, г) удовлетворяют следующему рекуррентному соотношению Г(п + 1, г) = 2Г Г(л, г) + (2" - 2Г~2) Г(и, г - 2). (3.7) Теорема 3.32. Справедливо соотношение Г(п 2s) = ~ — 1) •... • (2 + — 1) 2$($-О s > 1' (3 8) 2s) (22* - l)(22s“2 - 1) •... - (22 - 1) 2 ’ Г(лг, 0) = 1 при любом натуральном п. Доказательство. Второе утверждение теоремы очевидно. Несложно убедиться непосредственной проверкой, что Г(2, 2) удовле- творяет равенству (3.8). Предположим, что Г(я, 2) удовлетворяет соотношению (3.8) для всех натуральных п t. Тогда из рекуррентного соотношения (3.7) имеем Г(/ + 1,2) = 22 Г(/, 2) + (2‘ - 1) • Г(/, 0) = 22 (2' ~^(2' ‘ 1}- + (2' - 1) = ,9/_п 22-(2'-|-1) + 22-1 _ (2<+1 - 1)(2' - 1) ( ' (22—1) (22 — 1) т.е. Г(/ 4-1,2) также удовлетворяет соотношению (3.8). Следовательно, в силу принципа математической индукции Г(и, 2) удовлетворяет соотно- шению (3.8) при любом натуральном п.
142 Глава 3. Классификации булевых функций Предположим теперь, что Г(п, 2s) удовлетворяет соотношению (3.8) для любого натурального п < 2s. Тогда в соответствии с (3.7) Г(2(5 4- 1), 2(s 4- 1)) = = 22(S+1). r(2s + i, 2(s + 1)) + (22<s+‘> - 22s) • r(2s + 1, 2s) = _ q2s pc2<? i I — 92s + ~ — 1) 2s(s-i) “ -l^S + l.ZSj-Z • (22s _ 1)(22s-2 (22 _ 1) z Домножив числитель и знаменатель на (22s+2 - 1) и домножив числитель на 1 = (2 — 1), получаем Г(2(д + 1), 2(s + 1)) = T(2s + 2, 2s + 2) = _т (22s+2 — l)(22s+l — 1) . (22 — 1)(2 — 1) (s+1) (22s+2- l)(22s - l)-...-(22— 1) откуда следует, что T(2(s 4-1), 2(s 4- 1)) удовлетворяет соотношению (3.8). Предположим теперь, что Г(п, 2(s + 1)) удовлетворяет соотношению (3.8) для 2(s 4-1) < п < /. Тогда согласно (3.7) Г(/ + 1, 2(s + 1)) = 22<s+1) • r(Z, 2(s + 1)) + (2' - 22s) • Г(/, 2s) = _o2(s+i) (2( — 1)(2<-1 — 1) ... (2*-25-1 — 1) 2S(S+1) , (22<s+|) — l)(22s — 1) •• (22 — 1) , (2Z - 1)(2'-' - 1) ... (2'-2s+i - l)(2f-2s - 1) 2S(s+i) = (22s - l)(22s"2 - 1) •... • (22 - 1) J2'-l)(2'-'-l)-...-(2'-2S-l) /22<s+i>(2<-25-'-1) , \ 2S(s+1) = (22s — l)(22s-2 —1)-...-(22 —1) V (22<s+0-l) ) ( 2f+l -1 \ (2* — 1)(2<-1 — 1) •• (2<-2s — 1) s(s+1) V22<s+i)-J (22s-l)(22s-2-l)-...-(22-l) Следовательно, Г(/ 4- 1, 2(s 4-1)), а значит, и Г(м, 2(s 4- 1)) удовлетворя- ют соотношению (3.8) при любых п 2(s 4-1). Суммируя всё сказанное, получаем, что если Г(я, 2s) удовлетворяет соотношению (3.8) при лю- бых п 2s, то Г(/7, 2(s 4- 1)) удовлетворяет соотношению (3.8) при любых п 2(s 4- 1). Поскольку для Г(лг, 2), п 2, теорема выполнена, то она вы- полнена и для Г(и, 4), п 4; Г(п, 6), п 6, и так далее. □ Теперь перейдём к рассмотрению вопроса об эквивалентности квад- ратичных функций относительно полной аффинной группы.
§ 3.3. Классификация квадратичных булевых функций 143 Теорема 3.33. Если В — симплектическая (п х п)-матрица ранга 2s (2s ^и), то существует такая невырожденная (п х ^-матри- ца R, что RTBR = А 0\ О о/ где (2s х 2з)-матрица А имеет вид: (° 10 0. .. 0 0\ 1 ООО. ..0 0 0 0 0 1. ..0 0 А = 0 0 10. ..0 0 О 0 0 0 ... О 1 \О О О О ... 1 О/ Доказательство. Теорема очевидна для п — 1, 2. Предположим, что оно выполняется для всех п t и s < [7/2]. Тогда симплектическая ((t + 1) х (t + 1))-матрица В может быть записана в виде где Л — симплектическая (t х /)-матрица, ye Vt. Если ранг матрицы А меньше, чем 2[//2], то с помощью элементарных операций над строками и столбцами матрица В может быть приведена к виду /Л' у' 0 ... 0\ (у')Т 0 0 ... О О 0 0 ... О , у О 0 0 ... О/ — матрица, размер которой не более чем t х /, а Л' — сим- плектическая матрица. Согласно предположению индукции такая матрица может быть приведена к указанному в формулировке теоремы виду. Та- ким образом, достаточно рассмотреть случай rank Л = 2[t/2] (т. е. случай максимально возможного значения). Пусть 2[t/2] = t, т. е. t= 2s — чётное число. Согласно предположе- нию индукции матрицу Л можно привести к указанному виду с помощью
144 Глава 3. Классификации булевых функций некоторой невырожденной (/ х /)-матрицы /?ь /О 1 0 0 ... О 0\ 1 0 0 0 ... О О О 0 0 1 ... О О R?ARi = о О 1 0 ... О О (3.9) О О О О ... О 1 \0 О О О ... 1 о/ Обозначим через невырожденную ((/ + 1) х (/ + 1))-матрицу вида Ri О\ О 1/ Тогда в силу соотношения (3.9) выполнены следующие равенства II о 'аГо' ч: < II Н — II /0100. 10 0 0. 0 0 0 1. 0 0 10. . 0 0 ai \ . 0 0 й2 . 0 0 аз . 0 0 а4 0 0 0 0. 0 0 0 0. \01 Д2 03 04 • . 0 1 а/_| 1 0 at . а(_| at 0 / Легко проверить теперь, что для невырожденной ((/ + 1) х (/ + 1))-мат- рицы /1 0 0 0 ... 0 0 а2\ 0 1 0 0 ... 0 0 а\ 0 0 1 0 ... 0 0 а4 /?2 = 0 0 0 1 ... 0 0 а3 0 0 0 0 ... 1 0 at 0000... 0 1 at-i ^0 0 0 0 ... 0 0 1 /
§ 3.3. Классификация квадратичных булевых функций 145 выполнено /О 1 О О ... О О О\ 1 О О О ... О О О О О О 1 ... О О О О О О О ... О 1 О О О О О ... 1 О О \о о о о ... о о о/ Следовательно, для исходной матрицы В искомой матрицей /?, приводя- щей В к каноническому виду, является матрица R = RiRz. Пусть теперь 2[//2] = t — 1, т. е. t = 2s 4- 1 — нечётное число. Повто- рив приведённые выше рассуждения, можно показать, что существует невырожденная ((/+ 1) х (/+ 1))-матрица R\, приводящая матрицу В к виду В{ = (R[)T BR{ = /0 1 0 0 ... О 0 0 а,\ 1 0 0 0 ... 0 0 0 а2 0 0 0 1 ... 0 0 0 а3 0 0 1 0 ... 0 0 0 а4 0 0 0 0 ... 0 10 0 0 0 0 ... 1 0 0 at_\ 0000... 0 0 0s Я 2 #3 #4 ... at-\ £ 0 j где е = 0, если rank В\ = t - 1, и е — 1, если rank В\ = t 4-1. Простой про- веркой можно показать, что к каноническому виду матрицу В\ приводит ((/ 4-1) х (/ 4- 1))-матрица /1 0 0 0 ... 0 0 a2 \ 0 1 0 0 ... 0 0 a, 0 0 1 0 ... 0 0 a4 0 0 0 1 ... 0 0 a3 R'2 = 0 0 0 0 ... 0 0 a,-! 0 0 0 0 ... 1 0 a,_2 0 0 0 0 ... 0 1 0 ^0 0 0 0 ... 0 0 1 /
146 Глава 3. Классификации булевых функций Следовательно, для исходной матрицы В искомой матрицей /?, приводя- щей В к каноническому виду, является R = /?'/?£. □ Теорема 3.34. Пусть f — квадратичная функция из ?п, rank Qf = = 2s. Тогда существует такой элемент &f е 02l(Vn), что fQf имеет один из перечисленных ниже видов: а) если rank Qf = 0, то либо fQf (х) е = 0, 1, либо pf(x) = х(1); б) если rankQ^=2s, s^l, то либо pf(x) = J2 x<2z-1)x(2z) Фе, s . . /=1 £ = 0, \,либо /0z(x) = Z2 х(2|”1)х(2|)Ф?25+1). / = 1 Доказательство. Утверждение пункта а) теоремы следует из то- го, что если /(х) = г = const, то р(х) = f(x) =е для любого элемента 0 € &ЩУп). Если f является аффинной функцией, отличной от констан- ты, то /(х) = &тхфб, где 6 —отличный от нуля вектор. Не ограничивая общности рассуждений, будем считать, что Ь\ = 1. Тогда элементом $ группы 021(14), приводящим f к каноническому виду, будет невырож- денная матрица В такая, что (1 Ь2 ... 6п\ 0 1 7 ° , (1,о, = ...,ьп). о о ... 1 / Подействовав на функцию f элементом 0, имеем /в(х) = /(дх) = 6тВх = (1, 0,..., 0)х = х(1>. Утверждение б) теоремы докажем в несколько этапов. На каждом этапе будет выделен соответствующий элемент группы 02l(Vn), который в известном смысле будет приближать исходную функцию к канониче- скому виду. На первом этапе подействуем на функцию / элементом группы 021(^4), который совпадает с матрицей /?, приводящей к каноническому виду симплектическую матрицу Qf. Для s = 0, 1 получаем: fR(х) = f(Rx) = xTRTQfRx ф bTRx ф е = Ф (б')тх фе. /=1 Если bf = 0, то мы уже на первом этапе получили каноническое пред- ставление. На втором этапе рассмотрим два возможных случая.
§3.3. Классификация квадратичных булевых функций 147 Пусть Ь' / 0 и все существенные переменные линейной функции (&')тх не принадлежат множеству {х(1), х(2), ..., x(2s-l), x(2s)}. Тогда при- ёмом, использованным при доказательстве пункта а) теоремы, можно найти такой элемент группы 021(ИП), подействовав которым на функ- цию fR, мы приведём её к виду ^?2'"1)х(2/)Ф?2х+1)Фе, £ = 0, 1. /=1 Этот вид в случае е = 0 уже является каноническим, а в случае в = 1 приводится к каноническому виду аффинным преобразованием 2s 4-1 (Е, (0, ..., О, 1,0, ..., 0)). Пусть теперь Ь' ± 0 и некоторые существенные переменные линей- ной функции (Ь7)7х принадлежат множеству {х(1), х(2), ..., x(2s“0, x(2s)}. Не ограничивая общности рассуждений, будем считать, что это х^) (на- ши рассуждения не зависят от конкретных индексов переменных). В этом случае fR(x) = х(1)х(2) фх(1) ф... Подействовав на fR элементом группы являющимся невырож- денной матрицей /10 0 ... 0\ 1 1 0 ... 0 R1 = 0 0 1 ... 0 , \0 0 0 ... 1/ получим fRR' (х) =Х(1)Х(2) ф ... Если же и х(1), и х(2) принадлежат множеству {х(1), х(2\ ..., x(2s-1), х<2*)}, то /^(х) =х(1)х(2) фх(1) фх(2) ф ...ф£, £ = 0, 1. Подействовав на fR аффинным преобразованием g = (Е, (1, 1,0, ..., 0)), получим fR& (х) = х(1)х(2) ф... ф е ф 1, £ = 0, 1. Проведя такие же рассуждения для всех существенных переменных линейной функции (67)7х, входящих в множество {х(1), х(2), ..., x(2s-1), x(2s)}, мы приведём исходную квадратичную функцию к виду x(2z-1)x(2z) ф (6,,)тхф s, е = 0, 1, /=1
148 Глава 3. Классификации булевых функций где все существенные переменные линейной функции (Ь”)тх не принад- лежат множеству {х(1), х(2), xf25”1), x(2s)}. Если Ь" = 0, то тем самым мы получили канонический вид. Если же b" Ф 0, то, воспользовавшись приёмом, использованным при доказательстве пункта а) теоремы, приве- дём исходную функцию к виду ^2 X(2'-I)X(2z) ®X(2s + 1) ® £, £ = 0, 1. В случае е = 0 это уже канонический вид, если же е= 1, он приводится к каноническому виду аффинным преобразованием 2s+l (£, (0, ..., 0, 1,0, ..., 0)). Задача 3.35. Доказать, что приведённые в пунктах а) и б) теоре- мы 3.34 функции не являются 021(14)-эквивалентными. □ Полученные результаты показывают, что представленные в теоре- ме 3.34 канонические функции являются представителями классов эк- вивалентности для квадратичных функций относительно группы 021(14). Необходимо отметить, что ранг билинейной формы, ассоциированной с квадратичной функцией (или ранг соответствующей симплектической матрицы), является инвариантом для группы 021(14), но не является полным инвариантом. Задача 3.36. Доказать, что полными системами аффинных инвариан- тов для квадратичных функций из являются: 1) множество из двух чисел — ранг ассоциированной билинейной фор- мы и размерность группы инерции в полной аффинной группе (при этом их сумма равна п или п — 1); 2) множество из двух чисел — размерность группы инерции в полной аффинной группе и ef = 1, если / — уравновешена, иначе 6/ =0; 3) размерность группы инерции в полной аффинной группе. § 3.4. Классификация однородных кубических форм от 8 переменных При переходе от квадратичных функций к кубическим сложность задачи классификации резко возрастает. Причина этого — в отсутствии адекватного математического аппарата, и, в частности, в отсутствии алго- ритмов приведения тензоров третьего порядка к каноническому виду (для
§3.4. Классификация однородных кубических форм 149 тензоров второго порядка, т. е. матриц, такие алгоритмы давно разрабо- таны). Задача классификации кубических форм над произвольным полем связана с глубокими нерешёнными алгебраическими, геометрическими и теоретико-числовыми задачами (см. [54]). Тем не менее для малых размерностей некоторые продвижения в клас- сификации однородных кубических форм есть. Над полем действительных чисел классификации были получены: Рейхелем в 1907 г. для п = 6, Схо- утеном в 1933 г. для и = 7, Гуревичем в 1932 г. для и = 8, Винбергом и Элашвили в 1974 г. для и = 9. Над полем комплексных чисел подобная классификация при п = 7, 8 получена в работе [416]. Как и в § 3.2, мы опускаем соответствующие доказательства для пред- ставляемых классификаций, отсылая читателя к работе [89]. Сделаем лишь краткое замечание общего характера. Представляемые классифи- кации однородных кубических форм рассматриваются относительно груп- пы 021(14), но множество однородных кубических форм не инвариантно относительно этой группы. Поэтому однородные кубические формы сле- дует рассматривать как элементы факторпространства кубических буле- вых функций по подпространству квадратичных булевых функций. Можно также считать, что строится классификация однородных кубических форм относительно группы 021(14)5)2- В таблице 3.7 приведена классификация однородных кубических форм от шести переменных относительно группы 021(14). При построении этой классификации в качестве инварианта был ис- пользован вектор 7г(/) = (тго, 7Г1, тг2), где тг, = #Mi, Mi — множество век- торов и е 14, для которых производная Duf является квадратичной фор- мой ранга 2/, z=0, 1, 2. Данный инвариант и в этом случае является полным. Классификация однородных кубических форм от семи переменных относительно группы 021(14) представлена в таблице 3.8. В каче- стве инварианта здесь был использован аналогичный вектор частот тг(/) ~ (ло, л-2, тгз), где тг/ = #Mi, Mi — множество векторов и е V7, для которых производная Duf является квадратичной формой ранга 2/, 4=0, 1,2, 3. Данный инвариант в этом случае является полным. Классификация однородных кубических форм от восьми переменных относительно группы 021(14) представлена в таблице 3.9. В качестве инварианта здесь был использован вектор частот %(/) = (тг0, тл, %2, тгз), где тг/ = #Mi, Mi — множество векторов и е 14, для которых производ- ная Duf является квадратичной формой ранга 2/, i = 0, 1,2, 3. Этот инва- риант в данном случае не является полным. Однако при построении этой классификации могут быть использованы и полные инварианты (см. [89]).
150 Глава 3. Классификации булевых функций Таблица 3.7 Классификация однородных кубических форм от 6 переменных относительно группы 021(Гб) № Представитель класса эквивалентности Мощность класса Порядок группы инерции Инвариант *•(/) 1 0 1 2'5 • З4 • 5 • 72 31 64,0,0 2 123 1395 2'5 З2 • 72 8,56,0 3 123+145 54 684 2|3-32-5 2,30,32 4 123+456 357 120 27 З2 72 1,14,49 5 123+135+236 468720 2" -3-7 1,7,56 6 123+124+135+236+456 166656 27 • З3 • 5 • 7 1,0,63 Всего 1048 576 Таблица 3.8 Классификация однородных кубических форм от 7 переменных относительно группы 021(Уу) № Представитель класса эквивалентности Мощность класса Порядок группы инерции Инвариант ^(7) 1 0 1 221 ,34.5.72.31 . 127 128,0,0,0 2 123 11811 221 -33-5-72 16,112,0,0 3 123+145 2314956 2|9-33-5 4,60,64,0 4 123+456 45354240 213-32-72 2,28,98,0 5 124+135+236 59527440 2|7-3-7 2,14,112,0 6 123+124+135+236+456 21 165312 213-33-5-7 2,0,126,0 7 123+145+167 1763776 2|5-34 -5-7 1,63,0,64 8 123+246+357 2222357 760 213.32 1,13,92,32 9 123+145+167+246 238109760 2i5-3-7 1,7,56,64 10 123+145+246+357 17 778862080 210-32 1,3,76,48 11 123+124+135+236+456+167 444471 552 213 • З2 • 5 1,1,30,96 12 123+145+167+246+357 13 545799680 26 • З3 • 7 1,0,63,64 Всего 34 359738368
§3.4. Классификация однородных кубических форм 151 Таблица 3.9 Классификация однородных кубических форм от 8 переменных относительно группы C52l(Vs) № Представитель класса эквивалентности Мощность класса Инвариант *(/) 1 0 1 256,0,0,0 2 123 97 155 32,224,0,0 3 123+145 84 330540 8,120,128,0 4 123+456 3855110400 4,56,196,0 5 124+135+236 5059832400 4,28,224,0 6 123+124+135+236+456 1799051520 4,0,252,0 7 123+145+167 449762880 2,126,0,128 8 123+246+357 566701228800 2,26,184,64 9 123+145+167+246 60717988800 2,14,112,128 10 123+145+246+357 4 533609830400 2,6,152,96 11 123+124+135+236+456+167 113340245760 2,2,60,192 12 123+145+167+246+357 3454 178918400 2,0,126,128 13 123+478+568 2 763343134 720 1,22,121,112 14 123+145+167+568 2 266804 915200 1,19,108,128 15 123+246+357+568 18134439321600 1,9,102,144 16 123+246+357+128+138 64 478006476800 1,9,102,144 17 123+145+167+357+568 13600829491200 1,7,56,192 18 123+145+478+568 290151029145600 1,6,89,160 19 123+124+135+236+456+167+258 3 626887864 320 1,5,10,240 20 123+124+135+236+456+178 116060411658240 1,3,76,176 21 123+145+246+357+568 108806635929600 1,3,76,176 22 123+145+246+467+578 1 740 906174 873 600 1,3,76,176 23 123+145+357+478+568 1 740906174 873600 1,2,53,200 24 123+246+357+478+568 2 321208233164800 1,1,58,196 25 123+246+357+148+178+258 6963624699494400 1,1,58,196 26 123+145+167+246+357+568 217613271859200 1,1,30,224 27 123+145+167+246+238+258+348 1 740906174 873600 1,1,30,224 28 123+145+167+258+268+378+468 55266862694 400 1,0,63,192 29 123+145+246+357+238+678 15916856455987200 1,0,49,206 30 123+145+246+357+478+568 27854 498797977600 1,0,35,220 31 123+124+135+236+456+167+258+378 12379777243545600 1,0,21,234 32 123+156+246+256+147+157+ +357+348+258+458 497401764 249600 1,0,7,248 Всего 72057594037927936
152 Глава 3. Классификации булевых функций § 3.5. 7?7И-эквивалентность булевых функций Естественным развитием приведённых выше соображений о трудно- стях классификации булевых функций от большого числа переменных относительно группы C52l( Vn) и о необходимости рассмотрения класси- фикаций относительно групп C52l( Vn)f)s является следующее определение. Определение 3.37. Будем говорить, что две булевых функции оди- наковой степени нелинейности RM-эквивалентны, если они могут быть получены одна из другой с помощью аффинной замены переменных и при- бавления функции степени нелинейности, не превышающей deg f — 1. Другими словами, /?Л4-эквивалентность —это эквивалентность отно- сительно группы Использование термина «/^-эквивалентность» станет понятно поз- же после изучения кодов Рида—Маллера. Из результатов настоящего параграфа вытекает, что классификация булевых функций на основе по- нятия /?Л4-эквивалентности, по всей видимости, имеет шансы на успех. Ключевым для этого направления классификации является следующее понятие. Определение 3.38. Невырожденной назовём булеву функцию /, для которой = {0}. Другими словами, невырожденными называются такие булевы функции, для которых взятие производной по любому нену- левому направлению уменьшает степень нелинейности ровно на единицу. Свойство невырожденности булевой функции можно выразить в тер- минах линейной алгебры, что существенно облегчает изучение невырож- денных булевых функций. Если deg f = r, то через [/]г обозначим од- нородную форму степени г функции /, а через [О^Лг-! — однородную форму степени г - 1 функции Daf. Задача 3.39. Доказать следующее равенство: [Da^ Лг-1 (*) = [ZMr-lW Ф [D„ Лг-1 W для любого х, <т, а; G Vn. Из последнего равенства и задачи 2.70 следует Теорема 3.40. Отображение D: (/, а) —► [Da/]г— i для сг eVn и deg f = г является билинейным. Невырожденность булевых функций связана с отображением D сле- дующим образом: подпространство L^eg ^~2 — это в точности ядро линей- ного отображения D при фиксированном /: >-2 = {<7 е Vn I [Drf]^ = D(f, а) = 0}.
§3.5. /?Л4-эквивалентность булевых функций 153 Невырожденными являются те и только те булевы функции /, для кото- рых D(f, а) Ф 0 при всех ненулевых a е Vn, т. е. линейное отображение D при фиксированной f является невырожденным. Полезно отметить сле- дующее легко проверяемое свойство отображения D. Лемма 3.41. Для любой функции ip при условии deg < deg f — 1 и любого направления а е Vn справедливо соотношение D(J а) = D(f, а). Из леммы 3.41, в частности, следует, что вместе с функцией f невы- рожденной является любая функция / ф<р, если deg deg / — 1. Та- ким образом, невырожденность булевой функции — это свойство, которое определяется только старшей однородной формой этой функции. Более того, из леммы 3.41 также вытекает, что если deg f = г, то Lr~2 - Lr~2 Ч ~ 4f]r • С помощью элементарных рассуждений легко проверить, что DM(x)= £ dJV, wt(/3)=r-l pevn где в/= (0, ...,0, 1, 0, ..., 0)т; = х(/,) •...-х^-^, если в векторе /3 i единицы стоят на местах Д, ..., /г_ь т.е. /3= (0, ..., О, 1, 0, ..., О, 1 , J 0, если /3 ei (т. е. в векторе /3 на z-м месте стоит единица); ^(3 = ) (С/ЗФе, в противном случае, f(x) = ф саха. <*evn Из введённых обозначений очевидно, что при фиксированной функ- ции f образ Vn при отображении D совпадает с линейной оболочкой, натянутой на п однородных форм степени г—1, заданных вектора- ми dp\ ..., dp\ Из известного результата линейной алгебры о связи размерностей ядра и образа линейного отображения следует Теорема 3.42. dim Lrf~2 = п - гапкЦ^, ..., dp\ Для однородных форм выполняется следующее важное свойство. Лемма 3.43. Пусть ф(х\, ..., хл) — однородная форма степени г. Тогда либо Xi — несущественная переменная, либо deg Depli = г — 1.
154 Глава 3. Классификации булевых функций Невырожденную однородную форму степени г от п переменных будем называть для краткости невырожденной (п, г)-формой или, если пара- метры п и г не нужны, невырожденной формой. С помощью леммы 3.43 можно из каждой булевой функции выделить невырожденную форму. Теорема 3.44. Пусть deg f = г, dim Lj~2 = п — k, Vn = U+W, Lr^~2 = = U. Тогда k^ru при любом выборе базисов в U и W функция f(u, w) может быть представлена в виде f(u, w) = ip(u, w) ф где — невырожденная (k, г)-форма, deg < r — 1, причём L™ = = L™ для всех m^r — 2. Из теоремы 3.44 очевидным образом вытекает важнейшее утверж- дение. Следствие 3.45. Любая булева функция RM-эквивалентна неко- торой невырожденной форме. Сделаем при необходимости аффинную замену переменных и исклю- чим несущественные для f направления, т. е. в дальнейшем будем считать, что LJ1 = {0}. Рассмотрим теперь для данной функции f все её простран- ства г-нелинейности и выберем из них все различные, т. е. найдём цепочку различных подпространств Lrf' < Lrf < ... < Lr[, Lr/+i = Vn так, что Положим п — /2j=dimZ//, тогда k\ > > ... > ks, г\ <г%< ...<rs, ks^rs+2. Очевидно, что так определённый набор чисел (&ь и), (^2, г2), ..., (ks, rs) является аффинным инвариантом булевой функции. Назовём этот инвариант структурой вырождения булевой функции. Выясним, к какому виду можно привести булеву функцию с помощью аффинных замен переменных, если известна её структура вырождения. Заметим вначале, что к функции f можно добавлять любую функцию степени нелинейности, не превышающей г\, при этом структура вырож- дения f не изменится. Поэтому в дальнейшем, не ограничивая общности, будем считать, что в полиноме Жегалкина функции / нет членов степени нелинейности, не превышающей г\. Сделав некоторую аффинную замену переменных, можно считать, что Lri ={(xi,..., xn_ki, 0,..., 0)т \xj eF2, j e 1, ..., n -ki}.
§3.5. RM-эквивалентность булевых функций 155 Теперь можно несколько раз применить теорему 3.44 к функциям умень- шающихся степеней нелинейности rs + 2, r5_i 4- 2, ..., r\ 4- 2 и в резуль- тате получить следующее утверждение. Теорема 3.46. Пусть (&i, и), ..., (ks, rs) — структура вырожде- ния булевой функции f, deg f = rs 4-2, причём Vn = Ux+U2+ ... Lri = U[+U2+ ... +Ui. Тогда при любом выборе базисов в Ut, W функция f(ui, и2, ...» us, w) может быть представлена в виде f(u\,u2,...,us, w) = (/?(«!, и2, ...,us, w) ...» us, W) e ..., Us, w)®^s(w), где ^i(ui+\,...,us,w) — невырожденная (к^ъ + ЪУформа, (р(щ,и2,... ...,us,w) — невырожденная (n, r\ 4- \)-форма. Очевидно также и обратное утверждение. Теорема 3.47. Пусть Vn — U\+U2+...+US+W, dim (/i4-t/2+... ... -i-Ui—n — ki, i = l,...,s, k\ > k2 > ... > ks, r\<r2<...<rs, ks^ rs 4-2, ..., us, w) — невырожденные (ki, rz 4- 2)-формы, <p(u\, u2, ..., us, w) — невырожденная (n, 4- \)-форма. Тогда функция f(u{, U2, ..., Us, W)=ip(u{, u2, ..., us, W)®^{(u2, ..., Us, w) ® Ф^2(Из, ..., Us, w)^...^^s-l(us, w)®^s(w) степени нелинейности rs + 2 имеет структуру вырождения (k\, n), ..., (ks, rs). Разложение, полученное в теореме 3.46, позволяет дать ещё одну интерпретацию пар (k, г), входящих в структуру вырождения булевой функции f. Будем рассматривать все базисы пространства Vn и выписы- вать полиномы Жегалкина функции f в этих базисах. Через /гв обозначим сумму мономов степени, большей г, входящих в полином Жегалкина функции f в базисе В, а через k^(f) — число существенных переменных булевой функции f?, Из предыдущих построений очевидно, что если пара (k, г) входит в структуру вырождения функции /, то k = min k^(f). в Теорема 3.46 позволяет считать, что проблема аффинной классифи- кации булевых функций сведена, в первую очередь, к аффинной класси- фикации невырожденных форм.
156 Глава 3. Классификации булевых функций Пример 3.48. Легко проверить, что для квадратичных форм вве- дённое условие невырожденности совпадает с классическим условием невырожденности. Достаточно заметить, что матрица линейного отоб- ражения D в этом случае — это симплектическая матрица квадратичной формы. Поэтому из известной классификации квадратичных форм вы- текает, что невырожденные (и, 2)-формы существуют только при чёт- ных п и с помощью аффинной замены переменных любая невырожденная (2m, 2)-форма может быть приведена (с точностью до /?Л4-эквивалент- ности) к виду фХ(2)£/(2) Ф ... Задача 3.49. Проверить, что все кубические формы, полученные при классификации, описанной в §3.4, являются невырожденными. Комментарии к главе 3 Доказательство теоремы 3.34 можно найти в [112, 283, 311], прав- да, в несколько ином виде. Эта теорема является основной для полного решения задачи описания спектра весов кодов /?Л4(2, т) (см. гл. 5). В 1989 г. в работе [314] был предложен подход к оценке нелинейно- сти булевых функций. Представлялось важным иметь критерии, которые являлись бы мерами нелинейности функций. В конечном итоге авторам хотелось классифицировать уже имеющиеся и появляющиеся новые кри- терии. В основу такой классификации авторы предлагали положить ал- гебраическую идею о том, что всякий полезный критерий должен оста- ваться инвариантным относительно определённой группы преобразований основного пространства. Понятно также, что критерий нелинейности дол- жен оставаться инвариантным относительно как можно большей группы преобразований. В такой постановке всякая функция считается слабой, если её можно свести к криптографически слабой функции с помощью простых (например, линейных или аффинных) преобразований. Наибо- . лее перспективной с этой точки зрения представлялась аффинная труп- j па — 02l( Vn). Относительно неё инвариантен критерий расстояния до аф- финных функций, критерий Ротхауза и некоторые другие. К сожалению, огромное количество классов эквивалентности относительно 021(14) при п > 6 не позволяет эффективно работать с критериями. Попытки проведения классификации кубических булевых функций от небольшого числа переменных на идеях RM-эквивалентности были
Комментарии к главе 3 157 предприняты в работе [89]. Приведённые в §3.5 результаты о /?Л4-эк- вивалентности могут послужить теоретической базой для дальнейших попыток построения классификаций булевых функций в общем случае. Ещё более сложной является проблема классификации булевых отоб- ражений ФеТэпл- Говорят, что булевы отображения Ф, ФеТ7^ экви- валентны относительно пары групп 0 и fj, действующих на Vm и Vn соответственно, если существуют такие элементы g е 0 и 1) е fj, что вы- полнено равенство I) о Ф од = Ф. В отличие от случая булевых функций при п > 1 группа У) может ока- заться большой, что серьёзно усложняет задачу классификации. В работе [121] рассмотрена проблема линейной и аффинной клас- сификации булевых подстановок Ф € Тп,п (т. е. рассмотрен случай, когда 0 =fj и либо 0 = 0£(14), либо (3 = 021(14)). Предложен алгоритм, ко- торый для заданной пары подстановок Ф, Ф е 74,п в случае их эквива- лентности находит пару щ, 02 € ® такую, что выполнено равенство 01 офо02 = Ф, либо определяет, что подстановки Ф и Ф неэквивалентны. Асимптотиче- ская трудоёмкость предложенного алгоритма равна О(п32л) для задачи линейной классификации и <9(п322'1) для задачи аффинной классифика- ции (несложно видеть, что трудоёмкость тривиального алгоритма пере- борного типа составляет О(2п )). В той же работе [121] авторы обобщают свой алгоритм для отображений Ф, Ф е Fm,n, не являющихся подстанов- ками, в случае, когда величина \п — т\ мала. Кроме того, авторы вводят важное с криптографической точки зрения понятие почти эвивалентности отображений (almost equivalent) и адаптируют свой алгоритм для решения задачи линейной и аффинной почти эквивалентности: булевы отображе- ния Ф, Ф е п почти эквивалентны относительно пары групп 0 и й, если существуют такие элементы g е 0 и 1) е У), что равенство Й о Ф од(х) = Ф(х) выполнено почти для всех х е Vm.
Глава 4. Линейные коды над полем F2 Настоящая глава представляет собой краткий экскурс в теорию дво- ичных линейных блочных кодов. Целью её является изложение основных теоретических понятий и результатов для двоичных линейных блочных кодов. Отметим, что в частях этой главы, касающихся декодирования, авторы сознательно, исходя из целей книги, приводят лишь алгоритмиче- ские результаты и опускают технические подробности реализации кодеров и декодеров. Читателю, желающему познакомиться с этими вопросами подробнее, можно порекомендовать книги [33, 123, 349]. §4.1. Основные свойства линейных блочных кодов Определение 4.1. Линейный блочный код С длины п — это линей- ное подпространство векторного пространства Vn. Замечание 4.2. Поскольку в дальнейшем мы будем рассматривать в основном только линейные блочные коды, то под термином «код» бу- дем иметь в виду линейный блочный код. Всякий раз, когда будет идти речь о нелинейных кодах, мы будем оговаривать это особо. Кроме того, в отличие от вектор-столбцов, являющихся элементами произвольного векторного пространства, элементы кода (кодовые слова) мы будем пред- ставлять в виде вектор-строк. Это не приведёт к путанице, поскольку из контекста всегда будет ясен смысл рассматриваемого понятия. В даль- нейшем такие обозначения будут удобны при изучении кодов Рида—Мал- лера. Определение 4.3. Размерностью kc кода С называется его раз- мерность как векторного пространства kc = dim С. Определение 4.4. Минимальным расстоянием de кода (кодовым расстоянием) С называется минимальное расстояние Хэмминга между его кодовыми словами dc = min {dist (г, с') \с,с'еС,с / с'}. Поскольку код С является векторным пространством, то его мини- мальное расстояние de удовлетворяет следующему равенству de = min {wt(c) | с е С, с / 0}.
§4.1. Основные свойства линейных блочных кодов 159 Определение 4.5. Код длины п, размерности k и с минимальным расстоянием d называется [и, k, d]-KodoM. В случае, когда минимальное расстояние d не является центральным в рассуждениях или неизвестно, используется обозначение [п, k\-Kod. Определение 4.6. Скорость Re [п, k]-Koda С определяется следу- ющим равенством Пусть С С Vn —линейный код. Говорят, что вектор xeVn являет- ся г-покрытым кодом С, если существует кодовое слово сеС такое, что dist(а:, с) г. Определение 4.7. Радиусом покрытия гс кода С называется ми- нимальное натуральное число г такое, что любой вектор из Vn являет- ся r-покрытым кодом С. Задача 4.8. Пусть С С Vn —линейный код и de — его минимальное п I dc - 1 I расстояние. Доказать, что re I—%—I, где равенство достигается тогда и только тогда, когда код С совершенный (см. ниже определение 4.44). Коды разрабатывались для того, чтобы исправлять ошибки в каналах связи с ошибками. Любая система передачи информации может быть разделена на передающее устройство, приёмное устройство и канал связи. Мы будем рассматривать дискретный ! _ ? канал, по которому передаётся двоич- ная информация, т. е. множество входных s' символов совпадает с множеством вы- s'° ходных символов, являющимся полем F2. .хх. Передаваемый символ а (а е F2) в канале с вероятностью ошибки р (0 С р 1) из- s' меняется на а ф 1 и с вероятностью 1 — р 1 । 1 остаётся неизменным (см. рис. 4.1). Та- ким образом, вероятность определённого Рис. 4.1 искажения передаваемой последователь- ности символов зависит только от числа искажённых символов, но не за- висит от их расположения и от самих передаваемых символов. Ошибки в таком канале называются независимыми. Эти каналы исследованы наиболее полно. Однако они являются не более чем удачной математической моделью, которая помогает скро- ить коды для реальных каналов связи.
160 Глава 4. Линейные коды над полем F2 Для нахождения кода, исправляющего t ошибок, необходимо найти код С с минимальным расстоянием de, удовлетворяющим неравенству dc>2/ + l. Действительно, предположим, что при передаче кодового слова в канале произошло не более чем t ошибок. Тогда принятое кодовое слово нахо- дится на расстоянии не более t от переданного кодового слова. В случае, когда расстояние до каждого другого кодового слова больше чем /, де- кодер исправит ошибки, если положит, что действительно переданным словом было ближайшее к принятому кодовое слово. Иногда удаётся исправлять конфигурацию из более чем t ошибок. Однако исправление любых t' > t ошибок не может быть гарантировано. Итак, пусть мы хотим закодировать сообщения так, чтобы защитить их от ошибок в канале связи. Блок из k двоичных символов сообще- ния и — (i?1), ..., eF2, i = 1, ..., k) будем кодировать кодовым словом с = (с(1), ..., с^) е F2, / = 1, .п) [п, £]-кода С, п k. Пусть с\ = (с^, ..., С|Л)), ..., Ck = (4!), ..., cf) — некоторый ба- зис векторного пространства С. Тогда произвольному сообщению и = ..., и^) поставим в соответствие кодовый вектор С — и^ • С[ ф ... -Q. Очевидно, что таким образом мы устанавливаем взаимно однозначное соответствие между всевозможными 2k сообщениями длины k и множе- ством кодовых слов [п, £]-кода С. Перейдём теперь к матричному описанию линейных блочных кодов. Для [/г, &]-кода С рассмотрим (k х дг)-матрицу G, составленную из ба- зисных векторов с2, ..., Ck кода С: /г(1) г(2) г(п)\ Г v। . v। 1 Д1) r(2) Ап) . ^2 4° 42) - 4Я7 Тогда процесс кодирования может быть выражен следующей алгебраи- ческой операцией c = uG. Замечание 4.9. Изображая структуру матрицы G, мы использовали нетрадиционную нумерацию элементов этой матрицы с целью показать роль в процессе кодирования базисных векторов. Далее мы будем ис- пользовать для элементов матриц обычную нижнюю нумерацию из двух индексов (номер строки и номер столбца).
§4.1. Основные свойства линейных блочных кодов 161 Определение 4.10. Матрица G называется порождающей мат- рицей [п, k]-Koda С. Множеством кодовых слов кода С называется пространство, натянутое на строки матрицы G. Порождающая матрица является сжатым описанием кода. Для опи- сания кода С требуется k • п битов, определяющих элементы матрицы G. В то же время для записи таблицы всех кодовых слов кода С потребуется 2k •п битов. Поскольку код С является подпространством в Vn, для него опреде- лено подпространство — ортогональное дополнение = {х е Vn | (х, с) = 0 для всех с е С}. Замечание 4.11. В отличие от пространств над полями характеристи- ки 0, в случае пространств над конечными полями существуют векторы хе Кп, х/0 такие, что (х, х)=0. Поэтому, вообще говоря, простран- ство Vn не разлагается в прямую сумму своего подпространства и орто- гонального дополнения к нему. * Определение 4.12. Код Сх называется дуальным кодом к коду С. Задача 4.13. Доказать, что дуальный код имеет размерность п — k и выполнено равенство: (С±)± = С. Пусть Н — матрица со строками, являющимися базисными вектора- ми кода С±. Тогда вектор се Vn является кодовым словом кода С в том и только в том случае, когда он ортогонален каждой вектор-строке мат- рицы //, т. е. когда выполнено равенство Определение 4.14. ((и — k) х п)-матрица Н называется провероч- ной матрицей кода С. Теорема 4.15. Код С имеет минимальное расстояние d тогда и только тогда, когда любые d — 1 столбцов проверочной мат- рицы этого кода Н линейно независимы, но найдутся d линейно зависимых столбцов. Доказательство. Вектор с веса t принадлежит коду С тогда и толь- ко тогда, когда с//т=0, что эквивалентно линейной зависимости неко- торых t столбцов матрицы Н. Отсюда следует утверждение теоремы. □ Теорема 4.16. Порождающая матрица кода С является прове- рочной матрицей дуального кода С±. Задача 4.17. Доказать теорему 4.16.
162 Глава 4. Линейные коды над полем F2 Заметим, что существует много различных способов выбора порож- дающей матрицы G и проверочной матрицы Н. Элементарными пре- образованиями строк двоичной матрицы будем называть следующие действия: 1) перестановка двух произвольных строк; 2) замена произвольной строки на сумму её самой и некоторой любой другой строки. Ясно, что, преобразуя строки порождающей матрицы с помощью эле- ментарных преобразований, мы будем получать матрицу, являющуюся порождающей для того же самого кода. Из данного [п, k, б!]-кода мож- но получить новый код с теми же самыми параметрами, если в каждом кодовом слове его координаты переставить в соответствии с некоторой подстановкой. Очевидно, что перестановка координат кодовых слов эк- вивалентна соответствующей перестановке столбцов порождающей мат- рицы этого кода. Определение 4.18. Коды С и С' называются эквивалентными, если их порождающие матрицы G и G' получаются одна из другой посредством перестановки столбцов и элементарных преобразований над строками (такие матрицы G и G' также называют эквивалентными). Определение 4.19. Множество перестановок координат кодовых слов кода С (перестановок столбцов порождающей матрицы), пере- водящих каждое кодовое слово в кодовое слово (возможно, отличное от исходного), называется группой автоморфизмов кода С и обозна- чается Aut(C). Задача 4.20. Доказать, что Aut(C) действительно является группой. Задача 4.21. Доказать, что для произвольного линейного блочного кода С справедливо равенство Aut(C) = Aut(C±). Задача 4.22. Доказать, что если код С линеен и код Cj получается из кода С добавлением кодового слова из всех единиц, если его не бы- ло в исходном коде (т. е. к порождающей матрице кода С добавляется строка, состоящая из всех единиц), то Aut(Cj) D Aut(C). Кроме того, ес- ли блоковая длина кода С нечётна, а все кодовые слова в коде С имеют чётный вес, то Aut(Ci) = Aut(C). Лемма 4.23. Пусть С —линейный [п, Ь\-код с порождающей матрицей G. Перестановка компонент кодовых слов, задаваемая перестановочной (п х п)-матрицей А, принадлежит группе Aut(C) тогда и только тогда, когда выполнено соотношение KG = GA для некоторой невырожденной (k х ty-матрицы К.
§4.1. Основные свойства линейных блочных кодов 163 Доказательство. Пусть AeAut(C). Тогда матрица G' = GA — по- рождающая матрица кода С и, следовательно, матрица G' может быть получена из G путём умножения слева на некоторую невырожденную (k х k)-матрицу К, т. е. G' = KG = GA. Обратно, пусть выполнено соотношение KG = GA для некоторой невырожденной (k х k)-матрицы К. Тогда матрица KG является по- рождающей матрицей кода С. Следовательно, выполняется включение AeAut(C). □ Задача 4.24. Доказать, что группа автоморфизмов двоичного линей- ного [и, k]-кода изоморфна некоторой подгруппе группы ®£(14). (Ука- зание: воспользоваться леммой 4.23.) Теорема 4.25. Пусть С — [п, k]-Kod. Его порождающая матри- ца G эквивалентна матрице вида G' = (EkP), (4.1) где Ek — единичная (k х к)-матрица, Р — (kx (п- к))-матрица. Доказательство. Поскольку строки матрицы G линейно независи- мы, то элементарными преобразованиями строк матрицы с последующей перестановкой столбцов матрицу G можно привести к указанному виду (по сути, это стандартный алгоритм приведения матрицы к ступенчатому виду). □ Определение 4.26. Порождающую матрицу вида (4.1) называют по- рождающей матрицей в систематическом виде. Код, соответствую- щий такой порождающей матрице, называется систематическим. Следствие 4.27. Любой линейный блочный код эквивалентен некоторому систематическому коду. Задача 4.28. Пусть С — систематический [п, £]-код с порождающей матрицей G = (Е^ Р). Доказать, что проверочная матрица Н этого кода имеет вид H = (Pr En_k). По сути дела, систематическим называется код, у которого каждое кодовое слово начинается с информационных символов (т. е. начинается с самого передаваемого сообщения). Оставшиеся символы называются проверочными. Таким образом, у систематического [и, &]-кода имеется k информационных и п — k проверочных символов. Перейдём теперь к рассмотрению некоторых неравенств, связываю- щих параметры кода.
164 Глава 4. Линейные коды над полем F2 Теорема 4.29 (граница Синглтона). Минимальное расстояние (минимальный вес кодового слова) любого \п, k]-Koda удовлетво- ряет неравенству: d п - k + 1. Доказательство. Поскольку произвольный [п, k\-код эквивалентен некоторому систематическому коду с теми же параметрами п, k и d, то будем сразу рассматривать систематический код. Слово минималь- ного веса в таком коде имеет вес d. Существуют слова систематического кода с одним ненулевым информационным символом и п — k провероч- ными символами. Такое кодовое слово не может иметь вес больший, чем п — k+ 1. Таким образом, минимальное расстояние кода (минимальный вес) не может быть больше п — k + 1. □ Эта граница является очень завышенной и большинство хороших ко- дов имеет минимальное расстояние существенно меньшее, чем в оценке Синглтона, но бывают случаи, когда и эта оценка оказывается полез- ной. Граница Синглтона показывает, что для исправления t ошибок код должен иметь не менее 2/ проверочных символов. Определение 4.30. Код С с минимальным расстоянием, удовлетво- ряющим равенству de = п - k + 1, называется кодом с максимальным расстоянием. Определение 4.31. Пусть xeVn и 0 О ^п. Множество векторов р(х, г) = { у е v„ I dist(x, у) г } называется шаром радиуса г с центром в точке х. Теорема 4.32 (граница Хэмминга, или граница сферической упа- ковки). Пусть С — [п, к]-код, исправляющий t ошибок. Тогда Доказательство. Поскольку код исправляет t ошибок, то шары радиуса /, описанные вокруг кодовых векторов, не пересекаются. Число векторов, расположенных в этих шарах, равно 2,(' + О+- + О)- Оно, очевидно, не превосходит общего числа векторов в пространстве 2*(' + 0+-О)«“ Последнее неравенство равносильно утверждению теоремы. □
§4.1. Основные свойства линейных блочных кодов 165 Теорема 4.33. Для [п, kj-кода С с минимальным расстоянием de выполняется неравенство , п-2к~' dc^ 2* - 1 ‘ Доказательство. Пусть 1 < i < п таково, что С содержит кодовое слово с ненулевой z-й координатой. Пусть D — подпространство в С, со- стоящее из всех кодовых слов с нулевой z-й координатой. Тогда фактор- пространство С/D содержит 2 элемента, которые соответствуют выбору двух возможных значений z-й координаты в кодовом слове. Из равенства #(C/D) = #C/#D вытекает, что #/) = 2/г“1, т. е. имеется ровно 2*-1 ко- довых слов с ненулевой z-й координатой. Подсчитав сумму весов кодовых слов из С, получаем, что она не превышает величины п • 2*-1. Посколь- ку минимальное расстояние de кода С равняется минимальному весу ненулевого слова, то сумма весов кодовых слов кода С не менее, чем de • (2k — 1). Отсюда получаем требуемое неравенство. □ Теорема 4.34 (граница Варшамова—Гильберта). Если выполня- ется неравенство 1 _i_ f п Ц □_ + ( п 1 А <2Л-Л то существует [п, k]-Kod с минимальным расстоянием, не мень- шим, чем d. Доказательство. Построим такую ((/г — k) х п) -матрицу Н, что лю- бые её d — 1 столбцов линейно независимы. Тогда по теореме 4.15 мы получим требуемое утверждение. Первый столбец матрицы Н может быть любым ненулевым (п — k)-вектором. Теперь предположим, что мы выбра- ли z столбцов матрицы И так, что любые d — 1 из них линейно незави- симы. Имеется не более 7 \d-2j различных линейных комбинаций этих z столбцов, содержащих d — 2 или меньше столбцов. Если это число меньше, чем 2n~k — 1, то мы можем добавить ещё один столбец, не равный ни одной из этих линейных комби- наций. При этом любые d — 1 столбцов новой ((п — k) х (z + 1))-матрицы будут линейно независимы. Мы будем продолжать эту процедуру до тех пор, пока выполняется неравенство 1 I Qri — k d-2)^ □
166 Глава 4. Линейные коды над полем F2 Теорема 4.35 (граница Элайеса). Для любого блочного [п, /г]-ко- да С его минимальное расстояние de удовлетворяет неравенству dc^2s (1 --гД-, \ nJ N — 1 где s — любое натуральное число такое, что и N — наименьшее натуральное число, удовлетворяющее неравен- ству (4-з) /=о Доказательство. Пусть С — произвольный [п, 6]-код. Выберем на- туральное число s < п/2, удовлетворяющее неравенству (4.2). Шар р(х, s) радиуса s в Vn с центром в точке х е Vn содержит Nx кодовых векто- ров. Число векторов из Vn, попадающих в каждый шар радиуса $, равно s { п\ 52 ( • )• Каждое из 2k кодовых слов попадает в такое же количество /=о V / / различных шаров. Таким образом, Е^ЕСЛ- xevn /=о Обозначим через W наибольшее из чисел Nx, хе Vn. Тогда n> М>1. 2n-k \ ] ) /=0 Заметим, что существует шар радиуса $, содержащий более одного ко- дового вектора, а центр его Xq не обязательно является кодовым словом. Пусть в этот шар р(хо, s) попадают кодовые слова Cj, С2, ..., Сц. Рас- смотрим N строк длины п, которые получаются в результате следующего преобразования кодовых слов: at = (ап, а12, .... ain) = ci ®зд «2 = («21, «22, а2п) = с2фх0; .. .. (4.4) = («Wl, «W2, • • •, ^Nn) = Cv Ф Xq.
§4.1. Основные свойства линейных блочных кодов 167 Ясно, что попарные расстояния Хэмминга между этими строками будут совпадать с попарными расстояниями между соответствующими кодовы- ми словами. Пусть wt(a,) = wi, i = 1, 2, ..., /V. Поскольку радиус шара равен s, то общий вес строк сц, i = 1, 2, ..., Af, не превосходит Ns, т. е. wi Ns. Обозначим через Vj, j = 1, 2, ..., п, вес столбца (a\j, a%j, ..., auj)1’, т.е. пусть в этом столбце содержится N ~ Vj нулей и Vj единиц. Очевидно, что 52 vi Ns- /=1 Общее расстояние б/Общ между строками (4.4) равно сумме ( 1 попар- ных расстояний между ними. При этом вклад /-го столбца в выражение для б/общ удовлетворяет соотношениям Ч ><2 Здесь сумма рассматривается в действительных числах. Суммируя по /, получаем d0(m = N 52 vi _52 иг i=\ i=\ Поскольку vj = Ns — Д, где A О, то, воспользовавшись неравен- 7=1 ством Йенсена (см. [301]) для квадратичной функции, получаем Поэтому из выражения для б/Общ получаем do6ai < N(Ns - А) - п(^—*)2 < $№(1 - 0 - ДЛ/(1 - ^). Поскольку s < л/2, имеем </обшОЛ/2(1 - 0-
168 Глава 4. Линейные коды над полем F2 Из I ) попарных расстоянии элементов кода, находящихся в шаре p(xq, s), по меньшей мере одно не превосходит среднего значения этих расстояний. Обозначим его dcp. Тогда * < d06ui Л £ \ N /АЛ V п) М — 1 ’ \2 J Однако de < dcp, что и завершает доказательство теоремы. □ Пусть С — произвольный [п, й]-код. Обозначим через Д, / = 0, 1, ... и, число его кодовых слов, вес которых равен i: A=#{ceC|wt(c) = z}. Определение 4.36. Совокупность чисел Aq, Ai, Ап называется весовым спектром кода С. Определение 4.37. Полином WC(A, 0 = А1Хп~‘1/ /=0 от двух переменных А и у называется весовой функцией кода С. Заметим, что однородный полином Wc(A, у) может быть записан дву- мя способами: WC(A, р) = Д.А"-'!/’ = Хп-чЛ^1^с). i=o сес Через До, А\,..., А'п будем обозначать весовой спектр дуального кода Сх. Тогда весовая функция дуального кода Сх имеет вид: Wcx(A, = Л;А"-‘р' = ^2 A,,-wt(c')pwt(c'). i=0 c'tC1 Пусть /: Vn -+ U — отображение векторного пространства Vn в век- торное пространство U над полем комплексных чисел С. Для данного отображения f введём его преобразование Фурье аналогично тому, как мы это сделали для булевых функций (см. определение 2.35): >/(“) = *evn для любого и € Vn. Следующее утверждение доказывается аналогично лемме 2.40.
§4.1. Основные свойства линейных блочных кодов 169 Лемма 4.38. Если С является [п, к\-кодом, то с'ес-1 сес Теорема 4.39 (тождество Мак-Вильямс). Пусть C-[n,k]-Kod, С^~ — дуальный к нему [п, п — k]-Kod. Тогда WCX (А, р) = wcx (А + и, А - р). Доказательство. Применим лемму 4.38 для отображения f(u) = = An-wt(u)pwt(u). Имеем Wf(u) = ^2(_i)<“^An-wt(u)pwt(“). xeVn Пусть и = (и^\ и^\ ..., u^f, х = (х(1), х(2), ..., х^)т. Тогда п Wf(u) = 2^(-1) ф 11 А Vх x(=vn /=1 п х(1)=0 х^=0 /=1 Поскольку в данном случае сумма произведений равна произведению сумм, то последнее выражение равно п 1 1— W i=l ®=0 Если и® = 0, то внутренняя сумма равна X + v. Если и® = 1, то она равна А — и. Таким образом, Щи) = (А + i/)n~wt(M)(A - z/)wt(M). Теперь, воспользовавшись леммой 4.38, получаем: £ A”-wt(" )pwt(“/) = £(А + v)n~^u\X - p)wt<“>. «'ес-1- «ес □ Следствие 4.40. Справедливо следующее тождество, эквива- лентное утверждению теоремы 4.39: £ Л<А"-/р/ = ^ £ А(А + ^)Я-'(А - р)1'. /=0 # /=о
170 Глава 4. Линейные коды над полем F2 Интересна взаимосвязь коэффициентов Л/ и Л'. Положим (Л + v)n~l(X - v)‘ = Pk(i)Xn~kvk. /г=0 Из следствия 4.40 легко получить, что 1 п Выражения называются полиномами Кравчука. Определение 4.41. Пусть // — фиксированное натуральное число. Полиномами Кравчука называются следующие выражения ад=Е(-1)'0 7=0 Х 7 4 7 где z — свободная переменная, k = 0, 1, ..., и z(z - 1) ... (z - т 4-1) п / z \ —--------если т > 0; ( ) = гп\ 1, еслит —0. § 4.2. Задача декодирования Пусть С— [п, А]-код. Предположим, что передано кодовое слово г € С. В канале связи (см. рис. 4.1) переданное кодовое слово исказится. На выходе получатель информации будет наблюдать вектор у = сфе, где е = (е(1), е(2), ..., е^) е Vn — вектор ошибок. Теорема 4.42. Код С с минимальным расстоянием de может ис- правлять любые t ошибок, если dc^t + \. Доказательство. Рассмотрим правило декодирования, которое по- лученному на выходе канала связи сообщению у ставит в соответствие ближайшее кодовое слово кода С. В пространстве Vn построим шары ра- диуса t с центрами в каждом кодовом слове кода С. Пусть некоторая пара шаров р(с\, t) и р(с2, t) (tj 7^2; С], С2 € С) имеет непустое пересечение: x€p(ci, t)np(c2y t), хе Vn.
§4.2. Задача декодирования 171 Тогда dist (ci, с2) dist(cj, х) + dist(л:, с2) 2/, что противоречит тому, что dist(с 1, с2) > de 2t + 1. Следовательно, шары, описанные вокруг кодовых слов, не пересекаются. Поэтому полученное на выходе канала связи сообщение у = с ® е в слу- чае, если wt(e) < /, будет находиться в шаре р(с, /) и правило декодирова- ния в ближайшее кодовое слово гарантирует правильное восстановление переданного кодового слова с. □ Пример 4.43. Пусть т — натуральное число, т ^2и п = 2т — 1. Рас- смотрим код Ст длины п, проверочная матрица Н которого имеет разме- ры т х (2т — 1). Столбцами матрицы Н являются векторы, представля- ющие двоичную запись чисел 1, 2, ..., 2т — 1: /ООО.. ООО.. .. 11\ .. 1 1 н = 0 11.. .. 1 1 V о 1 .. .0 1/ т. е. столбцами матрицы Н являются все ненулевые векторы длины т. Очевидно, что гапку/ = т. Следовательно, размерность kcm кода Ст равна 2т — т — 1. Любые два столбца матрицы Н линейно независи- мы. Так как матрица Н вместе с любыми двумя столбцами содержит также и столбец, равный их сумме, то согласно теореме 4.15 dcm =3. Поэтому код Ст может исправлять одну ошибку. При больших т его скорость Rcm = 1 — близка к 1, но доля общего числа битов, кото- рые могут быть искажены и исправлены, очень мала. Код Ст называется кодом Хэмминга. Определение 4.44. Код, исправляющий t ошибок, называется совер- шенным, если он не может исправить ни одной ошибки веса большего, чем t. Определение совершенного кода эквивалентно тому, что шары радиу- са /, описанные вокруг кодовых слов, не пересекаются и в совокупности содержат все векторы пространства Vn. Лемма 4.45. Код Хэмминга Ст является совершенным кодол£, ис- правляющим одиночные ошибки.
172 Глава 4. Линейные коды над полем F2 Доказательство. Так как код Хэмминга Ст исправляет одиночные ошибки, то шары радиуса 1, описанные вокруг кодовых слов, не пересека- ются. Всего имеется 22'n~rn~i таких шаров (по числу кодовых слов). Каж- дый шар радиуса 1 содержит 2т векторов пространства Vn, п — 2т — 1. Тогда общее число векторов, содержащихся в шарах, равно 2т .22т-т-[ = 22'”~1 = 2п. □ Рассмотрим алгоритм декодирования кода Хэмминга. Напомним, что i-й столбец (i = 1,2,..., 2т — 1) является двоичным представлением чис- ла z. Пусть при передаче кодового слова сеСт произошло искаже- ние /-го символа, т.е. получателю предъявляется вектор у = где е — (0, ..., О, 1, 0, ..., 0). Рассмотрим / НуТ = Н(с ф е)т = Нсг ф Не\ Поскольку Нсг = 0, то НуТ = Нег. Но Нет, являясь /-м столбцом матрицы Н, представляет двоичную за- пись номера искажённой координаты кодового слова. Именно эту коор- динату и необходимо исправить. Рассмотрим теперь код — дуальный к коду Хэмминга. Его порож- дающей матрицей является проверочная матрица кода Хэмминга. Следо- вательно, его размерность kc± =dim равна т. Легко видеть, что /-я (z = 1,2,..., т) строка проверочной матрицы Н кода Хэмминга представ- ляет собой значения на ненулевых векторах пространства Vn линейной функции /е/,о(х(1\ ..., х^)=х® (в/ — z-й вектор канонического базиса пространства Vm, см. §2.1). Очевидно, что сумма любых из т строк матрицы Н представляет со- бой строку значений на ненулевых векторах пространства Vm некоторой линейной функции. Следовательно, wt(c') =2'7г“1 для любого с' из С^. I2т~1 — 1 I Поэтому код может исправлять 2т~2 — 1 = I---------I ошибок. Кро- ме того, для любых с\, С (c'j dist^, с'2)=2т-{. Определение 4.46. Код называется эквидистантным, если рас- стояние между любыми его кодовыми словами равно одной и той же величине. Таким образом, код является эквидистантным. В литературе по теории кодов этот код называют также двоичным симплексным
§4.2. Задача декодирования 173 кодом, или кодом максимальной длины, получаемом на регистре сдвига с обратной связью. Скорость кода при больших т близка к 0. Однако доля битов, которые могут быть ис- кажены и исправлены, близка к 0,25. Опишем теперь простой алгоритм декодирования линейных блочных кодов. Для этого нам понадобится ввести несколько новых понятий. Определение 4.47. Пусть С — [п, £]-код. Для любого вектора а е Vn множество а ф С = {а ф с | с € С} называется смежным классом или сдвигом кода С. Поскольку С является векторным подпространством пространства Vn, то любые два смежных класса кода С либо не пересекаются, либо совпа- дают. Векторное пространство Vn/C состоит из смежных классов. Каж- дый смежный класс содержит 2^ векторов. Пространство Vn разбивается на смежные классы по пространству С Vn = (а0 ® Q U («1 Ф С) U ... U (as ф С), где а0 = 0, s = 2n~k — 1. Определение 4.48. Пусть // — проверочная матрица [п, #]-кода С. Тогда для произвольного вектора у е Vn вектор S(y)=HyT из пространства Vn~k называется синдромом вектора у. Вспоминая алгоритм декодирования кода Хэмминга Ст (см. при- мер 4.43), несложно видеть, что именно синдром принятого вектора указывал номер координаты, которую необходимо было исправить. Ясно, что векторы у я у' имеют один и тот же синдром тогда и только тогда, когда они лежат в одном и том же смежном классе. Кроме того, синдром равен нулевому вектору только для кодовых слов кода С. Построим (см. таблицу 4.1) таблицу стандартного расположения [п, £]-кода С с минимальным расстоянием dc — 2t + 1. В первой строке выпишем все кодовые слова кода С = {с^ =0, С2, ..., с^}. Рассмотрим теперь шар р(0, /). Сначала выберем из этого шара вектор Vj, лежащий на расстоянии 1 от нулевого слова. Во второй строке запишем векторы смежного класса V! ф C = {Vi ф0, V] ФС2, •••> V1 фС2*}-
174 Глава 4. Линейные коды над полем F2 Таблица 4.1 0 Vi фО Стандартное расположение область декодирования С2 V\ фс2 сфера декодирования Сз V\ фс3 ^2* V\ ф C2k I V2 ФО V2 Ф<?2 V2 фС3 v2 ф c2k I Vj фО Vj ф С2 Vj ф Сз V j ф C2k V/+1 ©0 Vj+\ фс2 V/+I ®Сз Vj+t ®c,i Vgn—k ф 0 ф С2 V2n-k ф Сз V2n—k ф C2k область между шарами, тяготе- ющая К С3 Образующий этого смежного класса называется лидером. Аналогич- ные действия производим, выбирая из р(0, /) последовательно векторы V2, ..., отстоящие на расстоянии 1 от нулевого кодового вектора. Да- лее тем же способом заполняем строки нашей таблицы, выбирая лидеров смежных классов, лежащих на расстояниях 2, 3, ..., t. Ясно, что все полученные таким образом смежные классы не пересекаются, поскольку нахождение двух векторов u, v € р(0, /) в одном смежном классе дава- ло бы и ф и е С и wt(r/ ф v) = dist(и, v) < dist(и, 0) + dist(0, v) 2/, что противоречит тому, что wt(u ф v) de = 2/ 4- 1. Использовав все элементы шара р(0, t) в качестве лидеров смежных 1 . . fn\ - * классов, мы заполним / = 14-(^J4-...4-(^J строк нашей таблицы. Проведём здесь в таблице горизонтальную черту. Если вне шаров радиуса /, описанных вокруг кодовых векторов, нет других векторов про- странства Vn (т. е. код С совершенный), то построение таблицы закончено. Если такие векторы имеются, то выберем из них вектор v/+i, находя- щийся на расстоянии t 4-1 и являющийся лидером смежного класса v/+1 фС = {иу+1 фО, v/+i фс2, ...» V/+1 фс2*Ь который записываем в (/+1)-ю строку. Далее проверяем: исчерпыва- ют ли выписанные смежные классы пространство Vn. Если нет, то мы выбираем лидера смежного класса v/+2, лежащего на расстоянии t -I- 1
§4.2. Задача декодирования 175 от нулевого кодового слова. Если такового нет, то ищем лидера на рассто- янии t 4- 2 и так далее. Ясно, что этот процесс завершится. Поскольку #(уп/С) = 2n~k, то у нас в таблице стандартного расположения будет ровно 2n~k строк. Алгоритм декодирования с использованием стандартного располо- жения кода С достаточно прост. Принятый вектор необходимо найти в стандартном расположении, определить столбец, в котором он находит- ся, и декодировать его в кодовое слово в верхней позиции этого столбца. Теорема 4.49. Если для декодирования используется таблица стандартного расположения кода С, то по полученному векто- ру у = с®е (се С): а) кодовый вектор с всегда будет правильно восстановлен, если wt(e) /; б) кодовый вектор с будет правильно восстановлен, если wt(e) >t ие = с$у совпадает с лидером смежного класса. Доказательство. Утверждение а) очевидно из самого построения таблицы стандартного расположения. Утверждение б) вытекает из того, что если вектор е = с®у при wt(e) > t не является лидером смежного класса и у принадлежит смеж- ному классу Vi ф С, то он не находится в колонке под кодовым словом с, поскольку V/фг^ефг. Следовательно, он будет неправильно декоди- рован. □ Существуют два основных класса декодеров, которые могут быть описаны с помощью стандартного расположения: полные декодеры и неполные декодеры. Полный декодер сопоставляет принятому вектору ближайшее кодовое слово (теорема 4.49, пп. а) и б)). Неполный декодер сопоставляет каждому принятому вектору кодовое слово, находящееся от него на расстоянии не более чем /, если такое существует, в противном случае он отказывается от декодирования (теорема 4.49, п. а)). Принятый вектор необходимо найти в стандартном расположении. Если он лежит выше горизонтальной черты, то декодируем его в кодовое слово, лежа- щее в вершине столбца, в котором оказался принятый вектор. Если же принятый вектор оказывается ниже горизонтальной черты, то декодер помечает принятый вектор как не поддающийся декодированию. В этом случае имеется более t ошибок. Процесс поиска в таблице требует большой затраты времени. Его можно избежать, если, например, для лидеров смежных классов вы- полняются соотношения HvJ ^Hv~^ (i\ H — проверочная матри- ца кода С. Тогда, получив из канала вектор y = c^e = c^Vj (e = Vj),
176 Глава 4. Линейные коды над полем F2 находим его синдром S(y) = Н(с = HvJ. По этому синдрому од- нозначно находим лидера смежного класса Vj и, следовательно, кодовое СЛОВО С = у ф Vj . Определение 4.50. Вероятностью ошибки на слово РОш для дан- ной схемы декодирования называется вероятность появления неправиль- ного кодового слова на выходе декодера при условии, что все кодовые слова кода С используются с одинаковой вероятностью 2~k. Через Р{...} будем обозначать вероятность события, заключённого в фигурные скобки. Тогда п Рош = 2~* Р{выход декодера | С/ было послано}. /=1 Если мы декодируем, пользуясь стандартным расположением, то ошиб- ка декодирования происходит только тогда, когда вектор ошибки е не сов- падает ни с одним лидером смежного класса. Поэтому 'Рош = Р{е / лидер смежного класса}. Предположим, что имеется 7/ лидеров смежного класса веса I. Тогда п 1=0 где р — ошибка в канале (см. рис. 4.1). Поскольку б/с = 2/ + 1, имеем о„ч(. Для значений i > t при больших п и k вычислять 7/ в общем случае достаточно сложно. Для того чтобы преодолеть эти затруднения, необхо- димо строить специальные коды, которые будут рассмотрены в следую- щем параграфе. Так как стандартное расположение обеспечивает декодирование при- нятого вектора в ближайшее кодовое слово, т. е. по максимуму правдо- подобия, то любая другая схема декодирования этого кода будет иметь п вероятность ошибки Рош не меньше, чем 1 — 7/Pz(l ~ РУ~1 • /=о § 4.3. Циклические коды Наиболее изученными среди всех линейных кодов являются цикличе- ские коды. Как мы увидим ниже, основой их успешного изучения явилось сильное структурное требование, которому удовлетворяют эти коды. При
§4.3. Циклические коды 177 этом в качестве математического аппарата для изучения этих кодов бы- ла использована теория конечных полей. Вне класса циклических ко- дов теория конечных полей помогает мало. Большинство завершённых построений, использующих идеи этой теории, относится к циклическим кодам. Как отмечалось в [123], значимость циклических кодов обуслов- лена тем, что заложенные в основу их определения идеи теории конечных полей приводят к процедурам кодирования и декодирования, эффектив- ным как с алгоритмической, так и с вычислительной точки зрения. Класс циклических кодов содержит важнейшие подклассы, а его представители используются при построении многих известных кодов. Пусть С —линейный [и, й]-код над полем F2. Произвольное кодовое слово, как и ранее, будем обозначать строкой длины п элементов из F2: с = (с<°>, И1), ...,^-0). Определение 4.51. Линейный [п, &]-код С над полем F2 называется циклическим, если для любого кодового слова c=(c(0\c(I),...,c(zI-I))eC строка с' = (с(п~~[\ с{0}, c{i),..с{п~2}) также является кодовым словом ко- да С. Пример 4.52. Линейный код С = {(0, 0, 0), (0, 1, 1), (1, 1, 0), (1, 0, 1)} является циклическим [3, 2]-кодом. Существует естественное взаимно однозначное соответствие между наборами с = (с<°\ ..., е Vn и полиномами с(А) = с<0) фс(1)Аф ф... фс('г“1)А('2-1) е F^[A] степени не более чем /2—1. Далее мы будем использовать оба этих представления без дополнительных разъяс- нений. Пусть 9% =F2[A]/(An ф 1) — кольцо, элементами которого являются классы вычетов кольца F2[A] по модулю полинома Алф1. Посколь- ку F2 [А] —кольцо главных идеалов, то 9% также является кольцом главных идеалов. Представителями классов вычетов в 9% выберем полиномы, степень которых не превосходит п — 1. Чтобы отличать идеалы кольца 9% от идеалов кольца F2[A], будем использовать обо- значение (g(A)) — идеал, порождаемый в 9ЯЛ полиномом g(A), вместо (g(A)) CF2[A] (совпадение обозначений идеала в кольце 91л и скалярно- го произведения в Vn не приводит к путанице в силу различной природы этих понятий). Кроме того, равенство элементов g(A) и g'(X) в кольце 9% будем обозначать g(X) = g'(X). Поскольку циклический код С С 9% инвариантен относительно циклического сдвига, то для любого с(А)еС полином с'(Х) = Хс(Х) также принадлежит коду С. Другими словами, умножение полинома с(А) на А в кольце 9% соответствует циклическому сдвигу строки его
178 Глава 4. Линейные коды над полем F2 коэффициентов. Следовательно, для любого /(А) е 9% и любого с(Х) е С имеем /(А)г(А) еС, а это означает, что С является идеалом кольца 9%. Суммируя всё сказанное выше, легко сделать вывод, что изучение циклических кодов в Vn эквивалентно изучению идеалов в 9V Соответ- ствующее математически строгое утверждение содержится в следующей теореме. Теорема 4.53. Пусть С —ненулевой циклический код в (т.е. ненулевой идеал кольца 9%). Тогда существует полином g(X) е С такой, что выполняются следующие свойства: (О g(A) ~ единственный полином минимальной степени в С; (ii) C = (g(A)}; (iii) g(X) делит А" ® 1. м — 1 Пусть k = п - deg g(A), и пусть g(X) = ф gzA‘, где gn_k = 1 и gn-k+i = = ... = gn_{=0. Тогда z~° (iv) размерность кода С равна k и {g(A), Ag(A),..., Xk~{ g(X)} — ба- зис кода С; (v) порождающая матрица G кода С имеет вид (go gi ••• gn-k О ... О 0 \ О gO ••• gn-k-\ gn-k ... О ° | О 0 ... О 0 ... gn-k-i gn-k/ Доказательство, (i) Пусть g(A) — ненулевой полином минимальной степени из С. Предположим, что g\ (А)— другой полином из С такой, что deg gi(A) = deg g(A). Тогда полином g(A)©gi(A) отличен от нуля, принадлежит коду С и имеет степень меньшую, чем deg g(A). Это проти- воречит минимальности степени полинома g(A). Следовательно, g(A) — единственный такой полином. (ii) Пусть с(А) е С. Поскольку deg g(A) < deg с(А), то, воспользо- вавшись алгоритмом Евклида, имеем с(А) = g(X)q(X) ф г(А) в F2[A], где deg r(A) < deg g(A), 0 С deg q(X) п - 1 - deg g(A). Ясно, что с(А) = = gW<lW Ф г(А), и> следовательно, полином г(А) = с(Х) ф g(X)q(X) принадлежит коду С. Это возможно только в случае г(А) = 0. Сле- довательно, g(A) делит с(А) и С= (g(A)}. (iii) Пусть Хп ф 1 = g(X)h(X) ф г(А) в F2[A]. Те же рассуждения, что и в (ii), показывают, что г(А) = 0. Следовательно, g(A) | Хп ф 1. (iv) Согласно (ii) и (iii) код С содержит различные полиномы ви- да a(A)g(A), где a(A)GF2[A] и deg а(Х) < п — deg g(A). С другой сто- роны, пусть с(А) е (g(A)). Тогда с(А) =/(A)g(A) в 9%. Следовательно,
§4.3. Циклические коды 179 с(А) = f(X)g(X) ®d(X)(Xn ф 1) в F2[A] для некоторого полинома d(A). Так как g(X) | Хп ф 1, то с(А) = (/(А)ф (An®1)rf(A))g(A) X бИ/ / в кольце F2[A]. Таким образом, полином с(А) представляется в кольце F2[A] в виде произведения полинома g(X) на некоторый полином, что и доказывает (iv). (v) Следует из (iv). □ Определение 4.54. Пусть С = (g(А)) — ненулевой циклический код в 9% (ненулевой идеал в 9%). Полином g(A) называется порождающим полиномом циклического кода С (generator polynomial). Согласно всему сказанному выше циклический код длины п над по- лем F2 существует для каждого полинома g(A) eF2[A], делящего Хп ф 1 (сам полином Хп ф 1, равный 0 в 9^л, считаем порождающим полиномом нулевого циклического кода {0}). Следовательно, необходимо подробно изучить порождающие полиномы. Наиболее естественный подход состо- ит в разложении полинома Хп ф 1 на неприводимые множители AZI®l=J1(A)-rf2(A)-...-ds(A), где 5 — число неприводимых множителей. Произведение произвольного подмножества этих множителей даёт порождающий полином g(A) неко- торого циклического кода. Далее в этой главе мы будем иметь дело с од- ним значением и, называемым примитивной длиной кода. Определение 4.55. Для циклического кода С над F2 длина п ви- да п = 2т — 1 называется примитивной. Циклический код примитивной длины над F2 называется примитивным циклическим кодом. Полином А2”-1 — 1 взаимно прост со своей производной, поскольку НОД(2"г — 1, 2) = 1. Его корнями являются все ненулевые элементы поля F2m, его разложение на простые множители согласно лемме 1.93 и тео- реме 1.123 имеет вид А2"1-1 ф 1 = Ц ms(A), где s пробегает всё множество представителей 2-циклотомических клас- сов (определение 1.146) по модулю п = 2т ~ 1, a ms(А) = та* (А) — ми- нимальный полином элемента b=as, где а —некоторый примитивный элемент поля F2™. Пример 4.56. Пусть т = 4нп = 24 — 1 = 15. Разложение полинома А15 ф 1 на простые множители имеет вид А15ф 1 = (Аф 1)(А2фАф 1)(А4фАф 1)(А4фА3ф 1)(А4Ф А3ф А2ф Аф 1).
180 Глава 4. Линейные коды над полем F2 Всего имеется 25 = 32 набора этих неприводимых множителей и, следо- вательно, 32 порождающих полинома циклических кодов длины 15. Два из них (g(X) = Л15 ф 1 с k = 0 и g(A) = 1 с k = ri) являются тривиальными, а 30 приводят к нетривиальным циклическим кодам. Задача 4.57. Пусть Ci и С2 — примитивные циклические коды одина- ковой длины с порождающими полиномами gi(A) и g2 (А) соответственно. Доказать, что включение С\ С С2 выполняется тогда и только тогда, когда g2 (А) делит gi(A). Задача 4.58. Пусть /(А) = П (А — as), где а — примитивный элемент s поля F2*i и S — подмножество чисел в {0, 1, ..., 2™ — 2}. Доказать, что коэффициенты /(А) лежат в F2 тогда и только тогда, когда из того, что s eS, следует, что 2s (mod 2т — 1) eS (т. е. S является объединением некоторых циклотомических классов по модулю 2т — 1). Задача 4.59. Доказать, что если Л(А) = П (А ~ <^s) делит А2™-1 ф 1 над F2, то seS Ade^(A)/i(A-1) = JJ(A-a~s). sGS Определение 4.60. Пусть С — примитивный циклический код длины п = 2т — 1 с порождающим полиномом g(A) = n<A-aS)- Множество {as | s G S} элементов из F2™ называют нулями кода С. Оставшиеся элементы F^ \ {as | s е S} естественно называть ненулями кода С. Легко видеть, что как множество нулей циклического кода, так и мно- жество его ненулей согласно задаче 4.58 является объединением цикло- томических классов. Множество ненулей кода С совпадает с множеством корней полинома Л(Л) g(A) ’ Определение 4.61. Пусть С—примитивный циклический код дли- ны п = 2т — 1 с порождающим полиномом g(A). Тогда примитивный циклический код С' той же длины, порождающий полином которого равен Л(А) = (А2™-1 ф l)/g(A), называется дополнительным к коду С (complementary code of С). Сам полином Л(А) называется проверочным полиномом кода С.
§4.3. Циклические коды 181 Теперь мы можем связать особенности кодовых слов циклического кода с корнями его порождающего полинома. Лемма 4.62. Пусть элементы Ь\, Ь2, ..., /?reF2^ являются кор- нями порождающего полинома g(A) примитивного циклического кода С. Полином c(A)eF2[A], deg с(А) < 2™ — 1, является кодовым словом тогда и только тогда, когда c(bi) = c(b2) = ...=c(br) = 0. Доказательство. Если с(А)еС, то г(А) = a(X)g(X). Тогда имеем c(bj) = a(bj)g(bj) = 0 для любого / = 1, 2, ..., г. Пусть с(bj) = 0, j = 1,2, ..., г. Воспользовавшись алгоритмом Евкли- да, запишем с(А) = а(А)^.(А)ф/(А), где степень полинома /(А) меньше степени полинома т^.(А), а /гг^.(А) — минимальный полином элемента bj. Но тогда из равенства О = c(bj) = a(bj)mbj (bj) ф t(bj) = t(bj) следует, что /(А) = 0. Поэтому с(А) должен делиться на т/,у.(А) для всех / = 1, 2, ..., г, а поэтому и на НОКДт^ДА), т/>2(А), ..., m^r(A)] = = g(A). □ Лемма 4.63. ПусТпь С — примитивный циклический код длины п = 2т ~ \ с порождающим полиномом g(X) и Л(А) = h/X', hk = \, А2”-1©] g(X) — его проверочный полином. Тогда проверочная матрица кода С имеет вид (Q • .. 0 hk ... hi hi fto\ н = 0 . hk hk-\ ...ht h0 0 (4.5) \hk . .. hi hi h0 0 ... 0/ П — 1 Доказательство. Пусть с(А) = фс/А1 = a(A)g(A) — произвольное кодовое слово из С. Тогда /=0 Гп—1 с(А) • й(А) = *-<=о Г * Ф hix' = a(A)g(A)A(A) = 0. /=0
182 Глава 4. Линейные коды над полем F2 Коэффициент при А7 в последнем равенстве равен фс/Лн=0, j = 0, 1, ..., п- 1, (4.6) i=0 где индексы берутся по модулю п. Соотношения (4.6) задают провероч- ные уравнения, которым должны удовлетворять кодовые слова кода С. Из этих уравнений ясно, что если с е С, то для матрицы Н (см. (4.5)) выполнено соотношение Нсу = 0. Так как k = deg /г(А) = п- deg g(A) — размерность кода С и так как строки матрицы Н, очевидно, линейно неза- висимы, то условие Нст = 0 является также достаточным для того, чтобы слово с принадлежало коду С. □ Теорема 4.64. Пусть С — примитивный циклический код с по- рождающим полиномом g(A) и проверочным полиномом h(X) = д2т —1 ® j = ——• Дуальный код С является примитивным циклическим кодом с порождающим полиномом g-1- (Л) = Adeg Л(А)/г(А~1) = h* (А), где h*(X) — двойственный к h(X) полином (см. определение 1.135). Ненулями кода являются элементы {bj"1,. ..,Ь~1}, где {Ь\,.. .,ЬГ} — нули кода С. Доказательство. Согласно теореме 4.16 матрица Н (см. (4.5)) является порождающей для кода Сх. Вид матрицы Н показывает, что код является примитивным циклическим кодом. Коэффициенты его порождающего полинома g±(A) представляют собой коэффициенты проверочного полинома /г(А), записанные в обратном порядке, то есть ^Х(А) = Adeg/z(A)ft(A“1). Пусть bi, / = г,— нули кода С. Тогда 6/, i = 1, ..., г, не являют- ся корнями полинома й(А). Согласно результату задачи 4.59 элементы br\ i = 1, ..., г, не являются корнями полинома Adegh^h(X~x) = g±(A). Следовательно, b~{, i = 1, ..., г, — ненули кода Сх. Иными словами, если {b[} = {aSi} (а —примитивный элемент поля) нули кода С, где Si пробегает циклотомические классы Cm,Ui, Ст,и2, то ненули кода С± — это элементы {fef1} = {as *}, где s'/ пробегает циклотомические классы C/и, — U\ > ^'tn, — U2> ••• □ До сих пор в качестве порождающего полинома g(A) циклического кода С выбирался полином наименьшей степени в коде. Однако суще- ствуют и другие порождающие полиномы.
§4.3. Циклические коды 183 Лемма 4.65. Пусть С — примитивный циклический код длины п = 2т — 1, m > О, над F2 с порождающим полиномом g(X). Полином k(X) eF2[A] является порождающим для кода С тогда и только тогда, когда НОД(£(А), Хп ф 1) = g(X) (другими словами, полином k(X) порождает код С тогда и только тогда, когда корни поли- нома fe(A) в точности совпадают с нулями кода С). Доказательство. Предположим сначала, что НОД(&(А), Хп ф 1) = = g(X). Тогда существуют полиномы а(Х), b(X) е F2[A] такие, что g(X) = а(Х)/г(Х) ®Ь(Х)(Хп ф 1). Следовательно, g(A) = a(X)k(X) в и C=(k(X)). Пусть теперь С = (k(X)). Тогда существуют полиномы с(А), d(A) е такие, что g(A) = c(X)k(X) ф d(X)(Xn ф 1) в F2[A]. Следовательно, лю- бой корень полинома fe(A) является корнем полинома g(A), т.е. нулём кода С. □ Определение 4.66. Элемент е(А) кольца 9% называется идемпо- тентом (idempotent), если е2(А) = е(А) в кольце 9%. Собственным идемпотентом кольца 9% называется идемпотент е(А), удовлетворя- ющий условию е(А) ^0, 1 в кольце 9% (см. определение 1.117). Пример 4.67. Пусть п =23 — 1 =7. Тогда полиномы е'(А) = 1, е"(А) = А® А2 ф Л4, е"'(А) = А3фА5® А6 являются идемпотентами в кольце 9%. Лемма 4.68. Полином е(А) € 9% является идемпотентом тогда и только тогда, когда е(А)=ф ф А'’ (4.7) где S — некоторое подмножество множества представителей 2-циклотомических классов по модулю п. Доказательство. Если полином е(А) имеет вид (4.7), то простой проверкой легко получить, что е2(А) = е(А) и тем самым е(А) — идемпо- тент кольца 9V Обратно, пусть е(А) = во Ф£|Аф ... фел_1Ал-1 — идемпотент коль- ца 9in. Тогда е2(А) = [е0 ФeiАф... феп_1Ал-1]2 = е0 ФeiА2 ф ... фА2(л-1) =е(А). Приравнивая коэффициенты при одинаковых степенях А у этих поли- номов для любого представителя s 2-циклотомического класса, получим es = 62s = ... Следовательно, е(А) имеет вид (4.7). □
184 Глава 4. Линейные коды над полем F2 Лемма 4.69. Пусть а — примитивный элемент поля F2™, п=2гп — 1. Полином е(Х) е является идемпотентом тогда и только тогда, когда e(&i) = 0 или 1 для всех j = 0, 1, ..., п — 1. Доказательство. Предположим, что е(А) — идемпотент в 9V Тогда для любого j = 0, 1, ..., п — 1 имеем е2(ау) = е(ау), и поэтому значение е(а7) принадлежит полю F2. Обратно, если для любого j =0, 1, ..., п — 1 значение е(ау) равно 0 или 1, то е(а2/) = е2(а7) = е(а7). Рассмотрим сумму Qi (/ = 0, \,...,п — 1): п—\ п—\ п—\ - п—1 п — \ Qi = е(а')а~‘' = ZEe'a'(Z i}=Het И а^-‘\ (4.8) /=0 /=0 /=0 /=0 /=0 Согласно лемме 1.144 внутренняя сумма в (4.8) при равна нулю. Следовательно, Qi =nei = ei. Поскольку НОД(2, п) = 1, то е^ — Q21 = У^ е(а/)а-2// = У^ е(о&)оГ1^ = У^ е(а7 )а~/7 = в/. /=о /=о Таким образом, е(А) = ф ф А7 . Согласно лемме 4.68 полином е(А) — ~ sGS /еСя’5 п идемпотент кольца Утл. □ Задача 4.70. Доказать, что если с(А) — идемпотент, то 1 ф в(А) также идемпотент. Теорема 4.71. Пусть С — примитивный циклический код в 9%. Тогда существует единственный идемпотент е(А) € С такой, что С = (е(А)). Если е(Х) — не нулевой идемпотент, то С = (е(А)) тогда и только тогда, когда е(Х) — единица в С. Доказательство. Пусть g(A) — порождающий полином кода С, Хп ф 1 = g(A)/z(A), где g(X) и А(А) взаимно просты. Тогда существуют в F2[А] полиномы а(Х) и Ь(Х) такие, что а(А)£(А)ф6(А)А(А)=1. (4.9) Положим е(А) = a(X)g(X). Тогда из (4.9) следует a(A)g(A)[a(A)g(A) ф b(X)h(X)] = a2(A)g2(A) = a(X)g(X), т. е. е2(А) = е(А) в 9% и тем самым е(А) — идемпотент. Пусть С = (е(А)) и е(А) — идемпотент. Любой полином с(А) € С пред- ставим в виде с(А) = а(А)е(А). Тогда е(А) • с(А) = е2(Х)а(Х) — е(А)а(А) = = с(А), т. е. е(А) — единица в С. Обратное утверждение очевидно. □
§4.3. Циклические коды 185 По полиному а(Х) = ди А® ...®ап-\Хп~х €9% определим поли- ном а (А) = ао ф ап_ i А ф ... ф а i Ап“1 (постоянный коэффициент остаётся без изменений, а остальные коэффициенты выписываются в обратном порядке). Ясно, что а(а-1) == а(а), Задача 4.72. Доказать, что если е(А) — идемпотент, то е(А) —тоже идемпотент. Задача 4.73. Пусть С= <g(A)> = (в(А)), А" ф 1 = g(A)/i(A), е(А)- идемпотент. Доказать, что 1 ф е(А) является идемпотентом кода с по- рождающим полиномом /г(А) (т. е. дополнительного к С кода). Задача 4.74. Пусть С — циклический код с порождающим идем- потентом в(А). Доказать, что код С1’ имеет порождающий идемпотент (1Ф^(А)). В таблице 4.2 представлены все ненулевые примитивные циклические коды Ci длины 7. Таблица 4.2 i dim g.w е.(А) 1 1 1 ф А ф А2 ф... ф А6 1 ф А ф А2 ф ... ф А6 2 3 1 ф А2 ф А3 ф А4 1 ф А3 ф А5 ф А6 3 3 1 ф А ф А2 ф А4 1 ф А ф А2 ф А4 4 4 1 ф А ф А3 А ф А2 ф А4 5 4 кФ А2® А3 А3 ф А5 ф А6 6 6 1 ф А А ф А2 ф... ф А6 7 7 1 1 Два из представленных кодов размерности 4 являются [7,4, 3]-кодами Хэмминга. Лемма 4.75. Пусть С — примитивный циклический [п, k\-Kod п—\ с порождающим идемпотентом e(A) = ®ezAz, в(А)^0. Тогда (k х п)-матрица l=Q (ео е\ в2 ... еп_2 еп-1\ еп-\ во в| ... вп_з еп_2 en-k+\ Cn-k+2 en-k+3 ••• ^n-k~\ en-k/ является порождающей матрицей кода С. Доказательство. Достаточно показать, что если a(A)eF2[A], deg а (А) < k и е(А)а(А) = 0, то а(А) = 0. Это непосредственно следу- ет из теоремы 4.71. □
186 Глава 4. Линейные коды над полем F2 Пусть Ci и С2 — линейные коды. Тогда С\ П б?2 = {2 | 2 G Ci И С G С2} — пересечение кодов С\ и С2 и Ci ф С2 = {с ф cf | с е Ci, с' е С2} — сумма кодов С\ м С2 также являются линейными кодами, поскольку простой проверкой легко показать выполнение для них постулатов ли- нейного подпространства. Задача 4.76. Пусть С\ и С2 — примитивные циклические коды. До- казать, что Ci А С2 и Ci ф С2 также являются циклическими кодами. Теорема 4.77. Пусть Cj и С2 — примитивные циклические коды длины п = 2т — т>0 с порождающими полиномами gi(A), g2(X) и порождающими идемпотентами 21(A), 22(A) соответственно. Тогда (i) примитивный циклический код С\ П С2 имеет порождающий полином HOK(g\(Xj, g2(A)) и порождающий идемпотент е\(Х)е2(Х}\ (ii) примитивный циклический код С\^С2 имеет порожда- ющий полином НОД(£1(А), g2(A)) и порождающий идемпотент 21 (А) ф 22(A) ф 21 (А)22(А). Доказательство, (i) Пусть /(A) = HOK(gi(A), g2(A)) и 2(A) eCi С\С2. Поскольку с(А)еС1, то 2(A) = a(A)gi(A) в для некоторого полино- ма а(Х). Аналогично, поскольку 2(A) е С2, то 2(A) = b(X)g2(X) в для некоторого полинома Ь(Х). Тогда 2(A) = a(X)gi(X) ф (Ап ф l)w(A) и 2(A) = b(X)g2(X) ф (Хп ф 1)у(А) в F2[A]. Таким образом, 2(A) делит- ся и на gi(A) и на g2(X). Следовательно, 2(A) делится и на /(А), т.е. 2(A) е (/(А)) и С\ ПС2 С (/(А)). С другой стороны, (/(А)) С (gi(A)) и (/(А)) С (g2(A)). Получаем обратное включение Ci П С2 D (/(А)), что даёт нам С\ П С2 = (/(А)). Поскольку 21(A) и 22(A) — идемпотенты в то 21(A)-22(A), оче- видно, является идемпотентом в этом же кольце. Поскольку Ci = = (2i(A))D(2i(A)-22(A)) И C2 = (22(A))d(2i(A).22(A)), ТО СХ П С2 D D (21(A) • 22(А)). Очевидно, что 2j (A) -22(A) является единицей идеала С\ ПС2 и согласно теореме 4.71 порождает весь идеал, т.е. СХПС2 = = (21 (A)-22(A)). (ii) Пусть g(X) = НОД(§'1(А), g2(X)). Согласно алгоритму Евклида в F2[A] существуют такие полиномы и(Х) и у(А), что §(А) = ^1(А)и(А)ф^(А)и(А).
§4.3. Циклические коды 187 Тогда (gW) = {g! (А)а(А) ф g2(X)b(X) I а(А), b(X) е Жп} = С{ ф С2. Так как g(A) делит Апф1, g(А) — порождающий полином для кода Ф С2' Идемпотент е\ (А)фе2(А)фе1(А)е2(А), очевидно, принадлежит Ci ф С2. Кроме того, если с(А) = й(А) ф с2(А), где С/(А) е С/, i = 1, 2, то f(A)[ej(A) фе2(А) феЦА)е2(А)] = = с\(А) ф ci (А)е2(А) Ф ci (А)е2(А) ф с2(А) ф с2(А)е{ (А) ф c2(A)ei (А) = ' = С1(А) фс2(А) = с(А). Отсюда следует (ii) согласно теореме 4.71. □ Согласно лемме 1.93 и теореме 1.123 разложение полинома Хп ф 1 = = А2'"-1 ф 1 на неприводимые множители имеет вид Л2"1-1 ф 1 = П rns(X), S где $ пробегает всё множество представителей 2-циклотомических клас- сов по модулю п = 2т — 1, a ms (А) = mas (А) — минимальный полином элемента b=as, где а —некоторый примитивный элемент поля F2™. Пусть ms(X) = (А2™-1 ф l)/ms(A). В следующей теореме мы покажем, что идеалы (ms(A)) являются минимальными идеалами кольца 9%. Обо- значим порождающий идемпотент кода (ms(A)) через ?S(A). Определение 4.78. Примитивные циклические коды, являющиеся минимальными идеалами в называются минимальными (неприво- димыми) примитивными циклическими кодами. Их порождающие идемпотенты называются примитивными. Пусть {si, s2, — множество представителей 2-циклотомических классов по модулю п = 2т — 1. Теорема 4.79. Примитивные идемпотенты кольца 9% удовле- творяют следующим условиям'. (I) идеалы (^mSi(X)), i = 1, 2, ..., /, и только они являются мини- мальными идеалами кольца 9%; (ii) если i j, то eSi (А) • eSj (А) = 0 в кольце 9%; (iii) кольцо 9ЯЛ как векторное пространство над F2 является прямой суммой своих минимальных идеалов] (iv) © eS/(A)=l. /=1
188 Глава 4. Линейные коды над полем F2 Доказательство, (i) Пусть (g(A)) — произвольный минимальный идеал кольца 9ЯЛ, g(A) — его порождающий полином. Тогда полином /г(А) = (А2™-1 ф l)/g(A) должен быть неприводимым и в силу структу- ры полинома А2™-1 ф 1 совпадает с mS/(A) для некоторого I. Поэтому g(X) = mSi(X). Проведя рассуждения в обратном порядке, легко получить, что (mSi (А)) — минимальный идеал кольца 9%. (ii) Ясно, что если i j, то согласно пункту (i) (mSi (A))n(mS/(A)} = {0}. С другой стороны, ?St.(A)?S/(A) принадлежит как идеалу (mS/(A)}, так и идеалу (mS/(A)). Следовательно, eSi (A)eS/(A) = 0 в кольце 9%. (iii) Так как НОД(т5) (А), т$2(А),..., mS/(A)) = 1, то согласно алгорит- му Евклида существуют полиномы а,(А), / = 1,2,из F2[А] такие, что t ф az (A)mS/(A) = 1. /=1 Следовательно, 9% является суммой своих минимальных идеалов (/и$.(А)). Рассмотрим идеал ®(mS/(A)). Согласно теореме 4.77 по- рождающий полином этого идеала совпадает с НОД(т51(А), ..., mSz_,(A), mS/+1(A), ..., mS/(A)). Поскольку НОД(т51.(А), mS/(A)) = 1, то (fhSi(А)) А ф (mSj(А)) = {mSi(А)) П {mSi(А)} = {0}. /У/ Следовательно, 9% как векторное пространство является прямой суммой своих минимальных идеалов. t (iv) Из (ii) и (iii) следует, что ф eSi(X) является единицей в кольце fRn, т. е. ф eSi (А) = 1. □ /=1 Полином е$(А) также является примитивным идемпотентом и, следо- вательно, существует такое s' — представитель некоторого 2-циклотоми- ческого класса по модулю п, при котором es(A) = eS'(X). Таким образом, s' eCn-s. Множество {а7 | / ECn~s} совпадает с множеством элементов поля F2m, не являющихся корнями полинома ?S(A). Для того чтобы нагляднее показать взаимосвязь между различными примитивными циклическими кодами и их порождающими идемпотентами (полиномами), рассмотрим специальное отображение. Пусть п = 2т — 1, m > 0 и d — целое, 1 d и, НОД(/?, d) = 1. Опре- делим отображение множества {0, 1, ..., п — 1} в себя с помощью
§4.3. Циклические коды 189 соотношения 6d(i) = id (mod и). В силу взаимной простоты d и п отображение 0d является подстановкой множества {0, 1, ..., п — 1}. Распространим действие этого отображения на кольцо 9% следующим образом. Пусть а(А) €9^л, тогда 0d(a(X)) = a(Xd) в кольце 9%. Ясно, что Я/(а(А)®6(А))=0Да(А))ф0ДЬ(А)) и Od(a(X)b(X)) = =Od(a(X))0d(b(X)). Таким образом, отображение 0d является эндомор- физмом кольца 9%. Простыми рассуждениями легко показать, что ядро этого эндоморфизма тривиально. Следовательно, отображение 0d являет- ся автоморфизмом кольца 9%. Он отображает идемпотент в идемпотент. Отображение #2 оставляет инвариантными 2-циклотомические классы по модулю п и, следовательно, #2 имеет порядок, совпадающий с муль- типликативным порядком 2 по модулю п. Теорема 4.80. Пусть С — примитивный циклический код дли- ны п = 2т—\, т>0, над полем F2 и d — положительное целое, НОД(п, d) = 1. Пусть е(А) — порождающий идемпотент этого ко- да. Тогда справедливы следующие утверждения: (i) 0dC= (0Де(А))} и Od(e(X)) — порождающий идемпотент при- митивного циклического кода 0dC (т. е. 0d отображает примитив- ные циклические коды в примитивные циклические коды и порож- дающие идемпотенты в порождающие идемпотенты)', (ii) 02(е(А)) = е(А) и 02 е Aut(C). Доказательство, (i) Применим отображение 0d к С edC = {0Де(А)а(А)) | а(А) е Жп} = {0d(e(X))0d(a(X)) | а(Х) е } = = {0d(е(А))а( А) | а(А) G *„} = {f)d (е(А))>, так как ^ — автоморфизм кольца 9%. Следовательно, 0dС — примитив- ный циклический код и 0d(e(X)) — его порождающий идемпотент. (ii) Пусть C=(g(X)}, где g(X) — порождающий полином С. Полином g(A) имеет корни {qs | s € /}, где / — объединение некоторых 2-цик- лотомических классов по модулю п. Тогда #2(g(A)) = g(A2) = [g(A)]2 также имеет корни {as | s е /}. Поэтому 02(g(A))eC и (^(iW))cC. Поскольку #2 — автоморфизм 9%, то #(02(g(A))} = #С. Следователь- но» <02(g(A))} = С. Поскольку порождающий идемпотент единственный, получаем утверждение (ii). □
190 Глава 4. Линейные коды над полем F2 Лемма 4.81. Пусть С — примитивный циклический код длины п над F2. Пусть ^ — группа порядка п, порождённая циклическим сдвигом (т. е. it-* i 4- 1 mod п). Пусть 93 — группа, порождённая ото- бражением ^2- Тогда группа 0, порождённая группами 21 и 93, яв- ляется подгруппой Aut(C) порядка nl, где I — мультипликативный порядок 2 по модулю п. Доказательство. Лемма следует из структуры нормализатора груп- пы 21 в симметрической группе степени п и теоремы 4.80. □ Лемма 4.82. Пусть С — примитивный циклический код длины п над F2 и {а1 | i е /} — его нули. Пусть НОД(я, d) = 1. Тогда {adl | i е /} — нули кода OdC. Доказательство. Пусть е(А) — порождающий идемпотент кода С. Тогда по теореме 4.80 порождающим идемпотентом кода в^С является полином 0Де(А)). Согласно лемме 4.65 нули кодов С и 6d(C) соответ- ствуют нулям полиномов е(А) и 0Де(А)). Поэтому лемма следует непо- средственно из соотношения 0Де(А)) = e(Xd). □ Теорема 4.83. Пусть С — примитивный циклический код длины п над полем F2 с порождающим полиномом g(X) и порождающим идемпотентом е(А). Пусть С — код, дополнительный к коду С. Тогда (i) C± = 0_iCz. (ii) имеет порождающий идемпотент 1 ф#_1(е(А)). (iii) С± имеет порождающий полином А^/г(А—1), где h(X) = Доказательство, (i) Дополнительный к коду С код С' является суммой минимальных идеалов из которые не входят в С. Итак, С ф С = 9% и С А С' = {0}. Порождающий идемпотент кода С име- ет вид е'(А) = 1 фе(А). Нулями кода С будут ненули кода С. Пусть {а7 | / е/}-ненули кода С и нули кода Сг. Тогда согласно лемме 4.82 {а“7 \ j el} — нули кода 0_iC'. Поскольку {q7 | j е/} являются корнями порождающего С' полинома Xkh(X~]), то Xkh(X~l) е О-хС'. Следо- вательно, = (Ал/г(А-1)) с 0-\Cf. Однако, поскольку является автоморфизмом 9%, то #СХ = 0_\Cf, откуда получаем утверждение (i). (ii) Следует непосредственно из теоремы 4.80 и того, что 0_i(e'(A)) = = 6>_!(1 фе(А)) = 1 ф6>_!(е(А)). (ii i) Доказано в теореме 4.71. □
§ 4.4. Некоторые классы примитивных циклических кодов 191 § 4.4. Некоторые классы примитивных циклических кодов В настоящем параграфе представлены некоторые известные клас- сы двоичных примитивных циклических кодов. Целью их подробного описания является рассмотрение аппарата, разработанного для цикли- ческих кодов на основе теории конечных полей, на примерах конкретных классов кодов. Вместе с тем необходимо отметить, что объём книги и её тематика не позволили отразить все важнейшие классы цикличе- ских кодов (например, коды Рида—Соломона, являющиеся недвоичными кодами). Коды Хэмминга и симплексные коды. Напомним (см. пример 4.43), что код Хэмминга Ст (т 2) имеет длину п = 2т — 1 и размерность k = 2т — т — 1. Столбцами его проверочной матрицы Н являются все 2т — 1 различных ненулевых m-столбцов (в примере 4.43 они располо- жены в лексикографическом порядке). Мы используем более компактное представление этой проверочной матрицы на основе расширения F2™ поля F2 как факторкольца F2[А]/(а(А)) (см. теорему 1.94), где а(А) —непри- водимый над F2 полином степени т. В полиномах степени, не превыша- ющей т — 1, представляющих элементы поля F2m, используем элементы первой строки матрицы Н в качестве коэффициентов при А0, второй стро- ки—в качестве коэффициентов при А1 и т. д., и, наконец, элементы т-й строки —в качестве коэффициентов при Хт~х. Пусть а — примитивный элемент поля F2™. Тогда элементы 1, а, а2, ..., а2™-2 различны и могут быть представлены указанным выше способом как различные ненулевые двоичные т-столбцы. Рассмотрим проверочную матрицу Н кода Хэмминга Ст, записанную в векторном виде Н = (Д,а, а2,...,а2т-\ где каждый элемент этой (1 х (2т — 1))-матрицы может быть представлен в виде соответствующего m-столбца. Ясно, что при таком представлении порядок следования m-столбцов может измениться. Напомним, что, гово- ря о некотором коде, мы имеем в виду класс эквивалентных (с точностью до перестановки координат) кодов с одинаковыми кодовыми парамет- рами. Теорема 4.84. Код Хэмминга Ст является примитивным цик- лическим кодом длины п = 2т—1 с порождающим полиномом g(X) = mi(X) = ma(X).
192 Глава 4. Линейные коды над полем F2 Доказательство. Строка с = (со, С\, .... сп_\) принадлежит коду Ст п — 1 тогда и только тогда, когда НсТ = 0. Следовательно, ф czc/ = 0. По- i=Q следнее соотношение показывает, что с(а) = 0, где с(А) = Со ® Ф • • • ...ф сп_1Ал-1. Согласно результату задачи 1.122 полином с(А) принадле- жит коду Ст тогда и только тогда, когда с(А) делится на т\ (А) = та(А) — минимальный полином элемента а = а1. Таким образом, код Ст состоит из полиномов степени, не превосходящей п — 1, и кратных mi (А). □ Согласно теореме 4.53 порождающая матрица кода Ст имеет вид /т, (А) Am, (А) о G = о Пример 4.85. Для кода Сз /0 0 1 Н = (1, а, о?, а3, а4, а5, а6) = 0 о 1 1 1 1 1 1 1 о 1 0 0 1 о 1 где а € F23 — корень неприводимого полинома А3 ф А ф 1. Его порожда- ющая матрица имеет вид /1 1 0 1 0 0 0\ 0 1 10 10 0 0 0 110 10 \0 0 0 1 10 1/ Пусть С' — примитивный циклический код, дополнительный к коду Хэмминга Ст- Тогда согласно определению 4.61 порождающим полино- мом кода С является полином (А2"-1 ф l)/nii(A). Согласно теореме 4.79 код С'т является минимальным примитивным циклическим кодом. Определение 4.86. Код, дуальный к коду Хэмминга Ст, называется симплексным кодом Sm, т. е. Sm — Ст. Лемма 4.87. Симплексный код Sm является минимальным при- митивным циклическим [2т — 1, т]-кодом, множество ненулей ко- торого совпадает с {а> | / €Ст,_|}.
§4.4. Некоторые классы примитивных циклических кодов 193 Доказательство. Согласно теореме 4.83 симплексный код Sm = = С^ = и его порождающий полином имеет вид A2”,~m~1/z(A-1), где /г(А) = (А2™-1 ф l)/mi(A). Очевидно, что размерность кода Sm рав- на т. Множество {а7 | j е{0, 1, ..., 2т — 2}\Cmj} является множеством корней полинома Л(А). Тогда, воспользовавшись результатом задачи 4.59, получаем, что множество {а“7 | j е {0, 1, ..., 2т — 2}\С^д} является мно- жеством нулей полинома A2 _/n“1/z(A~1). Следовательно, ненулями кода Sm будет множество {q7 | / и порождающий полином этого кода имеет вид (А2"”-1 ф l)/m_i(A). Таким образом, симплексный код Sm яв- ляется минимальным примитивным циклическим \2т — 1, т\-кодом. □ Проверочным полиномом кода Sm является полином m_j(A) = l ф ф/?1 Аф ... ®hm-\Аш-1 Ф Хт. Таким образом, проверочная ((2т — т — 1) х х (2т — 1))-матрица кода Sm имеет вид Следовательно, слово с = (со, G, ..., ^-2) принадлежит коду Sm тогда и только тогда, когда для него выполнены следующие линейные соотно- шения • G+m — C'i Ф G*+l^m—1 Ф • • • Ф Ci+m—1^11 7 — 0, ..., 2 2, (4.10) операция сложения в индексах производится по модулю 2т — 1. Эти соотношения показывают, что каждый элемент слова с рекур- рентно выражается через т предшествующих (с учётом сложения в ин- дексах по модулю 2п — 1). На рис. 4.2 представлен регистр сдвига длины т с линейной обратной связью, порождающий линейные рекуррентные последовательности, удо- влетворяющие соотношению (4.10). Последовательность состояний этого регистра описывается матричным уравнением / Q+1 \ G+2 ci+m-l \ G‘+m / /0 1 0 .. 0\ ( С‘ ) f Ci ) 0 0 1 .. 0 G+i = A • G+1 0 0 0 .. 1 Ci+m—2 G+tfi—2 V Л/п-1 hm—2 • • h) \G+m— 1 / \Ci+m— 1J
194 Глава 4. Линейные коды над полем F2 где i =0, 1, 2, ..., а матрица А — так называемая сопровождающая мат- рица (см. [283]) полинома Amrn_i(A-1) = mi(A). Из хорошо известных утверждений линейной алгебры (см. [52, 64]) следует, что характеристи- ческий полином матрицы А совпадает с mi (А), т.е. det (Л ф ХЕт) = mi (А) и т\(А)=0. Делимость полинома А2™-1 ф 1 на mi (А) даёт нам выполнение соотноше- ния А2 -1 =Ет. Поскольку полином mt(A) является примитивным по- линомом, то его период совпадает с 2т — 1 и Аг Ет при 0 < г < 2т — 1 (см. лемму 1.133). Таким образом, минимальный период последователь- ности состояний регистра сдвига (см. рис. 4.2), а следовательно, и вы- ходной последовательности этого регистра, равен 2т — 1. Всё сказанное выше показывает, что все 2т кодовых слов кода Sm могут быть получены с помощью регистра сдвига длины m с линейной обратной связью пу- тём фиксации в качестве начального состояния регистра всех возможных двоичных наборов длины т. Коды Боуза—Чоудхури—Хоквингема. Перейдём теперь к рассмот- рению одного из важнейших классов кодов —кодов Боуза—Чоудхури— Хоквингема (БЧХ-кодов). Интерес к этому классу кодов определяется тем, что при небольших длинах среди БЧХ-кодов существуют хорошие (но, как правило, не лучшие из известных) коды, для которых известны относительно простые и конструктивные методы кодирования и декоди- рования. Однако с точки зрения направленности данной книги хорошее понимание свойств кодов БЧХ является полезным для изучения других классов кодов. Знакомство с БЧХ-кодами начнём с доказательства следующего утверждения.
§ 4.4. Некоторые классы примитивных циклических кодов 195 Теорема 4.88 (граница БЧХ). Пусть С — примитивный цикличе- ский [п, k, d\-Kod над полем F2 и пусть а — примитивный элемент поля F2« (и + 1 = 2т). Предположим, что существуют целые числа г > 0 и d ^2 такие, что множество {az | г iг 4- d* — 2} является подмножеством множества нулей кода С. Тогда d^d*. Доказательство. Пусть с(А) — ненулевой элемент кода С и wt(c) = = w, т. е. W с(Х) = ®счХ1>. /=1 Предположим, что w<d*. Поскольку с(с?)=О для + 2, то Ми1 = 0, где / а/|Г а^г ... aiwr \ yQ4(/’+^-1) ah(r+w-l) ... aiw(r+w-\) j и и = (сц,ci2,..., Ciw) = 1. Поскольку и 0, то М — вырожденная матрица и, следовательно, det М = 0. Легко видеть, что det М = Q0i+/2+...+Mr det М’> где М' — матрица Вандермонда /1 1 ... 1 \ д|/_ а1'г а12Г ... а1*,г Поскольку все а1' различны, то det М' / 0. Получаем противоречие. Сле- довательно, wt(c) d* для любого с 7^ 0 из С. Тогда и d d*. □ Пример 4.89. Пусть С — примитивный циклический [31, 25, dj-код с порождающим полиномом gw= П / сс31 .зи{0} где а — примитивный элемент поля F32, Сз1,з — 2-циклотомический класс по модулю 31. Множество нулей кода С имеет вид {а1 | j е {0, 3, 6, 12, 17, 24}}. Применяя границу БЧХ к коду С, получим d 2. Однако эквива- лентный ему код С\ = #21С имеет множество нулей вида {а7 | j е {0, 1 ,*2, 4, 8, 16}} согласно лемме 4.82. Применяя границу БЧХ к коду Сь получим
196 Глава 4. Линейные коды над полем F2 d ^4. В действительности d =4, поскольку С\ является подкодом кода Хэмминга С5, состоящим из слов чётного веса. Настоящий пример показывает, что оценка БЧХ может с различной точностью оценивать минимальное кодовое расстояние для различных ко- дов, имеющих одинаковые корректирующие способности. Определение 4.90. Параметр d* из теоремы 4.88 называется кон- структивным кодовым расстоянием. В соответствии с теоремой 4.88 конструктивное кодовое расстояние не превосходит обычное кодовое расстояние. Определение 4.91. Пусть d* — целое число, 2^d* ^п, п = 2т — 1. Примитивным БЧХ-кодом С над полем F2 длины п с конструктивным расстоянием d* называется примитивный циклический код с порождаю- щим полиномом g(A) = HOK{/nar(A), znQr+1(A), ..., mQz+^-2(A)}, где a — примитивный элемент поля F2™. Другими словами, примитивный БЧХ-код С является примитивным циклическим кодом максимальной возможной размерности, для которого множество {cd | г j < г 4- d* — 2} лежит в множестве его нулей. В случае, когда в определении 4.91 параметр r = 1, код С называет- ся примитивным БЧХ-кодом в узком смысле. При фиксированном г БЧХ-коды вложены друг в друга так, что код с конструктивным расстоя- нием df содержит код с конструктивным расстоянием d$ в том и только в том случае, когда df d%- Вообще говоря, код, дуальный к коду БЧХ, сам БЧХ-кодом не явля- ется. Теорема 4.92. Пусть С — примитивный БЧХ-код длины п = 2т—\ с конструктивным расстоянием d*. Тогда выполнены следующие неравенства'. (i) dc^d*; (ii) k^n — m(d* — 1). Доказательство, (i) Следует непосредственно из границы БЧХ (теорема 4.88). (ii) Поскольку порождающий полином кода С имеет вид g(A) = HOK{mar(A), mQr+i(A), ..., /nQ,+</*_2(A)}, то для любого с(А) е С имеем c(ar) = c(ar+1) = ... = с(аг+(Г~2) = 0.
§ 4.4. Некоторые классы примитивных циклических кодов 197 Следовательно, матрица /1 аг а2г ... а(п"1)г А н= 1 а2<г+1> ... <1 аг+</*“2 Q2(r+d*-2) ... a(n-l)(r+d*-2)} задаёт проверочные соотношения для кодовых слов из С. Поскольку каждый элемент матрицы Н принадлежит полю F2™, то он может быть заменён на столбец из т элементов поля F2. Строки полученной таким образом матрицы над F2 задают проверочные соотношения для кода С. Всего строк в полученной матрице будет m(d* — 1), но не все они обяза- тельно будут линейно независимы. Таким образом, размерность k кода С не менее п — (d* — 1)т. □ Лемма 4.93. Пусть С — примитивный БЧХ-код в узком смысле длины п = 2т — \ с конструктивным расстоянием d* =2t + 1. Тогда kc^n — mt. Доказательство. Порождающий полином кода С имеет вид g(A) = HOK{mQ(A), ..., лпа2/(А)}. Согласно теореме 1.129 для любого i имеем та2<(А) — mai(X). Тогда g(A) = HOK{mQ(A), mQ2(A), wq3(A), ..., /nQ2,(A)} = = HOK{ma(A), таз(А), mas(A), ..., mazt-1(A)}. Поскольку для любого i согласно теореме 1.129 deg (А) /и, то deg g(A) mt. Следовательно, kc^n — mt. □ Возвращаясь к началу предыдущего параграфа, напомним, что начи- ная с определения 4.55, мы имеем дело лишь с примитивными цикли- ческими кодами. Однако подавляющее большинство приведённых выше утверждений справедливы и для более общего случая, когда длина кода п не является примитивной, НОД(л, 2) = 1 и т — минимальное натуральное такое, что 2т = 1 (mod я), а Апф 1 делит А2™-1 ф 1 и не делит А2*"1 Ф1 ни при каком s, 0 < s < т. В этом случае вместо примитивного элемента поля F2™ использу- ют первообразный корень степени п из единицы, лежащий в поле F2™, и 2-циклотомические классы по модулю п (см. [233, 291]). Пусть /7 = 23, т=\\. Тогда 2т — 1=23 89. Для любого набора с € ^23 сфера радиуса 3 с центром в с будет иметь объём (т. е. количе- / 23 \ / 23 \ / 23 А Г 23 А ство наборов, входящих в сферу), равный (п) + ( .) + («) + ( Q). \ и / \ 1 / \ Л J \ о J
198 Глава 4. Линейные коды над полем F2 Простой проверкой легко получить (о3) + (?) + (?) + (?) '2l2 = 223- (4-Н) Последнее соотношение означает, что суммарный объём 212 сфер радиу- са 3 совпадает с числом наборов в У2з и представляет собой необходимое (но не достаточное) условие существования совершенного [23, 12, 7]-ко- да над полем F2, исправляющего тройные ошибки. Такой код, называемый двоичным кодом Голея, существует. Хотя из-за малой длины он и не на- шёл практических приложений, этот код занимает важное место в теории кодирования. В силу такой хорошей упаковки сфер код Голея тесно связан со многими математическими объектами. Кроме того, он будет интересен также как пример двоичного циклического кода, не являющегося при- митивным. Его описание приведём без доказательства соответствующих утверждений. Пусть а — примитивный элемент поля F2h . Тогда элемент /3 = а89 яв- ляется первообразным корнем степени 23 из единицы. Минимальный полином элемента /3 равен /и3(А) = (А-/?)(А-^2)-...-(А-/32"1)> где Cnj = {1, 2, ..., 2Г-1} — 2-циклотомический класс по модулю 23, со- держащий 1. Аналогично (А) = (А - /Г’)(А - Г2) • • • • • (А - /Г2'”), где Сц,-1 = {~1, —2, ..., — 2Г-1} — 2-циклотомический класс по модулю 23, содержащий — 1 = 22 (mod 23). Воспользовавшись составом цикло- томических классов С\i o» Сид, Си,-], легко показать, что (Лф 1)т(з(Х)тр-\(Х) = Л23 е 1, где т^(Л) = ли фл10фл6фл5фл4фл2ф 1, т_/3(Л) = Л11 фЛ9фЛ7фЛ6фЛ5ф Аф 1 = т£(А). Двоичным кодом Голея называют циклический код длины и = 23 над полем F2, порождающим полиномом которого является т^(Л), где /3 — первообразный корень степени 23 из единицы в поле F2u. Следовательно, размерность кода Голея k = 23 — deg т^(Л) = 12. Последовательно дока- зывая следующие утверждения (см., например, [124]): i) в коде Голея нет слов веса 4 или меньше;
Комментарии к главе 4 199 ii) в коде Голея нет слов веса 2, 6, 10, 14, 18 и 22; iii) в коде Голея нет слов веса 1, 5, 9, 13, 17 и 21, получаем, что минимальный вес кода Голея по меньшей мере равен 7. С другой стороны, соотношение (4.11) показывает, что сферы радиуса 3 вокруг 212 кодовых слов не пересекаются и исчерпывают всё простран- ство Fg3. Таким образом, кодовое расстояние кода Голея равно 7. Комментарии к главе 4 При чтении этой главы мы рекомендуем читателю за справками и по- яснениями обращаться к замечательной книге [291]. В ней даётся про- стое, доступное и одновременно раскрывающее все важные аспекты пред- мета изложение теории кодирования. Очень важным с точки зрения на- шего изложения является и то, что авторы этой книги (как и мы) ча- сто ограничиваются лишь двоичными кодами, что существенно облегчает теорию. Кроме того, в ней имеется огромное количество полезных и по- учительных примеров. По мере необходимости читатели могут обращаться также к широ- ко известным книгам [112, 349]. Как органичное дополнение к [291] мы рекомендовали бы книгу [123]. Свёрточные коды, в последнее время ис- пользованные в криптологии для построения эффективных алгоритмов, реализующих корреляционный метод, достаточно систематически изло- жены в [29]. Вопросы, связанные со свойствами циклических кодов, алгоритма- ми их декодирования, в достаточной мере представлены в упомянутой выше литературе. Вместе с тем нам хотелось бы обратить внимание чи- тателя на книгу [33]. Как известно, циклические коды характеризуются простотой алгоритмов декодирования, которая достигается за счёт эф- фективного использования аппарата конечных полей, колец и идеалов для построения кодов с заданными свойствами. В [33] приводится по- дробное описание классов циклических кодов, методов их построения, анализа корректирующей способности и методов декодирования. Нако- нец, много полезного для себя читатель может обнаружить в большом справочном издании [233].
Глава 5. Коды Рида—Маллера Данная глава посвящена подробному изложению свойств конкретного класса блочных кодов — кодов Рида—Маллера. Эти коды играют значи- тельную роль в различных исследованиях по криптологии. Причиной это- го послужила естественная функциональная интерпретация кодов Рида— Маллера. Она позволила, с одной стороны, формулировать с помощью параметров этих кодов различные важные криптографические свойства, а с другой стороны — использовать алгоритмы декодирования при по- строении методов криптографического анализа. §5.1. Общие свойства кодов Рида—Маллера Пусть feFm- Будем через Qz обозначать строку значений функ- ции /, т. е. ^ = (/(^о) i=0,l, ...,2'"—1. (5.1) Заметим, что wt(/) = wt(Qz). При этом векторы Ui пространства Vm упо- рядочены некоторым образом. В данном случае будем считать, что они упорядочены лексикографически. Ниже мы рассмотрим и некоторые дру- гие способы упорядочения, но при этом всякий раз будем оговаривать и комментировать это отдельно. Определение 5.1. Для произвольных натуральных т и г, 0^ г т, кодом Рида—Маллера (Reed—Miiller) RM(r, т) порядка г и длины п = 2т называется множество всех строк (2Z тех булевых функций f е^т, степень нелинейности deg f которых не превосходит г, т. е. RM(rf m) = {Qz | / еЛл, deg f r}. Предложение 5.2. Размерность k кода RM(r, m) равна & = dim RM(r, m) = l + (™}+...+ (^}. Доказательство. Доказательство следует из того факта, что под- пространство, состоящее из всех функций, степень нелинейности которых не превосходит г, порождается мономами, степень нелинейности которых не превосходит г. □
§5.1. Общие свойства кодов Рида—Маллера 201 Важнейшим параметром кода RM(r, т) является его минимальное расстояние d = dRM(r,m)- Для нахождения минимального расстояния кода RM(r, т) докажем следующее утверждение. Предложение 5.3. Степень нелинейности функции f рав- на г тогда и только тогда, когда степень нелинейности всех её производных не превышает г — 1 и существует направление, по которому производная имеет степень нелинейности в точно- сти г — 1, т.е. {deg Duf г - 1 для всех и G Vm; существует uoeVm: deg DUq f — г — 1. Доказательство. Пусть deg f = г. Из определения производной бу- левой функции ясно, что deg Duf О — 1 при любом и е Vm. Пусть i — индекс любой переменной, входящей в моном степени г алгебраической нормальной формы функции f. Тогда х(2), ..., х{т)) = х0)/1(х(1), ..., х(/+1), ..., х(пг))ф Ф •••» ..., х^), причём deg Д = г — 1. Положим теперь и = et = (0, ..., 0, 1, 0, ..., 0)т. Тогда • Duf = f\, = f{=r - 1. Пусть deg DUof = г — 1. Без ограничения общности можно считать, что и^ — е\. Тогда /(х(1), х(2), ..., х(,п)) = x(1)Z)ei/(х(2), ..., х(ш))ф •••, х^) и поэтому deg f = r. □ «Лемма 5.4. Пусть f G ?т. Тогда для любого вектора ueVm вы- полнено неравенство wt(0>| wt(£)u/). Доказательство. Поскольку Duf(x) = f(x)ф/(хфи) и wt(/(x®u)) = =wt(f(x)), то wt(£>u/) wt(/(x® u)) + wt(/(x)) 2 • wt(/). □ Лемма 5.5. Пусть f e f 0 и deg f = d. Тогда wt(/) > 2m-d. Доказательство. Проведём доказательство леммы индукцией по степени d.
202 Глава 5. Коды Рида—Маллера Существует единственная функция /, для которой deg/ = 0—это функция-константа единица: f(x) = 1 для всех xeVm. В этом случае wt(/) = 2т и тем самым лемма при d = 0 справедлива. Предположим, что лемма справедлива для всех d'.Q^d^do^n—\. Докажем, что тогда лемма справедлива и при d = do + 1. Пусть deg f = = do 4-1. В силу предложения 5.3 существует такое направление и € Vm, что deg Duf = do- По лемме 5.4 справедливо неравенство wt(/)> wt(D„/). (5.2) Поскольку deg Duf = do, то по индуктивному предположению wt(Duf) >2'”“d°. Подставляя последнее неравенство в (5.2), получаем wt(/) | Wt(£)u/) =2m-(rfo+l). Тем самым лемма справедлива и для функции f. □ Для полноты картины приведём ещё одно утверждение, дающее ниж- ние и верхние оценки веса булевой функции без использования свойств её производных. Лемма 5.6. Пусть f и deg f = d, d^\. Тогда 2m~d -2m~d. Доказательство. Пусть x^x^ •... • xM — «старший» моном, т. e. моном длины d алгебраической нормальной формы функции f. Подстав- ляя всеми возможными способами константы 0 и 1 вместо оставшихся m-d переменных, мы получим 2m~d подфункций /1, ..., Каждая подфункция содержит в своей алгебраической нормальной фор- ме моном х^‘)х0г) •... -хм. Поэтому 1 wt(/z) <2d — 1, / = 1,2, ... ...,2m~d. Очевидно, что wt(/) = wt(/z) и поэтому 2'72"d^wt(/)^ ^2m-2m-d. 1=1 □ Теперь мы можем сформулировать результат о минимальном рассто- янии кода /?А4(г, т). Теорема 5.7. Минимальное расстояние кода RM(r, т) рав- но 2т~г. Доказательство. Согласно лемме 5.5 для любых кодовых слов кода RM(r, т) выполнена оценка wt(Q^) — wt(/) 2m-deg С Поскольку
§5.1. Общие свойства кодов Рида—Маллера 203 для векторов Q^, принадлежащих коду RM(r, т)у выполнено неравенство deg f < г, то wt(Q^) > 2т~г. Таким образом, минимальное расстояние кода RM(r, т) не меньше, чем 2пг~г, Рассмотрим функцию х(2), •••> х(пг)) =х(1)х(2) •... • х(г), степень нелинейности которой равна г. Вектор Q^o принадлежит коду RM(r, т)у причём wt(/o) = wt(ffy0) = 2т~г. Поэтому d^r,m) = 2"z-r. □ Предложение 5.2 показывает, что порождающая матрица G кода RM(ry т) имеет размеры + х 2™ И СТРУКТУРУ /Оо\ (5.3) \GrJ где Go = (1, 1, ..., l) = Qi, Qx(l)x(3) \ Qx(1)x(2) Заметим, что код RM(m, m) состоит из всех векторов длины 2ту код RM(m — 1, т) — из всех векторов длины 2т чётного веса, а код RM(G, m) —только из*нулевого и единичного векторов. Теорема 5.8. Для всех г, 0 < г т — 1, выполнено соотношение RM(r, т)1- = RM(m — г — 1, т). Доказательство, Пусть ffy е RM(m - г - 1) и е RM(ry т). Тогда deg f ^т- г - 1, deg g < г. Поэтому deg(/ • g) < т - 1. Сле- довательно, Q^f.g eRM(m— 1, т) и вес вектора чётен. Таким обра- зом, (ty, Qg) = wt(Qf.g) = 0 (mod 2) и RM(m - г - 1, m) C RM(r, m)2-. С другой стороны, dim RM(m — r - 1, m) + dim RM(r, m) = \ 1 / \m — r J \1/ ' r ' поэтому RM(m — r — 1, m) = RM(ry m)1-. □ Определение 5.9. Для любого г, 0 г т — 1, выколотым кодом RM*(r, т) называется код, который получается из кода RM(ry т) выка- лыванием (или вычёркиванием) из всех кодовых слов координаты,•соот- ветствующей значению булевых функций на нулевом векторе 0.
204 Глава 5. Коды Рида—Маллера Элементы (кодовые слова) кода /?Л4*(г, т) будем обозначать через Qp deg f < г, где (см. (5.1)) = (/ (uq) , Пр, считая, что uq = 0. Очевидно, что длина кода /?Л4*(г, т) равна 2т — 1. Задача 5.10. Доказать, что код /?Л4*(г, т) имеет минимальное рас- стояние 2т~г — 1 и размерность + Теперь нам понадобится представление булевых функций с помощью следа, введённое в §2.2. Согласно утверждению леммы 2.67 для лю- бой булевой функции f существует полином Р(х) из множества От с F2"! [х] такой, ЧТО f(x) = fp(x) = Tf(P(x)) ДЛЯ любого На- помним, ЧТО От — ЭТО множество ПОЛИНОМОВ Р' € F2"» [х] вида Р'(х) ®C2"’-l<XX2m“1, где Р(х) — произвольный сг-полином, а е F2™, такой, что Тгш(а) = 1, a Cq и С2"1—1 — элементы поля F2. Пусть О —некоторая аддитивная подгруппа кольца F2™ [х] (напри- мер, От является такой подгруппой). Определим следующие подпро- странства пространств 1/л+1 и Vn, п = 2т — 1: П(О) = {П/р|РеО} и Q*(O) = {Qp \РеО}. Докажем полезное для описания кодов Рида—Маллера утверждение. Теорема 5.11. Пусть О = |ф Л/Х5' | а< е F2* } — аддитивная под- группа кольца F2^[x] и а — примитивный элемент поля F2^. То- гда дуальным к циклическому коду В длины п = 2т — 1 с нулями as\ ..., aSl будет код Q*(O). Доказательство. Пусть b € Vn, Ь = (6(0), ..., Ь(л-1))т и с = Qp, / л-1 Р(х) = ф ^х*, Щ € F2«. Далее будем обозначать Ь(х) = ф Ь^х1. Тогда 1 = 1 /=о п—1 П—1 / I к (6, с) =ф № Тг(Р(а')) = ф № Тг(ф aia'Si ) = /=0 /=0 4=1 ' п—\ I т— 1 / т—1 /Л-1 \ 2* =ф с,л ф ф =© ф <4® W’) = /=о /=1 Z?=0 /=1 k=Q \=0 7 / т-\ I = ф ф af(b(as‘)f = ф Tr(a,&(as-)). (5-4) / = 1 k=0 i=l Если Ь е В, то b(otSi) =0 для i = 1,2,..., I и поэтому (6, с) =0 для любого ceQ*(O).
§5.1. Общие свойства кодов Рида—Маллера 205 Докажем обратное. Пусть {Ь, с} =0 для любого ceQ*(O). Положив P(x)=a\xS[, из (5.4) получим Tr(ai6(aS1)) =0 для любого ах сЕг*» и, сле- довательно, Z?(aS|) = 0. Аналогично, b(aSi) = 0, i =2, ..., I. Следователь- но, be В. □ Положим Аг = < Р(х) = atxl € От | CLi = 0, если w^(i) > г >, 0 г < т, В = < Р(х) = ф atxl е F2« [х] | щ — 0, если W2(i) > г >. Согласно задаче 2.66 имеем П(Л) = ЩВ) и Q*(A) = fi*(B). (5.5) Теорема 5.12. Имеет место равенство RM(r, т) = £1(Аг) = = {Cifp\P&Ar}. Доказательство. Пусть 0i, ..., — некоторый базис поля F2*» над F2. Для каждого полинома Р е Аг, как и ранее, будем обозначать //>(Х(1), Л., Х(т>) = Тг(Р(х<1)01 ®...®Ж))- Любой полином Р € Лг представляет из себя некоторую сумму мономов aix1, где ш2(0 г. Если Q(x) = а/х\ i = 2li 4-... 4- 2ls (s < г), то имеем Q(x) = <?(х(|)0, ф...фх(т>0т) = = a, (x(l)0i ф... ф x<m’0m)2'1 •... • (х<1>01 ф... ф х<т,0т)2“ = = а,(х^0^ ф... ф х(т<')..... (х")0Г ф ... ф х(т)С )• Поэтому полином Q(x) может быть представлен как сумма моно- мов ах(/|) •...-х(//), где a€F2">, То же самое справедливо и для любого полинома РеВ. Следовательно, />(х(1), ..., x<w)) = = Тг(Р(х)) = Тг(Р(х(1)01 ф... фх(ш)0^)) представляет из себя некоторую сумму мономов вида Тг(а)х(/,) •... • х(/'\ t С г, т. е. deg fP г и поэтому е RM(r, т). Это даёт нам включение П(ЛГ) С RM(r, т). Докажем обратное. Обозначим 2?г = П(ДГ) = О(Б) и 7?*=Q*(ylf) = = Q*(B) (см. (5.5)). Воспользовавшись теоремой 5.11, получаем; Р*-1 является циклическим кодом с нулями а7, Ш2(Д О (0^/^2'п —2).
206 Глава 5. Коды Рида—Маллера Таких элементов ровно l + + Следовательно, dim Р* = = £2 Тогда dim T>r dim Р* = dim RM (r, m). Вместе с включением i=o v 1 7 Q(Xf) C RM(r, rri} это приводит к равенству Q(Xr) = RM(r, rri). □ Следствие 5.13. Выколотый код Рида—Маллера порядка г — RM*(r, т) является циклическим кодом длины 2т — 1, нули которо- го исчерпываются элементами as, удовлетворяющими условиям 1 ^(s) ^т - г — 1 и 1 < s < 2т -2. Порождающий и проверочный полиномы кода RM*(r, т) для 0 г т — 1 имеют вид g(x) = П ft(x) = (x+l) maS(x) l^W2(s)^m—г— 1 т—r^.W2(s)^m— 1 (напомним, что mOct(x) — минимальный полином элемента о/). Доказательство. Следствие непосредственно вытекает из теоре- мы 5.12 и строения множеств корней циклического кода и дуального к нему кода. □ Перейдём теперь к описанию слов минимального веса кодов Ри- да—Маллера. Как правило, это описание даётся с помощью аппарата конечных геометрий. Одним из преимуществ геометрического языка яв- ляется возможность точного указания слов минимального веса, лежащих в RM(r, т): эти слова являются векторами инциндентности (т — ^-мер- ных плоскостей конечной геометрии размерности т над полем F2. Мы не будем приводить это описание, поскольку для этого потребуется дать много предварительных сведений из теории конечных геометрий, — желающим рекомендуем обратиться к монографии [291]. Мы дадим опи- сание слов минимального веса кодов Рида—Маллера на функциональном языке. Напомним (см. гл. 3), что — группа сдвигов, а 3^(7) — группа инерции булевой функции f в группе сдвигов: (/) = {и £ vm I Du f(x) = f(x) ф f(x ф и) = 0 при всех X € Vm}. Задача 5.14. Пусть f е Fm, dim 3^(7) = s т. Доказать, что суще- ствуют А е ®£(Vm) и f~ е Tm-s такие, что ^если у = Ах, то f(Ax) = Г(у^+'\ у^). При этом 3Im_s (/-) = {0}, wt(/) = 2s wt(f-), deg f~ = deg f.
§5.1. Общие свойства кодов Рида—Маллера 207 Теорема 5.15. Вектор £lf, f е deg f г, является словом ми- нимального веса wt(/) = 2т~г в коде RM(r, т) тогда и только тогда, когда выполняются следующие условия: 1) dim 3Tm(/) = т - г; 2) wt(/') = l. Доказательство. Достаточность следует из задачи 5.14. Докажем необходимость. Пусть feFm, deg f < г и wt(/) = 2'7Z-r. Тогда deg f = г, а в соответствии с задачей 5.14 dim — т — г — t ^m-r, wt(/”) = 2z, = {0}, deg f~ = deg f = г. Поскольку Зтг+/(/~) = {0}, to wt(Z)u/_)^0 для любого ueVr+t, u^O. В силу леммы 5.4 wt(Z)M/“) ^2 wt(/_) = 2Z+1. С другой стороны, посколь- ку Duf~ ^0, Duf~ еЗу+t, deg Duf~ < r — 1, то в силу леммы 5.5 wt(Du/“) 2(f+z^_^~1) = 2Z+1 = 2 wt(/“) для любого u^O. Это воз- можно только в том случае, если {хе vr+t I Г(х) = 1}и{хе vr+t I = 1} = 0 для любого utVr+t, и^О. Но тогда 2r+t wt(/“) 2f+z, поэтому wt(D= 1 и t =0. □ Следствие 5.16. Слова минимального веса в коде RM(r, т) и только они являются векторами инциндентности смежных классов пространства Vm по подпространствам размерности т — г. Другими словами, слова минимального веса в коде RM(r, т) и только они являются векторами инциндентности множеств решений систем линейных булевых уравнений вида Ах = Ь, где b е Vm, А — булева (т х т)-матрица, rank А = г. Задача 5.17. Доказать, что произведение слов минимального веса произвольных кодов Рида—Маллера является словом минимального ве- са некоторого кода Рида—Маллера. Или на языке функций доказать, что если Л, /2еЛш, deg Л =ri, deg/2 = r2, wt(ft) = 2'”“'\ wt(/2) = 2т~Г2, то deg fi • fz — г, wt(/i • /2) = 2т~г при некотором г г\ 4- г2. Рассмотрим теперь вопрос о группах автоморфизмов кодов Рида— Маллера. Напомним некоторые конструкции главы 3. Пусть, как и ранее, 62ш — симметрическая группа степени 2т подстановок элементов про- странства Vm, индуцирующая на множестве 5^ действие вида fB{x) = f(gx),
208 Глава 5. Коды Рида—Маллера где xeVm, дх — образ вектора х под действием подстановки де&2т. Легко видеть из определения, что это действие удовлетворяет следующим соотношениям: (ЛФ/2)0 = Л0®/20, (5.6) (А • А)6 = f? • /20 (5.7) для любых f[, /2 € Ли, g е &2т. Ясно, что группы автоморфизмов кодов Рида—Маллера являются подгруппами группы 62ш, а группы автоморфизмов выколотых кодов Рида—Маллера лежат в её подгруппе фиксирующей (оставля- ющей на месте) вектор 0 е Vm, которая изоморфна симметрической группе 62ш_! степени 2т — 1 подстановок элементов Vm \{0}. Почти очевидно следующее утверждение. Лемма 5.18. Пусть г = 0 или г = т — 1. Тогда Aut(/?M*(r, m)) = 62m_i, Aut(/?M(r, m)) = 62^. Прежде чем переходить к утверждению, характеризующему группу автоморфизмов кодов RM(r, т) и /?Л4*(г, т) в более содержательном случае, рассмотрим некоторые вспомогательные утверждения. Лемма 5.19. Пусть g € Aut(/?M(r, rri)), 1 О ^т- 1. Тогда g пере- водит любое слово минимального веса кода RM(s, т), г, в слово минимального веса этого кода. Доказательство. Пусть е RM(s, m), s г, — слово минимально- го веса, т.е. wt(/) = 2m~s, тогда wt(/0) =2m~s. Очевидно в силу след- ствия 5.16, что найдутся такие слова ,..., е RM (г, т) минимально- го веса, что f — f\ /2 •... • fi. Тогда ..., — также слова минималь- ного веса, а поскольку в силу (5.7) f0 = ff [% •... • и wt(/0) = 2™”s, то в силу задачи 5.17 Q^0 — слово минимального веса кода RM(s, т). □ Задача 5.20. Доказать, что при 1 г < т — 2 выполнены включения 02l(Vw) с Aut(/?M(r, m)), с Aut(/?M*(r, m)). Замечание 5.21. Группы &£(Vm) и 021(1/ш) соответственно дважды и трижды транзитивны (определение / -транзитивности группы подстано- вок см., например, [417]). Теорема 5.22. Для 1 < г ^т — 1 выполнены включения'. a) Aut(7?M(r, m))c Aut(/?M(r+ 1, m)); 6) Aut(/?M*(r, /п)) c Aut(/?M*(r+ 1, т)).
§5.1. Общие свойства кодов Рида—Маллера 209 Доказательство. Пусть gG Aut(/?Af(r,т)) и eRM(r+ l,m). Если deg f < г, т.е. Q; eRM(r, rri), to Q^0 eRM(r, rri) c RM(r + 1, m). Пусть теперь deg f = r + 1. Тогда функцию f можно представить в виде f = /о Ф /1 Ф • • • Ф ft» где deg fo^r, t^A и f\ ф ... ф ft — сумма всех t мономов длины г + 1, имеющихся в алгебраической нормальной форме функции /. Воспользо- вавшись соотношением (5.6) для функции /, получаем /0 = /о0Ф/0Ф...ф/0. (5.8) Так как deg /о и д G Aut(/?Af(r, т)), то deg ff г. Рассмотрим теперь остальные слагаемые. Пусть, например, /](х) =х(/,)х(/2) •... •х(/г)х(/г+|). Представим функцию f\ в виде f\ = /ю • /и, где /ю(х) = х(/|)х(/2). . Х(Ь) и /ц(х) =х(/2) •... •х(/7+1), deg/10 = deg/и =r, wt(/i0) = wt(fn) = 2т~г. Кроме того, wt(/i) =wt(/f) = 2'n“r”1 и wt(/10o) = wt(/101) = 2m~r, e RM(r, m), fys G RM(r, m). Поскольку ff = /0O • ff{, то функции /0О, /0 и ff удовлетворяют условиям задачи 5.17 и deg ff <r + 1, т.е. G G RM(r + 1, m). Проведя аналогичные рассуждения также для /0, ..., ff, получим из (5.8), что deg/0^r+l, т.е. ffy0 G/?M(r-h 1,/п) и gG GAut(/?M(r+ 1, rri)). Пункт б) доказывается аналогично. □ Теорема 5.23. Для 1 < г m — 2 выполнены равенства'. a) Aut(/?M(r, т)) = 021(^); б) Aut(/?M*(г, т)) = 0£(Vm). Доказательство. Код (см. §4.4) — симплексный код мак- симальной длины п = 2т — 1. Другими словами | f G Ст}. Добавление к коду кодового слова, состоящего из одних еди- ниц, превращает его в RM*(\,m). Код /?ЛГ(1,т) в свою очередь получается из кода /?Л4(1, т) выкалыванием компоненты, соответству- ющей вектору 0. Согласно результату задачи 4.22, имеем Aut(C^) = = Aut(/?M*(1, т)), и согласно результату задачи 5.20, выполнено вклю- чение 0£(Vm) С Aut(/?M*(1, т)). Тогда, воспользовавшись леммой 4.23 и задачей 4.24, получаем Aut(C^) = Aut(/?Af*(l, т)) = 0£(Vm). Пусть 0i = Aut(7?M*(l, rri)), 02 = Aut(/?Af(l, rri)). Ясно, что 0i яв- ляется подгруппой группы 02, фиксирующей компоненту кодового сло- ва, соответствующую вектору 0. Так как группа 02l(Vm) транзитивна, то группа 02 также транзитивна. Поскольку каждый смежный класс в группе 02 по подгруппе 01 переводит вектор 0 во все различные векто- ры пространства Ут, то #02 = 2m-#0i. Следовательно, 02 = Ф21(КП).
210 Глава 5. Коды Рида—Маллера Используя задачу 4.21, получаем Aut(/?A4(m - 2, т)) = Aut(/?A4(1, т)) = = 02t(Vm). Из всего сказанного выше следует, что ®2l(Vm)CAut(/?M(l, m))СAut(/W(2, т))С... ... С Aut(7?M(m - 2, т)) = &£(Vm)CAut(RM*(\, m))CAut(/?M*(2, /п))С... ...С Aut(RM*(m-2, m)) = 0£(Vm). □ § 5.2. Алгоритм декодирования Рида Перейдём теперь к рассмотрению вопросов, связанных с алгоритма- ми декодирования кодов Рида—Маллера. Эти коды представляют со- бой класс линейных кодов над полем из двух элементов F2 с простым описанием и декодированием, осуществляемым простым мажоритарным алгоритмом. Как правило, в любой книге по теории кодирования подчёр- кивается их практическая значимость примерами их использования для связи с космическими искусственными объектами. Мы рассмотрим алгоритм декодирования, специально разработанный для кодов Рида—Маллера. Этот алгоритм интересен ещё и тем, что он по существу является также и способом вычисления минимального рас- стояния этого кода. Он отличается от большинства алгоритмов декоди- рования тем, что позволяет восстанавливать информационные символы прямо из принятого слова и при этом не требует вычисления точного значения самой ошибки. В этом алгоритме не используются также про- межуточные переменные, например, синдром. Представляемый ниже алгоритм декодирования кода RM(ry т) позво- ляет исправлять ^2т~г — 1 ошибок и восстанавливать k = £2 ин- 2 /=0 \ I / формационных символов. Отсюда следует, что минимальное расстояние (см. теорему 5.7) кода RM(r, т) будет не менее 2т~г. Предположим, что у нас имеется декодер (устройство, реализую- щее алгоритм декодирования) кода Рида—Маллера (г — 1)-го порядка, исправляющий - 1 ошибок. Будем строить декодер для кода 1 Рида—Маллера r-го порядка, исправляющий ^2т г — 1 ошибок, сводя этот случай к предыдущему. Код /?Л4(0, ги), состоящий из кодовых слов с0 = 0 и С\ = 1, очевидно, допускает декодирование с исправлением ^2т — 1 ошибок мажоритарным
§5.2. Алгоритм декодирования Рида 211 декодированием (т.е. голосованием). Этот факт будет основанием нашей индукции. Рассмотрим как выполняется шаг индукции. Разобьём информацион- ный вектор и длины k = J2 на г + 1 сегмент и = (uq. U\. ..., ur), /=о v 1 ' где щ. i = 0, ..., г, содержит информационных битов. Кодирование можно представить в виде поблочного умножения вектора на матрицу /С°\ Q C=uG = (Uo, U\. ..., Ur) w где каждому информационному сегменту соответствует один из г + 1 бло- ков порождающей матрицы (см. (5.3)) кода RM(r. т). Если мы сможем восстановить информационные биты сегмента иг. то затем сможем вы- числить их вклад в принятое слово и вычесть его из принятого сло- ва. Тогда исходная задача сведётся к декодированию кода RM(r — 1, т). Процедура декодирования представляет собой последовательность ма- жоритарных декодирований и начинается с нахождения мажоритарным методом информационных символов в сегменте с номером г. Принятое из канала слово запишем в виде /Со\ v = (и0, #1, •••> ur) где e e — канальная ошибка. Алгоритм декодирования сначала по вектору v восстанавливает иг. затем вычисляет разность vr = v ®urGr = (Uq. U{. .... Ur-l) Ф e, \Gr-J которая является искажённым кодовым словом кода RM(r— 1, т). Для удобства проведения дальнейших рассуждений будем индексиро- вать компоненты информационного вектора и кодового слова с и приня- того из канала связи слова v = с ф е следующим образом с = (с(0), .... с(1)), г = (ц(0), .... у(1)), «, = («!"........................................................п, 1,0,..., 0)
212 Глава 5. Коды Рида—Маллера / =0, 1, г, для любого = аЕ Vm. Компонента со- ответствует строке Qgi w матрицы G/, где g‘a(x) = (х(1))<т"’ •• (х(т))<7<'"' (см. (5.3)) и Ф0 = ф ф uf'g^x). (5.9) /=о a&Vm wt (ст)=/ Рассмотрим декодирование информационного бита $.....1,0..°\ который умножается на последнюю строку порождающей матрицы G (см. (5.3)), имеющую вид 1оо)(х), где gr{{..........0)(х) = х(1) •... -х(г). Декодиро- вать этот бит будем, вычисляя 2т~г проверочных сумм по 2Г бит из 2т бит принятого слова v так, что каждый принятый бит входит лишь в одну сум- му. Проверочные суммы строятся таким образом, что символ вносит вклад только в один бит, а все другие информационные символы вносят вклад в чётное число битов в каждой проверочной сумме. Определим для каждого Ь Е Vm~r проверочную сумму xevm^'+n=bin (5.10) При отсутствии ошибок в канале связи выполнено равенство v = с и по- этому согласно (5.9) и (5.10) С"°........® ® ® xevm, x{r+i)=b{i) l=® wt(<r)=/ = ф ф ф ^(x). (5.11) /=о <7evm xevm,x(r+i)=b(i) wt(a)=/ Внутренняя сумма в (5.11) может быть представлена в виде ф g^x) = (bw)°(r+" •... • ® ф( ф (х<1))‘т<" •....(xw)<tW). (5.12) 4<z>eF2, ' Поскольку сумма ф (х(1))а<1) •... • (х(г))аИ равна 1 тогда и толь- x<')€F2, 1^/^г ко тогда, когда сг(1) = ... =сг(г) = 1, то и сумма (5.12) равна 1, если
§5.2. Алгоритм декодирования Рида 213 а = (1, ..., 1, 0, ..., 0)т, и равна 0, если а / (1, ..., 1, 0, ..., 0)т. Сле- довательно, = ..0) для любого beVm-r- Таким образом, при отсутствии ошибок все 2т~г проверочные суммы рав- ны и[[.Но даже если имеется не более ^2т~г — 1 ошибок, большинство проверочных сумм по-прежнему будут равны ^О’-’ЬО—О) Аналогично может быть декодирован любой информационный сим- вол, который умножается на одну из строк матрицы Gr. Это происхо- дит потому, что любая строка матрицы Gr ничем не выделяется среди остальных. Перестановкой столбцов мы можем добиться того, что лю- бая её строка будет выглядеть так же, как последняя строка матрицы Gr. Следовательно, можно использовать те же самые проверочные суммы, соответственно переставив индексы у символов, входящих в эти суммы. После построения 2т~г проверочных сумм, каждый бит декодируется ма- жоритарным методом. Найдя информационный сегмент иг и устранив его влияние из принятого слова, мы переходим к задаче декодирования кода RM(r- 1, m). Аналогичные вычисления повторяются до тех пор, пока не будут най- дены все информационные сегменты. В заключение этого параграфа приведём полезное утверждение о де- лимости весов кода Рида—Маллера. Теорема 5.24 (Мак-Эллис). Вес любого кодового слова кода RM(r, т) делится на Доказательство. Пусть f 0 < deg f = d г и f(x) ~ ...» х™) = ф gf(u)xu = uevm = ф ...» • ... • (х^)^ — её алгебраическая нормальная форма. Пусть Uf = {ueVm\gf{u) = l}. Тогда f(x) = ф хи, причём wt(u)^d для любого ueUf. Рассмотрим ueUf нулевой коэффициент Уолша—Адамара функции /: Wf(0)= ^2 (— xevm
214 Глава 5. Коды Рида—Маллера е хи е хи Поскольку (—= (—, то далее в доказательстве этой теоре- мы будем пользоваться действительными суммами. Имеем Е *и г/(0)= £(-1)“е"' =52 IB1 xevm xevm ueUf Обозначим через А все возможные отображения a: Uf-^> {0, 1}. Тогда 52 а(и) 52 а(и)и «м<»= Е Е П(-2х“)а(“) = Е(-2)"6У/ Е х“еи' xevm а(=А ueUf аел xevm Пусть As, 0 s т — множество тех отображений аеА, для которых целочисленный вектор 52 ^(и)и имеет ровно s ненулевых координат. ueUf Если а € As, то ясно, что Е «(“)“ 52 х“еи/ =2m-s. xevm Поэтому получаем Е «(«) m-s+ 52 а(и) uzz(o)= 52 Е<-о ' 2 веи' • <513) zn-s+ 52 Q(u) Заметим, что каждое слагаемое в сумме (5.13) делится на 2 и6(У/ aeASl O^s^m. Найдём минимальную из указанных степеней двой- ки. Поскольку а(и)и имеет ровно s ненулевых координат для ueUf любого aeAs и wt(u)^d для любого ueUf, легко заметить, что 52 ot(u) > 7 для любого а е As. Очевидно, что иеиг 1 d 1 min (т - s + R-l) = Г—1 . \ I а I/ I r I 0<d^r Поэтому U^/(0) делится на 2Гт/г1 для любого Q; m) и, следова- тельно, wt(Q^) делится на □ Следствие 5.25. Пусть f и deg f г. Тогда Wf(u) делится на 2^т/г^~[ для любого и eVm. В связи с этим утверждением отметим, что максимальная степень двойки, на которую делятся все коэффициенты Уолша—Адамара дан- ной булевой функции, — это интересный, но мало изученный аффинный
§ 5.3. Коды Рида—Маллера первого порядка 215 инвариант булевой функции. Поэтому представляет интерес следующая задача. Задача 5.26 (нерешённая). Разработать эффективный алгоритм вы- числения указанного аффинного инварианта для каких-нибудь практиче- ски важных классов булевых функций и установить его связи с другими криптографическими параметрами. § 5.3. Коды Рида—Маллера первого порядка и связанные с ними коды В настоящем параграфе мы подробно рассмотрим коды Рида—Малле- ра первого порядка— т). Код т) — это [и, k, б/]-кодсо сле- дующими основными параметрами: п = 2m, k = т + 1, d = 2™-1. Его по- рождающая матрица G имеет вид ZQ* \ О = \Qx(i) / Выколотый код т) является [2Ш — 1, т+ 1, 2"1”1 — 1]-цикличе- ским кодом с порождающим полиномом g(A) = (A2/”~1 Ф l)/ma-i (А)(Аф 1), где а — примитивный элемент поля F2™. Спектр весов кода RM( 1, т) равен До = Д2"1 ~ 1, A2m-i == — 2. В различных практических ситуациях возникает задача вычисления ве- совых функций для смежных классов по коду Рида—Маллера первого порядка (т.е. фRM(1, m), f еЛи)- Например, задача вычисления ве- сового спектра смежного класса, содержащего вектор f сво- дится к вычислению преобразования Уолша—Адамара для этого вектора. Справедливо следующее утверждение. Предложение 5.27. Весовой спектр смежного класса по коду RM(\, т), содержащего fy, равен Доказательство. Непосредственно следует из свойств преобразо- вания Уолша—Адамара и выражения для расстояния между функциями f И lu,a. aeF2. □
216 Глава 5. Коды Рида—Маллера Предложение 5.28. Пусть функции f и h являются (*521(1/^)-эк- вивалентными. Тогда весовой спектр смежного класса по коду RM(\, т), содержащего совпадает с весовым спектром смеж- ного класса по коду RM(\, т), содержащего ftg. Доказательство. Из условий предложения следует, что существу- ет подстановка g€02l(l/m), дх = Ахф6, A e&£(Vm), be Vm, такая, что р =/г. Поэтому с учётом свойств коэффициентов Уолша—Адамара по- лучаем, что множества |2,л“1 ± |l^z(u) I и е и |2'л“1 ± | U^(u) I }ч z I ) L Z I совпадают. □ Перейдём теперь к вопросу декодирования кодов RM( 1, т). Декоди- рование по максимуму правдоподобия сводится к сравнению полученного из канала связи вектора Qz с каждым словом кода RM(1, т) и выбору ближайшего из них в качестве результата декодирования. В соответ- ствии с предложением 2.51 это равносильно нахождению наибольшего значения |№/(н)| для ueVm- Предположим, что наибольшее значе- ние равно |lFz(u)| для некоторого и = (w(1), ..., z/m))T е Vm. Тогда если то вектор Qz декодируется в кодовое слово Q/U,o, где т /и,о(х) = (и, х) — ф и^х^\ если же Wf(u)<Q, то вектор Qz декоди- / = 1 /и руется в кодовое слово где 1ид (х) = {и, х) ф 1 = ф и^х® Ф 1. /=1 Таким образом, центральным моментом в декодировании кодов RM( 1, т) является вычисление преобразования Уолша—Адамара. Пусть exp Qz=Qz = ((-l)^o\ (~1)Z(U,), ..., (-l)^-i)). Как видно из определения 1.17, прямое вычисление строки rz = (rz(u0), rz(ui), ..., rz(u2m_1)) = fiz///n (5.14) путём умножения строки Qz на матрицу Адамара типа Сильвестра Нт требует (9(22ап) сложений и вычитаний. Вместе с тем существует быстрый способ вычисления W, основанный на так называемом быстром преоб- разовании Адамара. Этот способ основан на представлении матрицы Нт в виде произведения т (2т х 2Ш)-матриц, каждая из которых содержит только два ненулевых элемента ±1 в каждом столбце. При таком спо- собе вычисления строку W = очевидно, можно вычислить всего за т • 2"* операций сложения и вычитания. При определении матрицы Адамара Нт использовалось кронекерово (тензорное) произведение матриц. Для детального описания указанного
§5.3. Коды Рида—Маллера первого порядка 217 разложения матрицы Адамара нам потребуются ещё некоторые свой- ства кронекерова произведения. Мы сформулируем эти свойства в виде несложных задач для частного случая кронекерова произведения — про- изведения квадратных матриц. Определение 5.29. Пусть А = (а^) — некоторая (/ х /)-матрица над произвольным полем F, В = (bki) — некоторая (s х £)-матрица над тем же полем. Кронекеровым произведением А® В этих матриц называется (ts х ts)-матрица над тем же полем F, получающаяся при замене каждого элемента матрицы А на матрицу а^В и имеющая вид /а\\В а^В ... a\tB\ А®В = Ci2\B а22В ... Cl^tB \at\B at2B ... attB / Кронекерово произведение не коммутативно. Задача 5.30. Доказать следующие свойства кронекерова произведе- ния квадратных матриц над произвольным полем: 1) А® (В® С) = (А® В)® С; 2) (А Ч-В) ® С = (А ® С) Ч-(В ® С); 3) (А ® В)(С® £>) = (АС) ® (ВВ); 4) (А ® В)т = Ат ® Вт. Теорема 5.31 (быстрое преобразование Адамара). Матрица Адамара Нт при произвольном натуральном т е N может быть представлена в виде произведения Нт = М%М®-...-М%\ (5.15) где = lm-j a lt — единичная (2Z х 2*)-матрица. Доказательство. Воспользуемся индукцией по т. Для т = 1 тео- рема очевидна. Предположим, что теорема справедлива для всех т k. Тогда для 1 j k выполнены равенства M^+l =lk+i-i®Hi <8>/у_1 =/| ®!k-i ®Н} ® //-1 =Л ®м%\ (5.16) а для j = k + 1 = (5.17) Учитывая теперь соотношения (5.15—5.17), предположение индукции
218 Глава 5. Коды Рида—Маллера и свойство 3 из задачи 5.30, получим М(1) М(2) . >M(k) Mk+\Mk+l ••• lvlk+\lvlk+\ — = (/1 ® <’)(/! ® M2)) •... • (Л ® ® Ik) = = H,® (M^M*2’ ... • M^’) = Я, ® Hk = Hk+i. Следовательно, представление (5.15) справедливо и при &4- 1, а значит, и при произвольном т. □ Пример 5.32. Пусть т = 2. Тогда М(21) = 1\®НХ, М® = Н\®Цн Н2 = НХ ®H\=M^}Mf = /1 1 0 0\ _ 1-10 0 “0011 \0 0 1 -1/ /10 1 0\ 0 10 1 10-1 0 \0 1 0—1/ /1 1 1 Л 1-1 1-1 1 1-1-1 \1 -1 -1 1/ Следствие 5.33. Матрица Мт, 1 < j <т, в представлении (5.15) имеет в каждом столбце (и в каждой строке) ровно два ненулевых элемента, принадлежащих множеству {-hl, —1}. Доказательство. Непосредственно вытекает из выражения для матрицы Мт и свойств кронекерова произведения. □ Следствие 5.34. Строку W = ClfHm можно вычислить с помощью пг2т операций сложения и вычитания. Доказательство. Последовательно проводим умножение на матри- цы Мт, j = 1, ..., т, и затрачиваем для умножения на каждую мат- рицу Мт ровно 2т операций сложения и вычитания; всего получаем 2т + ... 4- 2^ = т2т операций сложения и вычитания, необходимых для т вычисления вектора W. □ На основании теоремы 5.31 построена схема так называемого кор- реляционного декодирования кода RM(1, т), предложенная Р. Грином. Схема Грина с учётом получения вектора W и нахождения максималь- ного значения модуля его компонент требует для декодирования О(т2т) операций и обладает тем полезным свойством, что схема декодирования кода 7?Л4(1, m-h 1) получается из схемы декодирования кода /?Л4(1, т) добавлением ещё одного (т 4-1)-го этапа декодирования и небольшим изменением m-го этапа декодирования.
§ 5.3. Коды Рида—Маллера первого порядка 219 Существуют и другие факторизации матрицы Адамара, отличные от данных в теореме 5.31. При этом матрицы-сомножители могут иметь совершенно другой вид. Дальнейшее ускорение процесса корреляционно- го декодирования возможно на пути использования подкодов (линейных и нелинейных) кода RM( 1, т). Пусть для передачи информации по двоичному симметричному кана- лу используются кодовые слова из множества £г,т = {^1а,ь €/?Л4(1, т) | ^,oW = (а, х), а е Vm, wt(a) = г}, образующие нелинейный подкод ко- да /?Л4(1, т), £г,т С/?Л4(1, т). Обозначим через gi элемент группы действующий на Vm следующим образом: gi(х) = дДх(1), ..., х(гп)) = (х(1) ф 1, ..., х(т) ф 1) для любого х е Vm- Будем обозначать gi(x) — х. На выходе двоичного симметричного ка- нала мы получим искажённое кодовое слово П/ для некоторой булевой функции f Далее нам требуется осуществить преобразование Ада- мара искажённого кодового слова и получить строку W = • Нт. Как мы делали это неоднократно ранее, считаем, что компоненты векторов Q^, W и элементы матрицы Нт проиндексированы векторами пространства Vm, расположенными в лексикографическом порядке: W = (ау„0, wu„ Wi = W[(Ui), i = 0, ...» 2m - 1, = z=0, .... 2m — 1; / = 0, 2m - 1. Сложность декодирования кода измеренную в операциях сложения и вычитания двух чисел и выбора максимального из двух чисел, будем обозначать Е(г, т). Компонента wv строки W имеет вид Wi>— (5.18) Декодирование состоит в вычислении компонент строки W и в выборе среди компонент с индексом веса г компоненты с максимальным ве- сом. Рассмотрим сначала сложность рекурсивного алгоритма вычисле- ния компонентов строки W, обозначенную ниже В(г, т). Если г = 0 или г = т, то величины wq и w\ вычисляются согласно (5.18) путём непо- средственного суммирования: __ ___ m ^o=E<-1)Z(u), E(-1)/(U>(-1)® • (5.19) uevm uevm
220 Глава 5. Коды Рида—Маллера Для вычисления одной суммы вида (5.19) требуется 2Ш - 1 операций сло- жения и вычитания двух чисел. Пусть теперь 0 < г < т. Предлагаемый ниже рекурсивный алгоритм основан на следующем соотношении, спра- ведливом для элемента =(_1)Г(_1)(и,г) (5.20) при V € Vm, wt(v) = Г. Пространство векторов Vm относительно действия подстановки gi разбивается на классы эквивалентности {и, и}. Установим взаимно однозначное соответствие между классами эквивалентности {и, и} и век- торами u* = (и(1), н(/72-1))т € Vm-\ следующим образом и* <—> {и, й}, где и = (и*, O)T = (rz(1), ..., 0)т. Далее в описании рекурсивного алгоритма, если не оговорено противное, будем предполагать, что векторы и* и и связаны этим соотношением. Разобьём сумму (5.18) на две суммы wv = 52 = = 52 (-l)/(u)(-l)<v’“>+ 52 (-l)/(2)(-l)<v,u>- (5.21) Подставив в (5.21) соотношение (5.20) с учётом того, что wt(v) =г, по- лучим WV= 52 (-1)<V’“>[(-1)«U) + (-1)№)- (-1)4 (5.22) Введём следующие обозначения: ^. =(-!)/<“’+ (-1)/(5)-(-1Г, = wv = 1), = wv (t/m) = 0), (5.23) где v* = (iH1), .y(m-i))T ддЯ векТ0ра v — и^)т. В силу построения для векторов и в соотношении (5.22) справедливо = 0 и, следовательно, выполняется равенство (- 1)<^> = (-!)<“*(5.24) Обратим внимание, что вес редуцированного вектора v* не изменяется в случае и<т) = 0, т.е. wt(v*) = r, и уменьшается на единицу в случае v(m) _ j т е wf(v*) =г — 1. Соотношения (5.22) и (5.24) позволяют про- вести редукцию к вычислительной задаче меньшей размерности. После
§5.3. Коды Рида—Маллера первого порядка 221 подстановки равенства (5.24) в (5.22), с учётом введённых обозначе- ний (5.23) и в зависимости от того, =Q или = 1, получаем -q°u., u(m)=0; (5.25) U*£Vm-l Очевидно, что суммы (5.25) имеют вид (5.18). Учитывая, что wt(v) = r, получаем wt(v*) = г для w®* = 0) и wt(v*) = г — 1 для (i№ = 1). Таким образом, вычисление wv для всех ve Vm, определяемых условием wt(v) = г, сводится к вычислению в соответствии с (5.23) (сложность алгоритма вычисления — 2/л~1 операций сложения и вычитания чисел) и вычислению величин вида (5.18) w®. для v* е Vm-i, wt(v*) = г и для и* е Цп-1, wt(v*) = г — 1. Другими словами, надо провести решение исходной задачи размерности на единицу меньшей. Таким образом, да- лее предлагаемый алгоритм применяется рекурсивно для вычисления w®* и для вектора v* е Vm_\. В соответствии со всем сказанным выше для сложности вычисления {wv | v е Vm, wt(v) = г} получаем следующее рекуррентное соотношение: Б(г, m)-2m"1 + Б(г, т — 1) + Б(г- 1, т- 1). (5.26) Справедливо следующее утверждение. Лемма 5.35. Выполнено неравенство В(г, т) < (г+ 1)2™. Доказательство. Нетрудно показать, что Z3(r, m) = 5(т —г, т). Это позволяет ограничиться рассмотрением случая г < fгг/2~). Воспользу- емся математической индукцией по т. Пусть т = 1, тогда Б(0, 1) = 1 <2 и В(1, 1) = 1 <2. Предположим, что лемма верна для т — 1 и для всех г, 0 г т — 1. Покажем справедливость леммы для т и для всех г, 0 < г < т. Если г = 0 или г = т, то лемма, очевидно, выполнена. Пусть 0 < г < т. Воспользуемся рекуррентной формулой (5.26) и предположе- нием индукции Б(г, т) = 2т“‘ +В(г, т — 1) + Б(г- 1, т- 1)< <2m-|+(r+l)2",-|+r2'"-1=(r+l)2,n. □ Лемма 5.36. Справедливо равенство г—1 0(r,m) = (r+l)2m-2 (7)(г-/)-(^). 1=0
222 Глава 5. Коды Рида—Маллера Доказательство. Воспользуемся известным соотношением для лл ( пг\ (т—\\ . /т — 1 \ биномиальных коэффициентов 11 = 1 1 + ( 1/ ЛПЯ * г и (т — t) 0. Получаем B(r, m) = t2m~l +]Г [т)в(г-1, m — t). /=0 Теперь достаточно воспользоваться методом математической ин- дукции. □ Следствие 5.37. Справедливо равенство г-1 5(г,/п) = (г+1)2'л-2£ (7)(r-i). 1=0 Доказательство. Следствие непосредственно вытекает из соотно- шения £(г, т) = В(г,т) + (™). □ Рассмотрим теперь ещё один важный параметр кода т) — его радиус покрытия Для краткости в данном параграфе будем обо- значать его г%м(\,т) = гт- Известны значения гт для малых значений па- раметра т\ го = г\ = 0, Г2 = 1, гз = 2, ц = 6, = 12, = 28. Точное выра- жение, задающее зависимость радиуса покрытия гт кода RM( 1, т) от т, неизвестно. Однако известен класс значений параметра т, для которых такое выражение имеется. В общем же случае для гт существуют толь- ко верхние и нижние оценки. Говоря о радиусе покрытия кода т) как о важной криптографической характеристике, мы отсылаем читателя к главе 6, где будет раскрыта эта особенность. Лемма 5.38. Справедливо равенство г г' суп—^ 9(/п—2)/2 • т Доказательство. Согласно определению 4.7, ясно, что rm = max dist( /, Л,„). (5.27) Поскольку dist(/, Ат) = 2т~*-1 max|W7(u)| 2 uevm' и согласно равенству Парсеваля выполнено неравенство max|UMu)|> ^2m/2 то uEVm dist(/, Ат) 2т-‘ - 2(т~2^2
§5.3. Коды Рида—Маллера первого порядка 223 для любой функции f Тогда согласно (5.27) гт <2т-1 -2(т~2)/2. □ Следствие 5.39. При чётном т 6 N, т > 2 выполнено равенство г _ 2Ш—1 — 2^т~2)/2 Доказательство. Пусть т = 2/, t = 2, 3,... Рассмотрим следующую функцию из Ли- Дх(1), ..., x(zn)) = х(1)х(2) фх(3)х(4) ф... Легко доказать, что |U^(u)l = 2т^2 для любого и е Vrn- Другими словами, dist(/, Ат) = 2т~} —2^т~^'2. Таким образом, оценка леммы 5.38 дости- гается на функции Д что и доказывает следствие. □ Лемма 5.40. При т^2 выполнено неравенство rm 2rm-2 + 2Ш-2. Доказательство. Пусть f eFm — произвольная булева функция от т переменных. Представим её в виде /(x(1),...,x('n“2),x(/n"1),x(zn)) = = ф (х(т-1)ф^-,)ф1)(х(т)ф^)ф1)/ии-1)ии)(х^ где е Fm-2, -1), и^ е F2. Будем обозначать (х, х(т)) е € Vm, и = (и, е Vm, х е Vm-2, и е VOT-2. Тогда Wf(u)= Wf(u, и(т~'\им)= (-!)«*)©<“*> = ^2 (-1)Л = XEVm xeVm-2 Х(/П-1)>Х(/И)6р2 [где А = ф (х'"1-1’ ф и(т-'> ф 1)(х<т) ф и<т) ф 1)/ии-о„<га> Ф *€F2 ®{й, х) фы(ш-|)х(т-|) ф«(я)х(т’] = (_])/оо(*)Ф<нл) (—l)u(m) У2 (—+ X(zVm-2 XE.Vm-2 4-(_(— 1)/‘°<ж)ф<“^> + (— 1)"<'""|)Ф«('”) _ xeVm_2 XE.Vm-2 = Г/сю(2) + (-l)u,ffl) Г/о, (2) + (-l)B,,”_,VZ10(2) + Г/н (й) Поскольку dist(g, /„j) = dist(g ф 1, 1й,о) для любой функции ge^m~2, то существует такая функция gmax и линейная функция /„о такая, что dist(gfmax, /й,о) = Гт-2 И distfgmax, /й,й) Гт-2 ДЛЯ ЛЮбЫХ 2 G Vm_2,
224 Глава 5. Коды Рида—Маллера b е F2. Пусть наша исходная функция f такова, что /оо = /01 = /ю = gmax, /11 =gmax® 1- Тогда dist(/max, Ы = 2т-' - = = 2'”-! - [^т„(2) + (-1(«)+ +(-1 Fgmax («) + (-! )“,'п-п®«(т| ^тахф1 ( = 2т-3 - Ц^гйт8х(«)1 + кт-3 - 2 ^(«) + + 2т-3 ---^™(й) + 2 3 '’фи*"0 — dist(gmax, lu,b) "Ь dist(gniax» ^2,/>фи<т>) Н" + dist(gmax, 4" dist(gmax © 1, /й^фи^фи^-ч) — = dist(gmax> luj)) 4“ dist(gmax, ^й,/?фи(т0 4“ 4- dist(gmax> 4u>®u<m“I>) 4" 2 — dist(gmax, ^и^фи^фи^-*)))• Для наборов u^) вида (0, 0), (0, 1), (1, 0) выполнено равенство dist(gmax, lUfb) = 2т~2 + 2 dist(gmax, lutb)> и для набора и^) вида (1,1) выполнено равенство dist(g’niax> = 2 +2 dist(g‘max» 4/,6ф1)- Поскольку dist(gmax, 1и,ь) гт-2 Для любых й G Vm-2, b G F2, то послед- ние соотношения дают нам Гт > diSt(gmax, lu,b) 2^ 2 + 2fm_2. Задача 5.41. Доказать, что при нечётном т^З справедливо нера- венство гт 2т~1 — Задача 5.42 (нерешённая). Найти точное значение гт (или хотя бы асимптотику) при нечётных т 3.
§5.4. Коды Рида—Маллера второго порядка 225 § 5.4. Коды Рида—Маллера второго порядка и связанные с ними коды Пусть deg / 2 и е /?М(2, т). Как отмечалось в §3.3, квадратич- ная функция f может быть представлена в матричном виде следующим образом Дх) = Дх(1), ..., x(m)) = хт Qfx ф bjx ф е, (5.28) где Qf — верхнетреугольная (т х ги)-матрица с нулевой главной диаго- налью, bf е Vm, е eF2. Поскольку Q; фRM( 1, т) = QxtQ/X ф/?М(1, т), (5.29) то между симплектическими матрицами Qf = Qf®Qj и смежными классами кода /?Л4(2, т) по коду /?Л4(1, т) существует взаимно од- нозначное соответствие. Следовательно, вычисление весового спектра кода /?М(2, т) естественным образом сводится к вычислению весовых спектров смежных классов кода /?Л4(2, т) по коду /?Л4(1, т\ Исполь- зуя теперь теорему Диксона (см. главу 3), легко доказать следующее утверждение. Лемма 5.43. Пусть f — квадратичная функция вида (5.29), rank Qf=2s, 0^s 1т/2]. Тогда весовой спектр смежного класса £lf®RM(\,m) совпадает с весовым спектром смежного класса Q s ®RM(1, т). ф Задача 5.44. Доказать, что S Следствие 5.45. Если рассматривать функцию ф х^-^х^ Фе 1=1 в пространстве функций ?т, где m^2s, т.е. как функцию от т переменных, то х(2/-1)х(2/) фе) = 2'72”1 4- (-1)5 * * * * * * * * * * * *2'”“5-1. Задача 5.46. Пусть /(х(1\ ..., х(ш)) = ф х(21-1)х(2/)ф ф Ь^х^, /=1 /=2s+l где s [пг/2], (b^2s+l\ ..., b^) /0, eeF2. Доказать, что wt(/) = 2'”-1. Теорема 5.47. Пусть f — квадратичная функция вида (5.29), rank Qf—2s, 1т/2]. Тогда весовой спектр смежного класса Slf ®RM({, т) имеет вид д' —Д' — O2s Д' _ 9m+1 _o2s+l _2m~s~l —^*2т~ ’ /*2/п—1 —
226 Глава 5. Коды Рида—Маллера Доказательство. При s = 0 имеем Лд = Л^ = 1, Л^-i =2m+1 — 2, что совпадает со спектром кода Рида—Маллера первого порядка т). Пусть теперь s > 0. Согласно утверждению леммы 5.43 ве- совой спектр смежного класса П/ф/?Л4(1,т) совпадает с весовым спектром смежного класса ф/?М(1, т). Дальнейшие рас- суждения будем вести именно для этого смежного класса. Для строки Q 5 (2;)ф6тхфс, i=l € Vm, из этого смежного класса рассмотрим следующие случаи. Пусть ^(2s+l) _^(2s+2) _ _ Q Таких строк (уЧИТЫВЗЯ Значение Е EF2) s 2s имеется ровно 22s+1. Для функции ф x^2l~^x^ ф ф Ь^х^ ф е согласно /=1 t=\ теореме 3.34 существует невырожденное аффинное преобразование пе- S ременных, переводящее её в функцию ф х(2|“0х(20 Фе'. Воспользовав- /=1 шись теперь следствием 5.45, получаем в исходном смежном классе 22s строк веса 2/п~1 4- 2m~s~l и 22s строк веса 2m-1—2m-s-1. В случае, когда (fe(2s+I), ..., fe(m))=4 0, согласно теореме 3.34 существует невырож- денное аффинное преобразование переменных, переводящее функцию ф х(2(-1)х(2,) ф6тхфЕ в функцию ф х(2/-1)х(24) ф ф Ь^х^ Фе'. /=1 Z=1 /=2s+l Строк, соответствующих таким функциям, в исходном смежном классе будет ровно 2ш+1 — 22s+1. Согласно задаче 5.46 вес этих строк будет равен 2'72-1. □ Теорема 5.48. Весовой спектр кода RM(2, т) имеет вид Ло = — Л 2т = К Л _ д _ os(s+1) (2т-1)(2'"-|-1)---(2'”-2^|-1) '*2'" 1 _2т s 1 ^2т i+2'”-s~1 & (22s _ 1)(22s“2 — 1) • • (22 — 1) для всех 1 О [т/2]. Остальные Ai равны нулю, за исключени- ем Л2«-1, который может быть найден с помощью соотношения 2т Д. — 2т2/2-^-гп/2+\ i=Q Доказательство. Справедливость теоремы вытекает из теоре- мы 5.47 с учётом числа Г(ги, 2s), s 1, симплектических (т х т)-матриц ранга 2s, полученного в теореме 3.32. □ Для симплектической (т х ли)-матрицы В введём обозначение кег В = {у € Vm | хтBy = 0 для любого х € Vm}. (5.30)
§5.4. Коды Рида—Маллера второго порядка 227 Это множество будем называть ядром матрицы В (и ядром соответ- ствующей билинейной формы). Очевидно, что ker В является подпро- странством в пространстве Vm. Из линейной алгебры известно следующее утверждение. Теорема 5.49. Пусть В — симплектическая (т х т)~матрица над F2, rank В = 2s, О О [т/2]. Тогда dim(ker В) = т - rank В. Кратко рассмотрим теперь два класса нелинейных кодов, связанных с кодами RM(2, т) (см. [108, 143, 291]). Для удобства в данном случае будем представлять булеву функ- цию f как отображение f: Представим Vm в виде разбиения ym=l/w_|xF2, т.е. для любого xeVm имеем х=(д/, е), х'€F2/n-i, е е F2. Для произвольных х = (л/, е), у = (у', rf) е Vm = F2«-i х F2 и и е е F2m-i определим отображение Фи(х, у) е (F2«-i х F2) х (F2m-i х F2) в F2 Ф„(х, у) = Ф«((х/, е), (у'. Г))) = = Тгт_1 (и2х'у') ф Trm_, (их') Тгт_ 1 (иу') ф Фе Тгт_1(и</')фг7 Тгт_|(их'). (5.31) Задача 5.50. Доказать, что отображение Фи, определяемое соотно- шением (5.31), является симплектической формой. Задача 5.51. Доказать, что при и е F2m-i, и / 0 для отображения Фо, определяемого соотношением (5.31), справедливо равенство dim(ker Фм) = 0. Задача 5.52. Пусть щ, ^2 € F2«-i , и\ / «2- Доказать, что dim(ker^U1 ф ФП2)) = 0. Определение 5.53. Пусть т — чётное, т 4. Кодом Кердока Кт называется объединение 2'””1 смежных классов /?Л4(2, т) по /?Л4(1, т), чьи ассоциированные симплектические формы задаются соотношения- ми (5.31). Таким образом, длина кода Кердока пкт=2'”, его мощность — #Кт=22гп. Задача 5.54. Доказать, что минимальное расстояние г^т кода Кер- Дока Кт равно 2т~{ - 2<т~2^2.
228 Глава 5. Коды Рида—Маллера Задача 5.55. Доказать, что спектр весов кода Кердока Кт имеет вид: i л,- 0 2Ш~1 _ 2^'п— 2т-1 2m-i + 2(т-2)/2 2т 1 2m(2m~‘ _ j) 2m+l _2 2m(2m-l _ j) 1 Кроме того, легко видеть, что RM(1, т) С Кт С /?Л4(2, т). Пусть элементы поля F2m-i упорядочены некоторым образом (см., на- пример, § 5.1) и М с F2«-i, L С F2/n-i. Будем рассматривать строки (П/м, П/Д (5.32) где /д], Il - функции-индикаторы множеств М и L соответственно. Определение 5.56. Пусть т — чётное, т 4. Кодом Препараты Рт называется множество строк вида (5.32) длины 2т, для которых пары множеств Л4 и L удовлетворяют условиям: 1) #M = #L = 0 (mod 2); 2) ф х= ф у\ хем yeL / х3 3) ф х3 Ф ф у3 = ( ф х) . х€М y£L ' При т — \ имеем Р\—К\. Код Препараты представляет собой (см. [143]) объединение некоторого линейного подкода С кода RM(m — 2, т) и 2т - 1 смежных классов кода RM(m — 2, т) по С. При этом RM(m -3, m) cPm С RM(m — 2, m), длина прт = 2т и мощность #Рт = 22т~2т. Спектр весов кода Препараты Рт равен преобразованию Мак-Вильямс от спектра весов кода Кердока Кт (см. [143]). § 5.5. Классификация булевых функций и коды Рида—Маллера третьего порядка Настоящий параграф теснейшим образом связан с § 3.4. Полученная сравнительно давно полная классификация квадратичных булевых функ- ций (и не только булевых) относительно группы преобразований Ф21(Кл) (или относительно группы преобразований 0£(Кп)), а также найденное на её основе описание весовых спектров кодов Рида—Маллера второ- го порядка разительным образом отличаются от состояния исследований
§5.5. Классификация и коды Рида—Маллера 3-го порядка 229 и результатов для булевых функций степени большей, чем 2. Многолет- ние упорные исследования групповой эквивалентности булевых функций степени 3 привели лишь к результатам, имеющим достаточно частный ха- рактер. Аналогично в теории кодирования исследование весовых спектров кодов Рида—Маллера третьего порядка далеки от своего завершения. Всё это показывает принципиальное отличие сложности указанных выше за- дач для булевых функций степеней 2 и 3. Задача 5.57 (нерешённая). Найти весовой спектр кода /?Л4(г, т) при л > 3. В §3.4 приведены некоторые результаты классификации отдельных множеств булевых функций степеней, больших 2. В данном параграфе мы приведём результаты, которые с теоретико-кодовой точки зрения пока- зывают сложность задач групповой эквивалентности и нахождения спек- тров весов для кубических булевых функций. А именно —основываясь на этих результатах, можно сделать достаточно обоснованное предпо- ложение о том, что, решив указанные задачи для кубических булевых функций, мы решим их и для функций всех больших степеней. Лемма 5.58. Пусть Д, g еFm, a f е^т определена следующим равенством f(x) = (х) f2(x) ф g(x) (5.33) для любого хе Vm. Тогда выполнено соотношение (5.34) xevm x^vm a,b&2 Доказательство. Легко видеть справедливость следующего равен- ства 1 (5.35) Х$Ут XGVm a,bc^2 поскольку произведение а • b принимает три раза значение 0 и один раз значение 1. Кроме того, (5.36) = (-1)<афМ*)Н*Ф Л(х)) o,6GF2 при любом фиксированном xeVm. Воспользовавшись соотношения- ми (5.35) и (5.36), получаем для функции (5.33) £2 (- 1)/<х)=- 52 52 (- 1)<а®/2<ж)) (*ФЛ = reV'n xeVm a,bev2 _£ ^2 (_ра*фа/|(*)ф&/2(х)Фй(х) q хеУщ
230 Глава 5. Коды Рида—Маллера Следствие 5.59. Для функций f, Д, f2, связанных соот- ношением (5.33), выполняется равенство wt(/) = wt(/^) - 2m-1, Z1'1 (X, yll), y(2)) = ywy(2} Ф yw fl (x) ф z/(2) f2(x) ф g(x). Доказательство. Воспользуемся соотношением, справедливым для любой булевой функции из Ут'. Тогда согласно утверждению леммы 5.58 получаем wt(/) = 2m-‘-lQ £ ^(-1)/"WA = X<zVm = 2m-‘ - |(2m+2 - 2 wt(f[l1)) = wt(/ul) - 2m-‘. □ Замечание 5.60. Ясно, что deg /111 = max(2, deg /i 4-1, deg f2 4- 1, deg g). Лемма 5.61. Для любой существует неотрицательное целое число t и функция е ?m+2t такая, что deg ^3 и вы- полнены соотношения £(-п/(х)=у 52 x£.Vm x(zVm yEVzt wt(/) = 2m-‘ - 2m+/-‘ + ± wt(/lz>). Доказательство. Пусть Если deg/^З, то берём /=0 и /1°1 = /. Пусть теперь deg f > 3. Рассмотрим алгебраическую нормаль- ную форму функции /, т. е. t /(х(1),...,х(-)) = ф А, /=1 где fi — мономы и deg Д deg f. Каждый моном fi может быть за- писан как произведение двух мономов Ад и А,2, deg /,д ^е|—~| И deg А-,2 , т. е. / = /1,1 • /1,2 ® • • • ® ft,\ • ft,2-
§5.5. Классификация и коды Рида—Маллера 3-го порядка 231 Используя лемму 5.58 для функций f и g = /2,1 • /2,2 Ф ••• © ft,i • ft,2, по- лучаем xevm xevm цоллилет, где /|l|(x,z/(1J),z/(‘>2))=i/(l’1)i/(l'2) ф//(и) Л,1(х)фг/(|’2) Л,2(х)фф A,i(x)/z,2(x). /=2 Применяя лемму 5.58 к функциям из ^т+2 и / § = г/<1’1>г/<|'2)Фу(1’|)/|1(х)ф1/(|’2>/|,2(х)фф A,i(x)/,-.2(x), ;=з получаем у 52 (-l)z"l(^'10’tf"’2,) = xeVn «0.0 i/McF, , у ,у t 2 _ I у у у V 2 xev„ у<2.1».^2.2)еР2 где /И (х. у™, у™, у^) = У{1Л)У{'’2}®У{1Л}К1(х)фу^Мх)® & у(2,1) у(2,2) @y^f2{(x) ® у(2’2) f23(x) фф 1=3 Используя далее лемму 5.58 ещё t — 2 раза, мы получаем функ- цию /1'1 еТтп+г/, для которой deg /1<! < 1 + и 52(-,)/w=^ Е ХЕУщ f/€V2/ Будем продолжать этот процесс до тех пор, пока не достигнем deg = = ф т-е- deg f^=3. Следовательно, существует такое /, что для выполняется соотношение wt(/)=2m-'-^Ty 52(-l)^,<^=2m-l-2"l+'-, + lwt(/>')). □ xevmyev2t Лемма 5.61 показывает, что характеризовать весовую структуру кода RM (3, т) не менее сложно, чем весовую структуру кодов Рида—Маллера более высоких порядков.
232 Глава 5. Коды Рида—Маллера Следствие 5.62. Для любого k е Z существует пара натураль- ных чисел (t, s) и функция h е deg h 3 (т.е. Q>h 6 /Ш(3, s)), та- кие, что k — у (2s - 2 wt(/z)). Доказательство. Пусть т — такое целое число, что -2"1-1^/?^ ^2"1~1. Поскольку 0 2Ш-1 —/г < 2Ш, то существует булева функция f eFm, wt(/)—2m-1 - k, т. e. k= Воспользовавшись лем- xevm мой 5.61 и положив s = т + 2(/ — 1) и h = завершаем доказатель- ство. □ Следствие 5.62 показывает качественное отличие между кодами RM(2, т) и RM(3, т), так как для кода /?Л4(2, т) разность 2т — 2 wt(/z), h е RM(2, т), принимает значения лишь ±21 или 0. Комментарии к главе 5 Коды Рида—Маллера [123, 291, 322, 360], интерпретированные с по- мощью булевых функций (так называемое полиномиальное представле- ние; возможны и другие описания — евклидово геометрическое, проек- тивно-геометрическое и т. п.) образуют класс линейных кодов над F2 с простым описанием и декодированием, осуществляемым мажоритарными алгоритмами. Большинство параметров и свойств этих кодов хорошо изу- чены. Функциональная интерпретация позволила кодам Рида—Маллера занять видное место в исследованиях по криптологии, а ряд параметров этих кодов стали криптографическими параметрами (см. главы 5 и 6). Существует обобщение кодов Рида—Маллера на произвольное ко- нечное поле, которое также входит в класс полиномиальных кодов. Эти результаты можно найти в работах, представленных в комментариях к главе 4. Нам хотелось бы добавить также методологически хорошо на- писанную работу [186]. Информацию о циклических кодах (примитивных и непримитивных), построенных на основе кодов Рида—Маллера, можно найти в [254, 415]. Как показывают результаты, представленные в главах 3 и 5, имеются глубинные сущностные взаимосвязанные трудности классификационных задач для булевых функций и задач описания спектров кодов Рида— Маллера. Нам представляется полезным в этом комментарии напомнить читателю некоторые работы, связанные с последней задачей, — [255, 259, 396, 410].
Глава 6. Нелинейность Понятие нелинейности и его численное значение для булевой функ- ции, введённые в §2.2, являются одним из базовых криптографических понятий. В данной главе оно будет рассмотрено на примерах известных классов булевых функций, обладающих экстремальными (или близкими к экстремальным) значениями параметра нелинейности. Будут рассмот- рены также некоторые обобщения понятия нелинейности. §6.1. Нелинейность как мера криптографического качества Как известно из практики математических исследований, линейность (в математическом смысле) изучаемого объекта позволяет получить в большинстве случаев достаточно полное описание его свойств, пара- метров или поведения. Линейность с успехом используется в алгебре, теории систем, математической кибернетике и других разделах матема- тики. Более того, близость (в некотором смысле) изучаемых объектов и процессов к линейным также позволяет изучать их параметры и свой- ства. С точки же зрения построения надёжных криптографических систем важна как раз нелинейность, а существование у некоторой криптогра- фической функции свойств, близких к линейным, безусловно считается слабостью. Наличие таких свойств противоречит фундаментальным принципам (см. §2.5) построения криптографических функций. Практи- ческий опыт проведения анализа различных криптографических систем позволил выделить целый ряд свойств и параметров криптографиче- ских функций, в которых нашло своё конкретное воплощение общее понятие — нелинейность. Один из этих параметров так и был назван — нелинейность (Nf) булевой функции, численно выражающий расстояние (в метрике Хэмминга) от данной функции до множества аффинных функ- ций (определение 2.50). Напомним его выражение через коэффициенты Уолша—Адамара данной функции: ty = dist(f, А)=2"-'-| max |ГДа)|. (6.1)
234 Глава 6. Нелинейность Коэффициенты Уолша—Адамара произвольной булевой функции f удовлетворяют равенству Парсеваля: £ Г2(а) = 22п. Поскольку число коэффициентов Уолша—Адамара булевой функции из ?п равно 2Л, то для максимального по модулю коэффициента Уолша— Адамара справедливо следующее неравенство max |Г/(а)|^2”/2. (6.2) Поэтому для нелинейности Nf произвольной булевой функции f спра- ведлива верхняя оценка Nf^2n~i -2п/2~'. (6.3) В случае булева отображения Ф = (Д,..., fm) Е Fn,m нелинейность ха- рактеризуется параметром МФ = (6.4) где N{C^} — нелинейность булевой функции (с, Ф) = сД ф ... ф С точки зрения теории кодирования множество аффинных функций Ап представляет собой код Рида—Маллера первого порядка /?М(1, п), а верхняя граница для Nf в неравенстве (6.3) является верхней границей для радиуса покрытия кода /?М(1, п). В случае чётного п она в точ- ности совпадает с радиусом покрытия кода RM(\, п). При нечётном п точное значение радиуса покрытия кода /?Л1(1, п) известно лишь для некоторых значений п (см. §5.3), а в остальных случаях имеются только его нижние и верхние оценки. Эти соотношения определяют область, в которой лежит максимально возможное значение нелинейности для функций от нечётного числа переменных. Выбор аффинных функций в качестве «плохих» с криптографической точки зрения вполне понятен. Однако возможен выбор и других классов функций в качестве «плохих». В этом случае нелинейность будет иметь в определённом смысле обобщённый характер. В частности, естествен- ным обобщением будет использование в этом качестве класса функций, содержащего в себе класс Ап. Таким примером может служить класс булевых функций вида {Тг(ах^) фе, а е Vn, (d, 2п — 1) = 1, е = 0, 1}, со- держащий Ап. Разнообразные применения максимально-нелинейных функций, их обобщений и модификаций в теории кодирования и криптологии содержат
§6.2. Максимально-нелинейные (бент-)функции 235 ряд постановок задач, связанных с частично определёнными булевыми функциями. В связи с этим возникает необходимость исследования во- просов аппроксимации (приближения) для частично определённых функ- ций и перенесения на этот случай понятий, связанных с нелинейностью. §6.2. Максимально-нелинейные (бент-) функции и их свойства Определение 6.1. Функция называется максимально-нели- нейной (м.-н.) функцией, если её нелинейность Nf достигает максималь- но возможного для функций из Fn значения. Поскольку в силу предложения 2.51 Nf = 2n-' -£ max I (a) I, ' 2 q€i/„i /v 1 то функция f eFn является максимально-нелинейной тогда и только тогда, когда max I Wf (а) 1= min max|lFu?(a)|. aevj м 71 реъ <xevnl * 71 Приведённое определение описывает класс функций, максимально удалённых от множества Ап. Отметим (см. §5.3, §6.1), что для неко- торых значений п это удаление известно, а для других значений п — нет. Вообще говоря, функции, наиболее удалённые от заданного клас- са 7£, называют глубокими дырами для множества 11. Такое название связано со следующей геометрической интерпретацией. В метрическом пространстве Fn поместим в точки множества центры равномерно «раздувающихся» шаров. Глубокими дырами множества 1Z будут те точки метрического пространства 5^, которые будут покрыты этими «раздувающимися» шарами самыми последними. Таким образом, мак- симально-нелинейные функции являются глубокими дырами для класса аффинных функций. Определение 6.2. Функция f eFn называется бент-функцией («bent» function), если все её коэффициенты Уолша—Адамара равны ±2Л/2. Множество всех бент-функций от п переменных будем обозна- чать Вп. Поскольку коэффициенты Уолша—Адамара являются целыми рациональными числами, то при нечётном п бент-функций не существует. Из равенства Парсеваля легко получить следующее утверждение. Предложение 6.3. При чётном п множество максимально-нели- нейных функций совпадает с множеством бент-функций. Пример 6.4. Булева функция /(х(1\ х(2)^ = х(1)х(2) является мак- симально-нелинейной (бент-)функцией. Действительно, коэффициенты
236 Глава 6. Нелинейность Уолша—Адамара для этой функции равны: ГДО, 0) = (-1)/(0’0) + (- 1)/(0Д) + (- 1)Л1’0) + (- 1)Л1Д) = 1 +1 +1 - 1 =2; ГДО, 1) = (-1)/<О’0,-(-1)Л0Д) + (-1)Л1’0,-(-1)/(1д’ = 1-14-1 + 1=2; U7/(l,0) = (- 1)жо> + (- 1)/<0Д) - (-1)/(|’0) - (- 1)/(1Д) = 1 + 1 - 1 + 1 =2; ГД1,1) = (— 1)Л°°> — (—1)Л‘ °> 4- (— =! _ 1 _ ! _ 1 = _2. Очевидно, что для любой функции f е В^п справедливо соотношение wt(/)€{22"-1 +2'1-', 22"-1 -2""'}. (6.5) Следующий критерий максимальной нелинейности булевой функции связан с понятием матрицы Адамара, которая изучается в комбинаторном анализе и в теории кодирования. Определение 6.5. Матрицей Адамара порядка A, A G N, называют (А х А)-матрицу Н из элементов +1 и —1, которая удовлетворяет соот- ношению ННУ =NE, где Е — единичная матрица. Важным примером матрицы Адамара является матрица Сильвестра— Адамара (см. определение 2.77): Замечание 6.6. Известно, что если существует матрица Адамара по- рядка А, то либо А = 1, либо А =2, либо А делится на 4. Также суще- ствует гипотеза, что для любого А, делящегося на 4, существует матрица Адамара порядка А. Однако до сих пор эта гипотеза не доказана. (По- дробнее о матрицах Адамара см. [102].) Задача 6.7 (нерешённая). Описать все матрицы Адамара и/или найти их число. Теорема 6.8. Булева функция f G ?2п максимально-нелинейна тогда и только тогда, когда (22п х 22п)-матрица 1 (^(аф/З)) , a€V2n, /ЗеУ2я> является матрицей Адамара.
§6.2. Максимально-нелинейные (бент-)функции 237 Доказательство. Теорема вытекает непосредственно из определе- ний бент-функций и матриц Адамара с учётом соотношений ортогональ- ности для коэффициентов Уолша—Адамара: __ (0, если /3/0, a€V2n v ’ если Р V. _ Если f е В2П1 то, очевидно, существует такая булева функция f е что №,(«) = 2я (6.6) Булеву функцию f 6 задаваемую равенством (6.6), называют дуаль- ной функцией м.-н. функции /. Предложение 6.9. Функция feF2n, дуальная к м.-н. функции f £^2п, сама является максимально-нелинейной функцией. Доказательство. Из (6.6) следует, что W~f(a)= (-1)^®<“'х>=2-п ^/(х)(-1)<аЛ>=2п(-1)/(“). (6.7) ХЕ V2n Xfz ^2п О Из определения дуальной функции и равенства (6.7) вытекает Следствие 6.10. 1) для любой f е В^п выполнено равенство f = /; 2) пусть f е Въп, a, be V2n, е е F2 и g(x) = f(x ф а) Ф (6, х) ф е. То- гда g е Bzm причём g(oc) = ф {а, а) ф s ф (а, 6). Задача 6.11. Пусть h е Тъп+Ъп представима в виде суммы двух функ- ций f е^2п, g^^2m от непересекающихся переменных Л(х, у) = f(x) ф g(tfi, х е V2rly у е V2m. Доказать, что fteB2n+2m тогда и только тогда, когда /еВ2л, g6B2m? причём _ _ й(а,/3) = Да)ф£(/3), осеУ2г1> (deV2m. Если для функции f выполнено равенство f — f, то она называется самодуальной. Пример 6.12. Из примера 6.4 вытекает, что функция х(2)) = = х(1)х(2) самодуальна, а с учётом задачи 6.11 функция f(x^\ х(2), ..., х(2л-1), х(2п)) =х{1)х(2) ф ... фх(2п-1)х(2л) при любом п е N самодуальна.
238 Глава 6. Нелинейность «Лемма 6.13. Пусть А е ©£(И2„), А* = 0-‘)т 6 &£<У2п). Тогда fA е причём __ ~ fA = (/)л* для любой f € В%п. Доказательство. Поскольку А — невырожденное линейное преоб- разование, то справедлива цепочка равенств (_])/Л(х)Ф(Ос^> = V" ])/И*)Ф<<*Л> — [у) _ XG ^2Я •*€ ^2Я уЕ V2n у€ V2n yG ^2п Следовательно, 2Л(—1)^“) =2Л(—1)^Л*^ при любом OL е У%п- О Из теоремы 6.8 и предложения 6.9 вытекает Следствие 6.14. Булева функция f максимально-нелинейна тогда и только тогда, когда матрица ((-1)^)) , aeV2n, pey2nj является матрицей Адамара. Чаще всего следствие 6.14 используют в следующей эквивалентной формулировке: Теорема 6.15 (критерий Ротхауза). Булева функция feFzn максимально-нелинейна тогда и только тогда, когда её произ- водная Daf(x) по каждому ненулевому направлению ае Vzni <т^0 уравновешена. Приведём ещё одну эквивалентную формулировку условий принад- лежности f к В2п на языке критерия распространения PC. Следствие 6.16. Булева функция f eFzn максимально-нелинейна тогда и только тогда, когда PCZ = У2Д{0}. Близость вектора (ДДа)), a G V2n\{0}, к нулевому вектору называют глобальной лавинной характеристикой функции f (в англоязычной
§6.2. Максимально-нелинейные (бент-)функции 239 литературе — GAC от Global avalanche characteristic). В качестве чис- ленной меры такой близости рассматривают две характеристики (см. гла- ву 8): скбК, ск^О Из критерия Ротхауза вытекает следующая теорема: Теорема 6.17. Булева функция максимально-нелинейна тогда и только тогда, когда выполнено одно из двух эквивалент- ных условий'. 1) А/=0; 2) of = 24л. Понятие бент-функции тесно связано с таким комбинаторным объек- том, как разностные множества. Определение 6.18. Пусть G —конечная группа порядка y = #G. Подмножество D с G порядка k = #D называется разностным мно- жеством с параметрами (v, k, А, и), если каждый ненулевой элемент g^G можно представить ровно А способами в виде g = d~'d', где d, d’ n = k- A. Из определения разностного множества и критерия Ротхауза вытекает Предложение 6.19. Булева функция f^Fzn максимально-нели- нейна тогда и только тогда, когда множество {(х, ftx))|x€14}GV2rt+1 является разностным множеством с параметрами (22n+l, 22п, 22п~1, 22п _22л~1) в аддитивной группе пространства V^+i (такие раз- ностные множества называются элементарными адамаровыми). Приведём без доказательства ещё два критерия максимальной нели- нейности булевой функции. Будем использовать следующее обозначение функций-индикаторов множеств, М с Vn, {1, если х е М, 0 в противном случае. Теорема 6.20. Булева функция f е является бент-функци- ей тогда и только тогда, когда в пространстве У^п существуют
240 Глава 6. Нелинейность подпространства L\, Lk размерности п каждое и целые числа гп\, ..., mk такие, что для любого хе У2л выполнено сравнение k У miILl(х) = 2"-|/0(х) + f(x) (mod 2"). Теорема 6.21. Булева функция является бент-функци- ей тогда и только тогда, когда в пространстве У2п существуют подпространства L\, ..., Lk размерности п или п + \ и существу- ют целые числа т\, ...,m,k такие, что для любого х е V^n выполнено равенство k '£milLi(x) = ±2n-40(x) + f(x). Для максимально-нелинейных функций из-за существования дуаль- ных функций, т. е. соотношения (6.6), лемма 2.40 приобретает более сим- метричный вид. Лемма 6.22. Пусть f е Bzn, LQV2n — произвольное подпростран- ство и a, b е V2n — произвольные векторы. Тогда =2dim L~n(—£ (-о'1 «)©<«.«). (6 8) Соотношение (6.8) иногда удобно записывать в следующем симмет- ричном виде (6-9) 2<lim L/2 2dim L±/2 Теперь естественно ввести следующее понятие. Определение 6.23. Будем говорить, что подпространство L С У2п яв- ляется стабильным для м.-н. (бент-)функции f еВ2л, если _ 2d*m ^-/2 x£a®L для любых a, be Замечание 6.24. Введённое понятие является реализацией общей концепции наследования свойств при сужениях булевых функций, кото- рая будет рассмотрена ниже в § 7.2. Из (6.9) очевидно следующее полезное утверждение.
§6.2. Максимально-нелинейные (бент-) функции 241 Предложение 6.25. Подпространство L С V^n является ста- бильным для м.-н. (бент-)функции f € тогда и только тогда, когда L1- С У%п является стабильным для м.-н. (бент-)функции 1еВ2п. Критерий того, что подпространство L является стабильным для f £ Bzn, просто выглядит на языке свойств функции автокорреляции. Лемма 6.26. Подпространство L С У2л является стабильным для м.-н. (бент-)функции f € В2п тогда и только тогда, когда равенство (_р/(х)ф/(хфм) _Q хеафА выполнено для любого ненулевого ueL и любого aeV2n. Для доказательства леммы достаточно несколько модифицировать применительно к условиям леммы приёмы, использованные при доказа- тельстве теоремы о взаимной корреляции (теорема 2.80). Поскольку сужения функции f е В2п на смежные классы по подпро- странству L, dim L = 2, можно рассматривать как булевы функции от двух переменных, то легко получить критерий того, что L, dim L = 2, является стабильным для f е В2п. Задача 6.27. Выберем базис в V2n так, что L = {(х(1), х(2), 0,..., 0)т е е V^n I х(2) € F2}. Доказать, что L является стабильным для функции f Е &2п тогда и только тогда, когда алгебраическая нормальная форма функции f имеет вид = Х(1)Х(2) ф , ...» Х(2л)) фх(2) •••» Х(2л))Ф •••> Х(2л)) С некоторыми Д, /з^^2л-2« Ещё более симметричный и полезный вид соотношение (6.8) приоб- ретает в трёх случаях: а и/или Ь равны нулевому вектору, dim L = n\ 52 (-i)/w= 52 (6-Ю) хеафА aEL± x£L aeL1- Важным следствием из полученных равенств является следующее утверждение. Теорема 6.28. Если f е Вгп, л 2, то deg f ^п. Доказательство. Рассмотрим полином Жегалкина функции /: /(*) = ф £/(«)•*“• аб Г2л
242 Глава 6. Нелинейность В соответствии с теоремой 2.10 коэффициенты gf(ot) находятся с помо- щью формулы £/(«) = ф f(x). X£V'2n х^о- Поскольку f еВ2п, то можно воспользоваться равенством (6.10), из ко- торого при L = = {х е V2n | х a}, dim L = wt(a) и с учётом (— 1)^х) = = 1 — 2/(х), легко получить следующее равенство g/(a) = 2wt<a>-1-2"-* +2W,<°‘)-'1 7(«) (mod 2). Отсюда при п 2 и wt(a) п 4- 1 получаем g/(a) = 0. □ Задача 6.29. Пусть f € В2п- Доказать, что g/(a) = gj(a ф 1) для всех а в ^2п таких, что wt(a) = п. В частности, deg f = п тогда и только тогда, когда deg f = п. Задача 6.30. Пусть f е В2п, deg f = п. Доказать, что / нельзя пред- ставить в виде суммы двух функций от непересекающихся переменных (см. задачу 6.11). В предложении 6.9 и лемме 6.13 показано, что множество В2п замкну- то относительно невырожденных аффинных замен переменных, сложения с аффинными функциями и перехода к дуальным функциям. Менее триви- альные преобразования, не выводящие функции из класса максимально- нелинейных, задаются следующим утверждением. Предложение 6.31. Пусть f е В2п — такая функция, что /|ao®Z-oW = <6O, «)ФЕ при любом хе V2n и при некоторых ао, b$e У2п, LqC У2п — подпространство размерности п. Тогда функция f'(x) = f(x) ф ФЛюФАоС*) также максимально-нелинейна. При этом Т'(х) = Нх) + 1ЬофЬл.(х). Доказательство. Заметим, что при dim Lq = п из леммы 6.22 выте- кает, что /|ao®LoW = (^о, X) ф е тогда и только тогда, когда /|боФ£± (х) = = (яо, Ф (яо, &о) Фе. Поэтому одновременное инвертирование значе- ний функции f на Яо Ф Lq и функции f на 6о Ф L§ не нарушает справед- ливости равенств = (—jр7(<*)Ф<<м*> хбаф^о аббфЛ^
§ 6.3. Классы бент-функций 243 при всех а, Ь е Кгл- Теперь достаточно воспользоваться задачей 2.42. □ Задача 6.32. Доказать, что если f € dim Lq > и, то ни при каких #0, Ьо е V2n, £ 6 F2 равенство f\a0®L0(x) = (Ь0> х)®£ не может выполняться одновременно для всех х е Пример 6.33. Экспериментально установлено (см. [363]), что лю- бая максимально-нелинейная функция степени 3 от 6 переменных эк- вивалентна с точностью до невырожденных аффинных замен переменных и добавления произвольных аффинных функций одной из следующих трёх функций: 1) %d)x(2)x(3) фх(1)х(4) фх(2)х(5) фх(3)х(6); 2) %0)х(2)х(3) фх(2)х(4)х(5) фх(1)х(2) фх(1)х(4) фх(2)х(6) фх(3)х(5) ф фх^х^; 3) х^х®х® ф х^х^х^ ф ф х^х^ ф х<2>х<6> ф х<3>х<4) ф Ф фЛ<6) фх^х^ ®x(V). Задача 6.34 (нерешённая). Найти #&2п для всех п или хотя бы найти асимптотику числа #Z?2n при п —> оо. § 6.3. Некоторые классы максимально-нелинейных (бент-) функций Класс X максимально-нелинейных функций называется полным, ес- ли он замкнут относительно невырожденных аффинных замен перемен- ных и прибавления произвольной аффинной функции (см. лемму §6.2). Если класс X максимально-нелинейных функций не является полным, то обозначим X его «пополнение», т. е. класс функций, который содержит вместе с функциями из X все функции, получающиеся из X с помощью невырожденных аффинных замен переменных и прибавления произволь- ных аффинных функций. Семейство Мэйорана-Мак-Фарланда Л4. Теорема 6.35. Пусть тг: Vn-^Vn — произвольная подстановка на пространстве Vn и ф е — произвольная булева функция от п переменных. Тогда булева функция f е ?2п от 2п переменных, за- даваемая равенством f(x, у) = (к(у),х)фф(у), x,y&Vn, (6.11) является максимально-нелинейной функцией.
244 Глава 6. Нелинейность Доказательство. Для доказательства теоремы достаточно восполь- зоваться критерием Ротхауза. □ Класс максимально-нелинейных функций, описанный теоремой 6.35, называют классом Мэйорана—Мак-Фарланда (Maiorana—MacFarland) и обозначают А4. Очевидно, что класс М не полный. Задача 6.36. Проверить, что мощность класса М максимально-нели- нейных функций (при фиксированном разбиении пространства V^n в пря- мую сумму двух пространств размерности п) задаётся формулой #Л4 = 2"!-22". Задача 6.37. Пусть f — максимально-нелинейная функция, задавае- мая равенством (6.11). Доказать, что дуальная к ней функция f задаётся следующим равенством 7(Х, у) = (у, X,yeVn. Задача 6.38. Доказать, что в множестве булевых функций от 2п переменных существуют м.-н. (бент-)функции, алгебраическая степень которых равна любому из чисел 2, 3, ..., п. (Указание', воспользуйтесь конструкцией Мэйорана—Мак-Фарланда.) Максимальная нелинейность функций, заданных в виде ли- нейного разветвления. Семейство М — это один из примеров м.-н. (бент-)функций, заданных в виде линейного разветвления. Можно по- лучить критерий максимальной нелинейности произвольной функции, заданной в виде линейного разветвления. Это позволит строить и другие семейства м.-н. (бент-)функций. Напомним, что булева функция f задана в виде линейного разветвления, если существуют такие /, s, п = t + s, Фе h е 5k что Я*) = /(х, у) = (х, Ф(у)) Ф h(y) (6.12) для любых z — (х, у) е vn, хе К, у е vs. Для упрощения дальнейших рассуждений удобно ввести ещё два по- нятия. Множество С С Vn будем называть бент-множеством, если вы- полнены два условия: 1) #С — 221 при некотором /; 2) для любого v е Vn \ {0} множество Cv = {у е С | у ф v € С} или пу- сто, или имеет чётную мощность.
§ 6.3. Классы бент-функций 245 Все одноэлементные множества С являются бент-множествами, для них Cv = 0 при любом v е Vn \ {0}. Все смежные классы С по подпро- странствам L чётной размерности являются бент-множествами, посколь- ку, очевидно, для них {0, если v£L, С, если v G L. Пространство Vn является бент-множеством при чётном п. Определение 6.39. Частично определённой м.-н. (бент-)функ- цией будем называть пару (ft; С), где h(x) — булева функция, а С — бент- множество, если для любого veVn\ {0} вес wt(Dvh(x) |с ) сужения функ- ции Dvh(x) на множество равен |#C(V) (ср. с определением 6.74). Ясно, что частично определённая м.-н. (бент-)функция (й; Vn) явля- ется обычной м.-н. (бент-)функцией. Любая булева функция является частично определённой м.-н. (бент-)функцией на одноэлементном мно- жестве. Теорема 6.40. Булева функция /(х, у) вида (6.12) принадле- жит Вп, п = 2т, тогда и только тогда, когда при всех aeVt выполнены следующие условия'. 1) 2) #ф-|(а) = 2'!-2/; 3) Ф_ 1 (а) является бент-множеством', 4) (Л; Ф-1(а)) является частично определённой м.-н. (бент-) функцией. Доказательство. Воспользуемся критерием /(х, у)еВп «=> PCf = Vn\{0}. Найдём производную функции f(x, у) вида (6.12) по произвольному направлению (и, v) € V„. Имеем D(u,v)f(x, у) = f(x®u,y®v)® f(x, у) = = (Ф(у Ф v), х) ф (Ф(у ф v), и) ф h(y ф v) ф (Ф(у), х) ф h(y) = = (Dv$(y), х) ф (Ф(уф v), u)®Dvh(y). (6.13) Рассмотрим последовательно два случая: I. v = 0, и /0. II. v^O.
246 Глава 6. Нелинейность Для каждого случая найдём необходимые и достаточные условия того, что (и, v)ePCf. Объединив найденные условия, получим утверждение теоремы. I. Выражение (6.13) принимает вид D(u,0)f(X, у) = (Ф(у), и}. Тем самым требование (u, tyePCf для всех ueVt\{0} эквивалент- но требованию: булева функция (Ф(у), и) уравновешена при любом и € Vt \ {0}. Последнее условие хорошо известно и выделяет так называ- емые регулярные отображения Ф € . Известно также, что отображе- ние Ф регулярно тогда и только тогда, когда выполнены два условия: 1) t^s; 2) #Ф~1(а) = 2n~2t для любого V/. II. Подсчитаем вес функции (6.13) как сумму весов её подфункций при всевозможных фиксациях переменных уе К. При этом возможны следующие случаи: a) Dv&(y) /0; в этом случае D(U^f(x, у) как функция от х аффинна, и при данном фиксированном у её вес равен 2/-1; б) ОуФ(у) = 0, Ф(у) = а, ае V/, в этом случае /(х, у) не зависит от х, и её вес при данном фиксированном у равен 2‘((и, a)®Dvh(y)). Просуммируем полученные в случаях а) и б) веса подфункций по всем у е 14, а е V/, и после простых преобразований получим wt(D(u,l,)f(x,y))=2z-1(2i-#7’v)+2z^ Е (<u,a}®Dvh(y^ = ot£.VtyfzTViOt = 2'-1+2z-'[2 Е ^({u,a)®Dvh(y)\Tv.a)-#Tv], aev, Т„ = (О„Ф)~\0), 7р,о = 7,Пф-1(«). Легко видеть, что wt((«, а) ф Dvh(y)\T,a) = wt(Dvh(y)\Tva) + + (и, a){#Tv,a — 2 wt(Dvh(y)|Tre,)), Е wt(D„A(i/)|rvct)=wt(Dv/i(y)|rr). aevt
§6.3. Классы бент-функций 247 Поэтому получаем wt(D(B,„)/(x, у)) = 2"-’ + 2'-1 [2 wt(Dvh(y)\Tv) -#TV + + 2 a)(#Tv,a —2 ^t(Dvh(y)\Tpa))]. а Таким образом, требование (и, г/) е PCf для всех v е Vs \ {0}, и е Vt, эк- вивалентно требованию 2wt(Dt,/z(y)|rv)-#7’v+2^(u,a)(#7’v.Q-2wt(Dt,/2(y)|7.vj)=0 (6.14) а при всех v е Vs \ {0}, и е Vt. Рассматривая отдельно случаи и = 0 и и 0, получаем, что систе- ма (6.14) эквивалентна невырожденной линейной системе уравнений '£;(«, a) (#Tv,a -2 w[(.Dvh(y)\Tvj) =0, при всех v€ V, \ {0}, < “ ueVt\{0}, Е (#Л-,а - 2 wt (£>s/i (у) | ?•„„)) = 0, при всех v G К \ {0}. < а Система имеет единственное решение #Tv,a - 2 wt(Dvh(y)\T )=0 при всех v е \ {0}, а € Vt, (6.15) и тем самым условия (6.15) эквивалентны требованию (и, v)ePC[ для всех и € Vt, v € Vs \ {0}. Возвращаясь теперь к определениям бент-множества и частично определённой м.-н. (бент-)функции, легко увидеть, что система ра- венств (6.15) эквивалентна условиям 3, 4 теоремы 6.40. □ Для иллюстрации подхода, развиваемого в теореме 6.40, рассмотрим два простейших случая. Пример 6.41. Пусть t = и/2. В этом случае условие 2) теоремы озна- чает, что отображение Ф G 5^/2,п/2 взаимно однозначно. При этом все множества Ф-1(а) одноэлементны, и условия 3) и 4) теоремы выполнены автоматически. Таким образом, случай t = п/2 даёт класс Л4 м.-н. (бент-)функций. Пример 6.42. Пусть t < п/2 — произвольно, отображение Ф € Fs,t — линейно. В этом случае условие 2) теоремы выполнено автоматиче- ски, причём Ф-1 (0) — некоторое подпространство размерности п — 2t, а остальные Ф-1(а), а / 0, — смежные классы по нему. Поэтому выпол- нено и условие 3) теоремы.
248 Глава 6. Нелинейность Условие 4) удобно рассмотреть вначале для частного случая $(У) = (*/!, •••- £/). а потом сделать необходимую линейную замену переменных. В этом случае Ф“1(а) = (а1, ..., £//+ь ..., ys), yi — произвольны, поэтому условие 4) теоремы означает, что все 2Z бу- левых функций h(a\, ..., а/, у\, ..., ys) от п — 2t переменных являются м.-н. (бент-)функциями. Таким образом, этот пример (с точностью до аффинных замен пере- менных) даёт следующий класс м.-н. (бент-)функций: /(%], ..., X/, z/i, ..., ys)=x\y\ Ф...ФХ/1//Ф ®ф У? y?h£(yt+i, ...,ys)', здесь У? = ///Ф^ф1, /ze(z/z+i, ..., ys) — произвольный набор 2Z м.-н. (бент-)функций. Задача 6.43 (нерешённая). Пусть f е Bzn, П1(/) и f представлена в виде линейного разветвления. Найти (или оценить) ill(/) и представле- ние f в виде линейного разветвления (ср. с задачами 6.37, 6.45, 6.47). Класс P<S. Предложение 6.44. Пусть L\, ..., L2n-i — семейство из 2"”1 под- пространств пространства V2n, для которых выполнены следую- щие два условия: 1) dim L/=n,z = l,...,2'2-1; 2) Ц П Lj = {0} при j, i, j = 1, ..., 2n~1. Тогда функция 2n— 1 /W = ®4(W (6.16) /=i является максимально-нелинейной. Семейство максимально-нелинейных функций, получаемых с помо- щью конструкции предложения 6.44, обозначается PS~. Задача 6.45. Пусть максимально-нелинейная функция f задаётся ра- венством (6.16). Доказать, что 1) семейство подпространств ..., L?n_u дуальных к подпростран- ствам Li, ..., L2n-\, удовлетворяет условиям 1) и 2) предложения 6.44;
§6.3. Классы бент-функций 249 2) дуальная к f функция f задаётся следующим равенством 2я -1 7(х) = ф4д(х). 1=1 Предложение 6.46. Пусть L\, ..., — семейство из 2n~l + 1 подпространств пространства Vzn, для которых выполнены сле- дующие два условия’. 1) dimLz=n, / = 1, ..., 2"-1 + 1; 2) LiQLi = {0} при i^j, i, j= 1, ..., 2n~l + 1. Тогда функция 2л-, + 1 Л*) = ф W (6.17) Z = 1 является максимально-нелинейной. Семейство максимально-нелинейных функций, получаемых с помо- щью конструкции утверждения 6.46, обозначается Р5+. Задача 6.47. Пусть максимально-нелинейная функция f задаётся ра- венством (6.17). Доказать, что 1) семейство подпространств ..., L^_1+1, дуальных к подпро- странствам Li, ..., L2«-*1+b удовлетворяет условиям 1) и 2) предложе- ния 6.46; _ 2) дуальная к f функция f задаётся следующим равенством 2л", + 1 л*)= ф Мх)- Z = 1 Объединение классов PS~ и Р5+ максимально-нелинейных функ- ций составляет класс PS (от Partial Spreads). Класс PS (как и каждый из классов PS~ и Р5+ в отдельности) не полный. Класс максимально-нелинейных функций Л4 не входит в пополне- ние PS класса PS. Класс Т). Предложение 6.48. Пусть Ц и — подпространства в Vn и тг — подстановка на Vn такие, что 1) dim Aj+dim Л2 —я; 2) к(Ц)=Ц.
250 Глава 6. Нелинейность Тогда булева функция от 2п переменных y) = (x,TT(y))®ILl(x)/L2(y), х,уёУп, (6.18) является максимально-нелинейной. Доказательство. Для доказательства утверждения достаточно при- менить утверждение 6.31 к семейству М максимально-нелинейных функций. □ Следствие 6.49. Дуальной к максимально-нелинейной функции вида (6.18) является функция 7(х, у) = {у, 7Г—1 (х)) Ф /Lx (х)/£х (у), х,уе Vn. Класс максимально-нелинейных функций вида (6.18) называется классом V. Пример 6.50. Если положить L\ = Vn и А2 = {0}, то получаем, что при любой подстановке тг функция п f(x, у) = (х, 7Г(1/)) ©Jpx*0 Ф 1), х = (х(1>, x(n))T, ye Vn, 1 = 1 максимально-нелинейна. Класс таких функций обозначается 7?о- Все максимально-нелинейные функции от 6 переменных степени 3 принадлежат классу 7?о- Класс максимально-нелинейных функций Do (а, следовательно, и класс Т>) не входит в пополнение класса Л4. Кроме того, класс V не входит в пополнение PS класса PS. § 6.4. Частично максимально-нелинейные (частично бент-) функции и их свойства Пусть f еРп, Е — некоторое подмножество пространства Vn, Е С Vn. Напомним, что сужением функции f на множество Е называется отоб- ражение [\е из Е в F2, определяемое следующим образом: f |f(x) = f(x) при любом хе Е. Определение 6.51. Пусть feFn, L — линейное подпространство пространства Vn, dim L = 2t^n. Будем говорить, что функция f явля- ется максимально-нелинейной (бент) на подпространстве L, если
§ 6.4. Частично бент-функции 251 сужение f\t является м.-н. (бент-)функцией, т.е. выполнены соотно- шения =^2(_1)/(х)ф(и,х) =±v/^£ = ±2/ xeL xeL для любого и е Vn. Для произвольной функции f как и ранее, будем использовать следующие обозначения: МД/= 2” — #{u € V„ | ДДи) = 0}, Д/= max |Д/(и)| ; NWf=2n-#{ие Уя|Г/(и) = 0}. "е1/Л<0’ Напомним, что в соответствии со следствием 2.23 для любой функции f выполнено неравенство МДГ Wz^2". Определение 6.52. Булева функция f е 5^, для которой выполняется равенство МДГ Wz=2", (6.19) называется частично м.-н. (бент-)функцией (partially bent function). Теорема 6.53. Булева функция f является частично м.-н. (бент-)функцией тогда и только тогда, когда выполнено одно из следующих эквивалентных условий: 1) существует вектор uq е Vn такой, что для любогоstVn зна- чение Af(s) равно или 0, или (— 1)(“°’5>2Л; 2) пространство Vn разлагается в прямую сумму двух подпро- странств Ef и Е', dim Ef = 2t, таких, что — Кх> У) = (ио, х) ф 1\е'(у) для некоторого uo€Vn при всех xeEf, уеЕ'-, — f\£/— максимально-нелинейная (бент-)функция. Доказательство. Из доказательства теоремы 2.90 вытекает, что ра- венство (6.19) выполнено тогда и только тогда, когда NД/ = 2-” max Г?(и) = 2~п Г.2(и0) для некоторого Uq е Кл. Пусть f'(x) = f(x) ф (uq, х). Тогда rz2,(0) = г2(Ио) и, следовательно, £ Дг(s) = Wf, (0) = Wf(uo) = 2ЯМ Д, = 2я. sev„ sev„ A,,(s)#0
252 Глава 6. Нелинейность Отсюда следует, что для любого seVn значение Д^ (s) совпадает либо с нулём, либо с 2Л. Так как Af'(s) = (— 1)<“°Л>Д/(s), то значение Д/($) равно либо нулю, либо (—1/“°’^2п. Таким образом, условие 1) эквива- лентно равенству (6.19) Предположим теперь, что условие 1) выполнено. Положим Ef = {хе V„ I A,(x) = (-1)<“»Л>2Я}, т. е. Ef — пространство линейных структур функции f. Пусть Е' — некоторое линейное подпространство в Vn такое, что I4=£4-£,/. Тогда для любого veE\ v^O имеем A;(v) = 0, поэтому в силу задачи 6.17 f\& — м.-н. (бент-)функция. Таким образом, с учётом результатов §2.5 выполнено условие 2). Предположим теперь, что выполнено условие 2) и тем самым функция /(х, у) представлена в виде суммы двух функций от непересекающихся переменных, причём одна из них линейна, а другая — м.-н. (бент) на под- пространстве. Вычисляем Д/($), пользуясь задачей 2.82, получаем, что выполнено условие 1). □ Задача 6.54. Пусть / —частично м.-н. (бент-)функция из А — невырожденная (п х п)-матрица над полем F2, и — произвольный вектор из Vn. Доказать, что функция f'(x) = f(Ax®u) также является частично м.-н. (бент-)функцией из Задача 6.55. Доказать, что множество частично м.-н. (бент-)функций содержит: — любую аффинную функцию; — любую м.-н. (бент-)функцию; — любую квадратичную функцию. Задача 6.56. Доказать, что если / — частично м.-н. (бент-)функция, то все ненулевые квадраты её коэффициентов Уолша—Адамара одина- ковы, причём И7Да) = 0 тогда и только тогда, когда т. е. Vn \ CIf = и0 ®Ef-. Задача 6.57. Доказать, что частично м.-н. (бент-)функция удовлетво- ряет критерию распространения PC(fe), I < k < и, тогда и только тогда, когда вес любого вектора из пространства линейных структур функции / либо больше k, либо равен нулю. (Указание', если / — частично м.-н. (бент-)функция, то {z е Vn | ДДг) = 0} = Vn \ Ef.) Задача 6.58. Доказать, что частично м.-н. (бент-)функция [е^п уравновешена тогда и только тогда, когда выполнено одно из двух экви- валентных условий:
§ 6.5. Платовидные функции и ч. о. (бент-)функции 253 1) f\Ef /const; 2) существует veEf такой, что f(z ф v) = f(z) ф 1 при любом z е Vn. В противном случае wt(/) = 2n-1 где t ^п/2. Предложение 6.59. Частично м.-н. (бент-)функция f eFn явля- ется корреляционно-иммунной порядка k (соответственно, урав- новешенной корреляционно-иммунной порядка k) тогда и только тогда, когда смежный класс u$®Ej- состоит только из векто- ров веса либо большего, чем k, либо равного нулю (состоит только из векторов веса большего, чем k). Доказательство. В соответствии с задачей 6.56, если f — частич- но м.-н. (бент-)функция, то 1ГДа)/0 тогда и только тогда, когда Ot Е Uq ф Е[~. Предположим, что / — корреляционно-иммунная порядка k функ- ция (уравновешенная корреляционно-иммунная порядка k функция). Тогда W^(a)=0 для всех аеУЛ, (для всех аеУл, O^wt(a)^fe). Следовательно, эти векторы не принадлежат смежно- му классу uq ф Ej-, т. е. выполняется условие теоремы. Обратно, пусть выполнено условие теоремы, т.е. для любого а € Vn, l<wt(ct)^£ (0 wt(a) k) справедливо а/иоФЕ^-. Тогда для та- ких а выполнено Wf(ct) = 0 и, следовательно, /-корреляционно-им- мунная порядка k функция (уравновешенная корреляционно-иммунная порядка k функция). □ § 6.5. Платовидные функции и частично определённые м.-н. (бент-) функции Из равенства Парсеваля вытекает, что если все ненулевые квадра- ты коэффициентов Уолша—Адамара одинаковы, то они равны 22'г-2г при некотором г. Определение 6.60. Пусть f Если существует натуральное чис- ло г е N, 0 г п, такое, что квадрат каждого коэффициента Уолша— Адамара равен либо 22п~2г, либо 0, то функция f называется платовид- ной функцией порядка 2r (2r-th order plateaued function). В случае, когда нет необходимости подчёркивать конкретное значе- ние г, будем использовать термин платовидная функция. В соответ- ствии с задачей 6.56 любая частично м.-н. (бент-)функция является пла- товидной.
254 Глава 6. Нелинейность Задача 6.61. Доказать, что является платовидной функцией порядка п TQVjxa и только тогда, когда f — м.-н. (бент-)функция. Задача 6.62. Доказать, что f является платовидной функцией порядка 0 тогда и только тогда, когда f — аффинная функция. Задача 6.63. Доказать, что сумма платовидной функции и линейной — платовидная функция того же порядка. Задача 6.64. Доказать, что для любой платовидной функции найдётся такая линейная функция, что их сумма уравновешена. Задача 6.65. Доказать, что если / — платовидная функция поряд- ка 2г, то NWf=22r. Для каждой платовидной функции f порядка 2г определён её носи- тель — множество Sf С Vn такое, что #5/ = 22г и если и eSf\ (О в противном случае. Множество платовидных функций с фиксированным носителем S С Vn обозначим через TFn(S). Задача 6.66. Доказать, что f eTFn(S) тогда и только тогда, когда для любого а е Vn выполнено условие Подчеркнём, что в соответствии с задачей 6.66 для всех булевых функций из T^n(S) автокорреляционная функция одна и та же —она определяется только свойствами проекции кода Рида—Маллера перво- го порядка на множество S. Задача 6.67. Доказать, что у всех булевых функций из TFn(S) одно и то же пространство линейных структур Ls, которое задаётся следующим условием: Ls = {xeVn \ (х, и) = const для любого и е S}. Как и в случае м.-н. (бент-)функций, для платовидных функций можно ввести понятие дуальной булевой функции, но она окажется определённой только на множестве S. Определение 6.68. Для f еТFn(S) булеву функцию /, определённую на множестве S равенством Wf(u) = 2n~r(-1)KU\ будем называть дуальной функцией к платовидной функции f.
§6.5. Платовидные функции и ч.о. (бент-)функции 255 Для изучения свойств функций, дуальных к платовидным, необходимо ввести для частично определённых булевых функций такой же аппарат, какой был использован при изучении полностью определённых булевых функций. Определение 6.69. Любое отображение fs из множества S С Vn в {0, 1} будем называть частично определённой (ч.о.) булевой функ- цией с областью определения S. Если S = Vn, то будем говорить, что ч. о. функция fs полностью определена. Множество всех ч. о. булевых функций от п переменных с областью определения S будем обозначать 7^(5). Определение 6.70. Расстояние между ч.о. булевыми функция- ми fs и gs равно количеству векторов из S, на которых их значения различаются, и обозначается dist(/s, gs) = #{х € S | fs(x) / gs(x)}. Расстояние от ч.о. функции fs до множества Н cJyi(S) равно наи- меньшему из расстояний от fs до каждой ч.о. функции, входящей в Н, и обозначается dist(/5, Н) = min dist(f$, gs). gs^H Определение 6.71. Неполным преобразованием Уолша—Адамара ч.о. функции fs E^n(S) называется отображение Wfs(u) = и € V„, xGS определённое на всём пространстве Уп. С помощью стандартной техники (см. главу 2) легко доказать следу- ющее важное утверждение. Лемма 6.72. Для неполного преобразования Уолша—Адамара справедлива формула обращения'. 2-« £ №%(«)(-!)<“•*> = uevn если х е S; если х 0 5. Задача 6.73. Доказать аналог равенства Парсеваля для частично определённой булевой функции: £ Г* («) = #$-2". uevn
256 Глава 6. Нелинейность В связи с результатом задачи 6.73 можно ввести понятие, анало- гичное понятию м.-н. (бент-) функции в случае полностью определённых функций. Определение 6.74. Частично определённую булеву функцию /5 е €^(5) будем называть частично определённой м.-н. (бент-)функ- цией, если для любого и G Vn выполнено соотношение |U7;s(u)| = (ср. с определением 6.39). Задача 6.75. Доказать, что определения 6.74 и 6.39 эквивалентны. Множество всех ч. о. м.-н. (бент-)функций с фиксированной областью определения S обозначим через Bn(S). Естественно возникает вопрос, для каких множеств S С Уп существуют ч.о. м.-н. (бент-)функции, т.е. когда множество Bn(S) не пусто. Из определения 6.74 ясно, что мы не на- кладываем никаких ограничений на и, а число #S должно быть полным квадратом. Из того же определения ясно, что если S — смежный класс по некоторому линейному подпространству пространства Vn размерно- сти 2/, то Bn(S)^0 и Bn(S) можно отождествить с множеством всех бент-функций от 2/ переменных. Однако представляет интерес изучение множества Bn(S) и для менее структурированных подмножеств S про- странства Vn. Задача 6.76. Доказать, что отображение f(x) f(x ф z) устанавлива- ет взаимно однозначное соответствие между Bn(S) и Bn(S ф г) для любого S С Vn и любого z е Vn. Задача 6.77 (нерешённая). Получить конструктивные необходимые и достаточные условия на множество S QVn, при которых множество Вл(5) не пусто. Заметим также, что любую функцию из Bn(L), где Ac Vn — линей- ное подпространство, dim L = 2/, можно продолжить на всё простран- ство Vn так, что она станет частично м.-н. (бент-)функцией (см. теоре- му 6.53). Поскольку сужение f\i булевой функции f е Fn на подпростран- ство L С Vn можно рассматривать как частично определённую булеву функцию, то любая функция, максимально-нелинейная (бент) на подпро- странстве L, принадлежит Bn(L). Для частично определённой м.-н. (бент-)функции можно стандартным образом ввести понятие дуальной функции, причём дуальная функция оказывается полностью определённой. Определение 6.78. Для fs € Bn(S) булеву функцию /$, определённую на Vn равенством ____
§6.5. Платовидные функции и ч.о. (бент-)функции 257 будем называть дуальной функцией к частично определённой м.-н. (бент-)функции fs- Теорема 6.79. Переход к дуальной функции устанавливает вза- имно однозначное соответствие между классами Bn(S) и T^n(S)y #S = 22r. Доказательство. Пусть f е ТДп(5). Тогда W-f(u) = ^(-l)7^®^ = 2^7 £ rz(x)(-l)<“.‘> = xgs xes = 2^7 E ^/(х)(-1)<ил> = 2г- (-l)/<a) xeVn для любого и e Vn. Значит, f e Bn(S) и f = f. Обратное рассуждение ана- логично. □ Задача 6.80. Доказать, что ч.о. функция fs принадлежит Bn(S) тогда и только тогда, когда для любого и € Vni и 0 выполняется соотношение (*)©/$(*©«) _ о, xesns®u где S ф и = {у е Vn | у ф и е S}, а сумма для пустых множеств считается равной нулю по определению. Другими словами, результат задачи 6.80 можно сформулировать следующим образом: для любого и е Vn, и^О частично определённая на Su = S П S ф и булева функция fs(x) ф fs(x®u) является уравнове- шенной. Предложение 6.81. Пусть fs С Bn(S) 0, #5 = 22г. Тогда для лю- бого ueVn, число #SU для непустых множеств Su делится на 4. Доказательство. Предложение вытекает из того, что функция fs(x)® fs(x®u) на множестве Su каждое из значений 0 и 1 принимает чётное число раз. □ Задача 6.82. Пусть Bn(S)^0, #S = 4. Доказать, что S —линейное подпространство размерности 2. Сразу оговоримся, что естественно возникающая в силу этого резуль- тата гипотеза, что если множество Bn(S) не пусто, Bn(S) / 0 и #S =22г, то S—линейное подпространство размерности 2г, неверна. Это демон- стрирует следующий контрпример.
258 Глава 6. Нелинейность Пример 6.83 ((39]). Пусть функция f €5*5 имеет следующий вид з Дх(1), . ..,х(5)) = ф x(z)x(z+1) фх(1)х(5). i = l Непосредственные вычисления показывают, что Wf(u) = Q при wt(zz) 6 е{0, 3, 4}, |1Р}(н)| =8 при wt(u) е {1, 2, 5}. В частности, Wf(u) = -8 при не{(1, 1, 1, 1, 1)т, (1, 1,0, 0, 0)т, (0, 1, 1,0, 0)т, (0,0, 1, 1,0)т, (0, 0, 0, 1, 1)т, (1, О, О, О, 1)т} и Wf(u) = 8 при и е{(1, 0, 0, 0, 0)т, (О, 1,0, 0, 0)т, (0,0, 1,0,0)т, (О, О, О, 1,0)т, (0, 0, 0, 0, 1)т, (1,0, 1,0, 0)т, (О, 1, О, 1, 0)т, (О, О, 1, О, 1)т, (1, О, О, 1, 0)т, (О, 1, 0,~0, 1)т}. Поэтому где S = {uey5|wt(u)e{l,2, 5}}. Тогда fseBn(S). Легко видеть, что S не является подпространством. В связи с понятием «ч. о. бент-функция» возникает естественный во- прос о наследовании свойства «быть м.-н. (бент-)функцией» при фикса- ции части переменных. Определение 6.84. Пусть п — чётное, п 4, k — чётное, 2 k п — 2. Булева функция f называется (я, к)-максимально-нелинейной (бент-)функцией, если для любого подмножества / — {/1,..., jk} множе- ства {1, ..., п} и для любого b = (&(1), ..., t№) G Vk подфункция } является м.-н. (бент-)функцией в Приведём без доказательства теорему, описывающую множество (и, £)-максимально-нелинейных (бент-)функций (см. [152]). Теорема 6.85. Каждая (п, Щ-м.-н. (бент-)функция f является квадратичной функцией вида f(x) = ф х(/)х(/)фй(х), heAn. Перейдём теперь к характеризации платовидных функций как булевых функций, обладающих некоторыми экстремальными свойствами. Обозна- чим Wf,M = max|l#7(u)|. Теорема 6.86. Пусть feFn- Следующие утверждения эквива- лентны: 1) / — платовидная функция', <yi пп—1 2) WfM = —==, Nf = 2n~' - ________; 7 '' у/NW/ ’ y/Wj 3) = =
§6.5. Платовидные функции и ч.о. (бент-)функции 259 Теорема 6.86 вытекает из следующих представляющих самостоятель- ный интерес лемм. Лемма 6.87. Для любой функции f е^п выполнены эквивалент- ные неравенства суп пл—1 Эти неравенства обращаются в равенства тогда и только тогда, когда f является платовидной функцией. Доказательство. Используя равенство Парсеваля, получаем 22" = Е ^/2(«) Wf,MNWb uevn поэтому 2п Неравенство обращается в равенство тогда и только тогда, когда все ненулевые квадраты коэффициентов Уолша—Адамара одинаковы, т. е. f — платовидная. □ Лемма 6.88. Для любой функции f eFn выполнены эквивалент- ные неравенства Wf,M -^/2 ’ 2 — 2^/2+1 • Эти неравенства обращаются в равенства тогда и только тогда, когда f является платовидной функцией. Доказательство. Используя теорему о взаимной корреляции и ра- венство Парсеваля, получаем 2" £ Д2(«) = 52 ГДи) -22п, uev„ uev„ поэтому Дальнейшие рассуждения аналогичны рассуждениям в доказательстве леммы 6.87. □ Задача 6.89. Доказать, что если f — платовидная функция порядка 2г, то deg f г. Задача 6.90. Пусть f — платовидная функция порядка 2г из Fn, А — невырожденная (п х и)-матрица над Fg, и — произвольный вектор из Vn. Доказать, что функция ff(x) = /(Ахф и) — платовидная порядка 2г.
260 Глава 6. Нелинейность Теорема 6.91. Пусть f — платовидная функция порядка 2г из Fn, I = dim Lf. Тогда f аффинно эквивалентна булевой функции /', ко- торая представляется в виде суммы двух функций от непересека- ющихся переменных — g(y)®h(z), yeVk, zeVh k + l=n, (6.20) причём 2r^n — l, g —платовидная функция порядка 2r, не имеющая линейных структур, a he Fi— линейная функция. В частности, 2г = п — 1 тогда и только тогда, когда f — ча- стично м.-н. (бент-)функция. Доказательство. Аффинная эквивалентность функций f и f ви- да (6.20) доказана в §2.5. В соответствии с задачей 6.90 функция — платовидная порядка 2г и поэтому в соответствии с задачей 6.63 функ- ция getFk- платовидная порядка 2r < k. В соответствии с задачей 6.61 2r — k — n — I тогда и только тогда, когда g — м.-н. (бент-)функция, т.е. f — частично м.-н. (бент-)функция. □ Учитывая задачу 6.67, мы можем для всех булевых функций из TF^S) найти пространство линейных структур. Затем с помощью теоремы 6.91 мы можем перейти к изучению платовидных функций без линейных структур. Поскольку любая частично м.-н. (бент-)функция является платовид- ной функцией, то представляет безусловный интерес характеризация ча- стично м.-н. (бент-)функций внутри класса платовидных функций. Задача 6.92. Пусть / — платовидная функция порядка 2г <п из Fn. Доказать, что следующие условия эквивалентны: 1) / — частично м.-н. (бент-)функция; 2) АД/ = 2л-2г; 3) dim Lj = n- 2r. В связи с задачей 6.92 естественно возникает следующая задача. Задача 6.93 (нерешённая). Для любых заданных п, 2г <п, 0 I п — 2г построить в Тп платовидную функцию / порядка 2г, для которой dim Lf = I. По всей видимости, наиболее реальный путь решения этой задачи — рассмотрение булевых функций, заданных в виде линейного разветвле- ния. Напомним, как выглядит эта конструкция. Булева функция f eFn определяется с помощью равенства f(z) = f(x, у) = {х, Ф(уУ) ф h(y), (6.21)
§6.5. Платовидные функции и ч.о. (бент-)функции 261 где z = (х, у) eVn, xeVt, у е vs, n = t + s, ФеFs.t, he Fs- Пусть и = (v, w) e Vn, v e Vt, w e Vs. В соответствии с задачей 2.135 Wf (и) = Wf(v,w) = 2‘ (“1 )h{y)®'y'w'> (6.22) уеФ-Цу) Приведём без доказательства следующее утверждение, практически повторяющее критерий максимальной нелинейности булевой функции, заданной в виде линейного разветвления (см. §6.3). Теорема 6.94. Пусть функция f eFn представлена в виде линей- ного разветвления и выполнены следующие условия: 1) для любого aeVt или #Ф“1(а)=22/, или #Ф“1(а)=0; 2) функции й|ф-1(а) для всех oc^Vt являются частично опре- делёнными м.-н. (бент-)функциями. Тогда функция f является платовидной функцией порядка 2(n—t—l). Теперь рассмотрим более глубоко вопросы о свойствах платовидных функций из Лг порядка п — 1 и их связи с м.-н. (бент-)функциями. Определение 6.95. Функции g\, gz^Fn, и —нечётное, называются взаимно дополняющими платовидными функциями порядка п — 1 (complementary (п— l)-th order plateaued functions), если для любого ueVn либо №gl(u) = 0, r22(u) = 2'l+1, либо №2(u) = 2"+I, Wg2(u)=0. Далее нам потребуется следующее теоретико-числовое утверждение. Лемма 6.96. Пу&ть k — натуральное число, k^2 и а, b — це- лые числа (а > 6 0) такие, что выполнено равенство 2k = а2 + Ь2. Тогда ' a2 = 2k, b = 0, если k — чётное, а = Ь = если k — нечётное. Доказательство. Если Ь = 0, то лемма, очевидно, выполнена. Пусть а и b удовлетворяют условиям леммы, причём b 0. В ка- ноническом разложении чисел а и b на простые множители выделим наибольшие степени 2, на которые эти числа делятся: а = 2sа и Ь = 2* (3, где s 0, t 0, а, /3 — нечётные. В этих обозначениях справедливо ра- венство 2k = 22sa2 + 22t/32. (6.23) Отметим, что поскольку числа а и /3 нечётные, то их квадраты а2 и /З2 также нечётные. Предположим, что s < t. В этом случае равенство (6.23) можно пере- писать в следующем виде 2k =22s(a2 4- 22(/~s)/?2) или 2k~2s =а2 + 22(/-s)(З2.
262 Глава 6. Нелинейность Поскольку о? — нечётное и t >s, то справа стоит нечётное число и мы приходим к противоречию. Итак, s > t. В этом случае равенство (6.23) можно переписать в сле- дующем виде 2k = 22/(22(s-/)a2 4- /З2) или 2*“2Z = 22(s-0a2 + /З2. Поскольку /З2 — нечётное, то отсюда заключаем, что s = t. Таким образом, последнее равенство принимает вид 2k~2t = а2 + /З2. (6.24) Пусть а = 2Л + 1 и /3 = 2В 4-1, где А и В — некоторые целые числа, тогда 2k~2t = (2А 4-1)2 + (2В 4-1)2 = 4(Л2 4- В2 4- А 4- В) 4- 2. Поскольку правая часть последнего равенства делится на 2, но не де- лится на 4, то это равенство возможно только в том случае, когда k — 2/ = 1, а = (3=\. Таким образом, при 6^0 получаем k = 2t 4-1, s = t, a = b=2^~^2. □ Теорема 6.97. Функции gi, являются взаимно дополня- ющими платовидными функциями порядка п — 1 тогда и только тогда, когда выполнено одно из двух эквивалентных условий'. 1) Г2 (и) 4- №22(u) = 2"+1 для любого и eVn; 2) Agl (и) 4- Ag2(H) = 0 для любого ненулевого и е Vn. Доказательство. Поскольку п 4- 1 — чётное число, то в силу лем- мы 6.96 условие 1) выполнено тогда и только тогда, когда для любого ueVn либо Wgi(u) = 0, W22(u)=2n+\ либо Г2 (м) = 2л+1, Wg2(u) = 0, т.е- §2 ~~ взаимно дополняющие платовидные функции порядка п — 1. Воспользовавшись следствием 2.81, получаем (Д^(ио) 4- Д^2(ио), Д^(wi) 4- ДЯ2(М1),..., Д^(а2«-1) 4-&g2(uzn_\))Hn = = (1^2 («о) + ^2 (и0), Г2 (U,) + Г2 (Ы1), ... .... ^(игп-О + Г^и^-,)). (6.25) Отсюда в силу известных свойств матрицы Нп заключаем, что условия 1) и 2) эквивалентны. □ Задача 6.98. Доказать, что свойство «быть парой взаимно дополня- ющих платовидных функций порядка п — 1» сохраняется при: 1) одновременной невырожденной линейной замене переменных в паре функций; 2) добавлении к каждой функции одной и той же линейной функции; 3) произвольных сдвигах переменных.
§6.5. Платовидные функции и ч.о. (бент-)функции 263 Задача 6.99. Доказать, что если g\, g% — взаимно дополняющие пла- товидные функции порядка п — 1, то О ^g\ 2) одна и только одна из этих функций уравновешена. Из определения пары g2 взаимно дополняющих платовидных функций порядка п — 1 вытекает, что №gl (и) ± №g2(u) = ±2<п+1)/2 для всех и е Vn. Это даёт возможность определить, как и в общем случае бент-функций, понятие дуальных функций gi(u), (“) - ^2(") = (-l)b(w) • 2(л+1)/2. Теорема 6.100. Переход к дуальным функциям сохраняет свой- ство «быть парой взаимно дополняющих платовидных функций порядка п- 1» и при этом g\ = gi, g2 = g2- Доказательство. Воспользовавшись равенствами (6.26), получаем =2'^ E[rgl(u) + Wg2(«)](-!)<“•”> = uey„ W~g2(v) = £ =2-^ £ [Fg,(U) - rg2(u)](-l)<“^ = ueV/i uE.vn = 2^T" [(—l)gl(v) - (-l)g2<°>]_ Отсюда легко получить, что W-* (v) + W&(v) = 2”+1 для любого v G Vn, Wgl (v) + Wg2(v) = (-l)gl<v) . 2<"+‘)/2, UZg| (v) - U^2(v) = (-J)ft(v). 2<n+'»/2. □ Теперь перейдём к исследованию взаимосвязи платовидных функций с м.-н. (бент-)функциями. Для этого рассмотрим для произвольной функ- ции f eFn пару сужений f на некоторую гиперплоскость и её смежный класс. Пусть L С Vn — гиперплоскость, dim L = п — 1, е е (\ L) U— такой вектор, что (е, е) = 1. Тогда, очевидно, любой вектор хе Vn одно- значно представляется в виде х = х' Фее, x'eL, eeF2,
264 Глава 6. Нелинейность а любая функция / однозначно представляется в виде /(V ф ее) = е f \L (*') ф (s ф 1) f | Vn\L (/). (6.27) Это представление является обобщением хорошо известного разло- жения булевой функции по одной переменной. При этом мы считаем, /к = /1€Л-1, f\vn\L = fz Е Л-ь Пользуясь представлением (6.27), простыми вычислениями легко получить, что для любого uf G L выпол- нены равенства Wf(u') = Wfl(и1) + Wh(u'), Wf(u'фе) = Wfl(u') - Wk(u') и поэтому Wf(u') + ф е) = 2(Wft (и') + Wf2(u')). (6.28) Теорема 6.101. Функция является м.-н. (бент-)функцией тогда и только тогда, когда Д, /2 Лг-i — пара взаимно дополня- ющих платовидных функций порядка п — 2. Доказательство. Поскольку п + 1 — нечётное, то в силу леммы 6.96 равенство Wj(u') + Wf(u! фе) = 2"+1 эквивалентно тому, что / -м.-н. (бент-)функция, а в силу (6.28) оно же эквивалентно тому, что f\, f2 — пара взаимно дополняющих платовидных функций порядка п — 2. □ Задача 6.102. Пусть п — чётное, / е TSz, z € {1, 2, ./г}, х = (х(1), ... ..., х(п))т е Vn, у = (х(1), .х^1~~х\ ..., х(л))т е Vn~\. Положим Л(х0)? *(")) = f(x(i), хо-1)> 0, х(/+1)? f2(x^, ..., х«~х\ ..., х(п)) = /(х(1), ..., Х^~Х\ 1, *(")). Показать, что f является м.-н. (бент-)функцией тогда и только тогда, когда g(y) = (x(z) ф l)/i(y Ф и) ®xV)f2(y ф v) — м.-н. (бент-)функция при любых и, ve Vn-\- § 6.6. Гипер-бент-функции Воспользуемся представлением булевых функций с помощью следа для определения расширенного преобразования Уолша—Адамара. Бу- дем естественным образом (см. §2.2) переходить от поля F2« к про- странству Vn и обратно. В данном параграфе полагаем везде п — чётное, п = 2т. Любая аффинная функция 1и,Дх) = (и, х) фе, ueVn, ее¥2, может быть представлена в виде Iu,e(x) = Тг(амх) ф е, где аи — подходящий эле- мент из поля F2«. Кроме аффинных функций рассмотрим также булевы
§ 6.6. Гипер-бент-функции 265 функции из Fn, получаемые с помощью следа из мономов вида ах5, а е F2*, s > 1, s е Пл (см. §2.2). Положим 8 An = {Тг^лг5) ф 6 | л Е Р2л> s € Пл, £ С F2}. (6.29) Напомним, что s — минимальный представитель по модулю 2п — 1 и НОД($, 2"-1) = 1. Определение 6.103. Пусть ftFn. Положим Wf(a, s) = (-1)/(х)фТг(аЛ (6.30) Х£.И?2П где a€F2«, selln. Будем называть Wf(a, s) расширенным преоб- разованием Уолша—Адамара, EWHT (extended Walsh—Hadamard transform) функции /. Легко заметить, что обычное преобразование Уолша—Адамара сов- падает с Wf(a, 1). Задача 6.104. Перенести на EWHT известные свойства обычного преобразования Уолша—Адамара. Воспользовавшись EWHT, можно обобщить понятие нелинейности следующим образом. Определение 6.105. Обобщённой нелинейностью (generalized nonlinearity) GNf булевой функции f EFn называется минимальное рас- стояние от функции f до множества ЕАп, которое очевидно, может быть вычислено с помощью соотношения GN, = 2"“' - 1 max lrz(a, s)l . (6.31) senn Таким образом, считая все функции из 8Ап «плохими» с крипто- графической точки зрения, мы определяем криптографическое качество конкретной булевой функции как расстояние до множества £Ап- Продол- жая аналогии с обычным преобразованием Уолша—Адамара и учитывая, что выполнено обобщённое равенство Парсеваля, введём следующее по- нятие. Определение 6.106. Булеву функцию f будем называть гипер- бент-функцией (hyper-bent function — г.-б.-функция), если выполнено соотношение Wf (a, s) = 52 (-l)/w®Tr(axS) = ±2"/2, xGF2n для любых а € F2«, s € Щ.
266 Глава 6. Нелинейность Множество гипер-бент-функций будем обозначать НВп- Очевидно, что НВп С Вл. Далее мы ограничимся кратким представлением (без соответствующих доказательств) лишь одного класса г.-б.-функций. Подробности читатель может найти в [423]. Мы будем использовать обозначения главы 5. Для булевой функции f eFn укороченную строку её значений будем обозна- чать Q^ = (/(l), /(а), Да2"-2)), где а — примитивный элемент поля F2«- Периодом её будем называть минимальный период последователь- ности Qp Qp Qp .... Пример 6.107. Пусть п = 2т, feFn, Д0) = 0, и период равен 2т + 1. Функция f является г.-б.-функцией тогда и только тогда, когда wt(/(l), Да), .... /(а2'"+1)) = 2т-1. Очевидно, что мощность построенного класса г.-б.-функций равна 2т + 1 \ 2^-1 )• Интересен этот класс г.-б.-функций тем, что он совпадает с классом PS (см. §6.3) бент-функций, построенным ранее Дилло- ном [191, 192]. § 6.7. Биортогональные базисы Определение 6.108. Систему из 2п булевых функций еа(х), ot,xeVn будем называть биортогональным базисом, если выполнены условия 52 (-l)e“w(-1)^ = 0, еслиа0/3, (6.32) xev„ 52(-l)e“w(-l)e“(y)=O, если х ± у. (6.33) aev„ Это означает, что система функций еа(х) задаёт два ортогональных базиса в 2п -мерном действительном векторном пространстве. Векторы первого базиса — это ((-1)ва(х,), ..., (-l)***^)} всех а е yni векторы второго базиса — это ((_ 1)е«|(х), (— 1)е«2Дх)) для всех хе Vn', здесь {%1, ..., х24, {<*1, •••, «2я}“Две произвольных фиксированных ну- мерации элементов пространства Vn. На языке матриц условия (6.32), (6.33) означают, что (2Л х 2Л)-матрица ((-l)eot(x)), a, xeVn является
§ 6.7. Биортогональные базисы 267 матрицей Адамара по строкам (условие (6.32)) и по столбцам (усло- вие (6.33)). Из теории векторных пространств хорошо известно, что лю- бой вектор однозначно разлагается по ортогональному базису, причём коэффициенты разложения легко выражаются с помощью операции ска- лярного произведения. Применительно к рассматриваемому случаю буле- вых функций это разложение и выражения для коэффициентов выглядят следующим образом В Да) = (_])/(*)(_ 1)е<*(х) дли всех а е (6.34) (_1)/W = X ВДа)(-1)е“(х) для всех хе Vn. (6.35) <*evn Обозначение В Да) и нормирующий коэффициент выбраны так, чтобы в случае еа(х) = (а, х) получить В Да) = й7Да) и возвратиться к пре- образованию Уолша—Адамара. Кроме модельного простейшего случая еа (х) = (а, х) полезно рассмотреть следующий важный класс биортого- нальных базисов. Пример 6.109. Пусть n = k + 2l и поэтому любой вектор xeVn можно представить в виде х = (х(1), х(2)), где е Vk, Ф V21. Пусть <р(х®) — некоторая бент-функция. Положим еа(х) = е(о(п>а(2))(х(1), х(2)) = <а(|), х(1)) ф<р(х(2) фа(2)). Система еа(х) является биортогональным базисом. Условия (6.32), (6.33) легко проверяются с учётом того, что <^(х(2)) — бент-функция: (*){—1)^/3 (*) — _ । Дос(|)ф/3(1),х(1)) |^(а(2)®х(2))ф<^(/3(2)фх(2)) _ q x^evk x^ev2i если (а(1), а(2)) (/Э(1), /3(2)), _ 1 Дх(1)ф«/(1),а<1)) . р^(а(2)фх(2))ф</?(а(2)фу(2)) _ q CL^eVk если (х(1), х(2)) 7^ Заметим теперь, что на языке теории кодирования из равенства (6.34) легко получить выражение для расстояния Хэмминга от вектора значений
268 Глава 6. Нелинейность булевой функции f(x) до вектора значений булевой функции еа(х): dist(ftx), еа(х)) =2"-' - ^ВДа). (6.36) Отсюда, в частности, следует, что ближе всего (в смысле расстояния Хэмминга) к функции /(х) из системы еа(х) лежит функция еао(х) с тем номером с^еУп, для которого число ВДао) максимально среди всех В Да). Тем самым задача аппроксимации булевых функций элементами биортогонального базиса сведена к задаче нахождения max В Да). Чтобы ещё больше подчеркнуть преемственность рассматриваемого общего случая биортогонального базиса по отношению к модельному случаю еа(х) = (а, х), некоторые результаты удобно изложить на язы- ке теории кодирования. Для этого введём ещё одно новое понятие. Определение 6.110. Кодом Адамара Н(еа(х)) назовём множество строк, которые являются векторами значений булевых функций еа(х), еа(х) ф1, ае Гя, где еа(х) — некоторый биортогональный базис. Код Адамара, вообще говоря, нелинейный, кроме случая еа(х) = (а,х), когда код Адамара совпадает с кодом Рида—Маллера первого порядка. Значения основных параметров кода Адамара сведём в одно утверждение. Теорема 6.111. Произвольный код Адамара имеет следующие параметры. а) длина 2п; б) мощность 2п+1; в) кодовое расстояние 2Л-1; г) радиус покрытия <2n-i — 22”1. Доказательство. Утверждения а) и б) очевидны, утверждение в) вытекает из (6.32). Для доказательства утверждения г) докажем для чи- сел Bf (a), f € Тть аналог равенства Парсеваля. Из (6.34) с учётом (6.33) имеем Е 52 £ (_])/W(_])№)(_]roW(_])e»(S) = ocEVn ctevn x,yevn = 52 (-1)/w(_,)z<s) <6-37) x,yevn aevn Отсюда min max |B/(a)| 2n^. (6.38) / 1 M 71 С учётом (6.36) мы приходим к утверждению г). □
§ 6.7. Биортогональные базисы 269 Теорема 6.112. Если п = 2т + 21, <^(л/2)) — некоторая бент- функция, еа(х) = е(ск(1)>ск(2))(х(1), х(2)) = (а(1), х(1)) ф^(х(2) ф а(2)), а(1\ х(1) е V&n, «(2), х(2) £ V21, то радиус покрытия кода Адамара Н(еа(х)) равен 2Л-1 -22-1. Доказательство. С учётом доказательства теоремы 6.111 доста- точно доказать достижимость неравенства (6.38) для некоторой булевой функции f(x). Положим f(x) = /(х(1), х(2)) = ф (а, х(2)), х(1) € V2m, а, х{2} е V21, где ф(х^) — некоторая бент-функция. В соответствии с (6.34) имеем B/(a)=£(-l)^(-l)e»W = xEVn x^ev2m 1 Ф«(2))(_])<«л(2)> — *<2’€V* = (±2m)(±2Z) = ± 2"/2 для всех а=(а(1\а^)е так как <£>(х(2)), ф(х^) — бент-функции. □ Таким образом, основные параметры произвольного кода Адамара совпадают с параметрами кода Рида—Маллера первого порядка. Сравним теперь возможности аппроксимации булевых функций элементами двух биортогональных базисов: аффинными функциями (а, х)фе и функциями вида (а(1), х(1)) ф <^(х(2) ф а(2)) ф s. Из преды- дущего вытекает, что в общем случае для выбора лучшего варианта ап- проксимации достаточно сравнить два числа тах|Ц7Да)| Большее число укажет, элементами какого базиса данная функция при- ближается лучше. Реализация этого пути предполагает большой объём вычислений для нахождения max|U7f(a)| и тах|В/(а)|. Но, оказывает- aevn] 71 aevnl ' 71 ся, что некоторые предварительные выводы можно сделать, анализируя одно полезное аналитическое соотношение между Wf(a) и В Да). Лемма 6.113. Для любой булевой функции f(x) и для любой систе- мы функций еа(х) = £(a(D,a(2))(x(1), х(2)) = (а(1), ф^(х(2) фа(2)) фе из примера 6.109 выполнено соотношение Bf(a)=^ 12 (-1)</3<2,'о,<2)>(-1)да<2')^(а(1), (6.39) pwev2i где — дуальная бент-функция к функции у>(х<2)).
270 Глава 6. Нелинейность Доказательство. Подставим выражения для обратных преобразо- ваний Уолша—Адамара (-i)zw = | £ W)(-D</M, /зе vn (-vea(x} = ^ Е -уеУл в определение В Да) (6.34) и выполним элементарные преобразования Bf(a)= E(-l)/W(-l)e“W = x£Vn = E(f Е = xev„ pev„ 76 v„ P^vn \evn 7 = i £ rz(/3)reQ(/3). (6.40) Значение Wea(j3) легко находится We (/?)= (—1)<«(1)^(1)>(—1)^(«(2)®^(2))(«1)</з(П^(1)>(—1)</з(2)л(2)> = x(1)GV* x™ev2l = (-l)^«(2)®x(2))(-l)^(2)’x(2)> = №Vk ^eVu ГО, если /3(1) 7^a(1), ~ . 2k+l, если /3<‘) = a(D. Подставляя полученное выражение в (6.40), получим (6.39). □ Комментарии к главе 6 Задача о числе булевых м.-н. (бент-)функций из остаётся нере- шённой до сих пор. Поэтому представляет интерес получение асимптотик или хотя бы оценок для #В2П. Основываясь на результате теоремы 6.28 (см. [363]), легко получить следующую верхнюю оценку для ##2л #В2„ ^21+2п+-+(и) =222'"'+И2пп).
Комментарии к главе 6 271 Однако для 2п = 6 (максимального значения 2п, для которого извест- но точное число м.-н. (бент-)функций, см. [357]) имеем ##б = 232, что 25_|_1(6А л 9 значительно меньше, чем 2 2\з/ = 2 . Нижние оценки для можно получать с помощью оценок мощно- стей различных классов м.-н. (бент-)функций (см. §6.3). В работе [103] при 2п = 8 получена следующая нижняя оценка ##8 1 559 994 535 674 013 286 400 с±270'4. Верхнюю оценку #В2, « 2!-1 + И2”)(1 + е) + 1 -I(2“) при 2п 6 можно найти в [161]. Представление м.-н. (бент-)функций в виде сумм индикаторов линейных пространств (теоремы 6.20, 6.21) рассмотрено в [149, 150]. Различные классы (семейства) булевых м.-н. (бент-)функций исследовались в большом количестве работ. Отметим лишь основные из них [7, 146, 147, 191, 192, 197, 312, 363]. Концеп- ция частично м.-н. (частично бент-)функций рассмотрена в [144, 145]. Платовидные функции (см. [159, 438]), естественным образом связан- ные с частично определёнными функциями, и их свойства описаны в [39, 40]. Важно отметить также тесные связи между м.-н. (бент-)функциями и платовидными функциями (см. [439]). Ещё несколько слов о возможных обобщениях понятия нелинейно- сти. Как уже отмечалось (см. §6.1), в качестве «плохих» функций могут быть выбраны различные классы функций. В частности, таким классом CSn могут быть функции из обладающие нетривиальным простран- ством линейных структур. Ясно, что CSn эАп. В работе [314] показано, что dist(/, CSn) < 2п~2 для любой функции f и расстояние до CSn удовлетворяет свойству аффинной инвариантности. В качестве другого класса «плохих» функций можно рассматривать класс булевых функций вида {Tr(axs) Os} (см. §6.6). Функции, максимально удалённые от этого класса, в работе [423] названы «гипер-бент-функциями». Этот термин, однако, ранее был использован в работе [152] при описании принципи- ально иного свойства функций. Необходимо отметить также одну особенность, связанную с попыт- ками обобщения понятия «максимально-нелинейная функция» и «бент- функция» на отображения, определённые на различных алгебраических структурах (конечные поля, кольца, группы и т. п.). «Счастливо» совпадая в булевом случае, эти два понятия не являются тождественными в общем случае. Некоторые авторы упускают это из вида. Результаты по этому направлению можно найти в [3, 45, 174, 304, 329, 340].
Глава 7. Корреляционная иммунность и устойчивость Свойства корреляционной иммунности булевых функций (см. [389, 392]) и устойчивости булевых отображений (см. [111, 172]) истоками своими имеют совершенно различные криптографические задачи. Од- нако внутренние сущностные (с точки зрения математики) особенности этих свойств находят своё выражение в одинаковых легко формулируе- мых количественных характеристиках булевых функций и отображений. Изучению этих свойств и их связей с другими криптографическими свой- ствами посвящена настоящая глава. §7.1. Основные определения и свойства Понятие корреляционной иммунности (см. [389, 392]) булевой функ- ции отражает её способность противостоять корреляционному методу анализа (см. §9.3). Отвлекаясь от нюансов этого криптографического метода, можно сказать, что это свойство означает отсутствие какой- либо информации в известном значении булевой функции о значениях некоторого подмножества её аргументов или о значениях некоторых функций от её аргументов. В противном случае, т. е. если такая информа- ция есть, можно пытаться использовать эту информацию для того, чтобы «добраться до ключа». Естественно, что эти рассуждения справедливы в условиях определённой вероятностно-статистической модели. С целью корректного и полного формулирования свойства корреля- ционной иммунности напомним некоторые вероятностно-статистические и теоретико-информационные понятия. Пусть X — случайная величина, принимающая значения в конечном множестве U, и Р{Х = и}, и е U, — её распределение вероятностей. Определение 7.1. Мерой (логарифмической) неопределённости события X = и называется (см. [34, 213]) величина l(X = и) = log —!—т = - log Р{Х = и}.
§7.1. Основные определения и свойства 273 Мы не будем фиксировать пока основание логарифма, поскольку оно лишь указывает на используемую шкалу измерения информации. В за- висимости от приложений возможны двоичные, натуральные, физические шкалы (см. [34, 77, 213]). Неопределённость всегда неотрицательна и увеличивается с умень- шением Р{Х = и}. Заметим, что если Р{Х = и}= 1, то неопределённость 1(Х = и) = log ~ О’ т-е- событие X = и почти наверняка произой- дёт и никакой неопределённости нет. Если Р{Х = и} = 0, то неопреде- лённость 1(Х = и) = log = °°> что соответствует уверенности, что событие X = и почти наверняка не произойдёт. Очевидно, что / является числовой случайной величиной, принимающей значение 1(Х = и) с веро- ятностью Р{Х = и}, ие U. Определение 7.2. Энтропией Н(Х) случайной величины X назы- вается математическое ожидание логарифмической меры неопределённо- сти /, определяемое выражением Н(Х) = £ Р(Х = и) log = - £ Р(Х = и) log Р{Х = и} иеи иеи (здесь считаем, что 0 log 0=1). Пример 7.3. Пусть X— двоичная случайная величина, принимаю- щая значение 1 с вероятностью р и значение 0 с вероятностью 1 - р, 0 < р < 1. Выберем в данном случае основание логарифма равным 2. То- гда энтропия X имеет вид Н(Х) = Н(р) = -р log2 р - (1 - р) log2(l - р). Функция Н(р) удовлетворяет следующим условиям /7(0) = //(!) = 0, 0^Н(р)^1. Эти свойства показывают, что в случаях р = 0; 1 энтропия минималь- на, т. е. мы заранее знаем, каково будет значение случайной величины. Очевидно, энтропия максимальна, когда р = 1 — р = Н = 1. Пусть Z — другая случайная величина, принимающая значения из множества V и P{Z = v}, и eV, —её распределение. Будем обо- значать через Р{Х = и, Z = и}, ueU, v е V, совместное распределение случайных величин X и Z, при этом ^Р{Х = и, Z = v} = Р{Х = и}, ^2 р{% = “> Z = и} = P{Z = v}. v€.V uEU
274 Глава 7. Корреляционная иммунность и устойчивость Определение 7.4. Случайные величины X и Z называются незави- симыми, если для всех utU и v е V выполнено равенство Р{Х = и, Z = и} = Р{Х = и} • P{Z = v}. (7.1) Условное распределение случайной величины Z при условии выпол- нения события X = и имеет вид P{Z = v\X=u} = Р{Х^-и} Р}’ иеК vev 7 vev Условная энтропия случайной величины Z при условии выполнения со- бытия X = и задаётся соотношением H(Z IX = и) = - 52 Я2 = V | X = и} log P{Z = v IX = и}. vev Условная энтропия случайной величины Z относительно случайной вели- чины X определяется как среднее значение энтропии случайной величины при условии выполнения события X = и: щг । х)=52 =u}H(z ।х=и) = иеи = - 52 Р{^ = «} 52 V{Z = v\X = u} \Qg?{Z = v\X = u} = иеи vev =- 52 52 r^x=“>z=io£p{z=v । x= ueu vev Легко показать, что H(X, Z) = Н(Х) + H(Z\X)= H(Z) + H(X I Z). Определение 7.5. Взаимная информация I(X, Z) случайных вели- чин X и Z определяется выражением /(X. Z) = РИ = u. Z = »| log "4г~Л, - С-2> u&j uev Ясно, что взаимная информация неотрицательна и простыми вычис- лениями легко показать, что /(X, Z) = Н(Х) - Н(Х I Z) = H(Z) -H(Z\X).
§7.1. Основные определения и свойства 275 Другими словами, взаимная информация 1(Х, Z) равна уменьшению в среднем неопределённости случайной величины Z при условии, что известно значение случайной величины X. Аналогично, взаимная инфор- мация /(X, Z) равна уменьшению в среднем неопределённости случайной величины X при условии, что известно значение случайной величи- ны Z. Таким образом, уменьшение неопределённости совпадает в обоих случаях, что означает—случайная величина Z содержит о случайной величине X столько же информации, сколько случайная величина X содержит информации о случайной величине Z, а именно, /(X, Z). В дальнейшем нам потребуется следующее утверждение. Лемма 7.6. Взаимная информация случайных величин равна ну- лю тогда и только тогда, когда эти случайные величины незави- симы. Доказательство. Если случайные величины X и Z независимы, т. е. для любых utU и veV выполнено равенство (7.1), то очевидно, что /(X, Z)=0. Докажем обратное. Пусть /(X, Z) =0. Поскольку ^P{X = u}P{Z = u}=l, иеи veV то согласно известному неравенству ([301]) между средним арифметиче- ским и средним геометрическим П/Р{Х = U}P{Z = и}\ nx^z^v} \ Р{Х = и, Z = v} ) ’ иеи uev причём равенство выполняется тогда и только тогда, когда для любых utU, veV выполняется соотношение (7.1). Логарифмируя обе части последнего неравенства (без нарушения общности считаем, что логарифм натуральный) и умножая на —1 обе части получившегося неравенства, имеем '<*• Z) = £ PU = и. Z = ») log г 0. ueU vev причём равенство выполняется тогда и только тогда, когда для любых и е U, v € V выполняется соотношение (7.1). Поскольку в соответствии с нашим предположением /(X, Z) = 0, то соотношение (7.1) выполняется для любых и е U, v € V. Следовательно, случайные величины X и Z не- зависимы. □
276 Глава 7. Корреляционная иммунность и устойчивость Пусть fGFn, Х*1*, Х(2), ..., — независимые одинаково распре- делённые двоичные случайные величины, закон распределения которых имеет вид Р{Х(,) = 0} = Р{Х(,) = 1} = 1/2, 1 = 1,2, Случайная ве- личина Z — /(Х(1), Х<2), ..., Х(п)) распределена следующим образом P{Z = 1} = ^, P{Z = O}=1-^. Определение 7.7. Булева функция f(x^\ x(2), x^) eFn называ- ется корреляционно-иммунной порядка m,0 <m^n, если для любого набора 1 < i\ < /’2 < ... < im < п выполнено соотношение /(Х<;....Z)=0, Где = (%(й), Х^\ Другими словами, булева функция /(х(1\ х(2), ..., х^) назы- вается корреляционно-иммунной порядка т, если для любого набора 1 ^/1 <1<2<...<лт^п случайные величины = (Х(1,\Х^2\ ...,ХМ) и Z = ДХ(1), Х(2), независимы. Легко понять, что для т — п корреляционно-иммунными функциями порядка т в Fn являются только функции-константы: / = 0, f = 1. Лемма 7.8. Булева функция х(2), ..., x(n)) € JSi является корреляционно-иммунной порядка т, 0 < т < п, тогда и только тогда, когда для любых наборов 1 i\ <1%<... <im^n, а^ е F2, j = 1, ..., т, выполняются соотношения (7.3) _ wt(f) WlV/l..im ) ~ Доказательство. Пусть булева функция Дх(1), х(2), ..., х(п)) является корреляционно-иммунной порядка т. Тогда согласно лемме 7.6 для любого набора 1 1\ < /2 < ... < im ri случайные величины X(z*’ и Z = f(X^\ Х(2), ..., Х(л)) независимы, т.е. r{X(il...= ..., a(m))\Z = b} = _ P{Xil....... = (д(1), ..., a*m)), Z = b} _ P{Z = 6} = P{X(Z......^ = (a^, (7.4) при любых аД), а(2), а(т), дг2 Выразим теперь эти вероятности при
§7.1. Основные определения и свойства 277 b = 1 через параметры функции /. Очевидно, что P{Z=\}=^T P{X(i' P{X(i.......'т) = (а(|), а(т))} = 2~т. Подставляя эти выражения в соотношение (7.4), получим Wt(/) 2т ' Докажем обратное. Предположим, что при любых наборах 1 < ii < 1% < ... ... < Z /у/ Tl у oS }, aS ), ..., CL^ ), Z?eF2 выполняется соотношение (7.3). Проведя рассуждения в обратном порядке, мы получим справедливость соотношения (7.4) при b = 1. Покажем справедливость соотношения (7.4) при b = 0. Легко видеть справедливость следующей цепочки равенств Р{Х(‘.... = (а(|), ..a<m)) I Z = 0} = Р{Х(‘.. ~^ = 0} Z ~°* = _ P{X(i'..,") = (а% а(т))} P{X(i... = (а"’, а(т>), Z = 1} _ " 1 -P{Z~1} 1 - P{Z = 1} ” = 1 (9-т _ А = 1 (9-т _ 2-CT-wt(f)\ _ wt(/) 2я / , _ wt(/) \ 2я / 1 2я 1 2я = 2~т = Р{Х(‘..= (а(1), ..., Следовательно, при любых наборах 1 < i\ < z2 < случайные величины хОь...,/т) и / независимы. Тогда согласно лемме 7.6 функция f является корреляционно-иммунной порядка т. □ Задача 7.9. Доказать, что корреляционно-иммунная порядка т функ- ция из является корреляционно-иммунной функцией любого меньшего порядка. С учётом задачи 7.9 естественно ввести следующее обозначение: cor / = max {т € N | f — корреляционно-иммунна порядка т }. Справедлива следующая характеризация корреляционно-иммуйных функций с помощью коэффициентов Уолша—Адамара.
278 Глава 7. Корреляционная иммунность и устойчивость Теорема 7.10. Булева функция f<EFn корреляционно-иммун- на порядка т тогда и только тогда, когда Wf(u)=0 для всех векторов ueVn таких, что 1 < wt(tz) < т. Доказательство. Пусть f(x(1), х(2), ..., х^) — корреляционно-им- мунная функция порядка т, ueVn, wt(u) = m. Обозначим (/1 < /2 < ... < im) номера координат вектора и, которые равны единице. Тогда выражение для коэффициента Уолша—Адамара Wf(u) примет вид Wf(u) = (— (7.5) xeVn x€Vn Разбивая сумму (7.5) на 2т подсумм с фиксированными значениями ко- ординат х^ и используя лемму 7.8, получим Wf(u)= ...фх(/"г) xEVn f«(0..01_|) O1 + 1) = E (-о-1 E ......................in ’ ^...„а^еЕг . x(/)eF2 •••Лт j^O’m + O x^) х(/)еРг /^Й, ---Лт х(/|“1),х(/|+1),x^m~x\x^m+i\ х(п))) = = [2"-”-^] Е <-1Л"=0 Воспользовавшись далее результатом задачи 7.9, получим, что Wf(u) = 0, wt(u) = 1, 2, ..., т - 1. Докажем обратное. Пусть Wf(u)=0, 1 ^wt(u) ^т. Тогда согласно задаче 2.41 имеем для произвольного вектора и, wt(zz) =m £ Wf(x) = 2" - 2m+l <7-6) xevn x=^u где z‘i, ..., im — номера координат вектора и, которые равны единице. По нашему предположению, в левой части последнего равенства сум- ма равна нулевому коэффициенту Уолша—Адамара W/(0), который, в свою очередь, выражается через вес функции f следующим образом:
§7.1. Основные определения и свойства 279 Wf(Q) = 2П — 2 • wt(/). Подставляя это выражение в (7.6), получим Пусть Ь = (0, ..., О, 0, ..., О, а^т\ 0, ..., 0) е Vn. Рассмотрим бу- Й леву функцию ^(х) = /(хф&). Очевидно, что = (— IF/(x), wt(<p?’"M^) = wt(/? ). Используя теперь равенство (7.6) для функ- ции и проведя аналогичные рассуждения, получим = Р-7) для любого вектора (а(1),..., а<т)), т. е. функция f корреляционно-иммун- на порядка т. □ Следствие 7.11. Справедливо равенство cor f = max{m6N| {не 14, и/ 0| Wf(u) = 0}D{не Vn 11 < wt(u) <т}}. Приведённые определения корреляционной иммунности и утвержде- ния отражают криптографическую мотивацию и исторически обусловлен- ную логику развития этого понятия. С чисто математической точки зрения можно развивать понятие корреляционной иммунности, начиная с «ло- кальных» определений. Приведём эскиз такого подхода. Пусть /, g е Рп, ., Х^, как и выше, случайные равновероятные независимые входы этих функций, ре = P{f(X) = s}, р' = P{g(X) =s}, pe,6=P{f(X)=e, g(X)=3}. Задача 7.12. Доказать, что при любых е, 6 е F2 выполнено равенство РеР'б - Ре.& = (ре ~ “ |) + J [^ “ (РеЛф! + Реф1.<5>]• Следствие 7.13. Два свойства булевых функций «независимость случайных величин f(X), g(X)» и «равенство нулю взаимной кор- реляции Af,g» эквивалентны тогда и только тогда, когда одна из случайных величин f(X), g(X) равновероятна. Определение 7.14. Булева функция f еРп называется корреляци- онно-иммунной по направлению и е Vn, если случайные величины f(X) и (и, X) независимы. Лемма 7.15. Булева функция fEPn корреляционно-иммунна по направлению и eVn тогда и только тогда, когда Wf(u) =0. Определение 7.16. Уравновешенная булева функция f еРп удовле- творяет критерию распространения по направлению и е Vn, если
280 Глава 7. Корреляционная иммунность и устойчивость случайные величины f(X) и f(u<&X) независимы (ср. с определения- ми 2.110, 8.68). Лемма 7.17. Уравновешенная булева функция f удовлетво- ряет критерию распространения по направлению ueVn тогда и только тогда, когда Af(u) = 0. Приведённые утверждения придают «локальный» криптографический смысл нулям коэффициентов Уолша—Адамара функции f и нулям функции автокорреляции. Фактически именно эти «локальные» свойства дают возможность изучать «интегрально» свойство корреляционной им- мунности булевых функций и критерии распространения. Поэтому боль- шой интерес для криптографии представляет изучение следующих мно- жеств, связанных с данной булевой функцией f PCZ = {и е Vn | Az(a) = 0}, Clf ={ueVn\ Wf(u) = 0}. Задача 7.18 (нерешённая). Пусть M С Vn — некоторое множество. Найти эффективные необходимые и достаточные условия, при которых существует булева функция f такая, что: 1) PCZ=M; 2) CIf=M. Задача 7.19. Доказать, что булева функция f корреляционно- иммунна порядка т тогда и только тогда, когда Wf (и) = 0 для всех век- торов и е Vn таких, что 1 wt(u) < т. Задача 7.20. Доказать, что сог = cor f ДЛЯ любой f и любой 0 G Задача 7.21. Пусть feFn, /е 7^ —функции от непересекающихся переменных и / — аффинная функция. Доказать, что {сог А если f — неуравновешенная; k + сог А если f — уравновешенная. Теорема 7.22. 1. Если f сог f = т^п— 1, то для любого век- тора и eVn выполнено сравнение Wf(u) =0 (mod 2'n+1). 2. Если f EJ-n. является уравновешенной, сог f = т < п — 2, то для любого вектора и eVn выполнено сравнение Wf(u) = 0 (mod 2'”4’2). Доказательство. Пусть сог f = т^п— 1, тогда wt(/) = 2m wt(/^(;j;;;aM),
§7.1. Основные определения и свойства 281 т.е. wt(/) делится на 2т. Проведём доказательство индукцией по wt(u). Если и = 0, то Wf(0) = 2п — 2 • wt(/). По условию теоремы п т 4- 1, по- этому 2п делится на 2"1+1. Следовательно, Wf(0) = 0 (mod 2"l+1). Для 1 < wt(u) < т все коэффициенты Уолша—Адамара Wf(u) соглас- но теореме 7.10 равны нулю. Пусть утверждение справедливо для всех векторов с весом меньшим, чем wt(u), wt(u) = t т 4- 1. Согласно след- ствию 2.41 имеем 52 Wf(v) = 2п — 2wt(u)+l ;;«), veVn V^li где z’i, /2, // — номера координат вектора и. которые равны единице. Правая часть равенства, очевидно, делится на 2АП+1. В левой части ра- венства по индуктивному предположению на 2ш+1 делятся все слагаемые, кроме, может быть, Wf(u). Но тогда и Wf(u) =0 (mod 2'п+1). Тем самым первое утверждение теоремы доказано. Пусть теперь f является уравновешенной, cor f = т < п — 2. Прове- дём доказательство также индукцией по wt(u). Если и = 0, то W/(0) =0 в силу уравновешенности функции. Для 1 < wt(u) < т все коэффициен- ты Уолша—Адамара Wf(u) согласно теореме 7.10 равны нулю. Пусть утверждение справедливо для всех векторов с весом меньшим, чем wt(zz), wt(u) = t т 4-1. Согласно следствию 2.41 имеем 52 Wf(v) = 2п - 2wt(u)+1 veVn v^u. где z’i, Z2, // — номера координат вектора и, которые равны единице. Правая часть равенства, очевидно, делится на 2'п+2. В левой части ра- венства по индуктивному предположению на 2ш+2 делятся все слагаемые, кроме, может быть, Wf(u). Но тогда и Wf(u) =0 (mod 2/п+2). □ Следствие 7.23. 1. Если f е cor f < п - 1, то NWf < 22(л-1“сог 2. Если f eFn уравновешена, сог / п - 2, то NWf 22(л-2“сог Задача 7.24. Доказать следующие утверждения: 1) Если f е cor / = rz - 1, то / — аффинная функция. 2) Если уравновешена, cor f = п — 2, то f — аффинная функция. Из теоремы 7.22 с использованием задачи 2.47 вытекает следующее важное утверждение: Теорема 7.25 (неравенство Зигенталлера). Для любой справедливо неравенство deg f 4- cor f < n.
282 Глава 7. Корреляционная иммунность и устойчивость Если, кроме того, f е^п уравновешена, сог f гг — 2, то deg f + сог f < п - 1. Концепция устойчивых (resilient) отображений была предложена в ра- ботах [111, 172]. Эти отображения были связаны с такими областями исследований, как распределённые вычисления, устойчивые относительно ошибок, и выработка общих ключей для квантово-криптографических ка- налов связи. Сущностным свойством устойчивых отображений является способность оставаться уравновешенными при некоторых ограничениях их области определения. Определение 7.26. Пусть Ф = (/i, ..., Д) G 7^, п k 1. 1. Отображение Ф устойчиво относительно подмножества М — = {/1,..., jd} множества {1,2,..., п}, если для любого набора (я(1), а(2),... ..., а^) е Va отображение Ф? уравновешено. 2. Отображение Ф называется (п, k, ^-устойчивым, если оно устой- чиво относительно любого подмножества М из множества {1, 2, ..., п} мощности d. Очевидно, что если отображение Ф € является (п, k, ^-устойчи- вым, то оно является (п, k, ^-устойчивым для любого d\ < d. Поэтому естественно ввести следующее обозначение: sut Ф = max{d е N | Ф является (и, k, d)-устойчивым}. Очевидно, что для любого отображения Ф G выполнено п - k sut Ф. Задача 7.27. Пусть f Доказать, что {О, если f — неуравновешенная; сог f, если / — уравновешенная. Отметим, что в соответствии с теоремой 7.10 sut / = d тогда и только тогда, когда Wf(u) =0 для всех векторов и е Vn таких, что wt(iz) d. Задача 7.28. Пусть функция / еЛ линейно зависит от некоторых $ переменных. Доказать, что sut / > s - 1. Определение 7.29. Уравновешенная корреляционно-иммунная по- рядка d функция f называется d-устойчивой. Определение 7.30. Пусть d^n — 2. Тогда d-устойчивая функция / 6 Д называется d-оптималъной, если deg / = п — d — 1.
§7.1. Основные определения и свойства 283 Если f — d-оптимальная функция, то в силу неравенства Зигентал- лера d = cor f. Замечание 7.31. С формальной точки зрения, как это принято в ря- де работ, можно рассматривать любую уравновешенную булеву функцию как О-устойчивую и произвольную булеву функцию как (—1)-устойчивую (у функции от п переменных подфункций от п + 1 переменной не суще- ствует, поэтому для любой такой её подфункции справедливо всё, что угодно). Очевидно, что введённые в определении 7.26 свойства отображений являются вторичными (см. §2.5) и к ним применима теорема 2.143. По- этому справедливы следующие утверждения: Лемма 7.32. Отображение Ф = (Л,/2, •••> АО £n^k^l, устойчиво относительно подмножества М = {/ь ..., jd} мно- жества {1,2, ...,м} тогда и только тогда, когда для любого ненулевого вектора Ь = ..., b^)T е Vk булева функция k fb = ® fi устойчива относительно подмножества М. i = l Лемма 7.33. Отображение Ф = (Л, /2, • • •, fk) £ Fn,k, n^k^ 1, яв- ляется (n, k, d)-устойчивым тогда и только тогда, когда для лю- бого ненулевого вектора Ь = (Ь^, Ь®\ ..., b^)T е Vk булева функция k f = ф b^fi является (п, 1, д)-устойчивой. /=1 Если отображение Ф = (Д, fz, ..., fk) GFnjt, n^k^l, является (n, k, d)-устойчивым, то из леммы 7.33 следует, что Ф' = (f\, fz, • fs) 6 € является (я, 5, d)-устойчивым для любого s: 1 < s < k. Лемма 7.33 показывает, что любое (п, k, d) -устойчивое отображение даёт 2k — 1 уравновешенных корреляционно-иммунных порядка d булевых функций. Задача 7.34. Пусть Ф/ £.?%> i = 1, s — отображения от непере- секающихся переменных. Доказать, что тогда Приведём несколько примеров устойчивых линейных отображений. Пример 7.35. Справедливы следующие утверждения. 1. k = I, d = п — 1, х(2\ ..., х(п)) = фх(2) ф... ф 2. k = n-\, d = l, Ф(х) = (Л(х), f2(x), fi(x)=x(i)® Фх('+1), i= 1, 2, 1. 3. n = 3h, k = 2, d = 2h—l, Ф(х) = (AW, A>W), /i(x)=x(l)®... ... фx(2h), f2(x) = x(h+l) ф... Ф x<3A).
284 Глава 7. Корреляционная иммунность и устойчивость Из леммы 7.33 и задачи 7.20 легко получить следующее утверждение. Лемма 7.36. Для любого Ф € Fn,k и любого д е%)п sut Ф0 = sut Ф. Очень важными и интересными являются вопросы существования устойчивых отображений с теми или иными значениями параметров п, k и d. Как будет показано ниже, эта проблема эквивалентна пробле- ме существования других хорошо изученных математических объектов. Начнём с вопроса о существовании линейных устойчивых отображений. Для использования методов теории кодирования при описании устой- чивых линейных отображений нам будет необходим следующий простой факт. Лемма 7.37. Матрица G размера k х п, rank G = k, является по- рождающей матрицей некоторого линейного [и, k, d]-Koda тогда и только тогда, когда d является наименьшим числом столб- цов матрицы G, удаление которых даёт матрицу G' размера k х (п — d), rank G' < k. Доказательство. Пусть d — минимальное расстояние линейного кода, порождённого матрицей С. Тогда существует ненулевой вектор хе Vk такой, что wt(xTG) = d. Удалив d ненулевых координат из xTG, получаем хтG' = (0), где матрица G' размера k х (п — d) получена из G удалением столбцов с номерами, соответствующими ненулевым коор- динатам xTG. Следовательно, rank Gf < k. Предположим теперь, что мы удалили t <d некоторых столбцов матрицы G и получили матрицу G', rank G' < k. Тогда существует ненулевой набор х G Vk такой, что xTG'= 0. Отсюда следует, что для ненулевого кодового слова xTG получаем wt(xTG) < t < d, чего быть не может. Обратно, пусть G — (k х п)-матрица, rank G = k и для неотрицатель- ного d выполняется условие леммы. Предположим теперь, что для неко- торого ненулевого набора х G Vk выполнено wt(xTG) = t <d. Тогда, уда- лив t <d подходящих столбцов матрицы G, получим (k х (п — ^-матри- цу G', для которой xTG' = (0), т. е. rank G' < k. Это противоречит усло- вию теоремы и поэтому wt(xTG) d. □ Определение 7.38. (и, k, d)-устойчивое отображение Ф G Fn,k назы- вается линейным, если оно может быть представлено в виде Ф(х) =хТМ для любого х е Vn, где М — (п х k)-матрица. Следующая теорема показывает, что линейное устойчивое отображе- ние эквивалентно линейному коду.
§7.1. Основные определения и свойства 285 Теорема 7.39. Существование линейного [п, k, й]-кода эквива- лентно существованию линейного (п, k, d — 1)-устойчивого отоб- ражения. Доказательство. Пусть G — порождающая матрица линейного [п, k, г/]-кода. Определим отображение Фе74л следующим образом Ф(х) =xTGT для любого хе Vn. Покажем, что Ф является (я, k, d — 1)-устойчивым отображением. Предположим, что мы произвольным образом выбрали 1 /1 < ... < jt t <d и а = (а(1), ..., а(/))т € Vt; (kx (п- /^-матри- ца G' получена из матрицы G удалением столбцов с номерами ..., jt. Тогда для любого xf е Vn_t имеем где Ь — некоторый фиксированный вектор. Согласно лемме 7.37 rank G' = = k. Следовательно, отображение Ф(л^) = (V)T(G')T € «линейное и сюръективное. Поэтому для любого с е Vk мощность прообраза ^(Ф/ь) (с) совпадает с мощностью ядра отображения Ф и, сле- довательно, что показывает (и, k, d — 1)-устойчивость отображения Ф. Обратно, пусть Ф(х) = xTGT — линейное (rz, k, d — 1)-устойчивое отображение, где G — (k х л)-матрица. Пусть С —линейный код длины п, порождённый матрицей G. Поскольку Ф(х) =xTGT — линейное уравно- вешенное отображение, то rank G = k. Осталось показать, что код С имеет минимальное кодовое расстояние d. Предположим противное, т. е. минимальное кодовое расстояние кода С меньше d и равно t <d. Тогда согласно лемме 7.37 можно удалить не более d — 1 столбца матрицы G, чтобы полученная матрица G' имела ранг меньший, чем k. Теперь, если мы зафиксируем соответствующие d — 1 координат х нулями, то функция °/d-i не является сюръективной, чего быть не может. Сле- довательно, минимальное кодовое расстояние кода С не меньше, чем d. Поскольку Ф не является (и, k, d)-устойчивым отображением, то су- ществуют такие наборы 1 < j\ < ... < jd < п и а = (а(1), ..., a(d))T € 14, что Ф^ ’"jj2 — неуравновешенное отображение из 14-d в 14. Следова- тельно, rank G' < k и существует ненулевой вектор у € 14, что = 0. Это влечёт за собой равенство wt(G) = d. □
286 Глава 7. Корреляционная иммунность и устойчивость Перейдём теперь к рассмотрению корреляционно-иммунных функ- ций и устойчивых отображений общего вида. Нам потребуется следую- щее определение хорошо известного комбинаторного объекта, имеюще- го большое значение для алгебраического подхода к схемам отношений в теории кодирования. Определение 7.40. Ортогональной таблицей (orthogonal array) размера тхп с ограничениями, уровня 2 (в общем случае —уров- ня q, если алфавит имеет мощность q), силы t и индекса у называется (т х л)-матрица М над полем F2, обладающая свойством: в любом подмножестве из t столбцов матрицы М любой из 2Z векторов простран- ства Vt встречается как строка ровно у раз. Такая таблица обозначается как 0Аи(т, п, 2, /). Из количественных соображений ясно, что m = i/-2z, т.е. параметр т однозначно вычисля- ется по у и t. Очевидно, что 0Аи(т, п, 2, /) является 0А„(т, п, 2, /) для любого i е {1, 2, ..., /}. Для функции f будем обозначать через Mf (wt(/) х п)-матрицу, строками которой являются векторы из Vn, значение функции на кото- рых равно 1. Хотя в данном случае порядок, в котором выписываются строки матрицы, не имеет значения, мы будем предполагать, что строки выписаны сверху вниз в лексикографическом порядке. Матрицу Mf ещё называют таблицей истинности функции f. Теорема 7.41. Для функции выполнено неравенство cor f t тогда и только тогда, когда её таблица истинности Mf является ортогональной таблицей OAu(wi(f), п, 2, /). Доказательство. Пусть f€Fn, Mf — ee таблица истинности. Предположим, что Mf является ортогональной таблицей O/4p(wt(/), п, 2, /), wt(/) = 2zp. Из определения ортогональной таблицы вытекает, что для любого и G Vn с весом wt(u) = k, выполнена следующая цепочка равенств: Е /(х)(-1)<*“> =р- £(-1)^) = xG. Vn yG Vk = У • (#{у е Vk I Wt(y) - чётный} - # {у € Vk | wt(y) - нечётный}) = 0. Следовательно, Wf(u) = 0 для всех и таких, что 1 wt(u) t. Согласно теореме 2.36 Wf(u) = 0 также для всех и таких, что 1 ^wt(iz)^/, что эквивалентно неравенству cor f t. Докажем обратное. Предположим, что функция cor f t для f Согласно теореме 7.10 для всех и таких, что 1 < wt(rz) < /, выполнено ра- венство Wf(u) = 0. Определим носитель элемента и е Vn как множество
§7.1. Основные определения и свойства 287 supp(u) ={/ е {1, 2, ..., п} | иУ> = 1}, и проекцию тги: Vn —* Vt для вектора и е Vn, wt(iz) = /, следующим равенством: тга(х) = (xw), i € supp(u). Определим также отображение Vt ->Z следующим равенством: tyfiy) = #Qy для любого у е Vt, где Qy = {х € Mf | тги(х) = у}. Для любого ненулевого uf е Vn, supp(u') с supp(u) выполнено W)=E(-d^ = E E(-i)(“,’x> = xeMs yevt xeQy = E =Ж^(7Ги(и')) = 0. yevt Если вектор и! пробегает все векторы с условием supp(iz') с supp(u), то тгм(и') пробегает всё пространство Vt. Следовательно, для всех ненуле- вых veVt выполнено равенство =0, а W)(0) = = wt(/). !/€ Vt Рассмотрим обратное преобразование Фурье для функции 7/7: = у Е >^(^(-1)^ = ^="- vevt Доказанное нами равенство справедливо для любого вектора и eVn, wt(tf) = t. Следовательно, для любого набора t столбцов таблицы Mf любой вектор у € Vt встретится в качестве строки ровно —= у раз и Mf является ортогональной таблицей 0>l1/(wt(/), п, 2, /). □ Ясно, что если функция f EFn является корреляционно-иммунной порядка /, то функция / также является корреляционно-иммунной порядка t. Если, кроме того, f — уравновешенная функция, то Mf и Л4;е1 представляют из себя ортогональные таблицы с одинаковыми парамет- рами — ОАР(2Л~1, п, 2, /), 1/ = 2л“/-1. Однако корреляционно-иммунная порядка t функция может и не быть уравновешенной. В этом случае Mf и являются ортогональными таблицами с различными параметрами O/lp(wt(/), п, 2, t) и ОАУ}(2п — wt(/), п, 2, /), связанными между собой следующим соотношением у + у\ = 2П-/.
288 Глава 7. Корреляционная иммунность и устойчивость Пример 7.42. Рассмотрим корреляционно-иммунную функцию по- рядка 1 из Л, алгебраическая нормальная форма которой имеет вид f(x^ Х<2\ X®, Х^)=Х^ЪХ^ фх(2)х(3) фх(2)х(4)ф СР) v-U) cP) у(2) ср) у(3) д\ \Х? Л \д> Л чцу Л СР А Тогда /0 0 0 1\ 0 0 10 0 10 0 0 10 1 0 110 /0 0 0 0\ 0 111 0 0 11 Mf — 10 0 0 » — 110 0 10 0 1 \1 1 1 1/ 10 10 10 11 110 1 \1 1 1 о/ являются ортогональными таблицами ОДб(12, 4, 2, 1) и 0/12(4, 4, 2, 1) соответственно. Определение 7.43. Покрывающим множеством ортогональных таблиц (large set orthogonal arrays) над полем F2 называется множество из ---- ортогональных таблиц 0Аи(т, п, 2, /), т = р2/, над полем F2 таких, что каждый набор из Vn встречается точно в одной таблице. Из определения видно, что параметр и является степенью двойки. Кроме того, ясно, что объединение таблиц из покрывающего множества даёт нам тривиальную ортогональную таблицу 0Л1(2л, и, 2, я), соответ- ствующую таблице всех элементов Vn. Теорема 7.44. Существование (п, k, ^-устойчивого отображе- ния эквивалентно существованию покрывающего множества из 2k ортогональных таблиц OA2n-k-t(2n~k, и, 2, /). Доказательство. Пусть Ф является (и, k, t)-устойчивым отобра- жением. Будем строить покрывающее множество ортогональных таблиц следующим образом. Для каждого у € рассмотрим Ф-1(г/) = {х€ Vn | Ф(х) = г/}. Будем здесь считать, что Ф_,(г/) не просто множество векторов из Vn, а таблица соответствующих векторов, выписанных сверху вниз в лексикографическом порядке. Ясно, что таких таблиц
§ 7.2. Наследование свойств при сужениях булевых функций 289 мы построим 2k и каждый элемент из Vn будет находиться точно в одной таблице. Покажем теперь, что это ортогональные таблицы OA2n-k-t (2n~k, п, 2, /). Поскольку отображение Ф уравновешенно, то чис- ло строк в каждой таблице будет 2n~k. Рассмотрим теперь произвольные векторы 1 < /1 < ...< jt < п и а = (а(1), ..., € Vt. Поскольку отоб- ражение Ф“ ’ уравновешенно, то в каждой из таблиц найдется ровно 2п-/г-/ строк х, для которых =а^\ ..., = а^. Последнее доказывает, что построенные нами таблицы являются покрывающим множеством ортогональных таблиц ОЛ2л-*-/(2Л“\ п, 2, /). Обратно, пусть дано покрывающее множество из 2k ортогональных таблиц OA2n-k-t(2n~k, п, 2, t). Будем строить отображение Ф следую- щим образом. Установим некоторым произвольным способом взаимно однозначное соответствие между 2k ортогональными таблицами и эле- ментами Vk. Будем считать, что отображение Ф постоянно на векторах из Vn, входящих в одну и ту же таблицу, и совпадает с соответствующим данной таблице элементом из Vk. Таким образом мы корректно зада- дим отображение Ф е Воспользовавшись свойствами ортогональных таблиц, простой проверкой легко показать, что построенное отображение является (и, k, /)-устойчивым отображением. □ § 7.2. Наследование свойств при сужениях булевых функций Осмысление логики развития понятия корреляционной иммунности булевых функций привело к рассмотрению следующего общего приёма введения свойств булевых функций: — фиксируется некоторое свойство VltOV булевых функций; — для данной булевой функции f(x) € Лт и данного подпространства Н QVn рассматривается множество всех сужений булевой функции f(x) на смежные классы Vn по Н (обозначение — если сама функция f(x) и все 2n“d,m н её сужений обладают свой- ством V1ZOV, то естественно говорить, что свойство VltOV наследуется при данных сужениях булевой функции /(х), а также принять это в ка- честве нового «производного» свойства Н-WOV. Рассмотрим этот приём для следующего свойства булевых функций: IF/(а) значение —— равно фиксированному числу.
290 Глава 7. Корреляционная иммунность и устойчивость Определение 7.45. Булеву функцию будем называть (//, сс)-стабильной, Н С а е Vn, если #Н 2п для любого и е Vn. Для данной булевой функции /(х) G Fn определим следующее семейство подпространств = {Н С Уп | /(х) — (//, а)-стабильная}. Заметим, что можно ограничиться случаем ос = 0, поскольку очевидна следующая Лемма 7.46. Функция /(х) (//, сс)-стабильна тогда и только то- гда, когда функция /(х) ф (а, х) (Н, ty-стабилъна. Непосредственно из определения (//, 0)-стабильной функции вытека- ет следующее свойство: Лемма 7.47. Если булева функция f(x) е Тп является (И, ^-ста- бильной, то Wf(0) = Q (mod 2Л~/+1), где t = dim Н. Доказательство. Если функция /(х) является (И, 0)-стабильной, то для любого и € Vn £ (-»'« = 5®. И, поскольку, (-l)/w = 0 (mod 2), х^и+Н ТО U7z(0)=0 (mod 2"-/+1). □ Пример 7.48. Пусть функция /(х) является (//, 0)-стабильной, при- чём dim Н = 1, т. е. Н = {0, ft}, h е КД{0}. По определению 7.45 это рав- носильно тому, что для любого вектора и е Vn (—l)Z(u) + (—1)/("фЛ) = const . Несложно видеть, что это возможно лишь в двух случаях: 1) функция /(х) является постоянной: /(х) = const; 2) вектор h является линейной структурой функции /(х): f(u ф ft) = f(u) ф 1 для любого вектора и eVn.
§7.2. Наследование свойств при сужениях булевых функций 291 Отметим, что если вектор h является линейным транслятором функ- ции /(х), т. е. f{u ф й) = f(u) ф £ для любого вектора и е Vn, где £ е {0, 1}, то требуется, чтобы было выполнено более слабое условие: K-l)Z(u) + (-l)/(“®A)| = const . Для получения критериев (//, 0)-стабильности нам понадобятся два тождества, связывающие некоторые суммы значений автокорреляцион- ной функции, некоторые суммы квадратов коэффициентов Уолша—Ада- мара и некоторые суммы значений самой булевой функции. Эти тожде- ства представляют и самостоятельный интерес, поэтому сформулируем их в виде отдельной леммы. Лемма 7.49. Для любой булевой функции /(х) любого под- пространства HCVn, dim Н = t, и любого z eV„ выполнены равен- ства / \2 1 ЕМ)(-1)м = £ ( £ = £ ^2(«)- heH uevn/H \сеи®н ' aez®//-1- Доказателъство. Как известно, аМл)=£(-0/(х)фЛхФА) = ^ Е ^/2(<*)(-1)<а’Л>- (7-8) xevn aevn Умножим обе части первого равенства на (—и просуммируем по й е Н\ Д7(й)(-1 )<*’*> = 1)^ФА>(-!)<*’*> = heH xevn heH = E E (-i)/W(-i)<^> e (-d№)(-i)^. uevn/H xeu@H yex@H Заметим, что если х е и ф И, то Е (—1)(уг> = е (-1)№)(-1)^г>. уех®н уеи®н Поэтому предыдущее равенство приводится к виду / \2 Е д/(й)(-1)<м= Е ( Е . heH uevn/H'xeu®H '
292 Глава 7. Корреляционная иммунность и устойчивость Умножим теперь обе части другого равенства из (7.8) на (—и про- суммируем по h^H’. = £ Wf2(a) £(-1 )<“•*>(-1)<Л'г> = Ае// aevn heH = Е/>). поскольку, как известно, aGz®//^ 2Z, еслиас//х, □ О, если ct Теорема 7.50. Булева функция f(x)€Fn является (//, ^-ста- бильной, dim Н = t, тогда и только тогда, когда выполнено любое из двух эквивалентных условий'. = ^2(0) 2л-/ • 2) ГДа) = 0 для любого а € //-^{0}. Доказательство. Если функция f(x) ЕД является (И, 0)-стабиль- ной, то для любого и е Vn Е хеи®Н и поэтому Е (Е u£Vn/H \к£и®Н Отсюда с учётом леммы 7.49 (при z — 0) легко получаем оба условия теоремы 7.50. Если выполнено одно из условий теоремы 7.50, то в силу леммы 7.49 выполнено и другое условие, а также равенство Отсюда легко получить (см. ниже замечание 7.51), что для любого и е Vn выполнено равенство Е = ® Е ( Е (-И = 5?. хеи®н uevn/H \с£и®н ' т.е. функция /(х) (И, 0)-стабильна. □
§ 7.2. Наследование свойств при сужениях булевых функций 293 N j / N \ 2 j W Замечание 7.51. Если 52 = дД 52 ai ) » то ai — 52 ai- Дей- ствительно, положим * 1 1 1-1 1 N Ь‘=а‘~^Ца‘- i=l Тогда /V / N х 2 ft? = а? - 2а,1 £2 а‘ + N2 (Е а> ) • /=1 \=1 7 Суммируя по /, получаем N / N \ 2 / W \ 2 n n n 52 at 152 ai I n 152 ai) E b‘ =E a‘ -2 E +N^r~=E- - w -°- z = l / = 1 i = l /=1 Поэтому bi = 0 для всех i. Приведём ещё одно доказательство утверждения 2 теоремы 7.50, ос- нованное на тождестве, представляющем самостоятельный интерес. Лемма 7.52. Для любой булевой функции любого под- пространства Н QVn и любого вектора а еН1 выполнено равен- ство * Е ( Е (-i)/w)(-i)<Qu>. uevn/H ^хеифН ' Доказательство. Пользуясь тем, что ас//-1, преобразуем стан- дартное выражение для Wf(a): = Е ( Е (-1)/<х))(-1)<а’в>. □ rz(a)=£(-l)/W(-l)<“^= £ £ (_1)/W(_l)<o^ = xevn uevn/H хеифн f(u$h) 1}(ск,ифЛ) ueVn/HheH Утверждение 2 теоремы 7.50 вытекает непосредственно из леммы 7.52, т. к. теперь очевидно, что 52 (~ не зависит от и € Vn тогда и только х€и®Н тогда, когда Wf(oc) = 0 для любого а Ф //-^{0}. Утверждение 2 теоремы 7.50 позволяет получить ещё некоторые свой- ства коэффициентов Уолша—Адамара для (Н, 0)-стабильных функций. Вначале докажем вспомогательное утверждение.
294 Глава 7. Корреляционная иммунность и устойчивость Лемма 7.53. Для любой булевой функции ((х)е^п, любого под- пространства LQVn и любого /Зе Vn\L выполнено соотношение + £ ^/(а) = 0 (mod 2Т), olEL а€/3ф£ где {п, если dim L = п — 1, dim L 4- 2, если dim L < п - 1. Доказательство. Пусть М — подпространство, натянутое на L и /3, dim L = s. Имеем £ Г/(а) = £(-1)^ £(-l)^=2s+l £(-1)/w. сеем xevn сеем хЕМ1- Но по построению М £ ГДа) = £ ГДа) + £ Wf(а). СХЕМ aEL aE(3®L Для завершения доказательства леммы 7.53 остаётся заметить, что ч fl mod 2, если dim L = n~ 1, хеМ± (0 mod 2, если dim L < n - 1. Повторяя доказательство леммы 7.53 для сумм вида olEM где г е Vn, легко получить следующее утверждение (которое легко дока- зать и непосредственно). Следствие 7.54. Для любой булевой функции Дх)е^п, любого подпространства LCVnu любых z, (Зе Vn\L выполнено сравнение £ + £ W>(a)(-!)<“•*> =0 (mod 2Т), olEL olE/3E)L где f и, если dim L — n— 1, 7=<j I dim L 4- 2, если dim L < n — 1.
§ 7.2. Наследование свойств при сужениях булевых функций 295 Следствие 7.55. Пусть f(x)eJrn — (Н, ^-стабильная функция. Тогда для любого /3eVn выполнено соотношение =0 (mod 2n-dimH+l). crG/Зф/М Доказательство получается легко из лемм 7.53, 7.47 и утверждения 2 теоремы 7.50. Теорема 7.50, кроме критерия (//, 0)-стабильности булевой функции, даёт также способ описания семейства Идо- Прежде всего заметим, что если Н е Идо, то и Н' е Идо для любого Н' D Н. Поэтому семейство Идо может быть задано некоторым набором минимальных (по включению) подпространств Hi, Н%, ..., И/ таких, что 1) f(x) является (Hi, 0)-стабильной для всех i = 1, ..., /; 2) для любого Н е Идо найдётся такое I = 1, ..., /, что Н D /7,; 3) не существует такой пары 1 < i / j < /, что Hi С Hj. В соответствии с теоремой 7.50 Wf(oc) = 0 для всех а € Н±\{0}, i = 1,2, ..., I. Это условие позволяет сформулировать следующий алгоритм построения семейства Идо для данной булевой функции f(x). Алгоритм построения Идо- 1. Найти все коэффициенты Wf(a), а е 14. 2. Определить множество нулей Clf = {а € Vn | Wf(a) =0}. 3. Найти все максимальные (по включению) подпространства L, ко- торые входят в Clf U {0}. 4. Набор всех дуальных к найденным в п. 3 максимальным подпро- странствам задаёт семейство 77до- Из леммы 7.46 очевидно, что алгоритм построения 77 д7 для любого 7 € Vn отличается от алгоритма построения 77до заменой множества Clf на множество Clf ф 7. Замечание 7.56. Множество Clf произвольным быть не может. Так, например, несложно видеть, что множество Clf заведомо не может быть объединением вида Clf = Ha{ U...UHai, где На. = {х е Vn I (х, oci) = <s}, e e {0, 1}, /el, ..., t — некоторые гипер- плоскости, в случае когда вектора оц, ..., а/ не образуют подпростран- ства в Vn. Это непосредственно вытекает из того, что все вектора а*е Vn такие, что На С Clf (и только они) являются линейными трансляторами
296 Глава 7. Корреляционная иммунность и устойчивость функции /, а как известно, все линейные трансляторы образуют подпро- странство в Vn. Для иллюстрации введённых понятий и полученных результатов рас- смотрим один простой пример (Я, 0)-стабильной булевой функции. Пример 7.57. Пусть базис в Vn выбран так, что Н = {(0, у) | у е KJ- Рассмотрим булеву функцию f(u, у)=ДФ(н), у)=Р1(и)У1 где Ф е Лг-м — некоторое отображение, причём Ф(н)^0 для любого и е Vn-t- Тогда при любой фиксации переменной и = uq е Vn-t функция /(^о, у) становится линейной и не постоянной. Поэтому WfW\u®H = = 0 ПРИ ВСеХ “ € т.е. функция f(x) является (Я, 0)-стабильной. Пример 7.58. Пусть теперь п = 2/ и отображение Ф е Ft,t удовлетво- ряет следующим условиям: 1) Ф(Н1) = Ф(^г) = У\ ф 0 при некоторых и\, и%, ух е К; 2) Ф(и) / 0 для любого и е К; 3) отображение Ф': К\{нь ^2}^ К\{0, у{} взаимно однозначно. Применим к функции f(u, у) алгоритм построения Я/о- Найдём все №Да,/3), а,/ЗеК: Wf(a,0) = = u,yeVt = (_ 1) (<*,«) (-1) (ф(и)е^ = 2Z uevt yeVt неф-Ч/З) Отсюда имеем 2Z • (-1Да’ф ГДа, /3)=^0, если /3 0, у{ ; если /3 = 0; ^ ((-1)> + (-1), если /3 = у!. Поэтому множество нулей CIf имеет вид CIf = {(«, 0) I а 6 Vz}U{(a, yj | а€ Vt: (а, «0 ф {а, и2) = 1}- Мощность множества CIf равна 2‘ +2/_|. Очевидно, что максимальное (по включению) подпространство, которое входит в CIf — это подпро- странство {(а, 0)|аеК}- Поэтому семейство Ндо“это все подпро- странства, содержащие подпространство Н = {(0, у) | у е К}-
§ 7.2. Наследование свойств при сужениях булевых функций 297 Соотношение между свойствами (Н, 0)-стабильности и корреляцион- ной иммунности достаточно очевидно. Для удобства сформулируем это соотношение в виде отдельной леммы. Лемма 7.59. Булева функция f(x) eFn является корреляционно- иммунной порядка т тогда и только тогда, когда она являет- ся (Н, 0)-стабильной для всех подпространств, натянутых на какие-нибудь п — т базисных векторов пространства Vn. Дополнительное удобство изучения свойства (И, 0)-стабильности по сравнению с корреляционной иммунностью заключается в двух об- стоятельствах: — свойство (Н, 0)-стабильности «более слабое», т. к. является одной из составных частей корреляционной иммунности; — свойство (И, 0)-стабильности «более общее», т. к. формулируется в терминах, не зависящих от выбора базиса в Vn, и для любого подпро- странства И. С другой стороны, для корреляционной иммунности, как для «более сильного» свойства, можно получить больше результатов. Один из таких результатов связан со степенью нелинейности корреляционно-иммунных функций. Аналогичное утверждение для (Н, 0)-стабильных функций фор- мулируется более сложно. Теорема 7.60. Пусть булева функция f(x)eFn (Н, ^-стабильна и базис в Vn выбран так, что Н натянуто на последние t базис- ных векторов, т. е. Н = {(0, у) | у е V/}. Тогда в полиноме Жегалкина функции f(u, у): 1) нет мономов вида у\у% ... ytu^u^ ... и^ при I 1 (т.е. может входить только моном у\У2 ... ///); wt(/) 2) если, кроме того, число четно, то нет и монома У1У2 ... yt- Другими словами, если число четно, то степень функ- ции f(x) по переменным у\, у%, .... yt не превосходит t — 1. Доказательство. Разложим полином Жегалкина функции Дх) по переменным у\, у%, ..., ур f(u, У)=У1У2 ... yt<p(u)®... Предположим, что функция <р(и) не постоянна. Тогда существуют та- кие U\ U2 G Vn-t, что = 0, 92(^2) = 1. Поэтому на смежном классе и\ ф// сужение функции f(u, у) имеет чётный вес, а на смежном классе
298 Глава 7. Корреляционная иммунность и устойчивость — нечётный вес, что противоречит (//, 0)-стабильности. Тем са- мым утверждение 1 доказано. Пусть теперь в полиноме Жегалкина функции /(и, у) есть моном У\У2 • • • yt- Тогда на всех смежных классах и ф Н сужение функции f(u, у) имеет нечётный вес, а с другой стороны, в силу (//, 0)-стабильности этот wt(/) .. „ вес равен _t , и поэтому четный. Полученное противоречие завершает доказательство утверждения 2. □ В условиях теоремы 7.60 можно на качественном уровне сформу- лировать соотношение между (Я, 0)-стабильностью и корреляционной иммунностью таким образом: (Я, 0)-стабильность —это корреляционная иммунность порядка п — t по переменным z/i, U2, ... un-t. § 7.3. Общие методы построения корреляционно- иммунных функций и устойчивых отображений В данном параграфе будут рассмотрены конструкции, которые позво- ляют строить корреляционно-иммунные функции и устойчивые отобра- жения безотносительно к другим криптографическим свойствам, а также вычислять порядки корреляционной иммунности и устойчивости. Лемма 7.61. Пусть f е deg f п — 1. Тогда существует пере- менная i = 1, ..., п, такая, что функция f может быть пред- ставлена в виде f = {x^®\)fx®x^f2, (7.9) где /1 еЛ!-!,/2 еЛ-i; deg Л = deg f2 = deg /; deg ft ® f2 < deg f. Доказательство. Хорошо известно разложение алгебраической нормальной формы булевой функции по одной из переменных f = x^h\ При этом h\, hi е deg hi < deg f - 1, deg Л2 < deg f. Легко заме- тить, что deg h,2 = deg f тогда и только тогда, когда существует такой старший моном алгебраической нормальной формы, в который не входит переменная х®. Последнее условие выполнено для некоторого z, если deg f п - 1. В условиях теоремы выберем такое /, что deg /?2 = deg /, и положим /2 = hi ф h2 и fi = h2. Тогда (х(/) Ф 1)/1 фх<'>/2 =Х<‘>[Л Ф f2] ф л =x(Z)/i1 ®h2,
§7.3. Методы построения корреляционно-иммунных функций 299 причём функции /1 и /2 удовлетворяют условиям леммы. □ Доказанная лемма позволяет выявить зависимость свойства корреля- ционной иммунности функции от аналогичного свойства её подфункций. Теорема 7.62. Для уравновешенной булевой функции f е^п ра- венство sut f = d выполнено тогда и только тогда, когда выпол- нены два условия: 1) sut /1 = sut /2 =d - 1, где /i, /2 ^Лг-i — функции из разложе- ния (7.9); 2) для любого v G Vn_\, wt(v) = d выполнено равенство Wfi(v) + Wf2(y)=Q. Доказательство. Пусть v е Vn, vT = (v,T, t/n)), e F2, vf = = Пусть x = x(n))T e Vn, x' = = (x(1), Vi. Без нарушения общности (с точностью до перенумерации переменных) будем считать, что переменная, удо- влетворяющая равенству (7.9), совпадает с Тогда Wf(v) = ^(-l)^-!)^ У)фх(л)и(л) = = (_ 1 (*'){_ 1 + (-1)^(*')(_р<х'У)фи(л^ х(л)=0 х(л) = 1 Wf(v) = Wfl(v') + (-1)у<"’ Wh(V'). Поэтому для любого v' е Vn-\ выполнены равенства Wf(v, 0) = №Z1 (г/) + Wf2(v'), Wf(v, 1) = Wfl (г/) - Wh(vf). (7.Ю) Из этих равенств легко получить следующее заключение: условие = 0 для всех v е Vn, wt(v) < d» эквивалентно двум условиям: 1) (г/) = Wf2(y') = 0 для всех v’ е Vn_i, wt(z/) d - 1; 2) №Zj (г/) + Wf2(vf) = 0 для всех vf € Vn-\, wt(v') = d. В силу теоремы 7.10 это заключение эквивалентно теореме. □ Следствие 7.63. Пусть f Д, /2 удовлетворяют усло- виям леммы 7.61. Функция f является d-оптимальной тогда и только тогда, когда функции f\, являются (d — ^-опти- мальными.
300 Глава 7. Корреляционная иммунность и устойчивость Задача 7.64 (нерешённая). Найти необходимые и достаточные условия, при которых пара функций Д, удовлетворяет усло- вию 2 теоремы 7.62. Задача 7.65. Пусть f^Fn, /еТД —функции от непересекающихся переменных и / — аффинная функция. Доказать, что: 1) sut(/ ф /) = k 4- sut Д 2) функция f ф/ является d-оптимальной тогда и только тогда, ко- гда f является (d — k)-оптимальной. Задача 7.66. Пусть g(z) = g(x, у)= ф (z/(l) ф<т(1) ф 1) ... o-ev, х е Vn, у е V/, fa eFn- Доказать, что sut g = min^y, sut fa. Задача 7.67. Пусть Ф = (Д, ..., Д,) — (п\, k\. d\)-устойчивое отобра- жение и Ф = (gi, ..., gk2) — (ri2, ^2, ^2)-устойчивое отображение. Дока- зать, что отображение H(z) = S(x, t/) = (/i(x).gi(y), •••, xeVni,ye Vn2 является (ni 4-^2, k\ 4-&2, ^-устойчивым отображением, где d = min{dj, d2}« «Лемма 7.68. Пусть Ф = (Д, ..., Д) € Fn,k и Ф(х, у, z) = (Ф(х) ф Ф(*/), Ф(у) ф Ф(г)) € ^3n,2k- Тогда sut Ф = 2 sut Ф 4-1. Доказательство. В соответствии с леммой 7.33 значение sut Ф рав- но минимальному значению sut для ненулевых линейных комбинаций ко- ординатных функций отображения Ф, т.е. следующих булевых функций fl (х) Ф fl (у), fk(x) ф fk(y), fl (у) ф fl (z), ..., fk(y) ф (z). Положим f(x, у, z) = ф a(i\fj(x) ф fj(y)) ф ф b^ifjiy) ф /z(z)) = /=1 /=1 = ф aVfjlx) фф(а<» фb^f-^y) ф ф i=i i=i /=1 где либо а = (а(1), ..., а(**)т /0, либо b = ..., 6<*))Т /0.
§7.3. Методы построения корреляционно-иммунных функций 301 Функция /(х, у, z) является функцией от непересекающихся перемен- ных, поэтому в соответствии с задачей 7.34 легко получить, что най- дутся такие a, b е Vn, что sut /(х, у, z) принимает значения 3 sut Ф 4-2, 2 sut Ф 4-1. В других случаях sut /(х, у, z) больше указанных. Поэтому sut Ф = 2 sut Ф + 1. □ Конструкция из леммы 7.68 позволяет из (и, k, ^-устойчивого отоб- ражения получить (Зц, 2£, 2d 4- 1)-устойчивое отображение. Эта техника может быть обобщена и в ином направлении, если для (п, k, ^-устойчи- вого отображения Ф = (Д, ..., Д) определим Ф(х, у, z, и) = (Ф(х) ф Ф(г/), Ф(у) Ф Ф(г), Ф(г) ф Ф(н)), (7.11) где х, y,z,ut 14, то отображение Ф: У4л —> V^n будет (4и, 3&, 2d 4- 1)-ус- тойчивым отображением. Вновь использовав эту конструкцию t раз, по- лучим (4zrz, 3fk, 2* (d + 1) — 1)-устойчивое отображение. Задача 7.69. Пусть дано (и, k, d)-устойчивое отображение Ф. Пред- ложить способ конструирования ((/ + l)zn, U k, 2Z(1 4- d) — 1)-устойчивых отображений для всех / = 2, 3, ... и k = 2, 3, ... Задача 7.70. Пусть Ф е 74л» ё ~~ произвольная подстановка на Vk. Доказать, что sut(gf о Ф) = sut Ф. Рассмотрим теперь вопрос об устойчивости булевых функций, задан- ных в виде линейного разветвления (см. §2.5). Напомним, как выглядит эта конструкция. Булева функция f определяется с помощью равен- ства f(z) = f(x,y) = (x,$(y))®h(y), (7.12) где zT = (хт, ут) € V„, х е Vt, у е Vs, п = t + s, Ф Е Fs.t, h € tFs- Пусть uT = (vT, wT) G V„, veVt, weVs. В соответствии с зада- чей 2.135 ]Vf(u) = W'f(v,w) = 2t (7.13) уеФ-'и Для дальнейшего изучения устойчивых функций удобно ввести новое понятие. Будем использовать обозначения для частично определённых булевых функций из § 6.5. Определение 7.71. Частично определённую булеву функцию Де € ^4(S) будем называть частично определённой d-устойчивой функ- цией (ч.о. d-устойчивой функцией), если Wfs(u) =0 для любого н»е Vn такого, что wt(u) d.
302 Глава 7. Корреляционная иммунность и устойчивость Это понятие вместе с формулой (7.13) позволяет доказать следующую полезную в методическом плане теорему. Теорема 7.72. Функция f представленная в виде (7.12), яв- ляется d-устойчивой тогда и только тогда, когда для любого veVt такого, что wt(v)^d, сужение функции на множе- ство Ф-1(и) является ч.о. (d - wt(v))-устойчивой функцией. Доказательство. Обозначим сужение функции heFs на множе- ство Ф-1(а) через hv. Теперь формулу (7.13) можно записать в следу- ющем виде Wf(v, w) = 2tWhv(w). Поэтому Wf(v,w) = 0 для любых veVt, weVs таких, что wt(z>)4- 4-wt(o>)^d тогда и только тогда, когда Whv(w) = 0 для любых veVt, weVs таких, что wt(v) + wt(w) < d. □ Эта теорема означает, что в некотором смысле любая устойчивая функция «склеивается» из ч. о. устойчивых функций. Заметим, что не для всякого множества S С Vn существуют ч. о. устойчивые функции из /’«(S). В частности, будем считать, что если S = 0, то любая функция из 7^(5) устойчива. Очевидно, что если мощность #5 нечётна, то ни одна функция из 7^(5) не является устойчивой. Следствие 7.73. Пусть отображение Ф в (7.12) удовлетворяет следующему условию'. min{wt^(#)) | у е Vs} d 4-1 для некоторого d,0^d <t. Тогда функция f, определяемая равен- ством (7.12), является d-устойчивой при любой h € Fs- Доказательство. В условиях следствия очевидно, что, если wt(v) ^d, то Ф-1(г/) = 0 и поэтому все функции на Ф-1(и) устойчивы. Таким образом, следствие вытекает из доказанной теоремы. □ Задача 7.74. В условиях следствия 7.73 доказать следующие нера- венства Г 9s/2 <2п-{-21~х тах#Ф"1(г/)^^^2л-1-2/-1 . (Указание', воспользоваться результатом задачи 2.136) Следствие 7.75. Пусть отображение Ф в (7.12) удовлетво- ряет следующему условию', для некоторого ио € V/ такого, что wt(vo)^d, мощность множества Ф-1(г/) нечётна. Тогда среди функций вида (7.12) при любых heFs нет d-устойчивых.
§7.4. Нелинейность корреляционно-иммунных функций 303 Следствие 7.76. Среди функций вида (7.12) существуют (t — 2)- оптимальные функции. Доказательство. Пусть 2</^2s. Рассмотрим отображение Ф вида ф(у) = (Л(у)®1,..., й)®1), у е Vn-t, такое, что для любых 1 < i < j С t {у € Vn-t I h(y) = 1} Л {у € Vn-t I fi(y) = 1} = 0 и существует номер z, для которого deg fi = n — t. Тогда для любого yeVn-t выполнено неравенство wt^(z/)) > t — 1. Следовательно, со- гласно следствию 7.73 функция f вида (7.12) является (/ - 2)-устойчивой. Кроме того, deg f = п — t + 1, и поэтому функция f оптимальная. □ § 7.4. Нелинейность корреляционно-иммунных и устойчивых функций Использование устойчивых функций при построении тех или иных криптографических объектов определяет естественный интерес к изуче- нию нелинейности этих функций. Настоящий параграф посвящён оценкам нелинейности корреляционно-иммунных функций, а также условиям до- стижимости этих оценок. Теорема 7.77. Имеют место следующие утверждения. 1. Если f е 7^, сог f = т^п— 1, то Nl^2n~'-2m. (7.14) 2. Если f е sut f = т п — 2, то Nf^2n~x-2m+{. (7.15) Доказательство. Достаточно воспользоваться теоремой 7.22 и тем, что по определению Nf = 2п~[ — - max|W}(u)|. □ Пример 7.78. Достижимость оценки (7.14). 1. т = п— 1. Согласно неравенству Зигенталлера deg f < 1. Если deg f = 1, то функция f — уравновешенная. Остаётся f\ = const и = 0, т. е. оценка (7.14) достигается. 2. п = 2, т = 0. Возьмём функцию /2(*(1), х(2)) = • х(2\ которая яв- ляется неуравновешенной корреляционно-иммунной порядка 0 функцией. Её нелинейность равна 1: Nf2 = 1, т. е. оценка (7.14) достигается.
304 Глава 7. Корреляционная иммунность и устойчивость 3. п = 3, т = 1. Возьмём функцию з /з(х(1), х(2), х<3>) = ф X(z)X(/) фф X® Ф 1, 1^</^3 /=1 которая является неуравновешенной корреляционно-иммунной порядка 1 функцией. Её нелинейность равна 2: Nf3 = <2, т.е. оценка (7.14) достига- ется. 4. п = 6, т = 3. Возьмём функцию 4 /б(х(1), Х(2), ...,Х(6))= ф Х^Х^Х^ фф Х(0Х0+1) ф l^z</<&^6 / = 1 фх(1)х<5) ф d) х(/) © 1, /=1 которая является неуравновешенной корреляционно-иммунной порядка 3 функцией. Её нелинейность равна 24: =24, т.е. оценка (7.14) дости- гается. 5. и = 5, т = 2. Возьмём функцию /з(х(1), • ••> х(5)) = (/б)б> кото- рая, очевидно, является неуравновешенной корреляционно-иммунной по- рядка 2 функцией. Её нелинейность равна 12: Л^5 = 12, т. е. оценка (7.14) достигается. Задача 7.79. Привести примеры булевых функций из 54, п 7, для которых достигаются оценки (7.14). Введение дополнительных условий на булеву функцию f позволяет, с одной стороны, усилить неравенство (7.15), а с другой стороны, сделать важный качественный вывод. Теорема 7.80. Пусть f е 54, sut f = т < п - 3, deg f 4-sut f ^n — 2. Тогда Nf^2n~l -2m+2. (7.16) Доказательство. Поскольку sut f = m, найдётся такой вектор и е Vn, wt(iz) = m + 1, что при некоторых а^[\ ..., еF2. Без ограничения общности можно считать, что = ... = a^+I) =0. Воспользовавшись задачей 2.41, по- лучаем U^/(u) = 2” - 2wt(u)+l wt(/“+|).
§7.4. Нелинейность корреляционно-иммунных функций 305 Поскольку deg deg f sj я - m - 2, а °т+) & J'n-m-i, то вес ) чётный, и тем самым можно считать, что wt(/?’ "’°/ri+|) < ^.2п~т~2 — 2. Подставляя это в выражение для Wf(u), получаем и поэтому Nf < 2"-1 - 2'714’2. □ Следствие 7.81. Пусть f€Fn, f const, sut f = т^п — 2, Nj = = 2n~[ — 2m+l. Тогда deg / + sut f = n — 1. Доказательство. Если sut / = п-2, то deg f 1 и Nf=O. По- скольку f const, to deg f = 1 = (n — 1) — sut f. Если sut f < n — 3, но deg f 4- sut f < n — 2, то в соответствии с тео- ремой 7.80 Nf^2n~x -2'71+2, что противоречит условию следствия. □ Рассмотрим теперь утверждение, которое существенно использует при оценке нелинейности устойчивой булевой функции её алгебраиче- скую степень. Нам потребуются соотношения между коэффициентами Фурье и коэффициентами числовой нормальной формы булевой функ- ции f (см. §2.2): Wf(a) = (-l)wt(a> 2n-wt(u)A/(u), (7.17) ueVn\a^u Х/(и) =2~n(—2)v''Uu) 22 (7.18) Лемма 7.82. Пусть f eFn и0^т<п. Равенство sut f = т выпол- нено тогда и только тогда, когда функция ^(х) = /(х)фх(1)ф...фх(л) имеет числовую степень, не превосходящую п — т— 1. Доказательство. Для любого а е Vn имеем ^(а) = Wf(a® 1). Равенство sut f = m выполнено тогда и только тогда, когда Wg(a)=0 для любого вектора а такого, что п — т < wt(a) < п. Соотношение Wg(a} = 2п6(а) — 2Wg(a) даёт нам аналогичное утверждение для ко- эффициентов Фурье Wg(a). Далее, применив соотношения (7.18) к функции g, получаем лемму. □ Теорема 7.83. Пусть f € Тп, sut f = т, — 2 и deg f = 0. Тогда W Да) делится на 2 L d J для любого a e Vn.
306 Глава 7. Корреляционная иммунность и устойчивость Доказательство. Пусть g(x) = f(x) Ф Ф ... Ф . Поскольку deg g = deg f = d, то в силу следствия 2.57 коэффициенты АДи) чис- ловой нормальной формы функции g делятся на 2L d -1. Поэтому при любом s = \,...,n для всех и е Vn таких, что wt(u)^s, числа 2n”wt(“)Ag(u) делятся на 2n-s+l-~5_J. Поскольку sut f = m, то в си- лу леммы 7.82 А^(и) = 0 при wt(u)^n —m и тем самым все числа 2n-wt^^A^(u), ueVn делятся на 2™+1+l- d ] Воспользовавшись те- ---------------------------------- I 1 I I п-т-2I перь равенством (7.17), получаем, что Wg(a) делится на 2 L d J для любого а € Vn. Очевидно, что это верно и для W [(а). □ Следствие 7.84. В условиях теоремы 7.83 нелинейность функ- ции f удовлетворяет неравенству N, ^2"-' -2т+]Г=Г1\. (7.19) Ясно, что теорема 7.77 является частным случаем этого следствия при deg f ^п — т-2. Как показывает следствие 7.81, лишь для m-оптимальных функций можно достичь равенства в оценке (7.15). При этом естественно возни- кает вопрос о строении таких функций. Ответ на него даёт следующее утверждение: Теорема 7.85. Пусть feFn, f const, sut / = atz < z? - 2, Nf = = 2rt-1 — 2m+1. Тогда функция f является платовидной функцией порядка 2(п — т —2). Доказательство. Так как sut f = m, то согласно теореме 7.22 имеем Wf(u) = 0 (mod 2™+2) для любого и е Vn. С другой стороны, так как Nf = 2n~' - i max I W,(u)\ = 2n~l - 2m+1, 1 2 uevn 1 ' 1 | W^(u)| =2'п+2. Следовательно, коэффициенты Уолша—Адамара to max uevn могут принимать лишь значения 0, ±2т+2, а значит, функция / является □ платовидной порядка 2п — 2т — 4. В некоторых случаях приведённые выше оценки (7.14) и (7.15) можно усилить. Теорема 7.86. Пусть f 1. Если cor f = т^ п/2 — 1, то < 2п~ * — 2п/2“^ -2т. Nf (7.20)
§7.4. Нелинейность корреляционно-иммунных функций 307 2. Если sut f — т^ п/2 — 2, то NS <2п~\ _2zn+1 (7.21) Доказательство. Поскольку f — корреляционно-иммунная (устой- чивая), то она не является бент-функцией и поэтому max|UZz(u)| ^2П/2. С другой стороны, в соответствии с теоремой 7.22 max|W^(u)| делит- ся на 2т+[ (на 2Ш+2). Поэтому max|rz(a)| > 2"/2 + 2ш+1 (^2"/2 + 2Ш+2), откуда и вытекает утверждение теоремы. □ Теорема 7.87. Пусть f е Fn, sut f = т^ п/2 - 2. Тогда (7.22) Доказательство. Согласно теореме 7.22 для любого вектора и € Vn коэффициент Уолша—Адамара Wf(u) можно представить в виде Wf(u) = 6[(и) • 2'”+2, где Of (и) — целочисленная функция на Vn. Равен- ство Парсеваля даёт нам £2 rz2(u)=^2 02f(u)-22m+4 = 22n. uevn uevn Поскольку Wf(u) = 0 для всех векторов и таких, что 0 wt(u) т, то 52 ^(«) = 22n-2m-4 uev„ wt(u)>zn Следовательно, max|0/(u)| > и так как Of (и) — целочисленная функция, то maxp/(u)|
308 Глава 7. Корреляционная иммунность и устойчивость Значит, справедливо неравенство max uevn \Wf(u)\^2m+2 2П—Щ—2 из которого следует утверждение теоремы. § 7.5. Построение устойчивых булевых функций с положительными криптографическими свойствами Приведённые в §7.4 верхние оценки нелинейности корреляционно- иммунных и устойчивых функций ставят вопрос о достижимости этих оценок (или близости к ним) в различных диапазонах значений пит. Как правило, задачи такого типа решаются на пути построения пара- метризованных с помощью пит классов булевых функций, значения нелинейности для которых были бы близки к граничному, либо совпада- ли с ним. Пусть пит — целые числа, — 1 < т п. Определение 7.88. Будем обозначать через /Vmax(n, т) — максималь- но возможную нелинейность m-устойчивой булевой функции из Fn. Из теорем 7.77, 7.80 и 7.86 вытекает, что 1) Мпах(л, ^) < 2П“1 - 2лН"1 при sut f = т п - 2; 2) Л/тах(^, т) 2П-1 - 2т+2 при sut f = m^n — 3, deg f -I- sut < n — 2; 3) если yvmax(n, m) = 2л-1 - 2m+1, to существует feFn такая, что sut f = m n — 2, deg f 4- sut f = n - 1; 4) Мпах(л, m) 2n“1 - 2m+1 - 2П/2-1 при sut f = m^ n/2 — 2. С учётом комментариев, сделанных ранее в §7.1 о (—1)-устойчивых булевых функциях, имеем МпахОЛ -1)^2П-1-2П/2-1. Последнее неравенство достигается при чётных п для максимально-нели- нейных (бент-)функций. Согласно имеющимся результатам (см. §5.3) о радиусе покрытия кодов Рида—Маллера первого порядка имеем при нечётных м^7, 7Vmax(/z, — 1) = 2П-1 — 2(л-1)/2, а при нечётных и >15, справедливо неравенство УУтах(я, — 1) > 2л-1 — 2(л-1)/2. для уравно- вешенной (О-устойчивой) функции f^Fn имеем Nf < 2л-1 — 2л/2-1, и Nmax(n, гп) < 2л-1 - 2л/2-1 При Ш > 0.
§7.5. Построение устойчивых функций 309 Если / является m-устойчивой функцией из т^-п — 2, то со- гласно неравенству Зигенталлера deg f < 1 и гп) = 0. Показано также, что Nmax(n, п — 3) = 2п~2 и Nmax(n, п — 4) = 2п~] — 2П-3 (см. тео- рему 7.94). Приведём для некоторых малых значений параметров п и т точные значения максимальной нелинейности. Так, Afmax(4, 0) =4, /Vmax(5, — 1) = = Мпах(5, 0) = ,Vmax(5, 1) = 12, /Vmax(6, 0) = 26, yVmax(6, 1) = МпаХ(6, 2) = = 24, iVmax(7, — 1) = Л^тах(7, 0) = ^ах(7, 1) = 56. Все эти значения по- лучены соединением конкретных функций с максимально возможными нелинейностями, либо с помощью исчерпывающего поиска. Характеризуя в целом все имеющиеся в настоящее время способы построения классов булевых функций с высокой (или предельной) нели- нейностью, следует сказать, что все они, как правило, связаны с опре- делёнными итеративными процедурами получения функций от большого числа переменных с помощью функций от малого числа переменных. Каждая итерация представляет собой некоторый оператор, производящий действия над таблицами истинности булевых функций. Кратко эти спо- собы как раз и можно охарактеризовать как «операторно-табличные». Среди большого количества способов построения устойчивых функ- ций с высокой нелинейностью мы приведём лишь некоторые. Изложение материала в определённой мере покажет, почему мы остановились именно на этих способах. Для дальнейшего изложения напомним некоторые факты и понятия. Переменная х^ называется линейной для функции Дх(1\ ..., х^"^, x(z), x(f+1), ..., х(л)) е?п, если deg(/, x(l)) = 1. Если переменная x(z) является линейной для функции /, то функция / может быть представлена в виде Дх(1), ..., х(/-1), x(z), х(/+1), ..., х(л)) = = g(x(I), • ••> х(/+1), х(л)) ®xw. Булева функция Дх(1\ ..., х(л)) зависит от пары своих переменных (х(/), х(/)), 1 i < j < п, квазилинейно, если /(х') / /(х") для любых двух векторов х' и х", различающихся только в z-й и /-й компонентах. Пара переменных х^) в этом случае называется парой квазилинейных переменных для функции /. Задача 7.89. Пусть /(х(1\ ..., х(п)) е^. Доказать, что пара перемен- ных (x(z), х(/)), 1 ^z < j ^п является парой квазилинейных переменных для функции f в том и только в том случае, когда функция f может быть
310 Глава 7. Корреляционная иммунность и устойчивость представлена в виде /(х(1), х(п)) = g(x(1), ..., х(/-1), x(z+1), ... ..., D, х(/+1), ..., х(л), х(/) ф х(/)) ф х(/), (7.23) при этом Nf = 2Ng. Лемма 7.90. Пусть fi, fo^^n и существуют переменные х(|) и 1 / < j п, такие, что fo зависит от переменных х^ и х(/) линейно, a fo зависит от пары переменных (x(z), х(/)) квазилиней- но. Тогда для любой аффинной функции I по крайней мере одна из функций fi ф / и /2 Ф / является уравновешенной. Доказательство. Если I не зависит от переменной x(z) (или х(/)), то f\ ф I зависит от переменной x(z) (или х(у)) линейно и поэтому является уравновешенной. Если же / существенно зависит от обеих переменных x(z) и х^, т. е. / = /' ф x(z) ф х(у), то, очевидно, /2 ФI = /2 Ф I' Ф Ф зависит от па- ры переменных (x(z), х(у)) квазилинейно и поэтому является уравнове- шенной. □ Лемма 7.91. Пусть fi, foe Тп, sut fo — sut fo —m, I\fo = min(W;p Nf2) и существуют переменные x(z) и x^ такие, что fo зависит от пере- менных х®, х(у) линейно, a fo зависит от пары переменных (х^, х(у)) квазилинейно. Тогда функция Л'(х(1), ...,х(л),х(л+1)) = = (х(л+1)Ф1)А(х(1), ...,х(л))фх(л+1)/2(х(1), Х(л)) (7.24) является т-устойчивой функцией из Fn+\ с нелинейностью Np^ ^2Л-1 ц-Nq и функция /^(х(1), ..., x(rt), х(л+1), х(/г+2)) = (х(л+1) фх(л+2) ф 1)Л(х(1), ..., х(л))Ф ф(х(п+1) фх(й+2))/2(х(1), х(п))фх(п+1) (7.25) является (т+ Г)-устойчивой функцией из Fn+z с нелинейно- стью Np ^2п + 2Nq. Кроме того, fo зависит от пары переменных (х(л+1), х(л+2)) квазилинейно. Доказательство. Рассмотрим функцию (7.24). Поскольку обе функции /1 и fo являются m-устойчивыми, то согласно задаче 7.66 функ- л+1 ция (7.24) также является m-устойчивой. Пусть Z(x) = /а,^(х) = ф а^х^, S=1
§7.5. Построение устойчивых функций 311 ^(х^,...,х^+2)) = а е Vn+ь Ь € ^2- Тогда dist(/{, /) =dist(/i, /„%,) + dist(/2, O=wt(fi ®/°+1) + wt(f2®/‘+1). В соответствии с леммой 7.90 по крайней мере одна из функций fi Ф/„+1 и является уравновешенной. Из этого, очевидно, вытекает, что Nf^-'+Nv. Рассмотрим теперь функцию (7.25). Из задачи 7.89 следует, что функ- ция /2 зависит от пары переменных (х(л+1), х(п+2)) квазилинейно. Заме- тим, что х(л))Ф?л+1) при х(п+1) фх(л+2) =0, •••, ?Л)) Ф?"+1) при Х(л+1) фХ(п+2) = 1. При этом в силу задачи 7.66 sut(/i фх(л+1)) = sut(/2Фх(л+1)) = т 4- 1, а в силу задачи 7.89 ппп(Л^1фх(Л+1), Nf2®x(n+\>) = 2Nq. Практически повто- ряя для /2 рассуждения, проделанные для Д', получим, что является (т 4- 1)-устойчивой функцией и N 2Л 4- 2Nq. □ Лемма 7.92. Пусть fn,\ — т-устойчивая булева функция из Fn, —(тЦ-\)-устойчивая булева функция из 5*n+i, ^2^- Кроме того, функция fn+\,2 зависит от некоторой пары своих переменных (x(z), х(/)) квазилинейно. Тогда существуют (т 4- 2)-устойчивая булева функция fn+3,i £^п+з, Nfn+3l 2л+1 4- 4Wo, и (т+3)-устойчивая булева функция Kfn+42 2п+2 4- 8Nq. Кроме того, функция fn+4,2 зависит от некоторой пары своих пе- ременных квазилинейно. Доказательство. Пусть 1 < i < j < п. Определим /Л?1), х^) = /пД(х^, ..., х«~'\ х^[\ ..., х*'-1), х^, ... х^) х(п+1) х^"1”^) ф х^) ф х^) М?1), •••, Х(л+2)) =/л+1,2(х(1), Х(л+1)) фХ(п+2). Ясно, что функции /1 и /2 являются (т 4- 2)-устойчивыми функциями из 5*л+2 и согласно задаче 7.89 и Nf2 Кроме того, /1 зависит от переменных х(/) и х(/) линейно, /2 зависит от пары переменных (x(z), х(у)) квазилинейно. Подставляя Д и /2 в (7.24) и (7.25) (заменяя п
312 Глава 7, Корреляционная иммунность и устойчивость на п 4- 2), имеем ..., х(л+2), х(л+3)) = (х(л+3) ф 1) /д (х(1), х(л+2)) ф е?+3)/2(х(1), ...,х(л+2)), /^(х(1), ... , х(л+2), х(л+3), х(л+4))=(х(л+3)фх(л+4)ф1)Л(х(1), ... , х(л+2)) ф ф (х(л+3) фх(л+4))/2(х(1), ..., х(л+2)). Тем самым, согласно лемме 7.91, мы построили (т + 2)-устойчивую бу- леву функцию /п+3,1 = /[ еТ^+з, Nfn+3i ^2л+1 +4Nq и (т + 3)-устойчи- вую булеву функцию /п+4,2 = /г е •7?«+4> ^+4.2 > 2п+2 + 8jVo- Кроме то- го, функция /п+4,2 зависит от пары переменных (х(л+3\ х(п+4)) квазили- нейно. □ Следствие 7.93. Пусть т^п — 2, fn,\ — т-устойчивая буле- ва функция из Fn, Nfnl = 2Л-1 — 2'л+1, fn+\,2 — (w + 1)-устойчивая булева функция из 5^+1, Д^л+12 =2Л — 2лг+2. Кроме того, функ- ция fn+\,2 зависит от некоторой пары переменных (х(/), х(/)), 1 </ ^и, квазилинейно. Тогда существует (т + 2)-устойчивая булева функция fn+z,\ Л^л+31 =2п+2 -2ш+3, и (т + 3)-устой- чивая булева функция fn+4,2 Е ^+4» ^fn+i2 = 2л+3 — 2/п+4. Кроме того, функция fn+4,2 зависит от некоторой пары переменных квазили- нейно. Доказательство. Следствие 7.93 совпадает с леммой 7.92 для No = 2Л-1 — 2m+1. В самом деле, согласно лемме 7.92 мы можем построить функции fn+o,\ и /п+4,2 с требуемыми свойствами и нели- нейностями Nfn+3i 2Л+1 + 47VO = 2Л+2 - 2W+3, Nfn+42 2Л+2 + 8Nq = = 2л+3 — 2лг+4, соответственно. По теореме 7.77 правые части последних двух неравенств являются также верхними оценками для нелинейности соответствующих функций. Поэтому мы имеем точные равенства Nfn+3l = = 2"+2 - 2т+3, Nfn+42 = 2л+3 - 2т+4. □ Теперь приведём утверждение, дающее точное значение Nmax (п, т) для широкой области значений т, п. 2п — 7 Теорема 7.94. При —-— т п - 2 выполнено равенство Nm.^n, т)=2п~х-2т+х. Доказательство. Согласно неравенству Зигенталлера любая (п—2)- устойчивая функция из Тп является аффинной. Поэтому Nmax(n,n — 2)=0. Положим /2,1 =х(1)х(2), /32 =х(1)(х(2) фх(3)) фх(2). Эти функции удо- влетворяют предположению следствия 7.93 при п — 2, т = — 1. Согласно
§7.5. Построение устойчивых функций 313 следствию 7.93 мы можем построить функции и такие, что яв- ляется 1 -устойчивой булевой функцией из ^5, Nf51 = 24 — 22 = 12, а функ- ция /б,2 является 2-устойчивой булевой функцией из Л^62 = 25 — 23 = = 24. Используем функции /5Л и /б,2 в следствии 7.93 и так далее. Дей- ствуя таким образом для любого натурального числа k, k 3, мы постро- им m-устойчивую булеву функцию //j € 7} с нелинейностью 2/-1 — 2яг+1, где / = 3k - 7, т = 2k - 7, т. е. k = / — т. „ 2/2 — 7 . . Q Пусть теперь пит таковы, что —< т < п — 3. Ясно, что в этом случае 3(п — т) — 7 п. Построим указанным выше способом для k — n — m функцию /з(Л-т)-7д(*(1\ •••, являющую- ся 2(п — т) — 7-устойчивой, с нелинейностью Л^/3(п_ш)_71 = 23(я“'я)-8 — _22(n-w)-6 Определим функцию п s=3(n—т) —6 Согласно задаче 7.21 устойчивость этой функции равна (2(п — т) — 7) + 4- (п — (3 (/? — т) — 7)) = т. Нелинейность же функции f согласно зада- че 2.120 равна 2"-<3(n-™)-7)(23(n-m)-8-22(<п~т^) = 2п~' -2m+1. Таким образом, при —з— < т < п — 2 мы построили m-устоичивую булеву функцию с нелинейностью 2я-1 — 2™+1. □ Замечание 7.95. Из теоремы 7.94 следует, что п — 4) = = 2я-1 - 2я"3 при /7 > 5. Задача 7.96. Доказать, что для любой geFn функция ... ..., х(2я)) = g(x(1) фх(я+1), Х(2) фх(я+2), ..., х(я) фх(2я)) фх(1) ф?2) ф ... ... ф Х(я) е J~2n является (п — 1)-устойчивой. Построение устойчивых функций с максимально возможной нелиней- ностью, к сожалению, не решает задачу построения булевых функций с удовлетворительными криптографическими характеристиками. В част- ности, одной из нежелательных особенностей является наличие у по- строенной булевой функции значительного числа переменных, от кото- рых она зависит линейно, и как следствие, с появляющимися в этом случае возможностями линеаризации соответствующих криптографиче- ских задач. Как показывают имеющиеся результаты, устойчивые функ- ции с максимальными возможными значениями нелинейности, получен- ные известными в настоящее время способами, как правило, имеют пе- ременные, от которых они зависят линейно. Например, для способа, опи- _ Л. 2/2 — 7 , • санного в теореме 7.94 при —г— < т построенная функция зависит
314 Глава 7. Корреляционная иммунность и устойчивость от некоторых переменных линейно. Функции, зависящие от всех своих переменных нелинейно, конструируются лишь в некоторых случаях. В связи с этим мы приведём без доказательства ещё один способ по- строения устойчивых функций с максимальными возможными значениями нелинейности, который в то же время оптимизирует эти функции отно- сительно неравенства Зигенталлера по каждой переменной. Подробное изложение этих результатов содержится в работах [401, 404]. Определение 7.97. Переменная булевой функции назы- вается покрывающей для функции, если каждая другая переменная функции f содержится вместе с х^ в некотором слагаемом максимальной длины алгебраической нормальной формы функции /. Определение 7.98. Пара переменных (x(z), х^), 1 / < j ^п, буле- вой функции f е^п называется квазилинейной парой покрывающих переменных для функции, если каждая другая переменная функции f содержится вместе с х® в некотором слагаемом максимальной длины алгебраической нормальной формы функции f (и, соответственно, вме- сте с х^ в некотором слагаемом максимальной длины алгебраической нормальной формы функции /). Лемма 7.99. Для целых kun, удовлетворяющих неравенствам k^3, 3k-7^n<3- 2k~2 — 2, существует булева функция для которой выполняются следующие свойства: 1а) является (п — Ь)-устойчивой функцией', 16) Nfk{ =2"-1 1 в) deg(/^ j, x(z)) = k — 1 для каждой переменной x^, 1 i < n; 1 r) имеет покрывающую переменную. Для целых kun, удовлетворяющих неравенствам k^3,3k — 7 < < п < 3 • 2k~2 — 2, существует булева функция f„2 £^п, для которой выполняются следующие свойства 2а) f„2 является (п — к)-устойчивой функцией', 26) Nfk2=2n-[ -2п~м; 2 в) deg(/*2, x(z)) — k - 1 для каждой переменной х®, 1 < i < п\ 2 г) f^2 имеет квазилинейную пару покрывающих переменных. Теорема 7.100. Для целых чисел тип, удовлетворяющих нера- 2п-7 . . . п+2 венствам —-— < т п — log2 —------2, существует т-устоичивая булева функция из Fn с нелинейностью 2п~х — 2m+I, достигающая неравенства Зигенталлера для каждой отдельной переменной.
§7.6. Покрывающие последовательности устойчивых функций 315 § 7.6. Покрывающие последовательности корреляционно-иммунных и устойчивых функций Рассмотрим теперь характеризацию корреляционно-иммунных и устой- чивых функций с помощью покрывающих последовательностей. Прежде чем привести соответствующие утверждения, напомним в удобном для этого параграфа виде определение полиномов Кравчука. Пусть п — фиксированное натуральное число, /, I и вектор и е Vn имеет вес wt(tz) = /. Воспользовавшись определением 4.41 и заменив в нём k на z, z на /, получим Л(0 = £ (/)(”-/9 = S (7.26) у=о \// \ / / xeV/j wt(x)=Z Теорема 7.101. Для f е1Гп выполнено равенство сог f = т {соот- ветственно sut f = т) тогда и только тогда, когда существует тривиальная {соответственно — нетривиальная) покрывающая последовательность 0 = {0а), aeVn, с уровнем р такая, что т = min {wt(6) | Ь е Vn, b ± 0, We{b) = W0(О) - 2р} - 1. (7.27) Доказательство. Пусть для f существует покрывающая последо- вательность 0 с уровнем р, для которой выполнено соотношение (7.27). В соответствии с теоремой 2.149 Vn \ CIf с {Ь е Vn I W0{b) = Wв{0) - 2р}, поэтому соотношение (7.27) приводит к следующим выводам: 1) Wf{b) = 0 для всех b eVn, 1 < wt(6) С т; 2) найдётся b е Vn, wt(6) = т + 1, что Wf{b) ± 0. Это означает, что cor f = т, а если р / 0, то sut/ = т. Докажем обратное. Предположим, что функция сог / = т. Тогда Vn \ CIf С М = {b е Vn | wt(6) > т 4-1} U {0}. В соответствии с теоре- мой 2.149 последовательность 0м является покрывающей для функции /, причём __ (2п, если be М, W^{b) = { (О, еслиб^М, и поэтому выполнено (7.27). Рассуждения для случая sut / = т аналогичны. □ Как следует из доказательства теоремы 7.101, одна и та же покрыва- ющая последовательность может быть взята для любой корреляционно-
316 Глава 7. Корреляционная иммунность и устойчивость иммунной функции порядка т (соответственно m-устойчивой). Но эта последовательность имеет достаточно сложную структуру. Поэтому же- лательно найти для любой конкретной корреляционно-иммунной функции порядка т (соответственно m-устойчивой) более простую покрывающую последовательность (например, {0, 1}-значную). Из предыдущего очевид- но, что покрывающая последовательность 0, преобразование Фурье ко- торой принимает постоянное значение г на множестве векторов с весом большим, чем т, и значение г, / г на множестве векторов с весом i < т, выражается через полиномы Кравчука 0а=52 £ r,(-i)<a’c>+ 52 г(-1)^>=52г,л(/)+/-52л(/), i^m c^Vn cEVn *>т vd(c)=i wt(c)>m где I — wt(6). Рассмотрим теперь возможность использования полученной в теоре- ме 7.101 характеризации для выделения некоторых подклассов устойчи- вых функций. Эти функции допускают действительно простые покрыва- ющие последовательности, что даёт возможность вычислять их поряд- ки устойчивости, а также верхние границы их алгебраической степени и нелинейности. Напомним, что носитель вектора х G Уп — это supp(x) = {z € 1, 2, ...,/? | х® = 1}. Лемма 7.102. Пусть f eFn и Е — некоторое множество векто- ров из Уп, удовлетворяющих условию', для любой пары различных векторов х и у из Е выполнено supp(x) A supp(i/) = 0. Если индикатор множества Е является нетривиальной покры- вающей последовательностью функции f с уровнем р, то sut f ^Р-У Доказательство. Обозначим через 0 индикатор множества Е (0а = 1, если аеЕ; 0а = О, если а£Е). Так как f допускает в в ка- честве нетривиальной покрывающей последовательности с уровнем р, то в соответствии со следствием 2.151 булева функция /ф/ь,о —урав- новешенная для любого вектора Ь е Уп такого, что 52 Р (где Нь — аеНь есть аффинная гиперплоскость, определяемая уравнением (а, 6) = 1). Мы имеем 52 0а = #(£ п Нь) < #{а е Е I supp(a) П supp(6) / 0} wt(6). аеНь
§7.6. Покрывающие последовательности устойчивых функций 317 Последнее неравенство следует из того, что по условию для любых х,уеЕ, х^£у, выполнено supp(x) Asupp(r/) = 0. Таким образом, ес- ли wt(6) < р — 1, то 22 / Р- Следовательно, если wt(6) < р - 1, аЕ.Нь то /©/^ — уравновешенная функция и Ц7Д6) = 0, т.е. / — корре- ляционно-иммунная функция порядка р— 1. Так как р^О, то / — (р — 1)-устойчивая функция согласно следствию 2.152. □ Определение 7.103. Покрывающая последовательность 0 = (0а), aeVn, функции / называется простой, если #ае{0, 1} для любого а е Vn и {а е Vn I ва = 1} С {еь ..., еп}. Лемма 7.104. Булева функция f ЕД допускает простую покры- вающую последовательность 0 = 1Е уровня р, где Е = {ei, в2, ..., еп} тогда и только тогда, когда функция f — р-регулярна (см. опре- деление 2.21). Доказательство. Пусть в = 1Е — простая покрывающая последова- п тельность уровня р для функции /. Тогда 22 QaDaf = 22 ^ei f = Р- Сле- aevn /=1 довательно, для любого вектора х е Vn имеем п £И(х)ф/(хфе,)] = р. (7-28) Z=I Воспользовавшись соотношением (7.28) для вектора х е Vn такого, что f(x) = 0, получаем, что лишь для р векторов у, находящихся на расстоя- нии 1 от х, значение f(y) равно 1. Аналогично, для любого вектора х е Vn такого, что f(x) = 1, из соотношения (7.28) получаем, что лишь для р век- торов у е Vn, находящихся на расстоянии 1 от х, значение f(y) равно 0. Следовательно, / — р-регулярная функция. Докажем обратное. Предположим, что / — р-регулярная функция. Положим 0 = 1е- Тогда легко видеть из соотношения (7.28), что так опре- делённая последовательность в будет простой покрывающей последова- тельностью для функции / уровня р. □ Можно рассмотреть кодовую конструкцию леммы 7.104. Пусть С! = {х е Vn | f(x) =1} и C2 = {xeVn\ f(x) = 0} — нелинейные коды (см. [291]) в Vn. Булева функция / является р-регулярной тогда и только тогда, когда для любого вектора и G Ct, i = 1, 2 выполнены соотношения #{хе Ci | dist(u, х) = 1} = л -р, #{уе С2 | dist(a, у)=\} = п-р. Далее для удобства мы будем использовать обозначение Е = |J supp(x) хеЕ
318 Глава 7. Корреляционная иммунность и устойчивость для множества индексов ненулевых компонент векторов из множества Е = {a G Vn | 0ei = 1} простой покрывающей последовательности 0 = 1Е. Задача 7.105. Доказать, что булева функция f EFn допускает про- стую покрывающую последовательность 0 = IE (Е = {в/ G Vn | 0ei — 1}) уровня р тогда и только тогда, когда любая подфункция /, полученная фиксацией переменных j е{1, 2, ..., п}\Е, является р-регулярной. Пример 7.106. Рассмотрим булеву функцию, заданную в виде линей- ного разветвления (см. §2.5), т. е. f(z) = f(x, у) = {х, $(y))®h(y), где z = (x, у)& Vn, хё Vt, у& К, n = t + $, Ф = (у>1, у>2, •••, heFs. Предположим, что для отображения Ф выполняется условие \у!(Ф(#)) = р для любого у е Тогда функция f допускает простую по- крывающую последовательность 0 = 1Е, где Е — {(ej,0), (в2,0),..., (в/,0)}. В самом деле, простой проверкой легко показать, что / t 52 D(ei °) = ^'рЛу> = р- /=1 /=1 Воспользуемся теперь характеризацией регулярных функций и рас- смотрим утверждения, позволяющие оценивать алгебраические степени функций, допускающих простые покрывающие последовательности. Лемма 7.107. Булева функция feFn является р-регулярной, 1 С р^п - 1, тогда и только тогда, Vn\ClfQ{aeVn\vt(a) = p}. (7.29) Это условие эквивалентно выполнению следующих двух условий'. 1) f(x) — (р — {^-устойчивая функция', 2) f(x) фф... фх^ — (п — р— {^-устойчивая функция. Доказательство. Пусть f — р-регулярная функция. Тогда со- гласно лемме 7.104 функция f допускает простую покрывающую после- довательность 0 = 1Е уровня р, где Е = {е\, в2, ...» еп}- Тогда для любого вектора Ь е Vn имеем п we(b)=52 0a(-i)<a’6>=52(-i)fcW=«- 2 wt(&). aeVn / = 1 Согласно теореме 2.149 We(ti) на множестве Vn\CIf принимает по- стоянное значение U70(O) — 2р = п — 2р. Ясно, что это возможно только в случае, когда wt(6) = р. Следовательно, выполнено (7.29).
§7.6. Покрывающие последовательности устойчивых функций 319 Докажем обратное. Пусть выполнено соотношение (7.29). Рассмот- рим последовательность 6 = 1е, где Е = {в[, в2, ...» еп}. Тогда для любого b € Vn \ Clf имеем we(b) = 52 (-1){a,b} = -1 )*й = П - 2 wt(6) = п - 2р = Г0(0) - 2р. aevn /=1 Следовательно, согласно теореме 2.149 функция f допускает в в качестве простой покрывающей последовательности уровня ри f — р-регулярная функция. Ясно, что (7.29) эквивалентно тому, что Wf(b) = 0 для любого век- тора b с весом меньшим либо равным р— 1 (т.е. f — (р — 1)-устойчива) и для любого вектора b с весом большим либо равным р -Ь 1. Определим функцию g(x) = f(x) ф x(1) ф... ф Тогда Wg(b) = Wf(b ф 1) и вектор b имеет вес больший, чем р тогда и только тогда, когда вектор b ф 1 имеет вес меньший, чем п — р. □ Лемма 7.108. Алгебраическая степень любой р-регулярной функции f (1 ^р^п — 1) из Уп удовлетворяет неравенству deg f < min(p, п — р). Пусть Е С{еь ..., еп} и р—некоторое натуральное число, 1 <р^ < #£ — 1. Алгебраическая степень любой функции f, допускающей простую покрывающую последовательность 0 = 1е уровня р, удо- влетворяет неравенству deg f < min(z? — #£ + р, п — р). Доказательство. Утверждение для р-регулярной функции следует из леммы 7.107 и неравенства Зигенталера. Получим теперь оценку для общего случая. Обозначим 1 = п — #Е. Без нарушения общности будем считать, что Е = {e/+i, ..., еп}. То- гда для вектора х е Vn имеем хт = (х/Т, х"т), где х' — (х(1), ..., х(^)т, х" = (х(/+1), ..., х^)т. Для произвольного и = (z?0,..., z/^)T € Vi имеем “(Z)’ Тогда для функции f справедливо представление i f(x) = ф (*") П(-(,) Ф «(/) Ф 1). uEVi / = 1
320 Глава 7. Корреляционная иммунность и устойчивость Согласно задаче 7.105 при любом и € V/ подфункция z(x") являет- ся р-регулярной. Согласно первой части утверждения настоящей леммы deg ff ^х") < min(p, п — I — р) при любом и е V/. Следовательно, для функции / выполнено неравенство deg f / + min(p, п — I — р) = = min(/ 4- р, п — р) = min(n — #Е + р, п — р). □ Перейдём к изложению результатов, позволяющих оценивать нели- нейность регулярных булевых функций и функций, допускающих простые покрывающие последовательности. Теорема 7.109. Нелинейность любой булевой функции feFn, допускающей простую покрывающую последовательность 0 = 1е уровня р, удовлетворяет неравенству (7.30) Нелинейность любой р-регулярной функции f удовлетворяет неравенству - max < ------7 2р, Т~р (7.31) п Р Доказательство. Пусть f eFn — булева функция, допускающая простую покрывающую последовательность 0 = 1е уровня р. Тогда со- гласно следствию 2.151 для любого beVn такого, что ^2 аень выполнено Wf(b) = 0. Обозначим В = ва = р\- Восполь- зовавшись равенством Парсеваля, имеем а^нь 52 ^2(6) = 22п. ьев Следовательно, выполнено неравенство
§7.6. Покрывающие последовательности устойчивых функций 321 Сумма 52 равна мощности множества Е П Нь = {ez е Е | № = 1}. Так как 52 ^а= Р, то из #Е компонент вектора Ь таких, что i Е Е, ров- ней/, но р должны быть равны 1, а другие должны быть равны 0. Оставшиеся п — #Е компонент вектора Ь могут быть определены произвольно. Полу- чаем, что число таких векторов Ь равно * 2Л“#£. Таким образом, 22л #B=/#£Y2„_#£’ \ Р ) и, следовательно, выполнено неравенство (7.30). Пусть теперь f — р-регулярная булева функция. Согласно лем- ме 7.104 функция f допускает простую покрывающую последователь- ность 0~1Е уровня р, где Е = {е\, ...» ел}, т.е. #Е = п. Тогда нера- венство (7.30) принимает вид пл — 1 Л/г . С другой стороны, воспользовавшись леммой 7.107 для р-регулярной функции f получаем неравенство Nf^2n~i — max(2p, 2п~р). Два последних неравенства совместно дают неравенство (7.31). □ Замечание 7.110. Воспользовавшись формулой Стирлинга (см., на- пример, [205]), легко показать, что 2л-1 / больше, чем 2тах^’п”р), когда р близко к п/2 (минимальное значение для этого случая п = 10, р = 5), тогда как в других случаях 2П-1 / у (р) меньше, чем 2тах<р’л-^. Пусть g и h — булевы функции соответственно из Л и 5/. Пред- положим, что обе они допускают простые покрывающие последователь- ности. Для удобства используем следующую нумерацию векторов кано- нических базисов этих пространств — {ei, ..., еп} и {ел+ь ..., еп+/}. То- гда покрывающие последовательности функций g и h имеют вид О = 1Е (Е С {ei, ..., еп}) и О' = 1Е> (Е'С {ел+1, ..., ел+/}). Функция f e^i цида у) = g(x)^h(y), (x,y)eVn+h xeVn, yeVh
322 Глава 7. Корреляционная иммунность и устойчивость допускает простую покрывающую последовательность S = /m, где, на- пример, S\=E, Sz = E', S% = Е U Ег. Обнаружить это свойство можно простой проверкой. Лемма 7.111. Пусть g, he Тп допускают одну и ту же простую покрывающую последовательность 0 = Ig уровня р. Рассмотрим бу- леву функцию из Fn+\ Дх(|),..х(п),х(п+,))=x(n+l)g(x(,),..х(п)) ф (х(п+1)ф 1)Л(х(1),..х(я)). Тогда функция f допускает ту же самую простую покрывающую последовательность 0 — 1^ уровня р. Кроме того\ — если g и h таковы, что для любого вектора ueVntio крайней мере один из коэффициентов Уолша—Адамара Wg(u), Wh(u) ра- вен нулю, то Nf = 2П-1 + min(?Vg, Nh). Достаточным условием этого будет наличие у функций g и h другой общей покрывающей по- следовательности с различными уровнями (например, эта вторая покрывающая последовательность тривиальна для g и нетриви- альна для h); — если алгебраические нормальные формы функций g и h не имеют одинаковых мономов максимальной длины, то deg f = 1 + + max(deg g, deg h). Доказательство. Для любого i < n имеем £>eJ(x(1), ...,X(n),X(n+1)) = = x<n+1)Z)eIg(x(1), .... Xw) ф (х(п+1) Ф l)Deik(x(l), x(n)). (7.32) Так как g и h допускают одну и ту же простую покрывающую последо- вательность 0 — 1е уровня р, т.е. ^2 A?zg = 12 De.h = p, то из (7.32) С^Е CiZzE получаем £2 A?z / = р. Для любого и е Vn+\ имеем eiEE .... ы(п), u(n+l)) = (—1)“<,,+I>U7g(u(1), .... u(n>) + Wh(uw, u(n)). Тогда если для любого вектора и по крайней мере один из коэффициентов Wg(u^, ..., и^) и Wh(u^, ..., и^) равен нулю, то max ..., и(п\ и^п+^)\ = = max max(IU7„(u(1)...........u(n))l, |ГА(и(|), u(n))|). (u^,...,u^)Tevn
§7.6. Покрывающие последовательности устойчивых функций 323 Воспользовавшись выражением для нелинейности булевой функции, по- лучаем 2”+ - 2Nf = max(2" - 2Ng, 2п - 2Nh) и, следовательно, Nf = 2n~' +min^g, /V/,). Если функции g и h допускают одну и ту же покрывающую последова- тельность с различными уровнями, то согласно теореме 2.149 множества Vn \ Cig и Vn \ CIh не пересекаются. Следовательно, для любого и е Vn по крайней мере один из коэффициентов Wg(u) и Wh(u) равен нулю. Последнее утверждение леммы очевидно. □ Лемма 7.112. Пусть gElFn. Предположим, что она допус- кает простую покрывающую последовательность 0 — 1е, где Е С {ei, ..., еп-\}, уровня р. Тогда булева функция ..., х(л), х(л+1)) = х(л+1) ф g(x(1), ..., х(л) фх(л+1)) допускает простую покрывающую последовательность 0' = = 1Еи{еП,еп+[}- Уровень 0' равен р+ 1. Кроме того, Nf = 2Ng и deg f = = deg g. Доказательство. Мы имеем Den_^ / — 1 Ф DCn f — 1 — D6n f. То- гда Dgnf + = 1. Поскольку по условию леммы £2 Dejf = p ej^E и E С {e\, ..., en-[}, то ^Deif + DeJ + Deii+tf= £ ^;7 = P+L е]€Еи{еп,еп+1} Равенство Nf = 2Ng выполняется, так как f может быть получена из g с помощью аффинной замены переменных и сложения с аффинной функ- цией. Последнее утверждение леммы очевидно. □ Определение 7.113. Булева функция f называется слабо невы- рожденной, если D6i / 0 при любом i = 1, 2, ..., п. Теорема 7.114. Для любого р^2 положим п(р)=3-2р~1 -2. Существует р-регулярная слабо невырожденная булева функ- ция fp eFn(p) такая, что Nfp = 2л(р)-1 -2п^~р и deg fp = р. Доказательство. Воспользуемся индукцией по р. Для р = 2, п(2) = 4 мы можем взять функцию /2(х^, ..., х<4>) = (х*1* фх(2))(х(3) фх(4)) фх(1) фх(3). Это слабо невырожденная 2-регулярная функция, так как De[ h + А?272 = = Z)e3/2 + А?4/2 = 1, а её нелинейность совпадает с нелинейностью н*
324 Глава 7. Корреляционная иммунность и устойчивость функции х(1)х(3), т. е. равна 4. Предположим, что две (не обязатель- но различные) функции ..., х(л(р))) и /гр(х(л(р)+1), ..., х(2/г(р))), удовлетворяющие условиям теоремы, построены и пусть их простые покрывающие последовательности 0 = 1Енв'= /Е, соответственно. По- ложим /р+](х(1),...,х(2л(р)+2))=х(2л(р)+1)ф(х(2п(р)+1)фх(2п(р)+2))^р(х(1),...,х(л(р)))ф ф (х(2л(р)+1) фх(2п(^+2) ф 1)/Zp(x(rt(p)+I) ... х^2л^). Функции gp(x(1\ х(л(р))) и йр(х(л(р)+1), ..., х(2л(р))), рассматриваемые как функции от переменных х(1), ..., х<2л(р)+2\ допускают простую по- крывающую последовательность А = 1ЕиЕ, уровня р и их нелинейность совпадает с увеличенной в 2л(р) раз нелинейностью функций gp и hp. Вос- пользовавшись леммами 7.111 и 7.112, получаем, что fp+i — (р+ 1)-регу- лярная слабо невырожденная функция от 2н(р)+2 = 2-(3-2р-1—2) + 2 = = 3-2Р — 2 = п(р+ 1) переменных. Кроме того, функции gp(x^\ ..., х(л(р))) и /гр(х(л(р)+1), ...,х(2лр)) допускают одну и ту же простую покрываю- щую последовательность 1Е с разными уровнями. Согласно лемме 7.111 функция fP+\ имеет нелинейность 2[22л(р) 1 + 2л(р)(2и(р) — 1 — 2л(р) р)] = = 22л(р)+1 _ 22л(р)-р+1 =2л<р+1)-1 _ 2п^~р~{ и алгебраическую степень р+1. □ Выражение для п(р) показывает, что р значительно меньше, чем п(р). Разницу между этими параметрами можно уменьшить, как показывает следующая теорема. Теорема 7.115. Для любого р^2 положим п'(р) = 4р — 4. Су- ществует р-регулярная слабо невырожденная булева функция fp £ Fn'(p) такая, что Npp= 2п'^~[ - 2п'^~р и deg /' = р. Доказательство. Мы будем строить индукцией по р последова- тельность функций, удовлетворяющих условиям теоремы и таких, что £>ея,( + Оеп,{р}У = 1. Для р = 2 мы можем вновь определить функцию х<4>) = (?) фх<2>)(х<3>фх'4»)®х(1’ фх(3). Предположим, что построена функция •••> (р))), удовлетворя- ющая условиям теоремы. Положим /р+1(х(1), ..., х(л'(р)+4)) = х(л'(р)+3)ф(х(л'(р)+3)ф ф x(n'(p)4-4)^/(x(l)^ х(л'(р)-2) x(nf (р)+1) х(л'(р)+2)}ф ф (x<n'W+3> ®X(rt'W+4) ф 1)/'(х(1), .... Х(л'(р))).
§7.6. Покрывающие последовательности устойчивых функций 325 Мы имеем [)е , Гр(х^\ •••> Х^+'\ х(п'(р)+2)}_ = Оеп/(р}Гр{х^\ ..., Х^+[\ Х(^(Р)+2)) =0, Oen,(₽)_j;(x(1), ..., X^^) + Den,wf'p(X^, .... X<n'^)= 1. Воспользовавшись леммой 7.111 для функций /'(х(1), ..., х(л (р)~2), x(n'(p)+i), х(л'(р)+2)} и ..., х^,(р))), а также леммой 7.112, лег- ко видеть, что функция /'+1 является (р + 1)-регулярной функцией от 4(р4- 1) —4 переменных, нелинейность которой равна 2[4*2П^-1 + 4(2л<р)-1 —2n^~p)] = 2n^^~i — 2п алгебраическая степень deg /'+1 = p-h 1. По построению функции /'+1 ВИДНО также, ЧТО £>ел,(р+„_| f'p+X + DeMf'p+l = 1. □ Заметим, что функция g(x(1\ ..., х(л ^) = f'(x^\ ..., x(zz фх(1) ф ф...фх(л является (п'(р)р — 1)-устойчивой. Отсюда следует, что для функций, построенных в теореме 7.115, достигается граница неравенства Зигенталлера. Более того, для этих функций достигается максимальная возможная нелинейность для (р — 1)-устойчивых функций. Теорема 7.116. Максимальная нелинейность р-регулярных функций из 7п равна 2"-1 - 2тах(р’п-р) для 1 < min(p, п — р) < ~ + 1. Доказательство. В соответствии с теоремой 7.109 максимальная возможная нелинейность любой р-регулярной функции из ограни- чена сверху числом 2"-1 - 2тах(р’п-р). Положим п! = 4р — г^п. Тогда согласно утверждению теоремы 7.115 существует р-регулярная функ- ция 1'(х^\ ..., х(л )) e^nf с нелинейностью Np = 2п'~} -2п'~р. Добавив п — п' новых фиктивных переменных, мы получим р-регулярную функцию /(х(1), ..., х(п)) е7лс нелинейностью Np = 2Л-1 —2п~р. Если п —р^^ + 1, мы строим тем же путём (и -р)-регулярную функцию /(х(1), ..., х^) € ?п с нелинейностью Np — 2п~х — 2Р. Тогда функция g(x(1), ..., х(п>) = f(x^, ..., х(л)) ®х(1) ф ... фх(л), очевид- но, р-регулярная функция из с нелинейностью Ng=2n~l —2Р. Мы имеем Nj=Ng. □ Пусть 0 = (0а), ае Vn — покрывающая последовательность функции f е^п- Ясно, что элементы 0а ДЛЯ таких векторов а е Vn, что Daf(x) = 0, не вносят вклада в сумму 0aDaf- Они могут быть заменены на йоль aevn
326 Глава 7. Корреляционная иммунность и устойчивость и получившаяся последовательность О' также будет покрывающей то- го же уровня для функции /. Определение 7.117. Покрывающая последовательность 0 = (0а), ае Vn, булевой функции f называется совершенной, если для любого вектора a eVn такого, что 0а 0, выполняется Da f(x) 0. Теорема 7.118. Пусть f eFn допускает совершенную неотрица- тельную покрывающую последовательность 0 = (ва), а е Кл, уров- ня р. Тогда выполнено неравенство r0(O)^p-2deg/-'. Доказательство. В соответствии с определением покрывающей по- следовательности мы имеем для любого х е Vn ^2 6aDaf(x) = p. aev„ Просуммировав все эти равенства по всем х е Vn и воспользовавшись тем, что deg Da f(x) < deg f — 1, мы получим р-2"= еа £ Daf(x)= еа ^Daf(x))^2n-A^>+i £ е“. atVn x^Vn aeVn a£Vn Поскольку то последнее неравенство даёт утверждение aevn теоремы. □ Следствие 7.119. Пусть f — произвольная булева р-регулярная слабо невырожденная функция из Fn. Тогда п^р- 2Р“!. Пусть теперь f — р-регулярная булева функция и DSi f(x) 1 для любого i = 1, 2, ..., п. Тогда п^(п- р) • 2п~р~{. Доказательство. Для р-регулярной функции из Уп имеем Wq(0) = = п. Кроме того, согласно лемме 7.108 выполнено неравенство deg f < р, что и даёт нам первое утверждение следствия. Рассмотрим функцию g(x^\.. .,х(^) = Дх(1\. •.,х^) фх(1^ ф.. .фх^. Согласно лемме 7.107 функция g является (п — р)-регулярной. Кроме то- го, g является слабо невырожденной функцией. Воспользовавшись пер- вым утверждением этого следствия, получаем п < (п — р) • 2П“Р"1. □ Следствие 7.120. Для данного р^2, максимально возможное п такое, что существует р-регулярная слабо невырожденная булева функция, удовлетворяет неравенствам 3-2Р-1 -2^п^р-2р~'.
§ 7.7. Квадратичные устойчивые функции 327 Доказательство. Нижняя граница следует из теоремы 7.114. Верх- няя граница следует из следствия 7.119. □ Следствие 7.121. Минимальное р такое, что существует р-ре- гулярная слабо невырожденная булева функция из ?п, удовлетво- ряет при п-+оо соотношению min р = log2 п ± O(log2 log2 п). Доказательство. Следствие 7.120 даёт нам 3 • 2min — 2 < п, что влечёт за собой р log2 п. Неравенство п < min р • 2m,n влечёт за со- бой выполнение неравенства р log2 п — log2 log2 п 4- 1. □ § 7.7. Квадратичные устойчивые булевы функции максимального порядка Квадратичные булевы функции являются очень удобным математиче- ским объектом. Одной из важнейших черт этого объекта является то, что соответствующие математические задачи для него могут быть полностью решены, т. е. результаты имеют законченный вид. В качестве примера можно привести полную классификацию квадратичных функций на осно- ве групповой эквивалентности (см. §3.3), полное описание весов спектра кодов Рида—Маллера второго порядка (см. §5.4) и т.п. В настоящем параграфе будет представлено полное описание устойчивых квадратич- ных функций максимального порядка. Будут использованы обозначения и результаты глав 2, 3. Пусть f deg f 2. Как и ранее (см. §3.3) через qf(u, v) = f(u ф ф v) ф f(u) ф f(v) ф /(0) будем обозначать симплектическую билинейную форму, ассоциированную с функцией /. Если f(x) = /(х(1), ..., х(л)) = = xTQfX ф bjx ф /(0) (Qf — верхнетреугольная матрица с нулевой главной диагональю, см. §3.4, bf€Vn), то симплектическая матрица, соответствующая qf, имеет вид Qf = Qf®Qj- При этом qf(u, и) = = uTQfV. Ранг билинейной формы qf совпадает с рангом матрицы Qf и всегда чётен (см. лемму 3.30). Ясно, что если g(x) = f(x) ф 1а,е(х), то функции g и f имеют одну и ту же ассоциированную симплектическую билинейную форму (и симплектическую матрицу Qg = Qf). В соответствии с задачей 2.126 выполнено Lf =ker qf, при этом для квадратичных булевых функций f ядро qf находится легко, т. к. очевидно ker q/ = ker Qf = {и € V„ | urQ/X = 0 для любого х € Vn}.
328 Глава 7. Корреляционная иммунность и устойчивость Поскольку любая квадратичная функция является частично м.-н. (бент-) функцией, то в соответствии с задачами 6.56, 6.58 справедливы также следующие утверждения: 1) f является уравновешенной тогда и только тогда, когда /|кег^ Ф const; 2) Vn \ CIf = Uf ф (ker qf)3-, где Uf e Vn — некоторый фиксированный вектор. Для m-устойчивой функции f выполнено неравенство Зиген- таллера deg f < п — т~ 1. Поскольку deg f = 2, то т п — 3, и значит максимальное значение sut f для квадратичной функции равно п — 3. Именно (п — 3)-устойчивые квадратичные функции из 7^ и будут описаны в этом параграфе. Как известно, для уравновешенных булевых функций выполнено равенство sut f = min {wt(a) | и € Vm \ CIf} — 1. (7.33) Задача 7.122. Доказать следующее утверждение. Квадратичная булева функция f EFn является (/г — 3)-устойчивой то- гда и только тогда, когда её алгебраическая нормальная форма имеет вид, представленный соотношениями (7.34—7.37): /(х) = х^х^ ф ф х(/) ф г®х® ф е^х^ ф е, (7.34) /е{1...............n}\{i,j} где ^(/)? € _ произвольные элементы из F2, i и j — различные элементы множества {1, ..., п}; f(x) = (х^ ф х^)(х^ ф х^) ф (v, х) ф е, (7.35) где г — произвольный элемент из F2, линейная функция (v, х) равна ли- бо ф х(/), либо ф x(z), либо ф х(/), либо ф х(/), /е{1..................te{l,...,n}\{i,k} /е{1..n}\{j,k} i, j, k — произвольные различные элементы множества {1, ..., п}\ f(x) = (x(i) ф x^)xw ф (v, х) ф е, (7.36) где £ — произвольный элемент из F2, линейная функция (у, х) равна либо ф х^\ либо ф х^,либо ф х(/),либо ф х(/\ /Е{1,...»л}\{/} /е{1 П}\{/} te{\,...,n}\{i,k} /£{!,.. /, /, k — произвольные различные элементы множества {1, ..., п}\ /(х) = (х<'> ф xW)(x(/) ф х(/)) ф (и, х) ф е, (7.37) где е — произвольный элемент из F2, линейная функция (и, х) равна либо ф х(/), либо ф х(/), либо ф х(/), либо ф х(/\ /е{1........................n}\{i,k} /е{1..n}\{t,k} z, /, Z, k — произвольные различные элементы множества {1, ..., п}.
§ 7.7. Квадратичные устойчивые функции 329 Следствие 7.123. Пусть Qn —число (п — 3)-устойчивых квадра- тичных функций в Уп. Тогда <?„ = |п(«-1)(Зп-2)(л+1). О Доказательство. Следствие непосредственно вытекает из соотно- шений (7.34)—(7.37). □ Задача 7.124. Пусть / — квадратичная /г-устойчивая функция из п — k^2, deg(/, х^) 2 для всех i = 1, 2, ..., п. Доказать, что n^(n-k-\)2^f~x. (7.38) Теорема 7.125. Пусть f — квадратичная k-устойчивая функция из п^З, deg(/, х^) =2 для всех i = 1, 2, ..., п. Тогда k 1. Доказательство. Воспользуемся задачей 7.124 и подставим в нера- венство (7.38) deg / = 2. В результате получаем — 1, что эквива- лентно при натуральных k неравенству k — 1. □ Замечание 7.126. Неравенство (7.38) достижимо. Действительно, со- гласно задаче 7.96 существуют (k — 1)-устойчивые функции от 2k пе- ременных. Чтобы построить квадратичную функцию, удовлетворяющую условиям теоремы 7.125, достаточно в качестве g взять функцию (0х(Л В заключение параграфа приведём таблицу 7.1, которая содержит мощности множеств всех квадратичных функций (NQn), уравновешенных квадратичных функций (BQn) и (п — 3)-устойчивых квадратичных функ- ций (Qn) для п = 2, ..., 8. Таблица 7.1 п NQ„ BQn Qn 3 112 56 56 4 2 016 840 200 5 65 472 36 456 520 6 4 194 176 1 828 008 1 120 7 536 870 656 300 503 336 2 128 8 137 438 952 960 60 273 666 600 3 696
330 Глава 7. Корреляционная иммунность и устойчивость Комментарии к главе 7 Как видно из результатов, представленных в настоящей главе, кор- реляционно-иммунные и устойчивые булевы функции и отображения яв- ляются хорошо известным математическим объектом, тесно связанным с комбинаторикой, теорией кодов, криптологией и некоторыми други- ми областями математики. Этот объект активно исследуется большим количеством математиков. Ежегодно публикуются десятки статей и тези- сов, посвящённых изучению различных свойств корреляционно-иммун- ных булевых функций и отображений (причём не только уравновешен- ных— [9]). С точки зрения криптографических приложений естественно наибо- лее привлекательными являются уравновешенные функции, обладающие и другими важными криптографическими свойствами такими, как нели- нейность. Верхние границы для нелинейности произвольной корреляци- онно-иммунной функции и устойчивой функции были получены в рабо- тах [368, 401, 435]. Эти оценки используют лишь порядок устойчивости булевой функции. В работе [156] при построении верхней оценки для нелинейности булевой функции была использована также и её алгебраи- ческая степень. Для с-регулярных булевых функций верхняя оценка для её нелинейности получена в [160] с использованием аппарата покрыва- ющих последовательностей. Некоторые результаты, посвящённые спектральному анализу корре- ляционно-иммунных функций, можно найти в [87, 405, 408]. Необходи- мо отметить также работы, в которых исследуются методы построения устойчивых функций, достигающих верхней границы нелинейности, при- ведём лишь некоторые из них [167, 293, 344, 367, 378, 401, 404, 407]. К этим работам необходимо также добавить работы, в которых иссле- дуются общие вопросы построения корреляционно-иммунных функций с высокой нелинейностью [130, 157, 158, 168, 206, 299, 345, 346, 432]. Оптимизацию неравенства Зигенталлера, т. е. способы построения устойчивых функций максимальной возможной алгебраической степени, можно найти в работах [293, 401, 404]. Наличие у булевой функции определённого количества линейных переменных оценивается как её потенциальная криптографическая сла- бость. Интересным с этой точки зрения является выяснение вопроса о числе (либо об оценке числа) линейных переменных в алгебраической нормальной форме некоторых классов устойчивых функций высокого порядка. Соответствующие результаты представлены в [84, 399, 400, 403, 405, 408, 409].
Комментарии к главе 7 331 Автокорреляционные (или дифференциальные) характеристики кор- реляционно-иммунных и устойчивых булевых функций, которые счита- ются важнейшими криптографическими характеристиками наряду с нели- нейностью, в известном смысле находятся в противоречии с корреляцион- ной иммунностью. Результаты по этому вопросу можно найти, например, в [85, 86, 144, 296, 409, 427, 437]. Обобщения понятий «корреляционной иммунности» и «устойчивости» для отображений, определяемых над различными алгебраическими струк- турами, рассматривались в [51, 60, 61, 131 — 133, 154, 282, 284, 294]. Неравенство Зигенталлера позволяет дать очевидную верхнюю оценку для числа m-устойчивых функций из (т<п— 1): + . Представляются интересными также вопросы вычисления мощностей (либо их оценка) различных классов корреляционно-иммунных и устой- чивых функций. В этом направлении следует отметить работы [20, 21, 84, 130, 292, 399, 405, 408, 408]. В [270] рассмотрена модифицированная задача о радиусе покрытия кода RM(r, т). Радиус покрытия определяется как максимальное рассто- яние между т-устойчивыми функциями из и кодом RM(r, т). В этой работе получены нижние и верхние оценки для определённого выше па- раметра, приводятся численные примеры. В главе 7 были приведены лишь некоторые способы построения устойчивых функций с хорошими криптографическими свойствами. Одна- ко необходимо отметить, что общей чертой всех существующих способов построения таких функций является их операторно-табличный харак- тер. По существу, в процессе построения происходит комбинирование некоторым регулярным способом (с помощью оператора) таблиц истин- ности функций от фиксированного числа переменных, и таким образом осуществляется переход к функциям от большего числа переменных. Разнообразную информацию и библиографию по устойчивым и кор- реляционно-иммунным булевым функциям можно найти в [37, 85, 364].
Глава 8. Коды, булевы отображения и криптографические свойства §8.1. Почти совершенно нелинейные и почти бент- отображения Пусть Ф = (Д, •••> Назовём характеристической функцией отображения Ф и будем обозначать через /ф следующую булеву функцию из Fm+i {1, еслиу = Ф(х), О в противном случае. Пусть f и g — булевы функции из Тт или произвольные целочислен- ные функции на Vm. Тогда свёрткой f 0 g этих функций будем называть целочисленную функцию на Vm (f®g)(a)=^ f(x)g(x®a) xeVm для любого а € Vm (суммирование проводится в действительной области). Рассматривая отображение Ф с криптографической точки зрения, необходимо отметить следующее. Для дифференциального (разностного) метода важным является рассмотрение множеств (a, b) = {xeVm\ Ф(хфа) ® Ф(х) = 6} (8.1) для aeVm, be Vi. Рассмотрим ((2m — 1) х 2Z)-матрицу $ф вида 5ф = (5ф(а, 6)), aeVm\{0}, beVt, (8.2) где 5ф(а, Ь) = #5ф(а, 6). Элементы этой матрицы (её называют табли- цей разностей) 5ф связаны определёнными соотношениями. В частно- сти, для любого а е Vm \ {0} справедливо равенство s*(a, b) = 2m. (8.3) bevi Задача 8.1. Выяснить, как меняется матрица 5ф при следующих опе- рациях с отображением Ф е
§8.1. Почти совершенно нелинейные и почти бент-отображения 333 1) умножение слева (справа) на невырожденное аффинное отображе- ние ИЗ Рц (tFmjnY, 2) сложение с произвольным аффинным отображением из Рт,Г, 3) переход к обратному отображению в случае, когда Ф —взаимно однозначное отображение из ?т,т- В случае, когда отображение Ф является составной частью криптогра- фического преобразования, таблица разностей 5ф имеет многочисленные применения в дифференциальном (разностном) криптоанализе (см. §9.5). При оценке эффективности дифференциального метода криптографиче- ского анализа используется максимальный элемент таблицы разностей и/(Ф) = max max $ф(а, 6). (8.4) aevm\{G} bevt Величина /л/(Ф) определённым образом характеризует отклонение отоб- ражения Ф от множества линейных отображений из Vm в V/. Для аф- финного отображения A: Vm—+V/ в каждой строке таблицы разностей ровно один элемент отличен от нуля и равен 2т, поэтому выполнено равенство /Д(Л) = 2т. В смысле характеристики ц1 максимально удалён- ными от линейных отображений и наиболее устойчивыми относительно дифференциального метода криптоанализа являются отображения Ф, ми- нимизирующие величину /Д(Ф). Из равенства (8.3) следует, что для любо- го отображения Ф: Vm —* V/ выполнено неравенство /Д(Ф) > 2т~1 (есте- ственно, это неравенство нетривиально только в случае, когда m>Z). Кроме того, для достижения этой оценки необходимо выполнение ра- венств $Ф(а, Ь) = 2т~1 (8.5) при всех Кп\{0} и be V/, которые, в свою очередь, означают, что производные отображения Ф по ненулевым направлениям являются урав- новешенными отображениями. В случае, когда Z = 1 и Ф является булевой функцией из последнее свойство эквивалентно тому, что функция Ф является м.-н. (бент-)функцией (см. критерий Ротхауза, §6.2). Для линейного метода необходимо рассматривать множества ГФ(а, 6) = {х е Vm | (а, х) ф (6, Ф(х)) = 0} для b eVi, aeVm таких, что #7ф(а, 6) ± 2т~[. При этом эффективность линейного метода, основанного на таких множествах, определяется зна- чением модуля величины /Ф(а, Ь) = #ТФ(а, Ь) — 2т~1
334 Глава 8. Коды, булевы отображения и криптографические свойства Задача 8.2. Выяснить, как меняется матрица (/ф) при следующих операциях с отображением Ф 1) умножение слева (справа) на невырожденное аффинное отображе- ние из Л,/ 2) сложение с произвольным аффинным отображением из 3) переход к обратному отображению в случае, когда Ф — взаимно однозначное отображение из Криптографические свойства отображения Ф в определённой мере можно характеризовать величинами /х/(Ф) = max max $ф(а, 6), (8.6) aevm beVi а/0 /х/(Ф) = max max |/ф(а, 6)1. (8.7) aCV/n b^Vi b^O Достаточно малые (в определённом смысле) значения величин (8.6) и (8.7) свидетельствуют об устойчивости отображения Ф относительно указан- ных методов. В дальнейшем нам будут полезны следующие утверждения. Лемма 8.3. Для любого (a, b) eVm х V/ выполнено соотношение s$(a, Ь) = (/ф 0/ф)(а, 6). Доказательство. Пусть а € Vm, beVi. Тогда имеем (/ф ®/ф)(а, 6) = У? 1ф(х, у)1ф(х®а, у = xevm yevt = Ф(х)ф6) = #{хе^|Ф(хфа) = Ф(х)®6} = 5ф(а,6). □ ХЕ Vm Лемма 8.4. Для любого (а, 6) е х V/ выполнено соотношение /Ф(а, 6) = ^/ф(а, Ь) = ^Г<6,Ф(х))(а). Доказательство. Пусть a G 6 е К/. Тогда имеем W^a, &) = 52 52 /ф<х> = 52 (-1)<ЙЛ>Ф<6,Ф(Х)> = xevm yeVi xevm = ^<6,ф«>(«) = Ь) - (2т - #ТФ(а, b)) = 2t*(a, b). □
§8.1. Почти совершенно нелинейные и почти бент-отображения 335 Следствие 8.5. Для любого Ф е Ли,/ выполнено неравенство р1(Ф)^2т/2~'. Теорема 8.6. Для любого Ф выполнено неравенство р1(Ф)^2т~1. Доказательство. Пусть а е Vm \ {0} — фиксированный вектор. Просуммировав величины 5ф(а, 6) по всем векторам b^Vi, полу- чаем ^2 5ф(а, Ь) = 2т. Поскольку слагаемых в последней сумме 2Z bevt и все они неотрицательные, то max s$(a, b) ^2т~1 для любого вектора Ь 6 V/ а € Vm \ {0}. Следовательно, р1(Ф) 2т~1. □ Рассмотрим вопрос о соотношении между П1(Ф) (см. §2.5) и р1(Ф). Теорема 8.7. Для любого Ф € Fm,i выполнено неравенство р1(Ф)^2т-^. Доказательство. Пусть отображение Ф представлено в виде (2.25), причём & = Ш(Ф). Каждое из разветвляемых отображений Дц, и Е Vk, представим в виде Аи(х) = Lux®cu, где Lu — (l * т) -матрицы над полем F2, си е V/. В этих обозначениях для производной отображения Ф по направлению а € Vm справедливы выра- жения Da$(x) = Ф(хф а) ф Ф(х) = Ацх®а)(х Ф а) ф Ah(x)(х) = = ^/г(х)ф/г(а)(х) Ф L/i(x)^h(a)(^) Ф Ог(х)ф/г(а) Ф ^/i(x)(x) Ф (8.8) Сначала рассмотрим случай, когда ядро линейного сюръективного отображения h е ^m,k нетривиально, т. е. ker h {0} и, в частности, т> k. Пусть ненулевой вектор а € Vm \ {0} принадлежит ядру ker h, т. е. Л(а) = 0. Тогда из (8.8) следует равенство ОаФ{х) = Ц{х}(а). Поэтому для такого вектора а е Vm \ {0}, в частности, выполнено кег(Л)С{х€ Ут\ОаФ^ = Ща)}. Значит, для элемента 5ф(а, Ло(я)) таблицы разностей справедливо нера- венство $ф(а, Ло(«)) > # ker h. (8.9)
336 Глава 8. Коды, булевы отображения и криптографические свойства Поскольку 2™ = 2* • # ker h = ill(Ф) • # кег /г, то неравенство (8.9) экви- валентно неравенству 5Ф(а, L0(a))>2m-illw. Отсюда, с учётом неравенства ;х/(Ф) > £ф(а, ^о(л)), следует теорема 8.7. В случае, когда ядро линейного отображения h тривиально, т.е. ker h = {0} и, в частности, т = k = Ш(Ф), теорема 8.7 становится триви- альной. □ Оценка теоремы 8.7 неулучшаема, поскольку она достижима, напри- мер, для аффинных отображений Ф. Из теоремы 8.7 вытекает, что отобра- жения с небольшими значениями /1/(Ф) следует искать среди отображений с большими значениями П1(Ф). Теорема 8.8. Если пространство линейных структур отобра- жения тривиально, то 5ф(а, 5) < 2Ш - 2Ш-,||(Ф) для любых aeVm\{Q},beVi. Доказательство. Элемент 5ф(а, 6), аеКи\{0}, 6 е V/ табли- цы разностей совпадает с числом решений относительно неизвестного х е Vm следующего уравнения ОаФ(х) = 6. Пусть отображение Ф представлено в виде (2.25), причём k = ill (Ф). Каж- дое из разветвляемых отображений Аи, и е Vk, представим в виде Ац(х)—- ЕцХ ф Сц, где Lu — (l х т)-матрицы над полем F2, cueV/. В этих обозначениях уравнение (8.14) принимает вид ^А(х)фА(а) (•*) Ф ^А(х)фЛ(а) (Ц) Ф ^Л(х)фА(а) Ф ^й(х) W Ф ^h{x) == Ь. (8.10) Положим h(a) = reVk и введём новый параметр h(x) = y eVk. Тогда уравнение (8.8) эквивалентно объединению (в смысле объединения мно- жеств решений) следующих 2k систем линейных уравнений f (^£/фг Ф 7-у)(х) = 6 ф Суфг ф Су ф Луфг(я), < (о.И) {h(x)=y. Из линейной алгебры известно, что в случае совместности множество ре- шений неоднородной системы линейных уравнений (8.11) образует смеж- ный класс по подпространству кег(й) П кег(Луфг ф Ly).
§8.1. Почти совершенно нелинейные и почти бент-отображения 337 Множество значений параметра ye Vk, при которых система (8.11) совместна, обозначим У(а, 6), а число решений системы (8.11) обо- значим ty,a,b- Поскольку при различных у € Vk множества решений систем (8.11) не пересекаются, то 5ф(а, 6) =52 tyja,b. (8.12) yeVk Для чисел ty a,b справедливо равенство {#(ker(/z) А кег(А^фг ф Лу)), если у е У(а, 6), и в противном случае. Если у е У(а, 6), то либо кег(й) С кег(Ауфг ф Ly) и тогда tyab = # кег(/г) = = 2'72-,||(ф), либо кег(А) g кег(Луфг ф Ly) и тогда tyab не превосходит порядка максимального подпространства пространства ker(ft), т.е. / , < от—Ш(Ф)—1 Ly,a,b Зафиксируем а е Vm \ {0}, Ь е Vi и рассмотрим два случая. 1. ker(/z) С кег(Ауфг ф Ly) для любого у е Y(a, Ь). Из (8.12) имеем «Ф(а, 6) = #У(а> Если У(а, 6) = Vh, то #У(а, Ь) = 2П|(Ф) и поэтому 5ф(а, Ь) =2т, т.е. а —линейная структура отображения Ф. Если же У(а, Ь) ± Vk, то #У(а, Ь) 21,,(ф) — 1, и поэтому 5ф(а, 6) (2П,(Ф) - 1) • = 2т — 2'”-н,(ф>. 2. кег(А) 2 кег(£У'фг ®Ly>) при некотором у' е У(а, 6). Тогда / от—Ш(Ф)—1 Ly'a,b z Сначала рассмотрим случай r = h(a) у^О. В этом случае из систем (8.11) выберем две: при у = у' и у = у'®г. При у = у'®г возможны два случая: либо у'фг^У(а, 6) и тогда либо */'фгеУ(а, 6) и тогда ty^r,a,b ^2'”“п,(ф)“1, поскольку кег(/г) g кег(Л(у/фг)фг ф £у/фг) = = кег(£у/фЛу/фг). Значит, / 2т“11,(ф) как при у = у’, так и при у = у' ф г. Поэтому число таких у € У(а, 6), что ty a b = 2'п-,|,<ф\ не пре- восходит 2Н,(Ф) — 2. Следовательно, $ф(я, Ь) (2И,(Ф) - 2) • 2'”“*,,(ф) + 2 • 2Ш-П|<ф)-1 = 2т - 2гп“П1(ф).
338 Глава 8. Коды, булевы отображения и криптографические свойства В случае, когда r = h(a) =0, система линейных уравнений (8.11) от- носительно неизвестного х е Vm принимает вид Если b = Ly(a), то система (8.13) имеет ker(/z) = 2ГП-111(Ф) решений. Если b^Ly(a), то система (8.13) не имеет решений. В случае, когда при любом у € Vk все векторы Ly(a) совпадают, имеем £ф(а, Ь) =2т, т. е. а является линейной структурой отображения Ф. В случае, когда не все векторы Ly(a) совпадают, имеем $ф(а, 6) (2Н,(Ф) - 1) • 2Ш-Н1(Ф) = 2т - 2"2~П1(Ф). □ Следствие 8.9. Если пространство линейных структур отоб- ражения Ф G Ли,/ тривиально, то ц1(Ф)^2т _2т-П|(ф>. (8.14) Задача 8.10. Доказать, что если пространство линейных структур отображения Ф € тривиально и ill (Ф) = 1, то р1(Ф) = 2m~V Определение 8.11. Отображение Фе 5^,/ называется бент-ото- бражением, если для любого бе V/, 6^0 булева функция (6, Ф(х)) является бент-функцией. Свойство «быть бент-отображением» является сводимым свойством отображений (см. §2.5). Задача 8.12. Пусть Ф е — бент-отображение. Доказать, что сле- дующие отображения также являются бент-отображениями: 1) gx о Ф о g%, где g\ е Ли,гл, gz E ^/,/ — произвольные невырожден- ные аффинные отображения; 2) Ф © й, где h е Fm,i — произвольное аффинное отображение. Задача 8.13. Доказать, что Ф е является бент-отображением то- гда и только тогда, когда для любого а € Vm и для любого 6 Е V/, 6^0 выполнено W!ф(а, Ь) = ±2т/2 или /ф(а, Ь) = ^№/Ф(а, Ь) = ±2т^2~1. Определение 8.14. Отображение Фе7\/ называется совершенно нелинейным (perfect nonlinear), если /Д(Ф) = 2т~1. Теорема 8.15. Отображение Ф е Ли,/ является совершенно нели- нейным тогда и только тогда, когда Ф — бент-отображение.
§8.1. Почти совершенно нелинейные и почти бент-отображения 339 Доказательство. Пусть Ф — совершенно нелинейное отображение. Тогда /г/(Ф)=2'п~/ и для любого а е Vm, а^О имеем 5ф(а, Ь) = = (/ф 0/ф)(л, 6) = 2т~1. Кроме того, 5ф(0, 0)=2/п и для 6^0 вы- полняется $ф(0,6) = 0. Следовательно, имеем W^(a,b) = Wl^(a,b) = 2т, если Ь / 0, = 52 если Ь = 0, а ± 0, xevm 22m, если 6 = 0, а = 0, т. е. Ф — бент-отображение. __ Докажем обратное. Если Ф — бент-отображение, то W/ф (а, 6) = ±2™/2 для любых (а, 6), 6^0. Необходимое нам утверждение легко получить из соотношений 5ф(а, Ь) = (/ф 0 /Ф)(а, 6) = 52 52 /ф (х, у)1ф (х ф а, у®Ь), XG.Vm y£Vm воспользовавшись преобразованием Фурье для функций /ф(х, у) и /ф(х® а, г/фб). □ Теорема 8.16. Бент-отображение в существует лишь при чётном т^21. Доказательство. Пусть Ф — бент-отображение. Согласно резуль- тату задачи 8.13 для любого Ь € V/, Ь ^0 имеем М7/Ф(я, 6) = ±2'п/2. Сле- довательно, т — чётное. Введём следующие обозначения: U=2~n/2 £2 Г/ф(0, 6), го = #{б€1//\{О}|Г/ф(О, 6) = 2"'/2}. беУ/ 6/0 Тогда U = 2го — 2l + 1 и, следовательно, U — нечётное. Кроме того, имеем Е 6>=Е °)= bevt bevl 6#0 = £ £ (_ 1)<ь,ф(х)) _ 2т — 2 £ (_1)<ь.ф(*)) _ 2т = 21Г[ - 2т, b£.V[ x^Vm x£Vm bGVi где Г] = #{x€ Vm | Ф(х) =0}. Тогда получаем U = 2~m/2(2‘ri - 2m) = _ 2/-т/2Г| _ 2m/2 и ri = (U + 2m/2)2m/2~l. Так как — целое и U — нечёт- ное, то 2т/2~1 должно быть целым числом. Следовательно т^21. □
340 Глава 8. Коды, булевы отображения и криптографические свойства Пример 8.17. Аналогично классу М. (см. §6.3) бент-функций мо- жет быть построен и класс бент-отображений. Для любого взаимно од- нозначного отображения 7Г € Fm,m и для любого отображения е Fm,m определим отображение Ф из Vm х Vm в Vm следующим образом Ф(х, где xeVm, ytVm и х • л (у) — произведение элементов поля F2™ (при этом считаем, что зафиксировано некоторое естественное отождествле- ние элементов Vm и F2m). Обычной проверкой легко показать, что так определённое Ф(х, у) — бент-отображение. Приведённые результаты достаточно подробно описывают строение бент-отображений. Однако, как указывалось ранее, совершенно нели- нейные бент-отображения (как и бент-функции), являясь экстремальны- ми математическими примерами отображений, устойчивых относительно некоторых методов криптографического анализа, не могут быть исполь- зованы в качестве примитивов криптографических схем и алгоритмов, поскольку они не обладают фундаментальным свойством уравновешен- ности. По этой причине разрабатываются способы построения уравнове- шенных отображений, близких по своим свойствам к совершенно нели- нейным бент-отображениям. Предложение 8.18. Для любого Ф число s$(a, Ь) — чётное и выполнено неравенство р1(Ф) 2. Доказательство. Рассмотрим множество 5ф (а, 6) = {х е Vm | Ф(х Ф а) Ф Ф(х) = Ь} при aeVm, а^О. Если 5ф(а, 6)^0, то оно содержит некоторый вектор xeVm- Однако ясно, что вектор х'=х®а также принадле- жит множеству 5ф(а, 6). Поэтому 5ф(а, Ь) — чётное число, $ф(а, 6) > 2 и р1(Ф) >2. □ Определение 8.19. Отображение ФеFmj называется почти со- вершенно нелинейным (almost perfect nonlinear —APN), если /Д(Ф) = 2 и тем самым 5ф (а, Ь) = 2 для всех а е Vm, а / 0, Ь е V/. Поскольку согласно утверждению теоремы 8.18 выполнено неравен- ство р1(Ф) 2т~1, то APN-отображения могут существовать только при / > m — 1. Именно APN-отображения среди уравновешенных отображений наи- более устойчивы относительно дифференциального метода криптографи- ческого анализа.
§8.1. Почти совершенно нелинейные и почти бент-отображения 341 Лемма 8.20. Для отображения Ф е выполнено неравенство Е Е ь) > 22ап(3 • 2'”+/ - 2/+1 - 22"*), aevm bevt b^O причём равенство выполняется тогда и только тогда, когда Ф — APN-отображение. Доказательство. Из определения /ф(а, 6) имеем (2п~1, если а = 0; /ф(а, 0) = < [0 в противном случае, а из определения 5ф(а, 6) имеем $ф(0, 0) = 2п. Воспользовавшись соот- ношением Wf (a, b) = WЬ), справедливым для произвольной це- лочисленной функции, и леммами 8.3 и 8.4, получаем Е Е ь> = Е Е - Е °)= aevm bev, aevm bev, aevm bjto = E E 6) - E (2^й- 0))4 = aevm bevt aevm = E E ^2* (a>b) -24 E 4(a, o) = e E ^®**6) -24m = абЦп bgV/ aEVm o,EVm b^Vi = 2т+1(5ф ®$Ф)(0, 0) -24m. (8.15) Воспользовавшись определением свёртки, получаем ($ф ® $ф)(0, 0) = Е Е 5ф(а> &)5ф(а’ Ь) = aGVm b^Vi = Е Es^a’6)+Esi(°’6)=E Е5ф<а’6)+5ф(°’°)’ (8Л6> aevm6eK/ be Vi aevmbev, a^Q a^0 так как $ф(0, 6) = 0 при 6^0. Кроме того, $ф(0, 0) =2л. Суммируя всё сказанное выше, и объединяя равенства (8.15) и (8.16), получаем Е Е 6) = 2"'+' Е Е s*<a’ 6)+23m+,-24m. (8.17) aevm beVt aeVm beVi b^G a0O Для любого чётного числа k 0 имеем k2 2k и равенство k2 = 2k выполнено, только если k = 2 или k = 0. Поскольку «ф(а, 6) —чётное
342 Глава 8. Коды, булевы отображения и криптографические свойства (3-2w+/ — 2/+1 — 22/л), (см. предложение 8.18), то для любого а ф 0 и для любого Ь в Vi имеем $ф(а, 6) 2$ф(а, 6). При этом равенство достигается тогда и только тогда, когда отображение Ф является APN-отображением. Используя указанные выше неравенства, получаем Е 52 4(а- ь) 2 52 s*(a’6) = aEVm bfzVl О-^Ут b^Vl 0/0 =2 £ 2m = 2-(2m-l)-2m. (8.18) OtzVm а^О Подставляя (8.18) в (8.17), получаем 52 52 6) > 2т+1[2 • (2т - l)2m] + 23т+/ - 24т = aevm ЬеУ, б/о _ 22zn причём равенство достигается тогда и только тогда, когда отображение Ф является APN-отображением. □ Теорема 8.21. Для любого отображения Ф € ^m,i справедливо не- равенство 1 (з • 2т - 2 - 2(2m - ^(27' z1-')1/2• <819) Доказательство. Заметим, что согласно лемме 8.4 справедливы ра- венства р/2(Ф) = max max t%(a, b) = max тах(-Г/ф(а, b)Y Л&Ут b£V[ йЕУщ Ь^У/ / 6/0 6/0 Для любой функции 0(а, Ь), а 6 Vm, b eVi выполнено неравенство Е Е 04(а, Ь) aevm beV, М = max max 02(а, b) ^=- —г-, agvm bev, ЕЕ 0 («• &) 6/0 а^Ут b^Vi 6/0 причём равенство достигается тогда и только тогда, когда все ненулевые значения 02(а, 6) равны М. Для любого отображения Ф имеем Е Е ь) = Е Е 6) - Е °) = а^Ут ЬеУ[ а€Ут Ь&У[ йЕ.Ут Ь^О
§8.1. Почти совершенно нелинейные и почти бент-отображения 343 = £ £ ^/Ф®/ф(а,6)-4 £2 4(а,0) = dEVm b^Vl 0-G.Vm = £2 £2 ^ф(а> 6) - 4(2m-')2 = 2m+l $ф(0, 0)-22m = aevm bevt = 22m+/-22m = 22",(2/- 1). Воспользовавшись теперь полученными неравенствами и леммой 8.20, получаем Л ,2/жч /Й7 2 / . xx 22w(3 • 2w+/— 2/+1 — 22"1) 4/Д (Ф) = max max(IF, (а, 6)) —------------- = azvm bevi /ф 77 22/7J(2z — 1) 6/0 3-2"l+'-2z+1-22m_ m (2m - l)(2m~l - 1) 2Z — 1 2'-l □ Определение 8.22. Отображение Ф € Лт,1 называется почти бент- отображением (almost bent —АВ), или платовидным отображени- 1 / (эт - 1V2"1-1 - V2 ем, если /1/(Ф) = - (3 • 2Ш — 2 — 2-------J и тем самым все ,2, м Uo от о о^- 1)(2'"-‘ - 1)\ ненулевые значения /ф(а, о) равны - (3 • 2т — 2 — 2- —j------) » т.е. для любого бе V/, 6^0 булевы функции (6, Ф(х)) являются пла- товидными одного порядка. Свойство «быть платовидным отображением» является, как видно из определения, сводимым свойством отображений. Предложение 8.23. Любое АВ-отображение является APN- отображением. Доказательство. Если Ф — АВ-отображение, то £2 6) = 22m(3-2m+z-2Z+l-22т). aevm beVt b^O Тогда согласно лемме 8.20 Ф — APN-отображение. □ Пример 8.24. Пусть Ф(х) =х2*+1 — полином над полем F2™. Ес- ли т — нечётное, 1 < k < т и НОД(т, k) = 1, то отображение Ф является почти бент-отображением (и одновременно — почти совершенно нели- нейным отображением).
344 Глава 8. Коды, булевы отображения и криптографические свойства Пример 8.25. Пусть Ф(х)=х-1 для всех xeF2<n\{0} и Ф(0) = 0. Если т — нечётное, то отображение Ф является почти совершенно нели- нейным отображением, но не является почти бент-отображением. Следствие 8.26. Пусть Ф е 7^,/ является и бент-отображением, и почти бент-отображением. Тогда т = 2, I 1. Доказательство. Поскольку Ф — бент-отображение, то в соответ- ствии с теоремой 8.16 т^21, т — чётное. Поскольку Ф —почти бент- отображение, то в соответствии с предложением 8.23 Ф — APN-отобра- жение и тем самым I т — 1. Из этих неравенств вытекает наше утвер- ждение. □ Лемма 8.27. Пусть т>2 и отображение ФеFm,i является по- чти бент-отображением. Тогда т^Д. Доказательство. Для любого отображения Ф е справедливо неравенство /ф > ^2т/2, которое становится равенством только для бент- отображений. Поскольку т > 2, то в соответствии со следствием 8.26 и условием леммы Ф является АВ-отображением, но не является бент- отображением, и тем самым справедливо строгое неравенство 1 /3-2w+/ -2/+1 -22т 1 2V 2' - 1 > 2V 2 ’ Последнее неравенство нетрудно привести к виду 2/+1(2т — 1) — 2m(2m — 1) > 0, что даёт нам / + 1 > т. Задача 8.28. Доказать, что для всех т<1 число (2m - 1 )(2m-' - 1) 2' -1 □ не является целым. Теорема 8.29. Пусть т>2 и отображение Ф е Fm,i является по- чти бент-отображением. Тогда т = 1 и тем самым Доказательство. Пусть выполнены условия теоремы и тем самым в (8.19) достигается равенство. Тогда число (2т — \)(2т~[ - 1) 21 - 1 целое и согласно задаче 8.28 выполнено т^Д. С другой стороны, со- гласно лемме 8.27 пг^Д. Следовательно, т = I и pt($) = - 2(т+1)/2. □
§8.1. Почти совершенно нелинейные и почти бент-отображения 345 Следствие 8.30. При т>2 отображение Ф € является по- чти бент-отображением тогда и только тогда, когда т — 1 и для любого b eV{,b 7^ 0 булева функция {Ь, Ф(х)) является платовидной порядка т — 1. Задача 8.31. Пусть т > 2 и Ф € — почти бент-отображение. До- казать, что deg(6, Ф(х)) < ™ % 1 для любого Ь е V/, Ь / 0. Задача 8.32. Ввести для отображений аналог понятия «пара взаимно дополняющих платовидных отображений порядка т—1» (см. определе- ние 6.95) и доказать, что отображение Ф е ^т,т является бент-отобра- жением тогда и только тогда, когда сужения Ф на произвольную гипер- плоскость и её смежный класс являются парой взаимно дополняющих платовидных отображений порядка т — 2. Пусть Ф = (/i, /2, • • •, fm) £ Fm,m- Воспользуемся алгебраической нор- мальной формой (см. §2.1) координатных функций этого отображения fi(x) = А(х(1\ х(2), х(гп)) = = ф gi(u^\ Z/(2), •••, W(m))(x(1))u0) • ... • (Х^)и(т) = ф gi(u)xU, (и^..u^)Tevm uevm где х е Vm, i = 1, 2, ..., т. Тогда само отображение Ф можно представить в виде Ф(х) = (/1(х), ф (g|(u(1), м(2), ... ..., gn(w(1), И(2), ..., и^))(х^)“{'} • ... • (х^)и{т} = ф Ъ(и)хи, uevm где ф = (g!, g2, ..., gm) е ^т,т и gi (z = 1, ..., m) - его координатные функции. Определение 8.33. Алгебраической степенью отображения Ф будем называть максимальную из алгебраических степеней его коорди- натных функций: deg Ф = max{wt(u) | и е Vm, Ф(н) ф 0}- Из задачи 8.31 следует, что если т > 2 и Ф е Fm,m — почти бент-отоб- ражение, то deg Ф < —-—• Заметим, что deg Ф = т — 1 для представленного в примере 8.25 отоб- ражения Ф(х)=х-1 = x2<""2 в поле F2*. Следовательно, Ф не является АВ-отображением. Рассмотрим некоторые преобразования, сохраняющие свойства «быть APN-отображением» или «быть АВ-отображением». Из определений
346 Глава 8. Коды, булевы отображения и криптографические свойства APN- и АВ-отображений с учётом задач §8.1, 8.2 легко получить сле- дующие утверждения. Лемма 8.34. Пусть Ф — APN-отображение из Vm в Vm, де € 3521(14) и I) — произвольное аффинное отображение из Vm в Vm. Тогда справедливы следующие утверждения'. 1) отображения Ф' = доФ и Ф" = Фод являются APN-отобра- жениями', 2) если Ф — взаимно однозначное отображение, то Ф-1 также является APN-отображением', 3) отображение Ф(х) = Ф(х) ф I) является APN-отображением. Лемма 8.35. Пусть Ф — АВ-отображение из Vm в Vm, д е 3521(140 и () — произвольное аффинное отображение из Vm в Vm. Тогда спра- ведливы следующие утверждения'. 1) отображения Ф' = д о Ф и Ф" = Ф о д являются АВ-отображе- ниями', 2) если Ф — взаимно однозначное отображение, то Ф-1 также является АВ-отображением', 3) отображение Ф(х) = Ф(х) ф 1) является АВ-отображением. § 8.2. Теоретико-кодовый подход к изучению APN- и АВ-отображений В данном параграфе мы рассмотрим интерпретацию APN- и АВ-отоб- ражений в терминах теории кодирования. Как и ранее, мы через п будем обозначать длину кода. Степень рассматриваемого расширения над по- лем F2 будем обозначать т и будем считать, что т > 1. Обсуждаемые в параграфе коды будут иметь примитивную длину, т. е. п = 2т — 1. Мы будем интерпретировать произвольный элемент а поля F2™ как вектор- столбец пространства Vm с координатами в подходящем базисе, есте- ственно переходя таким образом от конечного поля F2™ к векторному пространству Vm и обратно. Через а € F2™ будем обозначать примитив- ный элемент поля F2™. Как известно, произвольное отображение Ф € 74,т может быть пред- ставлено единственным образом в виде полинома из кольца F2"«[x], степень которого не превосходит 2т — 1, то есть 2т-\ Ф(х) = ф а/х* (8.20) z=0
§8.2. Теоретико-кодовый подход к изучению отображений 347 для некоторых Свойства отображений, которые мы изучаем, выполняются или нет одновременно для отображения Ф(х) и для отоб- ражения Ф(х)®с, ceF2*. Поэтому без ограничения общности можно считать, что Ф(0) = 0, т. е. «о = О. Отображение Фб7т,т, заданное ра- венством (8.20) с До = 0 будем называть полиномиальным. Пусть С —линейный код длины п, С1"—дуальный к нему код и (Дд, А\, ..., А'п) — весовой спектр кода С±. Обозначим через 0< Д, ... ..., js^n (0 < /1 < ... < js < п) те индексы z, для которых А / 0. Определение 8.36. Для линейного кода С будем называть d£ = Д — дуальным расстоянием и d'c = s — внешним расстоянием этого кода. Множество Me = {Д, .js} будем называть характеристическим для кода С. Далее нам понадобится одно утверждение технического характера, описывающее свойства весовых спектров некоторого класса кодов. Теорема 8.37. Пусть С —некоторый линейный [п, n — k, d]-Kod, d^3, п = 2т — 1, т —нечётное и код не содержит кодового слова (1, ..., 1) (т. е. код С содержит хотя бы одно слово нечётно- го веса). Пусть (До, Дь .Ап) (соответственно (Д^, Д'р ..., Д„))— весовой спектр кода С (соответственно кода Сг). Пусть io — ми- нимальное целое число z, 0 < z < 2"2-1, такое, что Д/ + Д^п—i ^0. Тогда k^mu выполнены следующие свойства: 1) если k^2m, то z’o < 2"7-1 — Кроме того, если z’o = = 2ГП-1 то Д3=Д4=0, k = 2m, Мс^{2т-\ 2"1"1 ±2(т-^/2} и весовой спектр кода такой же, как у кода, дуального к коду БЧХ, исправляющего две ошибки (см. таблицу 8.1). Таблица 8.1 Z A'i 0 1 _ 2^— ^/2 2m-l 2"z~1 4- 2(zn-1)/2 1 (2m - l)(2m~2 + 2(m~3,/2) (2m - l)(2m-1 + 1) (2m — 1)(2"I~2 — 2(m-3)/2) 2) если m^k< 2т, то минимальное расстояние кода С не пре- восходит четырёх. Кроме того, если io 2т~х — 2<"2-1)/2, то (2m-l_1)(23m-3_2^-3) Дз + Д4^ з. 2&— 1 * (о.21)
348 Глава 8. Коды, булевы отображения и криптографические свойства Доказательство. Нам потребуются тождества Плесе (Pless) [354] для четырёх степенных моментов весового спектра кода С±. Они имеют следующий вид /Л - = 2*-1/?, У2 = 2/г-2/г(/г 4- 1), /=о /=0 Е *4' = 2*~3(n2(n + 3) - 3L43), (8.22) /=0 Е /4д;=2*-4(я(п+ 1)(п2 + 5п - 2) + 4!(Л4 - пА3)). i=0 Для натурального числа / рассмотрим величину п /=1 При чётном /, очевидно, 7/ 0. Поскольку при чётном / выполнено (/ - 2т~[)1 = ((2т - i) - 2Z”-1)/, то 2 т — 1 1 — 1 /z = ^(z-2m-l)4'= Е + (8.23) / = 1 i-i0 Упрощая выражения для и J4 с учётом тождеств (8.22), легко получить /2 = 2*+т-2 - 22т~2, (8.24) /4 = 2А+т-4(3 • 2т - 2) - 24т~4 + 3 • 2*-1 (Лз + Л4). (8.25) Поскольку/2 > 0, из (8.24) следует, что k т. Из (8.24) и (8.25) получаем /4-2'п-|/2 = (2т-1 - 1)(2*+/”-3 - 23"1-3)+ 3 • 2А~'(43+ Л4). (8.26) Из (8.23) получаем другое выражение для этой разности: 2m~‘ —1 /4 —2"’_|J2= Е 0 — 2m-l)2((i — 2т_*)2 - 2т-1)(4-+ Л2т_,). (8.27) <=<0 Заметим, что для всех i таких, что 2"2-1 — 2("I-1)/2 < i < 2"2-1 — 1, Л- 4- А'2т_- 0, z-e слагаемые в сумме (8.27) меньше 0. 1. Предположим, что k^2m. Тогда согласно соотношению (8.26) /4 —2,л“1/2^0 и поэтому в сумме (8.27) должно быть хотя бы одно неотрицательное слагаемое. Следовательно, /о < 2'п~1 — 2(/п-1)/2.
§ 8.2. Теоретико-кодовый подход к изучению отображений 349 Предположим, что /о = 2'п~1 — 2("1-1)/2. Подставляя это значение для z’o в (8.27), получаем /4 — 2ЛП”1/2 0. Но выше мы получили, что J4 — 2'п-1/2 > 0, поэтому J4 — 2"i-1/2 = 0. Тогда из соотношения (8.26) вытекает, что k = 2т и />з + Д4 = 0. Кроме того, из (8.27) заключаем, что для всех z таких, что 2/п-1 — 2("2~1)/2 < z < 2Ш~1 — 1, выполнено равен- ство Л - + A2m_i =0. Следовательно, код С± имеет размерность 2m, код С имеет минимальное расстояние не менее 5 и ненулевыми могут быть только Л - для z =2'"~1 ± 2<"1“1)/2 и z = 2W-1. Для этих величин, очевидно, выполнено соотношение А2т— 1_2("1— 0/2 А2т— I “1“ Л2zn—1 _|_2(№—1)/2 2 1. Это соотношение совместно с первыми двумя тождествами Плесе для степенных моментов дают нам весовой спектр кода С±. 2. Если k = m, то J2 = 0. Следовательно, веса всех ненулевых кодо- вых слов кода Сх совпадают с 2т~1, т.е. код Сх имеет тот же весовой спектр, что и симплексный код. Отсюда получаем, что минимальное рас- стояние кода С не превышает минимального расстояния кода Хэмминга (т. е. трёх). Предположим теперь, что т < k <2т. Если de 5, то Лз + Л4=0 и из соотношения (8.25) получаем /4 = 2'п“4(3 • 2m+k -2k+x - 23"2). Поскольку /4^0, то k^2m~ 1 и, значит, k = 2m — 1. Поэтому код С имеет параметры п = 2т — 1, 2т — 2т и минимальное расстояние не менее 5. Следовательно, существует линейный код с параметрами [2т — 1, 2т — 2m, 5], чего не может быть в соответствии с результа- тами работ [22, 127]. Таким образом, минимальное расстояние кода С не превосходит 4. Если i^2m~x — 2(m-1)/2, то в соответствии с (8.27) /4 — 2т~Ч<2 0 и из (8.26) получаем неравенство (8.21). □ Определение 8.38. Пусть Ф е Лт,т — полиномиальное отображение. Линейным кодом Сф, определяемым отображением Ф, будем на- зывать линейный [п = 2т — 1, k, б!]-код, который задаётся проверочной матрицей / 1 а о;2 а.п~х \ Нф=( • . ) (8.28) \Ф(1) Ф(а) Ф(а2) ... Ф(а )/ (напомним, что каждый элемент поля F2™ в матрице Нф может рас- сматриваться как вектор-столбец пространства Vm в подходящем базисе, например, в базисе 1, а, ..., а"1-1. В этом случае размер двоичной Мат- рицы Нф будет 2m х п).
350 Глава 8. Коды, булевы отображения и криптографические свойства В соответствии с определением 8.38 код Сф состоит из двоичных строк с = (cq, С[, ..., сп_i), которые являются решениями системы уравнений ' п — 1 ф с,-а' = 0, < '=*? (8.29) ф с,Ф(а') =0. м=о Задача 8.39. Показать, что система (8.29) эквивалентна системе < п— 1 ф CiCx! = 0, <';° /n-i ,Л (8.зо) ф аЛ ф CiQ.4) =0, ;=з \=о ' где aj е — коэффициенты из выражения (8.20) для Ф. Рассмотрим теперь дуальный код Сф. По определению его кодовыми словами являются всевозможные линейные комбинации строк матри- цы Нф. Задача 8.40. Показать, что каждое кодовое слово кода Сф — это строка 2т — 1 значений (без значения в нуле) булевой функции (а, х) ф (6, Ф(х)) при некоторых а, b е F2™. Теорема 8.41. Для любого полиномиального отображения Фе € У~т,т справедливы следующие утверждения'. 1) для кода Сф выполнены неравенства kc* >2m - 1 -2m, 3 dc* 5; 2) Ф является APN-отображением тогда и только тогда, когда dc*=5; 3) Ф является АВ-отображением тогда и только тогда, когда характеристическое множество Мс* равно {2'п“1, 2"2-1 и тем самым весовой спектр кода Сф задаётся таблицей 8.1. Доказательство. 1. Неравенство k 2т — 1 — 2m очевидно. Так как любые два столбца матрицы Нф различны, то de* 3. Напомним, что если существует линейный [п, k, б/]-код, то существует и линейный [п — 1, k, d — 1]-код (для этого, например, достаточно убрать из всех кодовых слов исходного кода координату, соответствующую одной из единичных координат какого-нибудь кодового слова минимального веса). Тогда из существования кода Сф с параметрами [2m—1,^,6], k 2т — 1 — 2m следует существование линейного \2т — 2, k, 5]-кода. Но согласно результатам работ [22, 127] таких кодов не существует. Следовательно, de* < 5.
§8.2. Теоретико-кодовый подход к изучению отображений 351 2. В соответствии с соотношениями (8.29) (1сФ < 4 тогда и только то- гда, когда существуют четыре различных элемента х, у, х', у1 в поле Fg™ таких, что х ф у ф х' ф уг = О, * У (8.31) Ф(х) ф Ф(у) ф Ф(х') ф Ф(</') = 0. Минимальное кодовое расстояние кода Сф будет равно 3, если один из этих элементов равен 0, и равно 4, если ни один из этих элементов не равен нулю. Рассмотрим исследовавшееся ранее уравнение Ф(хфа) ф Ф(х) = 6, (8.32) a, be ₽2т, а 7^ 0. Оно может быть записано в эквивалентном виде с по- мощью системы двух уравнений от двух неизвестных х, у е {Хф£/ = Л, Ф(х) ф Ф(у) = 6. В соответствии с определением 8.19 отображение Ф является APN-oto- бражением тогда и только тогда, когда система (8.33) имеет единственное решение (х, у). С другой стороны, очевидно, что система (8.33) имеет по крайней мере два решения (х, у), (х7, у') тогда и только тогда, когда четвёрка х, у, х', у1 удовлетворяет (8.31) и тем самым б/сФ^4. Таким образом, с учётом утверждения 1) теоремы отображение Ф является APN-отображением тогда и только тогда, когда de* =5. 3. В соответствии с задачей 8.40 характеристическое множество Мсф для полиномиального отображения Ф совпадает с множеством ве- сов булевых функций (а, х) ф (6, Ф(х)) для всевозможных а,Ье^. В соответствии со следствием 8.30 отображение Ф является АВ-ото- бражением тогда и только тогда, когда множество весов булевых функций (а, х) ф (6, Ф(х)) для всевозможных а, b е F2« совпадает с {2т~\ 2772-1 ± 2^-0/2^ □ Следствие 8.42. Пусть Ф е Fm,m — полиномиальное APN-отобра- жение. Тогда 1) кСф=2т-2т-\; 2) код Сф не содержит кодового слова (1, ..., 1). Доказательство. 1) В соответствии с теоремой 8.41 линейный код Сф является [n, k, d]-кодом с параметрами п = 2т — 1, d*=5, k^n — 2т. Если k = п + 1 — 2m, то мы имеем линейный \2т — 1,2т - 2m,
352 Глава 8. Коды, булевы отображения и криптографические свойства 5]-код. Однако согласно результатам работ [22, 127] такого кода не су- ществует. Если k > п -I- 1 — 2m, то мы имеем линейный [и, k, 5]-код, из которого легко получить [n, п + 1 — 2m, 5]-код и опять прийти к про- тиворечию. Следовательно, k = 2т — 2m — 1. 2) Утверждение практически очевидно, поскольку дсф = 5 и, значит, код Сф содержит хотя бы одно слово веса 5. □ Введём на множестве полиномиальных отображений отношение ча- стичного порядка -ч следующим образом: Ф1 Ф2, если Сф! С Сф2. Следствие 8.43. Пусть Ф € Рт,т — полиномиальное APN-отобра- жение. Тогда любое полиномиальное отображение Ф' такое, что Ф' -< Ф, является APN-отображением. Доказательство. Предположив, что Ф' не является APN-отобра- жением, мы в соответствии с теоремой 8.41 получим дсф, ^4, а значит, и ^сФ ^4. Последнее неравенство в силу теоремы 8.41 противоречит то- му, что Ф — APN-отображение. □ Напомним, что радиусом покрытия гс кода С С Vn называется вели- чина rc = max min {dist(и, с)}. uevn сес Лемма 8.44. Для любого полиномиального APN-отображения Ф Е Fm,m выполнены неравенства Доказательство. Поскольку Ф — APN-отображение, то дсФ = § и код Сф исправляет двойные ошибки. Код, исправляющий t ошибок, является совершенным, если его радиус покрытия совпадает с t. Из- вестно, что не существует двоичных совершенных кодов длины п 7 с минимальным расстоянием 5 (см. [291]). Код Сф, очевидно, не являет- ся тривиальным совершенным кодом длины 5. Всё вышесказанное даёт нам г Сф > 3. Предположим теперь, что гсф 5. Рассмотрим смежный класс Сф ф /, f е с минимальным весом гсф. В соответствии со след- ствием 8.42 размерность кода Сф равна k = 2m — 2т— 1. Рассмотрим теперь линейный код С' = Сф U Сф ф f. Ясно, что это будет линей- ный код с параметрами \2т — 1, 2т — 2m, 5]. Однако в соответствии с результатами работ [22, 127] линейных кодов с такими параметрами не существует. □ Определение 8.45. Пусть С С Vn —двоичный код (не обязательно линейный) длины п с минимальным расстоянием de = 2/ + 1 и радиусом
§8.2. Теоретико-кодовый подход к изучению отображений 353 покрытия гс- Для любого f eVn обозначим через Cj(j) число кодовых слов кода С, находящихся на расстоянии / от f (0^ / ^гс). Код назы- вается равномерно упакованным (uniformly packed code), если суще- ствуют рациональные числа Ло, Ль .hrc такие, что для любого f tVn выполняется соотношение /=0 Ниже нам потребуется специальный вид равномерно упакованных ко- дов (введённый в [70]), для которых rc = t+l и Л0 = Л1 =,.. = ht-i = 1, ht =ht+i = l/l, (8.34) где I — натуральное число. Определение 8.46. Двоичный код С С Vn (не обязательно линейный) называется полностью регулярным (completely regular code), если для любого f eVn весовой спектр сдвига этого кода С1 = С ф f однозначно определяется минимальным весом векторов из С'. Другими словами, для полностью регулярного кода С два его сдви- га С' = С ф Л и С" = С ф /2, имеющие один и тот же минимальный вес, обладают одинаковыми весовыми спектрами. Теорема 8.47. Полиномиальное отображение Ф е Fm.m, т — нечётное, является АВ-отображением тогда и только тогда, когда линейный код Сф является равномерно упакованным с ми- нимальным расстоянием (1сФ = 2/ 4-1 = 5 и радиусом покрытия ссф = t 4- 1 — 3. Доказательство. Пусть Ф —АВ-отображение. Согласно предло- жению 8.23 Ф является APN-отображением. Согласно теореме 8.41 код Сф имеет минимальное расстояние дсФ = 5 = 2/ 4-1, его характери- стическое множество таково: Мс*={(п+1)/2, (л+1)/2± У(«+1)/2}, n = 2m-l. Таким образом, внешнее расстояние сГСф кода Сф равно 3. Воспользовав- шись известным неравенством Дельсарта (гс < d’c для любого кода С, см. [188]), имеем гсф 3. Но согласно лемме 8.44 гсФ 3. Следователь- но, гсф = = 3. Известно (см. [6, 216]), что код С равномерно упакован тогда и только тогда, когда rc = d'c. Получаем, что код Сф равномерно упакован, d^ = 2/ 4-1 = 5 и гсФ =/4-1=3. Докажем обратное. В работе [5] показано, что БЧХ-код, исправляю- щий две ошибки, длины п = 2т — 1, т — нечётное, равномерно упакован 12 Булевы функции
354 Глава 8. Коды, булевы отображения и криптографические свойства с параметрами (8.34), где I = (п— 1 )/6 и полином Ллойда (см. [5, 233]) ДвС?) = hQP0(z) + h{Px(z) + h2P2(z) 4-h3P3(z) для этого кода имеет корни _ п 4- 1 /и 4- 1 _ п 4- 1 п 4- 1 /п 4- 1 21- —г2-—, z3- — + y — В работе [216] показано, что именно эти коды являются равномерно упакованными кодами длины п — 2т — 1, п ^31 (т —нечётное), с ми- нимальным расстоянием 2/ 4- 1 = 5 и радиусом покрытия /4-1=3. Так как Сф является линейным кодом, то корни его полинома Ллойда опре- деляют характеристическое множество МсФ, т. е. весовой спектр кода Сф. Следовательно, согласно утверждению 3 теоремы 8.41 полином Ф опре- деляет АВ-отображение. □ Замечание 8.48. Согласно теореме 8.41, если Ф — АВ-отображение, то весовой спектр кода Сф определён однозначно и совпадает с весо- вым спектром БЧХ-кода, исправляющего две ошибки и являющегося при чётном т равномерно упакованным. В работах [70, 216] показано, что равномерно упакованные коды с параметрами (8.34) являются пол- ностью регулярными. Следствие 8.49. Если Ф — полиномиальное АВ-отображение и т — нечётное, то код Сф является полностью регулярным. Задача 8.50. Пусть Ф е Fm,m — полиномиальное APN-отображе- ние, т — нечётное. Доказать, что Ф — АВ-отображение тогда и только тогда, когда д'Сф = 3. § 8.3. Циклические коды и булевы отображения Мы будем рассматривать, как и прежде, примитивные коды длины п = 2т — 1. Для любой строки с= (с^, qi), ..., с^-ц), как и ранее, будем рассматривать полином с(А) = С(0) ®C(i)A®...®qn_i)A/1~I eF2[A]. Пусть Л/* — объединение некоторых циклотомических классов (см. § 1.3) по модулю п. Пусть С — циклический код, нулями которого (см. опреде- ление 4.60) являются элементы множества {а7 | j еЛ/Д При этом само множество Л7 называется определяющим для кода С. Как известно (см. лемму 4.61) строка с = (С(0), qp, ..., C(n-i)) принадлежит коду С тогда и только тогда, когда с(а7) = 0 для любого / ЕЛ/'. Элементы а1, для которых с(<У)^0, называются локаторами строки с. Множество локаторов строки с будем обозначать 1ок(с).
§8.3. Циклические коды и булевы отображения 355 Будем рассматривать полиномиальные отображения Поло- жим /ф = {/е{1, /1}|а//0}, Гф = {Сш,1}и{Ст7| j €/ф}, где /-ми- нимальный представитель циклотомического класса, к которому принад- лежит /. Код Сф описан в определении 8.38. Лемма 8.51. Для любого полиномиального отображения Ф € Fm,m код Сф содержит циклический код Вф длины и, для которого Гф — определяющее множество. Если ап = 0, то код Сф не содержит кодового слова, состоящего из одних единиц. Доказательство. Учитывая задачу 8.39 и определение множе- ства Гф, заключаем: если строка се Vn такова, что с(о/)=0 для всех j е Гф, то с — кодовое слово кода Сф. Эти кодовые слова образуют цик- лический код с определяющим множеством Гф, обозначим его через Вф. Если ал=0, т.е. ап = 1 не является нулём кода Вф, то Вф содержит некоторое количество кодовых слов нечётного веса. Это значит, что стро- ка, состоящая из одних единиц, не является кодовым словом кода Вф. Следовательно, и Сф не содержит кодового слова, состоящего из одних единиц. □ Лемма 8.51 позволяет построить класс полиномов из F2™ [х], которые не могут представлять APN-отображения. Теорема 8.52. Пусть Ф € ?т,т — полиномиальное отображение. Пусть s — собственный делитель числа т и As — множество целых чисел t, 1 < t 2т — 2, таких, что t = 2l (mod 2s — 1) для некоторо- го 1,0^1 s - 1. Если Гф с А$, то Ф не является APN-отображением. Доказательство. Пусть С — циклический код длины п с опре- деляющим множеством А$. В работе [90] показано, что минимальное расстояние такого кода равно трём. Действительно, рассмотрим стро- ку с = (С(0), Гц), ..., C(n-i)), локаторами которой являются элемен- ты {!,/?, /Зф1}, где /3 е F2< \ {0, 1}. Тогда для любого /еЛ$, t =21 (mod 2s — 1) имеем c(af) = 1 ф 0‘ ф (1 ф/З)' = 1 Ф/З2' ф (1 Ф/З)2' = 0, т. е. с является кодовым словом кода С. Так как Гф с As, то С С Вф с Сф, что даёт нам дсф =3. В соответствии с утверждением 2 теоремы 8.41 отображение Ф не является APN-отображением. □ Пример 8.53. Рассмотрим т = 9 и 5 = 3. Пусть Л3 — множество всех целых t, 1 < t < 510, являющихся степенью двойки по модулю 7. Мно- жество Аз является объединением циклотомических классов по модулю
356 Глава 8. Коды, булевы отображения и криптографические свойства 511, чьи представители образуют следующее множество: /? = (1, 9, И, 15, 23, 25, 29, 37, 39, 43, 51, 53, 57, 79, 85, 93, 95, 107, 109, 123, 127, 183, 191, 219, 239). Возьмём некоторое полиномиальное отображение Ф и рассмотрим мно- жество /ф. Если для любого / е/ф некоторый элемент из циклотомиче- ского класса принадлежит /?, то отображение Ф, определяемое сте- пенной функцией х*, не является APN-отображением для любого t eR. Обозначим через /2 следующее множество: /2 = {/€{1,2, ...,2'”-1}|ш2(/)^2}, где ш2(/) — число единиц в представлении числа / по основанию 2 (диа- дический вес числа j). Другими словами,/2 = {2* +2Z1}. Определение 8.54. Полиномиальное отображение Ф € называ- ется квадратичным, если Гф С/2, т.е. Ф(х) = ф a, е F2«. (8.36) Заметим, что для квадратичного полинома Ф булева функция /(ж) = (а, х) Ф (Ь, Ф(ж)) при любых a, be F2™ имеет алгебраическую нормальную форму, степень которой не превосходит 2. Лемма 8.55. Для любого квадратичного полинома Ф код Сф со- держится в коде RM*(2, т). Доказательство. Напомним (см. следствие 5.13), что код RM*(r, т), г <т— 1, является циклическим кодом длины п = 2т — 1, нулями кото- рого являются элементы as, где 1 < 5 2Ш — 2 и 1 z^2(s) < т — г — 1. Легко видеть, что множество /2 в точности совпадает с определяющим множеством кода RM*(m — 3, т). Рассмотрим теперь циклический код Вф с определяющим множест- вом Гф. Это значит, что циклический код Вф содержит код RM*(m — 3, т) и Вф С RM*(m — 3, /п)х. Тогда ненулями кода RM*(m — 3, т)1- (см. тео- рему 4.64) будут элементы an~s, где l$s^2m- 2 и 1 до2($) < 2 (другими словами, ненулями кода RM*(m — 3, т)1- будут элементы as , где 1 s' 2т — 2 и W2(s') = т — 2 или т — 1). Следовательно, ну- лями кода RM*(m — 3, т)1- будут элементы а*, где — 2 и 1 wt(/) т — 3. Ясно, что определяющее множество кода
§8.3. Циклические коды и булевы отображения 357 RM*(m — 3, m)x содержит определяющее множество кода /?Л4*(2, т), что даёт нам Bi С RM\m - 3, т)1- С /?ЛГ (2, т). Поскольку Сф СВф, то Сф С/?Л4*(2, т). □ Замечание 8.56. Последняя лемма демонстрирует возможности ап- парата циклических кодов для описания различных свойств отображе- ния Ф. Вместе с тем, лемму 8.55 можно было бы получить, учитывая, что для любого квадратичного полинома Р(х) е F2* [х] и для любого b е F2* имеем (/?, Ф(х)) = Тг$2т/я2(Ь'х), где Ь' — подходящий элемент поля F2*. Лемма 8.57. Квадратичный полином Ф при нечётном т явля- ется АВ-отображением тогда и только тогда, когда Ф является APN-отображением. Доказательство. Если Ф — АВ-отображение, то Ф — APN-отобра- жение (см. предложение 8.23). Докажем обратное. Пусть Ф — APN-отображение. Согласно лем- ме 8.55 имеем Сф CRM*(2, т). Любое кодовое слово кода Сф пред- ставляет из себя строку значений функции Дх) = {а, х) ф (6, Ф(х)) при некоторых a, beFg^, за исключением значения /(0). Посколь- ку ДО) = 0 при любых а и 6, то у кода Сф нет кодовых слов ве- са z, 2"2-1 — 2(ш-1^2 < z < 2"2-1. Кроме того, dimC^=2m (см. след- ствие 8.42 п. 1); дсф =5 (см. теорему 8.41 п. 2). Тогда воспользовавшись соотношениями (8.27) и (8.26) и тем, что Аз =А4 =0, получаем 2т~'_2</л— j4-2m-'j2= ^2 (/-2m-’)2((/-2m-‘)2-2т-|)(Л',+Л'2»--,)=0. (8.37) /=/о Так как в Сф нет кодовых слов с весом i таким, что 2™-1 — 2("I~I)/2 < i < <2Ш~1, то в сумме (8.37) нет отрицательных слагаемых. Следовательно, все слагаемые равны нулю, т.е. А\ -j-A^^-i =0 для всех z, не принад- лежащих множеству ±2(/n_1)/2, 2'72-1}- Воспользовавшись теоре- мой 8.41(3), получаем, что Ф — APN-отображение. □ Задача 8.58. Пусть Ф(х) =xk. Предположим, что существует j=2l + 1 такое, что jk=2s(2r + 1) (mod 2т — 1) для некоторых s и г. Доказать, что Ф — APN-отображение тогда и только тогда, когда Ф —АВ-отобра- жение. Лемма 8.59. Квадратичный полином (отображение) Ф является АВ-отображением тогда и только тогда, когда код Сф не содер- жит кодовых слов веса 3.
358 Глава 8. Коды, булевы отображения и криптографические свойства Доказательство. Если Ф — АВ-отображение, то Ф — APN-отобра- жение. Согласно теореме 8.41 имеем дсФ = 5 и, следовательно, Сф не со- держит кодовых слов веса 3. Докажем обратное. Пусть Ф — квадратичный полином и код Сф не со- держит кодовых слов веса 3. Предположим, что с'еСф и wt(c') —4. Квадратичный полином имеет вид Ф(х) = ф aix1, где /С/2 и 0. Ha- ze/ помним, что с' е Сф тогда и только тогда, когда с,(а)=0 и ф aic'(al) = 0. /€/ Пусть lok(c') = {%i = а'1 , Х2 = а/2, *з = а/3, = а74}, что даёт нам с'(а) = = Х\ ® Х2 ф Х3 ® *4 = 0. Рассмотрим теперь элементы поля F2™ вида У1 = = Х[ ф /4, У2 =%2 фХ4, Уз = Лз ®^4- Обозначим через двоичную строку веса 3 такую, что 1ок(с) = {У1, У2, Уз}. Тогда для строки с выполнено со- отношение C(Q) = ® у2 ® у3 = ®х2 ®л3 ®х4 = с'(а) = о. Поскольку i е / С /2, то i = 2k + 27. Следовательно, с'{а1) = < +2' фХ2‘+2' ф<+2' ф/f+2' = = (Х1 ФХ4)242' Ф (*2 ФХ4)2*+2' ф (Хз ФХ4)242' = с(а<). Отсюда получаем ф aic(al) = ф aic'(al) = 0. /е/ /е/ Следовательно, с € Сф и получаем противоречие. Поэтому код Сф не со- держит кодовых слов веса 4. Согласно теореме 8.41 п. 1) и 2) имеем ^сФ=5 и Ф — APN-отображение. Воспользовавшись леммой 8.57, по- лучаем утверждение теоремы. □ Теорема 8.60. Квадратичный полином {отображение) Ф являет- ся АВ-отображением тогда и только тогда, когда для любого k, k е {0, 1, ..., п — 1}, и для любого Ь е F2™ \ {0, 1} выполняется следу- ющее условие: ф ajaik(b2S ф62')/0. (8.38) ^2(/)=2 /=2S+2Z, s>l Доказательство. В соответствии с леммой 8.59 квадратичный по- лином Ф — АВ-отображение тогда и только тогда, когда код Сф не со- держит кодовых слов с, для которых lok(c) и{0} совпадает с векторным
§8.3. Циклические коды и булевы отображения 359 подпространством F2™ размерности 2. Пусть К — множество таких под- пространств. Известно, что = (2т — 1)(2"2-1 — 1 )/3. Существует ров- но 2m~l — 1 подпространств из К вида {0, 1, Ь, Ьф 1}, b GF2™ \{0, 1}. Сдвигая элемент 6, мы получаем 2т — 1 подпространств вида {О, ak,akb, а*(6ф1)}, k е {0, 1, ...,2^-2}. (8.39) Таким образом, мы реализуем (2т — 1)(2/л-1 — 1) подпространств, при- чём каждое подпространство из А размерности 2 встречается три раза. Следовательно, каждое подпространство из К имеет вид (8.39) при неко- торых Ь и k. Соответствующие двоичные строки с множеством локаторов {ak, akb, ak(b® 1)} будем обозначать Пусть / е /2- Тогда для j = 2s имеем Cb.k(a') = CbjAo?) = Cb,k(a}¥ = 0, поскольку = 0 по определению. Кроме того, если j = 2s + 2Z, s > I получаем сь^а>) = ак' ®(akb)'®(ak(b® l))' = a*'[l фЬ'ф(6ф 1)'] = = a*' [ 1 Ф 62S +2' ф (62“ ф 1) (b2‘ Ф 1) ] = aki [6Z ф b2' ]. Предположим теперь, что Ф — АВ-отображение. Тогда (см. лемму 8.59) код Сф не содержит кодовых слов веса 3 и, следовательно, для любого Cb^k выполнено фл/W0’ (8.40) b е F2^ \ {0, 1}, k с {0, 1, ..., п - 1}. Так как = 0 ПРИ / = 2s, то усло- вие (8.40) равносильно условию (8.38). Докажем обратное. Легко видеть, что если выполнено (8.38), то любая двоичная строка с весом 3 не может быть кодовым словом кода Сф. Тогда согласно лемме 8.59, отображение Ф является АВ-отображением. □ Пример 8.61. Предположим, что Ф(х) = ах!, j = 2S + 2l, s > l. Тогда условие (8.38) выполняется тогда и только тогда, когда НОД(5 — /, rri) = = 1. Действительно, в этом случае должно быть выполнено aaki(b2S Ф&2')^0, для любых 6eF2-\{0, 1} и k е {0, 1, ..., п - 1}. Так как Ь2 фб2 = = (62 ф 6)2\ то это возможно только в случае, когда полином х2* * фх в поле F2m имеет в качестве корней лишь 0 и 1.
360 Глава 8. Коды, булевы отображения и криптографические свойства Рассмотрим теперь отображение поля F2™ в себя, задаваемое степен- ной функцией. В этом случае Ф(х) = Xs и мощность циклотомического класса равна т (в противном случае Ф не является APN-отображе- нием, см. следствие 8.42). Код же Сф представляет из себя циклический код длины п = 2т — 1, нулями которого являются элементы a, as и со- пряжённые с ними. Этот код, очевидно, сопряжён циклическому коду с нулями a7, cJs (умножение j • s производится по модулю (mod 2т — 1)) и сопряжёнными с ними. Определение 8.62. Двоичный циклический код длины п=2т— 1, определяющее множество которого совпадает с Cm,i U Cm,s, 1 < s < 2m — 2, называется циклическим кодом с двумя нулями и обозначается Сц$. Проверочная матрица циклического кода с двумя нулями имеет вид 1 а а2 ... а2'"'1 \ 1 as a2s ... а^-oj ’ Исследование рассмотренных выше криптографических свойств и харак- теристик степенной функции Ф(х)=х5, очевидно, связано с изучением различных характеристик кода С^. Имеется большое количество работ, в которых проводятся исследования тех или иных классов показателей степени s. Вместе с тем, на наш взгляд они носят в значительной мере технический характер. В связи с этим мы приводим ряд таблиц (8.2—8.5), содержащих различные классы показателей степеней s, позволяющие, используя степенную функцию, получать АВ- и APN-отображения с вы- сокой нелинейностью. В этих же таблицах приводятся ссылки на соот- ветствующие источники. Таблица 8.2 Известные и предполагаемые APN-отображения Xs на F2*» с zn=2/ + l. Отображение Показатель степени s Источник квадратичное 2' + 1, НОД(/, дп) = 1, 1 ^z^/ Доказано [218, 333] Касами 22' - 2* + 1, НОД(/, т) = 1, 2 < i t Доказано [258] обратное 22/ - 1 Доказано [115, 333] Уолша 2' +3 Доказано [200] Нихо ( 2Z + 2Z/2 — 1, t — чётное; [2Z 4- 2(3Z+1)/2 — 1, t — нечётное Доказано [199] Доббертина 24'+ 23‘+ 22‘+ 2‘— 1, т = 5i Предположение [199]
§ 8.3. Циклические коды и булевы отображения 361 Таблица 8.3 Известные и предполагаемые APN-отображения Xs на F2™ с т = 2t. Отображение Показатель степени s Источник квадратичное 2'4-1, НОД(/, Доказано [218, 333] Касами 2й - 2' + 1, НОД(/, т) = 1, 2 i < t Доказано [244, 258] Доббертина 24‘+ 23'+ 22'+ 2' - 1, m = 5i Предположение [199] Таблица 8.4 Известные степенные АВ-отображения (подстановки) Xs на F2™ с m = 2t + 1. Отображение Показатель степени s Источник квадратичное 2'’4-1, НОД(/, Доказано [218, 333] Касами 22' - 2' + 1, НОД(г, т) = 1, 2 < i t Доказано [258] Уолша 2' +3 Доказано [138, 139] Нихо f 2Z 4- 2^2 — 1, t — чётное; (2* 4- 2(3/+,)/2 — 1, t — нечётное Доказано [241] Таблица 8.5 Известные степенные отображения (подстановки) Xs с максимальной известной нелинейностью на F2« с m = 2t. Показатель степени s Источник 22/-l _ j Доказано [273] 2' + 1, НОД(/, m) = 2, 1 sU </, т = 2 (mod 4) Доказано [218] 22' — 2' + 1, НОД(/, т) = 2, 1 i < /, т = 2 (mod 4) Доказано [258] £ 2'*, t - чётное, 0 < k < t, НОД(Л, т) = 1 /=0 Доказано [194] 2Z + 2(z+,)/2 + 1, / — нечётное Доказано [182] 2Z 4- 2/~’ 4-1, t — нечётное Доказано [182] 2' +2'/2 + 1, /=2 (mod 4) Доказано [ 194J
362 Глава 8. Коды, булевы отображения и криптографические свойства § 8.4. Лавинные критерии и критерии распространения Пусть Ф = (/ь •••> С криптографической точки зрения недопустимо, чтобы у отображения Ф = (fh [2, ..., //) какая-либо из ко- ординатных функций несущественно зависела от некоторой из перемен- ных Х(1), х(2), х(т)^ Определение 8.63. Отображение Ф е Fm,i называется совершенным (complete), если все компоненты вектора 57 [Ф(х)ФФ(*®е;)] - xevm / \ = ( 12 Hi (*) ® /1 (* ® е‘) ].52 [ А (*) ® А (* ® е,) Н v'*evm хек,, ' отличны от нуля при любом z, 1 < i т. Определение 8.64. Отображение Ф е удовлетворяет лавинному критерию (avalanche criterion), если 52 wt($(x)®$(*®e,)) = /- 2"1-1 (8.41) xevm при любом z, 1 < i < т. Другими словами, таблица значений отображения Ре/Ф (её размеры 2Ш х /) содержит поровну нулей и единиц. Определение 8.65. Отображение ФеFm,i удовлетворяет строгому лавинному критерию (strict avalanche criterion — SAC), если 52[Ф(х)фФ(хфе,)] = (2"'-1. 2m-‘)T (8.42) xtvm ' У ' при любом z, 1 < z < т. В случае / = 1 легко видеть, что строгий лавинный критерий в точности совпадает с лавинным критерием. Понятно также, что отображение Ф удовлетворяет строгому лавинному критерию тогда и только тогда, когда строгому лавинному критерию удовлетворяют все координатные функции /1, /2, •••> fi этого отображения. Таким образом, при изучении строгого лавинного критерия достаточно ограничиться случаем / = 1. Задача 8.66. Доказать, что булева функция f е удовлетворяет SAC тогда и только тогда, когда ДДс) = 0 при любом с е Vm, wt(c) = 1.
§8.4. Лавинные критерии и критерии распространения 363 Задача 8.67. Пусть булева функция f удовлетворяет SAC. До- казать, что при любом g е функция /0 также удовлетворяет SAC. Определение 8.68. Пусть f^Fm и а 6 Vm. Булева функция f удовлетворяет критерию распространения по направлению а, если Az(a) =0 или, другими словами, если производная Daf — уравновешен- ная функция (ср. с определением 7.16). Напомним, что по определению PCz={aeVw|Az(a) = 0}. (8.43) Определение 8.69. Булева функция f удовлетворяет крите- рию распространения степени k (обозначение РС(й)), если Az(a) =0 для любых а е Vm таких, что 1 < wt(a) < k. Ясно, что РС(1) совпадает с SAC, а в случае, когда / — максималь- но-нелинейная функция (т — чётное число), PCZ = Vm \ {0} или, другими словами, функция f удовлетворяет PC(m). Множество PCZ, вообще го- воря, не образует какой-либо алгебраической структуры. Характеризация векторов, входящих в это множество, на языке коэффициентов Уолша— Адамара функции f даётся следующим утверждением, которое легко до- казать с помощью следствия 2.81. Теорема 8.70. Вектор ае Vm принадлежит множеству PCZ то- гда и только тогда, когда выполнено следующее равенство £(_1)<^>Г/2(2) = 0. zevm Теорема 8.70 позволяет получить условия выполнимости критерия распространения на всех ненулевых векторах из некоторого подро- странства. Приведём соответствующие результаты из работы [95] без доказательства. Теорема 8.71. Пусть LQVn —некоторое линейное подпро- странство размерности d. Для булевой функции f выполнено включение PCZ 2^\{0} тогда и только тогда, когда коэффи- циенты Уолша—Адамара функции f удовлетворяют следующей системе из 2d уравнений'. ' Е ^z2(a®/?) = 22,z-6/, < peLA oteVn/l>. Следствие 8.72. Если PCZ D L \ {0}, mo maxz€yj lFz(z)|
364 Глава 8. Коды, булевы отображения и криптографические свойства Задача 8.73. Пусть df = max {dim L | L \ {0} С РСД. Доказать, что Теорема 8.74. Пусть LQVn — некоторое линейное подпро- странство размерности d, и [ао]еУп/Ц аот^О- Для булевой функции f выполнено включение тогда и только тогда, когда коэффициенты Уолша—Адамара функции f удовле- творяют следующей системе из 2d уравнений'. ' (-1)<^>Г/2(аф/3) = 0, Задача 8.75. Доказать, что числа #РС;, {dim Л|Л\{0}СРСД яв- ляются аффинными инвариантами. Дальнейшее совершенствование концепции SAC привело к появлению SAC порядка /, 1 t т — 2. Определение 8.76. Булева функция f удовлетворяет строго- му лавинному критерию порядка t (SAC(t)), 1 < t < т — 2, если для любых наборов 1 < /1 <...<// ^ /и, а = (яД), ..., а^)Т е yt подфунк- ция fj' ’ -t удовлетворяет SAC. Будем считать, что функция удовлетворяет SAC(O) тогда и только то- гда, когда она удовлетворяет SAC. Ясно, что t не превосходит т — 2, так как при t > т — 2 соответствующая подфункция является аффинной функцией и не может удовлетворять SAC. Задача 8.77. Доказать, что если булева функция f € Тт удовлетво- ряет SAC(/), 1 t т — 2, то f удовлетворяет SAC(f - 1). Задача 8.78. Доказать, что если булева функция f удовлетво- ряет SAC(/), то она удовлетворяет SAC(z), 0 < i < t. Теорема 8.79. Пусть f е т>2. Тогда 1) если f удовлетворяет SAC(m — 2), то deg f =2; 2) если f удовлетворяет SAC(/), 0<т — 2, то deg f ^m — t — 1. Доказательство. 1) Пусть / удовлетворяет SAC(m —2). Заметим, что аффинные функции не удовлетворяют SAC любого порядка. Поэто- му deg / 2. Предположим, что deg f = d >2. Тогда в алгебраической нормальной форме функции f существуют мономы длины d. Произволь- но возьмём один из них. Рассмотрим некоторые переменные и х(<2)
§8.4. Лавинные критерии и критерии распространения 365 (/’1</2), входящие в этот моном. Алгебраическую нормальную форму функции f можно представить в виде /(х(1), х(2), ..., х(лп)) = = X(/|)X(l2)gi2(x(1\ ...» Х01 + 1), ..., х°2”1), Х(,2 + 1\ ..., Х(ГП)) Ф ФХ(/,)£1(Х(1)> ..., Х0’1"0, Х{/| + 1), Х('2-1), Х(/2 + 1), .... Х(,Л))Ф фх(/2)^2(х(1), Х*'1"1*, x(q+1), ..., X(Z2-1), х('2 + 1), ..., х^) ф ф £о(*(1), •••, х0*-0, х(/|+1), x{l2~[). х</2+1>, ..., x(m)), причём функция gi2 не является константой. Тогда существует набор зна- чений переменных х(1) =а(1\ ..., х01"1* = x(Zl + I) = .... x(i'2~l) — a(i'2~l) х(/г + 1) _ дО‘2 + 0 х(т}=а(т) такой, что gi2(^(1\ •••> a(q+1),..., а^2"1^ а(/2+1\ ..., а(пг)) =0. Сле- довательно, соответствующая подфункция функции f будет аффинной функцией и не будет удовлетворять SAC. Получаем противоречие с усло- вием, поэтому deg f = 2. 2) Предположим теперь, что f удовлетворяет SAC(/)> 0 < t < т — 2. При t = 0 легко проверить, что если deg f = т. то f не может удовлетво- рять SAC. Следовательно, deg f < т — 1. Пусть 0 < t < т — 2. Предположим, что deg f = d> т — t — 1. Возь- мём произвольно один из старших мономов алгебраической нормаль- ной формы функции /: х(/,)х(/2) •... • х(/А Поскольку t т — d. то функ- ция f согласно задаче 8.78 удовлетворяет SAC(m — J). Тогда существует фиксация а = ..., € Vm-d переменных {х(/|), ..., х^1т-^} = = {х(1), ..., х^} \ {х<4 ..., x(/rf)} такая, что подфункция ' £Fd удовлетворяет SAC. Однако deg f? y'T^_d =d и она (как уже отме- чалось выше) не может удовлетворять SAC. Получаем противоречие. Следовательно, d т — t — 1. □ Задача 8.80. Пусть f т>2. deg /=2. Доказать, что f удо- влетворяет SAC(/), —2 тогда и только тогда, когда каждая переменная х(/) встречается по крайней мере т 4-1 раз в мономах длины два алгебраической нормальной формы функции f. Задача 8.81. Описать все функции из Fm. т^\, удовлетворяющие SAC(m — 2) и определить мощность этого класса. Задача 8.82. Описать все функции из Ут. удовлетворяющие SAC(m — 3) и определить мощность этого класса.
366 Глава 8. Коды, булевы отображения и криптографические свойства Задача 8.83. Доказать, что при 0 < t < т — 3 неравенство в утвер- ждении теоремы 8.79(2) достижимо. (Указание: рассмотреть функцию ..., =х<1) ... ® ф х^х^ и показать, что она удовлетворяет SAC(n — т— 1).) Дальнейшее усложнение критерия распространения также привело к появлению соответствующего параметра — «порядка». Определение 8.84. Булева функция f удовлетворяет кри- терию распространения степени k и порядка t (propagation criterion of degree k and order t— PC(&, /)), если для любых набо- ров 1 < /1 < ... < jt < m, а = (а(1), ..., а(/))т е Vt подфункция удовлетворяет РС(й). Матрица распространения РМт — это (т х т)-матрица с элемен- тами PMm(k, t) = #{ / е I f удовлетворяет PC(&, t)}. Деление на 2/п+1 в определении матрицы РМт производится пото- му, что мономы длины 1 и 0 в алгебраической нормальной форме функции не влияют на характеристики распространения, и поэтому подсчитывается фактически число смежных классов по коду /?Л4(1, т). Справедливы следующие неравенства: PMm(k, t\) < PMm(k, t%), если t\ t%', PMm(k\, t) < PMm(k<2, f), если k[ k2 и PMm(\, m - 1) = 0. На- пример, матрица PM$ имеет вид, представленный таблицей 8.6. Таблица 8.6 0 1 2 3 4 1 430 040 813 26 1 0 2 3568 28 1 1 — 3 168 28 0 — — 4 28 28 — — — 5 0 — — — — Определение 8.85. Пусть Тогда: 1) f удовлетворяет расширенному критерию распространения степени k и порядка 0 (extended propagation criterion of degree k and order 0 — EPC(&, 0)), если производная Daf — уравновешенная функция для всех а е Vm таких, что 1 < wt(a) < k\
§8.5. Построение булевых функций 367 2) f удовлетворяет расширенному критерию распространения степени k и порядка t > 0 (extended propagation criterion of degree k and order t — EPC(£, /)), если Da f — устойчивая порядка t функция для всех а € Vm таких, что 1 wt(a) < k. Задача 8.86. Пусть f Показать, что: 1) если f удовлетворяет ЕРС(£, /), £ + то f удовлетворяет РС(й, /); 2) если f удовлетворяет РС(£, 0) или РС(£, 1), то f удовлетворяет ЕРС(£, 0) или ЕРС(£, 1) соответственно; 3) если f удовлетворяет РС(1, /), то f удовлетворяет ЕРС(1, /). Задача 8.87. Пусть f удовлетворяет SAC(/) (РС(й), РС(£, /), EPC(fe, /)). Показать, что при любом функция fQ удовлетворяет SAC(/) (РС(&), РС(&, /), ЕРС(&, 0) соответственно. Задача 8.88. Пусть /(х) = /(х(1), х(2), ..., = ф х(/)х(/) ® ф c(s)x(s) фс(0), s = l где с = ..., — произвольный вектор из Vm, се F2. Показать, что f удовлетворяет РС(&, /), если k + t^m — 1 или k + t = m и k — чётное число. Кроме того, показать, что 1) / — единственная (с точностью до т)) функция, удовлетво- ряющая РС(1, т — 2); 2) / — единственная (с точностью до /?Л4(1, т)) функция, удовлетво- ряющая РС(2, т — 2); 3) / — уравновешенная, если т — нечётное число. § 8.5. Построение булевых функций, удовлетворяющих критерию распространения степени k и порядка t В данном параграфе вновь, как и неоднократно ранее, возвращаемся к возможностям, предоставляемым для криптографических исследований техникой, разработанной в рамках теории кодирования. Приведём без доказательства следующую теорему из [268]. Теорема 8.89. Пусть для натуральных чисел k и t существует двоичная (s х г)-матрица М, удовлетворяющая условиям'. 1) s > max{fe, t + 1} и г max{&, t + 1};
368 Глава 8. Коды, булевы отображения и криптографические свойства 2) для любого вектора и € Vr, 1 < wt(iz) < k, справедливо неравен- ство wt(Mtt) t + 1; 3) для любого вектора v е К, 1 < wt(v) < k, справедливо неравен- ство wt(vTM) > t + 1. Определим функцию f следующим образом f(x, У) = •••> • ••, У{г)) = хТМу® g(x), (8.44) где xeVs,yeVr, ge^s и m — s +r. Тогда булева функция f eFm удовлетворяет РС(£, /). Как видно из теоремы 8.89, центральное место в ней занимает мат- рица Л4, обладающая специфическими свойствами. Поэтому построение функций, удовлетворяющих РС(&, t), с помощью теоремы 8.89, по суще- ству сводится к построению классов таких матриц. Теорема 8.90. Пусть G\ — порождающая матрица линейного [г, Л, д\]-кода С\ с дуальным расстоянием df-, a G2 — порождающая матрица линейного [s, /г, d<2\-Koda С2 с дуальным расстоянием d^. Положим М = G^Gi. Тогда матрица М удовлетворяет условиям 1)—3) теоремы 8.89 для k = minfdj1-, d%} — 1, t = min{di, ^2} — 1 • Доказательство. Условие 1), очевидно, выполнено. Покажем те- перь, что матрица М удовлетворяет условию 2). Пусть ие Vr, 1 < wt(i/) ^k. Этот вектор не является кодовым словом кода С]1, так как wt(u) ^k<d±. Тогда Gjiz^O, поскольку Gi — проверочная матрица для G^~. Следова- тельно, Ми = G^(Gju) — ненулевое кодовое слово кода С2, так как G2 — порождающая матрица кода С2. Следовательно, wt(Miz) d2 t 4- 1. Аналогично доказывается, что матрица М удовлетворяет усло- вию 3). □ Рассмотрим теперь некоторые примеры, основываясь на книге [291]. Пример 8.91. Пусть С является [2Г — 1, 2Г - 1 - г, 3]-кодом Хэм- минга. Тогда является [2Г — 1, г, 2г“1]-симплексным кодом. Положив в теореме 8.90 Cj =Сг = С, мы получим (2r — 1) х (2Г — ^-мат- рицу Л4, с помощью которой построим булеву функцию от т = 2r+1 — 2 переменных, удовлетворяющую критерию распространения степени k = min{2r“I, 2r“1} — 1 = 2r~l — 1 и порядка t = min{3, 3} — 1 — 2, то есть PC(2r"1 - 1, 2). Если положить С1 = С2 = С±, то мы получим булеву функцию от m = 2r+i — 2 переменных, удовлетворяющую критерию распростране- ния степени 2 и порядка 2f~1 — 1, то есть РС(2, 2Г-1 — 1).
§8.6. Глобальные лавинные характеристики 369 Пример 8.92. Пусть С — [2Г, 2Г — 1 — г, 4]-расширенный код Хэм- минга. Тогда — [2r, г + 1, 2г-1]-код Рида—Маллера первого поряд- каг). Положив в теореме 8.90 Cj = С% = С, мы получим булеву функцию от m = 2r+1 переменных, удовлетворяющую критерию распространения РС(2Г-1 — 1, 3). Положив Ci =С2 = СХ, мы получим булеву функцию от m=2f+1 переменных, удовлетворяющую критерию распространения РС(3, 2'-1 - 1). С помощью конструкции, предложенной в теореме 8.89, можно стро- ить уравновешенные функции. Определение 8.93. Пусть и М — двоичная (s х г)-матрица. Функция g называется уравновешенной относительно матрицы М, если выполнено равенство #{xeVs\g(x) = 0, хТМ = 0} = #{х€ к I g(x) = 1, хтМ = 0}. Задача 8.94. Доказать, что если функция g является уравновешенной относительно матрицы Л4, то функция f вида (8.44) — уравновешенная. Кроме того, с помощью конструкции теоремы 8.89 могут быть постро- ены булевы функции, удовлетворяющие PC (/г, /) с высокой нелинейно- стью и большой алгебраической степенью. Задача 8.95. Построить булеву функцию /еТ7™, т = $+г, ви- да (8.44) такую, что 1) deg f — s/2 и Nf ^2r+s”1 — 2r+s/2”1 для s чётного; 2) deg f = (s — 1 )/2 и Nf 2r+s-1 — 2r+(s-9/2-i для s нечётного. § 8.6. Глобальные лавинные характеристики булевых функций Строгий лавинный критерий—SAC, как и его дальнейшие развития и обобщения (SAC(&), РС(/), РС(/, k)) — явились в конечном счёте инди- каторами локальных свойств для исследуемых криптографических функ- ций. Читатель легко может построить примеры функций, удовлетворяю- щих одному из этих критериев и вместе с тем обладающих отрицательны- ми с точки зрения криптографии свойствами (например, нетривиальным пространством линейных структур). Подход, предложенный в работе [427], как нам представляется, лйшён указанных выше недостатков. Это так называемые глобальные лавинные
370 Глава 8. Коды, булевы отображения и криптографические свойства характеристики булевых функций. Говоря не формально, булева функ- ция f имеет хорошие глобальные лавинные характеристики, если |ДДн)| для большинства векторов и е Vm равен нулю или близок к нулю. Определение 8.96. Пусть Тогда показатель — сумма квад- ратов (sum square): = 22 «е Vт и абсолютный показатель (absolute): Д/ = шах |ДДн)| ' uevm м и/0 называются глобальными лавинными характеристиками (global avalanche characteristics — GAC) булевой функции f. Чем меньше Of и Д^, тем лучше глобальные лавинные характеристики. Задача 8.97. Доказать, что <jf и Д^ — аффинные инварианты. Задача 8.98. Пусть feFm. Доказать, что 1) 22m^af 23"2; 2) Of = 22fn тогда и только тогда, когда / -м.-н. (бент-)функция; 3) (jf = 23т тогда и только тогда, когда f — аффинная функция. Пример 8.99. 1. Если УУД^ = 2, то т = 2k + 1 — нечётное и Nf = _ 2^-1 _ 2(,п~1)/2 Кроме того, существует обратимая (т х т)-матрица А над полем F2 такая, что g(x) = fA(x) = f(Ax) = сх^ (х(1), ..., х1"2-0) , где с е F2, h — м.-н. (бент-)функция из Fm_\. В этом случае Of = 22w+1. 2. Если NА? = 4, то т — 2k — чётное и Nf = 2т~х - 2т!2. Кроме того, существует обратимая (т х т)-матрица А над полем F2 такая, что g(x) = fA(x) = f{Ax) = c(m-i}x(tn~i} ®с(тУт} e/z (x(I), ..., х(ап~2)) , где с^т~[\ c^eF2, й —м.-н. (бент-)функция из 25??-2- В этом случае (Tf=22rn+2. Отметим, что в обоих случаях примера 8.99 векторы из множеств Vm \ PCf являются линейными структурами. Задача 8.100. Пусть f Доказать, что 1) 0^Az^2w; 2) Д^ =0 тогда и только тогда, когда / -м.-н. (бент-)функция; 3) Д^ =2т тогда и только тогда, когда f имеет линейную структуру.
§8.6. Глобальные лавинные характеристики 371 В частности, для любой квадратичной функции /, не являющейся мак- симально-нелинейной (бент-)функцией, Д^ = 2т. Задача 8.101. Доказать, что для любого вектора и е Vm и любой f EFm функция Duf не является м.-н. (бент-)функцией. Результат последней задачи демонстрирует одно важное обстоятель- ство. Оно заключается в том, что любая м.-н. (бент-)функция не является «интегрируемой», т. е. м.-н. (бент-)функция не может быть производной какой-либо булевой функции. Для функции f deg f = г > 3, параметр Д^ определённым обра- зом связан с весовым спектром кода RM(r — 1, т). Задача 8.102. Пусть f и deg f = г 3. Доказать, что nzn q j с\т суп—г+2 — ZaRM(r-l,m) = Л Оценка задачи 8.102 достаточно груба, поскольку в ней учитываются веса и «неинтегрируемых» функций. Для кубических функций справедливо следующее утверждение. Задача 8.103. Пусть / — кубическая булева функция из ?т, не явля- ющаяся м.-н. (бент-)функцией. Доказать, что Д/ >2^+0/2. Рассмотрим теперь один способ построения уравновешенных булевых функций с хорошими глобальными лавинными характеристиками. Пример 8.104. I. Случай т = 2k. Пусть z е Vm, z = (у, х), где у € Vk, х е Vk. Выберем на Vk \ {0} некоторую подстановку тг и фиксированный ненулевой вектор и € Vk. Положим (и, х), если г/= 0; <7Г(£/), х), если у / 0. Булева функция f удовлетворяет условиям: 1) / — уравновешенная; 2) Nf^22k~' -2k- 3) / удовлетворяет критерию распространения относительно 22k — — 2/г+1 Ч-2/г-1 — 1 ненулевых векторов; 4) crz = 24* + 23/г+3 - 23*+1; 5)^f^2k+[. II. Случай m — 2k+ 1. Пусть ($о, $1, •••, $2*-2) ~ кодовое слово дво- ичного симплексного кода максимального периода. Тогда последова- тельность (но, Hi, • ••, н2*-2), И/ = ($/ mod 2k — 1 > ^(/4-1) mod 2k—1» • • •, S(t+k— 1) mod 2k — 1» ) » /(*) = /(f/, X) =
372 Глава 8. Коды, булевы отображения и криптографические свойства где t =0, \,...,2k — 2, представляет из себя последовательность всех ненулевых векторов пространства Vk в определённом порядке. Опреде- лим подстановку тг векторов пространства Vk следующим образом /0, Uq, U\, U2k_2\ 7Г = I I . \0, U\, U2, Uq J Для z e V2k+1 имеем z = (z(1), у, x), где € F2, y, x e Vk. Положим {1 ф (у, x), если z(I) = 0; (тг(у), x), если z(1) = 1. Булева функция f удовлетворяет условиям: 1) / — уравновешенная; 2) Nf > 22k - 2k- 3) f удовлетворяет критерию распространения относительно 22k — 1 ненулевых векторов; 4) ctz=24^3; 5) Az^2*+1. Докажем теперь верхнюю оценку для числа WAZ. Лемма 8.105. Пусть f е Fm, deg f = d. Тогда 1 +2т-4~2№=т1 (max W,2(u)-2m). Доказательство. Так как deg(Dv/) < d — 1 для любого veVm и функция Dvf обладает линейной структурой, то согласно след- | т~2 | _i_2 ствию 5.25 число Wpj(0) = ДДи) делится на 2Ld-1J . Далее мы получаем А^(х) = 22т+ 52 A/W>22m + (/VAz-1)-22^-1+4. X^Vm X€Vm\PC/ x/0 Воспользовавшись теперь легко проверяемым неравенством az ^2т max W?(u), получим необходимый результат. uevn ' V/ □ Задача 8.106. Пусть и dimAz = £^l. Доказать, что max| W)(u)| 2“2“, причём равенство достигается тогда и только то- гда, когда Д/(х) = 0 для любого хе Vm\Lf. В этом случае k и т имеют одинаковую чётность и множество {±И7Ди) | и е Vm} состоит из чисел °’ =±=
§8.6. Глобальные лавинные характеристики 373 В заключение докажем нижнюю оценку для Д^ в случае, когда f — ^-устойчивая функция из k > —у—- Теорема 8.107. Пусть sut f = k> m % 3. Тогда 2k ш 3\ m+1 J Доказательство. Образуем матрицу Mem столбцами, выписывая по строкам компоненты вектора и е Vm в точности W2(u) раз. Согласно равенству Парсеваля матрица М содержит в точности 22т строк. В со- ответствии со спектральной характеризацией корреляционно-иммунных функций (см. теорему 7.10) каждая строка матрицы М содержит не более, чем т — k — 1 нулей. Предположим, что М содержит в точности а • 22гп строк с менее, чем п — т — 1 нулями для некоторого действительного числа а, 0 < а < 1. Следовательно, число нулей в матрице М не бо- лее, чем а22т(т — k — 2) 4- (22т — a22rn)(m — k — 1) = (m — k— 1— a)22rn. Тогда в матрице М найдётся столбец с номером /, который содержит не более, чем — (m — k — 1 — а)22гп нулей. Из построения матрицы М сле- дует, что xevm х(,)=0 Воспользовавшись следствием 2.81, получаем A/(e,) = -2m + 2‘-m Е + 1 -а)-2",+* = xevm 1 х<0=0 = ^(т-26-2-2а)-2ш Отсюда следует, что Af^^(2k-rn + 2 + 2a)-2m. С другой стороны, нетрудно видеть, что Д/(1) = -2т + 21-'” Е xEVm wt(x)=0 mod 2 И (8.45) Д/>|Д/(1)|>(1-2а)2'я. (8.46)
374 Глава 8. Коды, булевы отображения и криптографические свойства Правая часть (8.45) возрастает по а, в то время, как правая часть (8.46) убывает по а. Правые части (8.45) и (8.46) равны при а = тт ^_ । • Поэтому A /2*-/п + 3\ _2т п ' \ т +1 / Комментарии к главе 8 Свойства и критерии совершенно нелинейных и бент-отображений, условия их существования рассмотрены в [314, 330, 334]. Обобщения этих понятий — почти совершенные (APN) и почти бент-отображе- ния (АВ) рассмотрены в [164, 332, 333, 336]. Теоретико-кодовый подход к построению АВ- и APN-отображений представлен в работах [140, 151]. С этим подходом можно также озна- комиться в [233]. Взаимоотношения между различными характеристиками распростра- нения и нелинейностью булевых функций и отображений представлены в работах [135, 382]. Глобальные лавинные характеристики представле- ны в [427]. Как правило, те или иные криптографические свойства находят своё выражение в числовых значениях конкретных параметров. Таким обра- зом, существует целый ряд оптимальных значений параметров булевых отображений, которым должно удовлетворять выбираемое отображение. Если набор таких параметров достаточно велик, то подходящие по этим критериям отображения могут представлять собой достаточно узкий класс. С другой стороны, точная (в числовом смысле) достижимость конкретного значения параметра не всегда является криптографиче- ски необходимой. Выбирая отображение, мы оставляем значение его криптографических параметров в достаточной близости к оптимальным значениям (в подходящих метриках). Эти метрики индуцируют новые мо- дифицированные криптографические свойства. Именно это направление исследований представляется в настоящее время наиболее перспек- тивным.
Глава 9. Элементы криптографического анализа Настоящая глава предназначена для того, чтобы ознакомить читателя с некоторыми идеями криптографического анализа. Она логически свя- зывает изучаемые в данной книге криптографические свойства булевых функций с задачами обоснования практической стойкости криптографи- ческих объектов (схем, протоколов, хэш-функций и т.п.). §9.1. Алгоритм Берлекемпа—Месси. Линейная сложность Указанный в названии настоящего параграфа алгоритм является яр- чайшим примером сущностной близости ряда задач теории кодирования и криптологии. Алгоритм Берлекемпа—Месси (получивший своё название несколько позднее) был разработан Берлекемпом [112] как аппарат для решения одной из задач, возникающих при построении декодера Питер- сона—Горнстейна—Цирлера для БЧХ-кодов. Позднее Месси [303] пере- формулировал исходную задачу в виде задачи построения определённого регистра сдвига с линейной обратной связью. И именно в этом виде стала очевидна «криптографичность» этой задачи. Кратко изложим идейную основу этого подхода. Последовательно- сти двоичных символов, вырабатываемые генераторами псевдослучайных последовательностей потоковых шифров, являются одним из основных объектов криптографического анализа этого класса шифров. Эти по- следовательности подвергают огромному количеству тестов для выяв- ления свойств, близких к свойствам случайной равновероятной после- довательности или отсутствия таковых. Естественным выглядит жела- ние выяснить, как последующие члены этих последовательностей зависят от предыдущих. В этом случае за эталон берётся линейная рекуррент- ная последовательность и в ходе анализа выясняется минимальная длина регистра сдвига с линейной обратной связью, который может породить данную последовательность. Длина этого регистра и олицетворяет некую меру сложности данной последовательности. Излагая алгоритм для буле- ва случая, будем придерживаться [224], несколько изменив обознач*ения и стиль изложения.
376 Глава 9. Элементы криптографического анализа Пусть yoo = {u = (u<0), u(1>, ...)|w(/)eF2, i = 0, 1, ...} — множество, состоящее из бесконечных последовательностей над по- лем F2. Определим сумму и и v следующим образом: и фv = (и«» фи(0), zz(1) фи(1), ...). Ясно, что множество является относительно этой операции вектор- ным пространством над полем F2. Обозначим через 0 = (0, 0, ..^ — по- следовательность, состоящую из нулей поля F2. Определение 9.1. Последовательность и = (и®\ ...) е К» на- зывается почти периодической (ultimately periodic sequence), если существуют целые числа d >0 и z’o^O такие, что и^1+^ = и^ для всех i io. В этом случае число d называется периодом (period), число z’o — предпериодом последовательности и. Наименьший из всех возможных периодов последовательности называется минимальным периодом и обозначается per(iz). Если z’o = O, то последовательность называется периодической (periodic). Лемма 9.2. Каждый период почти периодической последова- тельности делится на её минимальный период. Доказательство. Пусть d — произвольный период почти периоди- ческой последовательности и = (zz(0), zz(1), ...) и пусть d\ — её минималь- ный период, т. е. zz(z+J) = и^ для всех i z*o и zz(z+rf,) = z/(z) для всех z > i\ при соответствующем выборе z*o и i\. Если d не делится на d\, то, раз- делив d на d\ с остатком, запишем d в виде d =md\ + г, где 1, 0 < г < d\. Тогда для всех i max(z’o, i\) выполнено u(i) _ __ u(i+mdi^-r) _ u(i+(m-\)di+r) __ _ ^0+r), откуда следует, что г также является периодом последовательности и. Это противоречит тому, что d\ — минимальный период. □ Определение 9.3. Последовательность и = (z/°\ и^[\ ...) € К» назы- вается линейной рекуррентной последовательностью п-го порядка (ЛРП, linear recursive sequence), если существуют с^\ ..., € F2 такие, что элементы последовательности и удовлетворяют рекуррентному соотношению п— 1 „("+*) =фс(0ы(«+*), £ = 0,1,.... (9.1) /=0
§9.1. Алгоритм Берлекемпа—Месси 377 Для последовательности и = (д?0), ...) е определим опера- тор\сдвига (shift operator) £, действующий следующим образом Си = (u(1), w(2), ...). Легко проверить, что оператор сдвига С является линейным отображе- нием из Vqq в Vqq. Для любого натурального числа i выполнено £‘и = («(/). ...), при этом £°и — £и = и, где £ — тождественное отображение на Voo- С по- мощью оператора сдвига С соотношение (9.1) можно записать как л-1 £пи = ф с(,)£'и /=0 или / п~1 \ (гпфф с(,)£' )и = °. (9.2) ' 1=0 ' Последнее соотношение эквивалентно следующему равенству с(С)и = 0 для полинома с(А) = фс(1)Аф... фс(л-1)Ал_1 ф Ал € F2[А]. Таким об- разом, доказана следующая лемма. Лемма 9.4. Последовательность и = (г/(0), и^\ ...) € К» являет- ся линейной рекуррентной последовательностью п-го порядка тогда и только тогда, когда существует полином c(A)eF2[A], deg с(А) = п, такой, что с(£)и = Ь. Полином с(А) называется характеристическим полиномом ЛРП и: сЬагДА) = с(А). Линейные рекуррентные последовательности можно получать с по- мощью регистров сдвига с линейными обратными связями (linear feedback shift register — LFSR). Это электронное дискретное устройство, перерабатывающее информацию, заданную в форме соответствующим образом представленных элементов конечного поля (в данном слу- чае— F2). Двоичные регистры строятся из конструктивных элементов двух ти- пов. Элементами первого типа являются сумматоры. Сумматор имеет два входа и один выход. Если на входах сумматора появляются элементы поля F2, то выходом является их сумма в поле F2 (т.е. сумма подмо- дулю 2). Вторым типом конструктивных элементов является устройство
378 Глава 9. Элементы криптографического анализа задержки (триггер). Оно имеет один вход и один выход. Если на его вход в некоторый такт поступает элемент поля F2, то в следующий такт работы этот элемент появляется на выходе устройства задержки. Регистр сдвига с обратной связью строится путём соединения конечного числа указан- ных выше конструктивных элементов в замкнутую цепь таким образом, что никакие два входа и выхода не присоединяются друг к другу. На рис. 9.1 изображён регистр сдвига с линейной обратной связью. Выход /-го элемента задержки соединён с соответствующим сумматором в случае с^ = 1 и не соединён в случае с^ = 0. При этом число исполь- зованных устройств задержки называется длиной регистра, а полином п— 1 А" ® ф X1 — характеристическим полиномом этого регистра. /=0 Предложение 9.5. Пусть перед началом работы в элементы за- держки регистра (см. рис. 9.1) записано слово и^\ и^\ ..., г/'2-1). Тогда данный регистр порождает ЛРП и, удовлетворяющую ре- куррентному соотношению (9.1). На выходе регистра в i-й такт работы (I = 0, 1, 2, ...) появляется элемент и^. Доказательство. Структура регистра сдвига на рис. 9.1 выбрана так, чтобы выполнялось предложение 9.5, а именно уравнение функ- ционирования регистра (т.е. зависимость /-го, i^n, выходного знака от предыдущих п знаков) совпадает с (9.1). □ Для ненулевого полинома с(Л) eF2[A] обозначим через В(с) следую- щее множество: В(с) = {ие Voo\c(C)u — 0}. Поскольку с(£) является линейным отображением из в то мно- жество В(с) как ядро этого отображения В(с) = ker с(С) является линей- ным пространством в У^.
§9.1. Алгоритм Берлекемпа—Месси 379 Для удобства будем считать характеристическим полиномом нулевой последовательности 0= (0, 0, ...) полином 1 GF2[A]: charo(A) = 1. Теорема 9.6. Пусть с(А) е F2 [А] — полином степени п. Тогда #В(с) = 2п. Доказательство. Для последовательности u = (w(0), ...)еВ(с) первые п элементов этой последовательности (и^\ и^\ ..., одно- значно определяют остальные её элементы, начиная с и^, с помощью соотношения (9.1). Имеется ровно 2п возможностей выбора различных наборов (zA ..., Следовательно, #В(с) = 2л. □ Следствие 9.7. В(с) является линейным пространством над по- лем F2 размерности п. Пусть и— линейная рекуррентная последовательность. В соответ- ствии с леммой 9.4 существует ненулевой полином charu(A) = с(А) некоторой степени и, п 0, такой, что с(С)и = 0. Однако полином с(А) может быть не единственным, удовлетворяю- щим этому соотношению. Например, для нулевой последовательности 0 = (0, 0, ...) любой полином является характеристическим. Для после- довательности и определим множество А (и) = {с(A) е F2 [А] | с(£)и = 0}. В соответствии с леммой 9.4 множество А (и) состоит из всех харак- теристических полиномов последовательности и. Задача 9.8. Доказать, что множество А (и) является идеалом коль- ца F2 [А]. Определение 9.9. Отличный от нуля полином минимальной степени в идеале А (и) называется минимальным многочленом последователь- ности и над полем F2. Этот полином будем обозначать minM(A). Несложно проверить, что минимальный многочлен нулевой последо- вательности 0 = (0, 0, ...) равен единице: mino(A) = 1. Несложно также вычислить минимальный многочлен единичной после- довательности 1 =(1, 1, ...): mini (А) = Аф 1.
380 Глава 9. Элементы криптографического анализа Лемма 9.10. Минимальный многочлен произвольной последова- тельности ueVoo единственный. Полином m(A)eF2[A] является минимальным многочленом по- следовательности и: minu(A) = m(A) тогда и только тогда, когда выполнены следующие два условия: 1) m(£)u = 0; 2) для любого полинома с(А) eF2[A] равенство c(£)u — G выпол- нено тогда и только тогда, когда т(Х) делит с(А): т(А) | с(А). Доказательство. Поскольку т(Х}еА(и), то условие 1), очевидно, выполнено. Если и = 0, то, поскольку 1 | с(А) для любого c(A)eF2[A], то и условие 2) выполнено. Пусть теперь и — ненулевая последователь- ность. Если т(А) | с(А), то согласно задаче 9.8 выполнено включение с(А) е А(и) и с(£)н = 0. Пусть теперь с(£)и = 0. Если т(Х) не делит с(А), то можно с(А) раз- делить на т(А) с остатком: с(А) = g(A)m(A) ф г(А), где д(А), г(А) е F2[A], 0 deg г(А) < deg m(A). В соответствии с зада- чей 9.8 q(£)m(£)u = 0. Поэтому выполнена следующая цепочка равенств: 0 = с(£)и = [^(Г)т(£) ф Д£)]и = г(£)и. Таким образом, г(А) е А(и). И поскольку г(А) 0, и deg r(A) < deg m(A), то получаем противоречие с условием минимальности многочлена т(А). Поэтому т(А) делит с(А): т(А) | с(А). Пусть mi(A) е F2[A] — другой минимальный многочлен последова- тельности й€Л(и). По доказанному условию 2 и по определению 9.9 имеем: т(А) | т\(А), т\(А) | т(А) и deg m(A) = deg т\(А). Таким образом, полиномы т(А) и mj(A) совпадают. □ Заметим, что не для всех последовательностей и ев(с) полином с(А) является минимальным. Однако всегда справедливо следующее утвер- ждение. Следствие 9.11. Пусть и е В(с). Тогда minu(A) | с(А). Доказательство. По определению множества В(с) всегда выполне- но равенство с(£)и = 0. Тогда по лемме 9.10 выполнено minu(A) | с(А). □ Следствие 9.12. Пусть с(А)^0. Если с(А) неприводим над по- лем F2, то для любой последовательности иеВ(с),и/0, выполнено равенство minu(A) = с(А).
§9.1. Алгоритм Берлекемпа—Месси 381 Доказательство. По следствию 9.11 всегда выполнено minw(А) |с(А). И поскольку для и / 0 справедливо minu(A) 1, то в силу неприводимо- сти с(А) выполнено равенство minu(A) = с(А). □ По определению минимального многочлена, степень минимального многочлена последовательности и совпадает с минимальной возмож- ной длиной регистра сдвига с линейной обратной связью, который порождает последовательность и. Эта величина является важной крип- тографической характеристикой псевдослучайных последовательностей, используемых в потоковых шифрах. Для любой периодической последовательности справедливо следую- щее утверждение. Лемма 9.13. Всякая периодическая последовательность может быть порождена регистром сдвига с линейной обратной связью. Доказательство. Пусть d — период последовательности и. Тогда u(k+d> = u{k\ 6 = 0,1,... Следовательно, если с(А) = Xd ф 1, то с(£)и = 0. Поэтому последователь- ность и может быть порождена регистром сдвига длины d с линейной обратной связью, определяемой полиномом с(А). □ Поскольку, согласно лемме 9.13, каждая периодическая последова- тельность может рассматриваться как линейная рекуррентная последо- вательность, то существует минимальный полином этой последователь- ности. Определение 9.14. Пусть и — периодическая последовательность. Тогда степень минимального полинома mintt(A) последовательности и на- зывается линейным размахом (linear span), или линейной сложностью (linear complexity) последовательности и. Лемма 9.15. Пусть и —линейная рекуррентная последователь- ность с минимальным полиномом minM(A) = m(A). Тогда последова- тельность и периодическая и per(u) = ord(m(A)) (т.е. минимальный период рекуррентной последовательности совпадает с порядком минимального полинома этой последовательности). Доказательство. Пусть ord(m(A)) = d. Тогда m(A) | Xd ф 1 и Xd ф 1 = = m(X)q(X). В этом случае выполнено (£d ®8)u = q(£)m(C)u = Q, а значит, Xd®\eA(u) и d является периодом последовательности и. Поскольку d является минимальным числом с этим свойством, то d
382 Глава 9. Элементы криптографического анализа совпадает с минимальным периодом последовательности и, per(u) = = ord(m(A)). □ В различных приложениях мы имеем дело с последовательностями ко- нечной длины. Нахождение регистра сдвига с линейной обратной связью минимальной длины, который порождает данную конечную последова- тельность, представляет собой достаточно сложную задачу. Прежде чем мы займёмся этой проблемой, нам необходимо ввести некоторые опреде- ления, обозначения и вспомогательные утверждения. Обозначим через u(N) = и^, ..., е — последователь- ность длины N. Отметим, что последовательность u(N) не является пе- риодической последовательностью с периодом AZ. Определение 9.16. Будем говорить, что регистр сдвига длины / с линейной обратной связью порождает конечную последовательность (z?°\ и^\ ...,а^”0), если эта последовательность может быть полу- чена в виде первых W выходных символов с регистра сдвига длины / с линейной обратной связью, находившегося в начальном состоянии (и<°\ д/*1), W(/-D). Будем использовать обозначение (с(А), Z), с(А) eF2[A], / — неотрица- тельное целое число, для обозначения регистра сдвига длины / с линейной обратной связью, определяемой полиномом с(А), I = deg с(А). Предложение 9.17. Если N, то регистр сдвига (с(А), /) всегда порождает последовательность (i?0), и^\ ..., Если I <N, то регистр сдвига (с(А), /) порождает эту последо- вательность тогда и только тогда, когда i-i u(l+k) = Q)Mi+k\ k = 0, 1, — l — 1, /=0 /-1 где c(A) = Az ф © c^Az. i=0 Определение 9.18. Пусть u(N) € Линейным размахом, или ли- нейной сложностью этой последовательности называется минимальная длина регистра сдвига с линейной обратной связью, порождающего эту последовательность AS(u(AQ) = min{0 < I N | (с(А), /) порождает u(N)}. Далее будем считать, что вырожденный регистр (1,0) порождает по- следовательность любой конечной длины. Пусть регистр сдвига (сл(А), /л) порождает последовательность (w(0), и^, ..., и^) для п = 0, 1, ..., N — 1.
§9.1. Алгоритм Берлекемпа—Месси 383 Перед тем как привести утверждения, содержащие и обосновывающие алгоритм Берлекемпа—Месси, рассмотрим некоторые свойства операто- ра сдвига в Voq и введём понятие бита несоответствия. Пусть u(N) = (z?0), w(I), ..., Будем называть бесконеч- ную последовательность и = (w(0), w(1), ..., 0, 0, ...) € нулевым расширением (zero tail expansion) последовательности u(N). Предложение 9.19. Если I < N, то регистр сдвига (с(А), /), с(А) = i-\ = Az Ф ф с^Х1, порождает последовательность u(N) = (г?0), и^, ... /=0 ..., тогда и только тогда, когда с(С)и = (0, ..., О *, *, ...), (9.3) ь где b = (N — 1) — (/ — 1) = N — / (значок *, стоящий вместо элемен- тов последовательности, означает, что на этом месте в последо- вательности стоит некоторый элемент поля ₽2, точное значение которого не играет роли в наших рассуждениях). Доказательство. Пусть /-1 9('+‘> = и,'+‘>ффсйи(,+‘,1 k = 0, 1, ...,N-/-1. 1=0 Тогда c(£)« = (0<z>, 0<z+1>, ...). (9.4) Если регистр (с(А), /) порождает u(N), то согласно предложению 9.19 имеем 0(/+*> = О, k = 0, 1, ...» W-/- 1. (9.5) Следовательно, выполнено соотношение (9.3). Обратно, если выполнено соотношение (9.3), то, используя соотноше- ния (9.4) и (9.5), легко увидеть, что регистр (с(А), /) порождает u(N). □ Биты определённые соотношением (9.4), будем называть битами несоответствия последовательности, зависящими от полинома с(А). Лемма 9.20. Пусть u(N) = (и^, и(1), ..., w(/v-1)) — конечная после- довательность и и —её нулевое расширение. Пусть также n<N. Тогда следующие утверждения эквивалентны'. 1) Регистр сдвига (с(Х), Г) порождает (и^, и^, ..., и^п~^), но не порождает (и^\ и^, ..., и^).
384 Глава 9. Элементы криптографического анализа 2) Биты несоответствия, зависящие от с(А), удовлетворяют соотношениям 0il+k) = 0, k = o, 1, -1, и 0м = 1. 3) c(£)u = (0, О, 1, п—1 Доказательство. Лемма следует из предложения 9.19. □ Для удобства будем через Vk обозначать любую бесконечную после- довательность из Voo вида (0, ..., О, k = 0, 1, ... k /-1 Лемма 9.21. Пусть с(А) = X1 ф ф с^Х1. Если I <k, то i=0 c(£)vk = (0, ..., О, *, *, = k-i Доказательство. Заметим, что vk = (0, ..., О, 1, *, *, ...), k Cvk = (0, О, 1, = Vk-\y k-\ £?vk = (0, ..., 0, 1, *, *, ...) = г^_2, k-2 ClVk = (0, ..., О, 1, k-i Выражение c(£)Vk является линейной комбинацией этих последователь- ностей, т. е. /-1 i-i c(£)vk = c(l)£!vk = Clvk®(^ c{l}vk-i=vk-i. i=0 i=0 □ Перейдём теперь непосредственно к изложению алгоритма Берлекем- па—Месси.
§9.1. Алгоритм Берлекемпа—Месси 385 Теорема 9.22. Пусть u(N) = (w(0), ...» eVN, N>0. Следующий алгоритм строит регистры сдвига (сп(Х), 1п), ко- торые порождают последовательность м(1), ..., для л = 0, 1, ..., Л/- 1. 1. Пусть по 0 — номер первого ненулевого бита в последова- тельности u(N), т.е. и^ = и{[} = ...= и{п°-[) = 0, им = 1. Если по = 0, то полагаем с_1(А)= 1, /_! =0. Если по > 0, то полагаем ^о(А) = й (А) = ... = сПо_ j (А) = 1, /о = /1 — ... = ItiQ—1 = 0. Далее полагаем сПо(А) = А"о+1 ф 1, /Яо=/2О+1. 2. Предположим, что мы уже построили со(А), ci(A), ..., cn_i(A), /о, /i ...» /л-1, п>по такие, что регистр сдвига (с„_](А), 1п-\) по- рождает последовательность (и(0), и^, ..., и^п~^). Пусть сп_\(Х) = Х1"~'® ф с^Х1. 1=0 Подсчитаем следующий бит несоответствия е(п) = и^® ф с(п°_ 1un-l"->+i. i=0 Если 0^=0, то регистр сдвига (сЛ_1(А), /л_1) порождает также последовательность (и^, и^, ..., и^). В этом случае полага- ем с п (А) = сп—1 (А), 1п = 1п— i. Если в^ — \, то регистр сдвига (сЛ_1(А), 1п_\) порождает по- следовательность (а(0\ ..., и{п~^), но не порождает последова- тельность (и^, и^,..., и^). Пусть т (0^т<п) — последнее число, когда регистр менял свою длину, т.е. Im— \ < Im = lm+1 = • • • = ^п— 1 • Регистр сдвига (ст_\(Х), 1т-\) порождает последовательность (и(0\ ..., и^т~^), но не порождает последовательность (w(0\ ...» и^\ ’/213 Булевы функции
386 Глава 9. Элементы криптографического анализа Пусть а = (т-\)-1т-\ +1, Ь = (п- -Ы. В случае а^Ь положим с„(А) = сп_1(Л)фЛа-ьст_1(Л), В случае а <Ь положим сДХ) = Хь асп-\(А) Ф ст-\(Л), ln = ln-{ + ь — а. 3. Если n<N - 1, то переходим к шагу 2. Доказательство. Для доказательства корректности алгоритма, оче- видно, достаточно доказать, что на шаге 2 в случае 0^ = 1 предлагаемый регистр (сл(А), 1п) порождает последовательность (и(0), ..., и^). Используя лемму 9.20 для двух случаев, когда бит несоответствия равен 1, получаем сп_\(£)и = (0, ..., 0, 1, *, ...), Ь = п-1П_\, (9.6) ь ст-\(С)и = (0, ..., 0, 1, *, ...), а — т- 1т-\. (9.7) а Случай а Ь. Применяя оператор Са~ь к равенству (9.7), получаем Ca~bcm-\{£)u = £a~b(G, ..., 0, 1, *, ...) = (0, 0, 1, *, ...). (9.8) а Ь Складывая (9.6) и (9.8), получаем = 0, *, ...). (9.9) ь Пусть сл(Л) = сп_|(Л)фХа~ьст-\(Х) и /„ = deg сл(А). Тогда соотноше- ние (9.9) показывает, что регистр сдвига (сл(А), 1п) порождает последо- вательность (w(0), ..., и^). Поскольку п > т, то deg Ха~ьст-1 (А) = а - b + lm_ j = = (m-l)-lm-i + i-((n-\)-ln-i^\)^lm-i=ln-i-(n-m)<ln-\. Следовательно, deg сп(Х) = 1п_\. Поэтому полагаем (сЛ(А),/Л) = (сЛ(А), 1п-х).
§9.1. Алгоритм Берлекемпа—Месси 387 Случай а<Ь. Способом, аналогичным пункту 1, легко получить [Г6-асп_1(Г)®ст_1(Г)]и = (0;10,0, *, ...)• (9.10) а Положим сп(Х) = Хь~асп-[(Х) фcm-i(A) и ln = deg сп(Х). Легко прове- рить, что 1п>1п-\- Соотношение (9.10) показывает, что регистр сдвига (сл(А), 1п) порождает последовательность и^\ ..., и^). □ Теперь покажем, что любой характеристический полином, полученный с помощью алгоритма Берлекемпа—Месси, имеет минимально возмож- ную степень (что эквивалентно минимальности длины соответствующего регистра сдвига). Лемма 9.23. Пусть регистр сдвига (сл_1(А), /л_1) порождает по- следовательность (и®\ и^\ ..., м(п-1)), но не порождает последо- вательность (и®\ и^\ ..., w(n)). Тогда регистр сдвига (сп(Х), 1п), по- рождающий последовательность (r?0), ..., г?л)), удовлетворяет следующему условию 1п^ я + 1 — 4г-1 • Доказательство. Пусть и = и^\ ..., и^п~х\ 0,...) € — рас- ширение последовательности и(п). Поскольку регистр сдвига (сл_1(А), /л_1) порождает последовательность (w(0), ..., w(n-1)), но не порождает последовательность (z?0), ..., и^), то сл_1(£)и = (0, 0, ..., 0, 1, *,...), а = п- I — 1п-\. (9.11) а Поскольку регистр сдвига (сл(А), 1п) порождает последовательность (w(0), ..., u<n)), то Cv(£)u = (0, 0, ..., 0, *, ...), Ь=л-/„. (9.12) ь Предположим, что утверждение леммы не верно. Тогда п + 1 — 1п- \ > и поэтому а+1^/л, b^ln~\. Это означает, что к равенствам (9.11) и (9.12) можно применить операторы сп(С) и сп-\(С) соответственно и воспользоваться леммой 9.21. В результате получаем сл(Г)сл_1(Г)и = (0, ...,0, 1,*, ...), (9.13) а-1п сп^(С)сп(С)и = (^^ *, ...). (9.14) Ь-1п-х 7213*
388 Глава 9. Элементы криптографического анализа Поскольку в силу (9.11) и (9.12) a-ln = b -ln_{ - 1, то сравнение двух выражений (9.13) и (9.14) для одной и той же после- довательности приводит к противоречию. □ Лемма 9.24. Пусть регистр сдвига (сл_1(А), Zn-i) порождает по- следовательность (и®\ и^, ..., ц(л-1)), но не порождает последо- вательность (и(0\ и^, ..., 1?л)). Тогда регистр сдвига (сп(Х), 1п), по- рождающий последовательность (г?0), и^, ..., и^), удовлетворяет следующему условию {ln_Xl п+ 1 Доказательство. Из монотонности 1п мы имеем 1п^ 1п-\- В соот- ветствии с леммой 9.23 выполнено неравенство 1п п 4-1 — 1п-\- Сов- местно оба эти неравенства дают лемму. □ Теорема 9.25. Пусть (cn(X),ln), n = Q, N - —регистры сдвига, полученные с помощью алгоритма Берлекемпа—Месси. Тогда линейный размах 1п является минимально возможным. Другими Словами, если регистр сдвига (сл_](А), 1п-\) порождает последовательность (и<®, и^\ ..., и^п~^), но не порождает после- довательность (и^,и^,...,и^), то регистр сдвига (сп(Х), 1п), порождающий последовательность (и®\ и^\ ..., и^), удовлетво- ряет следующему условию ln = max п 4- 1 - 1п-\} для п по, (9.15) где по — индекс первого отличного от нуля элемента последова- тельности (u(0), ц(1), ..., г?л-1)). Доказательство. В соответствии с леммой 9.24, если выпол- нено (9.15), то линейный размах 1п имеет минимально возможное значение для каждого п в семействе регистров сдвига, порождающих последовательность и^[\ ..., и^). Воспользуемся методом матема- тической индукции. Возьмём по в качестве базы индукции. Поскольку А) = А = •• = 40-1 = 0 и lno=no + 1 = max ло+ 1 - Z„0-i} в соответствии с теоремой 9.22, то теорема справедлива для п = по. Предположим, что теорема справедлива для с„0 (А), сПо+1 (А),..., сп_ i (А). Покажем, что она справедлива и для сл(А). Исходя из вида полино- ма сп(Х) (см. теорему 9.22), можем сказать, что существует такое т,
§ 9.2. Статистический криптоанализ 389 О < т < п, для которого Im— 1 < — 1т+\ = .. • — 1П—\. Мы будем использовать те же а и Ь, что и в теореме 9.22: а = (т - 1) - 1т_\ 4-1, b = (п - 1) - ln_i 4- 1. По предположению индукции 1т = т 4-1 — lm-1, но, поскольку lm = ln_ i, то Ui=m+1 -1т-\- (9.16) Случай а Ь. В соответствии с алгоритмом имеем ln — 1п-[. Исполь- зуя (9.16) и подставляя выражения для а и Ь, получаем 4_i = т4 1- — 1т-\ = а4-1^Ь4-1=л4-1 - /л-i- Поэтому ln = max {4-i, п + 1 - -/л-1}. Случай а < Ь. В этом случае ln = b — а 4- 1п-[ 1п-\- Используя (9.16) и подставляя выражения для а и Ь, получаем b - а 4- /л-i =п - т 4- 1т-\ = (я 4- 1) - (т 4- 1 - 1т_х) = п 4-1 - 4-1 • Поэтому ln = max {ln-i, и 4- 1 — 4-1}- □ Следствие 9.26. В условиях теоремы 9.25 имеем 1) O^/o^/i ^...^4^... 2) 4 = 1п-\ или 1п = п+ \ — 1п-\- 3) Если 24-1 > п, то 1п — 1п-\. 4) Если существует т, 0 < т < п, такое, что lm— 1 < /л: = • • • — 4—1 < lm, то п — т = 1п — 1т-\. Доказательство. Нам требуется доказать только утверждение 3. Если 4 > /л_1, то 4-1 < 1п = п 4- 1 — 4-ь и, следовательно, 24_j < п, что противоречит условию. □ § 9.2. Принципы статистического метода криптоанализа блоковых шифров В этом параграфе мы рассмотрим общую схему статистического ме- тода криптографического анализа в применении к блоковым шифрам. Конкретные реализации этого метода для ряда таких шифров позволя- ют получать оценки эффективности алгоритмов определения секретного ключа лучше, чем оценки метода тотального перебора ключей («метод грубой силы», brute force attack).
390 Глава 9. Элементы криптографического анализа Блоковые шифры итерационного типа. Прежде чем описывать сам метод криптоанализа,. определим объект анализа, т. е. сформули- руем, что мы будем называть блоковым шифром (итерационного типа) (см. рис. 9.2). С точки зрения криптоаналитика блоковый шифр (block cipher) — это отображение векторных пространств над полем из двух элементов вида Л: Vm х Vn -> Vm такое, что при любой фиксации второго аргумента К € Vn отображе- ние F(-, К): Vm —> Vm биективно, т. е. реализует некоторую подстанов- ку тг* ебут.
§ 9.2. Статистический криптоанализ 391 При этом, если F(X, К) = У, то первый аргумент X е Vm отображе- ния F называют блоком открытого текста (или просто открытым текстом, plaintext), второй аргумент К е Vn называют ключом (key), а результат У е Vm действия отображения F называют блоком шифро- ванного текста (или просто шифрованным текстом, или шифртек- стом, ciphertext). Замечание 9.27. Вообще говоря, с позиций криптографа, создающе- го алгоритмы шифрования, отображение F в отличие от произвольного отображения указанного типа должно удовлетворять ещё ряду трудно формализуемых требований. В частности, всегда требуется, чтобы при любых заданных значениях аргументов X е Vm и К €Vn значение отоб- ражения У = F(X, К) могло быть «легко» вычислено, т. е. отображение F допускает эффективную реализацию на той или иной вычислительной платформе (алгоритм, вычисляющий F, иногда называют алгоритмом зашифрования (enciphering)). Аналогичное требование предъявляется к алгоритму расшифрования (deciphering), т. е. требуется, чтобы при заданных У е Vm и К е Vn можно «легко» вычислить значение X е Vm такое, что У = F(X, К). Наиболее важное требование, предъявляемое к отображению F, заключается в том, что оно является криптографически стойким. Это в частности, означает, что, не зная ключа К, практически невозможно для любого У е Vm вычислить значение X е Vm такое, что У = F(X, К); аналогично, зная некоторое число пар открытого и шифрованного текста (X/, У/), полученных в результате применения отображения F с некото- рым фиксированным ключом К, F(Xt, K) = Yi, I = 1, ..., N, вычислить этот ключ К практически невозможно. Подавляющее большинство блоковых шифров описаны как шифры итерационного типа. Это означает, что отображение F описывается в виде кратной композиции «однотипных» преобразований «простого» вида (см. рис. 9.2): У<0)=Х; = для i = 1, г; Y=Y(r\ где У(,) е Vm, 6 Vn>, i — 1, г. Отображения F,-: Vm х Vn> —» Vm, / = г называют раундовыми преобразованиями (или просто раундами, round). Как и само отображение F, каждое раундовое преобразование Ft, i=l,...,r, при любой фиксации второго ар- гумента G Vnf биективно, т. е. реализует некоторую подстановку F[( •, Kw): Vm —* Vm из симметрической группы Результат У(/) € Vm, получаемый после f-го раунда (/ = 2,..., г — 1), называют промежуточ- ным шифрованным текстом, или промежуточным шифртекстом. 13*
392 Глава 9. Элементы криптографического анализа В каждом раунде используются раундовые подключи (subkey) G Vn>, z = 1, ..., г, которые вычисляют из ключа К G Vn с помощью, как правило, несложных преобразований: К(,) = Li'- Vn —* Ki', i' — 1, ••> г. Набор раундовых подключей К(|), Кг\ по- лученных из ключа К, называют ключевой развёрткой (key schedule). Часто отображения Л/ просто выполняют выборку некоторого подвектора длины п1 < п из двоичного вектора длины п. Пример 9.28. Приведём типичные значения размера блока шифру- емого текста т, длины ключа п и числа раундов шифрования г для шифров, используемых сегодня на практике: • для DES-алгоритма — т = 64, п = 56 и г =16 (мы игнориру- ем первую и последнюю перестановки битов блока текста, не зависящую от ключа и не несущую криптографической на- грузки); • для российского (советского) стандарта шифрования ГОСТ 28147-89 — т = 64, и = 256 и г = 32 (мы здесь, как это при- нято в криптографическом анализе, считаем, что долговременный ключ — блоки подстановок — известен криптоаналитику, и поэтому не учитываем его в длине ключа п)\ • для нового стандарта США (Advanced Encryption Standard — AES) Rijndael длина блока m и размер ключа п могут (незави- симо) принимать одно из трех значений: 128, 192, 256. Число раундов шифрования г определяется по значениям п и т и равно одному из трех значений: 10, 12, 14. Принципы статистического криптоанализа. Задачей статистиче- ского метода криптоанализа (впрочем, как и других методов) является разработка алгоритмов определения неизвестного ключа или части ключа К 6 Vn. Входом для этих алгоритмов является некоторое число пар от- крытого и шифрованного текста (Х<, У/), полученных в результате приме- нения отображения F с этим ключом К: F(Xiy К) — Yi, i = 1, ...» N (крип- тографическая атака на ключ по известным открытым и шифрован- ным текстам — known plaintext attack). Множество пар открытого и шиф- рованного текста (X/, У/), i — 1, ..., N, подаваемых на вход алгоритма определения ключа, называют материалом, доступным криптоаналитику (материал будем обозначать символом Л4 С Vm х Vm), число N называют объёмом материала (#M = N).
§ 9.2. Статистический криптоанализ 393 Как правило, предполагается, что в материале, доступном криптоана- литику, открытые тексты X/, z = 1, ..., /V, выбраны случайно, равнове- роятно и независимо из всего пространства Vm (в некоторых вариантах метода отказываются от условия равновероятности и независимости; все- гда будем оговаривать особо, когда модель вероятностного пространства отличается от приведённой выше). Важнейшей частью статистических методов анализа являются про- цедуры статистической классификации (см. [281]). Любая такая процедура решает задачу поиска неизвестного параметра по доступным наблюдениям, которые являются случайными. Функции распределения вероятностей для наблюдений зависят от этого неизвестного парамет- ра. Если эти распределения вероятностей различны, то при достаточно большом числе наблюдений можно с определённой долей уверенно- сти различить, по какому закону распределены наблюдения, а значит, и определить искомый параметр — в этом суть процедур статистиче- ской классификации. Число наблюдений, на котором с заданной долей уверенности (вероятностью ошибки) можно различить эти распре- деления, безусловно зависит от того, насколько эти распределения вероятностей «различны» (строго формализованные формулировки см. [281]). В криптографическом анализе доступными случайными наблюдениями является материал А4; неизвестным параметром, как правило, является либо часть ключа, либо некоторые линейные комбинации битов ключа. Обозначим множество, в котором принимает значения неизвестный па- раметр, через Р, #Р = s < 2п (во всех вариантах статистического метода криптоанализа, описанных в литературе, множество Р совпадает с неко- торым линейным пространством над полем из двух элементов: Р= 1 < п* < п). Каждая процедура статистической классификации определяет разби- ение всего пространства наблюдений на Т > 1 непересекающихся обла- стей: М=М \ UM2 U ... UAV; Mi ПMj = 0 при z ^ /, z, / е {1, ..., 7}- Области Miy z е{1, ..., Т}у называют областями принятия решений. При этом всегда считают, что для любого наблюдения т € М можно «легко» определить номер области принятия решения z(m), которой это наблюдение принадлежит: т 6 (другими словами, сложность алгоритма вычисления этого номера z(m) по заданному т мала). Для каждой области принятия решений Л4/, /б{1,..., Т\у процедура ста- тистической классификации определяет также упорядоченный список объёма s' (1 О) элементов множества Р: pz l, р/2’ •••» Pij i € {1, ..., Т}, j € {1, ..., s'}, при этом pi/t / pi/2 при у, / /2.
394 Глава 9. Элементы криптографического анализа Собственно процедура определения неизвестного параметра из Р за- ключается в том, что по полученному наблюдению т € М определяют номер области принятия решения /(т), которой это наблюдение принад- лежит: Затем последовательно перебирают параметры из Р в соответствии со списком j, 2, • • • >Рцт) s' • ДЛЯ каждого элемен- та р^ту} из этого списка выполняют алгоритм проверки того, является ли это значение параметра искомым или нет. В криптографическом анализе алгоритм проверки того, правильно или нет определён неизвестный параметр, представляет собой последователь- ное выполнение следующих двух шагов: 1) алгоритм доопределения оставшейся неизвестной части ключа; 2) алгоритм проверки того, правильно или нет определён весь ключ. Если в качестве неизвестного параметра выступает весь ключ (т.е. Р=УП), то первый шаг отсутствует. Как правило, в рассматриваемых методах криптографического анализа в качестве алгоритма доопределе- ния оставшейся части ключа используют метод тотального опробования, т.е. последовательно перебирают все оставшиеся неизвестными би- ты ключа. Отметим, что в случае, когда параметром является либо часть ключа, либо невырожденная линейная комбинации битов ключа и Р= 14*, 1 < п, требуется доопробовать 2П“Л* вариантов. Алгоритм проверки того, правильно или нет определён весь ключ, заключается в следующем: последовательно для пар (X/, У/)еЛ4, X/, У/ € Vm, /V} открытого и шифрованного текста из до- ступного материала Л4 проверяют, выполнены или нет равенства F(Xz,K*) = yz, где К* € Vn — опробуемый вариант всего ключа. Замечание 9.29. Как правило, ложный ключ отсеивается уже на пер- вых шагах алгоритма проверки. Вообще говоря, проверку достаточно осуществить для первых k пар открытого и шифрованного текстов, где число k таково, что для любого набора из k различных открытых тек- стов Xi, ..., Xk G Vm и для любых двух различных ключей К\ 7^X2 £ Vn найдётся такой номер / € {1,..., &}, что F(Xj, К\) ^F(Xj, К2) (минималь- ное ko, удовлетворяющее этому условию, иногда называют расстоянием единственности шифра Л). Чаще всего, задача точного вычисления расстояния единственности для данного шифра является очень сложной. Поэтому обычно пользуются некоторыми оценками для него.
§ 9.2. Статистический криптоанализ 395 Задача 9.301. Пусть справедлива следующая гипотеза: при случай- ном, равновероятном и независимом выборе ключей К\ и К2 (Ki 7^X2) из всего пространства Vn для любых k различных открытых текстов Xi е Vm, все соответствующие шифртексты могут совпасть только с вероятностью 2_/л/г (т. е. шифртексты ведут себя как случайно, равновероятно и независимо выбираемые векторы из всего простран- ства VmY P{F(Xt, Ki) = F(Xi, К2), i = 1, .... k} = 2~mk. Оценить расстояние единственности ko для такого шифра F. (Указание: получить функцию распределения для &о.) Алгоритмы определения ключа сравнивают по трём параметрам: N — объём используемого материала, Qo — средняя трудоёмкость работы ал- горитма и тго — надёжность алгоритма. Напомним, что в соответствии с процедурой статистической классификации мы перебираем, вообще го- воря, не все возможные значения искомого параметра, а только ту часть, которая входит в список и р/(/п)2’ •••> Рцт)^ (так как мы допускаем, что неравенство s' < s может быть строгим, т. е. s' <s). Поэтому вероят- ность того, что истинное значение оцениваемого параметра р не принад- лежит перебираемому списку Рцт№ •••» Pt(m),s', может оказаться положительной (т. е. в результате с ненулевой вероятностью мы не найдём искомого ключа). Параметр тго как раз и характеризует среднюю веро- ятность того, что процедура всё-таки выдаст правильный результат, т. е. найдёт искомый ключ. Замечание 9.31. Если процедура такова, что s' =s, т.е. мы будем перебирать всё множество Р возможных параметров до тех пор, пока не найдём истинное значение, то, очевидно, вероятность получить пра- вильное решение равна единице, т.е. и тго = 1. В этом случае понятие надёжности алгоритма вводить бессмысленно и традиционно процедуру определения ключа уже не называют статистической. Как трудоёмкость работы алгоритма определения ключа, так и ве- роятность того, что он всё-таки выдаст правильный результат, зависят и от того, какие открытые тексты были случайно выбраны, и оттого, какой именно ключ был использован при получении наблюдаемого материа- ла М. (т. е. от искомого ключа). Для сравнения различных методов стати- стического криптоанализа используют два параметра: надёжность и тру- доёмкость. Эти парметры совпадают с надёжностью и трудоёмкостью Результат этой задачи в дальнейшем не используется; при первом чтении задачу можно пропустить.
396 Глава 9. Элементы криптографического анализа соответствующих процедур статистической классификации, используе- мых при реализации криптографического метода анализа. Определение 9.32. Средняя надёжность тго процедуры стати- стической классификации (или просто надёжность равна матема- тическому ожиданию вероятности того, что алгоритм найдёт истинный ключ, в предположении, что искомый ключ алгоритма шифрования вы- бран во всём пространстве ключей Vn случайно, равновероятно и неза- висимо от выбора открытых текстов: тго = £[7Г(К)] = £ 7Г(К)Р{К} = 1 £ 7Г(К), Kev„ где р(Ю 6 (р — вероятность выбора таких N открытых текстов Х\, ..., Х^, что по- лученное на этих открытых текстах наблюдение т — {(Х\, F(X\, К)), ... ..., (X/v, F(Xn, К))} при фиксированном ключе К окажется в такой об- ласти принятия решений Л4цт), упорядоченный список и Рцт)2> ..., перебираемых параметров которой содержит параметр р(К), соответствующий зафиксированному ключу К. Замечание 9.33. В литературе встречается и другой подход к опре- делению понятия эффективности процедуры статистической классифика- ции. А именно, иногда для расчёта эффективности вычисляют минималь- ную вероятность того, что процедура определения ключа сработает, где минимум берётся по всем ключам (в обозначениях определения 9.32): 7Г1 = min 7г(К). Kevn Определение 9.34. Трудоёмкость {средняя) Qo процедуры ста- тистической классификации равна математическому ожиданию чис- ла шагов алгоритма при случайном выборе открытых текстов и случай- ном, равновероятном и независимом от выбора открытых текстов выборе ключа: <?o=£[Q((X1,...,X/v),K)]= 52 <?(№-..,XN),K)P{(Xl,...,XN)}P{K}= Лек,; {X,. = 1 £ (?((ХЬ ...,Xyv),K)P{(X1,...,XAf)}> {x,.xN}e(vmf где Q((Xi, ..., X/v), К) — число шагов алгоритма при заданных открытых текстах Х\, ..., Х^ и заданном ключе К.
§ 9.2. Статистический криптоанализ 397 Замечание 9.35. Аналогично понятию эффективности, трудоёмкость иногда определяют как максимальное число шагов, которое может выпол- нить процедура до своей остановки (в обозначениях определения 9.34): Qi = max <?((*!, ...,X/v),K). {X!..xN}e(vm)N Трудоёмкость Qo и эффективность тго процедур статистической клас- сификации связаны между собой. Как правило, чем выше надёжность тго, тем больше трудоёмкость Qo и наоборот, т. е. чем меньше трудоём- кость Qo, тем ниже надёжность тго- Приведём без доказательства теорему, которая даёт исчерпывающий ответ на вопрос о том, как при заданном разбиении пространства на- блюдений Л4 на области принятия решений М = A4i U Мъ U ... U Мт следует оптимальным образом определять для каждой области принятия решений Mi упорядоченный список ри, р/2, ..., pis, элементов множе- ства Р искомого параметра. Теорема 9.36. В описанной процедуре статистической класси- фикации при заданном разбиении пространства наблюдений М на области принятия решений М = Mi U М% U ... U Мт средняя надёжность тго принимает максимальное значение тг0= max тг0((р,р,-2, .... pi ,); i G{1, 7}) /е{1.n тогда и только тогда, когда для каждой области принятия реше- ний Mi соответствующий ей упорядоченный списокpiX,pi2,^^PiSt элементов множества Р составлен в порядке убывания апостери- орных вероятностей, т. е. P{pi,\/m P{pi2]m G Mi} P{pis,/m G М} > max P{p/m&Mi}, рер\{р,..p,.s,) где Р{р^/т е Mi} — условная вероятность того, что истинное (ис- комое) значение параметра равно р* при условии, что наблюдае- мый материал т лежит в области принятия решений Mi. В этом случае средняя трудоёмкость Q достигает своего ми- нимального значения <2о = min > и <?о((р/,1,р,-.2> •••, Pi.S')', «е{1,.... Т}). (piA,PiS,...,piy)eP; «б{1.7}
398 Глава 9. Элементы криптографического анализа Задача 9.37. Доказать теорему 9.36. (Указание: см. [281].) Оптимальная (в соответствии с теоремой 9.36) процедура ста- тистической классификации называется байесовской оптимальной процедурой. Замечание 9.38. Отметим, что, вообще говоря, байесовская опти- мальная процедура с точки зрения надёжности тп и трудоёмкости Qi (в наихудшем случае) не является оптимальной. §9.3. Принципы корреляционного метода криптоанализа Корреляционный метод анализа (correlation attack) широко представ- лен в криптографической литературе. Как правило, он ассоциируется с исследованиями шифров гаммирования (см. [392]) или, иначе, потоко- вых шифров (stream ciphers). Чаще всего такие шифры строятся на осно- ве генераторов псевдослучайных последовательностей. Исторически пер- выми исследовались так называемые комбинирующий и фильтрующий генераторы, построенные на основе регистров сдвига и булевых функций. Далее последовали генераторы, построенные на основе неравномерного движения регистров сдвига (time clocked), а также генераторы, выход- ные функции которых обладают памятью. Представленное нами деление генераторов псевдослучайных последовательностей не следует воспри- нимать как некую классификацию. Однако это деление показывает, что в анализе последних двух классов генераторов существенную роль играет теоретико-автоматный подход, который не входит в формат данной кни- ги, определяемый функциональным подходом. Поэтому мы сосредоточим своё внимание на комбинирующем (в большей степени) и фильтрующем генераторах. При этом объём настоящей главы позволит нам остановить- ся лишь на некоторых основных идеях, использованных в тех или иных разновидностях корреляционного метода. Рассмотрим потоковый шифр (см. рис. 9.3), построенный с использо- ванием комбинирующего генератора с уравновешенной булевой функцией f eFn и п регистрами сдвига с линейными обратными связями LFSR-z, i = 1, 2, ..., п (мы сохраняем латинское обозначение регистров сдвига). Обозначим через $/, i = 1, 2, ..., п, длины соответствующих регистров сдвига, а через gi(X), i = 1, 2, ..., и,— полиномы обратных связей этих регистров, являющиеся примитивными полиномами. Соответствующие линейные рекуррентные последовательности = {xzz)}, Z = 1, 2, ...,п,
§ 9.3. Корреляционный метод криптоанализа 399 Рис. 9.3 имеют максимальные периоды 2s' — 1, / — параметр, описывающий такты работы комбинирующего генератора. В такт t на входы комбинирую- щей функции f поступают переменные х^\ \ ..., х^ и вычисляется значение функции zt = /(xz(1), xz(2), ..., xzn)), являющееся битом шифра. Далее знак yt открытого текста (ОТ: */= (/Л, #2, •••,№)) складывает- ся по модулю 2 со знаком 2/, задавая Ct = yt Qzt — знак шифртекста (ШТ: с = (сь С2, с/v)). Ключевым множеством К этого шифра бу- дем считать начальные состояния регистров сдвига. Ясно, что ключами в данном случае могут быть и полиномы g,(A), i = 1, 2, ..., т (см. [392]). Однако в настоящем изложении это является несущественным фак- тором и мы ограничимся указанным выше ключевым множеством. п Тогда #/< = {"J (2S/— 1) (поскольку начальными состояниями любого регистра могут быть произвольные векторы из соответствующего ли- нейного пространства, кроме нулевого вектора). Рассмотрим теперь криптографическую постановку решаемой задачи. Она будет отличаться от постановки, представленной в работе [392], где впервые был рассмот- рен корреляционный метод. Соответствующие комментарии будут даны по этому поводу несколько позднее. Пусть нам известна пара ОТ(у = {yt}) и ШТ(с = {с,}) (см. рис 9.3) и требуется найти ключ k^eK, при котором произошло зашифрова- ние данного открытого текста в данный шифрованный текст. Ясно, что знание ОТ и ШТ даёт нам возможность однозначно вычислить ис- пользованную шифрующую последовательность z = {zt}, zt = yt Ф ct. Следовательно, решение указанной задачи можно провести с помощью алгоритма, реализующего тотальный метод опробования ключей (brute force attack). При этом мы будем предполагать, что у шифра отсутствуют
400 Глава 9. Элементы криптографического анализа эквивалентные ключи. Перебирая в определённом порядке элемен- ты получая соответствующие последовательности z{k) = {zt(k)} и сравнивая их с известной последовательностью z = {zt}, мы в конце концов на некотором шаге алгоритма найдём истинный ключ € К та- кой, что z(ku) =z. В среднем нам потребуется для этого #/</2 операций (под операцией мы понимаем выбор очередного йеК, вычисление z(k) и сравнение z(k) и z). Как правило, число очень большое и реали- зовать данный алгоритм за приемлемое (в практическом смысле) время нельзя. Перейдём теперь к рассмотрению корреляционного метода. Для рас- чёта параметров алгоритмов, реализующих корреляционный метод, нам потребуется следующая статистическая модель (см. рис. 9.4). Рис. 9.4 Пусть {Xz(0)}, {Х,(1)}, .... {Х,(п)} (9.17) t = 1, 2, ..., М, — независимые в совокупности одинаково распреде- лённые случайные величины с распределением Р{Х^ = 0} = P{X^ = 1}, / = 0, 1, ..., п\ t = 1, 2, ..., N. Следовательно, случайный вектор (Xzl\ Xz2), ..., Х^) в любом такте t имеет распределение Р{(Х,(1), Xf \ ..., Х,(л)) = (а(1), а(2), ..., а{п))} = 2~п для любого (а(1), а(2), ..., а(п))т € Vn. Так как функция f — уравновешен- ная, то случайные величины Zt = ДХ,(1), Х{2\ ..., Х,(л)), (9.18) t = 1, 2, ..., N имеют одинаковые распределения при любом /, а именно P{Zt = 0} = P{Zt = 1}, / = 1,2,..., /V. В силу предположений о случайных
§ 9.3. Корреляционный метод криптоанализа 401 величинах (9.17) случайные величины Z\, Z2, ...» Z/v независимы. Пусть при любом t = 1, 2, N max P{Xz(/) = Zz}>i (9.19) Без нарушения общности будем считать, что max p{X(ti} = Zt} = P{X?} = Zt} = q\. (9.20) Кроме того, поскольку Х}°> и Z/ в силу наших предположений при любом t = 1, 2, ..., N являются независимыми случайными величинами, то P{X’O) = Z/} = <7O = 1. (9.21) Из соотношения (9.20) видно, что /(Xz(1), Z/)^0 (см. §7.1) при любом t и случайные величины Х^\ Zt таким образом являются зависимыми слу- чайными величинами (т. е. коррелируют, совпадают с вероятностью q\ большей, чем 1/2). Учитывая всё это, имеем P{X^®Zt®\ = \} = qx>^, (9.22) Ж<0)®^ф1 = 1} = ?0 = 1. (9.23) Опишем теперь алгоритм, реализующий корреляционный метод. Пусть ки = \ k^ \ ..., k^) е Vs, х VS2 x ... x VSn — истинный ключ (началь- ное состояние), на котором было осуществлено зашифрование открытого текста у = {yt} в шифрованный текст с = {ct} и при этом была использо- вана шифрующая последовательность z = {z/}. При этом — начальное состояние регистра с номером /, j = 1, 2, ..., п. В отличие от тотального метода мы будем опробовать лишь начальное состояние первого регистра. Рассмотрим случайную величину £, характеризующую корреляцию между последовательностями Zj, Z2, ...» Zv и Х^\ Х%\ Х^\ j = 0, 1, и определяемую следующим соотношением N е = 52(Х<У)ф4ф1). (9.24) /=1 Случайная величина £ описывает число успехов в схеме Бернулли с W независимыми испытаниями и вероятностью успеха qj (см. (9.22), (9.23)). Функция распределения этой случайной величины имеет вид (см. [68, 205]) Pj{£ = r}=(^qrj(l-qj)N-r,
402 Глава 9. Элементы криптографического анализа г = 0, 1,..., Её математическое ожидание rrij и дисперсия а? имеют вид mj=Nqh Таким образом, мы можем рассмотреть две простые гипотезы: • Н\ — выбранное начальное состояние первого регистра совпа- дает с k^\ в этом случае х(1)(й(!)) этот CJ1y4aft соот- ветствует £, отражающей корреляцию {Xz(1)} и {ZJ; • Но - выбранное начальное состояние первого регистра не сов- падает с \ Этот случай соответствует £, отражающей корреля- цию {Х<0)} и {Zt}. Коротко это можно записать так: Р€|М>(г) = W = г) = <75(1 - Qo)N~r, )' (9‘25) (г) = = Г) = )</[(! -q\)N~r, г = 0, 1, .N, Как известно (см. [68, 281]), оптимальный критерий для проверки гипотезы Но против конкурирующей гипотезы Н\ строится, ис- ходя из следующего неравенства (лемма Неймана—Пирсона) N ^1". (И _ ?i(l - до) г. / Р^\н0(г) _до(1-д\)_ \ 1—^71 1 - до с, (9.26) где С — некоторая константа. При выполнении неравенства (9.26) гипоте- за Hq отвергается, а в остальных случаях —принимается. Логарифмируя это неравенство и проведя несложные преобразования, можно показать, что неравенство (9.26) эквивалентно неравенству (9.27) при некотором Сь Для вычисления ошибок первого и второго ро- да воспользуемся тем, что согласно центральной предельной теореме (см. [205]) число успехов в схеме Бернулли с W независимыми испытани- ями и вероятностью успеха gj при достаточно больших W распределено асимптотически нормально с параметрами (Ngj, y/Nq— g7)). Тогда имеем a = Po{^Ci} = P{^Ci\Ho} = = р Г i-Ngo > Cl -Ngo I \/Мдо<Д - до) уМ7о(1 - до) Но] « 1 - Ф( —С1- J \y/NqoO (9.28)
§ 9.3. Корреляционный метод криптоанализа 403 — вероятность ошибки первого рода и /з=р1{е<с1}=ле<с1|//1}= = р J £ ~Wi < G -Ng, -<7i) л/М?|(1 — <7i) J WM/iO -Q\)J (9.29) — вероятность ошибки второго рода (см. рис. 9.5), где Ф —функция рас- пределения стандартного нормального закона и Ф(м)= У е~~2 dx. — оо ст^ = М?0(1 -q0) = N/4; ст? = Nqi(\ -qi). Рис. 9.5 Ошибка первого рода — это вероятность отвергнуть гипотезу Но, когда она справедлива, — соответствует ситуации, когда мы принимаем ложный ключ за истинный. Ошибка второго рода — это вероятность принять гипо- тезу Но, когда справедлива конкурирующая гипотеза Н\, — соответствует ситуации, когда мы отбрасываем истинный ключ. Выбрав вероятности ошибок первого и второго рода (а и /3) и воспользовавшись квантилью и7 стандартного нормального распределения, для которой • 1 -Ф(и7) = 7, (9.30)
404 Глава 9. Элементы криптографического анализа получаем для заданных а и /3 границу С, « Nq0 + иаy/Nqo(\ - q0) ^Nq^-uqy/Nqi(\ - q\). (9.31) Последние соотношения дают нам приблизительно необходимый объ- ём /Vi шифртекста и открытого текста для реализации статистического критерия в описываемом алгоритме определения начального состояния первого регистра ., («ах/<7о(1 -qo) + U/зy/qt(l -<7i))2 Wl------------- Нетрудно заметить: из соотношения (9.32) следует, что необходимый объ- , 1 ем шифртекста и открытого текста пропорционален величине —--- т. е. Л/i тем меньше, чем больше |^о ~ <711- Кроме того, ясно, что должно выполняться неравенство Выберем вероятность ошибки первого рода а « 2"S| и вероят- ность ошибки второго рода /3. Определим в качестве единичной опе- рации следующую последовательность действий: выбор начального состояния первого регистра, развёртывание последовательности и реализацию статистического критерия для по- следовательностей и z. Проделав не более 2S| — 1 единичных операций с учётом того, что q2S| ~ 1, мы выделим истинную часть клю- ча с надёжностью 1 — (3. Предположим, что аналогичные алгоритмы определения начального состояния можно построить и для регистров с номерами / = 2, 3, ..., п (см. рис. 9.3). Тогда для нахождения истинного ключа Ли = (^и1\ &и2\ ••• ..., ) нам потребуется не более чем ^2 2s' — п единичных операций. /=1 При этом надёжность нахождения истинного ключа будет равна произ- ведению надёжностей на всех п этапах. Однако даже если аналогичных алгоритмов для определения k®\ ..., построить не удаётся, исходная задача после нахождения 1 становится заведомо менее сложной. Замечание 9.39. Вероятность q-j, j = 1,2,..., и, корреляции последо- вательности = {х^} (см. рис. 9.3) и шифрующей последовательности z = {zt} в рамках используемой нами статистической модели (см. рис. 9.4) является, очевидно, параметром, определяемым булевой функции /. Бо- лее того, qs = 1 — 2“s' wt(/(x(1), х(2), ..., х(л)) ®х(/)).
§ 9.3. Корреляционный метод криптоанализа 405 Замечание 9.40. Как уже было отмечено выше, наша постановка задачи отличается от постановки в работе [392]. В ней была рассмот- рена задача определения ключа потокового шифра (см. рис. 9.3) только по шифртексту. При этом рассматривалась корреляция последователь- ности х^ = {xzy)}, j = 1, 2, ..., п, с последовательностью ШТ = c — {ct}. Ясно, что знание лишь статистических характеристик открытого текста понижает вероятность корреляции qj, j = 1,2, ..., п (т.е. приближа- ет её к 1/2). Однако принципиально задача остаётся той же самой. Кроме того, на наш взгляд, корреляционный метод определения ключа по ОТ и ШТ более объективно оценивает криптографические качества собственно шифра, вне зависимости от тех или иных свойств передава- емой информации и способов её кодирования для передачи (например, коды ASCII). Замечание 9.41. Теперь несколько слов о самом термине «корреля- ционный метод» криптографического анализа. Нам представляется, что этот термин, отражая саму идею «корреляции» различных информаци- онных последовательностей в потоковых шифрах, может пониматься как объединяющий образ для конкретных алгоритмов определения ключей, использующих эту идею. Для того, чтобы строить криптографические схемы, устойчивые относительно корреляционного метода, предлагается использовать в ка- честве / (см. [389, 392]) /-устойчивые функции (см. §7.1). Например, если /—1-устойчивая функция в нашем конкретном случае, то ду-, j = 1, 2, ..., m, равны 1/2 (т.е. х^ не коррелирует с z). Однако если f не является 2-устойчивой, то найдётся пара переменных, сумма кото- рых коррелирует со значением функции. Сумма линейных рекуррентных последовательностей, снимаемых с соответствующих регистров сдвига, будет являться также линейной рекуррентной последовательностью, по- лученной с помощью регистра сдвига, полином обратной связи которого равен наименьшему общему кратному полиномов обратных связей ре- гистров, порождающих последовательности, входящие в сумму. Таким образом, мы приходим к исходной задаче, но с регистром большей дли- ны. Все эти рассуждения можно повторить для /-устойчивой функции f (но не являющейся (/ + 1)-устойчивой). Найдутся / + 1 переменных, с суммой которых будет коррелировать значение функции. Используя функциональную терминологию, речь идёт о наличии достаточно хоро- шего приближения функции f линейной функцией от / 4- 1 переменной. Является ли такое приближение лучшим для /-устойчивых фушбдий? Справедлива следующая теорема.
406 Глава 9. Элементы криптографического анализа Теорема 9.42. Пусть f — l-устойчивая функция из Fn и пусть и € Vn, wt(tt) = / -ь 1, Wf(u) ^0 и supp(tz) =М ={й, 12, • ••, 0+1}- Тогда минимальное возможное значение среди всех функций gtFi+i (от переменных х(/1), х(/2), х(//+!)) величины dist(/(x(1), х(2), ..., x(zz)), g(x^li\ x(Z2\ ..., x(z/+l))) достигается для аффинной функции /+1 g(x(z,), X(Z2\ ..., X(Z/+1)) =ф X(Z/) ®£, / = 1 где е = 0, если Wf(u)>0, и s = 1 в противном случае. Кроме того, min dist(/, g) =2"-* - | |Wf(u)\ . gtsl+l z Доказательство. Для любого вектора х е Vn обозначим его разбие- ниех = (у, z), где у= (х^\ х^,..., х(//+1)). Пусть (Lm(v) при у = ve Vi+\ обозначает вес подфункции Для любой функции g € имеем dist(f,g) = dist(ftz/,z),g(z/)) = rfAf(»)+ (2"-Z-1-^m(v))- veg-’to) veg-^i) Из последнего соотношения следует, что расстояние dist(/, g) минималь- но для функции g тогда и только тогда, когда (0, если dM(v) < 2Л-/-2; g(v) = < (9.33) если (1m(v) > 2п 1 2. В случае, когда cIm(v) = 2п~1~2, значение функции g(v) можно выбрать произвольно. Для любого v е Vi+\ и любого is 6 М, 1 s / + 1, имеем dM(v) + dM(v® eis) = так как функция f — /-устойчивая (см. лемму 7.8). Пусть функция такая, что расстояние dist(/, g) — минимальное. Посколь- ку cLm(v) + ^Л1(^Ф^5) = 2п~/-1 при любом veV/+i и любом is&M, s = 1, 2, ...,/ + 1, то из условия (9.33) следует, что g(v) + g(v®els) = 1 (9.34)
§ 9.3. Корреляционный метод криптоанализа 407 для любого ve К+ь 7^2л~/-2. Кроме того, мы можем считать, что соотношение (9.34) выполняется и для всех ve V/+i, поскольку g(v) может быть произвольным образом определена, когда d^(v) = 2п~1~2. Следовательно, для любого ve V/+i имеем /+1 g(v) = £(0) ф ф /=1 Так как g — аффинная функция, то dist(/, g) = 2п-1 Это расстояние минимально, если (—1)£(0) и Wf(u) имеют один и тот же знак. □ Таким образом, наилучшее приближение /-устойчивой (но не (/ + 1)- устойчивой) функции f функциями от / + 1 переменной следует искать среди аффинных функций g(x) = {и, х) ф г, где wt(iz) = / + 1 и Wj(u) ± 0. Для фильтрующего генератора (см. рис. 9.6), построенного с исполь- зованием одного регистра сдвига (LFSR) длины 5 с полиномом обратной связи g(A) и фильтрующей функции f в работе [391] была пред- ложена эквивалентная схема (см. рис. 9.7) на основе комбинирующего генератора, с помощью которой можно получать те же шифрующие по- следовательности Z — {zt}. Отличительной особенностью этого генератора является то, что все п регистров имеют одинаковую длину 5 и одинаковый полином обратной связи g(A). Для того чтобы получать с помощью этого генератора после- довательность z = {z/}, которая была ранее получена на фильтрующем
408 Глава 9. Элементы криптографического анализа генераторе с помощью начального состояния регистра (х(1), х(2),..., х^), необходимо установить регистры комбинирующего генератора в со- стояния и = Ad'(x^\ х®\ ..., х^)т, Л^2(х(1), х(2), ..., х^)т = Ad2~d'u, ..., Adn(x^\ х(2), x(s))T =Adn~d'u соответственно, где Л—линейное преобразование пространства V$, определяемое регистром сдвига. Таким образом, мы сводим задачу нахождения начального состояния филь- трующего генератора по выходной последовательности к аналогичной задаче для комбинирующего генератора при дополнительном условии наличия определённых соотношений, связывающих начальные состояния его регистров. Особенности применения корреляционного метода в этом случае можно найти, например, в работах [209, 279, 391]. Возвращаясь к описанному выше корреляционному методу, необхо- димо отметить два существенных момента. Во-первых, при нахождении начального состояния отдельного регистра в комбинирующем генераторе мы используем по существу тотальный перебор всех его состояний. Во- вторых, при нахождении начального состояния регистра мы не исполь- зуем информацию о том, что последовательность, снимаемая с регистра сдвига, является линейной рекуррентной последовательностью. Осмыс- ление двух этих моментов привело в конце концов к теоретико-кодовому подходу при реализации корреляционного метода (fast correlation attack). Остановимся кратко на этом подходе. Пусть регистр сдвига с линейными обратными связями (LFSR) имеет длину s, число состояний 2s и полином обратной связи g(A). После- довательности длины /V, снимаемые с регистра при каждом начальном состоянии, образуют [/V, $]-линейный код С. Тогда шифрующую последо- вательность z = (2i, Z2, ..., z/v), коррелирующую с последовательностью x = (xi,X2, ...,%дг) с вероятностью q, можно представить как кодовое
§9.3. Корреляционный метод криптоанализа 409 слово, переданное по двоичному симметричному каналу связи (ДСК) без памяти с вероятностью ошибки р = 1 — q (см. рис. 9.8). ДСК Рис. 9.8 Таким образом, криптографическая задача формулируется как зада- ча декодирования линейного блочного кода С. Для передачи информации по двоичному симметричному каналу с вероятностью ошибки р исполь- зуется линейный [Л\ sj-код С. Пусть задано слово z = (zi, Z2> • ••, Z/v), полученное из канала. Требуется восстановить переданное кодовое слово Х= (%1, Х2у Х/у). Известно (см. [204, 213]), что для однозначного декодирования кодовая длина N должна быть не менее Nq = s/(1 — Н(р)), где Н(р) = = —(р log p + q log q). Как правило, алгоритмы этого класса требуют выполнения условия W Nq. Основная идея, используемая большинством авторов при таком под- ходе, состоит в том, что компоненты слова z должны с повышенной вероятностью удовлетворять определённым линейным соотношениям, за- висящим от полинома g(A). В работе [315] показано, что при определён- ных условиях можно избежать полного перебора множества состояний регистра. В частности, если число обратных связей регистра мало, то име- ется возможность восстановления начального состояния с помощью ите- ративных процедур, вычислительная сложность которых много меньше сложности полного перебора. Используя этот подход, в работах [425, 426] предложен так называемый синдромный метод восстановления на- чального состояния регистра. Несомненно, что эти идеи достаточно близ- ки к идее (см. [212]) итеративной процедуры декодирования для кодов с малой плотностью проверок на чётность, которая была использована в работах [170, 171] для построения эффективного алгоритма восста- новления начального состояния регистра. Необходимо отметить также работы [246—249], в которых предпринимаются попытки использовать идеи декодирования свёрточных кодов для повышения эффективности корреляционного метода.
410 Глава 9. Элементы криптографического анализа § 9.4. Принципы линейного метода криптоанализа Метод линейного криптоанализа является частным случаем общего статистического метода криптоанализа и основан на использовании вы- ражений вида (У(/|), а) ф (У('2), Ь) = (К, с), (9.35) где а, Ь € Vm, с € Vn, 0 < t\ < /2 г (при этом пару векторов (а, Ь) назы- вают линейной характеристикой). В методе линейного криптоанализа используют только те выражения типа (9.35), которые выполняются с ве- роятностью, отличной от (в сформулированных выше вероятностных предположениях). Вероятность, с которой выполняется равенство (9.35), как будет видно из дальнейшего, удобно записывать в виде Р{(У(/|), а) ф (у<4 Ь) = {К, с)} = +е, (9.36) где — | е Число е называют преобладанием (deviation, bias). Задача 9.43. Пусть Ф € и векторы из Vm подают на вход отоб- ражения Ф равновероятно. Доказать, что для любых a е Vm, b G Vn пре- обладание £а,ь еа,ь=-р{{х, а) = (Ф(х),6)}-1 связано следующим соотношением с коэффициентом Уолша—Адамара отображения Ф: Z 2п Надёжность метода линейного криптоанализа тем выше, чем боль- ше модуль числа е. Поэтому при построении конкретных алгоритмов определения ключа методом линейного криптоанализа задача заключает- ся в нахождении таких векторов а, Ь е Vm и с е Vn, чтобы модуль числа е был как можно большим: |е| -4- max. а,Ь,с Далее мы опишем, как строить алгоритмы определения ключей на ос- нове выражений вида (9.35). Эти алгоритмы по сути представляют со- бой стандартный набор приёмов использования линейных статистиче- ских аналогов. Основная часть метода линейного криптоанализа состоит из способов поиска векторов a, b е Vm и с е Vn, используемых в (9.35), а также приёмов расчёта надёжности и трудоёмкости методов криптоана- лиза, использующих эти выражения (некоторые авторы термином «ли- нейный метод криптоанализа» называют именно этот набор способов
§9.4. Линейный метод криптоанализа 411 поиска векторов a, b е Vm, с е Vn и приёмов расчёта надёжности и тру- доёмкости). В комментариях к настоящей главе мы кратко перечисляем различные обобщения метода линейного криптоанализа. Алгоритмы определения ключа методом линейного криптоана- лиза. Алгоритм 1 Матцуи. Простейшим (но не самым эффективным) вари- антом метода линейного криптоанализа является алгоритм определения одного бита ключа. Этот алгоритм использует выражение типа (9.35), при /1 = 0и /2 = г,т.е. алгоритм использует выражение типа (9.35), в котором участвуют непосредственно открытый и шифрованный тексты: (Xi, а) ф (У/, 6) = (К, с), i = 1, ..., N. В обозначениях §9.2 метод линейного криптоанализа в данном вари- анте определяет линейную комбинацию (К, с) битов ключа. Подсчитыва- ется следующее число: No = #{[ е 1, ..., W I (Xi, а) ф (Yi, Ь) = 0}. Процедура статистической классификации разбивает всё пространство наблюдений на две области АЛ — A4q U АЛ i: к области А4о относят все те наблюдения, для которых No N/2, а к области АЛ\ — те наблюдения, для которых No < N/2. Алгоритм использует принцип максимума правдопо- добия (этот алгоритм называют алгоритмом 1 Матцуи): если No N/2 и в равенстве (9.36) г > 0 или No < N/2 и в равенстве (9.36) г < 0, то ал- горитм выдаёт значение (К, с) = 0, в противном случае алгоритм выдаёт значение (К, с) = 1. Остальные биты ключа определяют методом пере- бора. Алгоритм 2 Матцуи (улучшенный). Естественное обобщение ал- горитма 1 Матцуи заключается в использовании выражений вида (9.35) при tz > г и/или t\ >0. Для изложения этого варианта алгоритма Мат- цуи общую схему’блокового шифра (см. рис. 9.2) удобнее представить в виде, изображённом на рис. 9.9, выделив первые t\ и послед- ние tz раундов. Обозначим = Л° Рц2+\}_г = Ft2+\ Q---°Fr, = (К(|), .... К((/2+1)-г) = (К</2+1>, .... Км). в этих обозначе- ниях промежуточные шифртексты У(/|) и У</2> выражаются следующим образом через открытые X и шифрованные У тексты: Y{>,) = Fi_tl(X, К<|-/|)), У('2> = F~'+l)_r(Y, К((/2+1)-г)),
412 Глава 9. Элементы криптографического анализа где /?^21+р_г — подстановка (по первому аргументу), обратная к подста- новке F(t2+i)-r ПРИ фиксированном втором аргументе. В алгоритме 2 Мат- цуи используют только линейные комбинации (У(/1), а) и (У(/2\ 6) би- тов промежуточных шифртекстов, а не сами промежуточные шифртексты У(/|) и У(/2\ Для вычисления этих линейных комбинаций через открытые X и шифрованные У тексты соответственно, как правило, достаточно знать лишь часть битов из последовательностей подключей и Обозначим «порцию» ключевых битов (из всего ключа К), необходимых для вычисления (У^\ а) и (Yw, b), через К, а число бит в К — через п: Алгоритм 2 Матцуи состоит из двух фаз. В первой фазе для каждого значения К подсчитывают число М) W = # {/ е 1, .. •, /V | а) ф (Y™, Ь) = 0}. Во второй фазе сначала составляют упорядоченный список К2й в порядке убывания величин \N/2 — Nq(Kj)\, j = 1, 2Л: \N/2 - M)(Ki)| |A//2 - M)(*2)| > • • • > \N/2 - N0(K*)\.
§9.4. Линейный метод криптоанализа 413 Далее в соответствии с этим списком для каждого К;, /=1, ...,2Л, выполняют процедуру, аналогичную алгоритму 1 Матцуи, т. е. если N/2 и в равенстве (9.36) е>0 или No(Kj) <N/2 и в равен- стве (9.36) е < 0, то полагают (К, с) = 0, в противном случае полагают (К, с) = 1. Остальные п — п — 1 биты ключа пытаются определить методом перебора. Если этого сделать не удаётся, то переходят к следу- ющему К/ в списке. Замечание 9.44. В случае /1=0 при некоторых aeVm линейный метод криптоанализа можно трактовать как метод криптоанализа в сце- нарии атаки «только по шифртексту». Например, если на вход криптогра- фического преобразования подают символы в кодировке ASCII, то неко- торые биты входных блоков будут всегда нулевыми — этим и можно вос- пользоваться для построения атаки по шифртексту, подбирая специаль- ным образом вектор а е Ут. Отметим, что линейный метод криптоанализа успешно применяют не только для анализа блоковых шифров, но также для анализа кодов аутентификации и криптографических хэш-функций. Расчёт параметров линейного метода. Основная идея алгоритма 2 Матцуи основана на следующем предположении. Предположение 9.45. Если линейная комбинация битов про- межуточных шифр текстов и битов ключа подобраны так, что практически для всех ключей вероятность выполнения соотно- шения (9.35) сильно отличается от 1/2, то эта вероятность существенно сильнее отличается от 1/2, чем вероятность вы- полнения соотношения (9.35) в случае, когда промежуточные шифртексты и Y^ вычислены по открытому X и шифро- ванному Y текстам с использованием неправильной «порции» ключа К. Формально это предположение формулируют следующим обра- зом. Для всех a, b е Vm, c^Vn таких, что величина |р{<У(''>, а) Ф<У(Ч Ь) = (К, с) IК} - || «большая» для практически всех ключей К, справедлива оценка P{{Y«'\ а) ф (У*'2*, Ь) = (К, с} IК = К.} - || ------------------------------------ту» 1, Р{^‘'\ а) Ф Ь} = {К, с} | К/ К.} - g
414 Глава 9. Элементы криптографического анализа где P{(Y«'\ а} ф (У('2>, 6) = (К, с} | К}, P{{Y{t'\ а} ф <У(/2), Ь} = {К, с) | К = К.}, Р{(У(/|), а)ф(У('2), Ь) = (К, с)\К/К,}-условные вероят- ности того, что выполнено соотношение (У(/|), а) ф (У(/2), Ь) = {К, с) при фиксированном ключе К и при условии, что промежуточные шифртексты и вычислены по открытому X и шифрован- ному Y текстам с использованием правильной К* и неправильной К «порций» ключа соответственно. Это предположение относится к классу постоянно используемых в криптографическом анализе так называемых естественных крип- тографических предположений. Как правило, проверить (т.е. строго доказать или опровергнуть) эти предположения для реальных крипто- схем невозможно при существующих мощностях вычислительной техники (с увеличением мощностей компьютеров всегда изменяются и параметры криптографических схем!). Кроме того, обычно несложно искусственно построить пример криптосистемы, для которой рассматриваемое пред- положение не выполнено. Задача 9.46. Построить пример итерационного отображения F: Vm х х Vn Vm, для которого предположение 9.45 не выполнено. Для реально анализируемых (а не искусственно построенных) схем использование этих предположений приводит к правдоподобным выво- дам. Кроме того, для предположения 9.45 приводят следующее интуи- тивное рассуждение в пользу его справедливости: вычисление промежу- точных шифртекстов с использованием неправильной «порции» ключа К можно рассматривать как дополнительные раунды криптографического преобразования, а это приводит к тому, что открытый и шифрованный тексты становятся «менее зависимыми», а в итоге уменьшается модуль преобладания линейного соотношения. Надёжность тго алгоритма 1 Матцуи оценивают надёжностью разли- чения следующих двух простых статистических гипотез: гипотезы Hq — вероятность выполнения соотношения (9.35) задаётся выражением (9.36), и гипотезы Н\ — вероятность выполнения соотношения (9.35) равна 1 /2 (см. предположение 9.45). Стандартная техника статистического анали- за (см., например, §9.3) при достаточно малом |е| позволяет оценивать эту надёжности тго как квантиль стандартного нормального распределе- ния Фо,1 (с математическим ожиданием 0 и дисперсией 1): оо тго Фо, 1 (-2VN |е|) = [ -}==е~х2/2 dx. J v2tt —2v<V-|e|
§9.4. Линейный метод криптоанализа 415 Пример 9.47. Приведём численный пример зависимости значения на- дёжности тго от объёма материала /V: Объём материала N 1/4-|е|-2 1/2 фр2 |е|-2 2-|е|-2 Надёжность тго 84,1% 92,1% 97,7% 99,8% Этот пример показывает, что для надёжного определения бита клю- ча с помощью алгоритма 1 Матцуи объём используемого материала N должен быть по порядку равен |е|-2. Для расчёта надёжности алгоритма 2 Матцуи требуется чуть бо- лее изощрённая статистическая техника и привлечение дополнительных криптографических предположений. Однако и в этом случае качествен- ный вывод остаётся тем же: для надёжного определения ключа с помощью алгоритма 2 Матцуи объём используемого материала W должен быть по порядку равен |б|-2. Задача 9.48. Получить оценку тго для надёжности алгоритма 2 Матцуи. Построение линейных приближений для итерационных отобра- жений. Таким образом, метод линейного криптоанализа сводится к по- строению таких векторов a, b е Vm, се 14, чтобы модуль в в выраже- нии (9.36) был как можно больше. При этом надёжность и трудоёмкость метода определяется этой величиной |е|, т.е. для построенных векторов a, b е Vm, ceVn надо уметь оценивать |е| в выражении (9.36). Эту задачу метод линейного криптоанализа решает, используя итера- ционную структуру блоковых шифров. Первым шагом при этом является анализ в каждом раунде алгоритма шифрования нелинейных элементов. Для каждого нелинейного элемента (а это, как правило, булевы отобра- жения S е Fkj небольших размеров) с помощью компьютера вычисля- ют для всех а' е Vk, b' е V/ вероятности Р{(Х', af) = (S(X'), 6)} = | + е' при случайном равновероятном выборе X' из Vk. Для получения оценки на преобладание для всего алгоритма рассматривают последовательности «согласованных» линейных соотношений для соседних раундов (т. е. со- отношения, когда выходная линейная комбинация передыдущего раунда совпадает с входной линейной комбинацией последующего раунда). При этом используется следующая лемма. Лемма 9.49 (о «набегании знаков» (piling-up), Матцуи [308]). Пусть Xi (1 i п) — независимые случайные величины, каждая из которых принимает значение 0 с вероятностью Х/2 + в/ и 'зна- чение 1 с вероятностью X/Z — ei (-l/2^sz^ 1/2). Тогда случайная
416 Глава 9. Элементы криптографического анализа величина Х\ ФХ2® принимает значение 0 с вероятностью 1/2 + е и значение 1 с вероятностью Х/Ъ — е, где п e = 2"-' Деь Z = 1 Задача 9.50. Доказать лемму 9.49. (Указание'. применить метод ма- тематической индукции по п.) Поскольку таких согласованных последовательностей огромное чис- ло, то ограничиваются поиском всего одного согласованного пути, для ко- торого произведение преобладаний, получаемое согласно лемме 9.49, до- статочно велико. Это произведение и используют как оценку искомого |е|. Получаемое таким образом число на самом деле может оказаться как больше искомого, так и меньше его. Но криптографы используют этот подход, и при экспериментальной проверке он даёт удовлетвори- тельные результаты. Более того, далеко не просто найти хотя бы од- ну согласованную последовательность, которая даст приемлемый ответ. Здесь используют алгоритмы типа «ветвей и границ», а также ряд искус- ственно разрабатываемых для каждого конкретного криптографического алгоритма приёмов, облегчающих решение этой задачи. В этой части, как и в древние времена, криптографический анализ остаётся больше искус- ством, чем наукой. Пример 9.51. Для DES-алгоритма получены ([306]) следующие оценки для максимальных модулей преобладания е в зависимости от числа раундов шифрования (в наших обозначениях — в зависимо- сти от /2 — Л)- Число раундов 12 13 14 15 16 и 1,19 • 2~17 1,49-2”19 1,19-2~21 1,19 - 2~22 1,49 • 2-24 § 9.5. Принципы разностного (дифференциального) метода криптоанализа Так же как и линейный метод криптоанализа, разностный метод крип- тоанализа является частным случаем общего статистического метода криптоанализа. Разностный метод криптоанализа основан на использо- вании выражений вида F(<1+1)_/2(y(z''®a)®F(/,+1)_/2(y<z->)= b, (9.37)
§9.5. Разностный метод криптоанализа 417 где а, Ь е Vm \ {0}, 0 < t\ < г (при этом пару векторов {а, Ь) называ- ют разностной характеристикой). Метод разностного криптанализа использует те выражения типа (9.37), которые выполняются с вероятно- стью, заметно превышающей l/(2m — 1) c^2_'n: P{F{h+i)^Y^ фа) ф^1+1)_/2(У(/|)) = Ь} = 6а,ь » 2~т. (9.38) Алгоритмы определения ключа методом разностного криптоанализа идейно совпадают с алгоритмом 2 Матцуи. Общая схема этих алгоритмов сводится к перебору ключей первых t\ и последних t% раундов шифрования (точнее, к перебору «порций» этих ключей, необ- ходимых для вычисления векторов, входящих в выражение (9.37)). Для каждой перебираемой «порции» этих ключей реализуют статистическую процедуру различения двух гипотез: • Н\ — соотношение (9.37) выполняется с вероятностью 8аь ^>2~т; • //о — соотношение (9.37) выполняется с вероятностью 2~т. Разностный метод основан на криптографическом предположении, ана- логичном предположению 9.45. Объём необходимого материала N при заданной надёжности тг мето- да, и тем самым его трудоёмкость, рассчитывают стандартным образом (см. §9.3). Все эти параметры определяются величиной 8а^ — чем она больше, тем эффективнее метод. При расчёте параметров метода, так же как и при расчёте параметров метода линейного криптоанализа, исполь- зуют ряд криптографических предположений. Как и в случае линейного криптоанализа, основная часть раз- ностного метода криптоанализа состоит из способов поиска векторов a, be Vm\ {0}, используемых в (9.37), а также приёмов расчёта величи- ны 8а,ь. Эту задачу метод разностного криптоанализа (аналогично линейному) решает, используя итерационную структуру блоковых шифров: сначала проводят анализ каждого раунда алгоритма шифрования, а затем стро- ят последовательности «согласованных» разностных характеристик для соседних раундов. При этом ограничиваются поиском всего одного согла- сованного пути. Для оценки вероятности 8а ь используют произведение соответствующих вероятностей в каждом раунде. Приёмы поиска таких «согласованных» путей, как правило, аналогичны приёмам поиска «со- гласованных» путей для метода линейного криптоанализа. Для иллюстрации того, с какими величинами приходится работать криптографам, приведём примеры найденных значений 8а^ для DES-ал- горитма.
418 Глава 9. Элементы криптографического анализа Пример 9.52. Для DES-алгоритма (напомним, что при этом т = 64) получены ([307]) следующие оценки для максимальных вероятностей разностных характеристик в зависимости от числа раундов шифрования (в наших обозначениях — в зависимости от /2 — Л)’ Число раундов 12 13 14 15 16 6 1,71 - 2—47 1,71 - 2“48 1,84 - 2—55 1,87 - 2—56 1,02 • 2—62 § 9.6. Запреты булевых функций Построение генераторов дискретных псевдослучайных последова- тельностей с хорошими аналитическими и статистическими свойствами, близкими к свойствам случайных последовательностей, является одной из важнейших задач при создании потоковых систем шифрования. В ма- тематическом плане эта задача близка к задаче порождения случайных чисел, которые необходимы для решения различных математических за- дач статистическими методами. Особенно интенсивно эта проблема стала исследоваться после создания вычислительных машин. Использование больших таблиц случайных чисел (подготовленных заранее) снижало эффективность использования вычислительной техники. Естественным выходом из такой ситуации явилось создание программных средств получения псевдослучайных чисел. В криптографии эта проблема решалась на пути создания фильтру- ющих и комбинирующих генераторов, которые осуществляют усложне- ние линейных рекуррентных последовательностей (которые, как известно, легко реализуются, но являются «криптографически слабыми») с помо- щью некоторой функции. Проблемам, связанным с линейными рекуррент- ными последовательностями, посвящена обширная литература [272, 283]. В настоящем параграфе мы рассмотрим известный способ усложнения псевдослучайных последовательностей и возникающий при этом новый криптографический параметр булевой функции — запрет. Один из наибо- лее эффективных методов криптографического анализа генераторов ос- нован на использовании запретов. Пусть /(х(1), х(2), ..., причём и — её существенные переменные, а среди остальных переменных могут быть и фиктивные переменные. Только такие функции будут рассматриваться в данном па- раграфе.
§9.6. Запреты булевых функций 419 Пусть некоторое устройство (конечный автомат) перерабатывает про- извольную входную двоичную последовательность в выходную двоичную последовательность по следующему закону: /(x(s), x(s+1), ..., X(s+n"1)) = z/(s), $ = 1,2, где f^Fn, / —натуральное число. Таким образом, это устройство пе- рерабатывает последовательность х = (х(1\ х(2), ..., с Vi+n-i в последовательность у = у<®. .... у®) е V/ для любого натураль- ного числа /. Такое устройство называется кодирующим устройством с конечной памятью и без обратной связи. Относительно системы уравнений (9.39) с фиксированной буле- вой функцией f возможны два случая: либо для любого натурального числа / система уравнений (9.39) совместна при любых значениях правых частей, либо существует такое число /* и такой набор у = (z/6), z/(2), ..., 57(Г))Т G V/*, что система /(x(s), x(s+1), ..., x(s+rt-1)) = ^s), s = 1, 2, ..., /*, несовместна, т.e. выходная последовательность ye Vi* не может быть получена с помощью данного кодирующего устройства ни при каких вход- ных последовательностях х = (х(1), х(2), ..., х(/*+п”1))т. Определение 9.53. Булева функция f называется функцией без запрета (мы будем также говорить «функция не имеет запре- та»), если для любого натурального числа I и для любого набора у = (i/б), ^(2)? ^(0) £ V/ система уравнений (9.39) совместна. В про- тивном случае функция f называется функцией с запретом, а набор у = (у^\ у@\ ---.у^) EVi*. для которого система уравнений (9.39) несовместна, называется запретом булевой функции f длины /*. Задача 9.54. Доказать, что функция /(х(1), х(2), ..., х(п)) €5^, линей- ная по первой или/и по последней переменной, является функцией без запрета. Отметим, что нелинейность по каждой внутренней существенной пе- ременной не есть необходимое условие наличия запрета у функции. На- пример, функция /(х(1), х(2), х(3)) =х(1)х(3) ®х(2) ИМеет запрет длины 5: (1, 0, 1, 0, 1). Определение 9.55. Булева функция f называется сильно 'рав- новероятной. если для любого натурального числа / и для любого
420 Глава 9. Элементы криптографического анализа набора у = (у^\ у®\ ..., у^) € V/ система уравнений (9.39) имеет ров- но 2Л-1 решений. Наличие запрета у булевой функции f свидетельствует о том, что выходная последовательность кодирующего устройства с булевой функ- цией f не может считаться близкой к реализации последовательности независимых одинаково распределённых случайных величин, принима- ющих значения 0 или 1 с вероятностями 1/2. В случае, когда булева функция f является функцией без запрета, ответ на вопрос о близости выходной последовательности кодирующего устройства с этой булевой функцией к реализации последовательности случайных величин, указан- ных выше, даёт следующая теорема. Теорема 9.56. Булева функция f eFn не имеет запрета тогда и только тогда, когда она сильно равновероятна. Доказательство. Достаточность теоремы —если функция сильно равновероятна, то она не имеет запрета — очевидна. Докажем необходимость — если функция не имеет запрета, то она сильно равновероятна. Доказательство проведём от противного. Пред- положим, что функция f не имеет запрета, но не является сильно рав- новероятной. Тогда найдётся такое натуральное число / и такой набор у = у^)Т с V/, что система 7(x(s), x(s+1), x(s+n“1))=^(s); ' s = l,2,...,/, имеет 2'2"1 — а решений, где 0<а^2л"1. (9.40) Иначе говоря, число входных последовательностей х = (х(1), х(2), ... ..., x(Z+'I-1))T, преобразуемых кодирующим устройством с функцией f в выходную последовательность у = (//(1), у^2\ ..., ^/))т, равно 2'г“1 — а. Рассмотрим выходные последовательности длины (k 4- 1) / 4- k(n - 1) вида y{i\ .--,У(1\у(1+'\ ..., y{l+n~'\y(i), ...,y{l\y{2l+n~x\ ..., y{2l+2{n~i)}, ... y{ki+k(n-i)), y^\ (9.41) k= 1, 2, .... Значения переменных, не помеченных волной, выбираются произвольно из F2. Ясно, что общее число таких последовательностей для заданного k равно (2п-1)\ Входные последовательности, преобразуемые кодирующим устройством с функцией f в выходные последовательности
§9.6. Запреты булевых функций 421 вида (9.41), имеют длину (£+ 1)(/ + п — 1), а их общее число, как легко видеть, равно либо 0, либо (2Л~1 — . Обозначим через /х* среднее число входных последовательностей, преобразуемых в одну и ту же выходную последовательность вида (9.41). Тогда (2"~'—а)*+1 „_)/ а М/г (2n~l )k \ 2Л-1 В силу неравенства (9.40) имеем (К 1 - 2^т < 1- Следовательно, lim /1^ = 0. Отсюда, в частности, следует, что при до- k—>оо статочно большом k справедливо неравенство М^<1. (9.42) Значит, некоторая выходная последовательность вида (9.41) не будет иметь прообраза, т.е. эта последовательность будет запретом функции f. Получаем противоречие с нашим предположением. □ Следствие 9.57. Если функция f не уравновешена, то эта функция имеет запрет. Пусть Х= 14+/_i— пространство элементарных событий, I — нату- ральное число. На пространстве элементарных событий X зададим рав- номерную меру Ро, т.е. для любого х = (х(1), х(2), ..., х(/+л"1))теХ по- ложим PoW = 2_^z+rt-1). Рассмотрим последовательность случайных ве- личин £i, • ••> С/+Л-1» задаваемых соотношениями =^(х(1\ х(2), ..., х(/+л-1)) =x(z), z = 1, 2, ...,/ + п - 1 для любого х е X. Ясно, что эти случайные величины распределены по од- ному и тому же закону P{e,=o}=p{e = i}=^ i = i,2,...,/+n-i. Кроме того, поскольку Р{6=л(1>,£2 = а(2), =a(Z+"-l)} = _ #{хеХ | =а(|>, ..,е/+я-1=а(<+д-1>} _ 2/+Л-1 = ЯС1 = а(1’} • = а<2)} • • • Р1&+П-1 = а(/+”-|)} =
422 Глава 9. Элементы криптографического анализа для любого а = (а*1/ а®\ ..., а</+л~1))т еХ, то случайные величины • ••, £/+п-1 независимы. Определим последовательность случайных величин f Cs+i, • • • » £s+n-l) = \ (У.4о) |s = l,2,...,/. Предложение 9.58. Если функция feFn не имеет запрета, то случайные величины р\, р2, ...» ту, определяемые соотношения- ми (9.43), независимы и одинаково распределены. При этом P{pi = 0} = P{pi = 1} = 1/2, 1 = 1,2,...,/. Доказательство. Согласно теореме 9.56 в условиях предложе- ния функция f является сильно равновероятной. Тогда для любого Ь = (Ь^\ ..., 6(/))т еЗ) = V/ имеем =Ь^\р2==Ь®\.. .,гц —Ь^}— =лле......... w(1) ,л?2,. ..е,+1 w(2),.., . .,е/+я-1)=^(°}= =#{х€Х|леь---лп)=/>(|),/(е2,---,еп+|)=б(2).---,ле/--,е/+л-1)=»(°}^ 2/4-n-l = #{xeX|f(x<I\...,x<"W,\Ax<2\^ 2/+л-1 Воспользовавшись этими соотношениями, легко получить, что для любо- го /= 1, 2, ..., / выполнено Ш=0} = Ш = 1}=1/2. Следовательно, для любого Ь = (/И1), ..., /?^)т еЗ) получаем Р{т71 = ft(1), Т}2 = Ь®, ..., pi =Ь^} = = р{р{ = ь{[)}. Р{Р2 = ь{2)} ... Р{ту = Ь(1)} = 2-1, т.е. случайные величины т]2, •••, Pi независимы. □ Предложение 9.58 выделяет следующее положительное криптографи- ческое свойство функций без запрета: вносимое кодирующим устройством с такой функцией аналитическое усложнение не ухудшает статистических свойств входной последовательности.
§ 9.6. Запреты булевых функций 423 Теорема 9.59. Если п}3 и для функции f найдётся такой набор у = (у([\ ..., i/(Z))T G V/, что система булевых уравнений ( f(x<s\ x(s+1), ..., x(s+n~1)) = ^(s), = 1, 2, имеет 2Л”1 — а решений, 0<а<2л-1, то эта функция имеет за- прет длины t ^/ + 2"(2"~2— 1)(/ + п- 1). (9.44) Доказательство. Повторив сначала рассуждения из доказательства теоремы 9.56 о выходных последовательностях вида (9.41) и о lim k—>оо рассмотрим затем поведение величины подробнее. А именно, покажем, что если * (2"-‘ — I)2 — 1, то для любого натурального а<2”_| выполняется неравенство (9.42) и, значит, функция f имеет запрет вида (9.41) длины t = (2п-‘ - 1)2/ + ((2п~1 - I)2- 1)(п- 1) = / + 2"(2"-2- l)(/ + n- 1). Покажем, что при любом k (2я-1 — I)2 — 1 и при любом числе а < 2я-1 справедливо неравенство / а. 1 О-А) '9-45> эквивалентное неравенству (9.42). В самом деле, положив 1 — а/2п-1 = = 1/(1 4- /3) (откуда /3 = а/(2п-1 — а) > 0), получим A a \*+1 _ 1 1 V “(14-/?)*+' < 14-(й4-1)/3' Поэтому при 1 1 1 4-(&4-1)/3 2"37’ или, что то же самое, при (2я-1-!)-! Q 1 выполняется неравенство (9.45). Поскольку а > 1 и /3= то при k (2П-1 — I)2 - 1 > ± (2п~1 - 1) — 1 тоже выполнено (9.45), а значит, и (9.42). □
г 424 Глава 9. Элементы криптографического анализа Следствие 9.60. Если функция f е л 3, не является уравно- вешенной, то она имеет запрет длины / 1 4-2П(2П-2 — 1)и. Доказательство. Утверждение следует из (9.44) при / = 1. □ Рассмотрим теперь вопрос о числе решений системы (9.39) при I —* оо. Обозначим через 7(/, /) максимальное по всевозможным наборам пра- вых частей число решений системы (9.39). Согласно теореме 9.56, если функция не имеет запрета, то для любого натурального числа / выполнено равенство 7(/,/)=2л-1. Оценка числа решений системы (9.39) для функций /, имеющих запрет, даётся следующей теоремой. Теорема 9.61. Если булева функция f е^п имеет запрет, то для любого натурального числа М найдётся такое натуральное число t = t(M), что y(f, t(M))>M. Доказательство. Так как функция f имеет запрет, то по теоре- ме 9.56 она не является сильно равновероятной, т. е. найдётся такое на- туральное число I и такой набор у = (у^, у®\ ..., у^)Т е V/, что система булевых уравнений (9.39) имеет 2rt”1 -ha решений, где а 1. Для набора уеУ/ построим наборы длины (/? 4- 1)/ + k(n — 1) ви- да (9.41). В данном случае имеем Поэтому pk оо при k —* оо. Значит, для любого натурального чис- ла М найдётся такое натуральное k = k(M), что р^м) > М, т. е. некоторая последовательность вида (9.41) длины t(M) = (k(M) 4- 1)/ 4- k{M)(n - 1) имеет более чем М прообразов, и соответствующая ей система из t(M) уравнений имеет более чем М решений. Поэтому для системы (9.39) выполнено неравенство t(M)) > М. □ Предложение 9.62. Пусть булевы функции f, ge^n не имеют запрета. Тогда справедливы следующие утверждения: 1) функция h\(x) = f(x) ф 1 является функцией без запрета', 2) функция /i2(x) = /(x(1) ® 1, х(2) ф 1, ..., х(л) ф 1) является функ- цией без запрета’, 3) функция йз(лг) = g(/(x(1), ..., х(/г)), /(х(2),..., х(л+1)), ..., /(х(лп), ... ..., х(ш+п-1))) является функцией без запрета. к
§ 9.6. Запреты булевых функций 425 Доказательство. Справедливость утверждений 1) и 2) вытекает из естественного взаимно однозначного соответствия множеств решений системы (9.39) для функции f и функций h\ и h^. Утверждение 3) для функции Лз легко получить, последовательно вычисляя число решений системы (9.39) сначала для функции g, а затем для функции /. □ Задача 9.63 (нерешённая). Получить эффективные необходимые и достаточные условия того, что данная булева функция не имеет за- прета. Воспользуемся теперь понятием кодирующего устройства для харак- теризации функций, не имеющих запрета. Определение 9.64. Кодирующее устройство с булевой функцией f называется необратимым, если существуют две различные вход- ные последовательности х = (х(1),..., x(r))T е Vr, z — (z(1), ..., z^)T € Vr, r>2n, такие, что x(1) = z(1), x(2) =z(2), ..., x(z2) =z(n), x(r“n+I) = z(r-"+1), ..., x^=z^ и обе последовательности перерабатываются этим коди- рующим устройством в одну и ту же выходную последовательность. В противном случае кодирующее устройство с булевой функцией f ЕД называется обратимым. Очевидно, что задание выходной последовательности обратимо- го кодирующего устройства, начала (длины п) и конца (длины п) входной последовательности, перерабатываемой в данную выходную последовательность, однозначно определяет всю входную последова- тельность. Теорема 9.65. Булева функция f EFn имеет запрет тогда и только тогда, когда кодирующее устройство с этой функцией необратимо. Доказательство. Утверждение теоремы легко получить, заме- тив, что: 1) из обратимости кодирующего устройства с функцией f следует ограниченность величины 7(/, /) при I -*оо; 2) из необратимости кодирующего устройства следует, что для любого натурального М найдётся натуральное число I = 1(М), что y(f, 1(М)) > >М. □ Следствие 9.66. Функция f tFn сильно равновероятна тогда и только тогда, когда кодирующее устройство с этой функцией обратимо. Задача 9.67. Доказать, что функция /(х(1), х(2), х(3), х(4)) = 1 ф фх(3) фх(1)х(2) фх(2)х(4) фх(1)х(2)х(4) не имеет запрета.
426 Глава 9. Элементы криптографического анализа Комментарии к главе 9 Настоящая глава выполняет в данной книге особую функцию. Соот- ветствуя своему названию, она по существу является узким мостиком, ведущим читателя в область криптографического анализа. При этом мы старались выбирать сюжеты таким образом, чтобы они были созвучны с основной героиней нашей книги — булевой функцией. Наличие такого мостика, как нам представляется, необходимо для правильного ориенти- рования заинтересованного читателя. Криптографический анализ является сущностным элементом (частью) криптологии. Именно криптографический анализ (как реализация опре- делённой совокупности методов криптографического анализа) в конечном счёте даёт оценки стойкости того или иного шифра (протокола и т. п.) в одних случаях, либо позволяет несанкционированно получать (исполь- зовать, изменять и т. п.) информацию в других случаях. Вместе с тем, это и наиболее сложная часть криптологии. Криптографический анализ ха- рактеризуется огромным разнообразием постановок задач и использует при решении этих задач методы самых разнообразных разделов матема- тики. В методическом плане имеются лишь попытки классифицировать методы криптографического анализа по типу шифров, к которым они при- меняются, либо по характерным особенностям алгоритмов, реализующих данный метод. Заинтересованному читателю авторы рекомендуют кни- ги [2, 4, 17, 18, 316], в которых можно найти ретроспективу современных методов криптографического анализа. При этом книги по криптографи- ческому анализу в основном ориентированы на специалистов по компью- терной безопасности, а не на математически настроенного читателя. Наряду с этим имеется огромное количество научных публикаций по криптографическому анализу, разбросанных по ряду математических журналов, трудам разнообразных криптологических конференций, про- водимых в Европе, Америке, Азии и Австралии. В них, в частности, регулярно публикуются результаты по анализу конкретных криптографи- ческих объектов (шифров, протоколов, криптографических хэш-функций и т.п.). Координаты этих научных изданий можно найти в списке лите- ратуры. Возвращаясь к содержательной части комментария, отметим следую- щее. Приведённые выше для булева случая алгоритм Берлекемпа—Месси естественно допускает обобщения для произвольного конечного поля. Ознакомится с ними можно, например, по книгам [2, 112, 283]. Общая схема метода статистического криптоанализа блочных шифров изложена в статьях [252, 324, 384, 412].
Комментарии к главе 9 427 Идея линейного метода криптоанализа впервые была предложена японскими специалистами М. Матцуи и А. Ямагиши в 1992 г. [305]. Год спустя М. Матцуи воплотил идею в конкретный метод [306]. Именно эта статья сейчас и считается первой по линейному методу криптоанализа. В этой работе метод излагается на примере анализа DES-алгоритма. В статье Матцуи приводит оба своих алгоритма, причём алгоритм 2 излагается для t\ =0 и t% = 15 (в обозначениях §9.4). В этой же статье Матцуи показывает, как можно использовать симметричность алго- ритмов зашифрования и расшифрования для DES-алгоритма (такой симметрией обладают все алгоритмы, построенные по схеме Файштеля). В следующем году Матцуи публикует ещё одну работу [308], в которой уже используется одновременно два различных линейных соотношения для анализа DES-алгоритма. В этой же работе предложен метод типа «ветвей и границ» для поиска «хороших» линейных соотношений. В рабо- те [251] показано, что на практике (при экспериментальной реализации) алгоритмы Матцуи работают даже лучше, чем ожидалось теоретически, но качественного снижения трудоёмкости при этом не наблюдается. За 10 лет развития линейного метода криптоанализа был предло- жен ряд его обобщений. В работе [253] предложена идея использовать несколько линейных соотношений (этот метод называют методом крат- ного приближения), но конкретной конструкции, как это реализовать, не предложено, за исключением случая, когда во все линейные соотно- шения входит одна и та же линейная комбинация битов ключа. И лишь недавно появилась статья [122], в которой предложен статистический расчёт метода кратных приближений. В работе [263] предложено исполь- зовать нелинейные приближения вместо линейных, однако не предложе- но, как эффективно искать такие приближения и как рассчитывать их преобладания. В работе [264] предложено использовать линейный метод криптоанализа в сценарии атаки с выбором открытого текста. Дифференциальный метод анализа был разработан в 1990 г. изра- ильскими математиками Э. Бихамом и А. Шамиром (журнальный вари- ант доклада, сделанного на конференции [120]). Д. Копперсмит утвер- ждает [178], что этот метод был известен команде разработчиков DES- алгоритма ещё в начале 1970-х годов. Но в то время этот метод был засекречен. Справедливости ради, необходимо отметить, что идея, близ- кая к методу дифференциального анализа, была опубликована до работы Э. Бихама и А.Шамира в 1990 г. С. Мерфи [323]. Вскоре после изобретения метода дифференциального анализа бы- ло предложено рассматривать разностные характеристики для с^Гучая, когда операцию покоординатного суммирования векторов из V32 (для
428 Глава 9. Элементы криптографического анализа DES-алгоритма) по модулю 2 заменяют на операцию суммирования этих векторов по модулю 232, рассматривая их как 2-адическую за- пись целых чисел [114]. В 1993 г. израильские математики И. Бен-Аройа и Э. Бихам [110] предложили искать дифференциальные характеристики, считая, что ключ принимает не все возможные значения, а лишь значе- ния из некоторого подмножества. Этот метод получил название метода условных дифференциалов. В 1994 г. датский математик Ларс Кнуд- сен [262] предложил строить по аналогии с обычным дифференциальным методом криптоанализа метод усечённых дифференциалов. Факти- чески Кнудсен предлагает «следить» в разностной характеристике лишь за специально выбираемой частью бит векторов, участвующих в соотно- шении. В 1994 г. швейцарский криптограф X. Лаи [275] (см. также [262]) показал, что для построения метода криптографического анализа мож- но использовать дифференциальные характеристики высших порядков: ф F(x®a) = d, где L — подпространство в Vn, dimL^2. В 1998 г. aeL Э. Бихам, А. Бирюков и А. Шамир (эти результаты опубликованы на год позже в [119]) заметили, что для построения метода криптографического анализа можно использовать с равным успехом дифференциалы, имею- щие не повышенную, а пониженную вероятность, а ещё лучше — нулевую вероятность появления (невозможные дифференциалы). Именно этим методом была обнаружена слабость в криптографическом алгоритме Skipjack —первом и пока единственным алгоритме, авторство которого официально признано Агентством Национальной Безопасности США. Для шифров итерационного типа чаще всего построить дифференциаль- ную характеристику, имеющую гарантированно большую вероятность, не удаётся. В 1999 г. Д. Вагнер предложил использовать не пары от- крытых текстов с заданной разностью, а четвёрки с заданным набором разностей, при этом он предложил конструктивный способ построения таких четвёрок. Этот метод автор назвал методом прямоугольника, а развитие этого метода называют методом бумеранга. Огромное количество работ посвящено применению методов линей- ного и дифференциального криптоанализа к конкретным криптографи- ческим схемам. Заинтересованный читатель сможет без труда найти их самостоятельно в трудах криптографических конференций EUROCRYPT, CRYPTO, ASIACRYPT, Fast Software Encryption, а также в отчётных ма- териалах конкурса на новый американский стандарт шифрования AES. Результаты, приведённые в последнем параграфе настоящей главы, показывают тесную связь свойства булевой функции быть без запре- та с распределением числа решений соответствующих систем уравнений.
Комментарии к главе 9 429 Обобщение этого свойства в теоретико-автоматной трактовке и в есте- ственных теоретико-вероятностных предположениях исследовались в ра- ботах [55-57, 69]. Криптографический анализ ещё далёк от стадии формирования его как научной дисциплины. Желающему овладеть тонкостями криптогра- фического анализа необходимо не только иметь достаточно высокий уро- вень математической подготовки, но и проявить завидную настойчивость по нахождению и освоению огромного количества отечественных и за- рубежных источников, акцентируя внимание на источниках, содержащих разбор методов анализа конкретных криптографических систем.
Литература [1] Авсаркисян Г. С. Дизъюнктивная декомпозиция булевых функций относи- тельно всех переменных // Компьютерные сети. Рига: Zinatne. 1984. Вып. 1. С. 78-94. [2] Алфёров А. П., Зубов А. Ю., Кузьмин А. С., Черёмушкин А. В. Основы криптографии., М.: Гелиос, Ассоциация российских ВУЗов. 2001. [3] Амбросимов А. С. Свойства бент-функций ^-значной логики над конеч- ными полями // Дискретная математика. 1994. Т. 6, вып. 3. С. 50—60. [4] Бабаш А. В., Шанкин Г. П. Криптография. М.: Солон-Р. 2000. [5] Бассалыго Л. А., Зайцев Г. М., Зиновьев В. А. О равномерно упакованных кодах // Проблемы передачи информации. 1974. Т. 10. № 1. С. 9—14. [6] Бассалыго Л. А., Зиновьев В. А. Замечание о равномерно упакованных кодах // Проблемы передачи информации. 1977. Т. 13. № 3. С. 22—25. [7] Берман С. Б., Грушко И. И. О В-функциях, возникающих в модуляр- ных кодах. Проблемы передачи информации. 1981. Т. XVIII, вып. 2. С. 10-18. [8] Ближнюк В.Д., Холодный М. Ф. Приложение аппарата булевых про- изводных к задаче декомпозиции булевых функций // Автоматика и телемеханика. 1984. № 5. С. 105—112. [9] Ботев А. А. О соотношении между корреляционной иммунностью, нели- нейностью и весом для неуравновешенных булевых функций //В сб.: Математические вопросы кибернетики. Вып. И. М.: Физматлит, 2002. С. 149-162. [10] Василенко О. Н Теоретико-числовые алгоритмы в криптографии. М.: МЦНМО, 2003. [11] Васильев Ю.Л., Глаголев Ю.Л. Метрические свойства дизъюнктивных нормальных форм // Дискретная математика и математические во- просы кибернетики. Т. I. Под. ред. Яблонского С. В., Лупанова О. Б., М.: Наука, 1974. С. 99-148. [12] Винберг Э. Б., Элашвили А. Г. Классификация тривекторов девятимерного пространства // Труды семинара по векторному и тензорному ана- лизу. М.: МГУ, 1974. С. 197-233. [13] Виноградов И.М. Основы теории чисел. М.: Наука, 1965. [14] Винокуров С.Ф., Перязев Н.А. Полиномиальная декомпозиция булевых функций // Математические заметки. 1993. Т. 53, вып. 2. С. 25—29. [15] Гельфанд И.М. Лекции по линейной алгебре. М.: Наука, 1971. [16] Голубов Б. И., Ефимов А. В., Скворцов В. А. Ряды и преобразования Уолша. Теория и применение. М.: Наука, 1987.
Литература 431 [17] Грушо А. А., Применко Э.А., Тимонина Е.Е. Анализ и синтез крип- тографических алгоритмов. Курс лекций. Йошкар-Ола: МФ МОСУ, 2000. [18] Грушо А. А., Применко Э.А., Тимонина Е.Е. Криптографические про- токолы. Йошкар-Ола: МФ МОСУ, 2001. [19] Гуревич Г. Б. Основы теории алгебраических инвариантов. М.: Госте- хиздат, 1948. [20] Денисов О. В. Асимптотическая формула для числа корреляционно-им- мунных порядка k булевых функций // Дискретная математика. 1991. Т. 3, вып. 2. С. 25—46. [21] Денисов О. В. Локальная предельная теорема для распределения ча- сти спектра случайной двоичной функции // Дискретная математика. 2000. Т. 12, вып. 1. С. 82-95. [22] Додунеков С.М., Зиновьев В. А. Заметка о кодах Препараты // Труды 6-го международного симпозиума по теории информации. Москва— Ташкент, 1984, Часть 2. С. 78—80. [23] Жуков А. Е., Чистяков В. П. Матричный подход к исследованию прооб- разов выходной последовательности конечного автомата // Обозрение прикладной и промышленной математики. М.: ТВП, 1994. Т. 1. № 1. С. 108-117. [24] Журавлёв Ю. И. Алгоритмы построения минимальных дизъюнктивных нормальных форм для функций алгебры логики // Дискретная мате- матика и математические вопросы кибернетики. Т. 1, М.: Наука, 1974. [25] Зайцев Г. В., Зиновьев В. А., Семаков Н. В. Быстрое корреляционное де- кодирование блочных кодов // Кодирование и передача дискретных сообщений в системах связи. М.: Наука, 1976. [26] Залманзон Л. А. Преобразования Фурье, Уолша, Хаара и их примене- ние в управлении, связи и других областях. М.: Наука, 1989. [27] Карповский М. Г, Москалев Э.С. Спектральные методы анализа и синтеза дискретных устройств. Л.: Энергия, 1973. [28] Карякин Ю.Д. Быстрое корреляционное декодирование кодов Рида— Маллера // Проблемы передачи информации. 1987. Т. 23, Вып. 2. С. 40-49. [29] Касами Т, Токура Н., Ивадари Ё., Инагаки Я. Теория кодирования. М.: Мир, 1978. [30] Кириенко Д. П. Полное описание неуравновешенных корреляционно-им- мунных порядка 5 булевых функций от 9 переменных // Труды XXIII конференции молодых учёных механико-математического факуль- тета МГУ «Современные исследования в математике и механике», (9-14 апреля 2001 г.). Т. 2. С. 153-156.
432 Литература [31] Клосс Б.М., Нечипорук Э.Н. О классификации функций многозначной логики // Проблемы кибернетики. Вып. 9. 1963. [32] Колбин С. Л. О некоторых свойствах взаимно обратных систем функ- ций р-значной логики // Дискретная математика. 1994. Т. 6, вып. 2. С. 145-149. [33] Колесник В.Д., Мирончиков Е.Т. Декодирование циклических кодов. М.: Связь, 1968. [34] Колесник В.Д., Полтырев Г. Ш. Курс теории информации. М.: Наука, 1982. [35] Королёв П. С. Квадратичные булевы функции высокого порядка устойчи- вости // В сб.: Математические вопросы кибернетики. Вып. 11. М.: Физматлит, 2002. С. 255—261. [36] Кузнецов Ю.В. О классах булевых функций, инвариантных относитель- но отождествления переменных // Докл. АН СССР. 1986. Т. 290. № 4. С. 780-785. [37] Кузнецов Ю. В., Шкарин С. А. Коды Рида—Маллера (обзор публика- ций). Математические вопросы кибернетики. М.: Наука, 1996. № 6. С. 5-50. [38] Кузнецов Ю. В., Ященко В. В. Об оценке степени нелинейности частичных булевых функций // Вестник МГУ. 1993. Т. 119. № 6. С. 36—40. [39] Кузнецов Ю.В., Ященко В. В. О частичных бент-функциях // Вестник МГУ. 2000. № 5. С. 3-6. [40] Кузнецов Ю. В., Ященко В. В. О платовидных булевых функциях // Материалы XII Международной школы-семинара «Синтез и слож- ность управляющих систем». Пенза, 15—21 октября 2001 г. Часть I. Издательство центра прикладных исследований при механико-математи- ческом факультете МГУ, 2001. С. 129—136. [41] Кузнецов Ю.В. О числе невырожденных булевых форм // XI Меж- дународная школа-семинар «Синтез и сложность управляющих систем». Нижний Новгород, 20—25 ноября 2000. Часть I. Издательство центра прикладных исследований при механико-математическом факуль- тете МГУ, 2001. С. 105-108. [42] Курмит А. А. Автоматы без потери информации конечного порядка. Рига: Zinatne. 1972. [43] Лабунец В. Г, Ситников О. П. Гармонический анализ булевых функций и функций /г-значной логики над конечными полями // Техническая ки- бернетика. 1975. № 1. С. 141 — 148. [44] Логачёв А. С. Об одном рекурсивном алгоритме декодирования некоторых подмножеств кода Рида—Маллера первого порядка // Дискретная ма- тематика. 1992. Т. 4, вып. 2. С. 130—135.
Литература 433 [45] Логачёв О.А., Сальников А. А., Ященко В. В. Бент-функции на конеч- ной абелевой группе // Дискретная математика. 1997. Т. 9, вып. 4. С. 3-20. [46] Логачёв О.А., Сальников А. А., Ященко В. В. Невырожденная нормальная форма булевых функций // Докл. РАН. 2000. Т. 373. № 2. С. 164—167. [47] Логачёв О.А., Сальников А. А., Ященко В. В. Бент-функции и разбие- ния двоичного куба // 12-/Л International Conference on Formal Power Series and Algebraic Combinatorics FPSAC'W. Supplementary abstracts. M.: MSU. 2000. C. 43-48. [48] Логачёв О.А., Сальников А. А., Ященко В. В. Некоторые характеристики «нелинейности» групповых отображений // Дискретный анализ и иссле- дование операций. Серия 1. 2001. Т. 8. № 1. С. 40—54. [49] Логачёв О.А., Сальников А. А., Ященко В. В. Нормальная форма отоб- ражений конечных абелевых групп // VII Международный семинар «Дискретная математика и её приложения». 29 января—2 февра- ля 2001. Часть III. Издательство центра прикладных исследований при механико-математическом факультете МГУ, 2001. С. 315—317. [50] Логачёв О.А., Сальников А. А., Ященко В. В. Оценки некоторых пара- метров отображений конечных абелевых групп // VII Международный семинар «Дискретная математика и её приложения». 29 января— 2 февраля 2001. Часть III. Издательство центра прикладных исследований при механико-математическом факультете МГУ, 2001. С. 318—320. [51] Логачёв О.А., Сальников А. А., Ященко В. В. О наследовании свойств при сужениях булевых функций // Дискретная математика. 2002. Т. 14, вып. 2. С. 9—19. [52] Мальцев А. И. Основы линейной алгебры. М.: Наука, 1970. [53] Малютин А. А. Быстрое корреляционное декодирование некоторых под- множеств кода Рида—Маллера первого порядка // Дискретная мате- матика. 1990. Т. 2, вып. 2. С. 155—158. [54] Манин Ю. И. Кубические формы. М.: Наука, 1972. [55] Михайлов В. Г. О числе прообразов выходной последовательности автома- та // Обозрение прикладной и промышленной математики. М.: ТВП, 1994. Т. 1. № 1. С. 118-121. [56] Михайлов В. Г. Обобщение теоремы о числе прообразов выходной по- следовательности автомата // Обозрение прикладной и промышленной математики. М: ТВП, 1994. Т. 1. № 1. С. 122—125. [57] Михайлов В. Г. Асимптотическая нормальность числа прообразов выход- ной последовательности автомата // Обозрение прикладной и промыш- ленной математики. М.: ТВП, 1994. Т. 1. № 1. С. 126—135. [58] Михайлов В. Г, Чистяков В. П. О задачах теории конечных автома- тов, связанных с числом прообразов выходной последовательности //
434 Литература Обозрение прикладной и промышленной математики. М.: ТВП, 1994. Т. 1. № 1. С. 7-31. [59] Нигматулин Р. Г. Сложность булевых функций. М.: Наука, 1991. [60] Носов В. А. Критерий регулярности булевского неавтономного автома- та с разделённым входом // Интеллектуальные системы. М.: МГУ им. М. В. Ломоносова, Академия Технологических наук России, 1998. Т. 3, вып. 3—4. С. 269—280. [61] Носов В. А. Построение классов латинских квадратов в булевой базе дан- ных // Интеллектуальные системы. М.: МГУ им. М. В. Ломоносова, Академия Технологических наук России, 1999. Т. 4, вып. 3—4. С. 307—320. [62] Общая алгебра. Справочная математическая библиотека. Т. 1, 2. Под ред. Скорнякова Л. А. М.: Наука, 1990. [63] Поваров ГН. О групповой инвариантности булевых функций // В сб.: Применение логики в науке и технике. М.: АН СССР, 1961. С. 263-340. [64] Постников М.М. Лекции по геометрии. Семестр II. Линейная алгеб- ра. М.: Наука, 1986. [65] Рязанов Б. В. О распределении спектральной сложности булевых функ- ций // Дискретная математика. 1994. Т. 6, вып. 2. С. 111 — 119. [66] Рязанов Б. В., Чечета С. И. О приближении случайной булевой функции семейством квадратичных форм // Дискретная математика. 1995. Т. 7, вып. 3. С. 129—145. [67] Сагалович Ю.Л. О групповой инвариантности булевых функций. Успехи математических наук. 1959. Т. XIV, вып. 6(90). С. 191 — 195. [68] Севастьянов Б. А. Курс теории вероятностей и математической статистики. М.: Наука, 1982. [69] Севастьянов Б. А. Чистяков В. П. О числе входных последовательностей, соответствующих выходной последовательности конечного автомата // Обозрение прикладной и промышленной математики. М.: ТВП, 1994. Т. 1. № 1. С. 96-107. [70] Семаков Н.В., Зиновьев В. А., Зайцев Г. В. Равномерно упакованные ко- ды // Проблемы передачи информации. 1971. Т. VII, вып. 1. С. 38—50. [71] Сидельников В.М. О взаимной корреляции последовательностей // Про- блемы кибернетики, под ред. Ляпунова А. А. М.: Наука, Главная редакция физико-математической литературы, 1971. вып. 24. С. 15—42. [72] Сидельников В. М., Першаков А. С. Декодирование кодов Рида—Маллера при большом числе ошибок // Проблемы передачи информации. М.: Наука, 1992. Т. 28. № 3. С. 80-94. [73] Сидельников В. М. Быстрые алгоритмы построения набора маркировок массивов дискретной информации //В сб.: Российская Академия наук. Академия криптографии Российской Федерации. Труды по дискрет- ной математике. М.: ТВП, 1997. Т. 1. С. 251—264.
Литература 435 [74] Солодовников В. И. Бент-функции из конечной абелевой группы в конеч- ную абелеву группу // Дискретная математика. 2002. Т. 14, вып. 1. С. 99-113. [75] Страдзинь И. Э. Группы инерции булевых функций четырёх переменных // Автоматика и вычислительная техника. 1968. № 5. С. 18—22. [76] Страдзинь И. Э. Аффинная классификация булевых функций пяти пе- ременных // Автоматика и вычислительная техника. 1975. № 1. С. 1-9. [77] Стратонович Р. Л. Теория информации. М.: Советское радио, 1975. [78] Сумароков С. Н. Запреты двоичных функций и обратимость для одного класса кодирующих устройств // Обозрение прикладной и промышлен- ной математики. 1994. № 1. С. 33—55. [79] Супруненко Д. А. Группы подстановок. Минск: Навука i тэхшка, 1996. [80] Таранников Ю. В. О множествах l-уравновешенных булевых наборов и функций. Диссертация на соискание учёной степени к. ф.-м. н. М. 1994. [81] Таранников Ю.В. О числе единичных значений /-уравновешенных буле- вых функций // Дискретный анализ и исследование операций. 1995. Т. 2. № 1. С. 80-81. [82] Таранников Ю.В. О некоторых оценках для веса /-уравновешенных бу- левых функций // Дискретный анализ и исследование операций. 1995. Т. 2. № 4. С. 80-96. [83] Таранников Ю. В. О классе булевых функций, равномерно распределённых по шарам со степенью 1 // Вестник Московского университета. Серия 1. Математика, Механика. 1997. № 5. С. 17—21. [84] Таранников Ю. В. О структуре и числе корреляционно-иммунных функций наивысших порядков // Материалы IX Межгосударственной школы-се- минара «Синтез и сложность управляющих систем» (Нижний Новгород, 16—19 декабря 1998 г.). М.: Изд-во механико-математического факультета МГУ, 1999. С. 81-92. [85] Таранников Ю. В. О корреляционно-иммунных и устойчивых булевых функциях // Математические вопросы кибернентики. М.: Физмат- лит, 2002. Вып. 11. С. 91-148, [86] Таранников Ю. В. Об автокорреляционных свойствах корреляционно- иммунных функций // Материалы VII международного семинара «Дискретная математика и её приложения» (29 января — 2 февраля 2001 г.). М.: Изд-во центра прикладных исследований при мех.-мат. ф-те МГУ, 2001. Ч. 3. С. 331-333. [87] Таранников Ю. В. Числовые характеристики булевых функций, Дискрет- ная математика и её приложения // Сборник лекций молодёжных научуых школ по дискретной математике и её приложениям. М.: Изд-во центра прикладных исследований при мех.-мат. ф-те МГУ, 2001. Ч. 1. С. 129—144.
436 Литература [88] Харин Ю.С., Берник В.И., Матвеев ЕВ. Математические основы криптологии. Минск: БГУ, 1999. [89] Черёмушкин А. В. Методы аффинной и линейной классификации двоичных функций. // В сб.: Российская Академия наук. Академия криптогра- фии Российской Федерации. Труды по дискретной математике. М.: Физико-математическая литература, 2001. Т. 4. С. 273—314. [90] Шарпен П., Титвайнен А., Зиновьев В. А. О двоичных циклических кодах с расстояние d=3 // Проблемы передачи информации. 1997. Т. 33. № 4. С. 3-14. [91 ] Шестаков (ред.) Синтез электроных вычислительных и управляющих схем. М.: ИЛ, 1954. [92] Яблонский С. В., Гаврилов Г. П., Кудрявцев В. Б. Функции алгебры ло- гики и классы Поста. М.: Наука, 1966. [93] Яблонский С. В. Введение в теорию функций ^-значной логики // В сб.: Дискретная математика и математические вопросы кибернетики. М.: Наука, 1974. Т. 1, [94] Ященко В. В. Свойства булевых отображений, сводимые к свойствам их координатных функций // Вестник МГУ, серия Математика. 1997. № 4. С. 11-13. [95] Ященко В. В. О критерии распространения для булевых функций и о бент- функциях // Проблемы передачи информации. 1997. Т. 33. № 1. С. 75-86. [96] Ященко В. В. О двух характеристиках нелинейности булевых отображений. Дискретный анализ и исследование операций. Серия 1. 1998. Т. 5. № 2. С. 90-96. [97] Adams С.М. A formal and practical design procedure for Substitution- Permutation network cryptosystem. Ph. D. thesis, Department of Electrical Engineering, Queen’s University at Kingston. 1990. [98] Adams C.M. On immunity against Biham and Shamir’s differential cryptanalysis // Information Processing Letters. 1992. V. 41. P. 77—80. [99] Adams C.M., Tavares S.E. Good S-boxes are Easy to Find. In In Proceedings of Advances in Cryptology'. CRYPTO'89. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1990. V. 435. P. 612—615. [100] Adams C.M., Tavares S.E. The structured design of cryptographically good S-boxes // Journal of Crytology. 1990. V. 3. No. 1. P. 27—41. [101] Adams C.M., Tavares S.E. Generating and Counting Binary Bent Sequences // IEEE Trans, on Inform. Theory. 1990. IT-36. No. 5. P. 1170—1173. [102] Agaian S.S. Hadamard Matrrices and Their Applications. Lecture Notes in Mathematics, 1168.Berlin, Heidelberg, New York, Tokyo: Springer-Verlag, 1985.
Литература 437 [103] Agievich S.V. On the representation of bent-functions by bent-rectangles. In Proceedings of the Fifth International Petrozavodsk Conference on Probabilistic Methods in Discrete Mathematics. (Petrozavodsk, June 1—6, 2000). Utrecht, Boston: VSP, 2000. P. 121-135. [104] Akyildiz E., Guloglu I. S., Ikeda M. A Note on Generalized Bent Functions // Journal of Pure and Applied Algebra. 1996. V. 106. No. 1. P. 1—9. [105] Albert A. A. Fundamental Concepts of High Algebra. Chicago: Univ, of Chicago Press. 1956. (Русский перевод: гл. 5 «Конечные поля» // в кни- ге Кибернетический сборник, новая серия. М.: Мир, 1966. Вып. 3. С. 7-49). [106] Anderson R. Searching for the Optimum Correlation Attack // Fast Software Encryption, Leuven'94. Leet. Notes in Comp. Sci. New York: Springer- Verlag, 1995. V. 1008. P. 137-143. [107] Ash R. Information Theory. New York, London, Sydney: Interscience Publishers, a Division of John Wiley and Sons, 1967. [108] Baker R. D., van Lint J. H., Wilson R.M. On the Preparata and Goethals Codes // IEEE Trans, on Inform. Theory. 1983. IT-29. No. 3. P. 342—345. [109] Applied Combinatorial Mathematics. Beckenbach E.E. (ed.) New York, London, Sydney: John Wiley & Sons, Inc., 1964. (Русский перевод: Прикладная комбинаторная математика. Сб. статей под ред. Бек- кенбаха Э.; ДеБрейн Н.Дж. Теория перечислений Пойа. С. 61 — 106). [ПО] Ben-Aroya I., Biham Е. Differential Cryptanalysis of Lucifer // In Proceedings in Advances of Cryptology — CRYPTO'93, Springer-Verlag, 1993. P. 187-199. [Ill] Bennet С. H., Brassard G., Robert J.M. Privacy Amplification by Public Discussion // SIAM Journal on Computing. 1988. V. 17. P. 210—229. [112] Berlekamp E. R. Algebraic Coding Theory. New York, St. Louis, San Francisco, Toronto, London, Sydney: McGraw-Hill, 1968. (Русский перевод: Берлекэмп Э. Алгебраическая теория кодирования. М.: Мир, 1971.) [113] Berlekamp Е. R., Welch L. R. Weight Distributions of the Cosets of the (32, 6) Reed—MOller Code // IEEE Trans, on Inform. Theory. 1972. IT-18. P. 203-207. [114] Berson T. A. Differential Cryptanalysis Mod 232 with Applications to MD5 // In Proceedings of Advances in Cryptology — EUROCRYPT'92. Leet. Notes in Comp. Sci. Springer-Verlag, 1992. V. 658. P. 71—80. [115] Beth T., Ding C. On Almost Perfect Nonlinear Permutations // In Proceedings of Advances in Cryptology. EUROCRYPT'93. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1993. V. 765. P. 65—76. [116] Bierbrauer J. Bounds on orthogonal arrays and resilient functions // Journal of Combinatorial Designs. 1995. V 3. P. 179—183. • [117] Bierbrauer J., Gopalakrishnan K., Stinson D. R. Bounds on Resilient Func- tions and Orthogonal Arrays. In Proceedings of Advances in Cryptology'.
438 Литература CRYPTO'94. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1994. V. 839. P. 247-256. [118] Bierbrauer J., Gopalakrishnan K., Stinson D. R. Orthogonal arrays, resilient functions, error correcting codes and linear programming bounds // SIAM J. Discr. Math. 1996. V. 9. P. 424-452. [119] Biham E., Biryukov A., Shamir A. Cryptanalysis of Skipjack Reduced to 31 Rounds Using Impossible Differentials //In Advances in Cryptology: EUROCRYPT'99. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1999. V. 1592. P. 12-23. [120] Biham E., Shamir A., Differential Cryptanalysis of DES-like Cryptosystems // Journal of Cryptology. 1991. V. 4. No. 1. P. 3—72. [121] Biryukov A., De Canniere C., Braeken A., Preneel B. A Toolbox for Cryptanalysis: Linear and Affine Equivalence Algorithms //In Advances in Cryptology: EURO CRY PT'2993. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2003. V. 2656. P. 33-50. [122] Biryukov A., De Canniere C., Quisquater M. On Multiple Linear Approximations, http://www.iacr.eprint-arhiv. 2004. [123] Blahut R. E. Theory and Practice of Error Control Codes. Addison-Wesley Publishing Company Inc., Reading, Massachusetts, Menlo Park, California, London, Amsterdam, Don Mills, Ontario, Sydney. 1984. (Русский перевод: Блейхут P. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986.) [124] Blahut R. Е. Fast Algorithms for Digital Signal Processing. Addison- Wesley Publishing Company Inc. 1985. (Русский перевод: Блейхут P. Быст- рые алгоритмы цифровой обработки сигналов. М.: Мир, 1989.) [125] Blaser W, Heinzmann Р. New Cruptographic Device with High Security Using Public Key Distribution // IEEE Student Papers. 1982. P. 145—153. [126] Bochmann D., Posthoff Ch. Bindre Dinamische Systeme. Berlin: Akademie- Verlag, 1981. (Русский перевод: Бохманн Д., Постхоф X. Двоичные дина- мические системы. Перевод с немецкого Гаазе-Рапопорта М. Г. под ред. Кузнецова О. П. М.: Энергоатомиздат, 1986.) [127] Brouwer А. Е., Tolhuizen L. М. G.M. A Sharpening of the Johnson Bound for Binary Linear Codes // Design, Codes and Cryptography. 1993. V. 3. No. 1. P. 95-98. [128] Brualdi R. A., Cai N., Pless V. S. Orphan Structure of the First-Order Reed— Miiller codes // Discrete Mathematics. 1992. V. 102.P. 239—247. [129] Calderbank A. R., McGuire G., Poonen B., Rubinstein M. On a Conjecture of Helleseth Regarding Pairs of Binary m-sequences // IEEE Trans, on Inform. Theory. 1996. V. 42. P. 988-990. [130] Camion P, Carlet C., Charpin P, Sendrier N. On Correlation Immune Func- tions // In Proceedings of Advances in Cryptology: CRYPTO'9\. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1992. V. 576. P. 86—100.
Литература 439 [131] Camion Р., Canteaut A. Construction of /Dash resilient functions over a finite alphabet // Advanced in Cryptology, Eurocrypt'QQ. Leet. Notes in Comp. Sci. 1996. V. 1070. P. 283-293. [132] Camion P, Canteaut A. Generalization of Siegenthaler Inequality and Schorr—Vaudenay Multipermutations // Advanced in Cryptology, CRYPTOL. Leet. Notes in Comp. Sci. 1996. V. 1109. P. 372-386. [133] Camion P, Canteaut A. Correlation Immune and Resilient Functions Over a Finite Alphabet and Their Applications in Cryptography // Designs Codes and Cryptography. V. 16. No. 2. P. 121 — 149. 1999. [134] Canteaut A., Filiol E. Ciphertext Only Reconstructing ofStream Ciphers Based on Combination Generators // Fast Software EncruptionQWQ. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2001. V. 1978. P. 165—180. [135] Canteaut A., Carlet C., Charpin P, Fontaine C. Propagation Characteristics and Correlation Immunity of Highly Nonlinear Boolean Functions // In Proceedings of Advances in Cryptology’. EUROCRYPT'W. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2000. V. 1807. P. 507—522. [136] Canteaut A., Trabbia M. Improved Fast Correlation Attacks Using Parity- Check of Weight 4 and 5 // In Proceedings of Advances in Cryptology. EUROCRYPT'W. Leet. Notes in Comp. New York: Springer-Veriag, 2000. Sci. V. 1807. P. 573-588. [137] Canteaut A., Carlet C., Charpin P, Fontaine C. On Cryptographic Properties of the Cosets of RM(1, ni) // IEEE Trans, on Inform. Theory. 2001. V. 47. No. 4. P. 1494-1513. [138] Canteaut A., Charpin P, Dobbertin H. Binary /л-sequences with Three- Valued Cross-Correlation: A Proof of Welch’s Conjecture // IEEE Trans, on Inform. Theory. 2000. V. 46. No. 1. P. 4—8. [139] Canteaut A., Charpin P, Dobbertin H. Couples de suites binaires de longueur maximale ayant une correlation croisee a trois valeurs: Conjecture de Welch // Ser. I Math. Paris: C. R. Acad. Sci.,1999. V. 328. P. 173-178. [140] Canteaut A., Charpin P, Dobbertin H. Weight Divisibility of Cycle Codes, Highly Nonlinear Functions on F2*, and Crosscorrelation of Maximum Length Sequences // SIAM Journal of Discrete Mathematics. 2000. V. 13. No. 1. P. 105-138. [141] Canteaut A., Daum M., Dobbertin H., Leander G. Normal and Non Normal Bent Functions // Proceedings of International Workshop on Coding and Cryptography. March, 24—28. Versalles (France), 2003. P. 91 — 100. [142] Carlet C. A transformation on Boolean Functions, its Consequences on some Problems Related to Reed—Mtiller Codes // EUROCODES'W. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 514. P. 42—50. [143] Carlet C. The Automorphism Groups of the Kerdock Codes // Journal of Information & Optimization Sciences. 1991. V. 12. No. 3. P. 387—400.
440 Литература [144] Carlet С. Partially-bent functions // In Advanced in Cryptology. CRYPTO'92. Leet. Notes in Comp. Sci.. Springer-Verlag, 1992. V. 740. P. 280-291. [145] Carlet C. Partially-bent functions // Designs Codes and Cryptography. 1993. V. 3. P. 135-145. [146] Carlet C. Two new classes of bent functions. In Proceedings of Advances in Cryptology'. EUROCRYPT'93. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1994. V. 765. P. 77-101. [147] Carlet C. Generalized Partial Spreads // IEEE Trans, on Inform. Theory. 1995. V. 41. No. 5. P. 1482-1487. [148] Carlet C. A constraction of bent functions // Seventh Joint Swedish- Russian International Workshop on Information Theory. St.-Petersburg, Russia. 1995. P. 57—59. [149] Carlet C., Guillot Ph. A characterization of binary bent functions // Journal of Combinatorial Theory, Series A. 1996. V. 76. No. 2. P. 328—335. [150] Carlet C., Guillot Ph. An alternate characterization of the bentness of binary functions, with uniqueness // Designs, Codes and Cryptography. 1998. V. 14. No. 2. P. 33-140. [151] Carlet C., Charpin P, Zinoviev V. Codes, bent functions and permutations suitable for DES-like cryptosystems // Designs, Codes and Cryptography. 1998. V. 15. No. 15. P. 125-156. [152] Carlet C. Hyper-bent functions // P RAG О CRYPTO. Praga: CTV, GC UCMP. 1996. P. 145-155. [153] Carlet C., Seberry J., Zhang X.M. Comments on «Generating and counting binary bent sequences» // IEEE Trans, on Inform. Theory. 1994. V. 40. No. 2. P. 600. [154] Carlet C. More Correlation-Immune and Resilient Functions over Galois Fields and Galois Rings // In Proceedings of Advances in Cryptology: EUROCRYPT'97. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1997. V. 1233. P. 422-433. [155] Carlet C. On the Propagation Criterion of Degree I and Order k // In Proceedings of Advances in Cryptology: EUROCRYPT'№>. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1998. V. 1403. P. 462—474. [156] Carlet C. On the Coset Weight Divisibility and Nonlinearity of Resilient and Correlation Immune Functions // Sequences and Their Applications: SETA'ZWX, Discrete Mathematics and Theoretical Computer Science. New York: Springer-Verlag, 2001. P. 131 — 144. [157] Carlet C., Sarcar P. Spectral Domain Analysis of Correlation Immune and Resilient Boolean Functions // Finite Fields and Its Applications. 2002. V. 8. No. 1. P. 120-130. [158] Carlet C. A Large Class of Cryptographic Boolean Functions via a Study of the Maiorana—McFarland Constructions // In Proceedings of Advances in
Литература 441 Cryptology. CRYPTO’02. Leet. Notes in Comp. Sci. New York: Springer- Verlag, 2002. V. 2442. P. 549-564. [159] Carlet C., Prouff E. On plateaued functions and their constractions // Fast Software Encryption. 2003. [160] Carlet C., Tarannikov Yu. Covering sequences of Boolean functions and their cryptographic significance // Designs, Codes and Cryptography. 2002. V. 25. P. 263-279. [161] Carlet C., Klapper A. Upper Bounds on the Numbers of Resilient Functions and of Bent Functions. [162] Carroll J.M., Robbins L. E. Using binary derivaties to test an enhancement of DES // Cryptologia. 1988. V. 12. P. 193-208. [163] Cassels J.W.S Rational Quadratic Forms. London, New York, San Francisko: Academic Press, 1978. (Русский перевод: Касселе Дж. Раци- ональные квадратичные формы. М.: Мир, 1982). [164] Chabaud Е, Vaudenay S. Links between Differential and Linear Cryptanalysis // In Proceedings of Advances in Cryptology. EUROCRYPT'94. Leet. Notes in Comp. Sci. New York: Springer- Verlag, 1995. V. 950. P. 356-365. [165] Chaum D., Evertse J.-H. Cryptanalysis of DES with a Reduced Number of Rounds; Sequences of Linear Factors in Block Ciphers // In Proceedings of Advances in Cryptology'. CRYPTO'85. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1986. V. 218. P. 192-211. [166] Chee S., Lee S., Kim K., Semi-Bent Functions //In Proceedings of Advances in Cryptology: ASIACRYPT'94. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1995. V. 914. P. 107-118. [167] Chee S., Lee S., Lee D., Sung S.H. On the Correlation Immune Func- tions and Their Nonlinearity // In Proceedings of Advances in Cryptology: AS 1 AC RY PF Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1996. V. 1163. P. 232-243. [168] Cheon J. H., Chee S. Elliptic Curves and Resilient Functions. /C/SC’2000. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2000. V. 2015. P. 64-72. [169] Cheon J.H. Nonlinear Vector Resilient Functions // In Proceedings of Advances in Cryptology: CRYPTO'20Q\. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2001. V. 2139. P. 458-479. [170] Chepyzhov V, Smeets B. On a Fast Correlation Attacks on Certain Stream Ciphers //In Proceedings of Advances in Cryptology: EUROCRYPTA9Q1. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 547. P. 176-185. [171] Chepyzhov V., Johansson T., Smeets B. A Simple Algorithm for Fast Correlation Attacks on Stream Ciphers // Fast Software Encryption 2QMY
442 Литература Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2000. V. 1978. P. 181-195. [172] Chor B., Goldreich O., Hastad J., Friedman J., Rudich S., Smolensky R. The Bit Extraction Problem or /-Resilient Functions // 26-//z Symposium on Foundations of Computer Science. 1985. P. 396—407. [173] Chose P, Joux A., Mitton M. Fast Correlation Attacks: an Algorithmic Point of View //In Proceedings of Advances in Cryptology'. EURO CRYPT2002. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2002. V. 2332. P. 209-221. [174] Chung H., Kumar P. V. A New General Construction for Generalized Bent Function // IEEE Trans, on Inform. Theory. 1989. V. 35. No. 1. P. 206—209. [175] Clark J., Jacob J., Millan W., Maitra S // Evolution of Boolean Functions Satisfying Multiple Criteria with Simulated Annealing. Preprint. 2002. [176] Cohen G., Honkala L, Lobstein A., Litsyn S // Covering codes. Elsevier, 1998. [177] Cohen G. D., Karpovsky M. G., Mattson H.F., Schatz J. Covering radius — survey and recent results // IEEE Trans, on Inform. Theory. 1985. IT-31. No. 3. P. 328-343. [178] Coppersmith D. The data encryption standard (DES) and its strength against attacks, Technical Report RC 18613 (81421), IBM Research Division, December 1992. [179] Cramer H. Mathematical Methods of Statistics. Princeton University Press, 1946. (Русский перевод: Крамер Г. Математические методы статистики. М.: Мир, 1975.) [180] Curtis C.W., Reiner I. Representation theory of Finite Groups and Associative Algebras. New York, London: Interscience Publishers a division of John Wiley & Sons, 1962. (Русский перевод: Кэртис Ч., Райнер И. Теория представлений конечных групп и ассоциативных алгебр. М.: Наука, 1969.) [181] Cusick Th. W. Boolean functions satisfying a higher order strict avalanche criterion // In Proceedings of Advances in Cryptology'. EUROCRYPTQ3. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1988. V. 765. P. 102-117. [182] Cusick Th. W., Dobbertin H. Some New 3-valued Crosscorrelation Functions of Binary ra-sequences // IEEE Trans, on Inform. Theory. 1996. V. 42. No. 4. P. 1238-1240. [183] Cusick Th.W. On constructing balanced correlation immune functions // Sequences and Their Applications, Proceedings of SETA'QS. Springer Discrete Mathematics and Theoretical Computer Science, 1999. P. 184—190. [184] Daum M., Dobbertin H., Leander G. An Algorithm for Checking Normality of Boolean Functions // Proceedings of International Workshop on Coding and Cryptography. March, 24—28. Versalles (France), 2003. P. 133—142.
Литература 443 [185] Dawson М. Н., Tavares S.E. An expanded set of S-box design criteria based on information theory and its relation to differential-like attacks // In Proceedings of Advances in Cryptology'. EUROCRYPT'^i. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 547. P. 352—367. [186] Delsarte Ph., Goethals J.M., MacWilliams F.J. On Generalaized Reed— МйПег Codes and Their Relatives // Information and Control. 1970. V. 16. P. 403-442. [187] Delsarte Ph. An algebraic approach to the association schemes of coding theory. Philips Research Reports Supplements, 1973. V. 10. (Русский пе- ревод: Дельсарт Ф. Алгебраический подход к схемам отношений теории кодирования. М.: Мир, 1976.) [188] Delsarte Ph. Four fundamental parameters of a code and their combinatorial significance // Information and Control. 1973. V. 23. No. 5. P. 407—438. (Русский перевод: Дельсарт Ф. Четыре основных параметра кода и их комбинаторное значение. Кибернетический сборник. Новая серия. М.: Мир, 1977. Вып. 14. С. 46-77.) [189] Dickson L. Е. Linear Groups. Leipzig: В. G. Teubner, 1901. [190] Dieudonne J. La Geometre des Groupes classiques. Springer-Verlag, 1971. (Русский перевод: Дьёдонне Ж. Геометрия классических групп. М.: Мир, 1974.) [191] Dillon J.F. A survey of bent functions // The NSA Technical Journal (unclassified). 1972. P. 191—215. [192] Dillon J.F. Elementary Hadamard Difference sets. Ph.D. Thesis, Univer- sity of Maryland. 1974. [193] Ding C., Xiao G., Shan W. The Stability Theory of Stream Ciphers // Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 561. [194] Dobbertin H. One-to-One Highly Nonlinear Power Functions on Finite Field with Characteristic 2 // Appl. Algebra Engr. Comm. Comp. 1998. V. 9. P. 139-152. [195] Dobbertin H. Almost Perfect Nonlinear Power Functions on GF(2n). Preprint. [196] Dobbertin H. Another Proof of KasamCs Theorem, preprint. [197] Dobbertin H. Constraction of Bent Functions and Balanced Boolean Functions with High Nonlinearity // Fast Software Encryption — Second International Workshop. Leuven (1994). Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1995. V. 1008. P. 61-74. [198] Dobbertin H. One-to-One Highly Nonlinear Functions on Finite Field with Characteristic 2 // Appl. Algebra Engrg. Comm. Comp. 1998. V 9. P. 139-152. [199] Dobbertin H. Almost Perfect Nonlinear Power Functions on GF(2n): The Niho case // Inform, and Comp. 1999. V. 151. P. 57—72.
444 Литература [200] Dobbertin Н. Almost Perfect Nonlinear Power Functions on GF(2n): The Welch case // IEEE Trans. Inform. Theory. 1999. V. 45. P. 1271-1275. [201] Evertse J.-H. Linear Structures in Blockciphers // In Proceedings of Advances in Cryptology'. EUROCRYPT'87. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1988. V. 304. P. 249-266. [202] Falkowski B.J. A Note on the Polynomial Form of Boolean Functions and Related Topics // IEEE Trans, on Computers. 1999. V. 48. No. 8. P. 860-864. [203] Fedorova M., Tarannikov Y. V. On the Constructing of Highly Nonlinear Resilient Boolean functions by Means of Special Matrices // Progress in Cryptology'. INDOCRYPT'2001. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2001. V. 2247. P. 254-266. [204] Feinstein A // Foundations of Information Theory. New York—Toronto- London: McGraw-Hill Book Company, Inc. 1958. (Русский перевод: Файн- стейн А. Основы теории информации. М.: ИЛ, 1960.) [205] Feller W // An Introduction to Probability Theory and its Appications. Third edition. John Wiley & Sons, 1968. (Русский перевод: Феллер В. Вве- дение в теорию вероятностей и её приложения. В 2-х томах. Том 1. Перевод с пересмотренного третьего английского издания Ю. В. Про- хорова с предисловием А. Н. Колмогорова. Том 2. Перевод со второго английского издания Ю. В. Прохорова. М.: Мир, 1984.) [206] Filiol Е., Fontaine С. Highly Nonlinear Balanced Boolean Functions with a Good Correlation-Immunity // In Proceedings of Advances in Cryptology'. EUROCRYPT'§8. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1998. V. 1403. P. 475-488. [207] Fontaine C. On Some Cosets of the First-Order Reed—МйПег Code with High Minimum Weight // IEEE Trans, on Inform. Theory. 1999. V. 45. No. 4. P. 1237-1243. [208] Forre R. The Strict Avelanche Criterion: Spectral Properties of Boolean Functions and an Extended Definition //In Proceedings of Advances in Cryptology'. CRYPTO'88. Leet. Notes in Comp. Sci. New York: Springer- Verlag, 1989. V. 403. P. 450-468. [209] Forre R. A Fast Correlation Attack on Nonlinearly Feed Forward Filter Shift-Register Sequences // In Proceedings of Advances in Cryptology. EUROCRYPT'8§. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1990. V. 434. P. 586-595. [210] Forre R. Methods and instruments for designing S-boxes // Journal of Crytology. 1990. V. 3. No. 2. P. 115-130. [211] Friedman J. On the Bit Extraction Problem // 33-rd IEEE Symposium on Foundations of Computer Science. 1982. P. 314—319. [212] Gallager R.G. Low-density parity-check codes. MIT Press, Cambridge, MA. 1963.
Литература 445 [213] Gallager R. G. Information Theory and Reliable Communication. New York, London, Sydney, Toronto: John Wiley & Sons, Inc. 1968. (Русский пе- ревод: Галлагер P. Теория информации и надёжная связь. М: Советское радио, 1974.) [214] Gill A. Introduction to the Theory of Finite-State Machines. New York, SanFrancisco, Toronto, London: McGraw-Hill Book Company, Inc. 1962. [215] Goethals J. M., Snover S. L. Nearly Perfect Codes // Discrete Mathematics. 1972. V. 3. P. 64-88. [216] Goethals J.M., Van Tilborg. Uniformly Packed Codes // Philips Res. Reports. 1975. V. 30. P. 9-36. [217] Gold R. Optimal binary sequences for spread-spectrum multiplexing. IEEE Trans, on Inform. Theory. 1967. V. 13. No. 4. P. 619—621. [218] Gold R. Maximal recursive sequences with 3-valued recursive crosscorrelation functions // IEEE Trans, on Inform. Theory, 1968. V. 14. P. 154-156. [219] Golic J.Dj. On Security of Nonlinear Filter Generators // Fast Software Encryption — Cambrige'96 Leet. Notes in Comp. Sci. New York: Springer- Verlag, 1996. V. 1039. P. 173-188. [220] Golic J.Dj. Fast Low Order Approximation of Cryptographic Functions // In Proceedings of Advances in Cryptology'. EUROCRYPVQ&. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1996. V. 1070. P. 268—282. [221] Golomb S. W. On classification of Boolean functions // IRE Trans, on circuit theory. 1959. V. 6. P. 176-186. [222] Golomb S.W. Theory of transformation groups of polynomials over GF(2) with applications to linear shift register sequences // Inform. Sci. 1968. V. 1. P. 209-232. [223] Gong G., Golomb S.W. Transform domain analysis of DES // IEEE Trans, on Inform. Theory. 1999. IT-45. No. 6. P. 2065—2073. [224] Gong G. Sequence Analysis. University of Waterloo, Canada, http://www.cacr.math.uwaterloo [225] Gopalakrisnan K., Hoffman D.G., Stinson D. R. A Note on a Conjecture Concerning Symmetric Resilient Functions // Information Processing Letters. 1993. V. 47. No. 3. P. 139-143. [226] Gopalakrisnan K., A Study of Correlation-Immune, Resilient and Related Cryptographic Functions. Ph.D. thesis, University of Nebraska. 1994. [227] Gordon J., Retkin H. Are big S-boxes best? // In Proceedings of Advances in Cryptology. EUROCRYPT'&l. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1983. V. 658. P. 257-262. [228] Green R. R. A Serial Orthogonal Decoder // J PL Space Programms Summary. V. 37-39-1V. P. 247-253. 1966. [229] Green R.R. Analysis of a Serial Orthogonal Decoder // JPL Space Programms Summary, 1968. V. 37—53—III, P. 185—187.
446 Литература [230] Guo-Zhen X., Massey J. A Spectral Characterization of Correlation Immune Combining Functions // IEEE Trans, on Inform. Theory. 1988. V. 34. No. 3. P. 569-571. [231] Hall M. The Theory of Groups. The MacMillan Company. 1959. [232] Hall M., Jr. Combinatorial Theory. Blaisdell Publishing Company, Waltham (Massachusetts)—Toronto—London. 1967. (Русский перевод: Холл M. Ком- бинаторика. М.: Мир, 1970.) [233] Handbook on Coding Theory. V. I, II, Eds. Pless V. S., Huffman W. C. Amsterdam—New York—Oxford—Tokyo: Elsevier, 1998. [234] Harpes C., Kramer G., Massey J. L. A Generalization of Linear Cryptanalysis and the Applicability of Matsui’s Piling-up Lemma //In Proceedings of Advances in Cryptology. EUROCRYPT'§§. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1995. V. 921. P. 24-38. [235] Harpes C., Massey J. L., Partitioning Cryptanalysis // Proceedings of Fast Software Encryption Workshop'#!, P. 13—27. [236] Harrison M. A. Counting Theorems and Their Applications to Classification of Sfitching Functions //In Recent Developmenp in Switching Theory. New York, 1971. [237] Heleseth T. Some Results about the Cross-Correlation Function between Two Maximal Linear Sequences // Discrete Math. 1976. V. 16. P. 209—232. [238] Heleseth T., Klove T, Mykkeltveit. On Covering Radius of Binary Codes. IEEE Trans, on Inform. Theory. 1978. IT-24. No. 5. P. 627—628. [239] Heleseth T., Rong Ch., Sandberg D. New Families of Almost Perfect Nonlinear Power Mappings // IEEE Trans, on Inform. Theory. 1999. IT-45. No. 2. P. 475-485. [240] Heleseth T, Kumar P. V. Sequences with Low Correlation. // In: Handbook of Coding Theory. [241] HoIImann H., Xiang Q., A Proof of the Welch and Niho Conjectures on Crosscorrelations of Binary m-sequences. Preprint. 1998. [242] Huffman D. A. Canonical Forms for Information-Lossless Finite State Logical Machines // IRE Trans. Circuit Theory. Spec. Suppl. 1959. V. 6. P. 41-59. [243] Janwa H., McGuire G., Wilson R.M. Double-Error-Correcting Codes and Absolutely Irreducible Polynomials over GF(2) // Journal of Algebra. 1995. V. 178. P. 665-676. [244] Janwa H., Wilson R.M. Hyperplane sections of Fermat varieties in P3 in char 2 and some applications to cyclic codes //In Proceedings Applied Algebra, Algebraic Algorithms and Error-Correcting Codes, AAECC-X# Leet. Notes in Comp. Sci. Berlin: Springer-Verlag, 1993. V. 673. P. 180—194. [245] Jiang S., Gong G. Cryptanalysis of Stream Ciphers — A Survey. http: //calliope. Waterloo. ca/szmggong. 2002.
Литература 447 [246] Johansson Т., Jonsson Е Improved Fast Correlation Attacks on Stream Ciphers via Convolutional Codes // In Proceedings of Advances in Cryptology’. EUROCRYPT'№, Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1999. V. 1592. P. 347-362. [247] Johansson T., Jonsson F. Fast Correlation Attacks Basedon Turbo CodeTechiques // In Proceedings of Advances in Cryptology’. CRYPTO'99, Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1999. V. 1666. P. 181-197. [248] Johansson T., Jonsson F. Fast Correlation Attacks through Reconstruction of Linear Polynomials //In Proceedings of Advances in Cryptology’. CRYPTO'00 Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2000. V. 1880. P. 300-315. [249] Johansson T., Jonsson F. Theoretical Analysis of a Correlation Attack Based on Convolutional Codes // IEEE Trans, on Inform. Theory 2002. V. 48. No. 8. P. 2173-2181. [250] Johansson T, Pasalic E. A Constraction of Resilient Functions with High Nonlinearity // IEEE International Symposium on Information Theory’. ISIT'2000. http: //www. eprint. iacr. org No. 2000/053. [251] Junod P. On the complexity of of Matsui’s attack // In Proceedings of Selected Areas in Cryptography, SAC’2001. (Vadenay S., Youssef A. M. eds.). Leet. Notes in Comp. Sci. Springer-Verlag, 2001. V. 2259. P. 199—211. [252] Junod P. On the optimality of linear, differential, and sequential distinguishes // In Proceedings of Advances in Cryptology, EUROCRYPT'2003. (Biham E. ed.), Leet. Notes in Comp. Sci. 2003. V. 2656. P. 17-32. [253] Kaliski B. S., Robshaw M.J. B. Linear cryptanalysis using multiple approximations // In Proceedings of Advances of Cryptology — CRYPTO'94, (Desmedt Y. ed.), Leet. Notes in Comp. Sci. Springer-Verlag, 1994. V. 950. P. 26-39. [254] Kasami T., Lin S., Peterson W. W. New Generalizations of Reed—Miiller Codes. Part I: Primitive Codes // IEEE Trans, on Inform. Theory. 1968. IT-14. No. 2. P. 189-199. [255] Kasami T, Lin S., Peterson W. W. Polynomial Codes // IEEE Trans, on Inform. Theory. 1968. IT-14. No. 6. P. 807-814. [256] Kasami T. Weight Distributions of Bose—Chaudhuri—Hocquenghem Codes // In Proceedings of the Conference on Combinatorial Mathe- matics and Its Applications. Univ, of North Carolina Press, Chapel Hill, NC., 1969. P. 335-357. [257] Kasami T. Weight Distributions of Bose—Chaudhuri—Hocquenghem Codes /I In: Combinatorial Math. Applications (Bose R.C., Dowlings T. A., eds.) Univ, of North Carolina Press, Chapel Hill, NC., 1969. Ch. 9.
448 Литература [258] Kasami Т. The Weight Enumerators for Several Classes of Subcodes of the 2-nd Order binary Reed—Milller Codes // Information and Control. 1971. V. 18. P. 369-394. [259] Kasami T, Tokura N. On the Weight Structure of Reed—МйПег Codes. IEEE Trans, on Inform. Theory. 1970. IT-16. No. 6. P. 752—825. [260] Kim K. A study on the construction and analysis of substitution boxes for symmetric cryptosystems'. Dissert. ... Doct. Ph., Yokohama National Univeristy. Division of Electrical and Computer Engineering. 1990. [261] Kim K., Matsumoto T, Imai H. On generating cryptographically desirable substitutions // Transactions of the IEICE, E. 1990. V. 73. No. 7. P. 1031-1035. [262] Knudsen L. Truncated and Higher Order Differentials // In Proceedings of Fast Software Encryption. Second International Workshop. Leet. Notes in Comp. Sci. Springer-Verlag, 1994. V. 1008. P. 196—211. [263] Knudsen L. R., Robshaw M. J. B. Non-Linear Approximation in Linear Cryptanalysis // In Proceedings of Advances of Cryptology — EUROCRYPT'88, (Maurer U. ed.), Leet. Notes in Comp. Sci. Springer- Verlag, 1996. V. 1070. P. 224-236. [264] Knudsen L. R., Mathiassen J. E. A chosen-plaintext linear attack on DES // In Proceedings of Fast Software Encryption — FSE’2000, (Schneier B. ed.), Leet. Notes in Comp. Sci. Springer-Verlag, 2001. V. 1978. P. 262—272. [265] Kholosha A., van Tilborg H. C. A. Tensor Transform of Boolean Functions and Related Agebraic and Probabilistic Properties, http://www.iacr.org/e- arhiv/2002/ [266] Kumar P. V, Scholts R.A., Welch L. R. Generalized bent functions and their properties // Journal of Combinatorial Theory. Series A. 1985. V. 40. No. 1. P. 90-107. [267] Kurosawa K., Satoh T. Generalization of higher order SAC to vector output Boolean Functions // In Proceedings of Advances in Cryptology’. ASIACRYPT'Qb. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1996. V. 1163. P. 218-231. [268] Kurosawa K., Satoh T. Design of SAC/PC(/) of Oder k Boolean Func- tions and Three other Cryptographic Criteria //In Proceedings of Advances in Cryptology: EUROCRYPT'87. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1998. V. 1233. P. 434-449. [269] Kurosawa K-, Satoh T., Yamamoto K. Highly Nonlinear /-Resilient Func- tions // Journal of Universal Computer Science. 1997. V. 3. No. 6. P. 721-729. [270] Kurosawa K., Iwata T, Yoshiwara T. New covering radius of Reed—Muller codes for / -resilient functions // SAC’2001. Leet. Notes in Comp. Springer- Verlag, 2001. Sci. № 2259, P. 75-86.
Литература 449 [271] Kurosawa К., Johansson Т., Stinson D. Almost &-wise Independent Sample Spaces and Their Cryptgraphic Applications // Journal of Cruptology, 2001. V. 14. No. 4. P. 231-253. [272] Kuzmin A. S., Kurakin V. L., Mikhalev A. V., Nechaev A. A. Linear recurring sequences over rings and modules. (Contemporary Math, and its Appl. Thematic surveys. 1994. V. 10. Algebra 2. Moscow) // J. of Math. Sciences. 1995. V. 76. No. 6, P. 2793-2915. [273] Lachaud G., Wolfmann J. The Weights of the Ortogonal of the Extended Quadratic Binary Goppa Codes // IEEE Trans, on Inform. Theory. 1990. V. 36. P. 686-692. [274] Lai X., Massey J., Murphy S. Markov Ciphers and Differential Cryptanalysis, in In Proceedings of Advances in Cryptology — EUROCRYPT'Q\. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 547. P. 17—38. [275] Lai X. Higher Order Derivatives and Differential Cryptanalysis // Communications and Cryptography. Kluwer Academic Publishers, 1994. P. 227-233. [276] Lai X. Additive and Linear Structures of Cryptographic Functions // Fast Software Encryption, Second International Workshop. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1995. V. 1008. P. 75—85. [277] Lang S // Algebra. Addison-Wesley Publishing Company, Reading, Mass. 1965. (Русский перевод: Ленг С. Алгебра. Перевод с английского Е. С. Го- лода под ред. А. И. Кострикина, М.: Мир, 1968.) [278] Lechner R.J. A Transform Approach to Logic Design // IEEE Trans, on Computers. 1970. C-19, No. 10. P. 627-640. [279] Lee S., Chee S., Park Sa., Park Su. Conditional Correlation Attack on Nonlinear Filter Generators, in In Proceedings of Advances in Cryptology-ASIACRYPVSb. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1996. V. 1163. P. 360-367. [280] van Leekwijck W, van Linden L. Crytografische eigenschappen van Boolean functies. Thesis grad. ESAT Katholieke Universiteit Leuven. 1990. [281] Lehmann E. L. Testing Statistical Hypotheses. John Wiley, 1959. (Русский перевод: Леман Э. Проверка статистических гипотез. М.: Наука, 1979.) [282] Levenshtein V. Split orthogonal arrays and maximum independent resilient systems of functions // Designs, Codes and Cryptography. 1997. V. 12. P. 131-160. [283] Lidl R., Niederreiter H. Finite Fields. Addison-Wesley Publishing Company, Reading, Massachusetts, 1983. (Русский перевод: Лидл P, Нидеррайтер Г., Конечные поля. Перевод с английского А. Е. Жукова и В. И. Петрова под ред. В. И. Нечаева, Т. 1, 2, М.: Мир, 1988.) • [284] Liu М., Lu Р, Miillen G.L. Correlation-Immune Functions over Finite Fields // IEEE Trans, on Inform. Theory. 1998. V. 44. No. 3 P. 1273-1278.
450 Литература [285] Lloyd S.A. Balance, uncorrelatedness and the Strict Avalanche Criterion. Techical Report of Hewlett-Packard Research Laboratories, Bristol, 1989. HPL-ISC-TM-89-012. [286] Lloyd S. A. Characterising and counting functions satisfying Strict Avalanche Criterion of order (n — 3) // 2-nd IMA Conference on Cryptography and Coding. 1989. [287] Lloyd S.A. Counting functions satisfying a higher order strict avalanche criterion // In Proceedings of Advances in Cryptology'. EUROCRYPT'№. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1990. V. 434. P. 63—74. [288] Lloyd S. Properties of Binary Functions //In Proceedings of Advances in Cryptology'. EUROCRYPT'W. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 473. P. 124-139. [289] Lloyd S. A. Counting binary functions with certain cryptographic properties // Journal of Cryptology. 1992. V. 5. No. 2. P. 107—131. [290] Lempel A., Cohn M. Maximal Families of Bent Sequences // IEEE Trans, on Inform. Theory. 1982. V. 28. No. 6. P. 865—868. [291] MacWilliams F. J., Sloane N.J. A., The Theory of Error-Correcting Codes. Amsterdam, New York, Oxford: North-Holland Publishing Company, 1977. (Русский перевод: Мак-Вильямс Ф.Дж., Слоэн Н.Дж. А. Теория кодов, исправляющих ошибки. М.: Связь, 1979.) [292] Maitra S., Sarkar Р. Enumeration of Correlation Immune Boolean Func- tions // 4-th Australasian Conference on Information, Security and Privacy. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1999. V. 1587. P. 12-15. [293] Maitra S., Sarkar P. Highly Nonlinear Resilient Functions Optimizing Siegenthaler’s Inequality // In Proceedings of Advances in Cryptology'. CRYPTO'99. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1999. V. 1666. P. 198-215. [294] Maitra S., Sarkar P. Hamming Weights of Correlation Immune Boolean Functions // Information Processing Letters. 1999. V. 71. No. 3—4. P. 149-153. [295] Maitra S // Correlation Immune Boolean Functions with Very High Non- linearity. http: //www. eprint. iacr. org No. 2000/054. [296] Maitra S. Autocorrelation Properties of Correlation Immune Boolean Func- tions // In Proceedings of Progress in Cryptology'. INDOCRYPT'2001. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2001. V. 2247. P. 242-253. [297] Maitra S // Boolean Functions with Important Cryptographic Properties'. Dissert. ... Doct. Ph., Indian Statistical Institute. 2001. [298] Maitra S., Sarkar P. Cryptographically Significant Boolean Functions with Five Valued Walsh Spectra // Theoretical Computer Science. 2002. V 276. No. 1-2. P. 133-146. hi ,L....... i ' ... .i Л । .'.fc. rfl . ... .. • . i« /., .
Литература 451 [299] Maitra S., Pasalic E. Further Construction of Resilient Boolean Functions with Very High Nonlinearity // IEEE Trans, on Inform. Theory. 2002. V. 48. No. 7. P. 1825-1834. [300] Marcus M., Mine H // A Survey of Matrix Theory and Matrix Inequalities. Boston: Allyn and Bacon, Inc. 1964. (Русский перевод: Мар- кус M., Минк X. Обзор по теории матриц и матричных неравенств. Перевод с английского под ред. В. Б. Лидского, М.: Наука, 1972.) [301] Marshall A. W., Olkin I., Inequalities'. Theory of Majorization and Its Applications. Academic Press, New York—London—Toronto—Sydney—San- Francisco, 1979. (Русский перевод: Маршалл А., Олкин И. Неравенства: теория мажоризации и её приложения. М.: Мир, 1983). [302] Massey J. L. Threshold Decoding. MIT Press, Cambridge, Massachusetts. 1963. (Русский перевод: Месси Дж., Пороговое декодирование. М.: Мир, 1966). [303] Massey J. L. Shift-Register syntesis and BCH decoding // IEEE Trans, on Inform. Theory. 1969. IT-17. P. 464-466. [304] Matsufuji S., Imamura K. Real-Valued Bent Function and Its Application to the Design of Balanced Quadriphase Sequences with Optimal Correlation Properties // Applied Algebra, Algebraic Algorithms and Error- Correcting Codes. 8-th International Conference, AAECC-8, Tokyo, Japan, 1990, Leet. Notes in Comp. Sci. 508, Springer-Verlag, 1991. [305] Matsui M., Yamagishi A. A new method for known plaintext attack of FEAL cipher // In Proceedings of Advances in Cryptology — EUROCRYPT'QZ. Leet. Notes in Comp. Sci. Berlin: Springer-Verlag, 1992. V. 658. P. 1-91. [306] Matsui M. Linear cryptanalysis method for DES cipher //In Proceedings of Advances in Cryptology — EUROCRYPT'^3. Leet. Notes in Comp. Sci. Springer, 1994. V. 765. P. 386-397. [307] Matsui M. On Correaltion Between the Order of S-boxesand the Strength of DES. In Proceedings of Advances in Cryptology — EURO CRYPTO. Leet. Notes in Comp. Sci. Springer, 1994. V. 950. P. 366—375. [308] Matsui M. The First Experimental Cryptanalysis of the Data Encryption Standart // In Advances of Cryptology — CRYPTO" 3^. Leet. Notes in Comp.r Sci. Springer, 1995. V. 839. P. 1 — 11. [309] McEliece R.J. On Periodic Sequences from GF(q) // Journal on Combinatorial Theory, Ser. A, 1971. V. 10. P. 80—91. [310] McEliece R.J. Weight Congruences for p-агу Cyclic Codes // Discrete Math., 1972. V. 3. P. 177-192. [311] McEliece R.J. Finite Fields for Computer Scientists and Engineers. Kluwer Academic Publishers, 2001. [312] McFarland R. L. A Family of Difference Sets in Non-cyclic Groups // Journal of Combinatorial Theory (A). 1973. V. 15. No. 1. P. 1 — 10.
452 Литература [313] McGuire G., Calderbank A. Proof of Conjecture of Sarwate and Pursley Regarding Pairs of Binary m-sequences // IEEE Trans, on Information Theory. 1995. V. 41. No. 4. P. 1153-1155. [314] Meier W., Staffelbach O. Nonlinearity Criteria for Cryptographic Functions // In Proceedings of Advances in Cryptology: EUROCRYPT'№ Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1990. V. 434. P. 549—562. [315] Meier W., Staffelbach O. Fast Correlation Attacks on certain Stream Ciphers I/ Journal of Cryptology. 1989. V. 1. P. 159—176. [316] Menezes A., van Oorschot P, Vanstone S // Handbook of Applied Cryptography. CRC Press, 1996. [317] Mihaljevic M. J., Fossorier M. P. C., Imai H. A Low-Complexity and High- Performance Algorithm for the Fast Correlation Attack // In Proceedings of Fast Software Encryption'2000. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2001. V. 1978. P. 196-212. [318] Millan W., Clark A., Dawson E. Heuristic Design of Cryptographicaly Strong Balanced Boolean Functions //In Proceedings of Advances in Cryptology: EUROCRYPT’98 Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1998. V. 1403. P. 489-499. [319] Miranovich K. Spectral Analysis of Boolean Functions under Non-Uniformity of Arguments. [320] Mitchell C.J. Enumerating Boolean Functions of Cryptographic Significance // Journal of Crytology. 1990. V. 2. No. 3. P. 155—170. [321] Mo S.P., Sangjin L., Kwangjo K. Improving Bound for the Number of Correlation Immune Boolean Functions // Information Processing Letters. 1997. V. 61. No. 4. P. 209-212. [322] Muller D. E. Application of Boolean Algebra to Swithing Circuit Design and to Error Detection // IRE Transactions on Electronic Computers. EC- 1954. V. 3. P. 6-12. [323] Murphy S. The cryptanalysis of FEAL-4 with 20 chosen plaintexts I I Journal of Cryptology, 1990. V. 3. No. 2. P. 145-154. [324] Murphy S., Piper P, Walker M., Wild P. Likelihood estimation for block cipher keys. Technical report, Information Security Group, Royal Holloway, University of London. 1995. [325] Mykkeltveit J. J. The Covering Radius of the (128, 8) Reed—MOller Code is 56 // IEEE Trans, on Inform. Theory. 1983. IT-26. No. 3. P. 358—362. [326] Mulan L., Peizhong L., Mullen G. L. Correlation-Immune Functions over Finite Fields // IEEE Trans, on Inform. Theory. 1998. V. 44. No. 3. P. 1273-1278. [327] Naudin P, Quitte C. textitAlgoritmique Algebrique (Avec exercices corriges). Paris, Milan, Barcelone, Bonn: MASSON, 1992. (Русский перевод: Но- лей П., Китте К. Алгебраическая алогритмика (с упражнениями
Литература 453 и решениями). Перевод с французского В. А. Соколова под редакцией Л. С. Казарина, М.: Мир, 1999.) [328] Niho Y. Multi-Valued Cross-Correlation Functions between Two Maximal Linear Recursive Sequences. Ph.D. Thesis, USCEE Rep., 409. P. 1972. [329] Nyberg K. Constructions of Bent Functions and Difference Sets // In Proceedings of Advances in Cryptology: EUROCRYPT'90. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 473. P. 151 — 160. [330] Nyberg K. Perfect nonlinear S-boxes // In Proceedings of Advances in Cryptology: EUROCRYPT'9\. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 547. P. 378-386. [331] Nyberg K. On the Construction of Higly Nonlinear Permutations //In Proceedings of Advances in Cryptology: EURO CRYPT’ 92. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1993. V. 658. P. 92—98. [332] Nyberg K., Knudsen L. Provable Security Against Differential Ciyptanalysis // In Proceedings of Advances in Cryptology — CRYPTO’32. Leet. Notes in Comp. Sci., New York: Springer-Verlag, 1993. V. 740. P. 566-574. [333] Nyberg K. Differentially Uniform Mappings for Cryptography // In Proceedings of Advances in Cryptology: EUROCRYPT’93. Leet. Notes in Comp. Sci. New York: Springer-Verlag. V. 765. P. 55—64. [334] Nyberg K. New Bent Mappings Suitable for Fast Implementation // Fast Software Encryption. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1993. V. 809. P. 179-184. [335] Nyberg K. Linear Approximation of Block Ciphers // In Proceedings of Advances in Cryptology: EUROCRYPT’9b. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1994. V. 950. P. 439-444. [336] Nyberg K. S-boxes and Round Functions with Controlable Linearity and Differential Uniformity // Fast Software Encryption Second International Workshop. Leuven, Belgium, 1994. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1994. V. 1008. P. 111-130. [337] Nyberg K. S-Boxes and Round Functions with controllable Linearity and Differential Uniformity // Fast Software Encryption, Second International Workshop. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1995. V. 1008. P. 111-130. [338] O’Connor L. J. Enumeration Nondegenerate Permutations //In Proceedings of Advances in Cryptology: EUROCRYPT’9\. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1992. V. 547. P. 368-377. [339] O’Connor L. J. An Analysis of Product Ciphers based on the Properties of Boolean Functions. Ph. D. Dissertation, University of Waterloo, Waterloo, Ontario, Canada, 1992. 171 p. [340] Olsen J.D., Scholtz R.A., Welch L. R. Bent-Function Sequences. IEEE Trans, on Inform. Theory. 1982. V. 28. No. 6. P. 858—864.
454 Литература [341] Palit S., Roy К. Cryptanalysis of LFSR-Encryption Codes with Unknown Combining Function // In Proceedings of Advances in Cryptology: ASIACRYPT'99. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1999. V. 1716. P. 306-320. [342] Park S. M., Lee S., Sung S. H., Kim K. Improving Bounds for the Number of Correlation-Immune Boolean Functions // Information Processing Letters. 1997. V. 61. P. 209-212. [343] Pasalic E., Johansson T. Further Results on the Relation Between Non- linearity and Resiliency of Boolean Functions // IMA Conference on Cryptography and Coding. Leet. Notes in Comp. Sci. New York: Springer- Verlag, 1999. V. 1746. P. 35-44. [344] Pasalic E., Maitra S., Johansson T., Sarkar P. New Constructions of Resilient and Correlation Immune Boolean Functions Achieving Upper Bounds on Nonlinearity // Workshop on Coding and Cryptography: IFCC’2001. Paris, Electronic Notes in Discrete Mathematics, New York: Elsevier Science, 2001. V. 6. [345] Pasalic E., Maitra S. Linear Codes in Constructing Resilient Functions With High Nonlinearity // Selected Areas in Cryptography: SAC’2001. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2001. V. 2259. P. 60—74. [346] Pasalic E., Maitra S. A Majorana—MacFarland Type Construction for Resilient Boolean Functions on n Variables (n Even) with Nonlinear- ity > 2n“1 — -h 2я/2"2 // Proceedings of International Workshop on Coding and Cryptography. March, 24—28. Versalles (France), 2003. P. 365-374 [347] Patterson N.J., Wiedemann D. H. The Covering Radius of the (215, 16) Reed—Muller Code is at least 16276 // IEEE Trans, on Inform. Theory. 1983. IT-29. No. 3. P. 354-356. [348] Patterson N. J., Wiedemann D. H. Correction to — The Covering Radius of the (215, 16) Reed—МйПег Code is at least 16276 // IEEE Trans, on Inform. Theory. 1990. IT-36. No. 2. P. 443. [349] Peterson W.W., Weldon E.J., Jr // Error-Correcting Codes. MIT Press, Cambridge, Massachusetts, London, England, 1972. (Русский перевод: Пи- терсон У., Уэлдон Э. Коды, исправляющие ошибки. М.: Мир, 1976.) [350] Pieprzyk J. Р. Error Propagation Property and Application in Cryptography // Proc. I EE, Pt. E. 1989. V. 136. No. 4. P. 262-270. [351] Pieprzyk J.P. Nonlinearity of exponent permutations // In Proceedings of Advances in Cryptology: EUROCRYPT'№. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1990. V. 434. P. 80-92. [352] Pieprzyk J. P. On bent permutations. Techical Report: Department of Computer Science, The University of NewSouthWales, CS91/11. 1991. [353] Pieprzyk J. P, Finkelstein G. Towards effective nonlinear cryptosystem design // I EE Proceedings, part E: Computers and Digital Techniques.
Литература 455 November, 6. Department of Computer Science, University of New South Wales, Australian Defence Force Academy, Canberra, ACT 2600, Australia, 1988. V. 135. Series E. P. 325-335. [354] Pless V. Power Moment Identities on Weight Distributions in Error- Correcting Codes // Information and Control. 1963. V. 6. P. 147-152. [355] Preneel B., VanLeekwijck W, VanLinden L., Govaerts R., VanDewalle J. Propagation Characteristics of Boolean Functions //In Proceedings of Advances in Cryptology: EUROCRYPT'^O. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 473. P. 161 — 173. [356] Preneel B., Govaerts R., VanDewalle J. Boolean Functions Satisfying Higher Order Propagation Criteria // In Proceedings of Advances in Cryptology: EUROCRYPT'QX. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1991. V. 541. P. 141-152. [357] Preneel B. Analysis and Design of Cryptographic Hash Functions. Ph. D. thesis, Katholieke Universiteit Leuven, K. Merierlaan 94, 3001 Leuven, Belgium. 1993. [358] Preparata F. P. State-Logic Relations for Autonomous Sequential Networks // IEEE Trans. Electronic Computers. 1964. V. 13. No. 5. P. 542-548. [359] Preparata F. P. Convolutional Transformations of Binary Sequences: Boolean Functions and Their Resynchronizing Properties // IEEE Trans. Electron. Comp. 1966. V. 15. No. 6. P. 398-409. [360] Reed I.S. A Class Multiple-Error-Correcting Codes and the Decoding Scheme // IRE Trans, on Inform. Theory. 1954. IT-4. P. 38—49. (Рус- ский перевод: Рид И. С. Класс кодов с исправлением нескольких ошибок и схема декодирования // Кибернетический сборник. Вып. 1, М.: ИЛ, 1960. С. 189-205.) [361] Robshaw М. J. В. Stream Ciphers. RSA Laboratories, Technical Report TR- 701. 1995. [362] Rodier F. On the Nonlinearity of Boolean Functions // Proceedings of International Workshop on Coding and Cryptography. March, 24—28. Versalles (France), 2003. P. 397-405. [363] Rothaus O. S. On «Bent» Functions // Journal of Combinatorial Theory (A). 1976. V. 20. No. 3. P. 300-305. [364] Roy B. A brief outline of research on correlation immune functions // In Information security and privacy: 7-th Australasian conference, ACISP 2002. Melbourne, Australia, July 3—5, 2002. Proceedings. Leet. Notes in Comp. Sci. 2002. V. 2384. P. 379-394. [365] Rueppel R.A. Analysis and Design of Stream Ciphers. New York: Springer-Verlag, 1986. [366] Rueppel R.A. Stream Ciphers // In Contemporary Cryptography: the Science oflnformation Integrity. Ch. 2. IEEE Press, 1992. P. 65—134.
456 Литература [367] Sarkar Р. Maitra S. Construction of Nonlinear Boolean Functions with Important Cryptographic Properties //In Proceedings of Advances in Cryptology'. EUR0CRYPT'2£M). Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2000. V. 1807. P. 485-506. [368] Sarkar P. Maitra S. Nonlinearity Bounds and Constructions of Resilient Boolean Functions with Important Cryptographic Properties // In Proceedings of Advances in Cryptology'. CRYPTO'2000. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2000. V. 1880. P. 515—532. [369] Sarkar P. A Note on the Spectral Characterization of Correlation Immune Boolean Functions // Information Processing Letters. 2000. V. 74. No. 5—6. P 191-195. [370] Sarkar P, Maitra S. Balancedness and Correlation Immunity of Symmetric Boolean Functions. Preprint. 2000. [371] Sarkar P, Maitra S., Cross-Correlation Analysis of Cryptographically Useful Boolean Functions and S-boxes // Theory of Computing Systems. 2002. V 35. No. 1. P 39-57. [372] Sarwate D., Pursley M. Crosscorrelation Properties of Pseudorandom and Related Sequences // Proc. IEEE. 1980. V 68. P 593-619. [373] Savicky P. On the bent Boolean functions that are symmetric // European Journal of Combinatorics. 1994. V. 15. No. 4. P. 407—410. [374] Savicky P. Bent functions and random Boolean formulas // Discrete Math- ematics. 1995. V. 147. P. 1—3. [375] Schneeweiss W. G. On the Polynomial Form of Boolean Functions: Derivations and Applications // IEEE Trans, on Computers. 1998. V. 47. No. 2. P. 217-221. [376] Schneider M. Note on the Construction and Upper Bounds of Correlation- Immune Functions // 6-//z IMA Conference. 1997. P. 295—306. [377] Seberry J., Zhang X.-M., Zheng Y. Nonlinearly Balanced Boolean Func- tions and Their Propagation Characteristics // Advances in Cryptology'. CRYPTO'93. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1994. V. 773. P. 49-60. [378] Seberry J., Zhang X.-M., Zheng Y. On the Constructions and Nonlinear- ity of Correlation Immune Boolean Functions // Advances in Cryptology. EUROCRYPT'^3. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1994. V. 765. P. 181-199. [379] Seberry J., Zhang X.-M., Zheng Y. Relationships Among Nonlinearity Criteria // In Proceedings of Advances in Cryptology'. EUROCRYPT'94. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1995. V. 950. P. 376-388. [380] Seberry J., Zhang X.-M., Zheng Y. Improving the Strict Avalanche Characteristics of Cryptographic Functions // Information Processing Letters. 1994. V. 50. P. 37-41.
Литература 457 [381] Seberry J., Zhang X.-M., Zheng Y // Nonlinearity and propagation characteristics of balanced boolean functions.// Information and Computation. 1995. V. 119. P. 1 — 13. [382] Seberry J., Zhang X.-M., Zheng Y. The relationship Between Propagation Characteristics and Nonlinearity of Cryptographic Functions // Journal of Universal Computer Science. 1995. V. 1. No. 2. P. 136—150. [383] Seberry J., Zhang X.-M. Highly nonlinear 0—1 balanced Boolean func- tions satisfying strict avalanche criterion //In Proceedings of Advances in Cryptology’. AUSCRYPT'92. Leet. Notes in Comp. Sci. New York: Springer- Verlag, 1993. V. 718. P. 145-155. [384] Seljuk A. A. On probability of success in linear and differential cryptanalysis // In Proceedings of Security in Communication Networks’. Third International Conference. SCN 2002. Amalfi, Italy, September 11 — 13, 2002. (Cimato S., Galdi C., Persiano G. eds.), Leet. Notes in Comp. Sci. Springer-Verlag, 2002. V. 2576. P. 174-185. [385] Serre J.-P. Cours DArithmetique. Paris: Presses Universitaires de France. 1970. (Русский перевод: Cepp Ж.-П. Курс арифметики. Перевод с фран- цузского Скопина А. И. под ред. Малышева А. В., М.: Мир, 1972.) [386] Shannon С.Е. Communication theory of secrecy systems // Bell System Technical Journal. 1949. V. 28, P. 656—715. (Русский перевод: в книге Шеннон К. Работы по теории информации и кибернетике. М.: ИЛ, 1963. С. 333-402.) [387] Shan W. The Structure and the Construction of Correlation Immune Func- tions: MS Thesis, NTE Institute, Xian. 1987. [388] Shen V. Y., McKellar A. Weiner P. A Fast Algorithm for the Disjunctive Decomposition on Switching Functions // IEEE Trans, on Computers. 1971. V. 20. No. 3. P. 304-309. [389] Siegentaler T. Correlation-immunity of Nonlinear Combining Functions for Cryptographic Applications // IEEE Trans, on Inform. Theory. 1984. IT-30. No. 5. P. 776-780. [390] Siegentaler T. Design of Combiners to Prevent Divide and Conquer Attacks //In Proceedings of Advances in Cryptology: CRYPTO'85. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1986. V. 218. P. 273—279. [391] Siegentaler T. Cryptoanalysis of Nonlinearly Fitered AfL-Sequences. Advances in Cryptology: EUROCRYPT'85. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1988. P. 103-110. [392] Siegentaler T. Decrypting a Class of Stream Ciphers Using Ciphertext Only // IEEE Trans, on Computers. С-1985. V. 34. No. 1. P. 81—85. [393] Simon H.-U. A tight Q(log log n)-bound on the time for parallel RAM’s to compute nondegenerated boolean functions // FCT’83. Leet. Notes in Comp. Sci. 1984. V. 158. P. 439-444.
458 Литература [394] Stinson D.R. Resilient Functions and Large Sets of Orthogonal Arrays. Congressus Numerantium. 1993. V. 92. P. 105—110. [395] Stinson D.R., Massey J.L. An Infinite Class of Counterexamples to a Conjecture Concerning Non-linear Resilient Functions // Journal of Cryptology. 1995. V. 8. No. 3. P. 167-173. [396] Sugita T, Kasami T, Fujiwara T. The Weight Distribution of the Third Order Reed—MOller Codes of Length 512 // IEEE Trans, on Inform. Theory. 1996. V. 42. No. 5. P. 1622-1625. [397] Tarannikov Yu. On certain bounds for the weight of /-balanced Boolean functions // Mathematics and Its Applications. A. D. Korshunov (ed.). Operation Research and Discrete Analysis, 1997. V. 391. P. 285—299. http://ultra.inria.msu.ru/papers.html. [398] Tarannikov Yu. Limit values for the density of /-balanced /г-valued func- tions defined over the Boolean cube // International Symposium on Combinatorial Optimization. Bruxelles, April, 15—17 1998. P. 191. [399] Tarannikov Yu. Ramsey-like theorems on the structure and numbers of higher order correlation-immune functions. Moscow State University, French-Rus- sian Institute of Applied Mathematics and Informatics. Preprint No. 5, Moscow, October 1999. 20 p. http: //liapunov. inria. msu. ru/PERSONAL/Taran/ index. html. [400] Tarannikov Yu. On a method for the constructing of cryptographically strong Boolean functions. Moscow State University, French-Russian Institute of Applied Mathematics and Informatics. Preprint No. 6, Moscow, October 1999. 24 p. http://liapunov.inria.msu.ru/PERSONAL/Taran/index.html. [401] Tarannikov Yu. On resilient Boolean functions with maximal possible non- linearity. Cryptology ePrint archive (http://eprint.iacr.org/), Report 2000/005, March 2000, 18 p. [402] Tarannikov Yu., On some connections between codes and cryptographic properties of Boolean functions // Proceedings of Seventh International Workshop on Algebraic and Combinatorial Coding Theory. Bansko, Bulgaria, June 18-24, 2000. P. 299-304. [403] Tarannikov Yu. On the structure and numbers of higher order correlation- immune functions // Proceedings of 2000 IEEE International Symposium on Information Theory ISIT2Q0Q. Sorrento, Italy, June 25—30, 2000. P. 185. [404] Tarannikov Yu. On resilient Boolean functions with maximal possible non- linearity // Proceedings of Indocrypt 2000. Leet. Notes in Comp. Sci. Springer-Verlag, 2000. V. 1977, P. 19-30. [405] Tarannikov Yu., Kirienko D. Spectral analysis of high order correlation immune functions. Cryptology ePrint archive (http://eprint.iacr.org/), Report 2000/050, October 2000, 8 p.
Литература 459 [406] Tarannikov Yu. New constructions of resilient Boolean functions with maximal nonlinearity. Cryptology ePrint archive (http://eprint .iacr.org/), Report 2000/069, December 2000, 11 p. [407] Tarannikov Yu. New constructions of resilient Boolean functions with maximal nonlinearity // Sth Fast Software Encryption Workshop. Preproceedings. Yokohama, Japan, April 2—4, 2001. P. 70—81. [408] Tarannikov Yu., Kirienko D. Spectral analysis of high order correlation immune functions // Proceedings of 2001 IEEE International Symposium on Information Theory ISIT'2W\. Washington, DC, USA, June 2001. P. 69. [409] Tarannikov Yu., Korolev P, Botev A. Autocorrelation coefficients and correlation immunity of Boolean functions // Proceedings of Asiacrypt 2001. Gold Coast, Australia, December 9—13, 2001. Leet. Notes in Comp. Sci. Springer-Verlag, 2001. V. 2248, P. 460-479. [410] van Tilborg H.C.A. On Weight in Codes. Technical Report 71-WSK- 03, Department of Mathematics, Technological University of Eindhoven, Netherlands. 1971. [411] Tonchev V. D. Combinatorial Configurations. New York: Longman, Wiley, 1988. [412] Vaudenay S. On the weak keys of Blowfish // In Proceedings of Fast Software Encryption, FSE'96. (Gollmann D. ed.), Leet. Notes in Comp. Sci. Springer-Verlag, 1996. V. 1039. P. 27-32. [413] van der Waerden B. L. Algebra I. Achte Auflage der Modemen Algebra. Berlin, Heidelberg, New York: Springer-Verlag, 1971. Algebra II. Fiinfte Auflage. Berlin, Heidelberg, New York: Springer-Verlag, 1967. (Русский перевод: ван дер Варден Б. Л. Алгебра. Перевод с немецкого А. А. Бельского под редакцией Ю. И. Мерзлякова, М.: Наука, 1976.) [414] Webster А. Е, Tavares S.E. On the Design of S-Boxes // In Proceedings of Advances in Cryptology'. CRYPTO'Sb. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1986. V. 218. P. 523-534. [415] Weldon E.J. Jr. New Generalizations of Reed—Miiller Codes. Part II: Nonprimitive Codes // IEEE Trans, on Inform. Theory. 1968. IT-14. No. 2. P. 199-205. [416] Westwick R. Irreducible Length of Trivectors of Rank Seven and Eight. Pacific Journal of Mathematics. 1979. V. 80. No. 2. P. 575-579. [417] Wielandt H // Finite Permutation Groups. Academic Press, 1964. [418] Yarlagadda R., Hershey J. E. Analysis and synthesis of bent sequences. Proc. IEE, Pt. E. 1989. V 136. No. 2. P. 112-123. [419] Yang Y. X., Guo B. Further Enumerating Boolean Functions of Cryptographic Significance // Journal of Crytology. 1995. V. 8. No. 3. P. 115—122. [420] Yosida К // Functional Analysis. Berlin: Springer-Verlag, 1965. (Русский перевод: Иосида К. Функциональный анализ. М.: Мир, 1967.)
460 Литература [421] Youssef А.М., Tavares S.E. Spectral Properties and Information Leakage of Multi-Output Boolean Functions // Proc. 1995 IEEE International Symposium on Information Theory. P. 351. [422] Youssef A. M., Cusick T. W., Stanica P, Tavares S.E. New bounds on the number of functions satisfying strict avalanche criterion // Third Annual Workshop on Selected Areas in Cryptography. 1996. [423] Youssef A., Gong G. Hyper-bent functions // In Proceedings of Advances in Cryptology. EUROCRYPT'2W\. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2001. V. 2045. P. 406-419. [424] Zariskiy O., Samuel P. Commutative Algebra. 1958. V. Ц II. New Jersey: D. Van Nostrand Company Inc., Princeton. (Русский перевод: Зариский О., Самюэль П. Коммутативная алгебра. Т. I, II. М.: ИЛ, 1963.) [425] Zeng К., Huang М. On the Linear Syndrome Method in Cryptanalysis // In Proceedings of Advances in Cryptology: CRYPTO'88. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1990. V. 403. P. 469—478. [426] Zeng K., Yang С. H., Rao T. R. N. An Improved Linear Syndrome Algorithm in Cryptanalysis with Applications //In Proceedings of Advances in Cryptology: CRYPTO'90. Leet. Notes in Comp. Sci. New York: Springer- Verlag, 1991. V. 537. P. 34-47. [427] Zhang X.-M., Zheng Y. GAC —the Criterion for Global Avalanche Characteristics of Cryptographic Functions // Journal of Universal Computer Science. 1995. V. 1. No. 5. P. 320—337. [428] Zhang X.-M., Zheng Y. Auto-Correlations and New Bounds on the Nonlin- earity of Boolean Functions //In Proceedings of Advances in Cryptology: EUROCRYPT'98. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1996. V. 1070. P. 294-305. [429] Zhang X.-M., Zheng Y. Characterizing the structures of cryptographic func- tions satisfying the propagation criterion for almost all vectors // Designs, Codes and Cryptography. 1996. V. 7. P. 111 — 134. [430] Zhang X.-M., Zheng Y. On the Difficulty of Constructing Cryptographical- ly Strong Substitution Boxes // Journal of Universal Computer Science. 1996. V. 2. No. 3. P. 147-162. [431] Zhang X.-M., Zheng Y. New Lower Bounds on Nonlinearity and a Class of High Nonlinear Functions // Information Security and Privacy: ACISP'9T. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 1997. V. 1270. P. 147-158. [432] Zhang X.-M., Zheng Y. Cryptographically Resilient Functions // IEEE Trans, on Inform. Theory. 1997. V. 43. No. 5. P. 1740—1747. [433] Zhang X.-M., Zheng Y., Imai H. Connections Between Nonlinearity and Restrictions, Terms and Hypergraphs of Boolean Functions // 1SIT. Cambridge, MA, USA, 1998. P. 439.
Литература 461 [434] Zhang J.-Z., You Z.-S., Li Z.-L. Enumeration of Binary Orthogonal Arrays of Strength 1 // Discrete Mathematics, to appear. [435] Zheng Y, Zhang X.-M. Improved Upper Bounds on Nonlinearity of High Order Correlation Immune Functions // Selected Areas in Cryptography. SAC’2000. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2000. V. 2012. P. 264-274. [436] Zheng Y, Zhang X.-M. On Relationships among Propagation Degree, Non- linearity and Correlation Immunity //In Proceedings of Advances in Cryptology: AS I AC RY PT'2000. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2000. V. 1976. P. 470-482. [437] Zheng Y., Zhang X.-M. New Results on Correlation Immune Functions. International Conference on Information Security and Cryptology: ICISC'2000. Leet. Notes in Comp. Sci. New York: Springer-Verlag, 2001. V. 2015. P. 49-63. [438] Zheng Y, Zhang X.-M. On Plateaued Function // IEEE Transactions on Information Theory, 2001. V. 47. No. 3. P. 1215-1223. [439] Zheng Y, Zhang X.-M. Relationships between Bent Functions and Complementary Plateaued Functions // In Proceedings of The 2nd International Conference on Information Security and Cryptography, ICISC'QO. Leet. Notes in Comp. Sci. Berlin, Heidelbeg, New York: Springer- Verlag, 2000. V. 1787. P. 60-75. [440] Zimmermann К. H. Beit rage Zur Algebraisch en Codeierung Theorie Mittels Modular dar Stellungst Theorie. Bayreuther Mathematische Schriften. 1994. H. 48.
Предметный указатель Автокорреляция, 91 автоморфизм внутренний, 23 — группы, 21 — поля над полем F^, 56 — Фробениуса, 56 алгебра групповая, 97 — над полем, 40 — умножений, 98 алгебраическая степень отображения, 345 алгоритм декодирования линейных блочных кодов, 173 ---Рида, 210 — Евклида, 34 — зашифрования, 391 — Матцуи 1 и 2, 411 — расшифрования, 391 — шифрования - - DES, 392 ---Rijndael, 392 - - ГОСТ 28147-89, 392 аргумент функции, 66 ассоциативность, 16 атака криптографическая на ключ, 392 Базис биортогональный, 266 — векторного пространства, 39 ------канонический, 39 — дуальный, 48 — нормальный, 49 — полиномиальный, 49 бент-множество, 244 бент-отображение, 338 бент-отображение (почти), 343 бент-функция, 235 бит несоответствия, 383 блок открытого текста, 391 — шифрованного текста, 391 Введение фиктивной переменной, 67 вектор, 37, 65 — r-покрытый кодом, 159 — предшествующий, 70 — строго предшествующий, 70 вектор-столбец, 65 величины случайные независимые, 274 вероятность ошибки на слово, 176 вес булевой функции, 75 — класса эквивалентности, 125 — функции, 125 — Хэмминга, 71 — числа диадический, 356 вид порождающей матрицы — систематический, 163 вычисления распределённые, 282 Гипер-бент-функция, 265 гомоморфизм, 20 — колец, 27 ГОСТ 28147-89, 392 граница Боуза—Чоудхури—Хоквингема (БЧХ), 195 — Варшамова—Гильберта, 165 — Синглтона, 164 — сферической упаковки, 164 — Хэмминга, 164 — Элайеса, 166 группа, 16 — сдвигов, 128 — абелева, 17 — автоморфизмов кода, 162 — аффинных преобразований, 131 — бесконечная, 18 — Галуа, 56 — Джевонса, 129 — инвертирования переменных, 128 — инерции функции, 122 — классов вычетов, 18 — коммутативная, 17 — конечная, 18 — корней из единицы, 18 — линейных преобразований, 130 — перестановок переменных, 129 — полная аффинная, 131 ---линейная, 130 — циклическая, 17 группы изоморфные, 21 Действие группы правое на множестве функций, 121 декодер неполный, 175 — полный, 175
Предметный указатель 463 декодер Питерсона—Горнстейна— Цирлера, 375 декодирование кода Хэмминга, 172 — корреляционное Грина, 218 делитель нормальный, 23 — нуля, 25 — элемента кольца, 27 дистрибутивность, 24 дифференциалы невозможные, 428 длина регистра, 378 — слагаемого в полиноме Жегалкина, 71 длина кода примитивная, 179 дыра множества глубокая, 235 Единица группы, 16 Зависимость квазилинейная, 309 — существенная, 67 задача конструктивного перечисления, 133 запрет булевой функции, 419 запутывание, 103 Идеал кольца главный, 26 ---двусторонний, 26 ---максимальный, 28 --- простой, 28 — минимальный, 53 идемпотент, 183 — минимальный, 187 — собственный, 52, 183 изоморфизм, 21 — пространств, 38 инвариант группы С5, 133 — полный, 133 инвариантность булевой функции относительно группы, 122 индекс группы цикловой подстановок, 120 — линейности отображения, 109 — подгруппы, 20 информация взаимная, 274 Канал связи дискретный, 159 ---квантово-криптографический, 282 каталог Гарвардский, 119, 135 класс аффинных функций, 73 — вычетов кольца по модулю идеала, 26 — левый смежный по подгруппе, 19 — максимально нелинейных функций D, 250 класс максимально нелинейных функ- ций Do, 250 ---------Л4, 244 ---------PS, 249 ---------PS+, 249 ---------PS~, 248 ---------полный, 243 — Мэйорана—Мак-Фарланда, 244 — правый смежный по подгруппе, 19 — циклотомический, 62, 86 — эквивалентности, 18 классификация статистическая, 393 — функций теоретико-групповая, 123 ключ блочного шифра, 391 — секретный, 102 код [п, £], 159 - [п, k, d], 159 — Адамара, 268 — выколотый, 203 — двоичный Голея, 198 — дополнительный, 180 — дуальный, 161 — Кердока, 227 — линейный блочный, 158 ---определяемый отображением, 349 — максимальной длины, 173 — полностью регулярный, 353 — Препараты, 228 — примитивный Боуза—Чоудхури—Хоквингема (БЧХ), 196 ---------в узком смысле, 196 ---циклический, 179 — равномерно упакованный, 353 — Рида—Маллера, 200 — с максимальным расстоянием, 164 — симплексный, 173, 192 — систематический, 163 — совершенный, 171 — Хэмминга, 171 — циклический, 177 ---примитивный ------минимальный, 187 ------неприводимый, 187 ---с двумя нулями, 360 — эквидистантный, 172 кодовое расстояние конструктивное, 196 коды эквивалентные, 162 кольцо, 24 — главных идеалов, 28
464 Предметный указатель кольцо коммутативное, 25 — неразложимое, 52 — полиномов над полем, 32 — разложимое, 51 — с единицей, 25 — целостное, 25 комбинация линейная, 39 константа, 32 координаты вектора, 39, 65 корень полинома, 36 ---кратный, 37 ---простой, 37 — степени п из единицы, 62 -------примитивный, 62 корреляция взаимная, 90 коэффициент Фурье, 76 — полинома постоянный, 32 ---старший, 32 — Уолша—Адамара, 77 коэффициенты спектральные, 77 кратность корня, 37 криптоанализ линейный, 410 — статистический, 389 критерий лавинный, 362 ---строгий, 105 -------порядка /, 364 — распространения, 105, 363 ---по направлению, 279 ---степени k, 363 -------порядка /, 366 — Ротхауза, 238 Лемма Бернсайда, 124 — Неймана—Пирсона, 402 — о «набегании знаков», 415 лидер смежного класса, 174 локаторы строки, 354 Материал, 393 матрица Адамара, 236 ---типа Сильвестра, 91 — кода порождающая, 161 --- проверочная, 161 — распространения, 366 — симплектическая, 139, 225 мера (логарифмическая) неопределённости события, 272 метод бумеранга, 428 — кратного приближения, 427 — криптографического анализа линейный, 410 метод бумеранга статистический, 389 — прямоугольника, 428 — усечённых дифференциалов, 428 — условных дифференциалов, 428 многочлен, 31 — последовательности минимальный, 379 множество кодовых слов кода, 161 — образующих подгруппы, 19 — ортогональных таблиц ---покрывающее, 288 — разностное, 239 ---элементарное ------адамарово, 239 множества сопряжённые 23 — кода определяющее, 354 --- характеристическое, 347 Надёжность алгоритма, 395 ---средняя, 396 наибольший общий делитель полиномов, 33 наименьшее общее кратное полиномов, 34 неизвестная, 31 нелинейность криптографической функции, 105 — обобщённая, 265 — отображения, 105 — функции, 81 ненули циклического кода, 180 неравенство Зигенталлера, 281 — Йенсена, 167 — треугольника, 75 неравенство Дельсарта, 353 норма, 47 — абсолютная, 47 нормализатор множества, 24 — элемента, 24 носитель элемента, 286 нули циклического кода, 180 нуль группы, 17 — кольца, 25 Область принятия решений, 393 — целостности, 25 образ группы гомоморфный, 21 объём материала, 393 оператор взятия булевой производной, 113 — проектирования, 112
Предметный указатель 465 оператор сдвига, 377 — фиксации части переменных, 113 операция на множестве ассоциативная, 16 — бинарная, 16 отношение эквивалентности, 18 отображение (п, k, ^-устойчивое, 282 — ассоциированное с функцией, 109 — линейное (и, k, б/)-устойчивое, 284 — платовидное, 343 — полиномиальное, 347 — поля, определяемое полиномом, 36 — почти совершенно нелинейное, 340 — разветвляющее, 109 — совершенно нелинейное, 338 — совершенное, 362 — удовлетворяющее лавинному критерию, 362 ---строгому лавинному критерию, 362 — уравновешенное, 104 — устойчивое, 105, 282 отображения разветвляемые, 109 Пара переменных квазилинейная, 309 — покрывающая, 314 переменная, 31 — линейная, 309 — несущественная, 67 — покрывающая для функции, 314 — существенная, 67 — фиктивная, 67 — функции, 66 перемешивание, 103 пересечение кодов, 186 период полинома, 57 — последовательности, 376 ---минимальный, 376 — укороченной строки функции, 266 подалгебра, 40 подгруппа, 19 — нормальная, 23 — , порождённая множеством, 19 ---элементом д, 19 — собственная, 19 подключ, 392 подкольцо, 26 подполе, 29 — собственное, 29 подпространство линейности отображения, 106 подпространство стабильное, 240 подфункция, 67 показатель глобальной лавинной характеристики абсолютный, 370 ---------, сумма квадратов, 370 — , которому принадлежит q по модулю и, 61 поле, 25 — конечное, 41 — простое, 29, 30 — разложения, 42 полином, 31 — двойственный, 58 — Жегалкина, 70 — квадратичный, 356 — Кравчука, 170, 315, 316 — Ллойда, 354 — минимальный, 54 — неприводимый, 34 — нормированный, 32 — порождающий циклического кода, 179 — постоянный, 32 — приводимый, 35 — примитивный, 58 — проверочный, 180 — унитарный, 32 — характеристический элемента, 57 — циклотомически однородный, 87 ---приведённый, 87 пополнение класса максимально нелинейных функций, 243 порядок группы, 18 — лексикографический, 66 — полинома, 57 — частичный, 70 — элемента группы, 19 последовательность линейная рекуррентная (ЛРП), 376 ---почти периодическая, 376 — покрывающая булевой функции 115 --------- нетривиальная, 115 --------- простая, 317 ---------совершенная, 326 предпериод последовательности, 376 предположение криптографическое, 414 ---естественное, 414 представитель циклотомического класса, 87 преобладание, 410
466 Предметный указатель преобразование Адамара быстрое, 217 — Мёбиуса, 70 — раундовое, 391 — Уолша—Адамара, 77 ------неполное, 255 ------расширенное, 265 — Фурье, 76, 168 преобразования строк двоичной матрицы — элементарные, 162 принципы К. Шеннона, 103 произведение векторов скалярное, 76 — матриц кронекерово, 217 ---скалярное, 51 — элементов группы, 17 производная булевой функции, 89 — полинома, 37 пространства векторные изоморфные, 38 пространство г-нелинейности, 108 — векторное, 37, 65 — линейное, 37 — разветвляющее, 109 процедура байесовская оптимальная, 398 — статистической классификации, 393 Равенство Парсеваля, 80 радиус покрытия кода, 159 разветвление линейное, 109, 111 развёртка ключевая, 392 разделимость функциональная, 72 разложение полинома каноническое, 36 размах линейный, 381, 382 размерность кода, 158 — пространства, 39 распределение случайной величины условное, 274 — случайных величин совместное, 273 рассеивание, 103 расстояние единственности, 394 — кода минимальное, 158 ---внешнее, 347 ---дуальное, 347 — кодовое, 158 — между булевыми функциями, 76 — от булевой функции до множества, 81 — Хэмминга, 75 расширение последовательности нулевое, 383 расширение поля, 29 ---конечной степени, 38 расширенный критерий распространения степени k и порядка /, 367 раунд, 391 раундовый подключ, 392 регистр сдвига с линейными обратными связями, 377 рефлексивность отношения, 18 Свёртка функций, 97 свойство вторичное, 113 — сводимое, 112 сдвиг кода, 173 символы информационные, 163 — проверочные, 163 симметричность отношения, 18 синдром вектора, 173 система алгебраическая, 16 скаляр, 37 скорость кода, 159 слагаемое в АНФ, 71 — в полиноме Жегалкина, 71 — линейное, 72 след, 46, 86 — абсолютный, 46 — относительный, 87 слово кодовое, 158 сложность линейная, 381, 382 смежный класс кода, 173 соотношение неопределённостей Гейзенберга, 96 соотношения ортогональности, 78 множества сопряжённые 23 спектр кода весовой, 168 спектры непересекающиеся, 94 способ задания функции табличный, 66 стандарт шифрования DES, 392 ---Rijndael, 392 - - ГОСТ 28147-89, 392 степень полинома, 32 — расширения, 38 — функции алгебраическая, 71 ------относительно переменной, 72 структура вырождения булевой функции, 154 — линейная, 106 сумма кодов, 186 — элементов группы, 17 сумматор, 377
Предметный указатель 467 схема Грина, 218 Таблица истинности функции, 286 — ортогональная, 286 — разностей, 332 — стандартного расположения кода, 173 текст открытый, 391 — шифрованный, 391 ---промежуточный, 392 тело, 25 теорема Винера—Хинчина, 93 — о взаимной корреляции, 92 — о свёртке, 93 - Пойа, 126 теория эргодическая, 103 тип 0, 122 — подстановки, 120 тождества Плесе, 348 тождество Мак-Вильямс, 169 транзитивность отношения, 18 транслятор линейный, 106 триггер, 378 трудоёмкость процедуры статистической классификации средняя, 395, 396 Удаление фиктивной переменной, 67 уровень покрывающей последовательности, 115 устройство кодирующее необратимое, 425 ---обратимое, 425 ---с конечной памятью и без обратной связи, 419 устройство задержки, 378 Факторгруппа, 24 факторкольцо, 27 флаг подпространств, 108 форма алгебраическая нормальная (АНФ), 70 — альтернированная, 139 — ассоциированная, 139 — симплектическая, 139 — невырожденная, (/г, г), 154 — булевой функции числовая нормальная, 82 функции ^-эквивалентные, 122 — алгебраически независимые, 104 — некоррелированные порядка /г, 92 — платовидные порядка (п — 1) ---взаимно дополняющие, 261 функции с непересекающимися спектрами, 94 — , совершенно некоррелированные 92 функция d-оптимальная, 282 — d-устойчивая, 282 — (дискретная) криптографическая, 102 — автокорреляции, 91 — аффинная, 73 — без запрета, 419 — булева, 66 ---, допускающая покрывающую последовательность, 115 ---с-регулярная, 74 ---(со, С])-регулярная, 74 ---бент (м.-н.), 235 ------ частичная, 251 ------частично определённая, 245, 256 ---корреляционно-иммунная, 276 ---максимально-нелинейная, 235 ------(ц, /г)-максимально-нелинейная, 258 ------на подпространстве, 250 ---невырожденная, 152 ---регулярная, 74 ---слабо невырожденная, 323 ---, удовлетворяющая строгому лавинному критерию ------порядка /, 364 ---уравновешенная, 75 ------частично определённая, 255 — взаимной корреляции, 90 — гипер-бент, 265 — Дирака, 5-, 77 — дуальная, 237 ---к платовидной функции, 254 — дуальная к частично определённой м.-н. (бент-)функции, 257 — , заданная в виде линейного разветвления, 111 — квадратичная, 138 — кода весовая, 168 — корреляционно-иммунная, 105 ---по направлению, 279 — линейная, 73 — , линейно зависищая от переменной, 72 — Мёбиуса, 60 — , нелинейно зависищая от переменной, 72 — отображения характеристическая, 332
468 Предметный указатель функция платовидная, 253 ---порядка 2г, 253 — производящая множества, 125 ------функций, 125 — с запретом, 419 — самодуальная, 237 — сильно равновероятная, 419 — симметрическая, 74 — уравновешенная относительно матрицы, 369 — устойчивая, 105 — частично определённая ------^-устойчивая, 301 — Эйлера, 20 Характер аддитивный, 49 ---канонический, 50 — группы, 21 — мультипликативный, 50 — нетривиальный, 21 — различающий, 22 — тривиальный, 21 характеристика линейная, 410 — разностная, 417 — поля, 31 — функции глобальная лавинная, 238 характеристики глобальные лавинные, 370 характеристический полином, 377 ---регистра, 378 Центр группы, 24 Шар, 164 шифр А5, 110 — блоковый, 102, 390 ---итерационного типа, 391 — гаммирования А5, 110 — потоковый, 102, 398 - - А5, 110 — с секретным ключом, 102 шифртекст, 391 — промежуточный, 392 Эквивалентность, 18 - RM-, 152 — по следу, 86 — почти, 157 экспонента группы, 20 элемент бесконечного порядка, 19 — кода, 158 — кольца нулевой, 25 элемент кольца простой, 28 ---обратимый, 28 — образующий циклической группы, 17 — группы единичный, 16 — обратный, 17 — поля примитивный, 46 элементы кольца ассоциированные, 28 ---сопряжённые, 23 ---, сравнимые по модулю идеала, 26 ---эквивалентные, 18 элементы поля сопряжённые, 55 эндоморфизм группы, 21 энтропия случайной величины, 273 — условная, 274 эпиморфизм, 21 Ядро билинейной формы, 227 — гомоморфизма, 23 ---колец, 27 — симплектической матрицы, 227 АВ, 343 absolute GAC, 370 Advanced Encryption Standard, 392 AES, 392 almost bent, 343 — equivalent, 157 — perfect nonlinear, 340 APN, 340 auto-correlation, 91 avalanche criterion, 362 - strict (SAC), 362, 364 Balanced, 104 «bent» function, 235 bias, 410 block cipher, 102, 390 Ciphertext, 391 code completely regular, 353 — uniformly packed, 353 complementary (n — 1 )-th order plateaued functions, 261 — code, 180 complete mapping, 362 confusion, 103 correlation attack fast, 408 — immune, 105 cross-correlation, 90 cycle index polynomial, 120 Deciphering, 391
Предметный указатель 469 deviation, 410 diffusion, 103 Enciphering, 391 enumerator, 125 extended propagation criterion of degree k and order 0 and t (EPC(£, 0), EPC(£, /)), 366, 367 — Walsh—Hadamard transform (EWHT), 265 Fast correlation attack, 408 Generalized nonlinearity, 265 generator polynomial, 179 global avalanche characteristic (GAC), 239, 370 Group Special Mobile (GSM), 110 Hyper-bent function, 265 Key, 391 — schedule, 392 known plaintext attack, 392 Large set orthogonal arrays, 288 linear structure, 106 — complexity, 381 — feedback shift register (LFSR), 377 — recursive sequence, 376 — span, 381 nonintersecting spectra, 94 nonlinearity, 105 numerical normal form, 82 Orthogonal array, 286 Partial Spreads, 249 partially bent function, 251 perfect nonlinear, 338 perfectly uncorrelated, 92 period, 376 periodic sequence, 376 piling-up lemma, 415 plaintext, 391 plateaued function 2r-th order plateaued function, 253 propagation criterion of degree k and order t (PC(£, 0), 366 Resilient, 105, 282 round, 391 Stream cipher, 102, 398 subkey, 392 symmetric cipher, 102 Ultimately periodic sequence, 376 uncorrelated of degree k, 92 uniformly packed code, 353 Zero tail expansion, 383
Логачёв О. А., Сальников А. А., Ященко В. В. БУЛЕВЫ ФУНКЦИИ В ТЕОРИИ КОДИРОВАНИЯ И КРИПТОЛОГИИ Редактор Коробова Т.Л. Издательство Московского центра непрерывного математического образования. 119002, Москва, Большой Власьевский пер., И. Лицензия ИД № 01335 от 24.03.2000 г. Подписано к печати 10.04.2004 г. Формат 60 х 90/16. Печать офсетная. Объём 29,5 п.л. Тираж 1000 экз. Заказ № 10237 Отпечатано с готовых диапозитивов в ППП «Типография ,,Наука“». 119099, Москва, Шу- бинский пер., 6.