Доклады БГУИР
2012 № 8(70)
УДК 681.3
ДЕКОДИРОВАНИЕ НЕЛИНЕЙНОГО ПОМЕХОУСТОЙЧИВОГО КОДА НА БАЗЕ КРИПТОГРАФИЧЕСКОГО АЛГОРИТМА RIJNDAEL
Д М. БИЛЬДЮК, С Б. САЛОМАТИН
Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь
Поступила в редакцию 24 июля 2012
Рассматривается нелинейный помехоустойчивый код на базе алгоритма криптографического преобразования данных Rijndael. Приведены варианты реализации декодера Rijndael-кода на основе алгоритма максимального правдоподобия и алгоритмов Чейза, а также их сравнение на основе зависимости вероятности ошибки от отношения сигнал/шум. Произведена оценка пропускной способности декодеров при параллельной и последовательной реализации алгоритмов декодирования.
Ключевые слова: криптографическое преобразование данных, помехоустойчивое кодирование, алгоритм Rijndael, AES, границы помехоустойчивого кодирования, нелинейный код.
Введение
Использование помехоустойчивых кодовых конструкций в криптографии дает основание для исследований нелинейных помехоустойчивых кодов на основе криптографических функций. Известны исследования помехоустойчивых свойств Rijndael-кода [1, 2]. Более того существуют работы связываюшие стойкость алгоритмов шифрования против линейного криптоанализа и их расположение относительно границы Варшамова-Гильберта [3].
Криптографические алгоритмы шифрования должны быть устойчивыми против известных методов криптоанализа. Стойкость к корреляционным методам криптоанализа, непредсказуемость (за полиномиальное время) значения кодового слова, крайне низкая вероятность совпадения, а также сбалансированность кодовых слов алгоритмов криптографического преобразования информации обуславливает приемлемые дистанционные свойства нелинейных кодовых конструкций на их основе [4, 5].
Однако нелинейная структура помехоустойчивых кодов на базе криптографических преобразований ведет не только к более высокой вычислительной сложности (по сравнению с линейными структурами) оценки их параметров, но и к более сложным алгоритмам декодирования. Оценка пропускной способности, требований к памяти и корректирующей способности декодеров нелинейного помехоустойчивого кода является важной с точки зрения практического использования последних. В частности, на примере декодера максимального правдоподобия (далее ДМП) помехоустойчивого кода на основе алгоритма Rijndael (далее Л-кода) можно сделать вывод о максимальной корректирующей способности, наибольшим требованиям к памяти и наименьшей пропускной способности нелинейных декодеров в целом.
Схема формирования Л-кода
Л-кодом с параметрами (п, k, dmm)д, определенным над алфавитом ОЕ^) , будем называть множество разрешенных кодовых слов {с 11 = 0,1,...,qk — 1} е ОЕ(дп) , с минимальным кодовым расстоянием d т;п в метрике Хэмминга [5]. Тогда формирование Л-кода можно формали-
зовать как отображение некоторого пространства GF(qk) k-мерных векторов над полем GF(q) а = (a0, a1;..., ak в другое пространство GF(qn) n-мерных q-ичных векторов c = (c0,c^...,cn-1), где at,cj е GF(q) для любого i е {0,.,k -1} и любого j е{0,...,n -1} . Если n > k, то Л-код, как код, основанный на криптографической функции, трактуется как нелинейный избыточный код, корректирующие свойства которого зависят от dmin, кодовые слова c которого нелинейно зависят как от входных информационных слов а, так и от используемого ключа шифрования s = (s0,s1,...,sm-1) е GF(qm). Тогда функция кодирования Л-кода задается как векторная функция ф(а, s):
c = ф(а, s): GF(qk) ^ GF(qn). (1)
Практическая реализация функции ф осуществляется на основе алгоритма кодирования линейных кодов в спектральной области [5]:
- информационный вектор а преобразуется в вектор а' при помощи отображения:
а' = у(а): GF(qk) ^ GF(qn),
где у (а) = {a0, a1,..., ak _1, v0, v1,..., vr _1} , v = (v0, v1,., vr-1) е GF (qr) - вектор избыточности дополняющий информационный вектор до заданной длины n, т.е. r = n _ k . Вектор v представляет собой фиксированную константу из GF(qr), кторая может формироваться из нулей (как в линейных кодах), а также случайным образом - поскольку в данном случае отсутствует связь нулевых элементов с корнями полиномов на основе преобразования Фурье в поле Галуа [5]. Вектор v может быть как открытым, так и секретным параметром;
- кодовый вектор c формируется как отображение:
c = ^(а', s): GF(qn) ^ GF(qn),
где функция - криптографическое преобразование информации (зашифрование) при помощи алгоритма Rijndael, т.е. ф(а, s) = ^(у(а), s).
Поскольку длина преобразуемых функцией £ данных в режиме электронной кодовой книги фиксирована, то для формирования Л-кодов произвольной длины n необходимо использовать режимы с обратной связью [4].
После кодирования вектор c подвергается воздействию случайных преднамеренных и непреднамеренных воздействий, приводящих к искажению его символов:
y = s(c, e): GF (qn) ^ GF (qn),
где s(c, e) = {yt = (c + et) mod q | i = 0,..., n - 1} , y = (y0, y1,..., yn-1) е GF(qn) - вектор искаженных символов, e = (e0, e1,..., en-1) е GF(qn) - вектор ошибок.
Задачей декодера является восстановление искаженных символов в векторе y, т.е. по-
-1
иск вектора ошибок е. Максимальная кратность исправляемых кодом ошибок ? =
2
После того как искаженные символы исправлены, функция восстановления информационного вектора (т.е. функция, обратная к функции представленной в формуле 1) осуществляет обратное отображение:
а = ф1 (с, s): GF(qn) ^ GF(qk), (2)
где ф-1(с,s) = у-1(^-1(с,s)), - функция расшифрования алгоритма в заданном ре-
жиме, у-1 - функция восстановления (деконкатенации) вектора а = (а0, а1,..., ак_1) из вектора
а' = (ao, al,., ак _l, vo, vl,., vr_l).
Оценка декодера маскимального правдоподобия Л-кода
Декодирование по принципу максимального правдоподобия относится к классу ЫР-полных задач и осуществляет соотнесение принятого кодового слова с ошибкой к ближайшему (в смысле метрики Хэмминга) разрешенному кодовому слову [6]. Последнее означает, что для используемого (п, k, dтИп) -кода ДМП содержит в памяти д разрешенных кодовых слов
С = ^j | у = 0...дк — 1} либо вычисляет их динамически по мере необходимости, а при декодировании расчитывает столько же расстояний Хэмминга с целью поиска минимального. Кроме скорости декодирования и занимаемой памяти существует оценка используемого кода и метода декодирования, отображаемая как зависимость вероятности ошибки, приходящейся на один бит информации от отношения сигнал/шум на входе демодулятора в канале с аддитивным белым гауссовским шумом (АБГШ) [6]. Как правило, такие оценки даются для сигналов с двоичной кодовой манипуляцией по фазе (BPSK) использованием помехоустойчивого кода и без него. На рис. 1 представлена зависимость вероятности ошибки на один бит информации Рь от отношения сигнал/шум Еь /Ы0 в канале с АБГШ при использовании BPSK-модуляции (с частотой дискретизации 10f0 (f0 - несущая частота), 12-ти разрядным квантованием и с размещением десяти периодов несущей частоты в одном бите) для некодированного BPSK, (31,6,7)2 Л-кода с ДМП и (31,6,15)2 БЧХ-кода с декодированием на основе алгоритма Берлекемпа-Месси.
ю
10
10
10
10
— — _ __ 1
—
■
s _
N Ч
ч \
\ 3 < \
\
\ \
\ \
10
12
Еъ / М^Б)
Рис. 1. Оценка характеристик кодовых конструкций в канале с АБГШ: 1 - некодированный BPSK-сигнал; 2 - (31,6,7)2 Rijndael-код с ДМП; 3 - (31,6,15)2 БЧХ-код с декодированием на основе алгоритма Берлекемпа-Месси
Из рисунка видно, что выигрыш Л-кода с ДМП при вероятности ошибки Ръ = 10—6 по сравнению с некодированным сигналом составляет 1 дБ, в то же время по сравнению с БЧХ-кодом при той же вероятности ошибки проигрыш составляет около 3,5 дБ. С одной стороны, проигрыш сочетается с дополнительными криптографическими свойствами помехоустойчивого Л-кода, но с другой стороны свидетельствует о необходимости поиска методов увеличения минимального расстояния Хэмминга Л-кода.
р
ъ
Быстрое декодирование Л-кода
Декодирование по принципу максимального правдоподобия требует значительных затрат памяти и обладает высокой вычислительной сложностью [5, 6]. Особенно данная проблема актуальна для высокоскоростных Л-кодов большой длины. Более быстрые декодеры для высокоскоростных Л-кодов большой длины с меньшими затратами памяти могут быть построены на основе алгоритмов Чейза. Известны три типа алгоритмов Чейза для декодирования
(П k, dmш)д -кода [6].
Тип 1. Проверяются все комбинации ошибок на расстоянии не более ^ тИп — 1) от принятого слова.
Тип 2. Проверяются комбинации ошибок веса t = ^ -1)/2] и меньше, размещаемых на любых позициях за исключением |_d/2] наиболее надежных символов.
Тип 3. Проверяются те комбинации ошибок, для которых 7 ошибок размещается на 7 наименее надежных позициях, 7 нечетно, 1 < 7 < dmin -1.
Декодеры на базе алгоритмов Чейза (далее ДЧ), в отличие от ДМП, содержат в памяти либо вычисляют не множество всех кодовых слов, а множество всех возможных ошибок по заданным критериям. Вектор ошибок считается найденным, если функция расшифрования алгоритма ЯуМае1 преобразует текущую оценку кодового слова в вектор а' заданной структуры (2). Очевидно, что требования к памяти и время декодирования в ДМП и ДЧ зависят от мощности перебираемых множеств в ДМП и ДЧ, а мощность, в свою очередь, в ДМП зависит от параметра k, в ДЧ - от dmm (и п в типе 2). Тогда ДЧ не обязательно является более эффективным чем ДМП или наоборот. Кроме того, ДЧ на основе алгоритмов типа 2 (далее ДЧ2) и 3 требует наличия демодулятора с мягкими решениями для оценки надежности символов [6]. Более эффективным среди ДЧ считается ДЧ2 [6]. Для заданных параметров кода (п,к,dmm)д
мощность перебираемого множества в ДМП определеятся мощностью самого кода -
МДМП = qк, а мощность перебираемого множества ошибок в ДЧ2 - МДЧ2 сочетаний из общей длины наименее надежных символов (п —'
2
=2 сп—>+1, как сумма
1=1
= п — t +1) кодового сло-
ва по всем возможным ошибокам веса 7, 7 = 1... t. Тогда вычислительная сложность ДЧ2, при фиксированной длине кода п, с ростом длины информационного вектора к растет за счет увеличения общей длины наименее надежных символов и одновременно убывает из-за уменьшения максимального веса исправляемых ошибок t. На рис. 2 представлены зависимости мощности перебираемых множеств Л-кода от длины информационного вектора к при фиксированом п = 34 для ДМП и ДЧ2.
Рис. 2. Зависимость мощности перебираемых множеств Я-кода от длины информационного вектора к
при фиксированом п = 34 для ДМП и ДЧ2: 1 - мощность перебираемого множества для ДЧ2; 2 - мощность перебираемого множества для ДМП
Из рисунка видно, что ДМП более эффективен для низкоскоростных кодов, а для высокоскоростных кодов - ДЧ2. Граница эффективности для случая представленного на рис. 2 лежит в районе к = 12, т.е. при скорости Л-кода к / п = 0,353 . Указанная граница с ростом фиксированного п растет в смысле параметра к, при этом скорость кода на границе стремится к к / п = 0,38 (см. рис. 3).
0.4
0.3
к / п
0.2'
0.1
0
10 20 30 40 50 60
п , бит
Рис. 3. Зависимость границы эффективности от длины фиксированного п
Однако оценка дистанционных свойств высокоскоростного Я-кода, особенно при больших п, для современной вычислительной техники может представлять собой вычислительно сложную задачу, неразрешимую за разумное время. Тогда корректирующие свойства можно оценить, исходя из вероятности ошибки на информационный бит в зависимости от отношения сигнал/шум в кнале с АБГШ (рис. 1), ограничившись некоторой приемлемой мощностью множества возможных ошибок, начиная перебор наиболее вероятных ошибок, распологающихся на наименее надежных позициях. При такой реализации алгоритмы Чейза типа 2 и 3 заменяются одним модифицированным алгоритмом. Более того, скорость обработки кодовых слов в декодере на основе модифицированного алгоритма (далее ДЧМ) может быть выше чем в ДМП при равных мощностях МдМП и МдЧМ , поскольку декодирование в ДЧМ может закончиться
раньше, чем алгоритм декодирования переберет все возможные значения ошибок (в ДМП перебор всех кодовых слов обязателен).
На рис. 4 представлена оценка корректирующей способности высокоскоростного Я-кода (127,106)2 на основе зависимости вероятности ошибки от отношения сигнал/шум в канале
с АБГШ при использовании ДЧМ с ограниченной мощностью М Д ЧМ = 220 (условия те же, что и при формировании зависимости на рис.1), а также (127,106,7)2 БЧХ-кода с декодированием на основе алгоритма Берлекемпа-Месси.
РЬ 10
Еь / N¿¿3)
Рис. 4. Оценка корректирующей способности высокоскоростного (127,106)2 Я-кода: 1 - некодированный BPSK-сигнал; 2 - (127,106)2 Я-код с ДЧМ; 3 - (127,106,7)2 БЧХ-код с декодированием на основе алгоритма Берлекемпа-Месси
Оценка, представленная на рис. 4, показывает, что высокоскоростные Я-коды также обладают помехоустойчивыми свойствами (при вероятности ошибки Рь = 106 выигрыш по сравнению с некодированным сигналом составляет 1 дБ, в то же время по сравнению с БЧХ-кодом при той же вероятности ошибки проигрыш составляет около 2,8 дБ), а ДЧМ делает возможным коррекцию ошибок при их использовании. Также следует заметить, что вероятность ошибки при низких отношениях сигнал/шум может зависить от ограниченной мощности МДЧМ , поскольку вероятность возникновения ошибок (в том числе и большой кратности) при этом будет достаточно высокой, что приведет к повышению необходимой для корректировки мощности МДЧМ > МДЧМ . На рис. 5 представлена зависимость времени выполнения операции декодирования кодового слова для низкоскоростного (127,14,33)2 Я-кода (ДМП) и высокоскоростного (127,106)2 Я-кода (ДЧМ) при фиксированной мощности М Д ЧМ = 214 от отношения сигнал/шум (условия те же, что и при формировании зависимости на рис. 1).
330] 310:
/,
270250-
1
2
\
О
10
12
2 4 6 8
Еь /N0(оВ)
Рис. 5. Зависимость времени выполнения декодирования высокоскоростного и низкоскоростного
Я-кодов от отношения сигнал/шум: 1 - декодирование с ДМП; 2 - декодирование с ДЧМ
Выводы
Полученные результаты показывают, что криптографические функции типа Rijndael могут быть использованы в качестве нелинейных помехоустойчивых кодовых конструкций. Более того, существуют методы декодирования таких конструкций. Для декодирования низкоскоростных R-кодов более эффективным является ДМП, а для низкоскоростных - ДЧ2. Рассмотренные R-коды обладают меньшей корректирующей способностью, чем коды БЧХ, однако имеют дополнительные криптографические свойства. Также перспективным является поиск методов повышения дистанционных свойств R-кода.
DECODING OF THE NONLINEAR ERROR CONTROL CODE ON THE BASIS OF CRYPTOGRAPHIC ALGORITHM OF RIJNDAEL
DM. BILDZIUK, SB. SALOMATIN
Abstract
The nonlinear error control code on the basis of cryptographic transformation of data through Rijndael algorithm is considered. Correction properties and fast decoding algorithms of a Rijndael-code are compare.
Список литературы
1. Elumalai R., ReddyA.R. // International Journal of Scientific Research. 2011. Vol. 2, Issue 3.
2. Specification for the ADVANCED ENCRYPTION STANDARD (AES), Federal Information Processing Standards Publication 197, November 26, 2001.
3. Matsui M. //The first experimental cryptanalysis of the Data Encryption Standard, CRYPTO 94 (Springer LNCS 839) 1-11.
4. Фомичев В.М. Дискретная математика и криптология. Курс лекций. М.: ДИАЛОГ-МИФИ, 2003.
5. MacWilliams F.J., Sloane N.J.A. The Theory of Error- Correcting Codes. North-Holland, 1977.
6. Морелос-Сарагоса Р. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. М., 2005.