2003
Доклады БГУИР
июль-сентябрь
Том 1, № 3
УДК 621. 391. 26
ОРТОГОНАЛЬНЫЕ КОДЫ НА ОСНОВЕ БЕНТ-ПОСЛЕДОВАТЕЛЬНОСТЕЙ
В. Д. ДВОРНИКОВ
Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь
Поступила в редакцию 26 сентября 2003
В статье рассмотрен низкоскоростной ортогональный код, множество кодовых слов которого образовано диадными сдвигами одной бент-последовательности. Доказано, что код является ортогональным и нелинейным. Определено количество различных кодовых множеств. Для декодирования кода предложено использовать алгоритм вычисления диадной корреляции в спектральной области Уолша-Адамара.
Ключевые слова: ортогональные коды, бент-последовательности, диадный сдвиг, диадная корреляция, спектр Уолша-Адамара.
Известны нелинейные кодовые конструкции, являющиеся смежными классами кодов Рида-Маллера высоких порядков (коды Кердока, коды Препараты) [1]. Свойства нелинейности позволяют обеспечить определенную степень криптографической защиты сообщений. При этом желательно иметь большое число различных кодовых ансамблей, а сами коды должны иметь быстрые алгоритмы декодирования. Перспективными в этом отношении являются бент-последовательности [2]. Ниже рассмотрен метод синтеза ортогональных нелинейных кодов на основе бент-последовательностей и устройства их быстрого декодирования. Кодовое слово длины п записывается в виде последовательности
{Ьг(])} = [Ь0(]),Ь1(]),...,Ьп_1(])] ,
где п = 22т — длина кодового слова, т — любое целое число, ] число, представляющее собой блок информационных символов, ] -Кодовое слово для ] = 0 вычисляется по формуле
{Ь(0)} = (г2,
здесь = (/)шоё2т , г2 = (г -)2-ш, а г1 • г2 — скалярное произведение.
Последовательность {Ьг(0)} является бент-последовательностью длины п [3]. Остальные кодовые слова образуются диадным сдвигом (перестановкой) символов исходной последовательности в соответствии с параметром сдвига _/ [4,5]:
{Ьг(])} = {Ь( 0 0 ])} .
Для этого текущие номера символов г в двоичной форме суммируются по модулю два информационными символами ]. Тогда можно записать
{Ь (])} = (-1 )(г'0]1>(г20]2)
— 2т -разрядное двоичное
0,...,22т+1 -1.
Здесь = (1)шой2т, ]2 = (] — ]1)2~т .
Так как ] изменяется в диапазоне от 0 до 22т — 1, то полученный ансамбль будет содержать 22т кодовых слов. Пусть множество В содержит все кодовые слова. Утверждение 1. В является ортогональным множеством. Под ортогональностью понимается следующее свойство кода:
\п, 1 = I
ЩМ = ЪЪг(1)Ъг(1) = \п , Т0 [0,1 * I.
Покажем, что это справедливо для рассмотренного ансамбля. Если г = 1, то справедливость утверждения доказывается вычислением
ЩМ) = ТЬ(1)Ъ(]) = %[(—1)("© © 12)]2 = П.
1=0 1=0
Для ] * I запишем Я( 1,1) = ^Ъг(])Ъг(!) = %(—1 )('1 © ]'ю2 © 1'2)( —1 )(ч ^Нъ Ш2) =
1=0 г=0
п—1 2т —1 2т —1
= £ ( —1)(11 ® 11> (12 ® ]2)®(11 Щ)-(12 ©Ь) = ( — 1 )1Г 12 ©¡Г ¡2 £ ( — 1 )12-(}1 Щ) £ ( —1 )1г(}2 ©Ь) г=0 г2 =0 г1 =0
п—1
Если ¡2 * 12 , то внутренняя сумма £ (—1 )11 (12©12> равна нулю, так как (—1 )'г
г=0
представляет собой строку матрицы Уолша-Адамара с номером ]2 © 12 * 0. Если г2 = 12, а
■(12 ©12)
п—1 2т —1
г1 * 11, то £ (—1 )г1 '(12©'2) = ±2т . При этом сумма £ (—1 )2 (11Щ> = 0 , поскольку (—1 )2^
1
г=0 г,=0
представляет собой строку с номером 1 © 11 * 0. Поэтому если 1 * I, то в любом случае Щ],!) = 0.
Утверждение 2. В — нелинейный код.
Под нелинейностью (негрупповые свойства) понимается свойство, когда не выполняется условие замкнутости множества В относительно операции умножения. Если 1 * I,
(Ъ1(1)} е В, {Ъг(!)} е В, то
(Ъ(1Ш(1)} = {Ъг(р)} и {Ъ(р)}е В.
Достаточно показать, что это условие выполняется хотя бы в одном случае. Пусть I = 1 © 5, где 5 = 00...01 — 2т -разрядное двоичное число, равное единице. Тогда
{Ъ (р)} = {Ъ(])}{Ъ(] © 5)} = (—1 )(г1 ©11)(г2© 12)(—1 )(г1 ©11 ©51)(г2©12) = (—1 )51(г2©12).
В результате получилась последовательность длины п, которая является строкой матрицы Уолша-Адамара с номером, равным т . Поскольку множество В не содержит подобной последовательности, то условие замкнутости не выполняется. Следовательно, код нелинейный.
Подобным образом можно построить несколько ансамблей кодовых последовательностей, отличающихся друг от друга, если использовать в качестве исходного кодового слова {Ъг(0)} любую бент-последовательность. В общем случае можно образовать не менее чем
Ма = 2т! 22 2т 1 различных ансамблей биортогональных нелинейных кодов [3]. В качестве примера ниже приведены два кодовых слова предложенного кода длины 16:
{Ь( 0)} =(1,1,1,-1,1,1-1,1,1-1,1,1,1-1-1-1),
{Ь( 1)} =(1,1,-1,1,1,1,1,-1,-1,1,1,1,-1,1,-1,-1).
Для повышения помехоустойчивости ортогональные коды декодируются методом максимального правдоподобия. Для этого вектор X, образованный символами принятого кодового слова, умножается на кодовую матрицу и в произведении находится максимальная компонента. Основной объем вычислений при этом тратится на вычисление корреляционного вектора, поэтому рассмотрим только эту операцию. Поскольку все кодовые слова образуются диад-ным сдвигом {Ь(0)}, то для декодирования целесообразно использовать алгоритм вычисления диадной корреляции [4, 5]. Процесс вычисления корреляционного вектора описывается следующим выражением:
У = п Н(НЬ)(НХ),
где Н — матрица преобразования Уолша-Адамара размерности п х п ; Ь — вектор-столбец, образованный символами {Ь1(0)}.
В общем случае для нахождения У необходимо три раза вычислить преобразование Уолша-Адамара и перемножить спектры векторов Х и Ь . Все вычисления производятся над действительными числами, а при вычислении спектров используются только операции типа сложение-вычитание. Для экономии результаты вычисления спектра НЬ используются многократно. Дополнительная экономия получается при перемножении спектров. Во-первых, все
компоненты НЬ равны ± 2т, поэтому можно использовать следующую форму записи выражения для вычисления корреляционного вектора:
У = 2-т Н(2-т НЬ)(НХ) .
В этом случае 2 т НЬ = ±1 и, следовательно, умножения вообще исключаются. В результате потребуется 4тп операций типа сложение. Структурная схема декодера, реализующего данный алгоритм, представлена на рисунке.
X
У
ПЗУ
Структурная схема декодера
Декодер содержит два блока вычисления быстрого преобразования Уолша-Адамара, постоянное запоминающее устройство для хранения спектральных коэффициентов кодового слова {Ь(0)} и п умножителей. При умножении фактически происходит только изменение
знаков спектральных коэффициентов вектора X, следовательно, умножители можно исключить, а изменение знаков выполнять при загрузке второго блока быстрого преобразования Уолша-Адамара. 112
Предложенные нелинейные ортогональные коды обладают большим ансамблем, высокой помехоустойчивостью и структурной сложностью, декодируются при помощи быстрых преобразований, поэтому они могут найти применение в защищенных высокоскоростных телекоммуникационных системах с обработкой сигнала в реальном масштабе времени.
ORTHOGONAL CODES ON THE BASES OF BENT-SEQUENCES
V.D. DVORNIKOV Abstract
The paper considers low-rate orthogonal code, which code words get, is formed by dyadic shifts of a bent-sequence. It is proved that the code is orthogonal and nonlinear. The number of different code sets is defined. The algorithm of calculation of dyadic correlation in spectrums Walsh-Hadamard domain is proposed for decoding.
Литература
1. Мак-Вильямс Ф.Дж., Слоэн Н.Дж.А. Теория кодов, исправляющих ошибки. М., 1979.
2. Rothaus O.S. On Bent Functions // J. Combinatorial Theory. Ser. A. 1979. Vol. 20. P. 300-305.
3. Prenel B., VanLeekwijck W., VanLinden L., Govaerts R., Vandewalle J. Propagation characteristics of Boolean functions // Advances in Cryptology. Proc. Eurocrypt '90. Lecture Notes in Computer Science. Vol. 473. Berlin, Heidelberg, New York: Springer-Verlag, 1991.
4. Трахтман А.М., Трахтман В.А. Основы теории дискретных сигналов на конечных интервалах. М., 1975.
5. Лосев В.В., Бродская Е.Б., Коржик В.И. Поиск и декодирование сложных дискретных сигналов. М., 1988.