УДК 519.7
конструкция 1-устойчивых булевых отображении с высокой нелинейностью на основе специального класса алгебро-геометрических кодов
© 2014 г. М.С. Горячий, А.Э. Маевский
Горячий Максим Сергеевич - аспирант, кафедра алгебры и дискретной математики, факультет математики, механики и компьютерных наук, Южный федеральный университет, ул. Мильчакова, 8а, г. Ростов н/Д, 344090, е-mail: [email protected].
Маевский Алексей Эдуардович - кандидат физико-математических наук, доцент, кафедра алгебры и дискретной математики, факультет математики, механики и компьютерных наук, Южный федеральный университет, ул. Мильчакова, 8а, г. Ростов н/Д, 344090, е-mail: [email protected].
Goryachiy Maxim Sergeevich - Post-Graduate Student, Department of Algebra and Discrete Mathematics, Faculty of Mathematics, Mechanics and Computer Sciences, Southern Federal University, Milchakov St., 8a, Rostov-on-Don, 344090, Russia, e-mail: [email protected].
Maevskiy Alexey Eduardovich - Candidate of Physical and Mathematical Science, Associate Professor, Department of Algebra and Discrete Mathematics, Faculty of Mathematics, Mechanics and Computer Sciences, Southern Federal University, Milchakov St., 8a, Rostov-on-Don, 344090, Russia, e-mail: [email protected].
Предлагается алгоритм построения t-устойчивых булевых отображений, основанный на общих подходах Пасалика—Майтры и Камиона—Канте с использованием специального класса алгебро-геометрических кодов типа кодов Рида-Соломона на плоских проективных кривых над конечными полями. Исследуется зависимость характеристик устойчивости и степени нелинейности получающихся булевых отображений от выбираемых помехоустойчивых кодов, вырабатываются общие практические рекомендации по использованию того или иного кода, производится сравнение характеристик некоторых построенных отображений с известными ранее примерами.
Ключевые слова: булева функция, t-устойчивость, нелинейность, помехоустойчивое кодирование, алгебро-геометрические коды, МДР-коды.
The article presents the algorithm for constructing t-resilient Boolean mapping, based on Pasalic—Maitra and Camion—Canteaut approaches, using the special class of algebraic-geometric Reed-Solomon types codes in the plane projective curves over finite fields. The dependence of the resilient and nonlinearity obtained Boolean mappings chosen from the error-correcting codes is investigated. The common practices for the use of a particular code are developed. The characteristics of some of the constructed mapping are compared with the previously well-known examples.
Keywords: Boolean function, t-resilient, nonlinearly, error-correction codes, AG-codes, MDS-codes.
Одним из центральных объектов исследований в современной симметричной криптографии является класс булевых функций многих переменных и его обобщение - класс булевых отображений. Булевы отображения используются, например, в качестве 5"-, Р-блоков при построении блочных симметричных криптосистем, а также в качестве комбинирующих блоков (/-блоков) при построении генераторов псевдослучайных последовательностей (ПСП) для поточных шифров или датчиков случайных чисел [1]. К настоящему времени существует ряд атак на шифры, сводящихся в окончательном итоге к атакам на соответствующие 5-, Р-, /- блоки (линейный, дифференциальный [2], интегральный криптоанализ; корреляционные, интерполяционные, алгебраические атаки [1]). Попытки противостоять линейному, дифференциальному анализу и интерполяционным атакам привели к необходимости использования в шифрах максимально нелинейных булевых отображений (гипербент-отображений) [1], а противодействие корреляционным и другим алгебраическим атакам требует от отображения высокой степени устойчивости [3]. Для комплексной защиты шифра или генератора ПСП может потребоваться использование булевых отображений, одновременно имеющих максимально возможные значения нелинейности и устойчивости. Однако в силу неравенства Зигенталера [3] булево отображение не может
одновременно быть максимально нелинейным и максимально устойчивым.
На данный момент существует некоторый набор методов построения булевых отображений с возможно наибольшими значениями нелинейности и устойчивости, однако большинство их них имеет существенные ограничения на соотношение количества входных переменных и размерности выхода, а также на количество строимых булевых отображений. Представляется, что одним из наиболее гибких современных методов, позволяющих варьировать различные параметры получаемого отображения, является подход Пасалика-Майтры [4], основанный на использовании двоичных линейных помехоустойчивых кодов, и его аналог для случая кодов над произвольным конечным полем (Камион, Канте [5]). Серьёзным недостатком работ [4, 5] является, на наш взгляд, отсутствие каких-либо рекомендаций по выбору используемых помехоустойчивых кодов, а также малоизучен-ность влияния параметров кода на величину нелинейности и устойчивости конструируемого булева отображения. В частности, для построения частных примеров нелинейных устойчивых булевых отображений авторы рассматривали некоторые линейные коды без каких-либо пояснений.
Целью настоящей работы является исследование применимости некоторых современных семейств линейных помехоустойчивых кодов в подходах Пасали-
ка-Майтры и Камиона-Канте. В работе рассматриваются вопросы использования семейства помехоустойчивых кодов с максимально достижимым расстоянием (МДР-кодов) и близкого к ним по параметрам семейства алгебро-геометрических кодов типа кодов Рида-Соломона (АГРС-кодов); вырабатываются общие рекомендации по использованию того или иного кода из указанных семейств и проводится ряд уточняющих вычислительных экспериментов, направленных на практическое вычисление значений нелинейности и устойчивости построенных булевых отображений в некоторых частных случаях.
Предварительные сведения о булевых отображениях [1]
Пусть Fq (q = ps, p - простое) - конечное поле
из q элементов. Для произвольного n е N через Vn обозначим векторное пространство размерности n над полем F2. Вес Хэмминга wt(x) вектора x eVn
стандартным образом определим как количество его ненулевых координат.
Булевой функцией от n переменных будем называть произвольное отображение f :Vn ^ F2. Множество всех булевых функций от n переменных обозначим Fn .
Зафиксируем натуральное число m. Булево отображение от n переменных определим как произвольное отображение Ф: Vn ^ Vm, число m при этом будем называть размерностью выхода Ф. Множество всех булевых отображений от n переменных с размерностью выхода, равной m, обозначим Fn m . Для
произвольной булевой функции f е Fn определим ее вес равенством wt(f) =| {x е Vn | f (x) = 1} |.
Булева функция f е Fn называется уравновешенной, если wt(f) = 2n-1. Определим расстояние между булевыми функциями f и g из Fn как dist(f) = wt(f © g) =| {X е Vn | f (x) * g(x)} |. Тогда расстояние от булевой функции f е Fn до множества M с F_ равно dist(f, M )= min dist(f, g ).
g^M
Если булеву функцию l е Fn можно задать формулой l(x)=(а, Xj © b для аргумента x = (xb„., xn ) и некоторых фиксированных а еVn , b е F2 , то будем говорить, что она является аффинной булевой функцией.
Нелинейностью N у булевой функции f е Fn называется расстояние между f и множеством всех аффинных булевых функций. Булевы функции, обладающие максимально возможным значением нелинейности N^ = 2n-1 - 2n 21, называют максимально
нелинейными булевыми функциями.
Рассмотренные определения для булевых функций естественным образом переносятся на случай булевых отображений. Булево отображение Фе Fnm в случае
т < п называется уравновешенным, если Уу е¥т : |{и еКи|Ф(и) = у}|= 2п-т.
Нелинейностью булева отображения Фе ¥пт называют ЧИСЛО МФ = ШШ л ж Шс г } .
Ф сеКт\{(0,..,0)Г ЧЛ®"-®^ )
Булево отображение, имеющее максимально возможное значение нелинейности, называют максимально нелинейным булевым отображением.
Подфункцией булевой функции / называется булева функция /"' , полученная из / путем замены переменных х^,..., х на константы а^,., а из поля Г2. Булева функция / е Рп называется корреляционно-иммунной порядка 1, 1 < 1 < п, если для любых наборов 1 < г1 <...< г( < п, а,,., а, е вы-
^ с* Wt(/)
полняется соотношение wt(/ 1 ') = —^^.
х'1'.,х'» 21
Уравновешенная корреляционно-иммунная порядка 1 булева функция называется /-устойчивой.
Понятие устойчивости булева отображения Фе ¥пт обобщает понятие устойчивости булевой
функции и определяется как способность отображения сохранять свойство уравновешенности при фиксации всех возможных наборов координат аргумента, имеющих вес не более 1. Отметим, что если булево отображение Фе ¥пт является (п,т, 1)-устойчивым,
то оно является также (п, т, s) -устойчивым для всех
5 < 1 .
Подходы Пасалика-Майтры и Камиона-Канте к построению устойчивых булевых отображений с высокой нелинейностью
Зафиксируем произвольный двоичный код С. Пусть и - его длина; т - размерность; й - минимальное расстояние; 1 = й -1. В [4] на основе кода С Пасалик и Майтра предлагают способ построения множества 1 -устойчивых булевых функций О с Рт+и-1, |О| = т , обладающего следующим свойством: любая линейная комбинация / булевых функций из О над полем Г2 является 1 -устойчивой булевой функцией. В [6] доказывается, что при этом №/ = 2т+и-1 - 2и-1. Выберем натуральное число п,
п > и + 2т -1, и пусть Н с Рп-т-и+1 - некоторое множество из т максимально нелинейных булевых функций от г =п - т - и + 1 переменных. Основным результатом работы [4] является теорема о том, что булево отображение Ф(х15..., хп )= (й (х15..., хп
-т-и+1
)© g1(X1,..., хт+и-1),...,
hm (x1, • -, xn-m-u+1) © gm (x1, • • •, xm+u-1))
от п переменных с размерностью выхода т, где gi, й ■ пробегают множества О и Н соответственно, является (п, т, 1) -устойчивым со значением нелинейности
Nф =
2«-1 2^(п+и~т+1) / 2
при u + 2т -1 < n < u + 3m - 3, Rq (m) = {f (x)e Fq[*lldeg(/)< m} РазмеРности m и
n - четное, при u + 2m -1 < n < u + 3m - 3, n - нечетное, u + 3m - 3 < n < u, 2n-1 - 2(n+u-m+1)/2, при u + 3m < n. (1)
2^n-1 _ ^(n+u-m+2)/2
2^n-1 _ ^u+m+1
В [5] Камион и Канте, используя линейные помехоустойчивые коды над конечным полем произвольной характеристики, приводят другую конструкцию множества О с сохранением оценок устойчивости и нелинейности его элементов, что значительно расширяет мощность класса получаемых булевых отображений.
Анализ требований к линейным кодам
Рассмотрение подходов Пасалика-Майтры и Ка-миона-Канте приводит к необходимости исследования влияния характеристик линейных кодов на характеристики результирующего булева отображения. Без потери общности будем считать, что значения п и т зафиксированы и, в силу сохранения оценок устойчивости и нелинейности при изменении способа построения множества О, рассматривать только подход Пасалика-Майтры с модификацией Камиона-Канте. Имеет место следующая
Теорема 1. Пусть Ф е Fn,m - устойчивое булево
отображение, построенное на основе подхода Пасали-ка-Майтры - Камиона-Канте. Тогда:
(О / < п - 3т +1;
(И) максимально возможные значение устойчивости I и нелинейности ИФ одновременно могут быть достигнуты только при использовании МДР-кода длины и = п - 2т +1, размерности т, с минимальным расстоянием п - 3т + 2 над некоторым конечным полем Б .
Доказательство. Утверждение (1) следует из ограничения п > и + 2т -1 на параметры конструируемого отображения и хорошо известной из теории кодирования верхней границы Синглтона, верной для произвольного линейного кода. Для доказательства утверждения (И) зафиксируем (0, < п - 3т +1, и рассмотрим семейство всех возможных линейных кодов С размерности т с минимальным расстоянием /0 +1 над всеми возможными полями Fq. Из анализа (1)
вытекает, что ЖФ находится в обратной зависимости с длиной используемого кода и , поэтому для максимизации значения ЖФ необходимо применять коды
из С, имеющие наименьшую длину. Пусть Стт -
множество всех таких кодов. Ясно, что если Стп содержит хотя бы один МДР-код, то и все остальные коды из Стп в соответствии с границей Синглтона будут также МДР-кодами (отметим, что размерность и кодовое расстояние элементов Стт фиксированы, а граница Синглтона не зависит от мощности основного поля). Зафиксируем произвольное простое число q > т + (0 и положим и = т + (0. Пусть А с Б \ {о},
А| = и. Рассмотрим линейное пространство
через еуа обозначим отображение еуА :Rq (т)^Б^,
еуа СО ^(Л(°1, ¡(аи )), где все аъ — аи е А различны. Легко проверяется, что еуа инъективно и С = 1теуа - линейный [т + (0,т,10 +1] -код, являющийся МДР-кодом. Ясно, что С е Стт , Стт состоит из всех МДР-кодов размерности т с минимальным кодовым расстоянием /0 +1, и следовательно, для произвольно заданных натуральных п, т, (0 (< п - 3т +1) подход Пасалика-Майтры - Камиона-
Канте, используя произвольный код из Стт, позволяет построить булево отображение с показателем устойчивости ^ и максимально возможным при этом значением нелинейности. Полагая 10 = п - 3т +1, получаем утверждение (И). Теорема доказана.
В соответствии с основной гипотезой о существовании МДР-кодов [7] произвольный линейный [и, т, / +1]? -код над полем Fq может быть МДР-кодом только при условии и < q + 2, что накладывает соответствующее ограничение на мощность поля Fq .
Отметим, что кроме МДР-кодов существует, например, обширный класс алгебро-геометрических кодов типа кодов Рида-Соломона (АГРС-кодов) [3]. Произвольный 1и, т, / +11 -АГРС-код С над полем
1. Jq ^
строится с использованием подмножества Fq -
рациональных точек абсолютно неприводимой гладкой плоской проективной кривой рода g (> 0), и его параметры удовлетворяют соотношению
u - m +1 - g< t + 1 < u-m + 1,
(2)
при этом наибольшая длина u АГРС-кода равна максимальному количеству ф -рациональных точек используемой кривой и удовлетворяет границе Хассе [7]: q + 1 -2gjq < u < q +1 + 2gy[q .
Произвольные АГРС-коды в соответствии с (2) имеют характеристики, отличающиеся от характеристик МДР-кодов не более чем на g . Можно ожидать,
что использование класса АГРС-кодов в подходе Па-салика-Майтры - Камиона-Канте по сравнению с классом МДР-кодов значительно увеличит множество конструируемых булевых отображений с контролируемой степенью ухудшения параметров.
Теорема 2. Пусть Ф е F - устойчивое булево
отображение, построенное на основе подхода Пасали-ка-Майтры - Камиона-Канте с использованием [u, m, t + i]q -АГРС-кода на кривой рода g. Тогда
n - 3m +1 - g < t < n - 3m +1.
(3)
Доказательство. Оценка (3) следует из теоремы 1 и соотношения (2). Теорема доказана.
Отметим, что если в качестве кривой используется плоская проективная прямая, то g = 0 и соответствующие АГРС-коды являются МДР-кодами. При g = 1 для построения кода необходимо использовать эллиптические кривые.
Алгоритм построения булева отображения с использованием АГРС-кодов
Комбинируя подход Пасалика-Майтры - Камио-на-Канте с результатами теорем 1, 2 и конструкцией АГРС-кодов из [8], опишем алгоритм построения устойчивых булевых отображений с высокой нелинейностью. Входными данными являются количество переменных п, размерность выхода т, нижнее значение устойчивости t, поле ¥ч , абсолютно неприво-
димый однородный многочлен
F е F[хо, Х15 Х2],
определяющий гладкую плоскую проективную кривую. На выходе алгоритм возвращает либо булево отображение Ф е ^пт , имеющее устойчивость не хуже задаваемой и максимально возможное при этом значение нелинейности, либо сообщение о невозможности построить булево отображение с заданными параметрами на основе подхода Пасалика-Майтры -Камиона-Канте.
Алгоритм построения булева отображения с использованием АГРС-кодов.
Вход: п, т, I, , ^ .
Выход: Ф е ¥пт , NФ или сообщение о невозможности построения Ф.
Начало алгоритма
Шаг 1. Присвоить
у := шш{7 е [0, (и -1)/ г] \ т < (г + ^ + 2)/2> .
Шаг 2. Если у = {0}, вывести сообщение «невозможно построить булево отображение» и выйти из алгоритма, иначе т' := (у + 1)(у + 2)/ 2.
Шаг 3. Вычислить множество £ всех Б -
рациональных точек кривой, определенной многочленом ^, и присвоить итх := .
Шаг 4. Присвоить и := t + т.
Шаг 5. Если п < и + 2т -1 или итах < и , то вывести сообщение «невозможно построить булево отображение» и выйти из алгоритма.
Шаг 6. Построить [и,т\t +1]? -АГРС-код С .
Шаг 7. Если т Ф т', построить подкод АГРС-кода С длины и и размерности т , иначе присвоить С':= С.
Шаг 8. По методу Пасалика-Майтры - Камиона-Канте построить булево отображение Ф.
Шаг 9. Используя (1), вычислить нелинейность NФ отображения Ф.
Шаг. 10 Вернуть Ф, NФ и выйти из алгоритма.
Конец алгоритма
Кратко рассмотрим работу алгоритма. На шагах 1 и 2 выполняется проверка существования АГРС-кода размерности т', большей либо равной размерности выхода строимого булева отображения. На шаге 3 вычисляется количество Б -рациональных точек кривой, порождающей АГРС-код, а на шаге 4 выбирается длина используемого для построения булева отображения АГРС-кода С . Шаг 5 предназначен для про-
верки применимости метода Пасалика-Майтры - Ка-миона-Канте для построения булева отображения на основе АГРС-кода С . На шаге 6 строится [и, т\ t +1]? -АГРС-код. Шаг 7 предназначен для проверки совпадения размерности т строимого булева отображен с размерностью т' используемого для этого АГРС-кода С . Если т < т\ принимается решение о переходе от АГРС-кода С размерности т к какому-либо его подкоду С' размерности т. Отметим, что при переходе от кода к подкоду минимальное кодовое расстояние либо не изменится, либо возрастет. В последнем случае булево отображение, построенное по подкоду АГРС-кода, будет иметь устойчивость, равную минимальному кодовому расстоянию подкода С . На шаге 8 по методу Пасалика-Майтры -Камиона-Канте строится булево отображение с использованием кода С . На шаге 9 вычисляется нелинейность построенного булева отображения Ф. Корректность приведенного алгоритма непосредственно следует из корректности методов Пасалика-Майтры и Камиона-Канте. Отметим, что если алгоритм для заданных входных параметров возвратил отказ, то можно изменить многочлен Б, определяющий кривую, или многочлен Б вместе с полем Б .
Некоторые экспериментальные результаты
В работах [4, 9, 10] приведены примеры некоторых нелинейных устойчивых булевых отображений, построенных различными способами. В табл. 1-5 приведены результаты сравнения их характеристик с результатами работы предлагаемого в предыдущем пункте алгоритма. В качестве линейных кодов во всех экспериментах использовался АГРС-код на суперсингулярной эллиптической кривой над полем Б 5, определяемой уравнением у2 + у = х3 + х +1.
Таблица 1 Сравнительные характеристики булевых отображений от 36 переменных
Параметры Функция из [4] АГРС
кода [19,8,7] [19,8,11]
нелинейности 235-224 235-224
устойчивости 6 10
Таблица 2
Параметры Функция АГРС
из [9] из [10] из [4]
кода [17,8,6] [17,8,6] [17,8,6] [17,8,8]
нелинейности 235-226 235-223 235-223 235-223
устойчивости 5 5 5 7
Таблица 3
Параметры Функция АГРС
из [9] из [10] из [4]
кода [16,8,5] [16,8,5] [16,8,5] [16,8,7]
нелинейности 235-225 235-223 235-223 235-223
устойчивости 4 4 4 6
Таблица 4
Параметры Функция АГРС
из [9] из [10] из [4]
кода [13,8,4] [13,8,4] [13,8,4] [13,8,5]
нелинейности 235-224 235-222 235-220 235-220
устойчивости 3 3 3 4
Таблица 5
Параметры Функция
из [9] из [10] из [4]
кода [12,8,3] [12,8,3] [12,8,3] [12,8,4]
нелинейности 235-223 235-221 235-219 235-219
устойчивости 2 2 2 3
Из таблиц видно, что благодаря использованию подкодов АГРС-кодов на эллиптических кривых удалось построить функции с лучшими параметрами устойчивости по сравнению с ранее предложенными при сохранении уровня параметра нелинейности.
Литература
1. Логачев О.А., Сальников А.А., Ященко В.В. Булевы функции в теории кодирования и криптологии. М., 2004. 470 с.
2. Biham E., Shamir A. Differential cryptanalysis of DES-like Cryptosystems // Advances in Cryptology (CRYPT0'90), LNCS 537. 1990. P. 2 - 21.
3. Siegenthaler T. Correlation-Immunity of Nonlinear Combining Functions for Cryptographic Applications // IEEE Transactions on Information Theory. 1984. IT-30. Vol. 5. P. 776 - 780.
4. Pasalic E., Maitra S. Linear Codes in Generalized Construction of Resilient Functions With Very High Nonlinearity // IEEE Transactions on Information Theory. 2002. Vol. 48, № 8. P. 2182 - 2191.
5. Camion P., Canteaut A. Construction of t-resilient functions over a finite alphabet // Advances in Cryptology (EURO-CRYPT 2006). LNCS 1921. 2006. P. 283 - 293.
6. Sarkar P., Maitra S. Construction of nonlinear Boolean functions with important cryptographic properties // Advances in Cryptology (EUROCRYPT 2000). LNCS 1807. 2000. P. 485 -506.
7. Влэдуц С.Г., Ногин Д.Ю., Цфасман М.А. Алгебро-геометрические коды. Основные понятия. М., 2003. 504 c.
8. Маевский А.Э. Аналог алгоритма Гурусвами-Судана для списочного декодирования специального класса алгеб-ро-геометрических кодов // Информационная безопасность : материалы XI Междунар. науч.-практ. конф.: в 3 ч. Ч. 1. Таганрог, 2010. С. 226 - 231.
9. Johansson T., Pasalic E. A construction of resilient functions with high nonlinearity // IEEE Transactions on Information Theory. 2003. Vol. 49 (2). P. 494 - 501.
10. Kurosawa K., Satoh T., Yamamoto K. Highly nonlinear t-resilient functions // J. of Universal Computer Science. 1997. Vol. 3, № 6. P. 721 - 729.
Поступила в редакцию
12 декабря 2013 г.