Доклады БГУИР
2014 № 5 (83)
УДК 681.3
СРАВНИТЕЛЬНЫЙ АНАЛИЗ ВЕРОЯТНОСТИ ОШИБОК ДЕКОДИРОВАНИЯ КОДОВЫХ КОНСТРУКЦИЙ RIJNDAEL И БЧХ
Д.М. БИЛЬДЮК, С Б. САЛОМАТИН
Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь
Поступила в редакцию 27 декабря 2013
Рассматривается нелинейный помехоустойчивый код на базе алгоритма криптографического преобразования данных Ш]пёае1. Произведен сравнительный анализ декодирования кодов Ш]пёае1 и БЧХ.
Ключевые слова: криптографическое преобразование данных, помехоустойчивое кодирование, алгоритм Ш]пёае1, границы помехоустойчивого кодирования, нелинейный код.
Введение
Нелинейный двоичный код на основе алгоритма Ш]пёае1 (далее Л-код) кодовой длины п и информационной длины к обладает как криптографическими, так и помехоустойчивыми свойствами [1-3]. Декодирование такого кода осуществляется переборными методами - либо по принципу максимального правдоподобия, либо на основе перебора возможных ошибок (например, на основе декодеров Чейза) [1]. Существование других вариантов декодирования свидетельствовало бы о криптографической уязвимости используемого в основе кодирования преобразования [4].
Недостатком алгоритма используемого в декодере максимального правдоподобия (далее ДМП) является его высокая вычислительная сложность (по сравнению с известными алгоритмами декодирования для линейных кодов) [4]. Однако ДМП осуществляет декодирование за границей корректирующей способности используемого кода, определяемой минимальным кодовым расстоянием в метрике Хэмминга (далее ) [5]. Тогда актуальной является задача сравнительного анализа помехоустойчивых свойств Л-кода со свойствами известных двоичных линейных кодов.
Среди обширного класса помехоустойчивых кодов БЧХ существуют хорошие (с точки зрения дистанционных свойств) двоичные коды [6]. Структура таких кодов позволяет определить их как коды с алгебраическим декодированием. Реализация алгебраического декодера (далее АД) может осуществляться на основе ряда алгоритмов [6], эффективность которых зависит от конкретной аппаратно-программной платформы. Тогда логичным был бы сравнительный анализ помехоустойчивых свойств Л-кода с ДМП, БЧХ-кода с АД в пределах границы декодирования (на основе алгоритма использующего понятие полинома локаторов ошибок, например, алгоритма Берлекемпа-Месси) и БЧХ-кода с ДМП. Для оценки помехоустойчивых свойств кода принято использовать зависимость вероятности ошибки на информационный бит от отношения сигнал/шум определяемого как отношение энергии одного бита кодового слова к спектральной плотности мощности шума в пределах ширины спектра передаваемого сигнала в канале с аддитивным белым гауссовским шумом (далее АБГШ) [6]. В качестве сигнала чаще всего используют сигнал с двоичной фазовой манипуляцией (далее ДФМ). Отраженные в статье результаты экспериментов получены при использовании такого сигнала с жесткой демодуляцией и частотой дискретизации 10/0 (/0 - несущая частота), 12-разрядным квантованием и с размещением десяти периодов несущей частоты в одном бите.
Схема формирования двоичного Л-кода
Двоичный R-код с параметрами (n, k, ) определяется как множество отображенных ^-мерных векторов a = (a0, a, —, i) е GF(2k ) в другое множество «-мерных векторов c = (c0, c,—, c„-i) е GF(2n), k < n, с минимальным расстоянием Хэмминга среди всех возможных пар кодовых слов - dmn [1]. Отображение реализуется на основе криптографического алгоритма Rijndaelm п с ключом шифрования s = (s0, s^, —, j) е GF(2m), вектором избыточности v = (v0, v, —, vr_^) е GF(2r), r = n—k, и задается функцией ф(а, s, v): GF(2k) ^ GF(2n) [1]:
с ^ ф(а, s, v): (a, s, v) ^ Rijndaelmn (a | v, s). (1)
Параметры m и n (длина ключа шифрования и длина блока шифрования соответственно) в основном режиме (режиме электронной кодовой книги) криптографического преобразования Rijndael могут принимать фиксированные значения 128, 192 и 256 [6]. Для формирования R-кода произвольной длины n необходимо использовать режимы криптографического преобразования с обратной связью длины в один бит, вектор инициализации iv = (iv0, iv1,—, ivm—1) е GF(2u), и е {128,192,256}, можно считать частью ключа. Тогда отображение задается функцией у(а, s, v, iv): GF(2k) ^ GF(2n) [ 1]:
с ^ y(a, s, v, iv): (a, s, v, iv) ^ ( o ^ iv; a'^ a | v; for i from 0 to n — 1 do
ci ^ (RjndaeL,u(o, s))u—1 ® a;o ^ ^ o2,—ou—j, c); (2)
end do; return c;).
Отображения при помощи функций (1) и (2) задают помехоустойчивый код с близкими дистанционными свойствами [2].
Моделирование системы связи с помехоустойчивым кодированием и каналом связи с АБГШ
Существует теоретическая оценка верхней границы вероятности ошибки на бит РеЬ информационного слова a в зависимости от Eb / N0 (отношение энергии одного бита кодового слова E к спектральной плотности мощности шума в пределах ширины спектра передаваемого сигнала N0) в канале с АБГШ для блокового группового двоичного кода (n, k, drin), drin = 2t +1, t - гарантированная максимальная кратность исправляемой ошибки в кодовом слове [5]. Для определенных во введении условий данная оценка определяется неравенством [6]:
n
Pb <1 £(t + iCnP■ (1 — p)n—' , (3)
n i=t+1
''2Ek , Q(x)~Je 2dt.
n '
где с' =—-—, p = Q n i !(n — i)!
\
No n ,
4in ■
Для некодированного ДФМ используется оценка [6]:
(
Peb = Q
2Eb
N 0 ,
(4)
Оценки (3) и (4) используются для определения достоверности модели системы связи, структурная схема которой изображена на рис. 1.
Рис. 1. Структурная схема модели системы связи с помехоустойчивым кодированием и каналом связи с
АБГШ при использовании ДФМ
Источник информации формирует информационные равновероятные слова а в виде двоичных векторов из 0^2к ). Кодер может отсутствовать (в случае системы связи с ДФМ без помехоустойчивого кодирования, далее - некодированный ДФМ-сигнал), либо реализовывать функцию избыточного кодирования, осуществляющую отображение 0^(2к) ^ 0¥(2п) для формирования двоичного вектора кодового слова с. В случае использования Л-кода кодер реализует функции (1) или (2), а для кодов БЧХ может использоваться функция умножения на порождающий полином [6].
ДФМ-модулятор формирует дискретные комплексные отсчеты фазоманипулированного сигнала с() используя кодовые слова в качестве модулирующих последовательностей. ДФМ сигнал поступает в канал с АБГШ, где формируется искаженный сигнал у() = с() + е(). Отсчеты АБГШ е(1) рассчитываются исходя из ширины спектра ДФМ сигнала и в соответствии с заданным отношением / N [6]. ДФМ демодулятор осуществляет побитовую демодуляцию принятого сигнала у(() с жесткими (двоичными) решениями в виде вектора у е 0^(2п) на выходе [6].
Декодер (также может отсутствовать в случае некодированного ДФМ-сигнала) использует внесенную в кодере избыточность для исправления ошибок, произошедших в результате искажений в канале, при этом предполагается наличие двоичного вектора ошибок е е 0Е(2п), такого что у = с + е [5]. В случае Л-кода используется ДМП, а в случае БЧХ-кода может быть использован как ДМП, так и АД. На выходе декодера формируется оценка переданного информационного вектора а [5].
Блок расчета вероятности ошибки РеЬ вычисляет отношение количества ошибочных бит в потоке информационных слов к общему количеству переданных бит.
Разработка блоков кодирования и ДМП для кодов Я и БЧХ под среду Simulink
Библиотека БШиНпк не содержит стандартных блоков кодирования и декодирования Л-кода, а также ДМП для кодов БЧХ. Разработка таких блоков осуществляется реализацией программ на основе МЕХ-файлов и динамических библиотек, подключаемых к ним, на языке программирования С [7]. Кодер Л-кода разработан на основе реализации функций (1) и (2), кодер БЧХ реализуется как функция Ьск(а( х), g (х)): а( х) ^ с( х) [6]:
с(х) ^ Ьск(а(х), g(х)): (а(х), g(х)) ^ а(х)g(х),
(5)
где § (х) - порождающий полином кода, ^в§(а(х)) — п — к; а(х) — ^ а1х' - информационный
¿—0
полином, коэффициенты а' интерпретируются как координаты информационного
п—1
вектора а = (ао>а1>---,ак—1) е С^(2к) ; с(х) = ^с;х' - кодовый полином, коэффициенты
ci интерпретируются как координаты кодового вектора c - (co,cl,.■■,c„-i) e GF{2") В
векторном виде функция (5) реализуется на основе модели регистров сдвига с конечным откликом bch(a, g) : gF(2 k Gf(2n ) [6]:
c ^ bch(a, g) : (a, g) ^ (
a'^(ao,al,...,ak-,0k,0k+i,-0n-i); s^(00,0ь-■ 0n-k-i); for i from 0 to n -1 do
Ci ^ a'i Sn-k ® S0 Sn-k-1 ® S1 Sn-k-2 ® - ® Sn-k-1 g0 ; (6)
S ^ (a' i , ^ sn-k-2);
end do; returnc; ),
n-k
где g - (g0, g ,—g„-k ) - вектор коэффициентов порождающего полинома g (x) = ^ gX .
i=0
ДМП для БЧХ- и R- кодов осуществляет поиск ближайшего к принятому вектору y
среди всех M = 2k кодовых слов. Расчет расстояния в метрике Хэмминга осуществляется как оценка веса разности двух векторов, и в двоичном поле реализуется при помощи функции [6] :
d ^ dist(y, c,. ): (y, c,. ) ^ wt(y ® c,. ), (7)
где d - расстояние Хэмминга; wt - вес Хэмминга; i = 0,1,.. .M -1.
Перебор всех возможных кодовых слов ведет к высокой вычислительной сложности ДМП с ростом параметра k . Операции вычисления расстояний, на основе функции (7), до всех кодовых слов независимы и могут быть вычислены при помощи параллельных вычислительных средств, что приведет к снижению временных затрат декодирования искаженного кодового слова. Среди таких средств существуют решения на основе технологии CUDA выделяющиеся, среди существующих параллельных вычислительных систем, низкой стоимостью вычислений и использующиеся как сопроцессорный ускоритель вычислений [7]. Архитектура вычислительных средств CUDA (далее просто - CUDA) относится к классу SIMD (Single Instruction, Multiple Data - одиночный поток команд, множественный поток данных) [7]. Программный код приложений для CUDA реализуется на языке C путем разработки последовательного алгоритма, копии которого исполняются во множестве потоков для множества различных данных параллельно. Алгоритм ДМП для двоичного кода C = (c, |i = 0,1,..M-1} в метрике Хэмминга задается функцией:
a ^ DMP(y, damJ : (y, damiJ ^ (
ai ^ binary(i); (forV i)
c. ^ enc(ai ); (forVi)
dt ^ dist(y, c. ); (forV i)
dat ^ (d, | i); (forV i) (8)
atom icMitidam n, dat ); (for V i)
'min ^ (dmin 1 'min ) ^ damin ;
a ^ binary(imin); returna; ),
где - общая для всех потоков память для записи номера потока i с наименьшим
расстоянием 4, i = 0,1,.. .М-1; Ьтагу(г) - функция преобразования числа i в двоичный вектор длины k; епс(а) - функция кодирования информационного вектора а, для Л-кода реализуется при помощи функции (1) либо (2), для БЧХ-кода при помощи функции (5) либо (6); atomicMin(х,у) - функция атомарного доступа к памяти хранящей переменную х и реализующей запись в эту память наименьшей из двух переменных х и у [8]. Модель системы на основе Л-кодирования в среде 81тиПпк с реализацией функции (8) для СиБЛ в ДМП изображена на рис. 2.
Кст«есгео при ютык бит
Рис. 2. Модель системы связи с Л-кодированием и ДМП на основе СиБЛ в среде БШиНпк пакетаМаЬаЬ
Оценка вероятности ошибки кодов Я и БЧХ в канале с АБГШ
Сравнительный анализ эффективности корректирующих кодов Л и БЧХ осуществляется с использованием рассмотренных выше моделей (рис. 1 и 2) на основе зависимости РеЪ от отношения /N. Параметры выбранных для сравнения кодов, представлены в таблице.
п 7 15 15 15 31 31 31 31 63 63 63 63 63 127 127 127
k 4 5 7 11 6 11 16 21 7 10 16 18 24 8 15 22
(БЧХ) 3 7 5 3 15 11 7 5 31 27 23 21 15 63 55 47
¿тп (Л) 2 4 2 1 8 3 1 1 19 15 9 7 2 44 32 20
Формирование БЧХ осуществлялось с использованием функции (6), а Л-кода - с использованием функции (2), вектора избыточности V и инициализации ¡V использованы с координатами равными нулю. Вектор 8 - случайный. Примеры результатов моделирования с использованием параметров, приведенных в таблице представлены на рис. 3.
а б
Рис. 3. Примеры результатов моделирования с использованием Л и БЧХ-кодов с параметрами а - (63,10) и б - (127,22)
Представленные результаты показывают, что:
- ДМП осуществляет декодирование за границей корректирующей способности помехоустойчивого кода;
- существуют Л-коды с зависимостью РеЬ от отношения Еь / N близкой к зависимости БЧХ-кодов при одинаковых параметрах (п, к), в случае использования ДМП (заметим, что dmin Л-кода меньше чем у БЧХ-кода - см. таблицу).
Анализ полученных данных для всех кодов таблицы показывает, что расстояние между характеристиками РеЬ (Еь / N ) двоичного БЧХ-кода при использовании АД и ДМП зависит как от длины кода, так и от скорости (рис. 4).
-Рас стояв ие ме ждуЕ ЧХ-к одаш [при, .АД
\ — -Рас стояк me ме жду Е ЧХи R код амиг риДО Ш
> \
\ .......1
/
V ✓ N.. -- <J" С- 1 —
7 15 15 15 31 31 31 31 63 63 63 63 63 127 127 127 0,57 0,33 0,47 0,73 0,19 0,35 0,51 0,67 0,11 0,16 0,25 0,29 0,38 0,06 0,12 0,17
л, бит R = к'п
Рис. 4. Зависимость расстояния Лу по параметру отношения у = Eb / N на уровне Рл = 10 6 от длины кода n и его скорости R = к / n для БЧХ-кода при ДМП и АД и Л-кода по сравнению с БЧХ-кодом при ДМП
Из зависимостей, представленных на рис. 4, видно, что с ростом скорости кодов расстояние между характеристиками РеЬ (Eb / N) для БЧХ-кодов при ДМП и АД сокращается - БЧХ-код приближается к коду Хэмминга, относящийся к классу совершенных кодов, для которого характерно совпадение указанных характеристик [6]. Также увеличение длины БЧХ-кода ведет к большему количеству возможных кодов между кодом с минимально возможной скоростью и кодом Хэмминга, но всегда Лу достигает нуля при совпадении с последним. Для Л-кода характерно отдаление от границы максимального правдоподобия БЧХ-кода с ростом скорости вследствие уменьшения комбинаторных возможностей псевдослучайного выбора кодовых слов. С ростом длины Л-кода указанные комбинаторные возможности увеличиваются, что ведет к приближению к границе максимального правдоподобия БЧХ-кода.
Выводы
Существуют двоичные Л-коды с границами максимального правдоподобия (по параметру вероятности ошибки на бит в зависимости от отношения сигнал шум в канале с АБГШ) близкими к аналогичными границам БЧХ-кодов, преимуществами которых являются дополнительные криптографические свойства. Указанные Л-коды обнаруживаются малых скоростях формируемых кодовых конструкций, что более выгодно (с точки зрения быстродействия) для ДМП.
ANALYSIS OF DECODERS BIT ERROR FOR RIJNDAEL AND BCH CODES
DM. BILDZIUK, SB. SALOMATIN Abstract
The nonlinear error control code on the basis of cryptographic transformation of data through Rijndael algorithm is considered. Bit error properties of decoding algorithms of Rijndael codes and BCH codes for AWGN channel are compared.
Список литературы
1. Бильдюк Д.М., Саломатин С.Б. // Докл. БГУИР. 2012. № 8 (70). С. 75-80.
2. Бильдюк Д.М., Саломатин С.Б. // Докл. БГУИР. 2012. № 7 (бз). С. 105-109.
3. Elumalai R., ReddyA.R. // Int. J. of Scientific Research. 2011. Vol. 2, Iss 3.
4. Фомичев В.М. Дискретная математика и криптология. М., 2003.
5. MacWilliams F.J., Sloane N.J.A. The theory of error correcting codes. North-Holland, 1977.
6. Peter Sweeney. Federal Information Processing Standards Publication 197. USA, 2001.
7. Farber. R. CUDA Application Design and Development. MK, 2011.