ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2014 Прикладная теория кодирования №1(23)
ПРИКЛАДНАЯ ТЕОРИЯ КОДИРОВАНИЯ
УДК 519.7
О ВЕСОВЫХ СПЕКТРАХ ОДНОГО КЛАССА ЛИНЕЙНЫХ КОДОВ
А. В. Покровский
Институт проблем информационной безопасности Московского государственного университета им. М. В. Ломоносова, г. Москва, Россия
E-mail: [email protected]
Рассматривается класс линейных кодов, являющихся подкодами кода Рида — Маллера. Для данного класса кодов рассчитываются их весовые спектры.
Ключевые слова: код Рида — Маллера, весовой спектр, булевы функции, вес булевой функции.
Введение
Проблема описания весового спектра кода Рида — Маллера тесным образом связана с задачей классификации булевых функций относительно группы аффинных или линейных преобразований, действующих на её аргументах. Для квадратичных булевых функций она была решена с помощью аппарата симплектических форм и теоремы Диксона [1, 2], что позволило описать весовой спектр кода Рида — Маллера второго порядка. Иначе обстоит дело с классификацией булевых функций более высоких степеней. Начиная уже с кубических форм, нет их полной классификации, хотя исследования в этом направлении проводятся довольно давно. В этой связи следует отметить работу [3], в которой получено существенное продвижение в данном вопросе. Аналогичная ситуация складывается и при описании весового спектра кодов Рида — Маллера более высоких порядков. Существенными результатами в области описания этой характеристики кодов являются формула Касами — Токуры [2] для числа кодовых слов, вес которых лежит в определённом диапазоне, и теорема, описывающая весовой спектр произвольного кода с максимальным расстоянием [4]. В настоящей работе рассматривается один из подкодов кода Рида — Маллера произвольного порядка и описывается его весовой спектр.
1. Основные обозначения и определения
Символом Fn, n Е N, будем обозначать множество булевых функций от n переменных, Fq — поле из q элементов. Для веса булевой функции и степени её полинома Жегалкина используем запись wt(f) и deg(f) соответственно.
Определение 1. Линейным кодом над Fq называется подпространство C векторного пространства F^ Размерность C называется размерностью кода. Если она равна к, то такой код называется (n, к)-кодом. Кодовым расстоянием C называется минимальный вес Хемминга ненулевого элемента с Е C. Если кодовое расстояние C равно d, то такой код называется (n, к, d)-кодом.
Для любого линейного (n, к, d)-кода справедлива оценка Синглтона [1, 2, 4]
d ^ n — к + 1.
Определение 2. Любой код с кодовым расстоянием, удовлетворяющим равенству d = п — к + 1, называется кодом с максимальным расстоянием.
Определение 3. Весовым спектром (п, к)-кода С называется совокупность чисел А0, Аь ..., Ап, где Аі = |{с є С : wt(c) = і}|, і = 0,1,..., п.
Весовой спектр кодов с максимальным расстоянием описывает следующая теорема.
Теорема 1 [4]. Распределение весов (п, к, d)-кода над Е, с максимальным расстоянием определяется формулами А0 = 1, А, = 0 при і = 1,...^ — 1 и
л, = (п) (« — 1) Е (—1)' (г — 1) при і > d.
Практически важным классом линейных кодов является код Рида — Маллера, который определяется через булевы функции заданной степени. Обозначим Qf вектор значений функции f є ^п:
Qf = (у (ио ),у (и1),...,у (и2п—1)), иі є , і = ° ..., 2га — 1.
Определение 4. Для произвольных п, г є N 0 ^ г ^ п, кодом Рида — Маллера ИМ (г, п) порядка г и длины 2п называется множество всех строк Qf булевых функций
V Є Тп, удовлетворяющих условию deg(f) ^ г.
На данный момент полностью описан весовой спектр кода ИМ(2,п). Эту задачу удалось решить, используя полученную классификацию квадратичных форм. Обозначим АОЬ группу аффинных преобразований на Щ.
Определение 5. Функции У1,У2 Є Т,п называются аффинно эквивалентными, если существует пара (А, 7) Є АОЬ, такая, что У1(хА ф 7) = У2(х) для любого Х Є Щ, где А — невырожденная матрица размера п х п над Е2; 7 — вектор из ЕП.
В дальнейшем обозначать аффинную эквивалентность функций будем символом
VI а£ьУ2. Как известно [1, 2], любая квадратичная форма аффинной заменой переменных может быть приведена к одному и только одному каноническому виду:
^ (Х1, . . . ,Хп) = Х1Х2 ф ... ф Х2к—1Х2к;
^(Х1, . . . ,Хп) = Х1Х2 ф ... ф Х2к—1Х2к Ф 1;
^(Х1, . . . ,Хп) = Х1Х2 ф ... ф Х2к—1Х2к ф Х2к+1.
Число к называется рангом квадратичной формы и может изменяться в интервале от 1 до [п/2]. Канонические формы ^^^ имеют вес 2п—*—1 — 2п—*—к—1, 2п—*—1 + +2п—*—к—1, 2п—*—1 соответственно и лежат на разных орбитах.
Обозначим О,.(к), і =1, 2, 3, мощность орбиты, на которой лежит і-я каноническая форма ранга к. Аффинные функции в этом смысле могут трактоваться как квадратичные формы ранга 0. Тогда всё множество аффинных функций от п переменных разбивается на три орбиты:
о,, (0) = |{0}| = 1,
О,2 (0)= |{1}| = 1,
О,3(0) = 110ЯХ1 ф ... ф ЯпХп ф є, аі, є Є Е2, і = 1,..., п, (а1,..., йп) = 0} | = 2п+1 — 2.
Совершенно иначе обстоит дело с описанием весового спектра кода ИМ(г, п) при
г ^ 3. Уже при г = 3 его весовой спектр не известен для произвольного п. На данный
момент наиболее исчерпывающий ответ на этот вопрос даёт формула Касами — Току-ры, которая позволяет подсчитать количество слов, вес которых лежит в диапазоне 2п—г ^ wt(f) < 2п—г+1, ^ Є ИМ(г, п). Позже эта формула была обобщена на случай 2п—г ^ wt(f) ^ 2,5 ■ 2п—г.
2. Весовой спектр одного подкода кода Рида—Маллера
Рассмотрим множество С* С Ь = 1,..., п — 1, определяемое следующим образом:
С* = \ д(ж„-*+ь..., жга) 0 0 0 0 Жк/к(жь..., жга-*)0
^ 1^г<^'^га-* &=«,-*+1
0/(ж1,... ,Хп-*) 0 е, где д е Л, а*^, е е {0,1},
/(ж1,. . . , Хп-*), /к (ж1,... , жп-*)—линейные функции|.
Очевидно следующее утверждение.
Утверждение 1. Множество векторов значений П/, f е С*, является подкодом кода И,М(шах{Ь, 2}, п) размерности 2* + ^ ^ + (п — Ь)(Ь +1).
Наиболее интересен этот код при Ь ^ 3, так как при этих значениях параметра получаем подкод кода Рида — Маллера третьего или более высокого порядка. В случае Ь = 3 это подкод кода ИМ(3,п), включающий в себя функции третьей степени нелинейности, содержащие лишь один кубический моном. Весовой спектр этого кода рассчитан в [5]. В данной работе предлагается обобщение этого результата для произвольного значения Ь из указанного интервала.
Имеет место следующая теорема.
Теорема 2. Весовой спектр кода С* в случае нечётного (п — Ь) представлен в табл. 1, где г = 0,... , 2*-г; г = 0,... , шт{£, п — Ь — 2к}; к = 0,... , [(п — Ь)/2]; в случае чётного (п — Ь) — в табл. 2, где г = 0,... , 2*-г; ^ = 0,... , 2*; г = 0,... , шт{£, п — Ь — 2к}; к = 0,..., (п — Ь)/2 — 1;
N(і, п — і — 2к, г) = <
0,
1,
(2
если г > тіп{і, п — і — 2к},
п—і—2к\(пі
)(24 — 1),
если г
если г
0,
1,
М(і, п — і — 2к, г) = <
N (і — 1, п — і — 2к, г — 1)х
х(2п—і—2к — 2Г—1) +
ll+N(і — 1, п — і — 2к, г)2г, если 2 ^ г ^ тіп{і, п — і — 2к};
0, если г > тіп{і, п — і — 2к} или г = 0,
2і — 1, если г =1,
N (і, п — і — 2к, г) —
„—N (і, п — і — 2к — 1, г)2г, если 2 ^ г ^ тіп{і, п — і — 2к}.
Таблица 1 Весовой спектр кода С* в случае нечётного (п — г)
Количество функций Вес
у тт{£,п — £—2к} ч Одз(к)22‘+2кЧ 2*("-4-2к) — £ М(г,п — 4 — 2к,г)) V Г=1 У 2”-1
^2 . ^Од3 (к)м(г,п — г — 2к,г)22‘-2‘-г+2к4 г wt(qk) + (24-г — г) wt(qk)+ + (2‘ — 2*-г ^(^)
^2 . ^ о91 (к)ж(г, п — г — 2к, г)22‘-2‘ - г+2Ы г wt(qk) + (24-г — г) wt(qk)+ + (2‘ — 2*-г ^(^)
^2 . ^ Од2 (к)ж(г,п — г — 2к, г)22*-2*- г+2Ы г wt(q|) + (24-г — г) wt(qk)+ + (2‘ — 2*-г ^(я|)
Таблица 2
Весовой спектр кода С* в случае чётного (п — г)
Количество функций Вес
у т1п{£,п-£—2к} ч Одз (к)22‘+2Ы( 2*("-4-2к) — £ М (г,п — г — 2к,г)) V г = 1 ' 2”.1
^2 . ^Одз(к)М(г,п — г — 2к, г)22*-2‘-г+2к 4 г wt(qk) + (2*. — г) wt(qk)+ + (24 — 2^г ^(д|)
^2 . ^ 091 (к)ж(г, п — г — 2к, Г)22‘-2‘-г+2к 4 г wt(qk) + (2*. — г) wt(qk)+ + (24 — 2^г ^(^)
^2 . ^ Од2 (к)ж(г,п — г — 2к, г^24.2*-^2*4 г wt(q|) + (2*. — г) wt(qk)+ + (24 — 2*. ^(^)
0 1 2 4 2 3 wt *)/2^ +(24 — 3^ *)/2^
о >£5 (О 2 4 24 3 wt (4”.)/2) +(24 — 3) wt У^”-^2)
Доказательство. Для фиксированной функции из С* возможен лишь один из трёх случаев:
0 а*,ж*ж, 0 I (ж!,..., жга_*) А^ь ^ (XI,..., жга_*);
1^г<,Хп_£
0 а*,ж*ж, 0 I (ж 1,... , ж„_*) а£ь ^ (ж,..., жп_*);
1^г<,Хп_£
0 а*.,-ж*ж, 0 I (ж!,..., ж„_*) а£ь (ж!,..., хп_*).
1^г<,Хп_£
Пусть (А, 7) Е АОЬ — преобразование, приводящее квадратичную форму
0 а*, ЖгЖ, 0 I (ж 1,..., ж„_*)
1^г<,Хп_£
к одному из канонических видов. Применим это преобразование к произвольной функции f Е С* и будем рассматривать вес функции f (жА 0 7) = /(ж). Функция f может
быть лишь одного из трёх видов:
g(xn-t+1 , g(xn-1+1 , g(xn-1+1 ,
>x„) 0 qk (xi,. ,xn) 0 (xi,.
,xn) 0 (xi,.
.,Xn-t) 0 ф Xi/(i)(Xi,
i=n-1+1 n
.,xn-t) 0 ф xi/(i)(x1,
i=n-1+1
n
.,Xn-t) 0 ф Xi/(i)(x1,
i=n-1+1
.j xn-t) 0 ., Xn-t) 0 ., Xn-t) 0 є;.
Вес функции / равен ^^(У) = Е wt(fn-í+t.’.')'n¿n), где Уп_п*4‘11.’.^гп — подфунк-
(¿п-4+1,...,гп )€^4
ция функции f, полученная фиксацией переменных с номерами п — £ + 1,... , п константами гп_*+1 ,... ,гп соответственно.
Рассмотрим ¿х (п—¿)-матрицу £, состоящую из коэффициентов линейных функций /(г)(ж1,... , жп_*), г = п — £ + 1,... , п:
£
/г(1) ...
;(2) 7(2)
71 • • • 7n—t
7 (t) 7n t
Разобьём матрицу L на две подматрицы
L = (Ltx2fc|L:
ix (n—i—2k)
и пусть rang(L") = r, r = 0,... , min {t, n — t — 2k}. Для сокращения записи обозначим число t х (n — t — 2к)-матриц ранга r через N(t, n — t — 2k, r):
N(t, n — t — 2k, r) = <
0,
1,
(2
in—t—2k
— 1)(2‘ — 1),
если r > min{t, n — t — 2k}, если r = 0, если r = 1,
N(t — 1, n — t — 2k, r — 1)x
x (2
,n-t-2fc
— 2r—1) +
Пусть
k+N(t — 1, n — t — 2k, r)2r, если 2 ^ r ^ min{t, n — t — 2k}.
0 ßijXiXj 0 7(X1, . . . , Xn-t) AGL qk(X1, . . . , Xn-t)
1^i<jXn—t
и rang(L") = r. Тогда система
(xn-t+1,... ,Xn)L" = 0
имеет 2* г решений. Если (жга_4+1 ,...,жп) Е Fí является решением системы, то wt(fra-n+l+1,.x.nГn) равен wt(qk), если #(жп_*+1,... , жп) 0 е' = 0, и равен '^(^), если д(жга_4+1 ,...,жп) 0 е' = 1. Поскольку д(жп_*+1,... , жп), а следовательно и д(жп_*+1, ...,жп) 0 е', пробегает всё множество ^¿, то при любой фиксации переменных жп_*+1,... , жп значение функции д(жга_*+1,... , жп) 0 е' может быть произвольным.
В противном случае (когда (жга_*+1,... , жп) не является решением системы (1)) выполняется равенство wt(fra-"í+l+.1;,n.:E") = wt(qk).
Далее рассмотрим два случая:
1) (п — ¿) нечётно и 0 ^ к ^ [(п — ¿)/2] или (п — ¿) чётно и 0 ^ к ^ (п — ¿)/2 — 1;
2) (п — ¿) чётно и к = (п — ¿)/2.
Из сказанного выше следует, что в первом случае ровно
2*_г\
N(¿, п — * — 2к, г)091 (к)22‘_2‘-г+2к*
г
функций имеют вес
i wt(qf) + (2i—r — i) wt(qf) + (2i — 2i—r)wt(qf),
где r = 0,..., min {n — t — 2k, t}, i = 0,..., 2i—r.
Для случая
0 OijXjXj 0 /(xb . . . ,Жга—t) aGlqf (Xi, . . . ,Xn—i)
1^i<jXn—i
рассуждения проводятся аналогичным образом, заменяя qf на и наоборот. Получим, что
^ ^ N(t, n — t — 2k, r)Oq2 (k)22t—2t-r+2ki
функций имеют вес
i wt(qf) + (2i—r — i) wt(qf) + (2i — 2i—r)wt(qf),
где r = 0,... , min {n — t — 2k, t}; i = 0,... , 2i—r.
Теперь рассмотрим случай, когда (n — t) чётно и k = (n — t)/2 при условии, что
0 ßijXiXj 0 / (xi,... , ж„—t) aGl qk (xi,..., xra—t).
1^i<jXn—i
В этом случае L = L/, и при любой фиксации xn—i+1,...,xn прибавление к qf линейной
n
комбинации 0 xi/(i)(x1,... ,xt) либо оставляет её на орбите, содержащей qf, либо
i=n—i+1
переводит на орбиту, содержащую qf. В конечном итоге вес « будет опре-
деляться лишь значением функции g(xn—i+1,... ,xn) 0 е/, которое может быть произвольным.
Зафиксируем в Fi j векторов, на которых функция g(xn—i+1,... , xn) 0е' принимает такие значения, что выполняется условие wt(/n‘ —i+t1+.1..'nXn) = wt(qf), а на оставшихся (2i — j) векторах wt(/«—*+*]+.3..’.Пг.Ж") = wt(qf). Тогда вес функции wt(/) равен
j wt (q(n—i)/2) + (2i — j) wt (q2n—i)/2) .
Поскольку при указанных условиях g(xn—i+1,... , xn) 0 e' однозначно определяется, то функций указанного веса будет ровно
o„i( +)(j) 2‘(“",)' j=0'...-2‘.
Случай, когда (n — t) чётно и k = (n — t)/2 при условии, что
0 ßijXiXj 0 / (x1,... , Xn—i) aGl qk (X1,..., Xn—i) ,
1^i<jXn—i
рассматривается аналогично предыдущему.
Опишем теперь последний из возможных случаев, когда
0 а,ЖіХ 0 I (х,... , ж„_*) а£ь ?з (х,..., ж„_*).
Рассмотрим систему
(жга_і+і,...,жга)£'' = (1, 0,..., 0). (2)
Если вектор (хп_і+і,... , хп) Є Fí является её решением, то ^(хі,..., хп-і) 0
п \
0 0 Жі/(г)(жі,..., я™-*)) равен ), если д(ж„_і+і,..., ж„) 0є' = 0, и ) в про-
г=га_і+і '
тивном случае.
Для всех остальных векторов а, для которых система
(хп_t+1, . . . , хп)^ а
совместна и вектор (жп_і+і,..., хп) лежит в множестве её решений, выполняется равенство
П—І
-Ц ^(хі,... ,хп_*) 0 0 ж/г)(жь... ,ж„_*) ) = 2п * і. і=і
Число * х (п — * — 2к)-матриц ранга г, для которых система (2) совместна, обозначим М(¿, п—*—2к, г). Поскольку система совместна тогда и только тогда, когда га^(£'')т = = га^((£'')т|вт), где в = (1, 0,... , 0), то имеет место рекуррентная формула
М(і, п—і — 2к, г) = <
'0, если г > тіп{і, п — і — 2к} или г = 0,
2* — 1, если г =1,
N (і, п — і — 2к, г) —
к — N (і, п — і — 2к — 1,г)2г, если 2 ^ г ^ тіп{і, п — і — 2к}.
Из этого следует, что * х (п — * — 2к)-матриц ранга г, для которых система (2) несовместна, ровно
шт{*,п_*_2к}
2*(п_*_2к) — Е М(*,п — * — 2к, г).
Г=1
Поэтому в исследуемом коде содержится
тіп{і,п_і_2к}
Е
г=і
Одз (к) ( 2*(п_*_2к) — Е М(і, п — і — 2к, г) 22Ч2Н
функций веса
-і(^ )2* = 2*2п_*_і = 2п_і
и
І —Г
Одз (к)М(і, п — і — 2к, г)2
2‘_2‘-г +2к*
функций веса
і —і(^к) + (2і г — і)-^^) + 22* 2* г —і(^к), где і = 0,..., 2*_ г, г = 1,..., тіп{і, п — і — 2к}, к = 1,..., [(п — і)/2].
ЛИТЕРАТУРА
1. Логачев О. А., Сальников А. А., Ященко В. В. Булевы функции в теории кодирования и криптологии. М.: МЦНМО, 2004. 469 с.
2. Мак-Вильямс Ф.Дж., Слоэн Н.Дж. А. Теория кодов, исправляющих ошибки. М.: Связь, 1979. 744 с.
3. Черемушкин А. В. Методы аффинной и линейной классификации булевых функций // Труды по дискретной математике. 2001. Т. 4. С. 273-314.
4. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986. 576 с.
5. Покровский А. В., Никифоров М. С. Весовой спектр одного подкода кода КМ(3,п) // XIV Междунар. конф. «Проблемы теоретической кибернетики». Пенза: ПГУ, 2006. Ч.2. С. 68-70.