close

Вход

Забыли?

вход по аккаунту

?

Krug Sbornik

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
высшего профессионального образования
САНКТ&ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
ВОПРОСЫ ПЕРЕДАЧИ
И ЗАЩИТЫ ИНФОРМАЦИИ
Сборник статей
Под редакцией доктора технических наук,
профессора Е. А. Крука
Санкт&Петербург
2006
УДК 621.391
ББК 32.811
В74
В74 Вопросы передачи и защиты информации: Сборник статей /
СПбГУАП. СПб., 2006. 226 с.: ил.
ISBN 5&8088&0168&0
Предлагаемый сборник статей посвящен вопросам создания безо&
пасных информационных технологий. Само понятие «безопасные тех&
нологии» рассматривается здесь в самом широком смысле: техноло&
гии обеспечения надежной передачи и хранения информации, защи&
ты информации от несанкционированного доступа, построения эффек&
тивных сетевых протоколов.
Темы статей фокусируются, в основном, на двух направлениях ис&
следования: методов повышения достоверности передачи информации
и систем защиты информации на основе открытых (публичных) клю&
чей. Большинство статей объединяет использование идей и методов
теории помехоустойчивого кодирования.
Сборник будет полезен для специалистов и студентов, интересую&
щихся практикой использования кодов, исправляющих ошибки.
Рецензенты:
заведующий кафедрой распределенных вычислений
и компьютерных сетей Санкт&Петербургского государственного
политехнического университета,
доктор технических наук, профессор Ю. Г. Карпов;
директор лаборатории передачи дискретной информации
Санкт&Петербургского государственного университета телекоммуникаций
им. профессора М. А. Бонч&Бруевича,
кандидат технических наук, доцент М. Я. Лесман
ISBN 5&8088&0168&0
2
© ГОУ ВПО «СПбГУАП», 2006
ПРЕДИСЛОВИЕ
Теория помехоустойчивого кодирования появилась и долгое время
развивалась как дисциплина, занимающаяся разработкой средств борь&
бы с помехами, возникающими при передаче цифровой информации по
каналам связи. Полученные в последние 10–15 лет результаты показа&
ли возможность существенного расширения области применения ко&
дов, исправляющих ошибки. Это дало новый импульс для проведения
исследований в области применения теории кодирования в сетях пере&
дачи данных (СПД), послужило стимулом и для ряда работ, помещен&
ных в публикуемой книге.
Помехоустойчивое кодирование является универсальным методом
защиты от ошибок, однако в большинстве известных работ кодирова&
ние используется только для повышения надежности передачи в лини&
ях связи. Между тем каждый уровень СПД (уровень звена передачи дан&
ных, сетевой, транспортный уровни и т. д.) может рассматриваться как
некоторый информационный канал со своим квантом передаваемой
информации (бит, кадр, пакет, сообщение), своим способом передачи,
своими специфическими искажениями (ошибки типа замещения, встав&
ки, выпадения, «обгоны», «дубликаты»). При таком рассмотрении за&
дача кодирования становится глобальной по отношению к СПД в це&
лом, так как требует анализа не только физических источников оши&
бок, но и протокольного обеспечения сети, а ее решение связано с разра&
боткой нестандартных методов кодирования, обеспечивающих согла&
сование кодов на различных сетевых уровнях.
Использование избыточного кодирования на верхних сетевых уров&
нях всегда ограничивалось представлением о том, что связанное с ним
(кодированием) увеличение загрузки сети приводит к безусловному уве&
личению задержки передаваемых сообщений.
В ряде работ последнего десятилетия была доказана принципиаль&
ная возможность использования кодирования не только с целью повы&
шения надежности сети, но и с целью улучшения параметров ее функ&
ционирования, в частности, с целью уменьшения средней задержки со&
общений в сети.
Менее исследованы возможности применения помехоустойчивого
кодирования на уровне приложений сети. Криптосистемы с публичным
ключом, основанные на использовании кодов, исправляющих ошиб&
ки, возникли одновременно с теоретико&числовыми. И хотя именно те&
оретико&числовые криптосистемы легли в основу криптографических
стандартов, кодовые криптосистемы остаются предметом многочислен&
ных исследований как наиболее серьезная альтернатива теоретико&чис&
ловых стандартов. В ряде работ настоящего сборника рассматриваются
3
возможности развития кодовых криптосистем. Однако перспективы
кодовых криптосистем определяются, по&видимому, не столько их соб&
ственными достоинствами, сколько перспективами создания комп&
лексных систем защиты от ошибок, предназначенных для борьбы как с
естественными помехами, так и с искусственными воздействиями. Эти
перспективы сегодня не весьма определены, но представляется, что ма&
териал настоящей книги может послужить основой для их установле&
ния.
Сформулируем задачи, для которых найдены решения средствами
помехоустойчивого кодирования (все они в той или иной степени рас&
сматриваются нами в дальнейшем):
· кодирование для обеспечения надежной передачи в каналах пере&
дачи данных (физический уровень сети);
· кодирование в системах с обратной связью (уровень звена передачи
данных);
· кодирование на транспортном уровне сети;
· кодирование для защиты от несанкционированного доступа (уро&
вень приложений);
· кодирование для сжатия информации с потерями (уровень прило&
жений).
Эти задачи имеют разную степень разработанности. Безусловно, тра&
диционное кодирование на физическом уровне изучено в значительно
большей степени. Но примеры решения задач на уровнях сети выше
физического позволяют рассматривать помехо&устойчивое кодирование
как универсальный инструмент, пригодный для применения к широко&
му классу сетевых задач.
Более того, актульной становится проблема совместного кодирова&
ния на различных уровнях сети передачи данных с целью оптимального
распределения алгоритмической избыточности в сети. Представляет&
ся, что настоящий сборник внесет определенный вклад в ее решение.
Почти все авторы сборника являются сотрудниками кафедры безо&
пасности информационных систем Санкт&Петербургского государствен&
ного университета аэрокосмического приборостроения (бывшего Ленин&
градского института авиационного приборостроения), известного сво&
ей школой в области кодирования и передачи информации.
Доктор технических наук профессор Е. А. Крук
НАДЕЖНЫЕ МЕТОДЫ ПЕРЕДАЧИ
ДИСКРЕТНОЙ ИНФОРМАЦИИ
6
А. А. Овчинников,
канд. техн. наук, ассистент
СанктПетербургский государственный университет
аэрокосмического приборостроения
К ВОПРОСУ О ПОСТРОЕНИИ LDPCКОДОВ
НА ОСНОВЕ ЕВКЛИДОВЫХ ГЕОМЕТРИЙ
Введение
Коды с малой плотностью проверок на четность (LDPC&коды) были
впервые предложены Р. Галлагером [1, 2] и позднее исследовались
в работах [3–6]. Несмотря на то, что в течение долгого времени LDPC&
коды были практически исключены из рассмотрения, в последние
годы наблюдается увеличение количества исследований в этой обла&
сти. Это связано с тем, что, обладая плохим минимальным расстоя&
нием, коды с малой плотностью, тем не менее, обеспечивают высо&
кую степень исправления ошибок при весьма малой сложности их
декодирования. Было показано, что с ростом длины некоторые LDPC&
коды могут превосходить турбокоды и приближаться к пропускной
способности канала с аддитивным белым гауссовским шумом (АБГШ)
[7]. Вместе с тем, многие предложенные конструкции LDPC&кодов
являются циклическими или квазициклическими, что позволяет про&
изводить не только быстрое декодирование, но и эффективные про&
цедуры кодирования. Кроме того, даже для LDPC&кодов, не облада&
ющих свойством цикличности, были предложены эффективные про&
цедуры кодирования [8].
Код с малой плотностью проверок на четность задается своей про&
верочной матрицей H, обладающей свойством разреженности, т. е. ее
строки и столбцы содержат мало ненулевых позиций по сравнению
с размерностью матрицы. Наравне с традиционным заданием кода
как нулевого пространства проверочной матрицы, LDPC&коды часто
задаются с помощью графа, для которого матрица H является мат&
рицей смежности (так называемого графа Таннера). Это двудольный
граф, вершины которого делятся на два множества: 1) n символьных
вершин, соответствующих столбцам; 2) r проверочных вершин, со&
ответствующих строкам проверочной матрицы. Ребра, соединяющие
вершины графа, соответствуют ненулевым позициям в матрице H.
Пример такого графа приведен на рис. 1.
LDPC&коды, у которых строки и столбцы содержат одинаковое
число единиц, принято называть регулярными кодами, в то время
как коды с неравным числом единиц называются нерегулярными.
7
Символьные
вершины
Проверочные
вершины
Как правило, построение хороших
нерегулярных кодов использует ве&
1
роятностные методы, анализ таких
2
2
кодов производится в асимптотике,
2
тогда как регулярные конструкции
2
2
основаны на объектах (например,
2
комбинаторных) с известными свой&
2
r
n2
3
ствами и могут анализироваться с
2
учетом свойств этих объектов.
2
2
Настоящая статья рассматривает
2
построение
LDPC&кодов, основанных
2
2
на евклидовых геометриях. Евкли&
2
дово&геометрические коды известны
2
4
довольно давно [9–11], однако в ка&
Рис. 1. Граф Таннера LDPC
честве кодов с малой плотностью они
кода
стали рассматриваться только в пос&
ледние годы [12]. Мы анализируем свойства LDPC&кодов, основан&
ных на евклидовой геометрии, и предлагаем методы построения но&
вых кодов, используя свойства евклидовых геометрий и проведен&
ный анализ.
Конструкции и декодирование
Как и для всякого линейного (n, k)&кода, одной из оценок качества
LDPC&кода является вероятность ошибочного декодирования, кото&
рая обычно характеризуется долей ошибочных бит в декодирован&
ном сообщении (BER), при заданных длине кода n и скорости R = k / n.
Одним из главных параметров, влияющих на вероятность оши&
бочного декодирования, является кодовое минимальное расстояние d0.
В случае LDPC&кодов, однако, часто минимальное расстояние кода
мало, и низкая вероятность ошибки достигается за счет хороших
спектральных свойств кода (небольшого количества слов малого веса).
Р. Галлагером были предложены алгоритмы декодирования LDPC&
кодов как для дискретных (bit&flipping decoding), так и для полуне&
прерывных (belief propagation decoding) каналов. Общим свойством
LDPC&декодеров является то, что они представляют собой итератив&
ные процедуры, оперирующие не с блоками, а с отдельными символа&
ми принятого сообщения. Параметром декодера является максималь&
ное число итераций, после которого декодер принимает решение
о передававшемся слове. На практике часто бывает достаточно не&
большого числа итераций, чтобы правильно продекодировать при&
нятое слово. В работе М. С. Пинскера и В. В. Зяблова [3] показано,
8
что сложность декодирования LDPC&кода составляет порядка n log
n. В работах [12, 13] рассмотрены ускоренные процедуры декодиро&
вания LDPC&кодов, дающие незначительное увеличение вероятнос&
ти ошибки.
Работа декодера LDPC&кода ухудшается, если в графе Таннера
соответствующего LDPC&кода присутствуют циклы небольшой
длины. Как правило, циклы длины 6 не оказывают существенного
влияния на качество декодирования, поэтому существующие на
сегодня конструкции должны обеспечивать отсутствие циклов дли&
ны 4. Для этого достаточно, чтобы любые два столбца провероч&
ной матрицы LDPC&кода не имели более одной общей ненулевой
позиции.
В работах [6, 14] проведен асимптотический анализ декодера Гал&
лагера «belief propagation» для некоторых каналов связи. Показано,
что при использовании этого декодера существует некий порог, та&
кой, что при определенном уровне помех в канале (превышающем
этот порог) вероятность ошибки декодирования не стремится к нулю
с ростом числа итераций. Величина этого порога зависит от распреде&
ления весов строк и столбцов проверочной матрицы LDPC&кода, и
эти веса можно оптимизировать с помощью предлагаемой в работах
[6, 14] процедуры «density evolution». Коды с распределениями, по&
лученными с помощью этой процедуры, дают выигрыш на низких
отношениях сигнал/шум (в канале с АБГШ), однако, как правило,
обладают так называемым эффектом «error&floor», т. е. более мед&
ленным уменьшением вероятности ошибки при увеличении отноше&
ния сигнал/шум.
В последние годы было предложено много конструкций LDPC&ко&
дов. Некоторые из них основывались на свойствах известных комби&
наторных объектов – разностных множеств, блок&схем, геометрий
[15, 16], другие – на различного рода вероятностных методах [7, 14].
В последнем параграфе данной работы приведены сравнительные ре&
зультаты моделирования некоторых из них.
Конечные евклидовы геометрии
Опишем вкратце евклидовы геометрии [9, 10]. Приведенные здесь
соотношения будут использоваться нами в дальнейшем для оценки
параметров получаемых LDPC&кодов.
Евклидовой геометрией EG называется совокупность объектов –
точек и прямых, удовлетворяющих следующим аксиомам.
1. Через любые две точки можно провести прямую, причем только
одну.
9
2. Для любой прямой L и любой точки p, не лежащей на L, можно
провести прямую, проходящую через p и не пересекающую L (т. е.
прямую, параллельную прямой L).
3. Существуют три точки, не лежащие на одной прямой.
Следует отметить, что приведенный набор аксиом не является
единственным, с помощью которого задается евклидова геометрия,
однако другие наборы аксиом могут быть сведены к этим трем, и на&
оборот.
Одной из наиболее часто используемых и практически важных
форм задания евклидовых геометрий является описание их с помо&
щью конечных полей. Евклидова геометрия EG (m, q), где q = ps, p –
простое, задается с помощью конечного поля GF (qm) [расширения
поля GF (q)] следующим образом: точками евклидовой геометрии
являются элементы поля 1 j 2 GF (q m ), j 1 23, 0, 1, 1, q m 2 2, a – при&
митивный элемент поля GF (qm). Заметим, что в множество точек
12
евклидовой геометрии входит и нулевая точка – нулевой элемент 1
m
поля GF (q ). Тогда линия, проходящая через нулевую точку и неко&
торую ненулевую точку aj, задается уравнением
L(0, 1 j ) 2 {31 j } 2 {31 j : 34 GF (q), 1 j 4 GF(q m ), 1 j 5 0},
(1)
т. е. проходит через точки 1 12 2 0 и 1 j 2 0 и содержит элементы поля,
получаемые из aj умножением на все элементы b (включая нулевой)
подполя GF (q). Если некоторые элементы ai и aj линейно независи&
мы, то есть ai не лежит на прямой L(0, aj ), то, в соответствии с акси&
омой 2, можно провести линию, параллельную линии L(0, aj ) и про&
ходящую через точку ai :
(2)
L(1i , 1 j ) 2 {1i 3 41 j } 2 {1i 3 41 j : 45 GF(q)}.
s
Так как элемент 1 в уравнениях (1), (2) принимает q = p различ&
ных значений, каждая прямая в евклидовой геометрии содержит
1 2 q 2 ps
(3)
| L |1 q m11 (q m 2 1)/(q 2 1)
(4)
точек. Всего существует
линий в EG (m, q). Каждая линия имеет qm–1 – 1 параллельных, через
каждую точку проходит
1 2 (q m 3 1)/(q 3 1)
(5)
прямых (или, другими словами, в каждой точке пересекается g пря&
мых).
10
Евклидова геометрия EG (2, q) называется плоскостью. Точки
плоскости могут быть получены как линейные комбинации трех то&
чек ai, aj , ak, не лежащих на одной прямой:
(6)
{1i 2 31 j 2 41 k }, 3, 45 GF (q).
2
Из соотношений (4) и (6) следует, что плоскость содержит q точек
и q (q + 1) прямых.
Теперь рассмотрим способы задания кодов, основанных на конеч&
ных евклидовых геометриях.
Коды EGLDPC
Евклидово&геометрические коды строятся как система инциден&
ций геометрии EG (m, q) [9, 11, 17]. Так как число единиц в прове&
рочной матрице евклидово&геометрического кода мало по сравнению
с размерами матрицы, такой код можно рассматривать как LDPC&
код.
LDPC&код, основанный на евклидовой геометрии, с проверочной
матрицей HEG, строится следующим образом: строки проверочной
матрицы соответствуют линиям евклидовой геометрии, столбцы —
ненулевым точкам в EG (m, ps). Элементы матрицы HEG определяют&
ся из векторов инциденций линий евклидовой геометрии (рис. 2):
11, если точка j лежит на прямой i;
H EG (i, j) 2 3
40, в противном случае.
(7)
Из уравнений (1)–(5) следует, что проверочная матрица HEG имеет
n 1 qm
(8)
столбцов и
r 1 q m11 (q m 2 1)/(q 2 1)
строк. Каждый столбец матрицы содержит
1 2 (q m 3 1)/(q 3 1)
единиц, каждая строка содержит
1 2 ps
(9)
(10)
(11)
единиц.
Обычно рассматриваются евклидово&геометрические коды при
p = 2, не содержащие нулевой точки [12, 18]. Такие коды иногда на&
зываются EG&кодами типа 0, они являются циклическими [9, 11],
их параметры
n 1 2ms 2 1;
(12)
11
45672
112 1
12322
Рис. 2. Проверочная матрица
EGкода
(13)
r 1 (2(m11)s 2 1)(2ms 2 1)/(2s 2 1).
Число информационных символов таких кодов оценено в работе
[19].
Наряду с заданием проверочной матрицы, как показано на рис. 2,
можно рассматривать EG&LDPC&код с матрицей, транспонированной
к матрице (7). Тогда ее строки соответствуют точкам геометрии,
а столбцы – линиям. В обоих случаях задания матрицы свойства гео&
метрии и (8)–(11) обеспечивают выполнение следующих свойств про&
верочной матрицы.
1. Каждая строка содержит r единиц [следует из (11)].
2. Каждый столбец содержит g единиц [следует из (10)].
3. Любые два столбца имеют не более чем одну общую ненулевую
позицию (так как через две точки можно провести только одну пря&
мую).
4. Любые две строки имеют не более одной общей ненулевой пози&
ции (так как две прямые пересекаются не более чем в одной точке).
Свойства 3 и 4 означают, что граф Таннера как для кода с прове&
рочной матрицей HEG, так и для кода с проверочной матрицей HTEG не
имеет циклов длины 4.
Параметры некоторых EG&LDPC&кодов (включающих в себя точ&
ку 0) приведены в табл. 1. Параметры кодов с проверочной матрицей
HTEG помечены как EGT. Результаты моделирования EG&LDPC&ко&
дов в канале с АБГШ приведены в последней части.
Так как столбцы проверочной матрицы (7) имеют не более одной
общей ненулевой позиции, любые g столбцов матрицы линейно неза&
висимы и, значит, не могут образовать нулевой синдром. Тогда ми&
нимальное расстояние кода с проверочной матрицей (7) оценивается
как
d0 1 2 3 1.
12
(14)
Таблица 1
n
k
R
d0
g
r
EG(m,q)
16
7
0,4375
6
5
4
(2,4)
64
37
0,5781
10
9
8
(2,8)
256
175
0,6836
18
17
16
(2,16)
1024
781
0,7627
34
33
32
(2,32)
64
13
0,2031
22
21
4
(3,4)
512
139
0,2715
74
73
8
(3,8)
20
11
0,55
5
4
5
(2,4)
EGT
72
45
0,625
9
8
9
(2,8)
EGT
272
191
0,7022
17
16
17
(2,16)
EGT
1056
813
0,7699
33
32
33
(2,32)
EG T
336
285
0,8482
5
4
21
(3,4)
EGT
4672
4299
0,9202
9
8
73
(3,8)
EGT
90
9
0,1
9
8
73
(2,9)
EGT
756
27
0,0357
9
8
73
(2,27)
EGT
7371
6642
0,9011
10
9
91
(3,9)
EGT
Тип
–
–
Далее мы получим более точные оценки минимального расстоя&
ния EG&кодов.
Укорочение EGLDPCкодов
В исследованиях [12, 20] приведены некоторые методы укороче&
ния EG&LDPC&кодов. С помощью моделирования показано, что веро&
ятность ошибки при укорочении может уменьшаться, однако не при&
водится аналитических обоснований для выбора того или иного ме&
тода укорочения.
Рассмотрим методы укорочения LDPC&кодов и проведем анализ
минимального расстояния некоторых евклидово&геометрических
кодов.
Рассмотрим евклидово&геометрические коды, проверочная матри&
ца которых является транспонированной к матрице (7):
11, если точка i лежит на прямой j;
H EG (i, j) 2 3
40, в противном случае.
(15)
13
Рассмотрим евклидово&геометрическое пространство, т. е. геомет&
рии EG (3, q), q = ps. Такие коды имеют длину
n 1 q2 (q3 2 1)/(q 2 1),
их проверочная матрица H состоит из
(16)
(17)
rH 1 q 3
строк. Заметим, что H не обязательно имеет полный ранг, поэтому rH
может использоваться только как верхняя оценка числа провероч&
ных символов.
Рассмотрим прямую в такой евклидовой геометрии. Прямая со&
держит q точек. Через каждую точку, не лежащую на прямой, можно
провести единственную прямую, параллельную данной. Каждая та&
кая прямая также содержит q точек. Так как всего в геометрии q3
точек, всего существует q2 прямых, параллельных друг другу. Назо&
вем построенное таким образом множество прямых параллельным
классом. Геометрия содержит q2(q3–1)(q–1) прямых, которые могут
быть разбиты на (q3–1)(q–1) параллельных классов по q2 прямых
в каждом. Укорачивая проверочную матрицу EG&кода на столбцы,
соответствующие параллельным классам, мы будем получать код,
в котором число единиц в строках и столбцах остается равным, так
как каждая точка геометрии присутствует в параллельном классе
ровно один раз. При этом расстояние кода не ухудшилось, а число
единиц в строке стало меньшим, что может улучшить работу итера&
тивного декодера.
Описанный метод укорочения позволяет оптимизировать парамет&
ры кодов для требуемых длин, выбирая параметры геометрий и вели&
чину укорочения с учетом получающихся весов строк.
Попробуем оценить, как укорочение на параллельные классы вли&
яет на дистанционные характеристики кода. Для этого рассмотрим
евклидову плоскость, т. е. геометрию EG (2, q). Плоскость содержит
q(q + 1) прямых, которые могут быть разбиты на q + 1 параллельных
классов по q прямых в каждом. Каждая точка плоскости присутству&
ет в параллельном классе ровно один раз. Пример разбиения плоско&
сти на параллельные классы P1, ..., P5 приведен на рис. 3 для плоско&
сти EG(2, 22).
Рассмотрим отдельно случаи p = 2 и p 1 2. Пусть p 1 2. Далее, пусть
n
W (x, y) 1 2 Ai xn 1i yi
i 20
(18)
– весовая функция кода [10], где Ai – число слов веса i в коде; x –
число нулей; y – число единиц. Тогда справедлива следующая теорема.
14
1000
1000
0100
0100
0010
0100
1000
0001
0001
0100
0001
1000
0010
0010
0001
0010
0010
1000
0010
0001
0001
1000
0001
0010
0100
0100
0001
0100
0010
1000
1000
0100
0001
1000
0100
0001
0010
0010
0100
0010
0001
1000
1000
0010
1000
0001
0100
0100
0010
1000
0100
1000
0010
0001
0001
1000
0001
0010
0100
0100
0001
0100
0010
1000
0010
1000
1000
0100
1000
0010
0001
0001
1000
0001
0010
0100
0100
0001
0100
0010
P1
P2
P3
P4
P5
1223224 1223224 1223224 1223224 1223224
Рис. 3. Разбиение на параллельные классы для плоскости EG (2, 4)
Теорема 1. Если проверочная матрица (15) евклидово&геометри&
ческого кода при m = 2, q = ps, p 1 2 имеет полный ранг, тогда коэффи&
циент Ai весовой функции (18) вычисляется как
i /q
1
2C , i12q;
Ai 3 4 q 11
(19)
2
50, в противном случае.
Доказательство. Если ранг матрицы (15) является полным, т. е.
равен q2, то число информационных символов кода
(20)
k 1 n 2 r 1 q(q 3 1) 2 q2 1 q.
Разобьем множество прямых плоскости на q + 1 параллельных клас&
сов по q прямых в каждом. Заметим, что при p 1 2 число q всегда нечет&
но, тогда как число q + 1 всегда четно. Так как все точки присутствуют в
параллельном классе ровно один раз, сумма всех столбцов проверочной
матрицы, соответствующих параллельному классу, дает столбец из всех
единиц. Тогда очевидно, что сумма всех столбцов четного числа парал&
лельных классов даст нулевой столбец, т. е. задаст кодовое слово. Заме&
тим, что, так как q + 1 четно, максимальное четное число классов равно
q + 1, что соответствует кодовому слову из всех единиц. Четное число 2i
2i
параллельных классов можно выбрать из евклидова пространства Cq 11
способами. Таким образом, общее количество кодовых слов, образо&
ванных параллельными классами, равно
15
Cq011 1 Cq211 1 Cq411 1 Cq611 1 1 1 Cqq1111 2
(q 11)/2
3
i 20
Cq21i 1.
(21)
Как следствие биномиальной теоремы [21], имеем следующие тож&
дества:
n
2 Cni 1 2n ;
(22)
3 (11)i Cni 2 0.
(23)
i 10
n
i 10
Пусть n четно. Тогда из тождества (23) имеем
n /2
n /2 11
i 30
i 30
2 Cn2i 1 2
Cn2i 21,
т. е. суммы четных и нечетных членов ряда C ni равны. Тогда с учетом
тождества (22)
n /2
2 Cn2i 1 2n11.
i 20
(24)
Из равенств (21) и (24) получаем
(q 11)/2
2
i 20
Cq21i 1 1 2q.
(25)
Но из (20) следует, что в (25) учтены все кодовые слова. Отсюда
следует утверждение теоремы.
Таким образом, пользуясь теоремой 1, можно указать минималь&
ное расстояние для рассматриваемых кодов.
Следствие 1. Минимальное расстояние кода из теоремы 1
d0 1 2q.
(26)
Для каждого конкретного кода ранг проверочной матрицы может
быть вычислен экспериментально. Проведенные тесты показывают,
что для рассматривавшихся параметров геометрий при m = 2, p 1 2
ранг проверочной матрицы действительно является полным.
В табл. 2 приведены параметры некоторых LDPC&кодов, с их ми&
нимальными расстояниями, полученными на основе результатов те&
оремы 1. Здесь d10 означает оценку минимального расстояния, d0 –
точное минимальное расстояние.
Теперь рассмотрим случай p = 2. Для поля характеристики 2 соот&
ношение (20) не выполняется, т. е. проверочная матрица (15) содер&
16
Таблица 2
Точное минимальное расстояние некоторых EGLDPCкодов
n
k
R
d10
d0
g
r
EG(m,q)
Тип
20
11
0,55
5
5
4
5
(2,4)
EGT
72
45
0,625
9
9
8
9
(2,8)
EGT
272
191
0,7022
17
17
16
17
(2,16)
EGT
1056
813
0,7699
33
33
32
33
(2,32)
EGT
336
285
0,8482
5
5
4
21
(3,4)
EGT
4672
4299
0,9202
9
9
8
73
(3,8)
90
9
0,1
9
18
8
73
(2,9)
EGT
756
27
0,0357
9
54
8
73
(2,27)
EGT
7371
6642
0,9011
10
18
9
91
(3,9)
EGT
жит линейно зависимые строки. Таким образом, слова, образован&
ные параллельными классами, не являются всеми кодовыми слова&
ми. В этом случае можно сформулировать следующие утверждения.
Теорема 2. Если код с проверочной матрицей (15) при m = 2, p = 2
имеет минимальное расстояние q +1, тогда для слова веса q +1 ника&
кие две из линий, соответствующих ненулевым позициям этого сло&
ва, не лежат в одном параллельном классе.
Доказательство. Минимальное расстояние кода определяется
минимальной линейной комбинацией столбцов проверочной матри&
цы, дающей в результате нулевой столбец&синдром. В случае рассмат&
риваемых кодов столбец проверочной матрицы соответствует линии
в евклидовой геометрии. Каждая позиция синдрома соответствует
точке евклидовой плоскости и является суммой позиций столбцов,
вошедших в линейную комбинацию. Таким образом, чтобы позиция
синдрома равнялась нулю, необходимо, чтобы через соответствую&
щую точку либо не проходили прямые из данной линейной комбина&
ции, либо число прямых, проходящих через точку, было четным.
Следовательно, чтобы построить кодовое слово, нужно найти мно&
жество прямых L, такое, что через каждую точку геометрии либо не
проходят прямые из L, либо в этой точке пересекается четное число
прямых из L.
Тогда нахождению слова минимального веса соответствует нахож&
дение множества L0 минимальной мощности. Попробуем построить
такое множество минимальной мощности.
17
Допустим, что на некотором шаге k уже сформировано множество
прямых L(0k) . Обозначим P* те точки из L(0k) , через которые проходит
нечетное число прямых, P** – те точки, через которые проходит чет&
ное число прямых. Чтобы число прямых в L0 было минимальным,
необходимо, чтобы каждая следующая добавляемая прямая прохо&
дила через как можно большее число точек P*, не проходила через
точки P** и добавляла как можно меньшее число новых точек, кото&
рые на следующем шаге увеличат множество P*. Построение l(1) за&
кончится тогда, когда множество точек P* станет пустым.
Это эквивалентно тому, что на шаге k новая прямая должна пере&
секать как можно большее число прямых, уже содержащихся в L(0k 11) ,
причем пересечение должно идти по точкам P*.
Рассмотрим прямую l(0) евклидовой плоскости. Эта прямая содер&
жит q точек и принадлежит какому&то классу параллельности. Сле&
дующая проведенная прямая l(1) может либо не пересечь данную, если
она принадлежит тому же классу параллельности, что и l(0), либо пе&
ресечь в одной точке, если l(1) не параллельна l(0). Следующая прово&
димая прямая l(2) может пересечь либо одну прямую из уже выбран&
ных, если она параллельна одной из них, либо пересечь обе, в про&
тивном случае.
Пример построения множества L0 для случая q = 4 приведен на
рис. 4. Точки множества P** обведены на этом рисунке кругами (кро&
ме заключительный фигуры).
а)
б)
в)
г)
Рис. 4. Графическая интерпретация построения
вектора минимального веса для EG (2, 4):
а – начальная линия; б – добавление вто
рой линии; в – добавление третьей линии;
г – замкнутая фигура
18
Таким образом, выбирая каждый раз прямую из еще не использо&
вавшегося класса параллельности, мы будем пересекать все прямые,
выбранные на предыдущих шагах. Добавление прямой к множеству
L(0k 11) , в котором уже содержатся k прямых, добавляет q – k новых
точек. Всего в L(0k) содержится
k 11
Nk 1| L(0k) |1 4 (q 2 i), k 3 0
i 20
(27)
точек. Оценим число Nk* точек типа P* на k&м шаге. На нулевом
шаге L(0)
0 содержит единственную прямую, и все N0 = q точек являют&
ся P*&точками. На первом шаге добавляемая прямая пересекает уже
выбранную в одной точке, таким образом, в L(1)
0 содержится одна точ&
ка типа P** и N1–1 точек типа P*. На втором шаге новая прямая пере&
секает две существующие еще в двух точках, и, таким образом, в L(2)
0
содержится уже три точки типа P** и N2–3 точек типа P*. В общем
случае
k 11
Nk* 1 Nk 2 4 i, k 3 0
i 20
(28)
или, с учетом (27):
k 11
k 11
k 11
i 20
i 20
i 20
Nk* 1 3 (q 2 i) 2 3 i 1 3 (q 2 2i).
(29)
Теперь найдем минимальное число линий, которые нужно провес&
ти, чтобы получить кодовое слово, т. е. найдем L0. Для этого нужно
просто определить номер шага k, при котором (29) обратится в ноль:
(30)
| L0 | 1 {k : Nk* 1 0}, k 2 0.
Применив формулу суммы арифметической прогрессии, из соот&
ношений (29) и (30) получим условие остановки построения L0:
k 11
4 (q 2 2i) 3
i 20
(q 1 q 2 2k 1 2))k
3 (q 2 k 1 1)k 3 0.
2
(31)
При условии k > 0 выполнение условия (31) возможно только при
k = q. Таким образом, при указанном методе построения требуется q + 1
прямых из разных классов параллельности, чтобы построить L0, а в
евклидовой плоскости содержится как раз q + 1 классов параллель&
ности. Тогда из (30) и (31) имеем
| L0 | 1 q 2 1,
что и завершает доказательство.
19
Однако в отношении теоремы 2 можно сформулировать следую&
щее утверждение.
Замечание 1. Минимальное расстояние кода из теоремы 2 равно
q + 1 только в том случае, если можно провести прямые указанным
способом, т. е. только через точки типа P*. Это утверждение не явля&
ется доказанным, однако эксперименты показывают, что для полей
характеристики 2 это действительно так. Таким образом, возможно,
теорема 2 задает точное минимальное расстояние.
Следствие 2. Укорочение кода (15) при m = 2, p = 2 и с учетом
замечания 1 на прямые, содержащие любой параллельный класс,
приводит к коду с минимальным расстоянием
d0 1 q 2 2.
(32)
Доказательство. Как было показано в доказательстве теоремы 2,
для построения L0 требуется q + 1 прямых из разных классов парал&
лельности, которых в евклидовой плоскости ровно q + 1. Таким обра&
зом, любое ненулевое кодовое слово минимального веса имеет q + 1
ненулевых позиций, по одной в каждом классе параллельности. Уда&
ление любого класса параллельности приведет к тому, что в коде не
останется слов веса q + 1, отсюда следует утверждение следствия.
Сравнение конструкций в канале с АБГШ
Здесь мы приводим результаты моделирования для кодов, полу&
ченных с помощью укорочения на параллельные классы, описанно&
го выше. Моделирование проводилось в канале с АБГШ, двоичной
фазовой модуляцией, для декодирования использовался ускоренный
декодер, описанный в работе [13], с ограничением максимального
числа итераций 10.
В качестве исходного кода рассматривался евклидово&геометриче&
ский код с проверочной матрицей (15), полученной с помощью конеч&
ной геометрии EG (2, 26). Укоротим этот код на 10, 20 и 30 параллель&
ных классов, что приведет к кодам с разными длинами и скоростями.
Результаты их моделирования в канале с АБГШ показаны на рис. 5.
Для сравнения корректирующей способности полученных кодов
с другими кодами рассмотрим конструкцию RS&LDPC, основанную
на укороченных кодах Рида–Соломона [22]. На рис. 6–9 приведены
результаты моделирования укороченных евклидово&геометрических
кодов и кодов RS&LDPC. Как видно из графиков, исходный евклидо&
во&геометрический код и его укорочения дают выигрыш по сравне&
нию с кодом RS&LDPC при сравнимых длинах и кодовых скоростях.
Таким образом, предложенный метод построения укороченных евкли&
20
10–1
BER
10–2
10–3
10–4
10–5
3,5
3,6
3,7
3,8
3,9
4
4,1
SNR, дБ
4,2
4,3
4,4
4,5
Рис. 5. Евклидовогеометрический код из EG (2, 26) и его укорочения
10–1
BER
10–2
10–3
10–4
3,5
3,6
3,7
3,8
3,9
4
SNR, дБ
4,1
4,2
4,3
4,4
4,5
Рис. 6. Евклидовогеометрический код из EG (2, 26) и код RSLDPC (6,
63, 35)
21
10–1
BER
10–2
10–3
10–4
10–5
3,5
3,6
3,7
3,8
3,9
SNR, дБ
4,1
4
4,2
4,3
Рис. 7. Укорочение кода EG на 10 параллельных классов и код RSLDPC
(6, 55, 35)
10–1
10–2
BER
10–3
10–4
10–5
3,5
3,55
3,6
3,65 3,7
3,75 3,8
SNR, дБ
3,85
3,9
3,95
4
Рис. 8. Укорочение кода EG на 20 параллельных классов и код RSLDPC
(6, 45, 35)
22
10–1
BER
10–2
10–3
10–4
10–5
3,5
3,55 3,6
3,65
3,7
3,75 3,8
SNR, дБ
3,85
3,9
3,95
4
Рис. 9. Укорочение кода EG на 30 параллельных классов и код RSLDPC
(6, 35, 35)
дово&геометрических кодов дает способ получения новых эффектив&
ных кодов для различных скоростей и кодовых длин.
Заключение
В данной статье рассмотрены свойства евклидово&геометрических
кодов. Для ряда EG&кодов получено описание их спектра, найдены
более точные оценки минимального расстояния некоторых EG&ко&
дов и их укорочений. Предложен метод построения LDPC&кодов, ос&
нованный на укорочении на параллельные классы. Данный метод
позволяет более гибко задавать такие параметры кода, как длина и
скорость. Проведенное моделирование в канале с АБГШ подтверж&
дает эффективность кодов, полученных таким способом.
Литература
1. Gallager R. G. Low&density parity check codes // IRE Trans actions inform
ation theory. Jan. 1962.
2. Gallager R. G. Low density parity check codes. Cambridge, MA: MIT Press,
1963.
3. Зяблов В. В., Пинскер М. С. Оценка сложности исправления ошибок
низкоплотностными кодами Галлагера // Проблемы передачи информации.
1975. Т. XI. № 1.
23
4. MacKay D., Neal R. M. Near shannon limit performance of low&density parity&
check codes // IEEE Transactions on Information Theory. Vol. 47. Feb. 2001.
5. MacKay D. Good error correcting codes based on very sparse matrices //
IEEE Transactions on information theory. Vol. 45. Mar. 1999.
6. Richardson T. J., Urbanke R. L. The capacity of low&density parity&check
codes under message&passing decoding // IEEE transactions on information theory.
Vol. 47. Feb. 2001.
7. On the design of low&density parity&check codes within 0.0045 db of the
shannon limit / G. Forney, T. J. Richardson, R. L. Urbanke et al. // IEEE
communications letters. Vol. 5. Feb. 2001.
8. Richardson T. J., Urbanke R. L. Efficient encoding of low&density parity&
check codes // IEEE transactions on information theory. Vol. 47. Feb. 2001.
9. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. М.: Мир, 1976.
10. МакВильямс Ф. Дж., Слоэн Н. Дж. А. Теория кодов, исправляющих
ошибки. М.: Связь, 1979.
11. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.:
Мир, 1986.
12. Kou Y., Lin S., Fossorier P. C. Low&density parity&check codes based on
finite geometries: A rediscovery and new results // IEEE transactions on
information theory. Vol. 47. Nov. 2001.
13. Fossorier M. P. C., Mihaljevic M., Imai H. Reduced complexity iterative
decoding of low&density parity&check codes based on belief propagation // IEEE
transactions on communications. Vol. 47. May 1999.
14. Richardson T. J., Urbanke R. L., Shokrollahi M. Design of capacity&
approaching irregular low&density parity&check codes // IEEE transactions on
information theory. Vol. 47. Feb. 2001.
15. Johnson S. J., Weller S. R. Regular low&density parity&check codes from
combinatorial designs // In Proc. IEEE Information Theory Workshop (Cairns,
Australia). Sept. 2001.
16. Johnson S. J., Weller S. R. Codes for iterative decoding from partial
geometries // ISIT2002, submitted.
17. Теория кодирования / Т. Касами, Н. Токура, Е. Ивадари и др. М.:
Мир, 1978.
18. Lin S. Shortened finite geometry codes // IEEE transactions on information
theory. Sept. 1972. P. 692.
19. Lin S. On the number of information symbols in polynomial codes // IEEE
transactions on information theory. Vol. 18. Nov. 1972. P. 785–794.
20. Lin S. Shortened finite geometry codes // IEEE transactions on information
theory. Vol. 18. Sept. 1972. P. 692–696.
21. Грэхем Р., Кнут Д., Паташник О. Конкретная математика. Основание
информатики. М.: Мир, 1998.
22. A class of low&density parity&check codes constructed based on reed&
solomon codes with two information symbols / I. Djurdjevic, J. Xu, K. Ab&
del&Ghaffar et al. // IEEE communications letters. Vol. 7. July 2003.
24
А. В. Белоголовый,
канд. техн. наук, ассистент
Е. А. Крук,
доктор техн. наук, профессор
СанктПетербургский государственный университет
аэрокосмического приборостроения
МНОГОПОРОГОВОЕ ДЕКОДИРОВАНИЕ КОДОВ
С НИЗКОЙ ПЛОТНОСТЬЮ ПРОВЕРОК НА ЧЕТНОСТЬ
Коды с низкой плотностью проверок на четность
Коды с низкой плотностью проверок на четность были впервые пред&
ложены Р. Галлагером в 1963 году как высокоскоростные коды с малой
вероятностью ошибки для передачи по каналам с шумом [1, 2].
Коды с низкой плотностью проверок на четность – это линейные
коды, определяемые проверочной матрицей, содержащей в основном
нулевые элементы и относительно небольшое количество ненулевых.
Для случая двоичных кодов с низкой плотностью проверок на чет&
ность проверочная матрица состоит из небольшого числа единиц и
нулей на всех остальных позициях матрицы. Пример проверочной
матрицы с низкой плотностью проверок на четность:
21 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 3
40 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 5
4
5
40 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 5
4
5
40 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 5
41 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 5
4
5
40 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 5
H 1 40 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 5 .
4
5
40 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 5
4
5
41 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5
40 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 5
4
5
40 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 5
40 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 5
4
5
460 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 57
Для всего класса кодов с низкой плотностью проверок на четность
[1–3] существуют декодеры, основывающиеся только на свойствах
разреженности проверочной матрицы и не использующие никакие
25
свойства самого пространства кодовых слов. Эти алгоритмы декоди&
рования имеют низкую сложность и позволяют достичь малой веро&
ятности ошибки при передаче в канале с аддитивным нормально рас&
пределенным (гауссовским) шумом [1–7].
Традиционное декодирование кодов с низкой плотностью
проверок на четность
Рассмотрим итеративное декодирование кодов с низкой плотнос&
тью проверок на четность в двоичном симметричном канале и канале
с аддитивным белым гауссовским шумом.
Симметричные каналы с двоичным входом. Симметричным ка&
налом с двоичным входом будем называть дискретный по времени
канал со следующими свойствами:
входной алфавит X состоит из двух символов, обозначаемых 0 и 1;
выходной алфавит Y может быть представлен как дискретное либо
непрерывное вещественное множество чисел;
выход y в заданный отсчет времени зависит только от одного вход&
ного символа x;
для всех выходов y выполняется свойство симметрии:
P0 (y) 1 P1 (2y). Здесь под Px(y) понимается плотность распределения
вероятности, если y – непрерывный выход, и условная вероятность,
если Y – дискретное множество.
На рис. 1 приведены примеры симметричных каналов с двоичным
входом.
Под вектором ошибки для кодового слова c = {c0, ..., cN–1} длины N
будем понимать вектор e = {e0, ..., eN–1} такой же длины, соответ&
ствующие элементы которого равны разностям между вектором y =
= {y0, ..., yN–1}, принятым из канала, и передаваемым кодовым словом:
ei = yi–ci, 0 1 i 1 N. Эта запись равносильна представлению принятого
вектора как суммы кодового слова и ошибки: yi = ci+ei, 0 1 i 1 N.
а)
б)
5
1
1111
11111
11111
2
1112
11111
11111
12324
5
5
62789
1
8
12324
1
1
62789
2
Рис. 1. Симметричные каналы с двоичным входом: а – двоичный сим
метричный канал; б – канал с аддитивным гауссовским шу
мом
26
Декодирование ошибок канала. Декодирование – это процедура
поиска и исправления ошибки, наложенной каналом на кодовое сло&
во, по принятому из канала вектору или собственно поиск кодового
слова по вектору, принятому из канала.
Декодирование по максимуму правдоподобия кода C обозначает
нахождение по заданному принятому вектору y такого кодового сло&
ва c Î C, которое максимизирует вероятность того, что передавалось
слово c при условии принятия вектора y : p(c / y ) 1 max [8]. Задача
декодирования по максимуму правдоподобия является NP&полной.
Для оценки качества работы различных декодеров используется
оценка вероятности ошибки декодирования (BER) на информацион&
ный бит, вычисляемая как отношение количества ошибочных ин&
формационных бит после декодирования к общему количеству пере&
данных информационных бит.
Итеративные схемы декодирования кодов с низкой плотностью
проверок на четность не являются декодерами по максимуму правдо&
подобия, но позволяют получить разумный баланс по сложности и
вероятности ошибки декодирования по сравнению с декодированием
по максимуму правдоподобия. Итеративное декодирование подразу&
мевает, что нахождение кодового слова будет производиться не за
один проход, а за несколько, с последовательным уточнением резуль&
тата на каждом шаге [1–3, 7].
«Жесткое» декодирование – это схема декодирования для двоич&
ного симметричного канала при небольшом количестве ошибок
в канале. «Жесткое» декодирование инвертированием битов – самая
простая по сложности схема декодирования кодов с низкой плотнос&
тью проверок на четность [1, 2].
Как уже говорилось, под проверкой понимается любая строка
h = {h0, ..., hN–1} из проверочной матрицы кода с низкой плотностью
проверок на четность. Будем говорить, что проверка для некоего век&
тора y = {y0, ..., yN–1} выполняется тогда, когда скалярное произведе&
ние вектора y на проверку дает ноль. Будем говорить, что элемент yi
принятого вектора y участвует в проверке h = {h0, ..., hN–1} тогда,
когда соответствующий элемент проверки hi не равен нулю.
Одна итерация «жесткого» декодирования инвертированием би&
тов производится следующим образом.
1. Для принятого вектора вычисляются все проверки.
2. Если некоторый бит принятого вектора участвовал более чем
в половине невыполнившихся проверок, бит инвертируется.
3. После такого анализа всех символов принятого вектора вектор
проверяется на принадлежность коду. Если вектор является кодо&
27
вым словом, декодирование заканчивается, в противном случае вы&
полняется следующая итерация алгоритма.
Такая процедура декодирования применима для кодов с низкой плот&
ностью проверок на четность потому, что большинство проверок в та&
ком случае будут содержать одну ошибку или не будут содержать оши&
бок вообще, и тогда нарушение большого количества проверок для сим&
вола принятого слова будет обозначать наличие в нем ошибки.
Сложность одной итерации «жесткого» декодирования инверти&
рованием бит является линейной, количество итераций декодирова&
ния обычно выбирается около log2(N), где N – длина кодового слова.
Декодирование по вероятностям является «мягким» декодиро&
ванием, т. е. декодированием на основе вектора, состоящего не из
дискретных значений (0 и 1), а из вещественных величин, получен&
ных на выходе канала [1–3, 6, 7] путем пересчета вероятностей (англ. –
«belief propagation decoding»).
Будем называть множеством N(m) множество символов принято&
го вектора, которые входят в m&ю проверку: N(m) = {n : Hm,n = 1}, где
H – проверочная матрица кода с низкой плотностью проверок на чет&
ность. Будем называть множеством M(n) множество проверок, в кото&
рых участвует n&й символ принятого вектора: M(n) = {m : Hm,n = 1}.
На основе принятого из канала вектора формируются два (для дво&
ичного случая) вектора вероятностей того, что в принятом векторе
на данной позиции находился заданный символ:
f 0 1 (f00 , 1, fN0 11 ), fi0 1 P(yi 1 0)
и
f1 1 (f01, 1, fN1 11 ), fi1 1 P( yi 1 1),
где yi – элементы принятого вектора. Каждому ненулевому элементу
проверочной матрицы кода с низкой плотностью проверок на чет&
x
x
x
ность приписываются две величины: qi,j и ri,j . Величина qi,j являет&
ся вероятностью того, что j&й символ принятого вектора имеет значе&
ние x по информации, полученной из всех проверок, кроме i&й. Вели&
x
чина ri , j является вероятностью того, что проверка i выполняется,
если j&й символ принятого вектора равен x, а все остальные символы
проверок имеют распределение вероятностей, заданное величинами
{qix,j : j 1 N (i) \ j}.
Перед началом работы алгоритму требуется инициализация, за&
0
1
ключающаяся в том, что значения qi,j и qi,j принимаются равны&
0
1
ми fj и fj соответственно, а далее алгоритм работает по принципу
пересчета вероятностей символов принятого вектора (belief
propagation), используя для пересчета вероятностей правило Байеса
28
для апостериорной вероятности события. Одна итерация алгоритма
представляет собой следующую последовательность действий.
1.
Для
всех
проверок
вычисляются
величины
1ri,j 2
4
(qi0,j ' 3 qi1,j )
и
1
пересчитываются
вероятности
j12N (i )\ j
1 1 (21)x 3ri,j
для x = {0, 1}.
2
2. Для всех символов принятого вектора пересчитываются веро&
rix,j 4
ятности qix,j 1 2 i,j fjx
3
rix,j для x = {0, 1}, где ai,j – нормирующие
1
i12M ( j )\i
0
1
коэффициенты, обеспечивающие равенство qi,j 1 qi, j 2 1.
0
3. Формируются векторы псевдоапостериорной вероятности qj
1
и qj следующим образом: qjx 1 2 j fjx
3
rix,j , где aj – нормирующие ко&
i1M ( j )
0
1
эффициенты, обеспечивающие равенство q j 1 q j 2 1.
4. Формируется вектор решения c¢ по следующему правилу:
1
1
31 при qj 2 1/2
cj4 5 6
. Если вектор c¢ является кодовым словом, деко&
3
80 7 иначе
дирование заканчивается, в противном случае выполняется следую&
щая итерация алгоритма.
Сложность данного алгоритма выше, чем сложность «жесткого»
декодирования инвертированием битов, однако качество декодиро&
вания повышается за счет использования дополнительной информа&
ции на выходе канала. Однако качество работы такого алгоритма
зависит от инициализации: чем точнее она произведена, тем точнее
будет конечный результат. Для канала с гауссовским шумом иници&
ализация может быть произведена при помощи информации о дис&
персии шума в канале. Для других распределений шума в канале или
при неизвестных характеристиках шума точная инициализация ал&
горитма может являться сложной задачей.
Быстрое декодирование LDPC
Несмотря на то, что декодирование пересчетом вероятностей яв&
ляется эффективным методом для каналов с непрерывным выходом,
тот факт, что сложность его значительно выше, чем сложность «же&
29
сткого» декодирования, оставляет место для поиска более быстрых
алгоритмов декодирования, обладающих приемлемым качеством.
Среди известных алгоритмов быстрого декодирования кодов с низ&
кой плотностью проверок на четность для каналов с непрерывным
выходом наиболее известен алгоритм «min&sum», являющийся уп&
рощением декодера «belief propagation», а также алгоритм UMP
(Uniformly Most Powerful [7]), который рассматривается ниже.
Пусть из канала был принят вещественный («мягкий») вектор
y = {y0, ..., yN–1}. Будем считать надежностью i&го символа вектора y
величину ri, характеризующую удаление принятого значения yi от не&
коего порогового значения thr, при котором все значения переданных
символов равновероятны: thr : P(1/ yi ) 1 P(0/ yi ), ri 1 yi 2 thr . Для
случая двоичной модуляции, при которой все биты кодового слова ото&
бражаются во множество {–1, +1} и передаются по симметричному ка&
налу с двоичным входом, надежность принятого символа yi будет, та&
ким образом, равна абсолютной величине принятого значения: ri 1 yi .
Быстрое декодирование по надежностям являет собой баланс меж&
ду «жестким» декодированием и декодированием по вероятностям
[1–3]. При декодировании используется вектор «жестких» решений
x = {x0, ..., xN–1} (вектор, состоящий из 0 и 1 и представляющий собой
набор дискретных решений) и вектор надежностей r = {r0, ..., rN–1}
(вектор, состоящий из вещественных величин из интервала 10, 3 4 2 ).
По аналогии с вероятностным декодированием, каждому ненулево&
му символу проверочной матрицы приписываются два числа: xi,j и ri,j,
представляющие собой «жесткое» решение относительно символа i,
полученное при помощи всех проверок, кроме i&й, и надежность сим&
волов i&й проверки без учета j&го символа соответственно. Декодиро&
вание также является итеративным, одна итерация представляет
собой следующую последовательность действий.
1. Для всех проверок и всех символов проверок вычисляется на&
дежность проверок относительно символа j, представляющая собой
минимальное значение надежностей всех символов, входящих в про&
верку, кроме самого символа j:
ri1,j 2 min ri,j .
j12 N (i )\ j
1
2. Для всех символов принятого вектора и всех проверок произво&
дится пересчет надежностей символов проверок: если проверка,
в которую входил некоторый символ, не выполняется, то надежность
ri,j уменьшается на величину надежности проверки ri1,j , в противном
случае надежность ri,j увеличивается на ri1,j ; учитываются все провер&
ки, кроме i&й. Если после применения всех проверок для какого&то
30
символа j величина ri,j стала меньше нуля, то обновленная надеж&
ность ri,j берется по модулю, а жесткое решение xi,j инвертируется.
3. Аналогично пересчитываются надежности принятого вектора:
если i&я проверка, в которую входит j&й символ, нарушается, то из
надежности ri вычитается надежность i&й проверки, иначе надежность
символа увеличивается на надежность проверки. Если после приме&
нения всех проверок для какого&то символа j величина ri стала мень&
ше нуля, то обновленная надежность ri,j берется по модулю, а «жест&
кое» решение xi,j инвертируется.
4. Если «жесткое» решение x является кодовым словом, декодиро&
вание заканчивается, иначе декодер начинает следующую итерацию.
Сложность декодера UMP (быстрого декодирования по надежнос&
тям) значительно ниже, чем сложность декодера, пересчитывающего
вероятности, за счет того, что пересчет надежностей выполняется по
упрощенной схеме (схеме «взвешенного» мажоритарного голосования,
в качестве «весов» используется надежность проверок), а также за счет
возможности использования исключительно целочисленных операций
сложения и сложения по модулю два. Общую сложность одной ите&
рации можно оценить как сумму сложностей M(2J + log2J – 2) срав&
нений, 2NJ сложений по модулю два и 2N(J + l4)(J – 1) сложений, где
N – длина кодового слова, M – количество информационных бит в кодо&
вом слове, J – количество единиц в столбце проверочной матрицы кода
с низкой плотностью проверок на четность.
Также к достоинствам быстрого декодера по надежностям можно
отнести то, что декодеру не требуется знать характеристики шума в
канале (дисперсию и т. д.), а следовательно, такой декодер может рабо&
тать в любом симметричном канале с двоичным входом. Далее в работе
будет показано, как это свойство быстрого декодера по надежностям
может быть использовано при кодовом квантовании изображений.
Недостатком быстрого декодера по надежностям является оценка
вероятности ошибки декодирования, которая для канала с аддитив&
ным гауссовским шумом оказывается на 0,5 дБ хуже, чем вероят&
ность ошибки декодирования вероятностного декодера. Ниже будет
описана модификация алгоритма, позволяющая добиться прибли&
жения вероятности ошибки декодирования к вероятности, получае&
мой при вероятностном декодировании.
Многопороговое декодирование
Быстрый декодер по надежностям, рассмотренный выше, прини&
мает решения относительно символов принятого вектора на основе
пересчета надежностей и инвертирования символов «жесткого» ре&
31
шения, причем инвертирование символов производится всегда, ког&
да соответствующая надежность после пересчета становится меньше
нуля. Нуль в данном случае является порогом инвертирования сим&
вола, причем на всех итерациях этот порог остается неизменным,
несмотря на то, что на первых итерациях декодирования надежнос&
ти символов битов еще плохо определены, и инвертирование таких
символов может привести как к исправлению ошибок, так и, наобо&
рот, к внесению новых и последующему их размножению.
Основная идея многопорогового декодирования по надежностям
состоит в том, чтобы изменять значения порогов инвертирования
символов от одной итерации к другой следующим образом (рис. 2):
на первых итерациях порог инвертирования символов выбирает&
ся так, чтобы количество инвертированных символов было мини&
мальным (вплоть до инвертирования только одного символа на пер&
вой итерации);
на последующих итерациях пороги инвертирования постепенно
повышаются.
Общая схема работы многопорогового декодера по надежностям
приведена на рис. 3.
1. Инициализация декодера и вычисление надежностей символов
проверок производится так же, как и в алгоритме быстрого декоди&
рования по надежностям: для всех элементов принятого вектора Yi
вычисляется «жесткое» решение Xi и надежность Ri, надежность яв&
ляется абсолютным значением Yi, а также для всех m Î M(n) присва&
иваются Ym,n = Rn и Xm,n = Xn.
2. Для каждой итерации i вычисляется пороговое значение THRi.
11
111
21
1123456789
112345678
112345678
Рис. 2. Пороги для многопорогового декодирования:
– пересчитанные надежности;
32
– пороги
3. Производится вычисление новых значений надежностей прове&
рок и символов, так же, как и в алгоритме быстрого декодирования
по надежностям: для всех n и m Î M(n) вычисляются суммы
3
Sm,n 1 Xn 2
X m,n
n12N(m)\n
и значения
Ym,n min 1 min{Ym,n }.
1
n12N(m)\n
4. Для всех n и всех m Î N(n) вычисляются
Zm,n 1 Rn 2
4
Sm ,n
(31)
1
Ym ,n min.
1
m12M ( n )\m
5. Изменение текущих значений символов «жесткого» решения
надежностей проверок и символов на новые значения происходит
только для тех символов, для которых новое значение надежности
оказывается меньше порога THRi; новое значение надежности при&
нимается равным абсолютному значению пересчитанной надежнос&
ти. Вводится «зона неопределенности»: для всех остальных симво&
лов, если значение надежности оказалось меньше нуля, надежность
принимается равной нулю: для всех n вычисляются
Ym,n
2Zm,n , Zm,n 1 0;
3
4 75Zm,n , Zm,n 6 THRi ;
3
80;
59859
55
939
9
23226
2
7877
123453267859
95
39985
23453267859
879829
59859
879829
546226
6
326937
59859
326932
9399
87
9829
54
6226
6
32693
7
9399
95
39985
9
#289$
92532
6785%
"7
2 982
5
22629
262!
269
879
825
5462
26
326932
82629
9
29
399859
Рис. 3. Схема работы многопорогового декодера по надежностям
33
2
3Xm,n , Zm,n 1 THRi ;
Xm,n 4 5
3
81 6 Xm,n , Zm,n 7 THRi ;
Zn 1 R n 2
4
m1M ( n )
Sm,n
(31)
Ym,n min;
2Xn , Zn 1 0;
Cn 3 4
71 5 Xn , Zn 6 0.
6. Декодирование итеративно продолжается до тех пор, пока век&
тор C не станет кодовым словом или не будет выполнено заданное
число итераций.
При многопороговом декодировании, если на первой итерации была
исправлена хотя бы одна ошибка, декодирование на последующих ите&
рациях становится значительно проще и общее качество декодирова&
ния улучшается [8]. По&прежнему для работы декодеру не требуется
информация о шуме в канале, достаточно лишь задать надежности.
Декодер, работающий по многопороговой схеме, позволяет получить
вероятность ошибки декодирования на 0,1–0,4 дБ лучшую, чем обеспе&
чивает быстрый декодер по надежностям UMP, практически прибли&
жаясь к вероятности ошибки, получаемой при вероятностном декоди&
ровании кодов с низкой плотностью проверок на четность. На рис. 4
приведены кривые BER двоичных кодов в канале с аддитивным гауссов&
ским шумом, имеющим математическое ожидание, равное нулю, и энер&
гию шума N0, при использовании трех различных декодеров: декодера
по вероятностям, быстрого декодера по надежностям и многопорогово&
го декодера.
Помимо независимости от характеристик канала многопороговый
декодер обладает свойством декодеров кодов с низкой плотностью
проверок на четность, а именно – универсальность и применимость
для любой конструкции таких кодов.
Критерии качества и сложности декодирования
Так как декодирование LDPC является итеративным, то в общем
случае сложность декодирования можно представить как произведе&
ние сложности одной итерации на общее количество итераций:
Ccomplete 1 Cone iteration Niterations .
Сложность одной итерации декодирования пропорциональна чис&
лу единиц в проверочной матрице [1–3, 7]. Таким образом, чтобы
анализировать всю сложность декодирования, необходимо учиты&
34
67 7
67 86
67 81
67 84
67 85
67 83
67
12
67 89
123
4
423
5
1 22
523
3
1
Рис. 4. Вероятность ошибки при декодировании (2048, 1649) – кода
с низкой плотностью проверок на четность при помощи раз
личных декодеров для различных отношений сигнал/шум
в канале:
– вероятностный декодер;
– многопороговый декодер
– быстрый декодер;
вать не только сложность одной итерации декодера, но и количество
итераций, требуемых для обеспечения заданного качества декодиро&
вания.
Будем понимать под скоростью сходимости зависимость вероят&
ности ошибки декодирования от количества итераций, за которое
данная вероятность ошибки декодирования была получена.
На рис. 5–7 приводятся гистограммы сходимости многопорогово&
го декодера для различных конструкций LDPC&кодов из расчета мак&
симального количества итераций, равного 20. На осях гистограмм
отложено количество итераций и количество попыток, в которых
декодер закончил работу за данное число итераций. Во всех случаях
конструкции кодов анализировались на отношении сигнал/шум,
обеспечивавшем вероятность ошибки 10–5.
Из гистограмм видно, что требуемое количество итераций не яв&
ляется постоянной величиной для различных конструкций кодов, и
наименьшее количество итераций требуется для декодирования евк&
лидово&геометрических кодов (EG&LDPC). Следовательно, общая
35
´ 104
65
64
63
62
61
5
4
3
2
1
1
2
3
4
5 61 62 63 64 65 21
Рис. 5. Число итераций, затраченных на де
кодирование LDPCкодов, основанных
на евклидовых геометриях [4]
´ 104
723
7
623
6
523
5
423
4
123
1
1
5
7
8
9
41 45 47 48 49 51
Рис. 6. Число итераций, затраченных на де
кодирование LDPCкодов, основанных
на кодах Рида–Соломона с двумя ин
формационными символами [5]
´ 102
27
21
67
61
7
1
1
2
3
4
5
61 62 63 64 65 21
Рис. 7. Число итераций, затраченных на де
кодирование LDPCкодов, построенных
по принципу density evolution [6]
36
сложность декодирования для этой конструкции будет минимальна,
несмотря на большое количество единиц в проверочной матрице EG&
LDPC&кодов.
Заключение
В данной работе предложен алгоритм многопорогового декодиро&
вания для кодов с низкой плотностью проверок на четность. Явля&
ясь представителем класса «быстрых» декодеров, алгоритм по слож&
ности равен алгоритму UMP, рассмотренному в работе, и требует
сложности декодирования в 10 раз меньшей, нежели сложность тра&
диционных алгоритмов. При этом многопороговый алгоритм деко&
дирования позволяет в гауссовском канале получить вероятность
ошибки декодирования всего на 0,1–0,2 дБ хуже, чем при использо&
вании локально&оптимальных алгоритмов, а по сравнению с быст&
рыми алгоритмами декодирования новый алгоритм выигрывает 0,3–
0,4 дБ по вероятности ошибки.
Литература
1. Gallager R. G. Low&density parity&check codes. PhD thesis. 1963. 90 p.
2. Gallager R. G. Low&density parity&check codes // IEEE Trans. on Inform.
Theory. Vol. IT&8. Jan. 1968. P. 21–28.
3. MacKay D. J. C., Neal R. M. Near Shannon limit performance of low
density parity check codes // IEE Electronics Letters. Vol. 32. N 18. 29 Aug.
1996. P. 1645–1655.
4. A class of low&density parity&check codes constructed based on Reed&
Solomon codes with two information symbols / I. Djurdjevic, J. Xu, K. Abdel&
Ghaffar et al. // IEEE Communications Letters. Vol. 7. N 7. July 2003.
P. 317–319.
5. Kou Y., Lin S., Fossorier M. P. C. Low&density parity&check codes based
on finite geometries: A rediscovery and new results // IEEE Transactions on
Information Theory. Vol. IT&47. Nov. 2001. P. 2711–2736.
6. Richardson T. J., Shokrollahi M. A., Urbanke R. L. Design of capacity
approaching irregular low&density parity&check codes // IEEE Trans.
Information Theory. Vol. 47. Feb. 2001. P. 619–637.
7. Fossorier M. P. C., Mihaljevic M., Imai H. Reduced complexity iterative
decoding of low&density parity check codes based on belief propagation //
IEEE Transactions on Communications. 47(5). May 1999. P. 673–680.
8. Колесник В. Д., Мирончиков Е. Т. Декодирование циклических ко&
дов. М.: Связь, 1968. 252 с.
37
А. Г. Ефимов,
аспирант
СанктПетербургский государственный университет
аэрокосмического приборостроения
ОБ АППАРАТНОЙ РЕАЛИЗАЦИИ ДЕКОДЕРОВ LDPCКОДОВ
Введение
Рассматривается несколько подходов к аппаратной реализации
декодеров LDPC&кодов на примере наиболее известных алгоритмов
декодирования: Belief Propagation (BP) [1], Uniformly Most Powerful
Belief Propagation (UMP BP) [2], многопороговое декодирование (MT)
[3] и турбодекодирование [4] на примере турбодекодера с ядром BCJR.
Для различных схем реализации декодеров в статье приведено срав&
нение основных характеристик схем (пропускной способности и пло&
щади кристалла), имеющих значение для аппаратной реализации.
Сравнение различных схем рассматривается на примере LDPC&кода
(2048, 1723), принятого в стандарт IEEE 802.3an (стандарт физи&
ческого уровня сети 10G Ethernet).
Параллельная архитектура декодеров LDPCкодов
Алгоритмы декодирования, рассматриваемые в статье, – это ите&
ративные алгоритмы декодирования, которые предназначены для
исправления ошибок, возникающих в каналах с полунепрерыв&
ным выходом, например в канале с аддитивным белым гауссов&
ским шумом.
Кратко рассмотрим работу декодера LDPC&кода. Для этого вос&
пользуемся представлением LDPC&кода в виде графа, для которо&
го проверочная матрица кода выступает в качестве матрицы инци&
дентности. Такой граф принято называть графом Таннера [5]. Граф
Таннера – это двудольный граф, вершины которого разделены на
два множества: множество символьных вершин, соответствующих
столбцам проверочной матрицы, и множество проверочных вер&
шин, соответствующих строкам проверочной матрицы. Ребра в
графе Таннера соответствуют ненулевым позициям в проверочной
матрице кода.
Одна итерация каждого алгоритма декодирования состоит из двух
фаз: в первой фазе происходит обновление надежностей всех прове&
рочных вершин на основании надежностей символьных вершин, во
второй – обновление всех надежностей символьных вершин на ос&
38
новании надежностей проверочных вершин. В каждой фазе обновле&
ние надежностей для каждой вершины происходит независимо и, сле&
довательно, может выполняться параллельно.
Представление проверочной матрицы LDPC&кода в виде графа Тан&
нера дает простой и естественный способ аппаратной реализации де&
кодера. Этот способ был предложен в статье [6]. В данном случае сим&
вольные и проверочные вершины графа Таннера реализуются аппа&
ратно как соответствующие вычислительные элементы (символьные
и проверочные), а ребра графа задают систему связей (шин и прово&
дов) между вычислительными элементами и блоками памяти, хра&
нящими значения вычисляемых в процессе декодирования надежно&
стей. Далее вычислительные элементы, соответствующие провероч&
ным вершинам, будем обозначать CNU (check node processing unit), а
элементы, соответствующие символьным элементам, – VNU (variable
node processing unit).
Основное преимущество такой архитектуры состоит в том, что об&
новления надежностей битов, соответствующих разным строкам
(столбцам) проверочной матрицы, могут выполняться полностью па&
раллельно. Это позволяет достичь максимальной пропускной спо&
собности декодера, которая может составлять до нескольких гига&
123456789
4
289
54
589
4
289
123
25657
123
423
123
423
123
65
43
21
423
123
423
123
423
85659
123
Рис. 1. Схема декодера, соответствующая полностью параллельной
архитектуре для кода (7, 5), содержащего 4 единицы в стро
ках и 3 единицы в столбцах проверочной матрицы
39
бит в секунду. Однако общая вычислительная сложность такого де&
кодера оказывается достаточно большой из&за большого количества
вычислительных элементов и сложной неструктурированной систе&
мы связей между этими элементами.
Укрупненная схема алгоритма декодирования, построенная в со&
ответствии с полностью параллельной архитектурой, показана на
рис. 1.
Частичнопараллельная архитектура декодеров LDPCкодов
Поскольку площадь кристалла является критическим парамет&
ром в аппаратной реализации, может оказаться, что для уменьше&
ния площади придется пожертвовать скоростью работы декодера.
В таком случае имеет смысл использовать схему, выполняющую об&
новление надежностей не для всех символьных (проверочных) вер&
шин графа Таннера параллельно (рис. 2). В этом случае обновляе&
мые надежности сохраняются в памяти, а один или несколько вы&
числительных элементов обрабатывают последовательно эти надеж&
ности.
Для коммутации сигналов между ячейками памяти и вычисли&
тельными элементами используется специальный блок «маршрути&
затор», который может быть выполнен на базе стандартных логичес&
ких элементов: мультиплексоров и демультиплексоров. При этом
потребуется:
1 R 2
1. NCNU rw&битных 4
5 3 1 мультиплексоров для коммутации
6 NCNU 7
сигналов, передаваемых от ячеек памяти к проверочным элементам,
123456
824
72898
5258
7236
7234
1236
1234
1235
Рис. 2. Схема работы декодера, соответствующая частичнопарал
лельной архитектуре
40
где NCNU – количество проверочных элементов в схеме; r – количе&
ство единиц в строке проверочной матрицы; w – разрядность комму&
тируемых надежностей (количество битов, требуемое для хранения
одной надежности); R – количество строк в проверочной матрице.
Как правило, это число равно 5–7 битам в зависимости от алгоритма
декодирования и реализации.
1 R 2
2. NCNU rw&битных 1 3 4
5 демультиплексоров для коммута&
6 NCNU 7
ции сигналов, передаваемых от проверочных элементов к ячейкам
памяти.
1 N 2
3. NVNU ( 1 2 1) w&битных 4
5 3 1 мультиплексоров для ком&
6 NVNU 7
мутации сигналов, передаваемых от ячеек памяти к символьным эле&
ментам, где NVNU – количество символьных элементов в схеме; g –
количество единиц в столбце проверочной матрицы; N – длина кода.
1 N 2
4. NVNU gw&битных 1 3 4
5 демультиплексоров для коммута&
6 NVNU 7
ции сигналов, передаваемых от символьных элементов к ячейкам па&
мяти.
Видно, что количество логических элементов, требуемых для реа&
лизации «маршрутизатора», не зависит от количества вычислитель&
ных элементов в схеме, а зависит лишь от размеров проверочной мат&
рицы кода и количества единиц в строках и столбцах этой матрицы.
Пропускная способность декодеров LDPCкодов
Под пропускной способностью декодера традиционно понимается
среднее количество битов в единицу времени, обрабатываемое или
выдаваемое декодером. Здесь под пропускной способностью будем по&
нимать количество информационных битов, выдаваемых декодером.
Пропускная способность декодера зависит не только от степени па&
раллельности вычислений в схеме декодирования. Другим важным
фактором является время работы вычислительных элементов. Для
различных декодеров это время различно. В табл. 1 приведено время
работы вычислительных элементов (символьных и проверочных) для
рассматриваемых в статье декодеров. Для каждого декодера оценка
времени работы была получена путем синтеза вычислительных эле&
ментов для реализации на ASIC при использовании библиотеки эле&
ментов TSMC 0.18 мкм.
41
Таблица 1
Время работы элемента, нс
Декодер
символьного
проверочного
Belief Propagation
10.85
7.73
UMP BP
15.17
10.43
Многопороговый декодер
15.17
10.52
Турбодекодер Традиционная реализация [7]
с ядром BCJR
Быстрая реализация [8]
163.40
В явном виде
отсутствует
31.09
Из табл. 1 видно, что для одного и того же кода и одной и той же
степени параллельности схемы декодирования максимальная про&
пускная способность разных декодеров будет различна, поскольку
в разных декодерах отличается время работы вычислительных эле&
ментов. В табл. 2 приведены оценки пропускной способности каждо&
го декодера для различных схем. Здесь и далее сравнение различных
схем декодирования проводится на примере декодеров, построенных
для декодирования (2048, 1723) LDPC&кода, содержащего 384 про&
верки, 32 единицы в строках и 6 единиц в столбцах проверочной мат&
рицы. Предполагается, что декодирование состоит из 10 итераций.
Таблица 2
Kоличество тактов, требуемое для
декодирования одного слова / Пропускная
способность схемы, Мб/с
Декодер
Часто&
та ра&
Последова&
Частично&па&
боты
тельная ар&
раллельная
деко&
архитектура
хитектура
дера,
МГц (один CNU& и (степень па&
раллельности
один VNU&
1/4)
элемент)
Полностью
параллельная
архитектура
(степень парал&
лельности 1)
Belief Propagation
92.2
24321/6.53 81/1960.39
21/7561.51
UMP BP
65.9
24321/4.67 81/1401.80
21/5406.94
Многопороговый
декодер
65.9
24321/4.67 81/1401.80
21/5406.94
6.1
3841/2.75
241/43.75
61/172.86
32.2
3841/4.43
241/229.92
61/908.39
Турбо& Традиционная
декодер реализация
с ядром
Быстрая
BCJR
реализация
42
Как правило, все вычислительные элементы, расположенные на
одном кристалле, тактируются одной тактовой частотой. Таким об&
разом, частота работы декодера определяется частотой работы наи&
более медленного среди всех элементов – символьного.
Потенциально пропускная способность декодеров BP, UMP BP и
MT может быть увеличена за счет использования двух тактовых ге&
нераторов и независимого тактирования символьных и проверочных
элементов. Но использование двух тактовых генераторов сильно
усложнило бы процесс работы с памятью (чтение/запись надежнос&
тей), а как следствие, и аппаратную реализацию декодера в целом.
Второй способ увеличения пропускной способности состоит в ис&
пользовании конвейерных вычислений в вычислительных элемен&
тах. Использование конвейеров разной длины в проверочных и сим&
вольных элементах позволяет «выровнять» частоты работы этих
элементов и увеличить, таким образом, общую пропускную способ&
ность декодера. Пример реализации конвейера длины 3 в провероч&
ном элементе алгоритма MT приведен схематично на рис. 3. Пропус&
кная способность различных декодеров при использовании конвей&
ерных вычислений представлена в табл. 3.
Таблица 3
Декодер
Дли&
на
Часто&
кон&
та
вейе& рабо&
ра в
ты
CNU / деко&
VNU& дера,
элеме& МГц
нтах
Kоличество тактов, требуемое для
декодирования одного слова / Пропускная
способность схемы, Мб/с
Последова&
тельная
архитектура
(один CNU& и
один VNU&
элемент)
Частично&па&
раллельная
архитектура
(степень
параллельно&
сти 1/4)
Полностью
параллельная
архитектура
(степень
параллельно&
сти 1)
Belief
Propagation
3/2
252.3 24351/17.85 111/3915.59
51/8522.16
UMP BP
3/2
185.8 24351/13.15 111/2884.08
51/6277.13
Многопороговый
декодер
3/2
185.3 24351/13.11 111/2876.76
51/6261.18
Турбо&
декодер
с ядром
BCJR
Тради&
ционная
реализа&
ция
32
163.2
5701/49.32
2101/133.84 1921/146.38
Быстрая
реализа&
ция
6
180.0
4141/74.93
541/573.58
361/859.57
43
а)
113
2 1234156
65
43
21
1 12
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
1234
112
5 6 978912 6 78
345
б)
1132 1234156
65
43
21
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234156
1234
1234
1234
1234
1234
1234
1234
13
12
1234
1234
1234
888
65
43
21
1234
1234
1234
13
12
656
4534
2321
7
1234
65
43
21
1234
888
65
43
21
1234
1234
1234
112
112
5 6 789
12 6 9
48345 5 6 78
12 6 978345 5 6 789 12 6 9
8
345
Рис. 3. Схема реализации проверочного элемента МТдекодера: а – без
использования конвейера; б – c использованием конвейера длины 3
44
Из табл. 2 и 3 видно, что прирост производительности от исполь&
зования конвейерных вычислений для различных декодеров разли&
чен и зависит от степени параллельности в схеме реализации. Для
полностью параллельной схемы прирост может быть получен только
для декодеров BP, MT и UMP BP, поскольку для них конвейерные
вычисления позволяют «выровнять» частоты проверочных и сим&
вольных вычислительных элементов. Для этих декодеров прирост
производительности в полностью параллельной схеме составил 13–
16%. В полностью параллельной реализации турбодекодера, наобо&
рот, наблюдается некоторое падение производительности. Происхо&
дит это из&за того, что элементы памяти, формирующие задержки в
конвейерах, увеличивают время работы символьного вычислитель&
ного элемента, а из&за отсутствия в явном виде проверочного вычис&
лительного элемента не «выравниваются» частоты.
Для частично&параллельной схемы реализации прирост произво&
дительности от использования конвейерных вычислений существу&
ет для всех декодеров, в том числе для турбодекодера. Причем, чем
меньше степень параллельности и чем больше длина конвейеров, тем
выше прирост производительности. Так, для декодеров BP, MT и UMP
BP использование конвейерных вычислений в схеме с одним прове&
рочным и одним символьным вычислительным элементом обеспечи&
вает прирост производительности приблизительно в 3 раза, а для
турбодекодера – в 5 и 18 раз для быстрой и традиционной схем реали&
зации алгоритма BCJR соответственно.
Для схемы, в которой количество вычислительных элементов рав&
но 1/4 от количества, необходимого для полностью параллельной
реализации, т. е. для схемы со степенью параллельности 1/4, при&
рост производительности для декодеров BP, MT и UMP BP составил
100–106%, а для турбодекодера – 150 и 200% для быстрой и тради&
ционной схем соответственно.
Платой за такое увеличение пропускной способности является уве&
личение количества элементов памяти, необходимых для формиро&
вания задержки сигналов в конвейерах, которое приводит к росту
общей площади кристалла. Причем, чем больше длина конвейера,
тем больше требуется элементов памяти и тем сильнее увеличивает&
ся площадь кристалла. Так, для полностью параллельной реализа&
ции декодеров BP, MT и UMP BP при использовании конвейеров дли&
ны 2 и 3 в символьных и проверочных элементах соответственно рост
площади составил 12–34%, для быстрой реализации турбодекодера
с конвейером длины 6–15%, для традиционной реализации с кон&
вейером длины 32 – почти в 2 раза.
45
Оценка пропускной способности и площади кристалла
для различных схем реализации декодеров
Оценка пропускной способности и площади для различных схем
реализации рассматриваемых декодеров представлена на рис. 4–7.
Оценка пропускной способности была получена путем независимого
синтеза всех вычислительных элементов декодера, определения час&
тоты работы каждого элемента и последующего вычисления оценки
по формуле
123456789
64363836 6
а)
12
9
8
7
6
5
4
3
2
1
2
2
5
3
27
4
43
7
75
23
3
239 367
35 59
623 2135 3159
7 2
3 495
36335
б)
139 1
12
81
71
61
51
41
31
21
1
2
5
27
2
3
4
43
75
239
367
623 2135 3159
7
23
35
59
7
2
3
495
36335
Рис. 4. Характеристики декодера BP: а – оценка пропускной способно
сти; б – оценка площади;
1 123 45672829
23
5
1 456532
1 456728297389
3133
4
39
31353
4
23
5
135563
46
C 1 Fbmin / Nclks K,
где Fbmin – частота работы наиболее медленного элемента декодера;
Nclks – количество тактов, необходимых для декодирования одного
кодового слова; K – количество информационных символов в одном
кодовом слове.
Оценка площади была получена по формуле
S 1 SCNU NCNU 2 SVNU NVNU 2 S0 ,
где SCNU – площадь проверочного элемента; NCNU – количество прове&
рочных элементов в схеме; SVNU – площадь символьного элемента;
123456789
643638361236
а)
8
7
6
5
4
3
2
1
2
2
5
3
27
4
43
7
75
23
239
35
367
59
623 2135 3159
7 2
3 495
36335
б)
139121
1
91
81
71
61
51
41
31
21
1
2
5
27
43
75
239
367
623 2135 3159
2
3
4
7
23
35
59
7
2
3
495
36335
Рис. 5. Характеристики декодера MT: а – оценка пропускной способ
ности; б – оценка площади;
1 123 45672829
23
5
13456732
1 45672829839
3133
4
3
3133
4
23
5
13563
47
123456789
64363836 6
а)
12
3
9
8
7
6
5
4
5
8
5
76
8
56
69
956
5
6
7
56
68
8
363
5468
648
56
78
956
5468
648
56
35
23
139 1
б)
12
4
4
4
94
84
74
64
54
4
5
8
5
76
8
56
69
5
6
7
56
68
8
363
23
78
35
Рис. 6. Характеристики декодера UMP BP: а – оценка пропускной спо
собности; б – оценка площади;
1 123 45672829
23
5
13456732
1 45672829839
3133
4
3
3133
4
23
5
13563
NVNU – количество символьных элементов; S0 – сумма площадей ос&
тальных вычислительных элементов, включая входные и выходные
буферы, блок инициализации, блок управления, блоки коммутации
сообщений между памятью и вычислительными элементами и т. д.
Полученная таким образом оценка площади является минимально
возможным значением площади, при этом качество оценки ухудша&
ется с ростом количества используемых в схеме символьных и прове&
рочных вычислительных элементов.
48
123456789
64363836 6
а)
12
3
9
418
417
416
415
4
9
5
6
8
363
97
2
5
76
35
139 1
12
74
б)
4
64
4
54
94
4
9
5
6
8
363
97
35
5
76
2 Рис. 7. Характеристики турбодекодера с ядром BCJR: а – оценка
пропускной способности; б – оценка площади;
1 123 45672829
239
56683456783
5
139
38
1 4567282933
4
239
56683456783
5
139
38
1 123 45672829
2319833456783
5
13
38
1 45672829393
457231983456783
5
13
3
Заключение
Были рассмотрены два известных подхода к аппаратной реализа&
ции декодеров LDPC&кодов: полностью параллельная и частично&
параллельная архитектуры.
При использовании полностью параллельной архитектуры (см.
рис. 4–7) пропускная способность декодеров BP, UMP BP и MT до&
стигает 6–8,5 Гб/с. Таким образом, параллельная архитектура мо&
жет быть использована на физическом уровне высокоскоростных про&
токолов передачи данных (например, в сети 10G Ethernet или в дру&
гих средствах связи, пропускная способность которых составляет до
10 Гб/с) для исправления ошибок, возникающих при передаче дан&
49
ных в каналах связи. Сравнивая площади различных декодеров,
можно видеть, что площадь декодера Belief Propagation оказывается
наименьшей. Однако так называемые «быстрые декодеры» (UMP BP
и MT) могут быть эффективно реализованы с использованием парал&
лельных ассоциативных вычислений (ассоциативных процессоров)
[9]. При этом при использовании ассоциативных вычислений кажется
возможным уменьшить площадь декодеров минимум в 1,5–2 раза,
хотя для получения точных оценок требуются дополнительные ис&
следования. Таким образом, с учетом качества декодирования алго&
ритмы Belief Propagation и Multi&Threshold являются наиболее под&
ходящими кандидатами для реализации в высокоскоростных схе&
мах передачи.
В приложениях, где требуемая пропускная способность не превы&
шает 1–2 Гб/с (например, в протоколах беспроводной связи), может
использоваться частично&параллельная архитектура. В таком слу&
чае наилучшим вариантом оказывается турбодекодер, пропускная
способность которого оказывается достаточной, а качество работы
выше, чем у других декодеров [4].
Литература
1. Gallager R. G. Low Density Parity Check Codes. Cambridge, MA: MIT
Press, 1963.
2. Fossorier M.P.C., Mihaljevic M., Imai H. Reduced Complexity Iterative
Decoding of Low&Density Parity&Check Codes Based on Belief Propagation //
IEEE Transactions on Communications. Vol. 47(5). May 1999.
3. Belogolovyi Andrey V., Krouk Evguenii A., Trifonov Peter V. Multi&
Threshold Reliability Decoding Of Low Density Parity Check Codes. Пат.
США.
4. Mansour M. M., Shanbhag N. R. High&Throughput LDPC decoders//
IEEE Transactions on VLSI Systems. 2003. Vol. 11. N 6.
5. Tanner R. A recursive approach to low complexity codes// IEEE
Trans.Inform. Theory. 1981. Vol. IT&42. P. 533–547.
6. Blanksby A., Howland C. A 690&mw 1&gb/s 1024&b, rate&1/2 low&density
parity&check code decoder// IEEE Journal on Solid&State Curcuits. Mar. 2002.
Vol. 37. N 3. P. 404–412.
7. Mansour M. M., Shanbhag N. R. High&Throughput LDPC decoders//
IEEE Transactions on VLSI Systems. 2003. Vol. 11. N 6.
8. Hu et al. X. Y. Efficient implementations of the sum&product algorithm
for decoding LDPC codes// Proc. IEEE GLOBECOM, San Antonio: TX, 2001.
Vol. 2. P. 1036–1036E.
9. Фостер К. Ассоциативные параллельные процессоры. М.: Энергоиз&
дат, 1981.
50
А. В. Козлов,
аспирант
СанктПетербургский государственный университет
аэрокосмического приборостроения
ИССЛЕДОВАНИЕ ПРИМЕНЕНИЯ LDPCКОДОВ СОВМЕСТНО
C АЛГОРИТМАМИ БИТЛОАДИНГА В OFDMСИСТЕМАХ
Современные телекоммуникационные системы требуют приме&
нения эффективных методов передачи и помехоустойчивого коди&
рования для обеспечения высоких информационных скоростей. В
данной работе исследуются схемы передачи данных в беспровод&
ных системах связи, основанные на применении алгоритмов бит&
лоадинга и LDPC&кодов. В качестве примера рассматривается при&
менение этих методов в системах IEEE 802.11a.
Физический уровень систем передачи данных стандартов IEEE
802.11a основан на технологии OFDM. Идея данного метода со&
стоит в разбиении имеющейся полосы частот на поднесущие и про&
ведении эквализации независимо для каждой из них. В IEEE
802.11a в качестве модуляции в каждой поднесущей использует&
ся равномерная модуляция BPSK/QPSK/16QAM/64QAM. В стан&
дартных системах решение о смене вида модуляции принимает
MAC&уровень. Недостатками стандартного подхода является то,
что каждая поднесущая имеет свой коэффициент затухания сиг&
нала, отличающийся от коэффициентов затухания остальных, а
этот факт не учитывается, и используется одна и та же модуляция
в каждой частоте.
При использовании многочастотного метода передачи необхо&
димо учитывать тот факт, что в частотно&селективном канале раз&
личные частоты имеют различные коэффициенты передачи, т. е.
разумно использовать в различных подканалах сигнальные созвез&
дия разных размеров, а также распределять энергию между подка&
налами неравномерно (процедура битлоадинга).
Известно множество алгоритмов, использующих принцип бит&
ло&адинга, таких как алгоритмы Хугеса–Хартогса [1], Фишера–
Хубера [2], Кронгольда–Рамчандрана–Джонса (KRJ) [3] и т. д.
Алгоритмы битлоадинга можно разделить на две группы:
1) алгоритмы минимизации общей мощности передатчика при
фиксированной скорости передачи и вероятности ошибки;
2) алгоритмы максимизации скорости передачи при фиксиро&
ванной вероятности ошибки и общей мощности передатчика.
51
В данной работе рассмотрены алгоритмы из того и другого клас&
са в условиях совместного применения с LDPC [4] и сверточными
кодами (Convolutional Code, CC) в OFDM&системах, а также рас&
смотрено влияние скорости изменения и проблем оценивания ка&
нала на алгоритмы битлоадинга.
Применение LDPCкодов совместно c алгоритмом KRJ
Алгоритм KRJ является алгоритмом минимизации общей мощ&
ности передатчика при фиксированной скорости передачи и вероят&
ности ошибки. В системах IEEE 802.11a он позволяет добиться энер&
гетического выигрыша до 5 дБ при низких скоростях передачи, вы&
игрыш уменьшается до 1,5–2 дБ с ростом скорости передачи (рис. 1).
Сравнение производительности LDPC и сверточного кода при исполь&
зовании KRJ&алгоритма битлоадинга дано на рис. 2. Как видно из
результатов имитационного моделирования, LDPC&коды позволяют
добиваться дополнительного (2–2,5 дБ) энергетического выигрыша
в сравнении со сверточными кодами в системах IEEE 802.11a при
использовании KRJ&битлоадинга.
802.11, 20 MГц – ширина полосы, PEG(1728, 1296) – помехоустойчивый код,
10 итераций, многопороговый декодер
1
0.1
PER
0.01
0.001
0.0001
10
15
20
25
30
35
SNR, дБ на передатчике
Рис. 1. KRJалгоритм совместно с LDPCкодом:
– KAM64 (54 Mбит/с);
– KAM64 (36 Mбит/с);
– KAM64 (18 Mбит/с);
52
– KRJбитлоадинг (54 Mбит/с);
– KRJбитлоадинг (36 Mбит/с);
– KRJбитлоадинг (18 Mбит/с);
802.11, 20 МГц – ширина полосы, сравнение LDPC со сверточным кодом,
КФМ, многопороговый декодер
1
PER
0.1
0.01
0.001
10
8
12
14
16
18
20
SNR, дБ на передатчике
Рис. 2. Сравнение производительности LDPC и сверточного кода при
использовании KRJалгоритма битлоадинга:
– PEG (1728,1296) + KRJбитлоадинг;
R = 0,75 + KRJбитлоадинг
– сверточный код,
Применение LDPCкодов совместно c алгоритмом адаптации
по отношению сигнал/шум в поднесущей
Алгоритм адаптации по отношению сигнал/шум в поднесущей
(ABL) является алгоритмом максимизации скорости передачи при
фиксированной вероятности ошибки и общей мощности передатчи&
ка. Алгоритм состоит из:
1) оценки коэффициентов передачи поднесущих Hk;
2) оценки дисперсии шума s2;
3) вычисления отношения сигнал/шум в поднесущей: SNRsubc 1
H2
3 10 log10 2k ;
1 2
1
4) выставления модуляционного созвездия в поднесущей по
SNRsubc и порогу.
Данный алгоритм является очень привлекательным ввиду низ&
кой сложности аппаратной реализации и времени исполнения, кото&
рое особенно важно в условиях изменения канала. Производитель&
ность алгоритма битлоадинга сильно зависит от достоверности теку&
щей информации о канале, на основании которой работает алгоритм,
а следовательно, частоты обмена информацией о состоянии канала
между приемником и передатчиком (рис. 3). Как видно, при задерж&
53
Пропускная способность, размер пакета = 1500
50
45
40
35
Мбит/с
30
25
20
15
10
5
0
0
5
10
15
SNR, дБ
20
25
30
Рис. 3. Производительность битлоадинга в зависимости от часто
ты обмена информацией о состоянии канала:
– статический 802.11a;
– CC+ABL (идеальная, 320 мкс);
– CC + ABL (идеальная, 3 мс);
– CC+ABL (идеальная, 5 мс)
ке обмена более 5 мс и доплеровском рассеянии Bd = 40 Гц (при ис&
пользовании сверточного кода) выигрыш от процедуры битлоадинга
практически нивелируется.
Другой проблемой использования алгоритмов битлоадинга явля&
ется их чувствительность к неточной оценке канала. При использо&
вании стандартного алгоритма оценки канала (рис. 4) ухудшение
составляет до 2–2,5 дБ по сравнению с идеальным оцениванием.
В данной работе была исследована возможность уменьшения этого
проигрыша за счет увеличения числа «длинных» тренировочных сим&
волов (LTS). Вставка двух дополнительных LTS&символов позволя&
ет добиться энергетического выигрыша в 1–1,5 дБ, что делает воз&
можным сократить потери до 1 дБ. Необходимо отметить, что при
имитационном моделировании учитывалось негативное влияние
вставки дополнительных тренировочных символов на информаци&
онную скорость передачи.
Как видно из результатов имитационного моделирования (рис. 5),
применение LDPC&кодов совместно с битлоадингом позволяет добить&
ся энергетического выигрыша до 2–2,5 дБ по сравнению со сверточ&
ными кодами.
54
Пропускная способность, размер пакета = 1500
45
40
Мбит/с
35
30
25
20
15
10
5
0
0
5
10
15
20
25
30
Рис. 4. Влияние оценки канала на производительность схемы
LDPC + ABL:
– статический 802.11a;
– LDPC (2048, 1536)+ABL;
– LDPC (2048, 1536)+ABL+с дополнительной оценкой;
– LDPC+ABL (идеальная, с доплеровским смещением)
Пропускная способность, размер пакета = 1500
45
40
35
Мбит/с
30
25
20
15
10
5
0 5
10
15
20
SNR, дБ
25
30
Рис. 5. Сравнение схем передачи на базе LDPC + ABL и CC + ABL:
– LDPC (2048, 1536) + ABL;
– CC (0.75) + ABL
55
Пропускная способность, размер пакета = 1500
50
45
40
Мбит/с
35
30
25
20
15
10
5
0
0
5
10
15
20
25
30
Рис. 6. Сравнение схем передачи на базе LDPC и стандартной IEEE
802.11a:
– статический 802,11a;
– статический 802.11a с LDPC(2048, 1536);
– LDPC(2048, 1536)+ABL+с дополнительной оценкой
В целом применение LDPC&кодов совместно с битлоадингом по&
зволяет добиться энергетического выигрыша до 2,5–5,5 дБ по срав&
нению со стандартными методами кодирования и модуляции систем
IEEE 802.11a (рис. 6). С точки зрения информационной скорости
передачи, LDPC&коды сами по себе не дают столь большого выигры&
ша по сравнению со сверточными кодами, так как в отличии от LDPC
сверточные коды имеют эффективную схему управления скоростью
кода (выкалывание).
Литература
1. HughesHartogs D. Ensemble modem structure for imperfect
transmission media. US.Patents Nos. 4,679,227. July 1987.
2. Fischer R. H. J. A new loading algorithm for discrete multitone
transmission: Proceedings of GLOBECOM’96. Nov. 1996. P. 724–728.
3. Krongold B. J. D., Ramchandran K. Computationally efficient optimal
power allocation algorithms for multicarrier communication systems // IEEE
Transactions on Communications. 2000. Vol. 48(1). P. 23–27.
4. Gallager R. G. Low Density Parity Check Codes. Cambridge, MA: MIT
Press, 1963.
56
А. В. Белоголовый,
канд. техн. наук,
СанктПетербургский государственный университет
аэрокосмического приборостроения
CЖАТИЕ ИЗОБРАЖЕНИЙ
С ИСПОЛЬЗОВАНИЕМ LDPCКОДОВ
Введение
Многие схемы сжатия изображений используют разбиение целых
изображений на домены (некие области одинаковых размеров), а затем
каждый домен каким&то образом сжимается с потерями качества. Боль&
шинство методов далее используют какое&либо спектральное преобра&
зование, а затем – скалярное квантование полученных спектральных
коэффициентов. Термин «скалярное квантование» означает, что вход&
ными данными являются отдельные числа, и самым простым вариан&
том скалярного квантования является округление. Возможными вы&
ходными данными для процедуры скалярного квантования являются
так называемые «уровни квантования» или «уровни реконструкции».
Как правило, в алгоритмах сжатия изображений с потерями уровни
квантования и прочие данные, используемые при квантовании, заданы
таблично. В результате получается, что каждый домен изображения
фактически обрабатывается независимо от остальных.
Однако обычные изображения содержат в себе большое количество
похожих областей, и, следовательно, после разбиения на домены обра&
зуются большие группы похожих или одинаковых доменов. Кажется
очевидным, что использование этих свойств «похожести» доменов мо&
жет дать выигрыши, если при сжатии обрабатывать каждый домен как
единое целое, а не как множество независимых точек. Чтобы лучше
понять предпосылки возможных выигрышей, рассмотрим пример.
Возьмем стандартное тестовое изображение размером 512´512 то&
чек, каждая точка является одним из 256 оттенков серого. Разобьем
изображение на домены размером 8´8 точек. Домен при этом можно
представить вектором длины 64 или, что то же самое, точкой в 64&мер&
ном пространстве. Соответственно, всего в таком векторном простран&
стве будет 256^64 = 2^512 точек. Само же изображение будет разбито
всего на 4096 = 2^12 доменов, и, следовательно, далеко не все точки
пространства будут задействованы. Если бы набор доменов из 2^12 эле&
ментов для этого изображения был известен и кодеру, и декодеру, то
можно было бы передать каждый домен максимум 12 битами. Более
57
того, при сжатии с потерей качества все похожие домены внутри изоб&
ражения могут быть заменены на один, приближающий реальные до&
мены изображения с некоторой ошибкой, что позволит использовать
еще меньше бит. Например, если набор используемых образцов будет
содержать 256 доменов, то на передачу одного домена изображения по&
требуется максимум 1 байт, при этом сжатие составит минимум 16 раз.
Использование этих свойств похожести доменов при сжатии изоб&
ражений принципиально новым не является, а квантование, при
котором входными данными являются векторы, а не отдельные чис&
ла, принято называть векторным квантованием. Известен ряд ра&
бот, посвященных использованию векторного квантования при сжа&
тии изображений [1–10].
Векторное квантование при сжатии изображений
Общий метод состоит в том, что изображение разбивается на доме&
ны, а домены рассматриваются как векторы или некие точки в много&
мерном пространстве, затем при сжатии с потерей качества похожие
между собой домены заменяются на один образец. Все образцы помеща&
ются в кодовую книгу. Традиционно для этой цели используется обоб&
щенный алгоритм Ллойда [1, 9]. В результате для каждого вектора&
домена изображения находится кодовое слово, наилучшим образом при&
ближающее данный домен при накладываемых ограничениях, а также
для всего изображения получается кодовая книга, набор кодовых слов,
использующийся при квантовании данного изображения. Применитель&
но к сжатию изображений само по себе векторное квантование обеспе&
NL
чивает сжатие в
раз, где N – длина вектора (число точек в доме&
log( K)
не); L – число бит на символ одного элемента входного вектора; K –
число векторов в кодовой книге. Объем кодовой книги здесь не учиты&
вался.
После применения векторного квантования восстановленное изоб&
ражение будет отличаться от исходного. Причем уровень искажений
будет определяться не только степенью сжатия, но и самим набором
векторов в кодовой книге {W} = {w1, w2, ..., wK}. То есть, если для одного
изображения некая кодовая книга будет давать хорошие результаты по
качеству, для другого – та же самая кодовая книга будет вносить совсем
неприемлемые искажения. Именно поэтому в традиционных схемах
применения векторного квантования для сжатия изображений, чтобы
обеспечить приемлемое качество, кодовая книга каждый раз строится
для конкретного изображения, и в дальнейшем построенную кодовую
книгу необходимо передавать для возможности восстановления изоб&
58
ражения. При этом кодовая книга сама по себе занимает много инфор&
мации и составляет существенную часть от общего количества байт,
которые необходимо хранить после сжатия. При использовании век&
торного квантования степень сжатия можно было бы повысить, если
отказаться от хранения кодовой книги, другим словами – использовать
одну и ту же книгу для всех изображений.
Кодовый подход к векторному квантованию
Будем говорить, что домен a размера n 1 n покрывается в коде W с
радиусом R, если найдется w Î W, для которого сумма квадратов раз&
ностей элементов матрицы w – a не превышает R: 3 (wi 1 ai )2 2 R. Тог&
да любой код можно рассматривать как покрытие некоего множества
доменов радиусом R, а процесс векторного квантования можно рас&
сматривать как отображение множества доменов в кодовые слова
wÎW (рис. 1).
Для кодовой книги, построенной адаптивно при помощи обобщен&
ного алгоритма Ллойда, получается минимально возможный радиус
покрытия, так как код построен исключительно под домены изобра&
жения, а не является покрытием всего пространства. Но код при этом
не обладает никакими свойствами, следовательно, саму кодовую кни&
гу компактно не передать.
Рис. 1. Адаптивное покрытие выбранных точек пространства:
– кодовое слово;
– домен;
– все пространство
59
1
1
1
1
Рис. 2. Использование кода, покрывающего все пространство:
– кодовое слово;
– домен изображения;
– пространство
Если попытаться использовать для квантования специальный код,
покрывающий все пространство, то радиус покрытия будет значитель&
но больше (рис. 2), но если при этом код будет являться какой&либо
структурой или будет обладать какими&либо свойствами, то сам код
можно будет компактно хранить, либо не хранить вообще, если он не
будет меняться для всех обрабатываемых изображений.
Пусть G – некоторый линейный (n, k)&код над полем GF(q), q = 256
для того же случая, когда каждая точка является одним из 256 от&
тенков серого GF(q). Пусть сторона домена изображения будет равна
nd, при этом nd nd = n.
Если точки покрываемого пространства являются доменами некоего
изображения, то сжатие будет состоять в том, что каждый домен из n
точек будет заменен на кодовое слово кода G, наиболее близкое к исход&
ному домену в евклидовой метрике. Так как кодовое слово однозначно
определяется своей информационной совокупностью (в нашем случае
информационная совокупность имеет длину k), то достаточно хранить
60
k элементов для восстановления всего кодового слова. В результате вме&
сто n точек будет храниться k, а сжатие составит n/k раз. Потери каче&
ства будут происходить из&за того, что при замене реальных доменов на
кодовые слова идеального соответствия не будет. Главным достоинством
при этом является то, что сам код в этом случае вообще не передается.
Данный метод для случая использования кодов Рида–Соломона опи&
сан в [11].
С точки зрения сжатия и последующего восстановления, радиус по&
лученного покрытия для изображения влияет на качество восстанов&
ленного изображения: чем больше радиус, тем хуже объективное каче&
ство. На радиус покрытия будут влиять как количество слов в коде G,
так и расположение этих слов в пространстве относительно точек по&
крываемого множества, следовательно, чем лучше выбран код, тем луч&
ше будет качество восстановленного изображения. Если использовать
линейный (n, k)&код, то его можно компактно хранить, например, в виде
генераторной матрицы кода. Тогда для квантования различных изоб&
ражений можно использовать разные коды и, следовательно, несколь&
ко улучшить качество.
Однако, даже несмотря на то, что при использовании помехоустой&
чивого кода для квантования изображений сам код не нужно хранить,
общее сжатие оказывается значительно меньшим по сравнению со сжа&
тием при адаптивном построении кода. Дело в том, что адаптивное по&
строение позволяет построить код существенно меньшей размерности
при одинаковом качестве восстановленных изображений. Следователь&
но, все равно необходим путь адаптации кода к изображению.
Адаптация изображения к коду
Пусть есть некое пространство C и некий код W, полностью по&
крывающий пространство C радиусом R. Это означает, что для любой
точки пространства C найдется кодовое слово кода W, расстояние от
которого до точки пространства не превышает R:
1w 2 W : 3c 2 C, d(c, w) 4 R, где d(c, w) 1 3 (wi 2 ci )2.
Пусть C¢ – пространство, точками которого являются реальные
домены изображения, и пусть есть набор обратимых преобразований
M, определенный над множеством точек пространства C¢ так, что ре&
зультат преобразований из M всегда принадлежит пространству C:
2c1 3 C1, m 3 M : c 4 mc1, c Î C.
Таким образом, любую точку из пространства C¢ можно при помощи
преобразований из M перевести в точку пространства C, где она будет
покрыта кодом W с радиусом R, следовательно, использование кодово&
61
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Рис. 3. Использование преобразований для перехода к другому
пространству:
– кодовое слово из базиса;
– домен изображения;
–
исходное пространство;
– пространство, полностью покры
тое кодом W;
– преобразование
го слова из W в качестве квантователя для точек вида mc¢, c¢ Î C¢ не
будет давать ошибку квантования больше, чем R, и преобразования
смогут подстроить единый код под конкретное изображение (рис. 3).
Использование свойств кодов, исправляющих ошибки,
в квантовании
При квантовании точек пространства возникает задача поиска
ближайшего кодового слова для произвольной точки пространства.
В общем случае эта задача может быть решена полным перебором
всех кодовых слов. Но, исходя из допущения, что код, покрываю&
щий пространство, обладает некими свойствами, по аналогии с по&
мехоустойчивым кодированием, можно рассматривать произвольную
точку пространства c как некое кодовое слово a с добавленным векто&
ром ошибки e:
a = c+e, c Î C.
62
Будем называть весом ошибки расстояние от точки, соответству&
ющей вектору ошибки, до нулевого вектора (вектора, элементами
которого являются нули):
wt(e) 1 d(e, 0).
Тогда задачу поиска кодового слова, находящегося на расстоянии
не больше чем R от заданной точки, можно свести к задаче поиска
вектора ошибки минимального веса: по принятому вектору a нужно
найти такой вектор ошибки e, вес которого не превышал бы R, кото&
рый в сумме с кодовым словом давал бы принятый вектор:
e : a 1 w 2 e, w 3 W, wt(e) 4 R.
В терминах помехоустойчивого кодирования эта задача может быть
описана как задача декодирования кода W в радиусе до R, то есть
поиска такого кодового слова w Î W, что w 1 c 2 e, wt(e) 3 R.
Теперь общий принцип сжатия изображений при помощи помехо&
устойчивых кодов можно сформулировать так:
– каждый домен xi изображения отображается при помощи преоб&
разований в точку ci пространства C, покрытого кодом W;
– в пространстве C выполняется декодирование вектора ci в коде
W, т. е. находится ближайшее кодовое слово wi, принадлежащее коду
W, и это слово wi считается квантователем для исходного домена xi;
– сохраняется gi – информационная совокупность слова wi. Сжа&
тие от квантования будет состоять в том, что вместо домена xi будет
храниться информационная совокупность gi.
Однако подстройка изображения под код может быть выполнена не
только за счет преобразований. Существует метод, подстраивающий
изображение под фиксированный помехоустойчивый код за счет согла&
сованной потери качества, работающий следующим образом. Из доме&
нов изображения последовательно формируются двоичные битовые
плоскости, а затем каждая битовая плоскость квантуется при помощи
декодирования заданного двоичного кода с низкой плотностью прове&
рок на четность. Таким образом, в качестве преобразований, переводя&
щих домены в другое пространство, метод использует разбиение доме&
нов на битовые плоскости, а в качестве покрывающих кодов использу&
ются двоичные коды с низкой плотностью проверок на четность.
Основная идея данного метода состоит в том, что при квантовании
компоненты битовых плоскостей имеют различную значимость для вос&
становленного изображения. Пусть необходимо проквантовать самую
старшую битовую плоскость (плоскость, состоящую из старших битов
элементов доменов). Очевидно, что ошибки квантования этой плоско&
сти приведут к самым большим ошибкам в восстановленном изображе&
нии, однако, следует принять во внимание факт, что далее будет произ&
63
водиться квантование остальных битовых плоскостей, и некоторые
ошибки квантования старшей плоскости могут быть учтены при кван&
товании младших битовых плоскостей.
Рассмотрим пример. Значения яркости доменов разбиты на 8 бито&
вых плоскостей: Xi 1 {xi1, xi2...}. Пусть в старшую битовую плоскость
попадают два значения xi1 и x1j , оба равные единице: xi1 соответствует
единице в старшем разряде яркостной компоненты Xi, равной 255, а x1j –
единице в старшем бите от числа Xj = 128. Ошибки квантования обоих
бит приведут к одинаковой ошибке квантования изображения, однако
1
ошибка квантования бита xi при квантовании значений бит осталь&
ных битовых плоскостей, соответствующих Xi, может только увели&
читься. При этом ошибка квантования бита x1j может быть компенси&
рована при квантовании последующих уровней вплоть до единичной
ошибки, если все последующие биты плоскостей, соответствующих
компоненте Xj, будут проквантованы в единичные биты. Тогда восста&
новленное значение компоненты, соответствующей Xj, будет равно 127
вместо 128, что будет не различимо человеческим глазом.
Приведенный пример означает, что при квантовании необходимо
учесть значимость битов xi1 и x1j при использовании в качестве процеду&
ры поиска квантователя декодера, то есть какие&то биты при квантова&
нии могут допустить ошибку, а какие&то – ни в коем случае не должны.
Этого можно добиться, если выставить битам надежности, а затем де&
кодирование производить с учетом надежностей. Для этого были вы&
браны коды с некой плотностью проверок на четность, обладающие про&
стыми схемами декодирования в полунепрерывном канале, то есть схе&
мой декодирования с учетом надежностей символов. Применительно к
изображениям алгоритм декодирования используется следующим об&
разом.
Пусть {Xi} – яркостные компоненты изображения, которые будут
подвергаться квантованию, {Wi }, 1 1 i 1 N – коды с низкой плотнос&
тью проверок на четность, N – число бит, требуемых для двоичного
представления числа {Xi}. Будем называть уровнями квантования
поиск квантователей для отдельных битов, из которых потом будут
1 i }. Число уровней кван&
восстанавливаться яркостные компоненты {X
тования также будет равно N. Тогда алгоритм квантования с выс&
тавлением надежностей будет работать следующим образом.
1. На первом уровне квантования формируется множество бит {xi1} ,
где xi1 – старшие биты чисел Xi, и множество надежностей битов {li1} .
Надежности битам выставляются с учетом исходных значений Xi по
формуле li1 1 (Xi 2 2N 11 3 xi1)2 . Из пар (xi1, li1) формируются векторы, яв&
ляющиеся входными данными для декодера кода с низкой плотностью
64
проверок на четность, а затем производится декодирование по надежно&
1 1i .
стям в коде W1, результатами которого являются векторы битов x
2. На каждом последующем уровне квантования k, 2 1 k 1 N , вы&
числяются разности rik 1 Xi 2
k 11
3 x1 i
m N 1m
2
, формируется множество
m 21
131, rik 2 2N 1k;
бит {xik } , где xik 4 5
и выставляются надежности этим би&
k
N 1k
370, ri 6 2 ,
там lik 1 (rik 2 2N 1k 3 xik )2 . Из пар (xik, lik ) аналогично формируются век&
торы, являющиеся входными данными для декодера по надежнос&
тям, а затем производится декодирование по надежностям в коде Wk,
1 ik .
результатами которого являются векторы битов x
После прохождения всех N уровней будут получены проквантован&
1 ik , которые будут считаться составляющими битовых
ные значения x
плоскостей изображения. Так как коды Wi являются линейными кода&
ми, то для восстановления всего кодового слова w 1 {w0 , ..., wn 11 } необ&
ходимо знать только информационную совокупность слова c. При ис&
пользовании на уровнях квантования кодов с низкой плотностью про&
верок на четность длиной ni и числом информационных символов ki
N
сжатие только за счет квантования составит
1
i 11
N
ki
1 ni
раз. Так как
i 11
коды являются алгебраическими структурами, то хранить коды можно
компактно, а так как коды остаются неизменными для всех изображе&
ний, то никакой информации о кодах не будет записываться в сжатый
поток.
Квантование изображений LDPCкодами
В общем случае для процедуры квантования, описанной выше, мож&
но брать произвольные коды, имеющие схему декодирования с исполь&
зованием надежностей. Одним классом кодов с такими свойствами яв&
ляются коды с низкой плотностью проверок на четность [12] или LDPC&
коды. Данные коды являются линейными блоковыми кодами, облада&
ют простой схемой декодирования по надежностям, и, следовательно,
могут быть использованы для сжатия изображения описанным мето&
дом.
Очевидно, что использование одного и того же кода на всех уров&
нях квантования хороших результатов не даст ввиду того, что, как
65
Рис. 4. Восстановленное изображение при использовании кодового
квантования (SNR = 23.61 дБ, PSNR = 30.25 дБ)
уже упоминалось, ошибки на каждом уровне квантования по&разно&
му влияют на общую ошибку квантования, следовательно, этот факт
должен быть как&то учтен при выборе кодов.
Наиболее простым представляется последовательное увеличение
избыточности (или, что то же самое, уменьшение скорости) кодов,
k k
которые используются на уровнях квантования: 1 1 2 1 ... и т. д.
n n
Результат применения описанного кодового квантования битовых
плоскостей с использованием надежностей к тестовому изображению
«LENA» приведен на рис. 4. Использованы LDPC&коды (16, 8),
(16, 8), (16, 8), (16, 8), (64, 14), (256, 29), (256, 29), (256, 29).
Заключение
Рассмотренный метод кодового квантования изображений дает
неодинаковые результаты на различных типах доменов, но есть типы
доменов, на которых качество восстановленных изображений пре&
восходит качество восстановленных доменов при использовании алго&
ритма JPEG. Так как кодовое квантование битовых плоскостей с выс&
тавлением надежностей в работе оперирует доменами изображения, есть
66
возможность использовать его совместно с каким&либо иным алгорит&
мом сжатия, использующим разбиение изображения на домены, напри&
мер алгоритмом JPEG, так, чтобы для каждого домена изображения
всегда использовался метод, дающий лучшие результаты на данном
домене. Принцип совместного использования может быть следующим:
– фиксируется минимально допустимое качество восстановленно&
го изображения;
– все домены изображения сжимаются при помощи кодового кван&
тования, а затем разности между исходными доменами и восстанов&
ленными после кодового квантования кодируются дополнительно
алгоритмом JPEG для кодирования разностей для обеспечения за&
данного качества;
– в случае, если кодовое квантование с последующим кодирова&
нием разности алгоритмом JPEG дает большее количество байт,
чем традиционный алгоритм JPEG с заданным качеством, данный
домен кодируется традиционным алгоритмом JPEG.
При описанном принципе использования кодового квантования
совместно с алгоритмом JPEG для сжатия изображений, представ&
ляющих собой 256 оттенков серого, и обеспечения высокого каче&
ства восстановленных изображений в среднем на 11 % доменов на&
блюдались выигрыши от использования кодового квантования. Под&
робные данные приведены в таблице.
Тестовое
изображение
Процент доменов,
дающих выигрыш
Выигрыш по общему
сжатию, байт
SNR
g_airplane.bmp
4,37
500
37.25
g_arctichare.bmp
0,07
0
41.84
g_baboon.bmp
51,10
16500
33.02
g_barbara.bmp
14,72
3000
33.42
g_boat.bmp
21,00
4000
33.38
g_cat.bmp
10,25
1800
35.35
g_fruits.bmp
4,83
800
35.29
g_lena.bmp
5,27
800
32.19
g_peppers.bmp
4,52
800
32.89
g_pool.bmp
0,76
0
30.96
Описанная схема может применяться в приложениях, требующих
высокого качества восстановленных изображений, например коди&
рование фильмов для записи DVD или спутниковое телевидение.
67
Литература
1. Gray R. M. Fundamentals of Vector Quantization. http://www&
isl.stanford.edu/~gray/compression.html
2. Li J., Gray R. M., Olshen R. Joint Image Compression and Classification
with Vector Quantization and Two Dimentional Hidden Markov Model // Data
Compression Conference: IEEE Computer Society TCC. 1999. P. 23–32.
3. Hung A. C., Tsern E. K., Meng T. H. Error&resilient pyramid vector
quantization for image compression // IEEE Trans. on Image. Process. Oct.
1998. Vol. 7. P. 1373–1386.
4. Lin J.H., Vitter J. S. Nearly Optimal Vector Quantization via Linear
Programming // Data Compression Conference: IEEE Computer Society TCC.
1992. P. 22–31.
5. Using vector quantization for image processing / P. C. Cosman, K. L. Oehler,
E. A. M. Riskin et al. // Proc. of the IEEE. Sept. 1993. Vol. 81. N 9. P. 1326–1341.
6. Bayazit U., Pearlman W. A. Variable&Length Constrained Storage Tree&
Structured Vector Quantization // IEEE Trans. Image Processing. Mar. 1999.
Vol. 8. N 3. P. 321–331.
7. Bradley J. N., Brislawn C. M. Wavelet transform&vector quantization
compression of supercomputer ocean models // Data Compression Conference.
May 1993. P. 224–233.
8. Raffy P., Antonini M., Barlaud M. Distortion&Rate Models for Entropy&
Coded Lattice Vector Quantization // IEEE Transactions on Image Processing.
2000. Vol. 9. N 12. P. 2006–2017.
9. Garey M. R., Johnson D. S., Witsenhausen H. S. The complexity of the
generalized Lloyd&Max problem // IEEE Trans. Inform. Theory. 1982. Vol. 28.
N 2. P. 255–256.
10. Gersho A., Gray R. M. Vector quantization and signal compression.
Kluwer Academic Publishers. Jan. 1992. 732 p.
11. Белоголовый А. В. Применение кодов, исправляющих ошибки, для
сжатия видеоизображений // Вторая Междунар. молодежная школа&се&
минар БИКАМП’99: Тез. докл. СПб., 1999. С. 119.
12. Gallager R. G. Low&density parity&check codes // IEEE Trans. on Inform.
Theory. Jan. 1968. Vol. IT&8. P. 21–28.
68
С. В. Беззатеев,
канд. техн. наук, доцент
М. В. Степанов,
аспирант
СанктПетербургский государственный университет
аэрокосмического приборостроения
АЛГЕБРОГЕОМЕТРИЧЕСКИЕ КОДЫ
НА ГРАНИЦЕ ГРАЙСМЕРА
Граница Грайсмера и ее связь с границей Синглтона
Рассмотрим (n, k, d)q&коды, которые удовлетворяют верхним гра&
ницам существования кодов, исправляющих ошибки [1], а именно
границам Грайсмера и границам Синглтона. Покажем связь между
этими границами.
Стандартный вид границы Грайсмера задается следующей форму&
лой:
k 11 1
d2
n 3 6 4 i 5,
i 20 4 q 5
(1)
где q – размер конечного поля Fq, над которым задан код. Округление
до ближайшего целого, большего a. Коды, удовлетворяющие равен&
ству (1), будем называть кодами Грайсмера. Граница Синглтона за&
дана формулой
n = k+d–1.
(2)
При q > d равенство (1) эквивалентно (2), т. е. граница Синглтона –
частный случай границы Грайсмера. Известен только один класс ли&
нейных кодов, удовлетворяющих условию (2), – это коды МДР [1].
Необходимые сведения из алгебраической геометрии
Прежде всего, рассмотрим необходимые результаты алгебраичес&
кой геометрии. К числу этих результатов отнесем границу, дающую
верхнюю оценку количества точек на алгебраической кривой, а так&
же теорему Римана–Роха, дающую оценку размерности пространства
функций, заданных на некотором дивизоре.
Сначала дадим ряд определений. Для простоты изложения все
определения, последующие ниже, будут справедливы только для глад&
ких неприводимых плоских кривых.
Определение 1. Кривой назовем полиномиальную функцию 1.
Определение 2. Точкой на кривой назовем P = (x, y), удовлетворя&
ющую 1( P) 2 0, где x, y 1 Fq .
69
Определение 3. Гладкая кривая – это кривая 1, у которой нет осо&
бых точек, т. е. не существует точки P: 1( P) 2 1x ( P) 2 1y ( P) 2 0.
Будем рассматривать только гладкие кривые.
Определение 4. Дивизор D – это формальная сумма точек кри&
вой: 2 1i Pi , 1i 2 Z. Степень дивизора гладкой кривой deg(D) =
i
2 1i .
i
Рассмотрим поле рациональных алгебраических функций, в ко&
g
, где
h
g, h – полиномиальные функции, обращающиеся в нуль только в точ&
ках, лежащих на кривой. Множество таких функций будет полем
функций, заданных на кривой [3].
Нулями рациональной функции назовем точки, в которых функ&
ция обращается в нуль, а полюсами функции – точки, в которых
функция обращается в бесконечность.
Определение 5. Пространство функций, заданное на дивизоре L(D), –
это такое множество функций, в котором любая функция имеет по&
люс в тех же точках, что и дивизор D, и кратность конкретной точки
меньше или равна коэффициенту 1i . Количество нулей функции в каж&
дой точке кривой должно быть больше или равно коэффициенту 1i .
Определение 6 [3, следствие 2.2.8]. Род гладкой, неприводимой,
тором каждая функция может быть представлена в виде f 1
плоской кривой g определяется величиной g 2
(t 1 1)(t 1 2)
, где t – сте&
2
пень гладкой кривой 1.
Теорема 1 [3, 3.1.7]. Обозначим Nq(g) максимальное количество
точек на кривой. Тогда Nq ( g ) 3 q 4 1 4 g 12 q 2 .
5
6
Теорема 2 [3, теорема Римана–Роха]. Пусть 1 – гладкая кри&
вая рода g, определенная над Fq, и пусть D – дивизор на кривой 1.
Тогда dim L( D) 1 deg( D) 2 1 3 g.
Теорема Римана–Роха позволяет оценить базис векторов линей&
ного пространства функций, заданных на дивизоре кривой 1.
Теорема 3 [3, теорема 4.1.1]. Пусть 1 – кривая рода g, определен&
ная над Fq. Пусть P 1 2(Fq ) – подмножество n различных Fq – рацио&
нальных точек на 1 и пусть D – дивизор на 1 : 0 1 deg( D) 2 n
и P 1 D 2 3. Тогда алгебро&геометрический линейный код C : =
1 C(2, P, D) длины n будет кодом c k 1 deg( D) 2 1 3 g и d 1 n 2 deg( D).
Следствие 1 [3, замечание 4.1.10]. Алгебро&геометрические
(n, k, d)q&коды удовлетворяют соотношению k 1 d 2 n 1 1 3 g.
Учитывая приведенный результат и оценку для верхней границы
длины кода Ng(q), можно сформулировать следующее следствие.
70
Следствие 2. Пусть 1 – гладкая проективная кривая рода g над Fq
и пусть k 1 2. Тогда расстояние линейного (n, k, d)q алгебро&геомет&
рического кода удовлетворяет неравенству d 3 q 4 1 5 g 612 q 72 .
Доказательство. Из границы Синглтона получаем n 1 k 2 d 3 1. Со&
гласно теореме 1, длина кода может быть оценена сверху как
n 5 Nq 1 g 2 6 n 5 q 7 1 7 g 32 q 4 . Эту оценку можно уточнить, учиты&
8
9
вая, что для построения кодов с k 1 2 и d < n необходимо, что&
бы deg( D) 1 0 (теорема 3). Это означает, что длина кода будет, по край&
ней мере, на единицу меньше количества точек на кривой. Тогда
q 3 g 12 q 2 4 n 4 k 3 d 5 1, откуда получим оценку d 3 q 4 1 5 k 4 g 612 q 72
6
7
и, учитывая тот факт, что k 1 2, получим d 3 q 4 1 5 g 612 q 72 .
Таким образом, все приведенные теоремы дают представление о
параметрах линейного алгебро&геометрического (n, k, d)q&кода.
Алгеброгеометрические коды, лежащие на границе Грайсмера
Для кодов с k 1 2 рассмотрим случай с d ¹ 0 mod q. Преобразуем
равенство (1), применив формулу 53a 46 1 57a 86 2 1:
k 11 1
k 11 1
k 11 3
d2
d2
d4
n 5 3 i 4 5 d 6 3 i 4 5 d 6 k 7 1 6 3 i 4,
i 20 3 q 4
i 21 3 q 4
i 21 8 q 9
следовательно,
k 11 1
d2
n 3 d 4 k 5 1 4 8 1 i 2.
i 21 6 q 7
(3)
k 11 1
d2
Лемма 1. Если g удовлетворяет соотношению g 3 6 1 i 2, то код
i 21 4 q 5
лежит на границе Грайсмера.
Доказательство. Покажем, в каком случае алгебро&геометричес&
кий код будет иметь длину не более длины, определенной границей
Грайсмера.
Длина кода, лежащего на границе Грайсмера, должна удовлетво&
рять соотношению
k 11 1
d2
n 3 d 4 k 5 1 4 8 1 i 2.
(4)
i 21 6 q 7
С другой стороны, длина алгебро&геометрического кода ограниче&
на неравенством
(5)
n 1 k 2 d 3 1 2 g,
как следует из следствия 1.
71
Тогда условие, при котором правая часть неравенства (5) оказы&
вается меньше правой части равенства (4), можно записать следую&
щим образом:
k 11 1
d2
k 3 d 41 3 g 5 d 3 k 41 3 8 1 i 2
i 21 6 q 7
или
k 11 1
d2
g 3 6 1 i 2,
i 21 4 q 5
(6)
что и требовалось доказать.
Теорема 4. Любой алгебро&геометрический код с d > q и g = 1 лежит
на границе Грайсмера.
Доказательство. Воспользуемся результатом леммы 1 и докажем,
что это условие выполняется. Перепишем неравенство (6) при g = 1.
Тогда
k 11 1
d2
1 3 6 1 i 2,
i 21 4 q 5
(7)
но q 3 d 3 q 4 12 q 2 5 1 3 2q при q 1 2, а следовательно, правая часть не&
6
7
равенства (7) превращается в единицу, что означает выполнение ус&
ловия леммы.
Следствие 3. Параметры любого алгебро&геометрического кода с
d > q и g = 1 будут удовлетворять соотношению n = k+d.
Доказательство очевидно.
Пример. Построим поле F16 при помощи примитивного полинома
a4 = a + 1. Выберем кривую, например y2 1 xy 2 x3 1 34 x 1 3. Тогда g = 1
согласно определению 6. Найдем точки на этой кривой, лежащие в
поле F16.
(1,0)
(a^6,0)
(a^13,0)
(1,1)
(a^7,1)
(a^9,1)
(0,a^2)
(a^10,a^2)
(a,a^3)
(a^10,a^4)
(a^11,a^4)
(a^14,a^4)
(a^6,a^6)
(a^9,a^7)
(a,a^9)
(a^7,a^9)
(a^14,a^9)
(a^4,a^11)
(a^5,a^12)
(a^4,a^13)
(a^11,a^13)
(a^13,a^13)
(a^5,a^14)
Построим код с k = 3 и n = 22. Тогда, согласно доказанной теореме
4 и следствию 3, данный код имеет d = 19 и будет лежать на границе
72
Грайсмера. Построим код (22, 3, 19) над F16, используя базис {1, x,
y}. Порождающая матрица такого кода
11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
3 10 4
6 13
7 14 4 11 13 10 11 14 6
7
9
5
94
30 a a 1 a a a a a a a a a a a a 1 a a a a a 4.
3
3 5 5 5 6 6 6 7 7
7
8
8
8 9 10 10 10 11 12 13 4
5a a a a a a a a a a a a a a a a a a a a a a 6
Заключение
В данной работе доказано существование алгебро&геометрических
кодов рода 1, лежащих на границе Грайсмера. Поскольку основны&
ми фактами при доказательстве утверждений стали теорема 3 и тео&
рема 1, то полученные результаты справедливы для кодов, которые
построены на произвольных кривых.
Литература
1. МакВильямс Ф. Дж., Слоэн Н. Дж. А. Теория кодов, исправляющих
ошибки. М.: Связь, 1979.
2. Stichtenoth H. Algebraic function fields and codes. Berlin: Springer&
Verlag, 1993.
3. Влэдуц С. Г., Ногин Д. Ю., Цфасман М. А. Алгебро&геометрические
коды. Основные понятия / МЦНМО. М., 2003.
4. Виноградов И. М. Основы теории чисел. М.: Наука, 1972.
73
А. В. Афанасьева,
аспирантка
С. В. Беззатеев,
канд. техн. наук, доцент
СанктПетербургский государственный университет
аэрокосмического приборостроения
НОВЫЙ СПОСОБ ПОСТРОЕНИЯ CFF
Введение
Cover&free families (CFF) рассматривались в теории информации,
комбинаторике и групповых тестах. Впервые данный объект был вве&
ден в работе [1] в 1964 году для рассмотрения неслучайных наложен&
ных двоичных кодов. Позднее появилось множество работ, посвя&
щенных этим кодам и, соответственно, CFF. В 1985 году была опуб&
ликована статья [2], где к описанию CFF был применен комбинатор&
ный подход, и построены первые оценки для соотношения парамет&
ров схемы. А в 1987 году авторы работы [4] впервые ввели понятие
CFF и рассмотрели его применение для создания групповых тестов.
С тех пор множество работ было опубликовано по данной теме, они
относились к различным областям, применяли разные методики для
построения CFF и получения оценок для них. Многие результаты
были несколько раз «переоткрыты», а теоремы «передоказаны». Наи&
более полный обзор, обобщающий все имеющиеся результаты по дан&
ной теме, был приведен в работе [5], там же можно более подробно
ознакомиться с существующими подходами к построению CFF. Само
понятие CFF было обобщено различными способами для использова&
ния в прикладных областях. Каждое обобщение требовало измене&
ния или разработки новых способов построения, уточнения оценок и
т. п. Самое первое и наиболее узкое определение, на которое мы и
будем в дальнейшем ориентироваться, звучит следующим образом.
Определение.
Пусть ( X, 1 ) – система множеств, где X 3 1x1 , x2 , ..., xv 2 и
1 3 1 Ai 4 X : i 3 1, ..., N2, Ai – некоторые подмножество X. Система
множеств ( X, 1 ) будет r&CFF (v, N) в том случае, если для любого
подмножества 1 1 2 такого, что 1 1 r, и для любого Aj 1123 4 верно
утверждение Aj 1
1
Al 1 1
Al .
Иначе говоря, в r&CFF (v, N) объединение любых r блоков не по&
крывает ни одного другого блока.
74
В этой работе будет представлен новый способ построения CFF
именно в такой формулировке, поэтому не будут рассматриваться
различные обобщения, которые можно встретить в работе [5].
Способы построения CFF
В общей сложности все ранее предложенные подходы к построе&
нию CFF можно разделить на три направления: комбинаторный под&
ход, кодовую теорию и вероятностные методы.
1. Комбинаторный подход. Первым и наиболее изученным явля&
ется комбинаторный метод.
В работах [1–3] были предложены различные схемы построения
r&CFF на базе t&схем. Подробное описание этих схем мы здесь приво&
дить не будем, напомним только полученные в данных работах оцен&
ки на параметры CFF.
Используя свойства блок&схем, можно вывести следующие соот&
ношения между параметрами CFF, полученными на их основе:
v 1 O(r 2 ), N 1 O(vt /2 ). Однако существует серьезное ограничение на
использование подобных конструкций, связанное с тем, что не суще&
ствует на данный момент блок&схем с t 1 6 .
В работе [8] предложен другой подход: построение r&CFF на базе раз&
деляющих семейств хеш&функций (separating hash families). Данный
подход позволяет получить значительно более сильные результаты и не
имеет таких серьезных ограничений, как t&схемы. В работе [8] получе&
ны следующие результаты для CFF: для любого положительного r мож&
но построить r&CFF(v, N) такое, что N 1 O(vlog(r 11) ) , v 1 O(r 2 ) .
2. Коды, исправляющие ошибки. Кодовый подход при построе&
нии CFF начал применяться несколько позднее комбинаторного, и
ему посвящено значительно меньше публикаций. В работе [2] пред&
лагалось использовать обычные и укороченные коды Рида–Соломо&
на. Еще две работы [6, 7] посвящены использованию алгебро&геомет&
рических кодов (Гоппы и Garcia&Stichtenoth) для построения CFF.
Перечислим полученные в указанных работах оценки, более подроб&
но способ построения будет раскрыт ниже в описании нашего подхо&
да к построению CFF.
Для кодов Рида–Соломона было доказано, что для r > 2 более
эффективно использовать укороченные коды. Для таких кодов дока&
зано, что v 1 O(r 2 log2 N ) . Коды Garcia&Stichtenoth уступают в эф&
фективности кодам Рида–Соломона.
3. Вероятностный подход. Вероятностный подход использовался
во многих работах как для получения теоретических границ, так и
при попытках построить конкретные схемы. Можно привести мно&
75
жество работ, где использовался этот подход, все полученные резуль&
таты были приблизительно схожи между собой. Поэтому воспользу&
емся результатами из работы [10]. В работе доказано, что для неко&
торых v, r и k, таких, что v > 2k, существует система множеств с
2
постоянным размером блока k и параметром t, с N 1 e2(k 1kp 21) / k 2t и
p 211
(v 1 k)r
такая, что вероятность того, что данная система не
vr
является r&CFF(v, N), не превосходит e–t.
Границы CFF
В этом разделе будут представлены неконструктивные границы,
которые были доказаны, но еще не были получены примеры, удов&
летворяющие данным границам.
Первая верхняя граница для количества блоков r&CFF с постоян&
ным размером блока k была построена в работе [2] :
2 v 3
N45 k 6
57 86
9r 2 k 11 3
5 k
6.
5 7 8 1 16
9r Наилучшая нижняя оценка на размер алфавита приведена в рабо&
те [11]:
v1c
r2
log N,
log r
где с – некоторая константа. В рассматриваемой работе [2] c » 1/2, по&
зднее были получены другие оценки: c » 1/4 [12] и c » 1/8 [13].
При сравнении различных способов построения CFF можно заме&
тить, что наилучшие и ближайшие к теоретическим границам ре&
зультаты можно получить при использовании кодов, исправляющих
ошибки (таблица).
Сводная таблица границ для CFF
Методы построения CFF
Kомбинаторный подход:
на блок&схемах
на латинских квадратах и прямоугольниках
Kодовый подход
Теоретическая граница
76
Размер алфавита v
O(N), N > r2
O(Nr2 )
O(r2 logN)
r2
c
log N
log r
Таким образом, остается только подобрать наиболее подходящий
тип кодов, позволяющий строить оптимальные CFF.
Предлагаемая схема использования кодов для построения CFF
Пусть C – некоторый (n, M, d)q&код, где n – длина кодового слова;
M – количество слов в коде; d – расстояние кода; q – поле, над кото&
n 11
n1d
[3]. Блоки CFF строятся из слов кода, каждому слову ставится в соот&
ветствие блок. Блоки формируют пары 1 i, 3i 2 , где i – это номер пози&
ции кодового слова; а 1 i – элемент, стоящий на этой позиции. Таким
образом, длина блока равна n – длине кодового слова, а размер алфави&
та, составленного из всех возможных пар 1 i, 5 2 : i 6 1, n, 5 6 0, q 7 1 ,
соответственно равен q 1 n .
Чтобы получить оптимальную схему CFF, нам надо построить схе&
му с минимальным размером алфавита при максимальном числе бло&
ков и максимальной величине r. Для этого необходимо найти код с
максимальным d при минимальном nq, для минимизации размера
алфавита. Данное соотношение достижимо для кодов, лежащих на
границе Синглтона [2, 7]. И естественно, что данные коды давали
наилучшие результаты среди кодовых подходов. Однако из таких
кодов известны только коды Рида–Соломона, у которых длина не
превосходит размера поля. Это приводит к серьезному ограничению:
нельзя на небольших полях построить схемы CFF с произвольным r.
Размер поля существенно ограничивает наши возможности.
Так как n 1 q , то можно записать
рым построен код. Тогда можно построить r&CFF (nq, M), где r 2
3
4
n 1 q 2 s; r (n 1 d) 2 n 1 1.
Согласно границе Синглтона:
n 1 d 2 k 3 1,
поэтому
r (k 1 d 2 1 2 d) 3 n 2 1; r (k 1 1) 2 1 3 n;
q 1 s 2 r (k 1 1) 3 1; q 1 s 2 rk 1 r 3 1.
Так как число блоков CFF совпадает с количеством кодовых слов, то
N = M = qk ,
следовательно:
rk 1 r logq N 1 r
log2 N
log2 N
; q 1 s 2 r log q N 1 r 3 1 2 r
1 r 3 1;
log2 q
log2 q
77
q log2 q 1 r log2 N 2 (r 2 s 3 1)log2 q.
Если s 1 r 2 1 , то
q log2 q 1 r log2 N,
иначе, если 0 1 s 2 r 3 1 , то
q log2 q 1 r log2 N 2 r log2 q.
Эти соотношения ограничивают величины r и N сверху при за&
данном q, что не позволяет построить на определенном поле лю&
бую схему.
Следовательно, для того чтобы добиться выигрыша, необходимо
перейти к другому классу кодов, близкому по соотношению парамет&
ров и не имеющему таких ограничений на длину. Это позволит при
меньших значениях поля получить большие длины кодов и расстоя&
ния, а следовательно, уменьшить алфавит при прочих равных значе&
ниях.
Коды на границе Грайсмера
Граница Грайсмера является верхней границей для параметров
кодов, следовательно, коды, лежащие на данной границе, имеют
минимальную длину при заданных значениях d, k, q. Некоторые из
кодов на границе Грайсмера не удавалось построить, для других до&
казано, что они не существуют, но если рассматривать существую&
щие коды на границе Грайсмера, они имеют оптимальные парамет&
ры, по сравнению с любыми другими кодами.
Граница Грайсмера [14] уточняет границу Синглтона и выражает&
ся следующей формулой:
k 11 1
d2
n 3 6 4 i 5,
i 20 4 q 5
где n – длина кода; k – размерность кода; d – расстояние кода; q –
размер поля, над которым задан код. Для кодов, лежащих на грани&
це Грайсмера, выполняется равенство, таких кодов известно доста&
точно много, и существуют конструктивные способы их построения
[15–18]. Так, существуют алгебро&геометрические коды, построен&
ные на эллиптических кривых, лежащие на этой границе. Легко по&
казать, что при 0 1 d 1 q граница Грайсмера совпадает с границей
Синглтона.
Таким образом, при построении CFF на кодах, лежащих на грани&
це Грайсмера, можно получить лучшие значения параметров по срав&
нению с уже существующими способами построения.
78
Полученные результаты
Еще раз напомним все введенные ранее обозначения, которыми и
воспользуемся для сравнения полученных нами результатов с уже су&
ществующими схемами: v – размер алфавита CFF; r – количество бло&
ков, не покрывающих больше ни один блок; N – количество блоков; q –
размер поля, на котором построен код; d – расстояние кода; n – длина
кодового слова; k – размерность кода; c, a – произвольные константы;
z – произвольная целочисленная константа.
Теоретическая граница на размер алфавита (v), приведенная в ра&
боте [11], связывает эти параметры:
v1c
r2
log N.
log r
Теорема 1. Для получения оптимальных параметров CFF с ис&
пользованием кодов, лежащих на границе Грайсмера, необходимо
выбирать коды с d < q2.
Доказательство.
Пусть d = aqz (z < k и a < q), тогда
k 11 1
d2
d d
d
4 ... 441) 3
n 3 5 i 6 3 d 4 4 2 4 ... 4 k11 3 b(q z 4 q z 11 4 ...q 4 1 4 11
122
23222
4 232
q q
q
i 20 5 q 6
k 111 z
z 31
7 q z 31 9 1
8
3 a
4 k 9 1 9 z .
q 91
Таким образом:
1 q z 11 3 1
2
n 4 a6
5 k 3 1 3 z 7.
6 q 31
7
8
9
Для любых кодовых конструкций СFF известно:
r2
n 11
,
n1d
отсюда
1 q z 11 3 1
2
q z 11 3 1
4 k 3 1 3 z 66
a 55
4 k 313 z
q 31
q 31
7
8
9 z 11
9
r9
1 q z 11 3 1
2
q 31
z
z
4
3
3
3
1
k
z
q
4 k 3 1 3 z 66 3 aq
a 55
q 31
7 q 31
8
9
q z11 3 zq 4 z 4 kq 3 k 3 q
q z 3 zq 4 z 4 kq 3 k 3 q
q для k q.
79
Размер алфавита CFF
1 q z 11 3 1
2
3 z 5 k 3 17q 4
v 4 nq 4 a 6
6 q 31
7
8
9
4 a(q z 11 5 q z 5 q z 21 5 ... 5 q2 5 q(k 3 z)) , z k q.
Следовательно, чтобы рост размера алфавита от количества под&
писей не превосходил O(r2logN), необходимо, чтобы z 1 1 , т. е.
d 1 aq 2 q2 .
Как уже упоминалось, при d < q мы получаем обычный МДС&код и
результаты, уже известные для кодов Рида–Соломона. Поэтому имеет
смысл рассматривать только коды, у которых q < d < q2, то есть d = aq,
где 1 < a < q – некоторая константа.
Теорема 2. Оптимальные параметры CFF, построенных на кодах,
лежащих на границе Грайсмера, можно получить при использова&
нии кода с d = (k–2)q.
Доказательство.
Пусть d = aq (1 < a < q), тогда
k 11 1
d2
d d
d
n 3 8 6 i 7 3 d 4 4 2 4 ... 4 k11 3 aq 4 a 4 k 5 2;
q q
q
i 20 6 q 7
n 1 aq 2 a 2 k 3 2.
Следовательно:
r3
n 1 1 aq 2 a 2 k 1 3
3
; ar 1 kr 2 2r 3 aq 1 a 1 k 2 3;
n1d
a 2 k 12
ar 1 kr 2 2r 2 a 2 k 1 3 a(r 2 1) 1 r (k 2 2) 2 (k 2 2) 1 1
3
3
a
a
a(r 2 1) 1 (r 2 1)(k 2 2) 1 1 (r 2 1)(a 1 k 2 2) 1 1 (r 2 1)(a 1 k 2 2)
3
3
4
,
a
a
a
q3
а размер алфавита
v 5 nq 5 1 aq 4 a 4 k 3 2 2 q 6 1 1 r 3 121 a 4 k 3 2 2 4 (a 4 k 3 2) 2
1 r 3 121 a 4 k 3 2 2
1 r 3 121 a 4 k 3 22
a
5
(a 4 k 3 2)2
.
a
a
Для получения оптимальных параметров CFF необходимо мини&
мизировать размер алфавита, попытаемся найти экстремум получен&
ной функции размера алфавита от переменной a:
5 r 1 a 4 k 3 22
80
5 r (r 3 1)
1 2(a 3 k 4 2) (a 3 k 4 2)2 2
4
v 5 6 r (r 4 1) 7
88 6
7
a
a2
9
(a 3 k 4 2)(2a 4 a 4 k 3 2)
(a 3 k 4 2)(a 4 k 3 2)
6 r (r 4 1)
6 r (r 4 1)
;
a2
a2
v1 2 0;
r (r 2 1)
(a 1 k 2 2)(a 2 k 1 2)
a2
a = k–2 или a = 2–k.
3 0;
В точке a = k–2 размер алфавита достигает своего минимума, а в
точке a = 2–k – максимума.
Следовательно, для получения CFF на кодах, исправляющих ошиб&
ки, с минимальным достижимым размером алфавита необходимо брать
коды, лежащие на границе Грайсмера, с расстоянием d = (k–2)q.
Оценим размер алфавита, получаемого при использовании кодов,
лежащих на границе Грайсмера, с расстоянием d = (k–2)q:
n 1 (k 2 2)q 3 k 2 2 3 k 2 2 1 (k 2 2)q 3 2(k 2 2) 1 (k 2 2)(q 3 2);
r3
n 11
(k 1 2)(q 2 2) 1 1
(k 1 2)(q 2 2) 1 1
3
3
3
n 1 d (k 1 2)(q 2 2) 1 (k 1 2)q
2(k 1 2)
q 22
1
q 22
q
3
1
4
11 3 ;
2
2(k 1 2)
2
2
q 1 2r;
v 1 nq 1 (k 2 2)(q 3 2)q 4 (k 2 2)(2r 3 2)2r 1
1 4r (r 3 1)(k 2 2) 1 4r (r 3 1)
log N
.
1 3 log r
Полученный результат совпадает с теоретической границей, ко&
торую мы специально напомнили в начале раздела, с точностью до
константы. Следовательно, используя коды, лежащие на границе
Грайсмера, мы можем получить оптимальные, с точки зрения разме&
ра алфавита, CFF&схемы.
Практически, на эллиптических кривых можно построить следу&
ющие коды для конкретных параметров: q = 64, k = 13, d = 66, n = 79,
из этого кода можно получить CFF c параметрами 6&CFF (5056, 278);
q = 53, k = 14, d = 81, n = 97, из этого кода можно получить CFF
81
c параметрами 6&CFF (5141, 280). Лучшая известная до сих пор схема
на кодах Рида–Соломона дает код: q = 73, k = 13, d = 61, n = 73, из
этого кода можно получить CFF c параметрами 6&CFF (5329, 280).
Способы построения кодов на границе Грайсмера
Существует несколько подходов к построению кодов на границе
Грайсмера. В 1965 году Solomon and Stiffler [15] предложили способ
построения целого класса кодов, лежащих на границе Грайсмера, с
использованием процедуры вычеркивания столбцов из порождающей
матрицы симплекс&кода. Позднее, в 1974 году, этот подход был обоб&
щен Беловым [16], и построен еще один класс кодов. Другой подход
был предложен в 1981 и развит в 1983 году Tor Helleseth and Henk
С.A.van Tilborg [17, 18], он заключался в новом методе комбиниро&
вания порождающих матриц симплекс&кодов и добавлении к ним
новых элементов. Более поздние работы связаны с попытками при&
менения понятий проективной геометрии в построении кодов, таких
как проективные плоскости, minihyper [19].
К сожалению, все предложенные в данных работах коды двоич&
ные, для q&ичного случая в общем виде не было предложено ни одной
конструктивной процедуры построения. Кроме того, все предложен&
ные коды строятся на базе симплекс&кодов или различными комби&
нациями кодов, поэтому все они имеют очень большие длины, а сле&
довательно, и большой размер алфавита. По этим двум причинам все
рассматриваемые ранее конструкции нам не подходят.
Мы предлагаем воспользоваться другим способом построения ко&
дов, лежащих на границе Грайсмера. Этот способ не дает возможнос&
ти гарантированного построения целого класса кодов, но позволяет
получать отдельные экземпляры кодов, лежащих на границе Грайс&
мера или очень близко к ней. Будем строить алгебро&геометрические
коды на базе несингулярных эллиптических кривых, данный способ
построения рассматривался во многих работах и гарантирует полу&
чение кодов с длинной n 1 k 2 d 3 1 2 g [29], где g – это род кривой. Так
как границу Грайсмера можно представить в следующем виде:
k 11 1
d2
n 3 d 4 k 5 1 4 8 1 i 2,
i 21 6 q 7
то нетрудно подобрать параметры кривой для построения кода, ле&
жащего на границе Грайсмера. Можно было бы говорить о построе&
k 11 1
d2
нии целого класса кодов, у которых g 3 6 1 i 2, но, к сожалению, при
i 21 4 q 5
82
выборе параметров приходится ориентироваться еще на одно огра&
ничение, существующее на коды, строимые с использованием кри&
вых n 3 q 4 g 12 q 2 [29]. Данное ограничение не позволяет увеличи&
5
6
вать длину кода до бесконечности, следовательно, мы можем гово&
рить только о построении отдельных экземпляров кодов. Для нашей
схемы можно воспользоваться любым из предложенных ранее под&
ходов или разработать новый, но данный способ позволяет получить
некоторые примеры для их наглядного сравнения с уже существую&
щими схемами построения CFF.
Применения CFF
CFF может применяться в различных приложениях. Множество ра&
бот посвящено описанию взаимосвязи между различными комбинатор&
ными объектами. Данные работы предлагают, каким образом можно
построить различные комбинаторные схемы на базе CFF. Существует
также множество работ, которые предлагают использовать CFF в раз&
личных криптографических приложениях, таких как цифровая под&
пись [20], управление ключами [21, 22], Frame proof [23, 24], Broadcast
encryption [25, 26], Traitor tracing [27]. Кроме того, были также широ&
ко распространены исследования по применению CFF в построении схем
группового тестирования [4, 28]. Все множество опубликованных по
данной тематике работ показывает актуальность разработки новых
способов построения CFF. Предложенная нами схема может быть при&
менена в любой из рассмотренных ранее работ.
Литература
1. Kautz W. H., Singleton R. C. Nonrandom binary superimposed codes// IEEE
Transactions on Information Theory. 1964. N 10. P. 363–377.
2. Erdös P., Frankl P., Füredi Z. Families of finite sets in which no set is covered by
the union of r others// Israel Journal of Mathematics. 1985. N 51. P. 75–89.
3. Stinson D. R., Wei R. Combinatorial properties and constructions of traceability
schemes and frameproof codes// SIAM Journal on Discrete Mathematics. 1998.
N 11. P. 41–53.
4. Hwang K. F., Sтs V. T. Non&adaptive hypergeometric group testing// Studia
Sci. Math. Hungar. 1987. N 22. P. 257–263.
5. Wei R. On cover&free families: Preprint.
6. Garcia A., Stichtenoth H. A tower of Artin&Schreier extensions of function
fields attaining the Drinfeld&Vladut bound// Invent. Math. 1995. N 121.
P. 211–222.
7. Kumar R., Rajagopalan S., Sahai A. Coding constructions for blacklisting
problems without computational assumptions// Advances in Cryptology – Crypto ’99:
Lecture Notes in Computer Scienc. 1999. N 1666. P. 609–623.
83
8. Stinson D. R., van Trung Tran, Wei R. Secure frameproof codes, key distribution
patterns, group testing algorithms and related structures// Journal of Statistical
Planning and Inference. 2000. N 86. P. 595–617.
9. Staddon J. N., Stinson D. R. and Wei R. Combinatorial properties of frameproof
and traceability codes// IEEE Transactions on Information Theory. 2001. N 47.
P. 1042–1049.
10. Stinson D. R., Wei R. Generalized cover&free families: Preprint.
11. Дьячков А. Г., Рыков В. В. Границы на длину разделяющих кодов//
Проблемы передачи информации. 1982. Вып. 18. С. 7–13.
12. Füredi Z. On r&cover&free families// Journal of Combinatorial Theory. 1996.
A 73. P. 172–173.
13. Ruszinko M. On the upper bound of the size of the r&cover&free families//
Journal of Combinatorial Theory. 1994. A 66. P. 302–310.
14. MacWilliams F. J., A. Sloane N. J. The Theory of Error& Correcting Codes.
Amsterdam: North&Holland, 1977.
15. Solomon G., Stiffler J. J. Algebraically punctured cyclic codes// Inform.
Contr. Apr. 1965. Vol. 8. P. 170–179.
16. Белов В. И., Логачев В. Н., Сандимиров В. П. Построение класса линейных
двоичных кодов, достигающих границы Варшамова–Гилберта// Проблемы пе&
редачи информации. 1974. Вып. 3. С. 36–44.
17. Helleseth T., A van Tilborg H. C. A new class of codes meeting the Griesmer
bound// IEEE Trans. Inform. Theory. Sept. 1981. Vol. IT&27. P. 548–555.
18. Helleseth T. New Constructions of Codes Meeting the Griesmer Bound// IEEE
Transactions on Information Theory. May 1983. Vol. IT&29. N 3. P. 434–439.
19. Storme L. Linear codes meeting the Griesmer bound, minihypers and geometric
applications: Preprint.
20. Pieprzyk J., Wang H., Xing C. Multiple&time signature schemes secure against
adaptive chosen message attacks// 10th Workshop on Selected Areas in Cryptography:
Lecture Notes in Computer Science, 2003.
21. Chan Aldar C.F. Distributed Symmetric Key Management for Mobile Ad Hoc
Networks// IEEE INFOCOM, 2004.
22. On key storage in secure networks / M. Dyer, T. Fenner, A. Frieze et al. //
J. Cryptology. 1995. N 8. P. 189–200.
23. Stinson D. R., Wei R. Combinatorial properties and constructions of traceability
schemes and frameproof codes// SIAM Journal on Discrete Mathematics. 1998.
N 11. P. 41–53.
24. Stinson D. R., van Trung Tran, Wei R. Secure frameproof codes, key distribution
patterns, group testing algorithms and related structures// Journal of Statistical
Planning and Inference. 2000. N 86. P. 595–617.
25. Stinson D. R., Wei R. Key reassigned traceability schemes for broadcast
encryption// Selected Areas in Cryptology – SAC ’98: Lecture Notes in Computer
Science. 1999. N 1556. P. 144–156.
26. Tracing traitors / B. Chor, A. Fiat, M. Naor et al. // IEEE Transactions on
Information Theory. 2000. N 46. P. 893–910.
27. Knill E., Bruno W. J., Torney D. C. Non&adaptive group testing in the presence
of error// Discrete Appl. Math. 1998. N 88. P. 261–290.
28. Tsfasman M.A., Vlгdut S.G. Algebraic&geometric codes// Dordrecht: Kluwer,
1991.
29. Hamada N. A. Characterization of some [n; k; d; q]&codes meeting the Griesmer
bound using a minihyper in a finite projective geometry// Discrete Math. 1993.
Vol. 116. N 1&3. P. 229–268.
84
В. Б. Прохорова,
заместитель директора Института компьютерной безопасности
вычислительных систем и сетей СанктПетербургского
государственного университета аэрокосмического приборостроения
МОДЕЛЬ КАНАЛА ДЛЯ СЕТИ
С РАЗНОРОДНЫМИ КАНАЛАМИ
Введение
Задача внедрения энергосберегающих технологий предполагает ре&
шение ряда сопутствующих задач, в частности, обеспечения надежной
связи. Для большинства энергосистем эта задача осложняется невоз&
можностью использовать стандартные средства связи без их доработки
применительно к рассматриваемой системе. Как правило, связь в систе&
ме осуществляется по разнородным каналам с плохими эксплуатаци&
онными характеристиками. Основным средством обеспечения высокой
надежности передачи по каналам связи в настоящее время является
использование методов теории помехоустойчивого кодирования [1].
Однако большинство результатов этой теории получены в предположе&
нии независимости ошибок в каналах связи, и существующие коррек&
тирующие коды не очень эффективны для передачи в каналах с памя&
тью, каковыми являются большинство каналов энергосистем. Моди&
фикация известных кодов для использования их в разнородных кана&
лах с памятью требует создания единого описания этих каналов. Еди&
ный, с точки зрения описания, канал связи может быть создан на осно&
ве использования в качестве метода модуляции OFDM [2], а в качестве
метода кодирования – матричного кодирования.
В статье предлагается модель для описания системы разнородных
каналов при использовании OFDM, пригодная для выбора кодов,
исправляющих ошибки.
Модель канала связи, описание сигналов
Выделим основные виды помех, вносимых каналом связи при
широкополосной передаче.
Это, прежде всего, флюктуационная помеха, обладающая широ&
ким равномерным энергетическим спектром и характеризующаяся
нормальным распределением мгновенных значений, а также поме&
хи, связанные с рассеянием и многолучевым распространением.
Еще одним характерным для широкополосных систем видом помех
являются помехи от сигналов, принадлежащих другим источникам (ад&
ресам). Эти помехи возникают из&за того, что при передаче широкопо&
85
лосных сигналов, сигналы, принадлежащие другим источникам, созда&
ют специфические внутрисистемные помехи. Такие помехи при высо&
кой интенсивности работы источников могут иногда быть аппроксими&
рованы гауссовским шумом с ограниченным равномерным спектром и
ограниченной энергией. При небольшой интенсивности работы источ&
ников в системе такая аппроксимация оказывается недостаточно точ&
ной, и задача борьбы с внутрисистемной помехой требует специального
исследования. К вопросу о возможностях проведения такого рода ис&
следования мы вернемся в заключении.
Кроме перечисленных, укажем также сосредоточенные помехи
(ширина спектра помехи значительно меньше ширины спектра сиг&
нала) и импульсные помехи, которые могут иметь как естественное,
так и искусственное происхождение.
Все эти помехи можно, не теряя в общности, считать независимыми
и рассматривать по отдельности. В настоящем разделе будем полагать,
что вероятность одновременной работы даже двух источников незначи&
тельна, и не будем рассматривать внутрисистемные помехи. Для описа&
ния каналов связи, подверженных воздействию флюктуационных по&
мех и помех, связанных с рассеянием и многолучевостью, мы использу&
ем модель канала с релеевским коэффициентом передачи (РКП) [3, 4].
Пусть S(t) – передаваемый (элементарный) сигнал, тогда при пе&
редаче по РКП принимаемый сигнал Z(t) можно записать в виде
Zc (t) 1 2 cos 3S(t) 4 nc (t);
Zs(t) = mcosjS(t) + ns(t) ,
где j – случайный фазовый сдвиг в канале, равномерно распределен&
ный в интервале [0, 2p]; m – случайная величина, распределенная по
закону Релея, носит название коэффициента передачи канала; Zc(t)
и Zs(t) – квадратурные компоненты принятого сигнала – выходы ко&
синусоидального и синусоидального демодуляторов соответственно;
nc(t) и ns(t) – квадратурные компоненты белого гауссовского шума;
n(t), nc(t) и ns(t) можно считать гауссовскими процессами.
Модель РКП позволяет с высокой точностью оценивать вероятность
ошибки при передаче S(t) в случае, если m незначительно меняется на
отрезке [0, Tэ] в полосе DW, где Tэ – длительность сигнала S(t), а DW –
его полоса. Поэтому канал с рассеянием как по частоте, так и по време&
ни (а именно таким является исследуемый нами канал [4, 15]) с поло&
сой W на отрезке времени передачи Tп может быть описан с помощью
1 2i 21, n1 , j 21, n
набора значений 5ij
tп
86
3
Т 4
W
; ntп 6 п 8 случайной ве&
7 n1 6
9W
Тэ личины m, распределенной по релеевскому закону. Такое задание кана&
ла, по сути, соответствует делению его на подканалы или передаче по
так называемой системе параллельных каналов [4]. Естественно, что
сигнал S(t), используемый при передаче по такому каналу, должен пред&
1
2
Тs
, Ts – длитель&
Тэ
ность широкополосного сигнала), соответствующих частотно&времен&
ной матрице (рисунок).
ставлять собой суперпозицию n1nt &сигналов ( nts 1
s
n1
S(t) 1 2 Si (t),
i 11
где
Si (t) 3 Si (t)cos1 4i t 5 6i (t)2;
(1)
nts
1i 2 1 0 3 (i 4 1) 51; 1i (t) 2 5 311ij (t 4 jTэ );
j 21
Si(t) – закон применения амплитуды сигнала Si(t), 1i – его несущая
частота, 1i (t) – закон изменения фазы, 121ij – значение фазы j&го (по
времени) элемента i&го сигнала, соответствующее коду сигнала 1 ij и
принимающее одно из двух значений. Отметим, что традиционные
широкополосные частотно& и фазоманипулированные сигналы яв&
ляются подклассами класса сигналов, задаваемых (1), и, следова&
тельно, рассматривая в дальнейшем класс сигналов (1), мы гаранти&
руем качество передачи не худшее, чем то, которое обеспечивается
частотно& и фазоманипулированными сигналами.
Использование передачи по частотным подканалам является ог&
раничением общности рассмотрения канала. Однако можно показать,
что в каналах с замираниями (для канала с некоррелированными
замираниями это доказано, например, в [6]) существует оптималь&
ное, с точки зрения достоверности передачи (при обозримой сложно&
сти реализаций), число частотных подканалов, и это обстоятельство
в сочетании с получаемым упрощением анализа канала полностью
оправдывает указанное ограничение общности рассмотрения.
Величины 1ij для каналов с рассеянием коррелированы между со&
бой [3, 4], их корреляция задает память канала по времени и по час&
тоте. Мы будем предполагать в дальнейшем, что зависимость вели&
чин 1ij во времени (вдоль строк матрицы 1ij ) и по частотам (вдоль
столбцов) является марковской, и строки и столбцы матрицы 1 ij
независимы между собой.
Нарезанный на полосы канал с релеевским коэффициентом пере&
дачи, в котором выполняются сделанные выше предположения, мы
будем называть частотно&временным (ЧВ&каналом).
87
1
13 954 1 1 3 9454 781 2
13 93 1 13 92 1 13 1 11 1
1 32
1 42
1 22
3
2
1
12
11 1 14 15 1 13
1 34
1 44
1 24
1 33
1 43
1 23
212
15 1 156
1 3156
1 4156
1 2156
456 67812 5 6 12
312
1
Частотновременная матрица сигнала Sij 1 Si ( jTэ ) 2 Si (( j 2 1)Tэ )
ЧВ&канал был впервые введен в работе [4], практика использова&
ния этого канала при построении систем передачи информации пока&
зала удовлетворительное совпадение его характеристик с характери&
стиками широкого класса реальных каналов связи.
Дискретные модели ЧВканала
Введем теперь дискретную модель ЧВ&канала, которая необходи&
ма для выбора метода кодирования.
Рассмотрим двоичное отображение этого канала. Обозначим через
11, 12 , ..., 1l1 все возможные состояния частотных подканалов, а че&
рез P(1/ 1i ) – вероятность появления ошибки в состоянии 1i , i 2 1, l1,
соответственно через 11, 12 , ..., 1lt обозначим все возможные состояния
временных подканалов, а через P(1/ 1 j ) – вероятность появления ошиб&
ки в состоянии 1 j , j 2 1, lt . Кроме того, через P(1i2 / 1i1 ), где
i1, i2 3 1, l1 , и P(1 j / 1 j ), где j1, j2 3 1, lt , обозначим вероятности пе&
2
1
рехода из состояния 1i1 в 1i2 и из состояния 1 j1 в 1 j2 соответственно.
В силу независимости строк и столбцов матрицы коэффициентов пере&
ход из состояния 1 j1 в 1 j2 не зависит от текущего состояния Ф, и наобо&
рот, переход из 1i1 в 1i2 не зависит от текущего состояния t. Тогда
вероятность появления ошибки в j&й момент времени на i&й частоте бу&
дет полностью определяться лишь парой состояний 3 j , 4 i .
Поставим в соответствие каждой паре состояний 3 j , 4 i некоторое со&
стояние C(i 11)lt 2 j , вероятность появления ошибки в котором P(1/ C(i 11)lt 2 j ).
Стремясь к простоте изложения, ограничимся случаем двоичного
отображения ЧВ&канала связи. Хорошо известно, что этот случай
представляет наибольший интерес для практики.
Двоичным частотно&временным n1 &каналом будем называть мно&
жество пар 1x, p(x)2 таких, что x 1 X , где X – множество n1 &мерных
двоичных векторов, p(x) – вероятность появления вектора x.
Двоичным частотно&временным (n1 1 nt ) &каналом, где n1nt 1 n,
будем называть n1 &канал, n1 &мерные векторы которого нарезаны
1
2
1 2
1
88
1
2
2
на последовательности длины nt. Другими словами, двоичный час&
тотно&временной (n1 1 nt ) &канал есть множество пар {y, P(y)} таких,
что y 1 Y , где Y – множество (n1 1 nt ) &матриц над полем GF(2), P(y) –
вероятность появления матрицы y.
В соответствии с моделью непрерывного ЧВ&канала, описанной
выше, значение элемента y ij 1 Y, y 1 Y определяется коэффициентом
передачи канала i&й частоте в j&й момент времени – 1ij .
Задавая правило перехода из состояния Ci1 lt j1 в состояние Ci2 lt j2
в соответствии с выражением
1
P(Ci2 lt
1
2
j2
/ Ci1 lt
1
2
2
1
j1 ) 1 P(2i2 / 2i1 ) P(3 j 2 / 3 j1 ),
2
(2)
значение вероятности P(1/ Ci lt j ) будем вычислять по формуле
1
2
1
2
1
P(1/ 4i ) 6 P(1/ 5 j ) .
(3)
2
Таким образом, зная характеристики непрерывной модели ЧВ&
канала, из уравнений (2) и (3) легко получить параметры его двоич&
ного отображения – двоичной модели ЧВ&канала. Выбор ее парамет&
ров сводится к определению двоичного отображения непрерывного
канала, коэффициент передачи которого распределен по закону Ре&
лея. Такая задача решалась в целом ряде работ [3, 6].
P(1/ Ci lt j ) 3 P(1/ 4i , 5 j ) 3
1
2
Заключение
Рассмотренная модель является общей моделью двоичного ото&
бражения ЧВ&канала. Она позволяет достаточно просто описать ха&
рактер поведения дискретного ЧВ&канала. Важным достоинством
этой модели следует считать простоту моделирования на ЦВМ опи&
сываемых ею каналов.
Использование описанной модели позволяет решать задачу выбо&
ра кода для ЧВ&канала.
Литература
1. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.:
Мир, 1986.
2. Прокис Дж. Цифровая связь. М.: Радио и связь, 2000.
3. Кеннеди Р. Каналы связи с замираниями и рассеянием. М.: Сов.
радио, 1973.
4. Коржик В. И., Финк Л. М. Помехоустойчивое кодирование дискрет&
ных сообщений в каналах со случайной структурой. М.: Связь, 1975.
5. Блох Э. Л., Попов О. В., Турин В. Я. Модели источника ошибок в
каналах передачи цифровой информации. М.: Связь, 1971.
6. Возенкрафт Дж., Джекобс И. Теоретические основы техники связи.
М.: Мир, 1969.
89
П. В. Трифонов,
аспирант
СанктПетербургский государственный политехнический
университет
АДАПТИВНАЯ ПЕРЕДАЧА В МНОГОПОЛЬЗОВАТЕЛЬСКИХ
МНОГОЧАСТОТНЫХ СИСТЕМАХ ВЕЩАНИЯ
Введение
В настоящее время наблюдается бурное развитие систем мобиль&
ной цифровой радиосвязи. Большинство подобных систем характе&
ризуется необходимостью обеспечения высокоскоростной передачи
данных от базовой станции к пользовательским терминалам и срав&
нительно низкой скорости передачи в обратном направлении. Так
как базовые станции цифровых радиосетей в большинстве случаев
представляют собой достаточно высокопроизводительные вычисли&
тельные устройства, возникает возможность реализации адаптивных
алгоритмов, позволяющих подстроить используемую схему переда&
чи под текущее состояние радиоканала и требования пользователей,
что дает возможность существенно снизить мощность радиосигнала,
требуемую для достижения заданного качества обслуживания
пользователей.
Многоканальная система вещания
Современные цифровые радиосистемы, как правило, характери&
зуются достаточно широкой полосой сигнала. Следствием этого яв&
ляется сильная межсимвольная интерференция. Один из широко рас&
пространенных способов ее преодоления – многочастотная передача,
состоящая в том, что исходный широкополосный канал разбивается
на большое число узкополосных подканалов, свободных от межсим&
вольной интерференции. Как правило, несущие для этих подкана&
лов выбираются ортогональными, что позволяет при выполнении оп&
ределенных условий избежать межканальной интерференции. Такой
подход получил название ортогонального частотного мультиплек&
сирования (orthogonal frequency division multiplexing – OFDM) [1].
Рассмотрим систему вещания на основе OFDM. Несложно показать,
что сигнал, принятый каждым из пользователей подобной системы,
равен
rki( j ) 1 2(kij ) si( j ) 3 4(kij ) , k 1 1, …, K, i 1 1, …, N,
90
где rki( j ) – сигнал, принятый k&м пользователем по i&му подканалу в
момент времени j; si( j ) – сигнал, переданный базовой станцией; 1(kij ) –
передаточный коэффициент, характеризующий состояние i&го под&
канала k&го пользователя в момент времени j; 1(kij ) – отсчеты аддитив&
ного белого гауссовского шума с дисперсией s2.
Подканалы удобно характеризовать отношением канал/шум, оп&
( j)
ределяемым как 2ki
3
1(kij )
. В дальнейшем, если состояние канала
42
предполагается неизменным, индекс j будет опускаться. Задачей ба&
зовой станции является отображение данных, предназначенных каж&
дому из пользователей, на передаваемые сигналы si(j), а задачей каж&
дого пользователя является выделение предназначенной ему инфор&
мации из принятых сигналов rki(j). Основной задачей является пост&
роение такого отображения, для которого существовала бы эффек&
тивная процедура разделения, т. е. обеспечение множественного дос&
тупа. Среди наиболее распространенных методов множественного до&
ступа можно выделить временное, частотное, пространственное и ко&
довое разделение. В данной работе рассматривается кодовое разделе&
ние. Причины этого будут пояснены ниже. При этом существуют раз&
личные способы отображения наложенного сигнала на подканалы
[2]. В общем случае, подканалы могут быть объединены в группы и
разделение канала может быть реализовано на уровне отдельных
групп. Не ограничивая общности, предположим, что передаваемый
сигнал может быть представлен как
( jS 1 m)
sqS t1 s
f
1
St Sf
3 s1 ql al,sS 1m ,
l 21
( j)
t
s 1 0, …, Sf 2 1,
m 1 0, …, St 2 1, q 1 0, …, N / Sf 2 1,
где Sf – коэффициент расширения в частотной области; St – коэффи&
циент расширения во временной области; S = StSf – полный коэффи&
циент расширения; al = (al,0, …, al,S–1) – l&я расширяющая последова&
( j)
тельность; s1 ql – модулированный сигнал, предназначенный l&му
пользователю, использующему q&ю группу подканалов.
Предположим, что используются S ортогональных расширяю&
щих последовательностей. Необходимо отметить, что в рассмат&
риваемой системе расширяющие последовательности присваива&
ются не отдельным пользователям, а подканалам (или их груп&
пам). Это позволяет рассматривать каждый подканал (группу под&
каналов) как набор логических каналов, которые могут быть про&
извольным образом распределены между пользователями.
91
S 11 3
2 1
Пусть 4kq 5 60, , ...,
, 17 – доля q&го подканала (группы
S
S
8
9
подканалов), выделенная для передачи данных k&го пользовате&
( j)
ля; 1 kq – среднее (геометрическое) отношение канал/шум по q&й
группе подканалов.
Допустим, что в каждом из логических каналов используется своя
схема передачи со скоростью ckl и средней мощностью сигнала
( j)
Vkl2 1 M[| s1 ql |2 ], k 1 k(q, l),
где k(q, l) – номер пользователя, использующего l&й логический ка&
нал q&го физического подканала OFDM&системы (или их группы).
Здесь предполагается, что группы (при Sf > 1) образованы путем объе&
динения смежных подканалов. В принципе, это ограничение может быть
снято путем введения частотного перемежения (или, что эквивалентно,
путем перенумерования коэффициентов 1(kij ) ), которое также может быть
оптимизировано. Но, как будет показано ниже, даже такой простой
подход обеспечивает достаточно хорошие результаты.
Адаптивная передача
Оптимизационная задача. Предположим, что для каждого из пользо&
вателей необходимо обеспечить некоторую фиксированную вероятность
ошибки передачи. Ясно, что она зависит как от скорости передачи дан&
ных, так и от отношения сигнал/шум. В большинстве случаев эту зави&
симость можно приближенно представить как
c
2 kq 1 1
, ckq 3 0,
4
где Г зависит от требуемой вероятности ошибки. Как будет показано
ниже, в случае наличия временных флуктуаций канала эта функция
оказывается зависимой от состояния канала в начальный момент
(0)
времени 1kq . Это дает возможность указать среднюю мощность сиг&
нала, необходимую для обеспечения заданной вероятности ошибки,
f (ckq ) 2
2
как Vkq
1
f (ckq )
2
или Vkq
2
f (1(0)
kq , ckq )
.
2kq
1(0)
kq
Предположим, что каждый пользователь должен осуществлять
передачу данных со скоростью Rk. Рассмотрим задачу нахождения
такого распределения скоростей ckq по подканалам, которое миними&
зировало бы общую требуемую мощность сигнала, т. е.
K N / Sf
min
ckq ,1kq
92
33
k 21 i 21
1kq f (ckq )
2kq
при условиях
K
N / Sf
k 11
q 11
3 1kq 2 1;
3
1kq ckq 2 Rk .
Применяя классическую теорию условного экстремума, можно
получить следующую систему уравнений:
1
2
30 4 5( k) 6 5 7 ;
q
q
kq
8
N
/
S
8
f
8R 4 7 f '11 (9 );
k
kq
k kq
8
q 21
8
K
81 4 7kq ;
8 k 21
8
11
11
85 5(k) 4 (f (f ' ( 9k kq)) 6 9k kq f ' (9k kq )) ,
q
8 q
kq
где lk, bq – множители Лагранжа. Заметим, что для заданного набора
rkq величины lk могут быть однозначно найдены из Rk. С другой сто&
роны, как было показано в [3], из этих уравнений следует, что bq
( k)
должно быть равно 1q 2 min 1q(k) , и только пользователи с 1q 2 1q мо&
k
гут использовать q&й подканал (группу подканалов). Для решения
представленной системы уравнений может быть использован следу&
ющий алгоритм.
1. Сформировать начальный набор значений rkq.
2. Вычислить lk из второго уравнения и подставить это значение в
(k)
четвертое уравнение, получив 1q .
3. Найти наихудший подканал и наихудшего пользователя
(qw ,kw ) 1 arg max (2(qk) 3 2q ), назначенного на этот подканал, а так&
q,k:1kq 20
же наилучшего пользователя kb 1 arg min 2(qk) .
w
k
4. Уменьшить долю 1kw ,qw подканала qw, занимаемую пользовате&
лем kw, на 1/S и увеличить долю 1kb ,qw занимаемую пользователем kb,
на эту же величину.
5. Повторять шаги 2 – 4 заданное число раз.
Исходное распределение пользователей по подканалам может быть
получено, например, следующим образом. Для каждого пользовате&
ля могут быть найдены наилучшие подканалы и для них установле&
93
но rkq = d > 0. Те подканалы, которые не вошли в число наилучших ни
для одного пользователя, могут быть назначены, например, пользо&
вателям с наилучшими отношениями канал/шум на них. При этом
должно выполняться условие нормировки.
Иногда описанный алгоритм сталкивается с той же проблемой,
что и стандартные итеративные алгоритмы оптимизации, а именно с
возникновением колебаний на шаге 4. В этом случае несколько
пользователей циклически обмениваются подканалами, что препят&
ствует достижению оптимального решения. Причина заключается в
том, что передача доли подканала от одного пользователя к другому
может незначительно улучшить условия работы первого пользова&
теля и существенно ухудшить показатели второго пользователя,
вследствие чего на следующей итерации алгоритма будет произведен
обратный обмен. Эта проблема может быть преодолена с помощью
стандартного приема – «сглаживания». В данном случае он может
быть реализован путем принудительного запрета на выбор в качестве
«наихудших» на шаге 3 тех пользователей, которые были выбраны
на предыдущих W итерациях в качестве «наилучших», где W > 0 –
длина хранимой истории.
Отметим, что использование расширения в частотной области
(Sf > 1) приводит к снижению размерности оптимизационной зада&
чи. Кроме того, сокращается объем передаваемой служебной инфор&
мации. Отметим также, что применение кодового разделения позво&
ляет естественным образом реализовать случай Sf > 1.
Чувствительность к изменениям состояния канала. В большин&
стве практических систем оказывается, что состояние канала под&
вержено стохастическим флуктуациям. Ясно, что использование схе&
мы передачи, не соответствующей текущему состоянию канала, мо&
жет привести к катастрофическому ухудшению качества работы сис&
темы. В связи с этим возникает задача построения адаптивных мето&
дов, которые могли бы учитывать временные изменения состояния
канала. Классическим методом решения этой задачи является пред&
сказание состояния канала [4]. Однако в многопользовательской
многочастотной системе применение данного метода оказывается за&
труднительным ввиду того, что он требует хранения чрезмерно боль&
шого объема информации о состоянии канала каждого из пользова&
телей в предшествующие моменты времени. В связи с этим рассмот&
рим упрощенный подход, использующий информацию о состоянии
канала только в один момент времени.
В большинстве случаев радиоканал может быть охарактеризован
( j)
моделью Релея, согласно которой величины 1 kq имеют экспоненци&
94
альное распределение (
2(kqj )
3
1 (kqj )
– распределение Релея). Так как
4
передаточные коэффициенты радиоканала зависимы, возникает не&
обходимость рассмотрения их совместной плотности распределения
(для упрощения расчетов далее индексы k и q будут опускаться). Мож&
но показать [5], что условная плотность распределения отношения
канал/шум на каждом из подканалов может быть вычислена как
1 4( j ) 5 4(0) 32 2 1 2 | 3 j |
2
69
7 I0 6
4(0) 4( j ) 7,
exp
2
2
2
6 (1 9 3 j ) 7 6 (1 9 3 j )
7
(1 9 3 j )
( j) 2
(0) ( j ) *
где 1 2 M[| 3 | ], 1 j 2 M [3 (3 ) ], I0(x) – модифицированная функ&
ция Бесселя нулевого порядка. Предположим, что вероятность ошиб&
ки для используемого семейства методов передачи может быть вы&
числена как
1
f (4( j) | 4(0) ) 8
1 3V 2 4 2
6,
Pe (c, 4, V ) 7 AQ 5 c
5 2 81 6
9
где c – скорость передачи; V2 – мощность сигнала на данном подкана&
ле (или их группе); A и a – некоторые константы. Тогда условие под&
держания заданной средней вероятности ошибки может быть сфор&
мулировано как
J
1
Pср 1 Pe (c, 2, V )f (2( j ) | 2(0) )d2( j ) 1
0
j 20
J
1 3
A
Q7
1
2 0
7
j 20 1 6 j
3
2(0) 2 4
x
5
6j 8 3
7
2 | 6j | 2(0) 4
9 V 2 x 4
8I 7
8 exp 7 x 8 dx.
0
2
c
7
8
2 1 8
1 6j 8 7 1 62j
77
88
Несложно заметить, что параметрами этого уравнения являются
величина F 3
1V 22
, которую можно рассматривать как нормирован&
2c 4 1
ное отношение канал/шум, требуемое для достижения заданной ве&
роятности ошибки, и отношение
1(0)
, характеризующее отклонение
2
95
отношения канал/шум в начальный момент времени от своего сред&
1(0)
него значения. Для каждого заданного
данное уравнение может
2
быть решено численно относительно F. Это дает возможность пост&
1 3(0) 2
3(0)
роить функцию g 5
, c6 4 F
, задающую нормализованный за&
5
6
7
8 7
9
пас мощности, требуемый для обеспечения заданной вероятности
ошибки. Тогда функция f(c), использованная при построении опти&
мизационного алгоритма для случая статического канала, может
быть заменена на функцию
3 5(0) 4 2c 6 1
f 5(0) , c 7 g 8
, c9
.
8 9 1
2
Это позволяет сохранить структуру предложенного оптимизаци&
онного алгоритма, модифицировав лишь используемые в нем коэф&
фициенты 1ki . Необходимо отметить, что численное решение нели&
нейного уравнения необходимо осуществлять лишь на этапе проек&
тирования системы. Полученная таким образом функция g может
быть сохранена в виде таблицы.
Исследование характеристик предложенного метода. Для оцен&
ки выигрыша, даваемого предложенным методом адаптивной пере&
дачи, было использовано имитационное моделирование. Рассматри&
валась стохастическая модель радиоканала со стационарным в ши&
роком смысле некоррелированным рассеянием (WSSUS) [6] с экспо&
ненциальным профилем многопутевой интенсивности. Спектраль&
ная полоса, занимаемая исследуемой системой, предполагалась рав&
ной 20 МГц, число подканалов OFDM системы было положено рав&
ным 512. Параметрами модели являлись максимальная величина
многопутевой задержки сигнала tmax, соответствующая затуханию
сигнала на 30 дБ, и максимальная величина доплеровского сдвига.
Во всех случаях использовалась 2c&КАМ и требовалось обеспечить
вероятность ошибки на бит 2·10–3. Мощность передаваемого сигна&
ла, необходимая для достижения заданной скорости передачи дан&
ных и заданной вероятности ошибки, а также действительная веро&
ятность ошибки, наблюдаемая приемником, рассматривались как
критерии качества работы системы.
На рис. 1 представлены результаты, иллюстрирующие выигрыш,
получаемый за счет совместного использования подканалов несколь&
кими пользователями.
96
Можно заметить, что при S = 1 (т. е. разделение подканалов отсут&
ствует, система сводится к частотному разделению) предложенный ме&
тод позволяет получить выигрыш до 1 дБ по сравнению с алгоритмом
Вонга [3], что еще раз подтверждает субоптимальность последнего. Кроме
того, с увеличением S выигрыш за счет совместного использования под&
каналов быстро возрастает и достигает 5 дБ при S = 8. Дальнейшее уве&
личение S (т. е. повышение точности вычисления коэффициентов раз&
деления rkq) не дает существенного выигрыша.
На рис. 2 представлены результаты, полученные для систем с раз&
личными параметрами частотно&временного расширения Sf и St = S/Sf.
Здесь состояние канала предполагалось неизменным на протяжении
всего цикла передачи. Несложно заметить, что использование расши&
рения в частотной области (Sf >1) приводит к незначительному увели&
чению мощности передатчика, требуемой для достижения заданных
параметров системы. Кроме того, как будет показано ниже, реальная
вероятность ошибки, наблюдаемая приемником, оказывается несколь&
ко больше требуемой. Это связано с возникновением межпользователь&
ской интерференции вследствие нарушения ортогональности расширя&
ющих последовательностей. Однако эти недостатки компенсируются
Полоса 20 МГц, 512 подканалов, 64 польз., R =16 бит/польз.
Относительная мощность
передатчика, дБ
20
15
10
5
0
2e–006
4e–006
8e–006
6e–006
Многопутевое рассеяние tmax, с
1e–005
Рис. 1. Выигрыш, получаемый за счет разделения подканалов:
– OFDMA, Wong’s algorithm;
– S = 2, Sf = 1;
– S = 4, Sf = 1;
– S = 1, Sf = 1;
– S = 8, Sf = 1
97
Относительная мощность
передатчика, дБ
Полоса 20 МГц, 512 подканалов, 64 польз., R =16 бит/польз.
12
8
4
0
2e–006
4e–006
8e–006
6e–006
Многопутевое рассеяние t max, с
1e–005
Рис. 2. Сравнение систем с различными параметрами частотно
временного расширения:
–Sf = 1;
– Sf = 2;
– Sf = 4;
– Sf = 8
Полоса 20 МГц, 512 подканалов, 64 польз., R =16 бит/польз.
Относительная мощность
передатчика, дБ
25
20
15
10
0
2e–006
6e–006
8e–006
4e–006
Многопутевое рассеяние t max, с
1e–005
Рис. 3. Влияние временных изменений канала на требуемую мощность
передатчика:
– fD = 0;
– 300;
98
– 50;
– 400;
– 100;
– 200;
– 500; – 700 Гц
существенным снижением сложности оптимизации и объема передава&
емой служебной информации. Необходимо также отметить, что исполь&
зованная тривиальная процедура формирования групп подканалов обес&
печивает достаточно хорошие показатели качества работы системы.
На рис. 3 представлены аналогичные кривые, полученные для слу&
чая стохастически изменяющегося канала. Здесь предполагалось, что
адаптация производится после передачи каждых J = ST OFDM&симво&
лов, где T = 3. Можно заметить, что с ростом величины максимального
доплеровского рассеяния fD мощность передатчика, требуемая для обес&
печения заданной вероятности ошибки, быстро возрастает. Из рассмот&
рения известных результатов для подобных неадаптивных систем сле&
дует, что применение описанного адаптивного алгоритма с приведен&
ными выше параметрами нецелесообразно при fD > 400 Гц. Отсюда мож&
но заключить, что временной интервал между обновлениями схемы пе&
редачи должен составлять
tобновл 1
1
.
4fD
Полоса 20 МГц, 512 подканалов, 64 польз., R =16 бит/польз.
20
Истинная вероятность
ошибки
15
10
5
0
200
400
600
Максимальное доплеровское рассеяние fD, Гц
Рис. 4. Влияние временных изменений канала на истинную вероят
ность ошибки:
–Sf = 1;
– Sf = 2;
– Sf = 4;
– Sf = 8
99
На рис. 4 представлена зависимость истинной вероятности ошиб&
ки, наблюдаемой приемником, от величины максимального допле&
ровского рассеяния. Отметим, что при fD = 0 (статический канал)
в системе с частотным расширением истинная вероятность ошибки
оказывается несколько больше требуемой. Это связано с наличием
межпользовательской интерференции, вызываемой потерей ортого&
нальности расширяющих последовательностей. Однако с ростом fD
истинная вероятность ошибки во всех случаях несколько уменьша&
ется, что связано с возникновением эффекта разнесения.
Выводы
В работе описана адаптивная многопользовательская система.
Показано, что за счет оптимизированного совместного использова&
ния подканалов может быть получен выигрыш до 5 дБ по сравнению
с адаптивной системой с частотным разделением. Сравнение систем с
различными конфигурациями частотного и временно˜го расширения
позволяет сделать вывод о предпочтительности использования рас&
ширения в частотной области (Sf > 1) ввиду существенного сниже&
ния сложности оптимизации и объема передаваемой служебной ин&
формации при незначительных потерях в качестве работы системы.
Вместе с тем, анализ устойчивости предложенного метода к времен&
ны˜м стохастическим изменениям состояния канала показывает, что
применение предложенного адаптивного метода требует достаточно
частых обновлений используемой схемы передачи.
Литература
1. Прокис Дж. Цифровая связь. М.: Радио и связь, 2000. 797 с.
2. Yang L.L., Hanzo L. Multicarrier DS&CDMA: A multiple access scheme
for ubiquitous broadband wireless communications // IEEE Communications
Magazine. 2003. Vol. 41. N 10. P. 116–124.
3. Multiuser OFDM with adaptive subcarrier, bit, and power allocation /
C. Y. Wong, R. S. Cheng, K. B. Letaief et al. // IEEE Journal on selected areas
in Communications. 1999. Vol. 17. N 10. P. 1747–1758.
4. Adaptive modulation systems for predicted wireless channels / S. Fala&
hati, A. Svensson, T. Ekman et al. // IEEE Transactions on Communications.
2004. Vol. 52. N 2. P. 307–316.
5. Mallik R. K. On multivariate Rayleigh and exponential distributions //
IEEE Transactions On Information Theory. 2003. Vol. 49. N 6.
P. 1499–1515.
6. Hoher P. A statistical discrete&time model for the WSSUS multipath
channel // IEEE Transactions On Vehicular Technology. 1992. Vol. 41. N 4.
P. 461–468.
100
МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ
ОТ НЕСАНКЦИОНИРОВАННОГО
ДОСТУПА
101
102
С. В. Беззатеев,
канд. техн. наук, доцент
СанктПетербургский государственный университет
аэрокосмического приборостроения
ОСОБЕННОСТИ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
В БЕСПРОВОДНЫХ СЕТЯХ
Введение
Основными требованиями, предъявляемыми к безопасности ин&
формации в любой системе, являются:
1) доступность – возможность работы пользователя с устройством
и предотвращение DoS&атак, т. е. необходимо предусмотреть защиту
от возможностей организации несанкционированных воздействий на
устройство, приводящих к его отказу в обслуживании легальных
пользователей сети;
2) конфиденциальность – защита передаваемой информации от ее
несанкционированного прочтения;
3) аутентичность – возможность для устройств сети определить
источник принимаемой информации;
4) целостность – защита передаваемой информации от несанкцио&
нированного изменения;
5) неотрицаемость – необходимость исключить возможность от&
каза от переданной информации.
Следует отметить, что в теории информационной безопасности хо&
рошо известны криптографические примитивы, способные обеспечить
решение большинства из перечисленных требований [1]. Одним из
основных элементов всех криптографических методов является
ключ. Именно система выбора, распределения и использования клю&
ча является основной особенностью защиты информации в беспро&
водных сетях. Во многом это связано с ограниченностью вычисли&
тельных ресурсов устройств, используемых в беспроводных сетях и,
соответственно, с приоритетом симметричных систем криптографи&
ческой защиты информации.
Основные варианты схем управления ключами
Возможные подходы к решению задачи распределения и управления
ключами в беспроводных сетях можно представить следующей схемой
(рис. 1). Вторая классификационная схема (рис. 2) определяет возмож&
ные подходы к схемам распределения ключей в зависимости от наличия
или отсутствия инфраструктуры в беспроводной сети. Для нас в данном
103
1234567897 649 5 72358 7
!267 573788 783
23456789 649
573788 783 23456789
649 9267 288
57 573788 783
23456789 649
573788 783 23456789 649 9261
7 6
239 84468 9899469499 79
8
99 573788 7834
8
99 573788
23456789 649 342377678 7834 23456789 649
7 3549 79
52687 8 35
78349584
4789 9
49
Рис. 1. Подходы к решению задачи распределения и управления
ключами в беспроводных сетях
1234567897 649 5 72358 7
723587 79 846997
98343
3
8
99 573788
7834 23456789
649 52687
8 969 87
6
279468 35
723587 79
7 98343
3
7834
9584 478
99
49
1
1
8
99 573788 573788 783
7834 23456789 23456789 649
649 34237
9267 6
7678 7 579
239 84468
3549 79 9899469499 79
1
Рис. 2. Подходы к схемам распределения ключей
случае наибольший интерес представляют беспроводные сети, у кото&
рых отсутствует инфраструктура. Рассмотрим более подробно возмож&
ные варианты схем управления ключами.
1. Демонстративная аутентификация [2, 3] предполагает наличие
некоторого физически защищенного секретного канала между отдель&
ными пользователями сети, например визуального или звукового. Ин&
формация, передаваемая по такому каналу, должна быть доступна лишь
ограниченному кругу легитимных пользователей. Одним из хорошо
известных вариантов демонстративной аутентификации является вы&
дача общего предварительного ключа для участников совещания, на&
писанного на доске в помещении, где проводится совещание.
2. Схемы с предварительным распределением ключей [4–8] предпо&
лагают наличие некоторого специального устройства, обеспечивающе&
го создание и предварительную выдачу парных ключей для всех участ&
ников сети. При этом могут использоваться схемы, построенные на мат&
рицах инцидентности, симметричных двухпараметрических функциях
или на основе кодов, исправляющих ошибки. Основным недостатком
этого метода является сложность масштабируемости и смены выдан&
104
ных ключей при увеличении числа участников сети или компромета&
ции ключей.
3. Распределенный доверенный центр управления ключами предпо&
лагает использование некоторой специальной структуры ключей [7–
12]. Такие схемы позволяют строить одноуровневые или многоуровне&
вые (иерархические) распределенные системы. Основной особенностью
таких систем является возможность динамического наращивания клю&
чевого пространства в процессе функционирования сети. Для генера&
ции нового ключа необходимо участие определенного, заранее установ&
ленного числа пользователей. Основой таких систем являются, напри&
мер, хорошо известные интерполяционные алгоритмы.
Дополнительные задачи, возникающие в беспроводной сети
Кроме перечисленных задач, непосредственно связанных с управле&
нием и распределением ключей, в беспроводных сетях в отсутствии ин&
фраструктуры имеются специфические проблемы.
1. Предотвращение возможности захвата устройства с дальнейшим
несанкционированным его использованием. Эта задача получила на&
звание радиоигры (Funkspiel) [13]. Одним из возможных решений яв&
ляется использование систем скрытой передачи данных [14], наличие
которых в сообщениях, передаваемых устройством, будет означать его
«нормальное» функционирование, а отсутствие – несанкционирован&
ный «захват».
2. Необходимость выполнять большой объем вычислений при огра&
ниченных ресурсах. Решением этой задачи может быть реализация воз&
можности выполнения вычислений с защищенными данными, для чего
используют незащищенные устройства, располагающие большими вы&
числительными мощностями (рис. 3) [15, 16].
3. Аутентификация сообщений в отсутствии инфраструктуры откры&
того ключа. Для решения этой задачи могут быть использованы систе&
1234562375
2 5849
42429
1234562375
2 5849
42429
9
1294579
3
9
393
9
1294579
3
393
343 5
5 723
5
234562375
343 9
5
5 723
5
234562375
Рис. 3. Делегирование вычислений между сильным и слабым устрой
ствами
105
мы, построенные на заранее вычисленных хэш&цепочках. Результаты
таких предварительных вычислений могут использоваться аналогич&
но системам с открытым ключом, т. е. с предварительной рассылкой
(публикацией) некоторого мастер&ключа (например, корня хэш&цепоч&
ки) [17–19] либо с так называемой отложенной аутентификацией, ког&
да аргумент хэш&функции публикуется при передаче следующего сооб&
щения (протокол аутентификации TESLA [20]). Другим вариантом
построения системы аутентификации сообщений в отсутствии инф&
раструктуры открытого ключа является использование множеств, сво&
бодных от покрытия (СFF) [21]. Такой подход позволяет использовать
предварительно созданный, открыто рассылаемый ключ для аутенти&
фикации некоторого, заранее определенного числа сообщений.
Следует отметить, что для систем беспроводной связи особую ак&
туальность приобретает необходимость построения комплексной за&
щиты информации от случайных и преднамеренных воздействий с
использованием общих примитивов. Одним из вариантов такого ре&
шения может быть использование помехоустойчивых кодов для за&
щиты от ошибок, шифрации, аутентификации, распределения клю&
чей, обеспечения целостности и скрытой передачи данных [22–24].
Выводы
Таким образом, очевидно, что решение задач информационной бе&
зопасности в беспроводных сетях имеет некоторые отличия от тради&
ционных решений, используемых для защиты информации. Неко&
торые из перечисленных особенностей связаны с отсутствием инфра&
структуры. Это определяется тем, что во многих беспроводных сетях
отсутствуют стационарные узлы, и станции, участвующие в процес&
се обмена информацией, могут перемещаться, изменяя тем самым
топологию сети. Кроме того, канал, используемый для передачи ин&
формации в беспроводных сетях, принципиально является незащи&
щенным от пассивных и активных атак. И третьей важной особенно&
стью беспроводных сетей является наличие в них маломощных и сла&
бозащищенных устройств.
Литература
1. Шнайер Б. Прикладная криптография. М.: Триумф, 2002.
2. Stajano F., Anderson R. The Resurrecting Duckling: Security Issues for
Ad&hoc Wireless Networks // Proceedings of the 7th Internetional Workshop
on Security Protocols. 1999.
3. Talking to Strangers: Authentication in Ad&hoc Wireless Networks /
D. Balfanz, D. K. Smetters, P. Stewart et al.// Conference Proceeding of
NDSSConference. 2002.
106
4. Establishing Pair&wise Keys For Secure Communication in Ad Hoc
Networks / S. Zhu, S. Xu, S. Setia et al. A Probabilistic Approach.
5. Multicast Security: A Taxonomy and Some Efficient Constructions/ R. Canetti,
J. Garay, G. Itkis et al. // IEEE Infocom’99. Long Beach. CA. USA. Oct. 2001.
6. Blom R. Non&Public Key Distribution, Advances in Cryptology//
Proceedings of CRYPTO’82. Prenum Press. 1983. P.231–236.
7. Zhou L., Haas Z. J. Securing Ad Hoc Networks // IEEE Networks.
1999. Vol. 13. N 6.
8. Providing Robust and Ubiquitous Security Support for Mobile Ad&hoc
Networks / J. Kong, P. Zerfos, H. Luo et al. //IEEE ICNP. 2001.
9. Joye M. and SungMing Yen. ID&based Secret&key Cryptography// ACM
Operating Systems Review. 1998. Vol. 32. N 4. P. 33–39.
10. Yi S. and Kravets R. Key Management for Heterogeneous Ad&hoc Wireless
Networks. July 2002.
11. Gong L., Wheeler D. J. A Matrix Key Distribution Scheme // Journal of
Cryptology. Springer&Verlag. New York, 1990. Vol. 2. N 2. P. 51–59.
12. Quinn K. A. S. Some Constructions for Key Distribution Patterns// Designs,
Codes and Cryptography. 1994. Vol. 4. N 2. P. 177–191.
13. Funkspiel Schemes: An Alternative to Conventional Tamper Resistance/
J. Hastad, J. Jonsson, A. Juels et al. // Seventh ACM Conference on Computer and
Communications Security. ACM Press. 2000. P. 125–133.
14. Sencar H., Ramkumar M., Akansu A. Data Hiding Fundamentals and
Applications. 2004.
15. Abadi M., Feigenbaum J. Secure circuit evaluation // Journal of Cryptology.
1990. Vol. 2. N 1. P. 1–12.
16. Loureiro S., Molva R. Function hiding based on error correcting codes//
Proceedings of Cryptec’99: International Workshop on Cryptographic Techniques
and Electronic Commerce. City University of Hong&Kong. July 1999. P. 92–98.
17. Merkle R. A Certified Digital Signature// Advances in Cryptology –
CRYPTO ’89: Lecture Notes in Computer Science. Springer&Verlag. 1990. Vol. 435.
P. 218–238.
18. Even S., Goldreich O., Micali S. On&line/off&line digital signatures//
Proc. CRYPTO’89, LNCS 435. Springer&Verlag. 1990. P. 263–275.
19. Reyzin L., Reyzin N. Better than BiBa: Short One&Time Signatures with
Fast Signings and Verifying. ACISP02.
20. Efficient authentication and signing of multicast streams over lossy
channels/ A. Perrig, R. Canetti, J. Tygar et al. // IEEE Symposium On Security
and Privacy. Berkeley. 2000.
21. Stinson D. R., Wei R., Zhu L. Some new bounds for Cover&Free Families.
J. Combin. Theory A. 2000. Vol. 90. P. 224–234.
22. Bezzateev S. V., Shekhunova N. A. Multilevel Cryptosystem Based on
Embedded Goppa Codes// Proceedings of The Workshop on Information Protection.
Moscow. December 6–9. 1993.
23. Kabatianski G., Krouk E., Smits B. A Digital Signature Scheme Based on
Random Error&Correcting Codes: Lecture Notes in Computer Science. Springer&
Verlag. 1997. Vol. 135.
24. Subcodes of Goppa Codes for Multi&level Access Control Systems/
S. Bezzateev, E. Linsky, E. Krouket et al.//NEW2 AN 2004 Conference. St. Pe&
tersburg, Russia. 2004.
107
В. А. Давыдов,
канд. техн. наук,
первый заместитель председателя правления ЗАО КАБ «Викинг»
КОДОВЫЕ СИСТЕМЫ ОТКРЫТЫХ КЛЮЧЕЙ.
МОДИФИКАЦИЯ СИСТЕМЫ КРУКА
Обозначения
Пусть задан Q&ичный код длины n, содержащий k информацион&
ных символов и исправляющий t ошибок в метрике Хэмминга. По&
рождающую матрицу такого кода, состоящую из k строк и n столб&
цов, с элементами, принадлежащими GF(Q), обозначим G, а прове&
рочную матрицу, состоящую из n&k строк и n столбцов, обозначим H.
Таким образом:
1 g11
3g
G 5 3 21
3 ...
3
36 gk1
g12 ... g1n 2
1 h11
3 h
4
g22 ... g2n 4
21
; H53
3 ...
... ... ... 4
3
4
gk2 ... gkn 47
36h( n 1k)1
h12
h22
...
h( n 1k)2
h1n 2
...
h2n 44
.
...
... 4
4
... h( n 1k)n 47
...
Пусть P – случайная матрица перестановки, состоящая из n строк
и n столбцов. Обозначим через P–1 обратную матрицу. Пусть Y – слу&
чайная невырожденная матрица, элементы которой принадлежат
GF(Q), состоящая из k строк и k столбцов. Обозначим через Y–1 обрат&
ную матрицу. Пусть R – случайная невырожденная матрица, эле&
менты которой принадлежат GF(Q), состоящая из n–k строк и
n–k столбцов. Обозначим через R–1 обратную матрицу. Пусть X – слу&
чайная невырожденная матрица, элементы которой принадлежат
GF(Q), состоящая из n строк и n столбцов. Обозначим через X–1 об&
ратную матрицу.
Обозначим через e = (e1, e2, ..., en) Q&ичный вектор ошибок длины
n, вес которого в метрике Хэмминга не более t. Обозначим через m =
= (m1, m2, ..., mk) Q&ичный информационный вектор длины k.
Пусть Se – случайная матрица, состоящая из n строк и r столбцов,
а De – случайная матрица, состоящая из r строк и n столбцов. Эле&
менты Se и De принадлежат GF(Q). Заметим, что произведение мат&
риц SeDe является матрицей, состоящей из n строк и n столбцов,
ранг которой не превосходит r. Пусть Sm – случайная матрица, со&
стоящая из k строк и r столбцов, а Dm – случайная матрица, состоя&
щая из r строк и n столбцов. Элементы Sm и Dm принадлежат GF(Q).
108
Заметим, что произведение матриц SmDm является матрицей, состо&
ящей из k строк и n столбцов. Из определения матриц Se, De, Sm и Dm
следует, что все эти матрицы прямоугольные и выполняется нера&
венство r < k < n.
Системы МакЭлиса и Нидеррайтера
Для классической системы Мак&Элиса, описанной в работе [1],
открытым ключом является произведение матриц YGP, закрытым клю&
чом – матрицы Y–1, P–1, G.
Процедура кодирования вектора m состоит в выборе случайным
образом вектора e и построении криптограммы c длины n, удовлетво&
ряющей выражению
1 1 2 YGP 2 34
Заметим, что в системе Мак&Элиса криптограмма c является векто&
ром&строкой.
Процедура декодирования криптограммы c состоит в декодирова&
нии кодом G вектора
12 –1 1 3 YG 2 4P 11 .
В результате декодирования получаем векторы mY и eP–1, из кото&
рых окончательно получаем mYY–1 = m и eP–1P = e.
Заметим, что вес вектора ошибки e, налагаемого на информаци&
онное сообщение m, в классической системе Мак&Элиса ограничен
числом ошибок t, исправляемых кодом G.
В системе Нидеррайтера, описанной в работе [2], открытым клю&
чом являются произведение матриц RHP и величина t, закрытыми
ключами – матрицы R, H, P.
Для системы Нидеррайтера информационными являются всевоз&
можные векторы ошибок 121 ( e , e ,..., en ) веса до t. Процедура коди&
рования вектора 121 ( e , e ,..., en ) состоит в построении криптограм&
мы с длиной n–k, удовлетворяющей выражению
1
1
2
1
2
1
3
3
1 1 RHP21 .
Заметим, что в системе Нидеррайтера криптограмма с является век&
тором&столбцом.
Процедура декодирования состоит в декодировании кодом H век&
тора ошибок ePT в сообщении
R11c 1 HPeT 1 H(eP T )T .
Окончательно из полученного вектора ePT, зная P, получаем e.
109
Стойкость систем Нидеррайтера и Мак&Элиса основана на предпо&
ложении, что для их раскрытия нужно решать задачу декодирова&
ния в коде с проверочной или порождающей матрицей, не имеющей
специальной алгебраической структуры, что в общем случае являет&
ся трудной задачей.
Типовые классы атак на обобщенную двухматричную систему
Систему Мак&Элиса, предложенную в работе [3], а также целый
ряд систем аналогичного вида можно описать в общем виде как сис&
темы, в которых шифрование сообщения m выполняется следующим
образом:
1 1 mK1 2 eK2 ,
(*)
где K1 и K2 – матрицы публичных ключей.
Для дешифрования легальный пользователь должен выполнить
некоторое линейное преобразование 1 (c) , приводящее к вектору
2 (c) 3 mG 4 112
где 11 – вектор, декодируемый в коде G, и, декодируя его, получить
исходное сообщение m.
В работе [4] описаны четыре наиболее общих класса атак на по&
добные системы.
Решение системы линейных уравнений (Атака 1)
Уравнение (*) может быть представлено в следующем виде:
1K 2
c 3 (m | 12 4 1 5 .
6 K2 7
Если даная система имеет достаточно мало решений, переданное со&
общение может быть найдено противником путем решения системы
линейных арифметических уравнений (СЛАУ). Данная атака была
описана в работе [5].
Уничтожение вектора ошибки (Атака 2)
Предположим, что матрица K2 вырождена. Тогда существует мат&
T
рица H2T такая, что K2 H2 = 0. Вычислим
cH2T 1 1K1H2T 2 eK2 H2T 1 1K1H2T .
Если матрица K1H2T имеет достаточно большой ранг, вектор m мо&
жет быть найден решением СЛАУ.
110
Снижение мощности векторов ошибки (Атака 3)
В случае вырожденности матрицы K2 может оказаться так, что
e1K2 = e2K2 для различных допустимых векторов e1 и e2. Это может
снизить сложность атак, основанных на переборе векторов ошибки.
Поэтому желательно, чтобы для всех векторов ошибок e1 и e2 из до&
пустимого множества ошибок выполнялось неравенство e1K2 ¹ e2K2.
Приведение к виду МакЭлиса и Нидеррайтера (Атака 4)
Предположим, что матрица K2 обратима. Тогда противник может
11
вычислить обратную матрицу K2 и
cK211 1 1K1K211 2 23
Если wt(e) 1 t и произведение K1K211 дает порождающую матрицу
кода, исправляющего t ошибок, то полученное выражение соответ&
ствует криптосистеме Мак&Элиса, и для получения вектора m могут
быть использованы классические атаки против нее.
Противник всегда имеет возможность вычислить матрицу H1T та&
кую, что K1H1T = 0. Тогда
cHT1 1 1K1HT1 2 2K2HT1 1 2K2 HT1 .
Если wt(e) 1 t и произведение K2 H1T дает проверочную матрицу
кода, исправляющего t ошибок, то полученное выражение соответ&
ствует криптосистеме Нидеррайтера.
Система Крука, ее модификация
и устойчивость модифицированной системы к типовым атакам
Пусть M – матрица, состоящая из n строк и n столбцов, элементы
которой принадлежат GF(Q), составленная из слов (n, k, t)&антикода.
Система открытых ключей, предложенная Круком в работе [6],
задается следующим образом.
Закрытый ключ состоит из G&порождающей матрицы (n, k, t)&кода
с простым декодированием, величины t, матрицы M и матрицы X.
Открытый ключ состоит из двух матриц: K1 = GX и K2= MPX.
Процедура кодирования произвольного информационного векто&
ра m состоит в выборе случайным образом вектора 11 длины n произ&
вольного веса с элементами из GF(Q) и построении криптограммы c
длиной n, удовлетворяющей выражению 1 1 2 GX 2 31 MPX.
Процедура декодирования состоит в декодировании кодом G век&
тора
1X 12 1 mG 2 21 MP.
111
Вектор 11 M принадлежит антикоду, вес слов которого не превосходит
величины t. Следовательно, вектор 11 MP может быть успешно деко&
дирован в коде с порождающей матрицей G. В результате декодиро&
вания получаем вектор m.
Рассмотрим модифицированную систему Крука, в которой нала&
гаемый вектор ошибки также имеет произвольный вес.
Открытым ключом для модифицированной системы Крука явля&
ется сумма матриц K2 = PX + SeDe, сумма матриц K1 = YGX + SmDm,
матрица Se и матрица Sm, закрытым ключом – матрицы X–1, G, Y–1,
P–1, Dm и De.
Процедура кодирования информационного вектора m для моди&
фицированной системы Крука заключается в выборе случайного век&
тора ошибок e, вес которого не более t. На первых n позициях крип&
тограммы с располагается вектор
11 1 m( YGX + Sm Dm ) 2 e(PX 2 Se De );
на следующих r позициях криптограммы – вектор c2 = eSe и на послед&
них r позициях криптограммы – вектор c3 = mSm. Таким образом,
получили криптограмму с длины n + 2r.
Процедура декодирования модифицированной системы Крука со&
стоит в декодировании кодом G вектора
1 11 3 12 De – 13 Dm 2 X–1 4 mYG 5 eP.
Поскольку вес вектора eP не более t, а G исправляет t ошибок, то
можно успешно декодировать t ошибок в слове 1 11 3 1 2 De – 13 Dm 2 X–1.
В результате получаем mY и eP, из которых окончательно получаем
mYY–1 = m, ePP–1 = e.
Проведем анализ криптостойкости предложенной модифицирован&
ной системы Крука.
Рассмотрим атаку 1.
1 K1 2
Для защиты от данной атаки матрица 3 4 должна иметь воз&
5 K2 6
можно меньший ранг. Как видно из способа задания K2 = PX + SeDe и
K1 = YGX + SmDm, это достигается подбором секретных ключей De и
Dm, а также выбором параметра r.
Рассмотрим атаку 2.
Для защиты от данной атаки матрица K1H2T должна иметь возмож&
но меньший ранг. Из способа задания K1 = YGX + SmDm это достигается
подбором секретного ключа Dm, а также выбором параметра r.
112
Рассмотрим атаку 3.
Из способа задания K2 = PX + SeDe следует, что для любой пары
различных векторов ошибок e1 и e2 из допустимого множества оши&
бок выполняется неравенство
1K 2
1K 2
11 4 2 5 3 1 2 4 2 5 .
6 Se 7
6 Se 7
Рассмотрим атаку 4.
Для защиты от приведения к системе Мак&Элиса матрица K2 долж&
на быть вырождена. Из способа задания K2= PX + SeDe это достигает&
ся подбором секретного ключа De, а также выбором параметра r.
Для защиты от приведения к системе Нидеррайтера матрица
K2 H1T не должна давать проверочную матрицу кода, исправляющего
t ошибок. Как видно из способа задания K2 = PX + SeDe и K1 = YGX +
+ SmDm, это достигается подбором секретных ключей De и Dm, а так&
же выбором параметра r.
Сравнение описанной модифицированной системы Крука с системой
Мак&Элиса и исходной системой Крука приводится в приложении. При&
мер параметров модифицированной системы Крука приведен далее
(см.: Давыдов В. А. Нелинейная система открытых ключей на базе опе&
раторов с элементами в виде полиномов над конечным полем: Наст. сб.
С. 115–127).
Литература
1. McEliece R. J. A public&key cryptosystem based on algebraic coding
theory: DSN Progress Report. 1978. P. 42–44, 114–116.
2. Niderreiter H. Knapsack&type cryptosystem and algebraic coding theory //
Problems of Control and Information Theory. 1986. Vol. 15. N. 2. P. 157–166.
3. Krouk E. A new public&key cryptosystem: Proceedings 6&th Joint
Swedish&Russian International Workshop on Information Theory. 1993.
P. 285–286.
4. Трифонов П. Криптосистемы TDCS: Тр. конф. БИКАМП. СПб., 2001.
5. Da Rocha V. C., Lopes de Macedo Jr. David. Cryptanalysis of Krouk’s
Public&Key Cipher // Electronics Letteгs. 1996. 4 July. Vol. 32. N. 14.
P. 1279–1280.
6. Крук Е. А., Линский Е. М. Криптография с открытым ключом (Кодо&
вые системы): Учеб. пособие / СПбГУАП. СПб., 2004. 50 с.
7. МакВильямс Ф. Дж., Слоэн Н. Дж. А. Теория кодов, исправляющих
ошибки. М.: Связь, 1979.
8. HungMin Sun. Enhancing the Security of the McEliece Public&Key
Cryptosystem // Journal of Information Science and Engineering. 2000. Vol. 16.
P. 799–812.
113
Приложение
СРАВНЕНИЕ МОДИФИЦИРОВАННОЙ СИСТЕМЫ КРУКА
С СИСТЕМОЙ МАКЭЛИСА
1. Вместо матрицы n&перестановки P, на которую матрица G умножа&
лась справа в системе Мак&Элиса, в данной системе использована случай&
ная невырожденная матрица X. Это позволяет в качестве ошибок исполь&
зовать не векторы веса до t, как в системе Мак&Элиса, а линейные комбина&
ции до t строк матрицы K2 = PX + SeDe. Данная матрица, а также матрица Se
являются дополнительными составляющими открытого ключа предложен&
ной системы.
2. Вместо матрицы YGP для системы Мак&Элиса в предложенной сис&
теме используется матрица K1 = YGX + SmDm. Это позволяет вместо матри&
цы линейного кода, исправляющего t ошибок, публиковать в качестве от&
крытого ключа произвольную матрицу, которая не только не является по&
рождающей матрицей линейного кода, но и не может быть к ней преобра&
зована путем умножения на некоторую невырожденную матрицу. Платой
за такое свойство являются дополнительный секретный ключ Dm и допол&
нительный открытый ключ Sm.
3. В качестве базового кода в системе Мак&Элиса используется код Гоп&
пы. В этой системе предлагается использовать каскадные коды, построен&
ные на основе обобщенных расширенных кодов Рида–Соломона [7]. Такие
коды, очевидно, будут МДР&кодами для исправления пакетов ошибок с
фиксированным расположением.
4. Избыточность систем Мак&Элиса обусловлена избыточностью конст&
рукции кода G. Однако, как отмечалось, в частности, в работе [8], переда&
ваемые ошибки могут быть также использованы в качестве дополнитель&
ного информационного сообщения. При таком подходе избыточность сис&
темы обусловливается ее несовершенством с точки зрения упаковки про&
странства либо вводимым ограничением на число исправляемых ошибок,
позволяющим сделать процедуру кодирования–декодирования более про&
стой. Например, если в качестве кода G используется совершенный код
Галлея (23,12) то конструкция на основе такого кода будет иметь скорость,
равную 1.
5. Модифицированная система Крука в качестве вектора ошибки, на
который умножается ключ K2, использует векторы e веса до t. Исходная
система Крука использует векторы 11 произвольного веса. Для модифици&
рованной системы легальный пользователь может однозначно восстановить
по криптограмме выбранный при кодировании вектор e. Это дает возмож&
ность использовать вектор e в качестве дополнительного информационно&
го сообщения в модифицированной системе Крука и за счет этого увели&
чить скорость. Для исходной системы Крука использование вектора 11 для
передачи информации невозможно.
114
В. А. Давыдов,
канд. техн. наук,
первый заместитель председателя правления ЗАО КАБ «Викинг»
НЕЛИНЕЙНАЯ СИСТЕМА ОТКРЫТЫХ КЛЮЧЕЙ
НА БАЗЕ ОПЕРАТОРОВ
С ЭЛЕМЕНТАМИ В ВИДЕ ПОЛИНОМОВ
НАД КОНЕЧНЫМ ПОЛЕМ
Полиномы над конечным полем, отображающие поле на себя
Пусть задано отображение F элементов GF(Q) = {q1, q2, …, qQ} ха&
рактеристики p в произвольные элементы поля GF(Q). Каждому эле&
менту qi 1 GF (Q); i 2 1, Q ставится в соответствие один элемент
F (qi ) 1 GF(Q). Нескольким различным элементам может соответство&
вать одинаковый элемент GF(Q). Данное отображение однозначно
описывается полиномом f(x) над полем GF(Q). Для полинома f(x)
множество GF(Q) является множеством аргументов, а множество
F(GF(Q)) – множеством значений многочлена f(x) от соответствую&
щих аргументов. Полином f(x) будем называть полиномом отобра&
жения поля GF(Q) на себя. Из интерполяционной формулы Лагран&
жа следует, что f(x) имеет степень не более Q–1:
Q
Q
i 21
j 21
j 3i
f (x) 1 3 F (qi )4 (qi 2 qj )11 (x 2 qj ).
Всего существует ровно QQ различных полиномов степени не
выше Q–1, коэффициенты которых принадлежат GF(Q). Число
различных отображений F поля GF(Q) на себя также равно QQ.
Таким образом, между множеством полиномов степени не выше
Q–1 над GF(Q) и множеством отображений поля GF(Q) на себя су&
ществует взаимно однозначное соответствие. Каждому отображе&
нию соответствует свой полином, и каждый полином задает свое
отображение.
Пусть задано отображение L элементов GF(Q) = {q1, q2, …, qQ}
в произвольные элементы поля GF(Q). Обозначим через l(x) полином
данного отображения. В работе [1] показано, что
Q
3 (x–qi ) 1 xQ 2 x,
i 11
где qi 1 GF (Q).
115
Определим операцию символического произведения полиномов
l(x) и f(x) следующим образом:
r (x) 1 f (l(x))mod(x Q – x).
Символическое произведение полиномов l(x) и f(x) также дает поли&
ном r(x) отображения поля GF(Q) на себя. Из определения символи&
ческого произведения следует, что полином r(x) имеет степень не бо&
лее Q–1 и удовлетворяет равенству
f (l(x)) 1 r (x) 2 h(x)(x Q – x),
где h(x) – некоторый полином над полем GF(Q).
Подставляя последовательно вместо аргумента x все значения эле&
ментов GF(Q), получаем, что f (l(qi )) 1 r (qi ), так как qi Q –qi 1 0 для
любого qi 1 GF (Q) .
Определение операторов и основные свойства
алгебраических операций с ними
Пусть задана матрица F(x), состоящая из k строк и n столбцов.
Элементы данной матрицы являются полиномами fij(x) отображе&
ния поля GF(Q) на себя. Будем называть такую матрицу оператором
размерности k на n и обозначать
1 f11 (x) f12 (x)
3 f (x) f (x)
22
F(x) 5 3 21
3 ...
...
3
36 fk1 (x) fk2 (x)
... f1n (x) 2
... f2n (x) 44
.
...
... 4
4
... fkn (x) 47
Пусть задан оператор L(x), состоящий из k строк и n столбцов:
1l11 (x) l12 (x)
3l (x) l (x)
22
L(x) 5 3 21
3 ...
...
3
36lk1 (x) lk2 (x)
... l1n (x) 2
... l2n (x) 44
.
...
... 4
4
... lkn (x) 47
Определим операцию сложения операторов F(x) и L(x), имеющих
одинаковую размерность. Результат операции обозначим оператором
W(x) и будем записывать операцию сложения следующим образом:
W(x) = F(x) + L(x). Элементы wij(x) оператора W(x) удовлетворяют
соотношениям wij (x) 1 fij (x) 2 lij (x) для всех i = 1, k; j = 1, n и являются
полиномами отображения поля GF(Q) на себя. Из определения опе&
рации сложения операторов следует:
116
Свойство 1.
F(x) + L(x) = L(x) + F(x) .
Пусть задан оператор H(x), состоящий из n строк и d столбцов:
1 h11 (x) h12 (x)
3 h (x) h (x)
22
H(x) 5 3 21
3 ...
...
3
63 hn1 (x) hn2 (x)
... h1d (x) 2
... h2d (x) 44
.
...
... 4
4
... hnd (x) 74
Определим операцию умножения оператора F(x) на H(x). Заметим,
что данная операция возможна для пары операторов, у которых чис&
ло столбцов в первом операторе равно числу строк во втором операто&
ре. Результат операции обозначим оператором M(x) и будем записы&
вать операцию умножения следующим образом: M(x) = F(x) H(x).
Элементы mij(x) оператора M(x) удовлетворяют соотношениям
n
mij (x) 1 3 hlj (fil (x))mod(x Q 2 x) для всех i = 1, k; j = 1, d и являются
l 11
полиномами отображения поля GF(Q) на себя.
Обозначим через u = {u1, u2, …, uk} вектор длины k с элементами,
принадлежащими GF(Q). Обозначим операцию символического ум&
ножения вектора u на оператор F(x), состоящий из k строк и n столб&
цов, через uF(x) = F(u) и определим ее следующим образом:
k
k
1 k
2
F(u) 3 4 8 fi1 (ui ), 8 fi2 (ui ), ..., 8 fin (ui ) 5.
i 11
i 11
6 i 11
7
Обозначим через v = {v1, v2, …, vk} вектор длины k с элементами,
принадлежащими GF(Q).
Свойство 2.
Пусть F(x) состоит из fij (x), для каждого из которых выполня&
ется условие линейности fij (a+b) = fij (a) + fij (b). Тогда
(u + v)F(x) = uF(x) + vF(x) .
Доказательство в приложении.
Свойство 3.
Для операторов F(x) и L(x) с одинаковой размерностью k´n вы&
полняется равенство
u (F(x) + L(x)) = uF(x) + uL(x).
Доказательство в приложении.
117
Свойство 4.
Пусть H(x) состоит из hij (x), для каждого из которых выполняет&
ся условие линейности hij (a+b) = hij (a) + hij (b), а F(x) – произвольный.
Тогда
u(F(x)H(x)) = (u(F(x))H(x).
Доказательство в приложении.
Свойство 5.
Пусть H(x) состоит из полиномов hij (x), для каждого из которых
выполняется условие линейности hij (a + b) = hij (a) + hij (b), а F(x) и
L(x) – произвольные операторы. Тогда
(F(x) + L(x))H(x) = F(x)H(x) + L(x)H(x).
Доказательство в прил.
Свойство 6.
Для операторов F(x) и L(x) с одинаковой размерностью k ´n и опе&
ратора P(x) с размерностью m ´k выполняется равенство
P(x)F(x) + L(x)) = P(x)F(x) + P(x)L(x).
Доказательство в приложении.
Приведем следующие определения [1, т. 2].
Определение 1.
Многочлен (y(x1, x2, …, xk) от k переменных, каждая из которых
лежит в поле GF(Q), называется перестановочным многочленом от k
переменных над GF(Q), если для любого a 1 GF (Q) уравнение y(x1,
x2, …, xk) = a имеет ровно Qk–1 решений.
Определение 2.
Система многочленов y1(x1, x2, …, xk), y2(x1, x2, …, xk), ..., yk(x1,
x2, …, xk) от k переменных, каждая из которых лежит в поле GF(Q),
называется ортогональной над полем GF(Q), если для каждого набо&
ра (a1 , a2 ,..., ak ), ai 1 GF (Q) система уравнений y1(x1, x2, …, xk) = a1,
y2(x1, x2, …, xk) = a2, ..., yk(x1, x2, …, xk) = ak имеет единственное решение.
Рассмотрим оператор Y(x), состоящий из k строк и k столбцов.
Элементы данного оператора являются полиномами yij(x) над полем
GF(Q):
1 y11 (x) y12 (x)
3 y (x) y (x)
22
Y(x) 5 3 21
3 ...
...
3
36 yk1 (x) yk2 (x)
118
... y1k (x) 2
... y2k (x) 44
.
...
... 4
4
... ykk (x) 47
k
Пусть yi 1 x1, x2 , ..., xk 2 3 4 yij 1 x 2, т. е. оператор Y(x) описывает орто&
i 11
гональную систему полиномов. Тогда uY(x) = Y(x) задает перестанов&
ку вектора u. Существует единственная обратная перестановка, сле&
довательно, существует единственный соответствующий ей обрат&
ный оператор Y–1(x), описывающий соответствующую ортогональ&
ную систему полиномов. Для обратного оператора выполняется ус&
ловие uY(x) Y–1(x) = u.
Пусть Y(x) – нелинейный оператор. Тогда для его элементов имеет
место в общем случае неравенство yij (a 1 b) 2 yij (a) 1 yij (b) . Очевидно,
что Y–1(x) – также нелинейный оператор. В случае, если Y(x) – ли&
нейный оператор, обратный оператор Y–1(x) также будет линейным.
Обозначим I(xi) оператор, состоящий из k строк и k столбцов сле&
дующего вида:
1 xi 0
3
3 0 xi
I(xi ) 5 3
3... ...
30 0
6
02
4
... 0 4
4.
... ...4
... xi 47
...
Пусть задан оператор F(x) размерности k ´n. Пусть z – формаль&
ная переменная. Определим оператор fz(x), все элементы которого
имеют вид одночлена первой степени fijz (x) и элементы fijz 1 GF (Q) яв&
ляются коэффициентами полиномов fij(x) 1F(x) при степени z:
z
z
1 f11
x f12
x ... f1zn x 2
3 z
4
z
x ... f2zn x 4
3f21x f22
z
f (x) 5 3
4.
... ... ... 4
3 ...
3 f z x f z x ... f z x 4
6 k1
k1
kn 7
Свойство 7.
Любой оператор F(x) может быть представлен в виде суммы Q опе&
раторов следующего вида:
F(x) 1
Q 11
2 I(xz )f z (x).
z 20
Рассмотрим uF(x). Из свойства 3 следует, что
119
uF(x) 1
Q 11
2 u(I(xz )f z (x)).
z20
Заметим, что fz(x) является линейным оператором для любого z. Тог&
да из свойства 4 следует, что
uF(x) 1
Q 11
2 (uI(xz ))f z (x).
z 20
Операция символического умножения вектора v = uI(xz) на оператор
fz(x) может быть записана в матричном виде следующим образом:
z
1 f11
3 z
3f
vf z ( x ) 5 (v 1, v 2, ..., vk ) 3 21
3 ...
3f z
6 k1
1
1
z
f12
z
f22
...
fkz1
... f1zn 2
4
... f2zn 4
4 5 vf
... ... 4
zi 4
... fkn
7
Многочлен x z 1 I(xz) является перестановочным многочленом
поля GF(Q) характеристики p тогда и только тогда, ког&
да НОД (z, Q 1 1) 2 1 [1]. Очевидно, что для таких z оператор I(xz) так&
же задает некоторую перестановку векторов длины k над полем
GF(Q). Для такого z существует оператор I–1(xz) , удовлетворяющий
равенствам
1 2 1 2
1 21 2 1 2
I x z I 11 x z 3 I 11 x z I x z 3 I x1 .
В случае, если z = pm, где m – натуральное число, полином x z 1 I(xz)
является линеаризованным многочленом [1] и задает линейное отобра&
жение GF(Q) на себя. Следовательно, I(xz) – также линейный оператор.
Изложенное выше показывает, что, согласно свойству 7, симво&
лическое умножение вектора на оператор является суммой Q отобра&
жений. Часть из этих отображений – линейные, часть – нелинейные.
В случае, если оператор квадратный, часть отображений может иметь
обратные отображения. Если ограничить степень полиномов в опе&
раторах только первой степенью, то в результате получим стандарт&
ные операции с матрицами и векторами. Таким образом, предложен&
ный математический аппарат является обобщением стандартного
аппарата по работе с матрицами и дает возможность получать нели&
нейные отображения. Данный вывод позволяет использовать опера&
торы при решении криптографических задач, в которых требуется,
в частности, уйти от линейности отображений.
120
Использование операторов для построения
нелинейной кодовой системы открытых ключей
В дальнейшем будем пользоваться обозначениями, принятыми в
статье: Давыдов В. А. Кодовые системы открытых ключей. Модифи&
кация системы Крука: Наст. сб. С. 108–114.
Рассмотрим линейную модифицированную систему Крука [2]. От&
крытым ключом для модифицированной системы Крука является
сумма матриц PX + SeDe, сумма матриц YGX + SmDm, матрица Se и
матрица Sm, закрытым ключом – матрицы X–1, G, Y–1, P–1, Dm и De.
Процедура кодирования информационного вектора m для линей&
ной модифицированной системы Крука заключается в выборе слу&
чайного вектора ошибок e, вес которого не более t. На первых n пози&
циях криптограммы c располагается вектор
11 3 m 1 YGX + Sm Dm 2 4 e 1 PX + Se De 2,
на следующих r позициях криптограммы – вектор c2 = eSe и на по&
следних r позициях криптограммы – вектор c3 = mSm. Таким обра&
зом, получили криптограмму с длины n+2r.
Процедура декодирования модифицированной системы Крука со&
стоит в декодировании кодом G вектора
1 11 3 12De 3 13Dm 2 X11 4 2YG 5 eP.
Поскольку вес вектора e P не более t, а G исправляет t ошибок, то
можно исправить t ошибок в слове 1 c1 – c2 De – c3 Dm 2 X–1 . В резуль&
тате получаем mY и eP, из которых окончательно получаем mYY–1 =
= mePP–1 = e.
Описанная система является линейной. Для получения системы,
стойкой к различным способам линейных атак, необходимо, чтобы та&
кая система была нелинейной. Покажем, как, используя аппарат опе&
раторов, перейти к нелинейной модифицированной системе Крука.
Будем считать, что Y(x) – случайный нелинейный оператор, со&
стоящий из k строк и k столбцов, для которого существует обратный
операторY–1(x). Тогда Y–1(x) – также нелинейный оператор. Пусть
X(x) – случайный линейный оператор, состоящий из n строк и n столб&
цов, для которого существует обратный оператор X–1(x). Тогда об&
ратный оператор X–1(x) также является линейным.
Будем считать, что заданы случайный нелинейный оператор Se(x)
размерности n ´ r и случайный линейный оператор De(x) размерности
r ´ n. Из определения произведения операторов следует, что произве&
дение Se(x)De(x) дает нелинейный оператор, который состоит из n
строк и n столбцов.
121
Будем считать, что заданы случайный нелинейный оператор Sm(x)
размерности k ´r и случайный линейный оператор Dm(x) размерности
r ´n. Из определения произведения операторов следует, что произве&
дение Sm(x)Dm(x) дает нелинейный оператор, который состоит из k
строк и n столбцов.
Будем называть оператором G(x), соответствующим матрице G,
следующую матрицу:
1 g11 (x) g12 (x)
3 g (x) g (x)
22
G(x) 5 3 21
3 ...
...
3
63 gk1 (x) gk2 (x)
... g1n (x) 2
... g2n (x) 44
,
...
... 4
4
... gkn (x) 74
где gij(ql) = qlgij для всех l = 1, Q, ql Î GF(Q). Из определения gij(x)
следует, что G(x) – линейный оператор и G(u) = uG.
Пусть P(x) – оператор, соответствующий матрице перестановок
P. Из определения P следует, что P(x) – линейный оператор, для ко&
торого существует обратный оператор P–1(x).
Опишем нелинейную модифицированную систему Крука, опира&
ясь на аппарат операторов. Открытым ключом нелинейной модифи&
цированной системы Крука является сумма операторов P(x)X(x) +
+Se(x)De(x), произведение операторов Y(x)G(x)X(x) + Sm(x)Dm(x),
оператор Sm(x) и оператор Se(x), закрытым ключом – операторы
X–1(x), G(x), Y–1(x), P–1(x), Dm(x) и De(x).
Процедура кодирования информационного вектора m для нели&
нейной модифицированной системы Крука заключается в выборе слу&
чайного вектора ошибок e, вес которого не более t. На первых n пози&
циях криптограммы c располагается вектор
11 3 m 1 Y(x)G(x)X(x) 4 Sm (x)Dm (x) 2 4 e 1 P(x)X(x) 4 Se (x)De (x) 2;
на следующих r позициях криптограммы – вектор
c2 = eSe(x)
и на последних r позициях криптограммы – вектор
c3 = mSm(x).
Таким образом, получили криптограмму c длины n+2r.
Процедура декодирования состоит в декодировании кодом G вектора
1 11 3 12De (x) – c3 Dm 1 x 2 2 X–1 1 x 2 4 mY 1 x 2 G 1 x 2 5 eP 1 x 2.
122
Доказательство корректности процедуры декодирования в при&
ложении.
Таким образом, в результате применения аппарата операторов к ли&
нейной модифицированной системе Крука получена нелинейная систе&
ма открытых ключей. Примеры линейной и нелинейной модифициро&
ванных систем Крука, а также их сравнение приводятся в приложении.
Литература
1. Лидл Р., Нидеррайтер Г. Конечные поля: В 2 т. М.: Мир, 1998.
2. E. Krouk. A new public&key cryptosystem: Proceedings 6&th Joint
Swedish&Russian International Workshop on Information Theory. 1993.
P. 285–286.
3. МакВильямс Ф. Дж., Слоэн А. Н. Дж. Теория кодов, исправляющих
ошибки. М.: Связь, 1979.
4. McEliece R. J. A public&key cryptosystem based on algebraic coding
theory: DSN Progress Report. 1978. P. 42–44, 114–116.
Приложение
Доказательство свойства 2
k
k
1 k
2
(u 3 v)F(x) 4 5 9 fi1 (ui 3 vi ); 9 fi2 (ui 3 vi ); ...; 9 fin (ui 3 vi ) 6.
i 11
i 11
7 i 11
8
k
1 k
uF(x) 2 vF(x) 3 4 9 fi1 (ui ) 2 9 fi1 (vi );
i 11
5 i 11
k
k
i 11
i 11
(1)
9 fi2 (ui ) 2 9 fi2 (vi ); ...;
6
9 fin (ui ) 2 9 fin (vi ) 7.
i 11
i 11
8
k
Из
определения
(2)
k
линейного
оператора
F(x)
следует:
fij (a 1 b) 2 fij (a) 1 fij (b) для любого fij (x) 1 F(x) . Тогда выражения (1) и (2)
эквивалентны.
Ч. Т. Д.
Доказательство свойства 3
k
k
1 k
2
u(F(x) 3 L(x)) 4 5 9 fi1 (ui ) 3 li1 (ui ); 9 fi2 (ui ) 3 li2 (ui ); ...; 9 fin (ui ) 3 lin (ui ) 6. (3)
i 11
i 11
7 i 11
8
uF(x) 1 uL(x) 2
k
k
k
3 k
2 5 1 fi1 (ui ) 1 1 li1 (ui ); 1 fi2 (ui ) 1 1 li2 (ui ); ...;
i 11
i 11
i 11
7 i 11
k
k
4
i 11
i 11
8
1 fin (ui ) 1 1 lin (ui ) 6.
(4)
123
Из коммутативности операции сложения полиномов следует, что выраже&
ния (3) и (4) эквивалентны.
Ч. Т. Д.
Доказательство свойства 4
1 n
hj1 (f1j (x))
3
3 j 11
3 n
3
hj1 (f2j (x))
F(x)H(x) 5 3 j 11
3
...
3
3 n
3
hj1 (fkj (x))
3 j 11
6
1
1
1
n
1 hj2 (f1j (x))
n
2
1 hjd (f1j (x)) 4
...
j 11
j 11
4
4
hjd (f2j (x)) 4
4.
j 11
4
...
4
4
n
hjd (fkj (x)) 4
4
j 11
7
n
n
1 hj2 (f2j (x))
...
...
...
1 hj2 (fkj (x))
...
1
j 11
n
1
j 11
k n
k n
1 k n
2
u(F(x)H(x)) 3 4 88 hj1 (fij (ui )); 88 hj2 (fij (ui )); ...; 88 hjd (fij (vi )) 5 . (5)
4 i 11 j 11
5
i 11 j 11
i 11 j 11
6
7
С другой стороны:
k
k
1 k
2
uF(x) 3 4 8 fi1 (ui ); 8 fi2 (ui );...; 8 fin (ui ) 5;
i 11
i 11
6 i 11
7
k
n
k
n
k
1 n
2
(uF(x))H(x) 3 4 8 hj1 (8 fij (ui )); 8 hj2 (8 fij (ui )); ...; 8 hjd (8 fij (ui ) 5. (6)
4 j 11
5
i 11
j 11
i 11
j 11
i 11
6
7
Из определения линейного оператора H(x) следует: hij (a+b) = hij (a)+hij (b)
для любого hij (x) 1 H(x) . Тогда выражения (5) и (6) эквивалентны.
Ч. Т. Д.
Доказательство свойства 5
(F(x) 1 L(x))H(x) 2
3
5 1 hj1 (f1j (x) 1 l1j (x))
5 j 11
5n
51 h (f (x) 1 l2 j (x))
2 5 j 11 j1 2j
5
...
5
5n
5 1 hj1 (fkj (x) 1 lkj (x))
57 j 11
n
124
n
1 hj2 (f1j (x) 1 l1j (x))
n
...
4
1 hjd (f1j (x) 1 l1j (x)) 6
6
6
1 hj2 (f2j (x) 1 l2 j (x)) ... 1 hjd (f2j (x) 1 l2 j (x))66 . (7)
j 11
j 11
6
...
...
...
6
6
n
n
1 hj2 (fkj (x) 1 lkj (x)) ... 1 hjd (fkj (x) 1 lkj (x)) 66
j 11
j 11
8
j 11
n
j 11
n
F ( x ) H( x ) 1 L ( x ) H( x ) 2
3
51hj1(f1j (x)) 1 1hj1(l1j (x))
j 11
5 j11
5n
n
51hj1(f2j (x)) 1 1hj1(l2j (x))
2 5j11
j 11
5
...
5
5n
n
51hj1(fkj (x)) 1 1hj1(lkj (x))
57j11
j 11
n
n
n
n
1hj2(f1j (x)) 1 1hj2(l1j (x))
n
.
4
n
1hjd(f1j (x)) 1 1hjd(l1j (x))6
6
6
1hj2(f2j (x)) 1 1hj2(l2j (x)) . 1hjd(f2j (x)) 1 1hjd(l2j (x))66. (8)
j 11
j 11
j 11
j 11
6
...
...
6
6
n
n
n
n
1hj2(fkj (x)) 1 1hj2(lkj (x)) . 1hjd(fkj (x)) 1 1hjd(lkj (x))66
j11
j11
j 11
j 11
8
j 11
j11
n
n
j 11
j11
n
n
Из определения линейного оператора H(x) следует: hij (a+b) = hij (a)+hij (b)
для любого hij (x) 1 H(x ) . Тогда выражения (7) и (8) эквивалентны.
Ч. Т. Д.
Доказательство свойства 6
P(x)((F(x ) 1 L(x)) 2
3 k
5 1fj1( p1j (x)) 1 lj1( p1j (x))
5 j11
5k
5 1f ( p (x)) 1 lj1( p2j (x))
2 5 j 11 j1 2j
5
...
5
5k
51fj1( pmj (x)) 1 lj1( pmj (x))
57 j11
k
1fj2( p1j (x)) 1 lj2( p1j (x))
4
k
1fjn( p1j (x)) 1 ljn( p1j (x)) 6
6
6
1fj2( p2j (x)) 1 lj2( p2j (x)) . 1fjn( p2j (x)) 1 ljn( p2j (x)) 66
j 11
j 11
(9)
6
...
...
6
6
k
k
1fj2( pmj (x)) 1 lj2( pmj (x)) 1fjn( pmj (x)) 1 ljn( pmj (x))66
j 11
j 11
8
j 11
j 11
k
k
P ( x ) F ( x ) 1 P ( x ) L( x ) 2
k
k
k
3k
5 1fj1( p1j (x)) 1 1lj1( p1j (x)) 1fj2( p1j (x)) 1 1lj2( p1j (x))
j11
j11
j11
5 j11
5k
k
k
k
5 1fj1( p2j (x)) 1 1lj1( p2j (x)) 1fj2( p2j (x)) 1 1lj2( p2j (x)) .
2 5 j11
j11
j11
j11
5
...
...
5
5k
k
k
k
51fj1( pmj (x)) 1 1lj1( pmj (x)) 1fj2( pmj (x)) 1 1lj2( pmj (x))
57j11
j11
j11
j11
k
k
4
1fjn( p1j(x)) 1 1ljn( p1j (x)) 6
6
6
f
(
p
(
x
))
l
(
p
(
x
))
1
1 jn 2j 1 jn 2j 66. (10)
j11
j11
6
...
6
6
k
k
1fjn( pmj(x)) 1 1ljn( pmj (x))66
j11
j11
8
j11
j11
k
k
Из коммутативности операции сложения полиномов следует, что выраже&
ния (9) и (10) эквивалентны.
Ч. Т. Д.
125
Доказательство корректности декодирования
нелинейной модифицированной системы Крука
Из свойства 3 следует, что
1 1 P (x)X( x) 1 Se (x)D e (x) 2 2 1 1 P (x)X(x)) 1 e(Se (x)D e (x) 2;
1 1 Y (x)G(x)X(x) 1 Sm (x)Dm (x) 2 2 m 1 Y(x)G(x)X(x)) 1 m(Sm (x)Dm (x) 2.
Из свойства 4 и линейности операторов De (x) и Dm(x) следует, что
1 1D e (x) 1 1 2Se (x) 2 D e (x) 1 e 1Se (x)D e (x) 2 ;
1 1D m (x) 1 1 2 Sm (x ) 2 D m (x ) 1 2 1Sm (x )D m ( x) 2 .
Таким образом:
1 11 3 12De (x) – 13Dm (x) 2 4 2 1 Y(x)G(x)X(x)) 5 m(Sm (x)Dm (x) 2 5
5 3 1 P(x)X(x) 2 5 e(Se (x)De (x)) – e(Se (x)De (x)) – 2 1Sm (x)Dm (x) 2 4
4 2 1 Y(x)G(x)X(x) 2 5 3 1 P(x)X(x) 2.
Из свойства 2 и линейности оператора X(x) следует, что
m(Y(x)G(x)X(x) + e(P(x)X(x)) = (m(Y(x)G(x))+eP(x))X(x).
Умножим справа полученное выражение на X–1(x). Из свойства 4 и ли&
нейности оператора X–1(x) следует, что
1 1 1 Y(x)G(x) 2 3 2P(x) 2 X(x)X11 (x) 4 11 1 Y(x)G(x)2 3 2P(x) 2;
1 X(x)X11 (x) 2 1 1 1 Y(x)G(x) 2 2 2P(x).
Из свойства 4 и линейности оператора G(x) следует, что
1 1 Y ( x )G ( x ) 2 1 1 1 Y ( x )G ( x ) 2 .
Поскольку вес вектора eP(x) не более t, а G задает код, исправляющий t
ошибок, то можно исправить t ошибок в слове 1 11 1 1 2D e (x) – 1 3D m (x) 2 . В ре&
зультате получаем mY(x) и eP(x), из которых окончательно получаем:
1 1Y(x) 2 Y 11 (x) 3 12
1 1P(x) 2 P11 (x) 3 12
Ч. Т. Д.
Пример параметров линейной и
нелинейной модифицированной системы Крука
Пусть задано GF(25). Выберем t = 8. Тогда 32&ичный расширенный код
Рида–Соломона имеет параметры n = 32, k = 16. Каждый 32&ичный символ
можно рассматривать как двоичный вектор длины 5. Тогда предложенный
код Рида–Соломона эквивалентен каскадному коду, который исправляет
до восьми пакетов длины 5 каждый, расположение которых фиксировано
[3]. Эквивалентный двоичный каскадный код имеет параметры n = 32´5 =
126
160, k = 16 ´ 5 = 80. Будем считать, что 32&ичная матрица Se состоит из 4
столбцов и 32 строк, а 32&ичная матрица Sm – из 4 столбцов и 16 строк.
Вычислим размер открытого ключа для описанной системы. Откры&
тым ключом является 32&ичная матрица PX + SeDe размером 32´32, 32&
ичная матрица YGX + SmDm размером 16´32, 32&ичная матрица Se разме&
ром 32´4 и 32&ичная матрица Sm размером 16´4.
Таким образом, длина открытого ключа оценивается неравенством
25 (2525 1 2425 1 2522 1 2422 ) 2 216.
Длина криптограммы N 1 5 2 32 3 5 2 4 3 5 2 4 1 200. Будем считать, что в
качестве вектора ошибок всегда накладывается вектор, состоящий из вось&
ми пакетов длины 5. Отметим, что пакеты ошибок могут размещаться
только в строго определенных 32 местах на длине 160&битового кодового
слова. Значения этих пакетов будем считать информационными символа&
ми. Таким образом, число дополнительных двоичных информационных
символов равно 40. Окончательно, число информационных символов кон&
струкции k 1 5 216 3 40 1 120, т. е. скорость равна 120/200=3/5.
Число комбинаций из восьми ошибок, которые исправляет предложен&
ный расширенный код Рида–Соломона, оценивается выражением
8
C32
328 1 216 1 40 2 256.
Таким образом, лобовой перебор по числу ошибок дает сложность по&
рядка 256. Полученная система имеет параметры по скорости и сложности
вскрытия, аналогичные системе Мак&Элиса [4] при длине N = 1024, но
ключ в 23 раз короче.
Рассмотрим теперь пример нелинейной модифицированной системы,
построенной на базе описанной линейной системы. В качестве элементов
открытого ключа нелинейной модифицированной системы выступают опе&
раторы P(x))X(x) +Se(x))De(x), Y(x)G(x)X(x)+Sm(x))Dm(x), Sm(x) и Se(x). Раз&
меры соответствующих матриц и операторов совпадают, но элементы опе&
ратора являются полиномами степени не более 32 над полем GF(25). Та&
ким образом, размер открытого ключа нелинейной системы в 32 раза боль&
ше размера открытого ключа линейной системы и оценивается неравен&
ством 2525 (2525 1 2425 1 2522 1 2422 ) 2 221.
Остальные параметры нелинейной конструкции совпадают с пара&
метрами линейной. Длина криптограммы N 1 5 2 32 3 5 2 8 1 200, число ин&
формационных символов конструкции k 1 5 2 16 3 40 1 120, скорость равна
120/200 = 3/5. Лобовой перебор по числу ошибок дает сложность порядка 256.
Полученная система имеет параметры по скорости и сложности лобо&
вого вскрытия, аналогичные системе Мак&Элиса при длине N = 1024. От&
крытый ключ предложенной системы в 22 раз больше размера ключа сис&
темы Мак&Элиса. Данное увеличение является платой за нелинейность,
выражающейся в устойчивости системы к известным линейным атакам.
127
Е. М. Линский,
аспирант
СанктПетербургский государственный университет
аэрокосмического приборостроения
КРИПТОСИСТЕМА НА LDPCКОДАХ
ДЛЯ ЗАЩИТЫ ИНФОРМАЦИИ НА ФИЗИЧЕСКОМ УРОВНЕ
Введение
Методы защиты информации могут быть реализованы на разных
уровнях сетевой модели OSI. Цель статьи – предложить криптосис&
тему для защиты информации на самом нижнем уровне OSI&модели –
физическом (PHY). Такое решение имеет следующие достоинства:
– не требуется осуществлять процедуру входа в сеть перед нача&
лом аутентификации (например, не требуются предварительные дей&
ствия по получению IP&адреса или установке TCP&соединения);
– объединение криптографических процедур с базовой функцио&
нальностью уровня позволяет получить выигрыш в вычислительной
сложности системы связи.
Однако ценой эффективности становится потеря гибкости систе&
мы, т. е. возможности менять одни компоненты системы без внесе&
ния изменений в другие.
В модели OSI физический уровень выполняет две основные функ&
ции: модуляцию – преобразование передаваемого сигнала в вид, при&
годный для эффективной передачи по используемому каналу, и ко&
дирование – преобразование информации с целью защиты ее от воз&
можных ошибок путем внесения избыточности.
Соответственно, совмещать криптографические операции с не&
посредственными функциями физического уровня можно внутри
двух блоков: кодер –декодер и модулятор–демодулятор. Методы
защиты внутри каждого из блоков не противоречат друг другу и
могут использоваться совместно. Защита в блоке модуляции ос&
нована на технике расширения спектра (Spread Spectrum) [1],
а защита на уровне кодера–декодера использует методы кодовой
криптографии [2].
Криптосистема на LDPCкодах
Обычно операции шифрования и помехоустойчивого кодирования
выполняются последовательно и представляют собой независимые
блоки. Вначале сообщение шифруется, например с помощью крип&
тосистемы RSA, а затем на физическом уровне шифротекст кодиру&
128
ется помехоустойчивым кодом для защиты от ошибок при передаче в
канале. Последовательность операций выглядит следующим обра&
зом: c1 1 Encrypt(m), а затем c2 1 Encode(c1 ).
Использование кодовой криптосистемы в качестве метода шифрования
позволит объединить эти операции в одну c 1 Encrypt _ and _ Encode(m)
и повысить вычислительную эффективность системы.
Предлагаемое решение является модификацией криптосистемы
McEliece [3]. Опишем ее.
1. Секретный ключ: невырожденная матрица S, перестановочная
матрица P, а также исправляющий t ошибок код Гоппы C с порожда&
ющей матрицей G. Код Гоппы задается порождающим многочленом
g(x) и множеством локаторов L.
2. Публичный ключ: матрица G¢ = SGP и t – количество ошибок,
исправляемых кодом C.
3. Шифрование: c = mG¢+ e, где e – случайный вектор ошибки веса t.
4. Дешифрование:
11
11
11
11
а) декодируем вектор cP 1 mG'P 2 eP 1 (mS)G 2 eP в коде C
с помощью g(x) и L, в результате получаем вектор mS;
11
б) восстанавливаем вектор m 1 (mS)S .
Не зная секретного ключа, атакующий должен либо декодировать
вектор c в случайном линейном коде с порождающей матрицей G¢,
либо пытаться разложить матрицу G¢ на матрицы S, G, P. Обе эти
задачи являются вычислительно сложными.
Для использования системы McEilece в качестве алгоритма для
совместного кодирования и шифрования мы предлагаем внести в нее
две модификации:
1) использовать канал в качестве генератора скрывающего векто&
ра ошибки e;
2) использовать в ней LDPC&коды.
Рассмотрим эти модификации подробнее.
В криптосистеме McEliece сообщение кодируется помехоустойчи&
вым кодом, а затем на сообщение накладывается сгенерированный
скрывающий вектор ошибки. Канал, по которому идет передача, так&
же накладывает на передаваемое сообщение ошибки. Если объеди&
нить процедуры кодирования и шифрования, т. е. использовать для
кодирования и шифрования один и тот же код, то канал можно рас&
сматривать как генератор скрывающего вектора ошибки. Тогда мо&
дифицированная процедура шифрования может быть представлена
как y = m G¢+ ecrypt + echannel, где ecrypt – вектор ошибки, накладывае&
мый для шифрования пользователем; echannel – вектор ошибки, на&
кладываемый каналом (шум).
129
Такое объединение позволяет уменьшить общую избыточность
передаваемой информации по сравнению с последовательным исполь&
зованием кодовой криптосистемы и кодирования от ошибок. Кроме
того, использование одних и тех же методов как для защиты от оши&
бок, вносимых каналом, так и для шифрования позволяет умень&
шить вычислительную сложность системы по сравнению, например,
с использованием для шифрования алгоритма RSA.
Если раньше в криптосистеме McEliece код выбирали исходя из
криптографических требований, то при объединении операций коди&
рования и шифрования при выборе кода должны учитываться также
и требования передачи данных. С этой точки зрения одним из наибо&
лее перспективных классов кодов являются LDPC&коды [4]. Они об&
ладают как хорошими корректирующими свойствами, так и эффек&
тивным алгоритмом декодирования.
Особенностью этих кодов является то, что их проверочная матри&
ца является низкоплотностной, т. е. общее количество единиц в ней
должно быть мало по сравнению с ее размерами. Такая структура
проверочной матрицы позволяет использовать вычислительно&эф&
фективные алгоритмы декодирования. С точки зрения кодовых крип&
тосистем данный класс кодов отличается от кодов Гоппы (которые
обычно используются в системе McEliece). Если для эффективного
декодирования кодов Гоппы требуется знание порождающего много&
члена g(x) и множества локаторов L, а проверочная матрица в про&
цессе декодирования не используется, то процесс декодирования
LDPC основан на знании низкоплотностной проверочной матрицы.
Секретным ключом в случае использования LDPC&кодов являет&
ся низкоплотностная проверочная матрица H, а публичным – соот&
ветствующая порождающая матрица G¢. Матрица H¢ = ort(G¢) (ort –
операция нахождения ортогональной матрицы), которая может быть
найдена по публичному ключу, уже не является низкоплотностной и
поэтому не может быть использована для построения эффективного
декодера. Предполагается, что задача восстановления низкоплотно&
стной структуры проверочной матрицы аналогична задаче поиска
вектора минимального веса в линейном коде [5] и является вычисли&
тельно сложной.
Предположим, что при создании стандарта на физический уро&
вень был выбран некоторый LPDC&код с хорошими параметрами, за&
данный низкоплотностной проверочной матрицей H. Матрица H яв&
ляется публичной информацией. Тогда криптосистема McEliece мо&
жет быть модифицирована следующим образом.
130
1. Секретный ключ пользователя i: H¢ = HPi, где H – публичная
матрица, указанная в стандарте; Pi – перестановочная матрица. За&
метим, что матрица H¢ является низкоплотностной.
2. Публичный ключ: G¢ – порождающая матрица, полученная из
матрицы H¢. Вес вектора ошибки t.
3. Шифрование: y = mG¢ + ecrypt, где wt(ecrypt ) 1 t .
4. Дешифрование: декодирование y¢ = y+echannel = mG¢ + ecrypt + echannel
с использованием низкоплотностной матрицы H¢.
Анализ
С точки зрения криптоанализа необходимо рассмотреть две ос&
новные атаки:
– прямую атаку декодированием: декодирование по публичной
матрице G¢, например декодирование по информационным совокуп&
ностям в непрерывном канале;
– атаку на ключ: попытка уменьшить количество единиц в матри&
це H¢, для того чтобы применить эффективный алгоритм декодирова&
ния LDPC&кодов.
График (см. рисунок), показывает эффективность быстрого декоде&
ра LDPC&кодов при разном среднем весе строк проверочной матрицы H.
Для декодирования LDPC&кода (1024, 516) с помощью мультипорого&
вого декодера [6] были использованы матрицы со следующим средним
весом строк: 1 – 16 (оригинальная матрица), 2 – 75, 3 – 175 и 4 – 288.
3
2
89
1
3
2
1
898
89888
1
2
3
4
5
6
7
Зависимость вероятности ошибки декодирования от отно
шения сигнал/шум
131
Из графика видно, что декодирование LDPC&кода быстрым алго&
ритмом с помощью «тяжелых»матриц неэффективно. Это является
дополнительным аргументом в пользу того, что атака на ключ вы&
числительно сложная.
Заключение
Предложен метод объединения процедур кодирования и шифро&
вания для защиты информации на физическом уровне. Предлагае&
мая система является более эффективной с точки зрения вычисли&
тельной сложности по сравнению с традиционными системами, в ко&
торых шифрование и кодирование выполняются независимо, с ис&
пользованием разных алгоритмических методов. Дальнейшие иссле&
дования по данной тематике предполагают моделирование атак на
систему путем декодирования по информационным совокупностям в
непрерывном канале и разработку алгоритма облегчения веса матри&
цы.
Литература
1. De Nayerlaan J. Spread Spectrum: An Introduction, Sirius Communi&
cations. 2003.
2. Крук Е. А., Линский Е. М. Криптография с открытым ключом (Кодо&
вые системы): Учеб. пособие/ СПбГУАП. СПб., 2004. 50 с.
3. McEliece R. J. A public-key cryptosystem based on algebraic coding
theory // DSN Progress Report. 1978.
4. Ryan W. E. An Introduction to LDPC Codes // CRC Handbook for Coding
and Signal Processing for Recording Systems. CRC Press, 2004.
5. Canteaut A., Sendrier N. Cryptanalysis of the Original McEliece
Cryptosystem // Proc. of ASIACRYPT’98. 1998. P. 187–199.
6. Белоголовый А. В., Крук Е. А. Многопороговое декодирование кодов
с низкой плотностью проверок на четность // Информационно&управляю&
щие системы. 2005. № 1(14). С. 25–32.
132
И. Л. Ерош,
доктор техн. наук, профессор
М. Б. Сергеев,
доктор техн. наук, профессор
СанктПетербургский государственный университет
аэрокосмического приборостроения
СКОРОСТНОЕ ШИФРОВАНИЕ РАЗНОРОДНЫХ СООБЩЕНИЙ
Введение
В настоящее время известно большое число систем, называемых
криптографическими [1], которые позволяют защищать передавае&
мую информацию от несанкционированного доступа. При оценке по&
требительских свойств криптографических систем можно использо&
вать такие факторы, как требуемые вычислительные ресурсы для вы&
полнения шифрования и дешифрования информации, необходимость
разработки и использования специализированных аппаратных
средств, стоимость и др. Однако для современных распределенных
систем мониторинга [2, 3] характерно требование скоростного шиф&
рования совершенно разнородной информации, такой как отдельные
команды, передаваемые на модули системы, текстовые сообщения,
черно&белые и цветные фотографии, фотопланы, кино& и фотодоку&
менты и т. п. Необходимая скорость шифрования и дешифрования
в таких системах по предварительным оценкам может достигать
6 Мбит/c и более.
Учитывая высокую скорость и разнородность информации, а так&
же тот факт, что современные распределенные системы мониторинга
строятся на основе модулей встраиваемого класса, требуется тща&
тельный подход к выбору метода шифрования.
В настоящей работе на примере обмена информацией между Али&
сой и Бобом рассматриваются методы, широко применяемые в крип&
тографии, а также методы, основанные на логических преобразо&
ваниях двоичных последовательностей путем умножения двоич&
ных матриц на столбцы фрагментов шифруемых сообщений в поле
GF(2) [3, 4].
Анализ известных подходов
Одноразовый блокнот. Одноразовый блокнот (шифр Вернама) [1]
строится следующим образом: Алиса к двоичной последовательнос&
ти сообщения, например S = 1011101001011101, прибавляет по мо&
133
дулю 2 случайный ключ K = 1001011100110111, в результате полу&
чает SÅK = 0010110101101010.
Полученная последовательность передается Бобу.
Боб выполняет посимвольное сложение полученного сообщения
по модулю 2 с ключом K, восстанавливая исходное сообщение:
SÅK = 0010110101101010
K
= 1001011100110111
———————————————
S
= 1011101001011101
В соответствии с теоремой К. Шеннона [5] одноразовый блокнот
может быть системой с идеальной секретностью при трех непремен&
ных условиях:
а) длина ключа должна быть равна длине сообщения;
б) ключ должен быть абсолютно случайным;
в) после каждой передачи ключ должен уничтожаться.
Выполнить приведенные условия очень трудно. Так, если для пе&
редачи ключа имеется секретный канал, то по этому каналу в ряде
случаев целесообразно передавать не ключ, а само сообщение. Обес&
печить истинную случайность ключа чрезвычайно сложно. Извест&
но, что генераторы случайных последовательностей на регистрах с
обратными связями не обеспечивают истинной случайности после&
довательности. Для ее обеспечения необходимо, чтобы число единиц
в последовательности было равно числу нулей, число пар единиц равно
числу пар нулей и т. д. Кроме того, вероятности пар, троек и т. д.
должны убывать по определенному закону. Однако, если даже обес&
печить эти условия, ключ не будет истинно случайным, так как он
реализуется детерминированными методами и при повторении вос&
производит ту же «случайную» последовательность. Последователь&
ности с хорошими случайными свойствами могут строиться на осно&
ве генераторов шума с последующей обработкой [1]. Однако, если
даже удается реализовать последовательность, близкую к случай&
ной, то остается задача снабжения этой последовательностью пере&
дающей и принимающей сторон. Третье условие К. Шеннона требует
уничтожать ключ после каждой передачи. Значит, постоянно нужно
проводить эту очень сложную операцию снабжения передающей и
принимающей сторон одним и тем же ключом.
Скорость шифрования и расшифрования сообщений в этом случае
равна одной операции на бит информации. Криптостойкость очень
высокая, и при достаточной длине сообщения и ключа система не
может быть вскрыта.
134
В работе [5] вводится понятие совершенной секретности, кото&
рую может обеспечить система. В этом случае апостериорные вероят&
ности всех сообщений равны априорным и незаконный перехватчик
информации в сети, перехватив шифрованное сообщение, не получа&
ет никакой дополнительной информации.
Однако для управления в распределенных системах с передачей
разнородной информации, о которых говорилось выше, использова&
ние одноразового блокнота непригодно по следующим причинам:
– периодическое снабжение длинными одноразовыми ключами пе&
редающей и принимающей сторон приводит к существенным времен&
ным задержкам и усложнению аппаратуры;
– при большом числе одновременно управляемых объектов в сис&
теме потребуется генерировать и передавать на каждый из них раз&
личные ключевые последовательности;
– сверхвысокая криптостойкость для перечисленных задач не яв&
ляется необходимой, так как время актуальности передаваемой ин&
формации исчисляется часами, в крайнем случае, днями.
Поточные шифры. Поточные шифры используют генераторы
псевдослучайных последовательностей на основе сложения выходов
нескольких (обычно трех) генераторов на регистрах с обратными свя&
зями. Достижение псевдослучайных свойств обеспечивается с помо&
щью нелинейных функций [1]. Блэйзер и Хайнцманн первыми отме&
тили, что, если комбинирующая функция пропускает на выход ин&
формацию о своих функциях&компонентах, то работа по вскрытию
такой шифросистемы может быть существенно сокращена. В работе
Томаса Зигенталера (1984 г.) было введено понятие корреляционно&
иммунной функции, обеспечивающей наилучшую нелинейность при
комбинировании выходов генераторов.
Обычно поточные шифры требуют аппаратной реализации совер&
шенно одинаковых генераторов как на передающей, так и на прини&
мающей стороне. Общая схема шифрования близка к схеме однора&
зового блокнота. Скорость шифрования и расшифрования высокая
и составляет одну операцию на бит. Однако программная реализа&
ция метода обычно затруднена необходимостью перестройки генера&
торов на новую последовательность. Поэтому псевдослучайная по&
следовательность должна использоваться длительное время, что
снижает криптостойкость системы. В общем случае криптостойкость
поточных шифров определяется параметрами генераторов квазислу&
чайной последовательности. Несмотря на эти недостатки, быстро&
действие поточных шифров обеспечивает большой интерес к ним у
различных пользователей [1]. Однако в рассматриваемых примене&
ниях поточные шифры представляются малоэффективными, посколь&
135
ку в них достаточно трудно осуществить синхронизацию нескольких
пар генераторов квазислучайных последовательностей.
Шифры типа DES. Широкое распространение получили методы
защиты информации на основе криптосистемы DES (Data Encryption
Standard) и ее модификаций (3DES, DEA и т. д.), шифрование и рас&
шифрование в которых выполняется с помощью последовательнос&
ти стандартных преобразований ключа и шифруемой (расшифровы&
ваемой) последовательности.
DES представляет собой блочную шифрацию, оперирующую с бло&
ками по 64 бит. Длина ключа составляет 56 бит, и 8 бит добавляются
для контроля четности байтов (обнаружение ошибок нечетной кратно&
сти). Блок открытого текста (64 бит) перед обработкой подвергается
перестановке, после шифрования – обратной перестановке. Эта проце&
дура не является обязательной и не изменяет криптостойкости алго&
ритма [1], а при программной реализации часто опускается. Далее блок
разбивается на левую L и правую R половины длиной по 32 бита каж&
дая. Затем выполняется 16 раундов преобразования, называемых фун&
кцией f, в которых данные перемешиваются с ключом. На каждом ра&
унде биты ключа сдвигаются, затем из 56 битов ключа с помощью мас&
ки выбираются 48 бит. Правая половина данных (32 бита) увеличива&
ется до 48 битов путем перестановки с расширением, складывается по
модулю 2 с 48 битами смещенного и переставленного ключа, проходит
преобразование с 8 блоками, называемыми S&блоками, образуя 32 но&
вых бита, и переставляется снова. Результат преобразования f склады&
вается с левой половиной с помощью операции сложения по модулю 2.
В результате этих действий появляется новая правая половина, а ста&
рая правая половина становится новой левой.
Все преобразования DES являются открытыми, они многократно
публиковались и исследовались. Недостатками являются низкая
скорость и необходимость постоянной смены ключа как на передаю&
щей, так и на принимающей стороне. Криптостойкость зависит от
размера ключа. При ключе в 56 бит число вариантов подбора ключа
> 6,4 · 1016. На самом деле число вариантов подбора существенно
меньше, так как из всех ключей длиной 56 бит следует исключить
заведомо непригодные ключи, содержащие очень мало или очень мно&
го 1 или 0. Так, например, вряд ли может быть использован ключ,
содержащий 0, 1, 2 или 3 единицы.
Поскольку криптосистема DES хорошо и давно известна, пред&
принимались многочисленные попытки вскрыть эту систему. Пред&
положительно существуют алгоритмы вскрытия DES [1], которые
позволяют расшифровать незнакомый текст на современном компь&
ютере за 3–15 мин.
136
Для распределенных систем с большим числом управляемых або&
нентов применение шифров типа DES нам представляется нецелесо&
образным.
Шифры типа RSA. Криптосистема типа RSA при размерах моду&
лей порядка сотен десятичных разрядов обеспечивает высокую крип&
тостойкость, которая может быть еще увеличена за счет выбора боль&
ших основных простых модулей P и Q. Идея криптосистемы RSA
достаточно проста.
Принимающая сторона выбирает два больших простых числа P и
Q, находит произведение PQ = N и открыто публикует N. Только тот,
кто знает разложение N на простые сомножители P и Q, может найти
функцию Эйлера j(N) = (P – 1)(Q – 1). Далее принимающая сторона
выбирает открытый ключ E и публикует его вместе с N. Е должен
удовлетворять условиям: (E, j(N)) = 1 и 1< E < j(N). Затем вычисля&
ется секретный ключ D из решения сравнения: DE º 1 modj(N). На&
хождение D возможно с использованием расширенного алгоритма
Эвклида. Поскольку E и j(N) взаимно просты, это сравнение всегда
имеет решение.
При отправке сообщения получателю исходный фрагмент текста
m шифруется возведением в открытую степень E по модулю N, т. е.
mE º S1 mod N. Расшифрование производится возведением S1 в сек&
ретную степень D по модулю N:
(mE)D mod N º m ED mod N.
(1)
Из теории чисел известно [6], что если выполняется сравнение
a º b mod N, то можно подобрать такое целое число t, чтобы выполня&
лось соответствующее равенство: a = b + Nt. Так как секретный ключ
D вычислялся из сравнения DE º 1 mod j(N), то
ED = 1 + j(N) t.
Если подставить значение ED в сравнение (1), то получим: mED
mod N º m(1+ j(N) t) mod N º m mod N, так как m j(N)t mod N º 1 mod N на
основании теоремы Эйлера [6], т. е. получатель восстановит исход&
ное передаваемое сообщение.
Например, пусть P = 23, Q = 31. Произведение простых сомножи&
телей равно N = 713. Функция Эйлера равна j(N) = 22 · 30 = 660.
Каноническая форма числа 660 имеет вид: 660 = 22 · 3 · 5 · 11. Таким
образом, открытый ключ может быть взят равным E = 17 (он будет
взаимно прост со всеми простыми сомножителями числа 660, что
удовлетворяет условиям выбора открытого ключа). Секретный ключ
может быть найден из решения сравнения: 17 · D º 1 mod 660.
137
С помощью перебора найдем значение D = 233, действительно,
17·233 = 3961 º 1 mod 660.
Пусть требуется передать сообщение, которое в десятичной форме
равно 39 (двоичное представление имеет вид 100111).
Зашифруем это число возведением в степень 17 по модулю 713:
3917 º ((394)2)2·39 º ((469)2)2·39 º (357)2·39 º 535·39 º 188 mod 713.
Таким образом, число 39 в шифрованном виде равно 188. Оно и
передается принимающей стороне. При данном преобразовании ис&
пользовалось свойство сравнений, состоящее в том, что любой
арифметический фрагмент сравнения можно заменить на остаток
по модулю.
Расшифрование выполняется возведением числа 188 в степень 233
по модулю 713. Выполняется это не очень сложно, но достаточно
громоздко. Для этого представим число 233 в двоичной системе счис&
ления 11101001 и запишем сравнение:
188233 º (((((((188)2)2)2)2)2)2)2· ((((((188)2)2)2)2)2)2·(((((188)2)2)2)2)2 ·
(((188)2)2)2·188 º mod 713 º ((((((407)2)2)2)2)2)2 ·(((((407)2)2)2)2)2 ·
((((407)2)2)2)2 · ((407)2)2·188 º (((((233)2)2)2)2)2 · ((((233)2)2)2)2 ·
(((233)2)2)2 · (233)2· 188 º ((((101)2)2)2)2· (((101)2)2)2 · ((101)2)2 ·
101·188 º (((219)2)2)2· ((219)2)2 ·(219)2 · 450 º ((190)2)2 ·(190)2 ·
190·450º (450)2 · 450· 653 º 8·94 º 39 mod 713.
Криптостойкость системы RSA основывается на том, что, зная N,
очень трудно найти разложение этого числа на два простых сомно&
жителя P и Q. Конечно, при небольших значениях простых чисел P и
Q разложение N выполняется элементарно. Однако, если P и Q содер&
жат по 100 десятичных знаков, то перебор будет превышать величи&
ну 10100. Поскольку в настоящее время неизвестно никаких общих
полиномиальных алгоритмов разложения чисел на простые сомно&
жители, а переборный алгоритм является экспоненциальным, раз&
ложение таких больших чисел на простые сомножители оказывает&
ся невозможным ни на каких существующих ЭВМ.
К недостаткам криптосистемы типа RSA можно отнести очень
высокую сложность шифрования и расшифрования, что значитель&
но снижает скорость передачи сообщений. Смена модулей также пред&
ставляет собой достаточно сложную задачу как при нахождении пар
простых чисел, так и при их хранении.
Реализация алгоритмов типа RSA в программном варианте очень
неэффективна, так как требует выполнения большого числа арифме&
тических многотактных операций. Аппаратная реализация требует
138
использования специализированных процессоров, но даже в этом
случае временные затраты на шифрование и расшифрование сообще&
ний очень велики. Для задач мониторинга с использованием распре&
деленных сетевых систем применение RSA в общем случае также яв&
ляется неэффективным.
Двухступенчатая передача сообщений
с использованием модульной арифметики
Сообщение может быть передано непосредственно от Алисы к Бобу
за несколько передач при использовании очень больших модулей.
Рассмотрим сначала случай, когда по открытому каналу Алиса и
Боб договариваются использовать для шифрования своих сообще&
ний некоторое очень большое простое число P. Пусть, например, P
имеет 200 десятичных знаков. Тогда Алиса может зашифровать со&
общение возведением в некоторую степень x, известную только ей, и
передать Бобу. Боб может возвести полученное сообщение в степень
y, известную только ему, и возвратить Алисе. Алиса «снимет» свою
степень x и передаст сообщение Бобу. Боб «снимет» свою степень y и
прочитает сообщение.
Общая схема выглядит следующим образом.
Алиса берет сообщение m, которое хочет передать Бобу, возводит
в некоторую степень x, (x, P–1) = 1:
mx º S1 mod P
и передает S1 Бобу.
Боб возводит S1 в некоторую степень y, (y, P) = 1: S1y º mxy º S2 mod P
и возвращает S2 Алисе.
Алиса должна снять свой ключ x, для этого она должна извлечь
корень степени x из S2. Это можно сделать следующим образом.
1 1 ( P 2 1)t1
, где t1 – некоторое це&
x
лое, такое, что числитель дроби k1 делится на x нацело, то в резуль&
тате будет получено значение my º S3 mod P.
Если возвести S2 в степень k1 =
Это значение (S3) Алиса передает Бобу.
Для того чтобы снять свой ключ, Боб может возвести S3 в степень
k2 =
1 1 ( P 2 1)t2
и в результате восстановит исходное сообщение m.
x
139
Пример. Пусть P = 103; P–1 = 102 = 2·51. Алиса хочет передать
сообщение m = 83.
Алиса возводит число 83 в известную только ей степень, напри&
мер, x = 35 (число x взаимно просто с 102) по модулю 103:
8335 º (((((83)2)2)2)2)2·(83)2·83 º ((((91)2)2)2)2·91·83 º (((41)2)2)2· 34 º
((33)2)2· 34 º (59)2·34 º 7 mod 103
и результат (число 7) передает Бобу. Боб полученное число возводит
в известную только ему степень, например y = 67 (это число также
взаимно просто с 102):
(7)67 º ((((((7)2)2)2)2)2)2·(7)2·7 º ((((32)2)2)2)2 ·34 º (((97)2)2)2 · 34 º
((36)2)2 · 34 º (60)2 · 34 º 36 mod 103
и результат (36) возвращает Алисе.
Алиса «снимает» свою степень x, решая сравнение:
1 1 102 2 12
º 35 mod 103 и возводя число 36 в степень 35:
35
k1 º
(36)35 º (((((36)2)2)2)2)2 · (36)2·36 º ((((60)2)2)2)2 · 60·36 º
(((98)2)2)2 · 100 º ((25)2)2 · 100 º (7)2 · 100 º 59 mod 103.
Результат (число 59) передает Бобу. Боб «снимает» свою степень
y, решая сравнение:
K2 º
1 1 102 2 44
º 67 mod 103 и возводя число 59 в степень 67:
67
(59)67 º ((((((59)2)2)2)2)2)2·(59)2·59 º (((((82)2)2)2)2)2 · 82·59 º
((((29)2)2)2)2 · 100 º (((17)2)2)2 · 100 º ((83)2)2 · 100 º (91)2 · 100 º
41·100 º 83 mod 103.
Формирование общего ключа по открытому каналу
Для формирования общего ключа по открытому каналу можно
воспользоваться идеей Диффи и Хэллмана [1].
Пусть Алиса и Боб договорились использовать некоторое очень
большое простое число Р в качестве модуля. Кроме того, Алиса и Боб
для этого числа Р выбрали первообразный корень g, т. е. такое число,
что для него самое малое число a, удовлетворяющее сравнению ga º 1
mod Р, равно a = P–1. Более точное определение понятия «первооб&
разный корень по некоторому модулю» можно найти в работе [7].
Алиса берет первообразный корень g, возводит его в степень, извест&
ную только ей, находит остаток по модулю Р: gk1 º S1 mod P и открыто
140
передает остаток S1 Бобу. Боб возводит первообразный корень g в изве&
стную только ему степень k2, получает остаток S2 по модулю Р и переда&
ет S2 Алисе. Далее Алиса возводит S2 в степень k2, а Боб возводит S1 в
степень k2 по модулю Р, и оба получают один и тот же ключ K = gk1k2 mod P.
Далее Алиса и Боб могут воспользоваться этим общим ключом,
например, при использовании симметричной системы DES. При не&
обходимости произвести смену ключа операция обмена повторяется,
при этом k1 и k2 выбираются новыми. Недостатком такого метода
распределения ключей является существенная временная задержка
на формирование общего ключа, необходимость иметь спецвычисли&
тель для нахождения остатков по большому модулю и необходимость
синхронизации при передаче разнородной информации от А к В.
Пример. Пусть P = 103. Первообразным корнем для данного P бу&
дет g = 2. Чтобы это проверить, представим P–1 в канонической фор&
ме: 102 = 2·51. Так как ни 22, ни 251 несравнимы с 1 по модулю 103, то
102 является самой минимальной степенью, которая обеспечивает
сравнение 2102 º 1 mod 103 (теорема Ферма).
Пусть Алиса выбрала k1 = 7, а Боб выбрал k2 = 11. Тогда они обме&
няются следующими данными:
27 º 25 mod 103
211 º 91 mod 103
И оба выработают один и тот же ключ:
B: 2511 º 38 mod 103.
А: 917 º 38 mod 103;
Незаконный перехватчик, зная P и g и перехватив S1 и S2, не суме&
ет вычислить значение общего ключа gk1k2 mod P. Эта уверенность
исходит из следующих соображений.
Пусть имеется уравнение ax = b, из которого требуется найти x.
Прологарифмируем левую и правую части уравнения. Получим
log a
, т. е. решение находится просто.
log b
Если же имеется сравнение
x loga = log b, откуда x =
ax º b mod P,
(2)
в котором известны значения a, b и P, то x находится в общем случае
с помощью перебора. Задача решения сравнений вида (2) называется
задачей дискретного логарифмирования. Несмотря на безусловные ус&
пехи последних лет в этой области, для произвольных модулей P реше&
141
ние близко к полному перебору. Если же P имеет порядка 100 десятич&
ных разрядов, то и значения k1 и k2 имеют примерно тот же порядок, и
для решения сравнения требуется производить перебор порядка 10100,
что является нереализуемым ни за какое приемлемое время.
Рассмотренный метод очень эффектный, но для задач, решаемых
в настоящей статье, к сожалению, непригоден из&за необходимости
многоразового обмена информацией для выработки ключа и сложно&
сти алгоритмов шифрования и расшифрования (арифметические опе&
рации возведения в степень, деления и вычисления наименьших по&
ложительных остатков).
Таким образом, ни один из рассмотренных выше методов не мо&
жет быть эффективно использован при построении системы обмена
информацией при большом числе управляемых модулей распределен&
ной сетевой системы мониторинга.
Шифрование на основе матриц
с определителем, равным 1 в поле GF(2)
В работе [3] был предложен метод шифрования и расшифрования
сообщений с помощью умножения на матрицы с определителем, рав&
ным 1 в поле Галуа GF(2). Привлекательность такого подхода вытекает
из того, что как при шифровании, так и при расшифровании использу&
ются только однотактные булевы операции (сложение по модулю 2).
Как программная, так и аппаратная реализации выполняются доста&
точно быстро. Матрицы с определителем, равным 1 в поле GF(2), по&
рождают циклические подгруппы, которые получаются возведением в
степени исходных матриц. Таким образом, в работе [3] предлагается
использовать для шифрования сообщений математический аппарат
матричной алгебры, который хорошо разработан, совместно с аппара&
том теории групп, т. е. имеется возможность проводить анализ и синтез
систем шифрования с целью их оптимизации.
Шифрование с использованием матриц над полем GF(2) хорошо со&
вмещается и в программной и в аппаратной реализации с кодированием
информации с применением корректирующих кодов, что позволяет за&
щищать информацию как от ошибок при передаче по каналам связи,
так и одновременно от несанкционированного доступа к ней. Рассмот&
рим примеры шифрования и расшифрования сообщений с использова&
нием матричного умножения в поле GF(2). Пусть имеется матрица с
элементами из поля GF(2) и определителем, равным 1, причем опреде&
литель вычисляется также по модулю 2. Это означает, что все матри&
цы с нечетными определителями будут в поле иметь определитель,
равный 1, а все матрицы с четными определителями будут в поле иметь
142
определитель, равный 0. Кроме того, шифруемый фрагмент сообщения
T также будет представлен в виде двоичной последовательности. Ре&
зультат шифрования будем получать умножением матрицы слева на
столбец фрагмента сообщения. Например, если задана матрица M раз&
мера (7, 7) и шифруемый фрагмент Т длины 7 бит (десятичное представ&
ление буквы «s» в ASCII&кодах), то результат шифрования может быть
получен следующим образом:
1 1110100 2 1 1 2 1 1 2
3
4 3 4 3 4
3 1001001 4 3 1 4 3 0 4
3 1010100 4 3 1 4 3 0 4
3
4 3 4 3 4
M 5 3 0001011 4 6 3 0 4 5 3 0 4,
3 1010010 4 3 0 4 3 1 4
3
4 3 4 3 4
3 0000111 4 3 1 4 3 0 4
3 0010100 4 3 1 4 3 1 4
7
8 7 8 7 8
или короче: M · s = @, так как двоичный код 1000101 является ASCII&
кодом символа «@».
Для расшифрования сообщения нужно найти матрицу M–1, об&
ратную матрице M, т. е. такую, что M–1·M = I, где I – единичная мат&
рица вида
1 1000000 2
1 0010001 2
3
4
3
4
3 0100000 4
3 1010000 4
3 0010000 4
3 0101100 4
3
4
4
11 3
I 5 3 0001000 4. Тогда, так как M 5 3 0100111 4, легко проверяется,
3 0000100 4
3 0101101 4
3
4
3
4
3 0000010 4
3 0111001 4
3 0000001 4
3 0010110 4
6
7
6
7
1 0010001 2 1 1 2 1 1 2
3
4 3 4 3 4
3 1010000 4 3 0 4 3 1 4
3 0101100 4 3 0 4 3 1 4
3
4 3 4 3 4
что 3 0100111 4 5 3 0 4 6 3 0 4 или M–1· @ = s.
3 0101101 4 3 1 4 3 0 4
3
4 3 4 3 4
3 0111001 4 3 0 4 3 1 4
3 0010110 4 3 1 4 3 1 4
7
8 7 8 7 8
143
В рассмотренном примере мы шифровали двоичную строку сооб&
щения, причем размер матрицы n был равен длине двоичной последо&
вательности. Рассмотрим теперь случай, когда управляющая команда
значительно длиннее n = 7, например, такая: 10111100101101. Ра&
зобьем команду на блоки по два разряда в каждом, при этом получим
7 блоков. Шифрование и расшифрование выполним аналогично, ис&
пользуя для каждого шага одно умножение:
1 1110100 2 1 10 2 1 00 2
3
4 3 4 3 4
3 1001001 4 3 11 4 3 11 4
3 1010100 4 3 11 4 3 11 4
3
4 3 4 3 4
3 0001011 4 5 3 00 4 6 3 10 4;
шифрование: 3 1010010 4 3 10 4 3 10 4
3
4 3 4 3 4
3 0000111 4 3 11 4 3 00 4
3 0010100 4 3 01 4 3 01 4
7
8 7 8 7 8
1 0010001 2 1 00 2 1 10 2
3
4 3 4 3 4
3 1010000 4 3 11 4 3 11 4
3 0101100 4 3 11 4 3 11 4
3
4 3 4 3 4
3 0100111 4 5 3 10 4 6 3 00 4.
расшифрование: 3 0101101 4 3 10 4 3 10 4
3
4 3 4 3 4
3 0111001 4 3 00 4 3 11 4
3 0010110 4 3 01 4 3 01 4
7
8 7 8 7 8
В общем случае, если шифруемая последовательность имеет дли&
ну N, а матрица имеет размер n, то вся последовательность разбива&
ется на n блоков длины N¢/n, где N¢ – дополненная нулями или про&
белами последовательность так, чтобы она нацело делилась на n.
При шифровании текстовых сообщений можно и целесообразно шиф&
ровать сообщения с фрагментами, кратными длине нескольких букв, а
еще лучше, если фрагмент будет содержать нецелые фрагменты букв.
Пусть, например, требуется зашифровать сообщение: «We go to
home». С учетом пробелов это сообщение может быть представлено в
кодах ASCII в десятичном виде таким образом: 87 101 32 103 111 32
116 111 32 104 111 109 101 46. Поскольку число символов в сообще&
нии равно 14, разобьем сообщение на 7 фрагментов по 2 символа в
каждом, зашифруем кодом ASCII и умножим матрицу M на столбец
144
из двоичных представлений символов. В результате получим: 125 68
24 51 87 59 79 74 46 106 36 98 38 5.
Если полученную последовательность слева умножить на матри&
цу M–1, мы восстановим исходное сообщение: «We go to home».
Можно все сообщение разбить на 2 блока, каждый по 7 букв, и
шифрование выполнять дважды: сначала зашифровать первый блок,
затем – второй. Расшифрование следует производить также по бло&
кам. Однако вполне вероятно, что лучшие результаты будут получе&
ны, если разбить все 14&буквенное сообщение на блоки по 2 буквы и
шифровать один раз. Шифрование будет выполнено быстрее, и ре&
зультат будет труднее вскрыть. Еще лучший результат будет, если
3
фрагменты будут состоять из части букв, например 2 буквы.
7
С помощью этой же матрицы можно шифровать изображения. Для
этого все изображение можно разбить на 7 фрагментов и в соответ&
ствии с единицами матрицы M складывать фрагменты по модулю 2.
В полученном изображении полностью будут потеряны контуры, по&
этому перехватчику будет невозможно определить, что же за изобра&
жение передавалось.
Таким образом, рассмотренный метод с использованием умноже&
ния шифруемого сообщения слева на матрицу M в поле GF(2) позво&
ляет шифровать с высокой скоростью разнородные сообщения: ко&
манды, тексты, изображения без смены матрицы шифрования.
Поскольку при шифровании используются только булевы опера&
ции сложения по модулю 2, которые являются однотактными, шиф&
рование и расшифрование выполняется очень быстро. Особенно это
заметно при сравнении с методами, требующими использования ариф&
метических операций для шифрования и расшифрования сообщений
(RSA, системы, использующие модульную арифметику), в том числе
и при аппаратной реализации в схемах программируемой логики [8].
Свойства матриц в поле GF(2). Рассмотрим некоторые полез&
ные свойства матриц с элементами из поля GF(2). Мощность множе&
2
ства (число) матриц размера (n, n) с элементами {0, 1} равна 2n . Это
достаточно очевидно, так как число элементов каждой такой матри&
цы равно n2. Однако среди этих матриц имеются матрицы с четными
определителями. В поле GF(2) эти матрицы имеют определители,
равные 0. Исключим из множества матриц размера (n, n) все вырож&
денные матрицы (имеющие определитель, равный 0). Оставшееся
множество матриц образует некоммутативную группу по умножению.
Действительно, множество таких матриц замкнуло относительно
умножения, выполняются аксиома ассоциативности, аксиома о ней&
тральном элементе (им является единичная матрица I) и аксиома об
145
обратном элементе, т. е. для любой матрицы M можно найти матри&
цу того же размера, такую, что M·M–1 = I. Не выполняется только в
общем случае аксиома коммутативности. Причем число матриц раз&
мера (n, n) конечно.
Число матриц размера (n, n) с определителем 1 в поле GF(2).
Для нахождения числа матриц размера (n, n) с определителем, рав&
ным 1, воспользуемся следующей процедурой. Если имеется матри&
ца размера (n–1, n–1) с определителем, равным 1, то, приписав к
ней, например снизу, строку, содержащую n–1 нуль и одну единицу,
над которой стоит произвольный столбец, мы получим матрицу раз&
мера (n, n), у которой определитель также будет равен единице. Под&
считаем, сколько разных матриц размера (n, n) может быть получено
из каждой матрицы размера (n–1, n–1).
Поскольку столбец над единственной единицей может быть про&
извольным, количество матриц следует увеличить в 2n–1 раз. Кроме
того, в полученной матрице можно выполнить всевозможные линей&
ные комбинации строк и результат поставить на место последней стро&
ки, а также к матрице размера (n–1, n–1) приписать столбец, содер&
жащий n–1 нуль и одну единицу, и тоже выполнить всевозможные
линейные комбинации, поставив результат на место этого столбца.
Тогда, если число матриц размера (n–1, n–1) с определителем, рав&
ным 1, равно P(n–1), то число матриц с определителем, равным 1,
размера (n, n) равно
P(n) = (2n –1)·2n–1·P(n–1).
Легко определяется, что число матриц с определителем, равным
1, размера (1, 1) равно 1, число матриц с определителем, равным 1,
размера (2, 2) равно 6. Приведем эти матрицы:
1 10 2
3 4,
5 01 6
1 11 2
3 4,
5 01 6
1 01 2
3 4,
5 10 6
1 10 2
3 4,
5 11 6
1 11 2
3 4,
5 10 6
1 01 2
3 4.
5 11 6
Следовательно, количество матриц с определителем, равным 1,
размера (3, 3) будет равно: (23–1)·23–1·6 = 7·4·6 = 168.
Рассуждая аналогично, получаем, что число матриц размера
(n, n) с определителем 1 находится по формуле
P(n) = (2n –1)(2n–1 –1)…3·2n(n–1)/2.
(3)
Однако пользоваться такой оценкой очень неудобно, поэтому най&
дем нижнюю оценку числа матриц в виде степени числа 2.
Нижнюю оценку числа матриц размера (n, n) с определителем, рав&
ным 1, можно получить следующим образом.
146
Рассмотрим произведение P = (2n –1)(2n–1 –1)…(22–1).
Перемножим в общем виде члены этого произведения и оставим
только первые 3 старших члена. Если обозначить через R = n+(n–
– 1)+(n–2)+…+3+2 = (n2+n–2)/2, то первые три старших члена будут
иметь вид: 2R–2R–2–2R–3… Последующие члены будут иметь знаки как
«+», так и «–», но их степени будут убывать. Тогда P будет находить&
ся в пределах
2R > (2n –1)(2n–1 –1)…(22–1) > 2R–1.
За нижнюю оценку можно принять 2R–1. Тогда нижняя оценка
числа матриц размера (n, n) с определителем, равным 1, будет
N 1 2п 12.
В табл. 1 приведены значения общего числа матриц в поле Галуа
GF(2), точная и нижняя оценки числа матриц с определителем 1 раз&
мера (n, n).
Для размера матриц (20, 20) нижняя оценка дает 2398. Используя
очевидную оценку 210 > 103, получаем, что число матриц размера (20,
20) с определителем, равным 1, превышает величину 2,5·10119. Это чис&
ло настолько велико, что, не зная матрицы M, а зная, например, только
размер этой матрицы, перехватчик не сможет перебрать все матрицы
данного размера для того, чтобы попытаться вскрыть сообщение.
Возьмем теперь некоторую матрицу размера (n, n) с определите&
лем, равным 1 в поле GF(2), и будем возводить ее последовательно в
Таблица 1
2
Порядок,
матрица n
Общее число
матри2ц
N 1 2n
Точная оценка
Нижняя
граница
1
2
1
2
24
6
22
3
29
7·3·23
27
4
216
15·7·3·2
214
5
225
31·15·7·3·210
223
6
236
63·31·15·7·3·215
234
7
249
127·63·31·15·7·3·221
247
8
264
255·127·63·31·15·7·3·228
262
9
281
511·255·127·63·31·15·7·3·236
279
10
2100
1023·511·255·127·63·31·15·7·3·245
298
147
степени 2, 3, 4, … В результате найдется такое число s, что Ms = I. Это
следует из теоремы 1, приведенной в работе [7].
Пусть G – произвольная группа конечного порядка. Тогда сово&
купность степеней любого ее элемента g Î G : {g, g2, g3, …, gs = e, где
e – нейтральный элемент группы G} образует всегда коммутативную
группу, называемую циклической группой, при этом s – порядок цик&
лической группы, а g–1 = gs–1.
Таким образом, взяв любую матрицу M с определителем, равным
1, можно последовательно возводить ее в степени 2, 3, 4, и всегда
найдется такая степень s, что Ms = I. При этом s – порядок цикличес&
кой группы, порождаемой матрицей M, а M–1 = Ms–1.
Следует обратить внимание на то, что s всегда будет делителем
[см. формулу (3)], так как порядок любой подгруппы является дели&
телем порядка группы [7].
Допустимые операции над матрицами. Рассмотрим множество
матриц размера (n, n) с элементами из поля GF(p). Все операции бу&
дем выполнять в конечном поле GF(p). Такими операциями будут:
умножение матриц с вычислением элементов в поле GF(p), деление
матриц, умножение матриц на вектор, нахождение определителя
матриц, линейная комбинация строк матрицы. Строки (столбцы)
таких матриц можно рассматривать как векторы, причем сложение
двух векторов определяется как сложение соответствующих компо&
нент этих векторов в поле, а умножение векторов на скаляр – как
умножение каждой компоненты на скаляр из поля GF(p). В данной
работе нас будут интересовать в основном квадратные матрицы M
размера (n, n).
Операция умножения матриц в поле выполняется обычным обра&
зом. Операция деления матрицы M1 на матрицу M2 выполняется пу&
тем умножения матрицы M1 на матрицу, обратную M2, т. е.
М1
1 M1 2 M211.
М2
Поскольку множество матриц образует группу, то операция деления
является допустимой.
Для таких матриц можно сформулировать и доказать следующие
основные свойства.
1. Произведение двух матриц М1 и М2 размера (n, n) с определите&
лем, равным 1 в поле GF(2), дает матрицу с определителем, равным 1
в поле GF(2).
2. Перестановка любых строк (и столбцов) матрицы не меняет ее
определителя в поле GF(2). Порядок циклической группы, порожда&
емой этой матрицей, меняется, в чем легко убедиться на примере.
148
3. Замена любой строки на линейную комбинацию (сложение по
модулю 2) этой строки с любыми строками матрицы не меняет опре&
делителя матрицы, однако меняет порядок циклической группы,
порождаемой этой матрицей.
Рандомизирующие свойства операции умножения в поле GF(2).
Следует отметить одно важное свойство метода шифрования с ис&
пользованием матриц в поле GF(2). Пусть имеется некоторая после&
довательность из 1 и 0 и пусть вероятность появления 1 в этой после&
довательности равна p, а нуля – соответственно 1–p. Выберем произ&
вольную пару символов этой последовательности и сложим их по мо&
дулю 2. Вероятность появления 1 в результирующей последовательно&
сти будет равна P(1) = 2p(1–p), а нуля – соответственно 1–2p(1–p).
Возьмем теперь три произвольных бита последовательности и сло&
жим их по модулю 2. Тогда вероятность появления 1 в результирую&
щей последовательности будет равна 3p(1–p)2+p3. Рассуждая анало&
гично, построим таблицу вероятности появления 1 в последователь&
ности, полученной сложением по модулю 2 некоторых битов исход&
ной (вероятность P(1) = p) последовательности (причем вероятность
Таблица 2
n
P(1)
P(1)
при p = 0,9
Модуль
разности
P(1)– 0,5
1
p
0,9
0,4
2
2p(p–1)
0,18
0,32
3
3p(1–p)2+p3
0.,756
0,256
4
4p(1–p)3+4p3(1–p)
0,2952
0,2048
5
5p(1–p)4+10p3(1–p)2+p5
0,66384
0,16384
6
6p(1–p)5+20p3(1–p)3+6p5(1–p)
0,368928
0,131072
7
7p(1–p)6+35p3(1–p)4+21p5(1–p)2+p7
0,60485193
0,10485193
8
8p(1–p)7+56p3(1–p)5+56p5(1–p)3+8p7(1–p)
0,41611392
0,08388608
9
9p(1–p)8+84p3(1–p)6+126p5(1–p)4+36p7(1–p)2+p9
n
0,567108864 0,067108864
s
P(1) =
1 Cn2k11 p2k+1(1–p)n–(2k+1), где s =
k 20
2n 113
=4
5 , [x] – округление до целого
6 2 7
в меньшую сторону
149
появления 0 всегда будет равна P(0) = 1–P(1), поэтому ее в таблице
приводить не будем).
Для вывода формулы, приведенной в табл. 2, использовалось
свойство функции n аргументов сложения по mod 2. Функция рав&
на 1 на тех наборах в ее таблице истинности, на которых число
аргументов, принимающих значение 1, нечетно, и 0 – на всех ос&
тальных наборах.
Правый столбец табл. 2 показывает, что даже при большой асим&
метрии последовательности (p = 0,9) после девятикратного сложе&
ния битов по модулю 2 результирующая последовательность стано&
вится практически квазислучайной (P(1) и P(0) » 0,5).
При выполнении операции умножения матрицы на столбец в поле
GF(2) шифруемые фрагменты складываются по модулю 2, при этом,
чем больше размер матрицы, тем больше операций сложения выпол&
няется, так как число единиц в каждой строке матрицы примерно
равно половине числа элементов строки и растет с ростом n. Таким
образом, рассматриваемый метод шифрования сообщений рандоми&
зирует результат, поэтому зашифрованное сообщение должно вы&
глядеть как случайное.
Потенциальные свойства метода шифрования с использова
нием матриц в поле GF(2). При использовании матриц для шифро&
вания, которые порождают циклические группы очень больших по&
рядков, возможно решать некоторые задачи, аналогичные тем, ко&
торые решаются с помощью модульной арифметики.
Возможно передавать секретное сообщение и формировать общий
ключ с использованием матриц над полем GF(2) аналогично идее
Диффи и Хэллмана [1].
Для того чтобы это показать, сделаем три очевидных предположе&
ния.
1. Возвести любую матрицу в произвольную (даже очень большую)
степень легко. Это можно сделать по алгоритму, аналогичному вычис&
лению остатков по модулю при возведении чисел в большие степени.
2. Нахождение для любой матрицы M обратной к ней матрицы M–1
также задача относительно простая (решается система из n2 линей&
ных уравнений). Этот алгоритм имеет сложность O(n2).
3. Нахождение порядка группы, порождаемой степенями матри&
цы, – переборная задача. Адресатам, как правило, порядок группы
находить не требуется, достаточно знать его нижнюю оценку. Одна&
ко знание нижней оценки перехватчиком не освобождает его от пол&
ного перебора.
В этом случае можно открыто опубликовать матрицу шифрова&
ния M с большим порядком. Секретное сообщение T (текст, ключ,
150
ключевая матрица и т. п.) Алисой шифруется MаT. Боб дополнитель&
но шифрует сообщение матрицей Mb и возвращает Алисе. Алиса сни&
мает свой ключ, умножая на матрицу, обратную Mа, Боб снимает свой
ключ и читает сообщение. Следует заметить, что шифрование вы&
полняется проще и быстрее, чем нахождение остатка по модулю. Если
матрица имеет порядок, превышающий 1040, то перехватчику при&
дется перебирать все варианты, что представляется вычислительно
сложной задачей.
Поскольку возведение матрицы в заданную степень и нахождение
обратной матрицы считаются задачами, вычислительно разрешимы&
ми с помощью полиномиальных алгоритмов, а перебор всех степеней
матриц является задачей, разрешимой с помощью экспоненциаль&
ных алгоритмов, то перехватчик при больших размерах матриц не
сможет расшифровать сообщение. Конечно, для этого нужно брать
матрицы существенно больших размеров, например (150, 150), тог&
да порядок циклической группы будет ограничен числом 2150 >1045.
Однако алгоритм, обоснованный выше, позволяет строить матрицы
и такого, и большего размера.
Общий ключ можно сформировать и таким образом. Алиса возво&
дит матрицу M в свою секретную степень k1 и передает Бобу Mk1. Боб
возводит ту же матрицу M в степень k2 и передает Алисе Mk2. Алиса
возводит полученную от Боба матрицу в степень k1, а Боб возводит
матрицу, полученную от Алисы, в степень k2. Оба получают общий
ключ Mk1k2. Если порядок матрицы M равен s и выполняются усло&
вия: 1) (s, k1) = 1; 2) (s, k2) = 1, то порядок матрицы M k1k2 также равен
s. Если же s > 1030, то k1 и k2 можно взять того же порядка, тогда
перехватчику будет проблематично найти значение M k1k2.
Алиса и Боб могут обменяться несколькими сообщениями с ис&
пользованием ключевой матрицы M k1k2, а затем выработать новую
общую матрицу.
Можно сформировать таким образом несколько матриц&ключей
разных размеров M1(n1), M2(n2) … и шифровать сообщение T последо&
вательностью этих матриц, разбивая каждый раз сообщение на бло&
ки различных размеров, например, шифровать: M1· M2·T, а расшиф&
ровывать сообщение, используя обратные матрицы в обратном по&
рядке: М211 · М111 · M1· M2·T = T.
При передаче сообщений по каналам связи с помехами можно ис&
пользовать следующую схему: шифрование сообщения – кодирова&
ние – передача по каналу связи – декодирование – расшифрование
сообщения. Все операции оказываются однотипными и могут исполь&
зовать одно и то же оборудование.
151
Дополнительное усиление защиты за счет двойного и тройно
го шифрования. Для усиления защиты всего сообщения или отдель&
ных его фрагментов можно использовать шифрование двумя или даже
тремя разными матрицами. Возьмем две матрицы M1 и M2 соответ&
ственно размерами (18, 18) и (20, 20). Выберем произвольный текст:
The problem of misleading of illegal message interceptor while
transferring messages is being solved in the article. Different variants
of intensified defence of some most important fragments of messages
with usage of both Boolean and matrix transformations in the GF(2)
Galois field of transferred text are considered.
Произведем последовательное шифрование этого текста сначала
матрицей M1, затем матрицей M2:
2 11001010111100110010 3
4
5
2 111010001011011110 3
4 11110110100111010011 5
4
5
4 10001100101111010100 5
4 101001101110100111 5
4
5
4 111111000001001011 5
4 11011011111001001100 5
4
5
4 10100001010010011010 5
4 100101100100001111 5
4
5
4 100000101011100100 5
00001010100000101100 5
4
4
5
4 11101010010010011101 5
4 110010001101110000 5
4
5
4 011000100011001100 5
4
5
10100110001000100100
4
5
4
5
4 010100001001101101 5
10110011011010001111
4
5
4
5
4
5
101111100100100100
10000101100111101
111
5,
M1 1 4
4 000000100110000010 5 M2 1 4 10001011110110111110 5.
4
5
4
5
4
01001101001001011
1
11101000000110010001 5
4
5
4
5
4 001111100100100100 5
00011011010110000100 5
4
4
5
4 01010110101101001111 5
4 011111111111100010 5
4
5
4 000000001001001101 5
4
5
00001111110010010100
4
5
4
5
4 101011001101110110 5
4 00110111001110001111 5
4
5
4 01010101101101100011 5
4 001001101010000000 5
4
5
4 000111000101001000 5
10111110010010111011 5
4
44
55
4 10110111110000101100 5
64 010010011001010111 75
4
5
44 10010110010101111100 55
6
7
152
После шифрования первой матрицей M1 он будет выглядеть так:
74 80 97 91 24 108 98 85 27 14 116 79 96 114 23 121 71 39 40
43 10 104 38 0 40 5 100 64 100 8 109 104 108 39 9 44 101 96 90
62 125 20 115 93 42 16 103 10 45 38 104 45 31 60 100 103 76
106 59 93 46 91 42 24 114 69 118 48 113 119 5 40 34 124 79 108
109 86 63 74 50 19 62 91 115 36 120 117 79 44 102 111 4 119 47
82 48 16 60 77 41 85 108 48 57 33 69 106 55 8 15 72 40 113 123
88 81 38 32 48 72 37 16 52 54 99 50 45 78 108 96 67 106 69 33
68 115 1 104 97 36 114 82 104 59 125 28 49 49 20 107 7 55 69 37
68 46 100 118 34 64 47 41 42 73 61 104 26 111 11 125 71 44 14
119 113 96 114 23 49 32 101 80 35 38 6 53 77 125 15 45 9 121
112 47 113 0 119 100 38 30 100 51 26 38 27 43 31 48 88 52 108
121 100 76 49 119 42 24 101 32 88 42 1 56 77 23 94 85 47 125 41
89 25 51 58 78 38 34 66 102 12 37 6 47 5 44 102 56 101 28 61 55
125 119 82 56 56 12 37 51 71 72 71 119 2 4 110 106 69 15 103 59
98 62 47 85 56 51 95 22 19 93 119 38 120 0 16 103 124 30 53 116
29 125 64 63 87 123 77 46 55 54 60 20 47 44 96 16 98 102 86 43
64 97 94 60 4 36 33 102 121 68 43
После второго шифрования матрицей M2 – так:
8 18 82 29 6 22 93 97 62 65 121 30 114 52 104 89 116 34 73
34 56 42 65 77 27 36 123 73 96 96 20 122 96 46 69 15 6 37 109
12 82 18 1 10 45 34 114 31 47 96 29 56 100 42 78 73 5 30 103 69
70 106 33 29 95 1 19 43 68 93 49 1 7 30 111 112 44 51 109 62 1
104 18 86 15 75 3 9 69 78 37 24 114 116 127 16 118 108 18 92
123 42 102 108 38 71 83 115 18 88 20 33 104 103 94 90 68 106
72 24 101 119 26 5 44 25 40 73 110 126 21 71 89 19 71 106 95 18
97 80 47 89 109 105 120 121 44 61 101 23 122 105 62 125 89 47
63 124 4 80 1 100 64 123 82 43 18 68 95 46 119 36 3 63 77 110
40 56 13 105 58 75 86 96 94 54 80 54 69 12 49 20 117 105 85 101
73 44 7 111 34 110 77 23 77 44 108 79 54 55 73 46 111 98 3 7 71
119 97 68 82 111 8 126 116 33 27 56 65 52 24 98 9 19 3 42 1 56
46 5 60 84 117 53 17 76 105 57 104 20 125 29 52 110 96 83 83 37
32 73 98 106 10 1 34 74 44 116 38 52 18 103 123 103 28 53 94 27
40 78 85 26 122 52 87 84 19 7 100 102 84 50 43 19 54 67 22 94
90 24 120 102 4 17 119 113 25 24 122 16 90 57 127 85 116 79 64
124 108 98 63 80 70 20
Умножив слева дважды зашифрованный текст на матрицу М211 , а
затем на матрицу М111, мы восстановим первоначальный текст:
153
М111
2 000000001001000000 3
4
5
4 010110011000010010 5
4 010000000011101100 5
4
5
4 000100001111010001 5
4 000101101011011011 5
4
5
4 101101010100010010 5
4 110001000100101011 5
4
5
4 010001000000000101 5
4
5
001000101101010010 5
4
, М211
1
4 010011101101100111 5
4
5
4 000100111110000011 5
4 100001000101000010 5
4
5
4 010010000111010011 5
4 111010111000101101 5
4
5
4 011110011000111111 5
4
5
4 001100011100101011 5
4 100110010011001111 5
44
55
64 111011101100010100 75
2 00011110000001111011 3
4
5
4 11000101010101001100 5
4 11011110011011101111 5
4
5
4 10110110010001000100 5
4 01100110010110101100 5
4
5
4 00110011110110111010 5
4 01100010101010100100 5
4
5
4 00101000001000110111 5
4
5
4 01001010011111010011 5
4 00001111100011110011 5
14
5.
4 00101010000010011100 5
4 00100010110100100010 5
4
5
4 00001010101110010010 5
4 01110011110110000101 5
4
5
4 00000111011010101110 5
4
5
4 11101101001110101111 5
4 11110000100111001101 5
4
5
4 10111101011110111000 5
4 11111000110110100000 5
4
5
44 10100110001001101011 55
6
7
Заключение
Рассмотренный метод обладает рядом преимуществ по сравнению
с широко распространенными. В частности, в нем используются ло&
гические, а не арифметические процедуры обработки, что существен&
но увеличивает скорость шифрования и расшифрования. Модифика&
ции метода позволяют гибко менять объем шифруемой информации,
от отдельных команд и текстовых сообщений до цветных фото&
изображений и видеопотоков, с одновременным обеспечением воз&
можности за счет снижения скорости шифрования увеличивать
криптостойкость и наоборот.
Кроме того, программная и аппаратная реализации метода совме&
стимы с корректирующими кодами, что позволяет защищать инфор&
мацию одновременно и от помех при передаче по каналам связи, и от
несанкционированного доступа.
154
Литература
1. Bruce Shchneier Applied cryptography. Protocols, Algorithms and
Source Code in. John Wiley & Sons, Inc. New York – Chichester – Brisbane –
Toronto – Singapore.
2. Информационно&управляющие системы на основе Интернет/
М. Б. Сергеев, А. М. Астапкович, А. А. Востриков и др.// Информационно&
управляющие системы. 2002. № 1. С. 12–18.
3. Ерош И. Л. Передача со скрытым смыслом // Информационно&уп&
равляющие системы. 2003. № 5. С. 61–69.
4. Ерош И. Л., Скуратов В. В. Адресная передача сообщений с использо&
ванием матриц над полем GF(2) // Проблемы информационной безопасно&
сти. 2004. № 1. С. 72–78.
5. Shannon C. E. Communication theory of secrecy systems// Bell System
Technical Journal. 1949. Vol. 28. P. 656–715.
6. Adams W. W., Goldstein L. J. Introduction to Number Theory, Englewood
Cliffs, N. Y.: Prentice&Hall, 1976.
7. Ерош И. Л. Элементы теории дискретных групп: Учеб. пособие/
СПбГУАП. СПб., 1998.
8. Перспективы использования технологии «Встроенный Интернет» в
системах превентивной безопасности и телеконференций через канал Ин&
тернет, спутниковую связь или GSM&канал/ М. Б. Сергеев, В. В. Симаков,
П. Л. Чернецов и др. // Междунар. форум «Интеграция науки и образова&
ния в XXI веке»: Материалы форума/ СПбГУАП. СПб., 2003.
С. 103–109.
9. Бубликов А. Б., Ерош И. Л., Сергеев М. Б. Особенности использова&
ния булевых функций для организации криптографических преобразова&
ний потоковой информации // Информационно&управляющие системы.
2003. № 6. С. 54–57.
155
А. Д. Фомин,
начальник сектора безопасных технологий Института
компьютерной безопасности вычислительных систем и сетей
СанктПетербургского государственного университета
аэрокосмического приборостроения
DPS: ЭФФЕКТИВНАЯ СХЕМА УПРАВЛЕНИЯ КЛЮЧАМИ
В БОЛЬШИХ СЕНСОРНЫХ СЕТЯХ
Введение
Текущее состояние электроники и компьютерных технологий при&
вело к широкому распространению беспроводных сенсорных сетей.
Сенсорные сети обычно состоят из большого числа маленьких сенсо&
ров, каждый из которых обладает низкопроизводительным процес&
сором и небольшим количеством памяти. Подобные сети рассматри&
ваются, например, в проектах SmartDust [1] и WINS [2].
Поскольку сенсорные сети развертываются во враждебной среде,
вопросы безопасности встают особенно остро. Так, атакующий мо&
жет просто прослушивать трафик, имперсонализировать узлы или
вбрасывать в сеть пакеты с ошибочной информацией. Это означает,
что для обеспечения безопасности необходимо использовать шифро&
вание и аутентификацию, что, в свою очередь, требует наличия про&
токола управления криптографическими ключами.
Использование традиционных методов управления криптографи&
ческими ключами, например таких, как инфраструктура открытых
ключей, в силу ряда особенностей больших сенсорных сетей оказы&
вается невозможным или малоэффективным.
В данной статье предлагается новая схема управления ключами –
DPS (Distributed Probabilistic Scheme – распределенная вероятност&
ная схема).
Основные характеристики сенсорных сетей
С точки зрения задачи управления криптографическими ключами
основными параметрами любой сети являются характеристики уз&
лов и их поведение. Рассматривая характеристики узлов, можно вы&
делить два аспекта.
1. Наличие узлов с ограничениями: наличие ограниченных по
вычислительным ресурсам узлов не позволяет использовать асим&
метричные методы (например, RSA); объем памяти может ограничи&
вать возможности по хранению криптографических ключей.
156
2. Наличие специальных защищенных узлов с достаточными ре&
сурсами позволяет организовать такие сервисы, как центр выдачи
сертификатов (необходим для организации инфраструктуры откры&
тых ключей), центр выдачи ключей (например, Kerberos) и т. д.
В поведении узлов можно выделить следующие аспекты.
1. В зависимости от назначения сети модели взаимодействия уз&
лов могут быть различными. Так, например, в некоторых сетях каж&
дый узел должен иметь возможность взаимодействовать с любым дру&
гим узлом внутри сети, в других сетях такое взаимодействие может
быть ограниченным, например, только соседними узлами. Модель
взаимодействия узлов существенно влияет на протокол управления
ключами.
2. Если для каждого узла перед развертыванием сети можно ука&
зать список узлов, с которыми он будет в дальнейшем взаимодей&
ствовать, тогда все необходимые криптографические ключи могут
быть предустановлены до развертывания сети.
Исходя из рассмотренного выше большие сенсорные сети (БСС)
могут быть описаны следующим образом.
Практически все представленные в данной сети узлы имеют ограни&
ченные ресурсы. Так, сенсоры питаются от батареек, имеют низкопро&
изводительный процессор и ограниченный объем памяти. В таблице
даны типичные характеристики сенсоров, используемых в БСС.
Процессор
8 бит, 4 МГц
Память
8 кбайт
512 байт ОЗУ
512 байт энергонезависимой памяти
Связь
916 МГц
Пропускная способность
10 кбит/с
ОС
TinyOS
Размер ОС в ПЗУ
3500 байт
Размер свободной ПЗУ
4500 байт
По данным характеристикам понятно, что использование асиммет&
ричных методов шифрования в БСС невозможно. Кроме того, наличие
всего 4500 байт свободной памяти существенно ограничивает возмож&
ное количество симметричных ключей, хранимых каждым из узлов.
Сенсоры не могут рассматриваться как специальные защищен&
ные узлы. В качестве таких узлов могли бы выступать приемники
информации, собираемой сенсорами. Однако в большинстве ситуа&
157
ций такие приемники не являются постоянными участниками сети.
Сбор данных производится периодически, при этом приемники ин&
формации недоступны большую часть жизненного цикла сети. Это
делает невозможным использование данных узлов в протоколе уп&
равления ключами.
Обычно в БСС взаимодействие узлов ограничено только соседни&
ми узлами. Более того, все узлы неподвижны, а это означает, что
большую часть жизненного цикла (кроме фаз добавления и удаления
узлов) каждый узел имеет фиксированных соседей.
В случае развертывания сети путем случайного разбрасывания сен&
соров (например, с самолета) знание о будущих соседях до разверты&
вания сети недоступно. Однако, даже в случае развертывания сети
вручную, большое количество узлов делает невозможным (слишком
дорогим) определение положения и соседей каждого отдельного узла.
Таким образом, протокол управления ключами не владеет априор&
ным знанием о соседях.
Суммируя, можно выделить следующие важные особенности боль&
ших сенсорных сетей:
1) практически все узлы ограничены;
2) не существует специальных защищенных узлов;
3) взаимодействия ограничены ближайшими соседями;
4) нет априорной информации о соседях.
Из&за описанных выше особенностей поведения узлов в БСС воз&
никает необходимость в следующих видах ключей.
1. Аутентификационный ключ – для аутентификации добавляе&
мых узлов и установления с ними временного защищенного канала,
используемого для дальнейшей выработки остальных ключей.
2. Ключи для работы с приемниками информации:
а) персональный ключ – для шифрации трафика между отдельны&
ми сенсорами и приемниками информации;
б) групповой ключ – для подписи команд и данных, распространя&
емых приемниками информации широковещательно на всю сеть.
3. Ключи для работы между соседями:
а) кластерный ключ – для широковещательной передачи данных
между соседями;
б) парные ключи – для шифрации трафика между соседними узла&
ми.
В дальнейшем мы не будем рассматривать ключи для работы с
приемниками информации, так как решения в этой области доста&
точно тривиальны и одинаковы практически для всех протоколов
(см., например, протокол LEAP [3]).
158
Существующие подходы
Большинство протоколов управления криптографическими клю&
чами в БСС основано на предварительной раздаче ключей, когда все
узлы в сети инициализируются необходимыми ключами до развер&
тывания сети.
Так, например, в работе [4] все узлы в сети используют один и тот
же ключ для защиты своих коммуникаций. Следует отметить, что в
этом случае сеть крайне уязвима к захвату узлов. После захвата лю&
бого узла сеть становится незащищенной.
Другим примером использования схем предварительной раздачи
ключей являются работы [5, 6], в которых используется случайная
схема раздачи ключей. Кроме того, существуют также работы, в ко&
торых случайная схема раздачи ключей комбинируется с другими
схемами (например, [7], где используется ее комбинация со схемой
Блома). Существенным недостатком такого подхода является игно&
рирование такой особенности БСС как ограниченная модель взаимо&
действия узлов (узлы взаимодействуют только со своими непосред&
ственными соседями). Так как информация о соседях недоступна до
развертывания сети, каждый узел инициализируется множеством
ключей, позволяющим устанавливать защищенные соединения с
любым другим узлом. Это приводит к тому, что объем выдаваемых
ключей существенно превосходит требуемый. Кроме того, при этом
значительно уменьшается стойкость сети к компрометации узлов.
Несколько отличный подход был предложен в протоколе LEAP
[3]. Как и в работе [4], каждый узел инициализировался одним и тем
же ключом KA. Будем называть этот ключ аутентификационным.
Однако, в отличие от протокола, предложенного в работе [4], каж&
дый узел по прошествии Tmin секунд после его добавления в сеть заме&
нял аутентификационный ключ KA на значение EK A ( ID) , где ID –
идентификатор узла. Таким образом, два узла, уничтожившие свои
аутентификационные ключи, не могут выполнить взаимную аутен&
тификацию (однако это и не требуется, так как узлы неподвижны).
В то же время узел с уничтоженным аутентификационным ключом
может выполнить взаимную аутентификацию с новым узлом, кото&
рый еще не уничтожил свой аутентификационный ключ, так как тот
может вычислить EK A ( ID) . Достоинством такого подхода является
устойчивость к компрометации узлов. Так как по EK A ( ID) невозмож&
но восстановить KA, захват узла по прошествии Tmin секунд с момен&
та его развертывания не дает атакующему никакой информации об
аутентификационном ключе. После выполнения взаимной аутенти&
фикации и установления безопасного соединения узлы u и v догова&
159
риваются о своем парном ключе Ku,v, который в дальнейшем и ис&
пользуется для защиты канала между ними. Однако этот протокол
также не свободен от недостатков:
1) существует вероятность «потери» аутентификационного клю&
ча до развертывания сети – в этом случае сеть становится незащи&
щенной;
2) протокол не работает в случае, если часть узлов должна быть
мобильной;
3) в случае, если число соседей велико (большая плотность узлов
или в качестве соседей рассматриваются узлы в радиусе, например,
2–3 радиусов передач), узлам требуется слишком много памяти для
хранения парных ключей.
Предлагаемый подход
За исключением протоколов, где все ключи устанавливаются на
узлы до развертывания сети, протоколы можно разбить на два под&
протокола:
1) аутентификации и выработки начального ключа. Этот подпро&
токол используется для взаимной аутентификации и установления
начального защищенного соединения между узлами;
2) выработки парных ключей. В рамках данного подпротокола
узлы, используя начальное защищенное соединение, вырабатывают
все необходимые им ключи.
Далее мы рассмотрим, как эти два подпротокола могут быть реа&
лизованы для того, чтобы исключить недостатки, присущие прото&
колу LEAP [3].
Подпротокол аутентификации и выработки начального ключа
Подход, предложенный в протоколе LEAP, обеспечивает надеж&
ную защиту аутентификационного ключа при захвате уже установ&
ленного сенсора. Однако при этом для атакующего остается возмож&
ность получить доступ к сенсору до его установки в сеть, что сделает
сеть незащищенной. Кроме того, такой подход неприемлем для се&
тей, где часть узлов может быть мобильной (для этого мобильные
узлы не должны стирать свой начальный аутентификационный ключ,
что делает сеть крайне уязвимой к захвату мобильных узлов). При&
чиной этих недостатков является то, что все узлы изначально про&
инициализированы одним и тем же аутентификационным ключом.
Соответственно, для устранения этих недостатков необходимо ис&
пользовать другие схемы раздачи ключей, более устойчивые к захва&
ту узлов и позволяющие в то же время использовать предложенный в
160
протоколе LEAP механизм замены аутентификационного ключа пос&
ле добавления узла в сеть. В качестве таких схем могут быть исполь&
зованы любые схемы, основанные на пересечении множеств [8, 9].
В этом случае данный подпротокол может быть реализован следу&
ющим образом. Аутентификационный ключ узла u – KuA 1 {Ki } , где
i 1 Iu , а Iu – множество идентификаторов ключей, выдаваемых узлу u
в соответствии с выбранной схемой, предварительно устанавливает&
ся на каждый сенсор u. Для того чтобы два узла u и v могли аутенти&
фицировать друг друга и выработать начальный ключ, необходимо,
чтобы они имели общий ключ KuA,v 1 {Ki : i 2 Iu 3 Iv } . Если узлы име&
ют такой общий ключ, они могут выполнить аутентификацию в лю&
бом месте сети и в любое время. При этом устойчивость сети к захвату
узлов определяется свойствами выбранной схемы предварительной
раздачи ключей. Для того чтобы улучшить устойчивость системы к
захвату узлов, необходимо изменить аутентификационный ключ по
истечении Tmin секунд после добавления сенсора в сеть. Это может
быть сделано следующим образом: по истечении Tmin секунд узел u
вычисляет значения Ki 1 EKi (u) , где i 1 Iu , E – односторонняя функ&
ция, и заменяет значения Ki на Ki .
После этого момента узел не может аутентифицировать себя перед
уже установленными узлами сети, но все еще может выполнять вза&
имную аутентификацию с вновь добавляемыми узлами. Новые узлы
имеют некоторое подмножество общих немодифицированных клю&
чей {Ki : i 1 Iu 2 Iv } и могут вычислить Ki , используя ту же функцию
E, а затем получить общий ключ KuA,v 1 { Ki : i 2 Iu 3 Iv } . Такой подход
значительно улучшает устойчивость сети к захвату узлов, так как по
полученным из захваченных узлов ключам Ki невозможно восстано&
вить ключи Ki, а следовательно, и воспользоваться этими ключами в
новом месте.
Если два узла не имеют общего ключа, они могут использовать
другие узлы, с которыми каждый из них имеет общий ключ, для вы&
полнения взаимной аутентификации и выработки общего ключа [5].
В качестве схемы, основанной на пересечении множеств, может
быть взята, например, вероятностная схема. Тогда аутентификаци&
онный ключ узла u будет состоять из ключей, выбранных из общего
пула ключей в соответствии с некоторой псевдослучайной функцией
fmap(u), которая по идентификатору узла генерирует множество иден&
тификаторов выдаваемых ключей Iu.
Предложенный подпротокол обладает следующими свойствами.
1. Стойкость системы к захвату узлов до их установки в сети опре&
деляется стойкостью выбранной схемы предварительной раздачи
ключей.
161
2. Захват узлов после их установки в сети не дает атакующему
никакой информации.
3. Часть узлов можно сделать мобильной. Для этого мобильные
узлы не должны модифицировать свои аутентификационные ключи.
При этом стойкость системы к захвату мобильных узлов будет опре&
деляться стойкостью выбранной схемы предварительной раздачи
ключей.
Подпротокол выработки парных ключей
После выполнения взаимной аутентификации узлы должны дого&
вориться о парных и групповых ключах. В случае небольшого числа
соседей каждый узел может хранить один парный и один групповой
ключи для каждого своего соседа. Однако в случае большого числа
соседей (например, если в качестве соседей рассматриваются все узлы,
расположенные в радиусе 2–3 передач) необходимо использовать дру&
гие схемы, требующие меньшего количества памяти для хранения
ключей.
Уменьшение количества ключей может быть достигнуто за счет
использования тех же методов, что и в схемах предварительной раз&
дачи ключей:
1) один и тот же ключ может принадлежать более чем двум узлам;
2) два узла могут иметь более одного общего ключа.
Кроме того, должно выполняться следующее условие: узлы, не
являющиеся непосредственными соседями, не должны иметь общих
ключей.
Такая схема раздачи ключей могла бы быть рассчитана при нали&
чии информации о местоположении всех сенсоров. Однако в БСС по&
ложение сенсоров до развертывания сети неизвестно, и, следователь&
но, такая схема может быть выработана динамически только после
установки сенсоров. Фактически это будет означать распределение
функции центра выдачи ключей между всеми узлами в сети.
Рассмотрим, как такой подход может быть реализован. Для уста&
новки безопасного соединения между соседними узлами каждый узел
u использует свой парный ключ KuP , который состоит из двух под&
множеств ключей:
1) подмножества предустановленных ключей K1 uP 1 { K1 iP } . Это под&
множество может быть сгенерировано непосредственно самим узлом
или предустановлено перед добавлением узла в сеть;
1 uP 1 { K
1 iP } . Это подмноже&
2) подмножества собранных ключей K
ство формируется из ключей, присланных соседними узлами.
162
После того как узел u выполнил с узлом v взаимную аутентифика&
цию и установил начальное защищенное соединение, он посылает
узлу v случайно выбранное подмножество (может быть пустым) сво&
их предустановленных ключей K1 uP и получает, в свою очередь, часть
подмножества предустановленных ключей узла v. Полученные клю&
чи каждый узел сохраняет в своем подмножестве собранных ключей.
Таким образом, каждый узел u получает некоторое подмножество
ключей из множества
2 K1 iP , где Nu – соседи узла u. Это множество
i1Nu
может быть интерпретировано как некоторый локальный общий пул
ключей. Соответственно, сессионный ключ двух узлов u и v может
быть получен из пересечения их парных ключей KuP 1 KvP .
Таким образом, описанный выше метод позволяет динамически
реализовать вероятностную схему, где узлы, расположенные далеко
друг от друга, гарантированно не имеют общих ключей. Это свойство
и обеспечивает существенное уменьшение количества хранимых клю&
чей.
Описанные выше подпротоколы аутентификации и выработки
начального ключа и выработки парных ключей могут быть исполь&
зованы как совместно, так и по отдельности, заменяя, например, со&
ответствующие части протокола LEAP. Ниже приведен протокол,
в котором эти два подпротокола использованы совместно.
Протокол DPS (Distributed Probabilistic Scheme)
Этот протокол предназначен для ситуации, когда количество со&
седних узлов велико. В этом случае каждый узел не может хранить
уникальный ключ для каждого своего соседа.
В этом протоколе используются следующие ключи:
1) аутентификационный ключ KА – аутентификация новых уз&
лов;
2) парный ключ KP – защита сообщений, передаваемых между со&
седними узлами; защита сообщений, передаваемых широковещатель&
но на все соседние узлы.
Аутентификационный ключ KuA предустанавливается на каждый
узел u в соответствии с выбранной вероятностной схемой. Аутенти&
фикационный ключ KuA состоит из ключей, выбранных из общего
пула ключей в соответствии с функцией fmap(u), которая задает соот&
ветствие между идентификатором узла u и идентификаторами выда&
ваемых ему ключей Iu. Таким образом, аутентификационный ключ
узла u можно представить как KuA 1 {Ki } , где i 1 Iu 2 fmap (u).
163
Два узла u и v могут выполнить взаимную аутентификацию и вы&
работать начальный ключ (начальный ключ требуется для защиты
данных во время выработки парных ключей) в случае, если они име&
ют хотя бы один общий ключ – {Ki : i 1 Iu 2 Iv } . В противном случае
узлы могут использовать другие узлы, с которыми каждый из них
имеет общий ключ, для выполнения взаимной аутентификации и
выработки общего ключа [5].
По истечении Tmin секунд после добавления узла u в сеть последний
вычисляет значения Ki 1 EKi (u) и заменяет Ki на Ki , где i 1 Iu .
Парный ключ узла u – KuP состоит из двух подмножеств ключей.
Первое подмножество K1 uP 1 { K1 iP } может быть сгенерировано непо&
средственно самим узлом или предустановлено перед добавлением
1 uP 1 { K
1 iP } формируется из ключей,
узла в сеть, второе подмножество K
присланных соседними узлами.
Во время протокола выработки парных ключей каждый узел, ис&
пользуя начальный ключ для шифрования данных, рассылает неко&
торое подмножество (может быть пустым) своих предустановленных
ключей K1 uP каждому своему соседу и, в свою очередь, получает часть
предустановленных ключей своих соседей, сохраняя их в своем мно&
1 uP .
жестве собранных ключей K
Защита данных, передаваемых между узлами u и v, может быть
организована на основе ключа, полученного из пересечения парных
ключей KuP 1 KvP узлов u и v.
Для защиты широковещательного сообщения узел u каждый раз
генерирует новый кластерный ключ KuC , используя его, шифрует
широковещательное сообщение и добавляет в пакет кластерный
ключ, зашифровав на каждом ключе из множества KuP . Любой узел,
имеющий хотя бы один ключ из KuC , в состоянии расшифровать кла&
стерный ключ и восстановить передаваемые данные.
Рассмотрим работу протокола более подробно.
Первоначально на каждый узел u предустанавливается аутенти&
фикационный ключ KuA . Кроме того, каждый узел случайным обра&
зом генерирует себе множество предустановленных ключей {K1 iP } .
Рассмотрим основные фазы протокола.
1. Добавление нового узла.
Узел u вырабатывает парные ключи со всеми своими непосред&
ственными соседями. Для этой цели должны быть выполнены следу&
ющие шаги:
а) узел u широковещательно рассылает сообщение HELLO =
= (u, Nonceu ) ;
164
б) каждый узел v, получивший сообщение HELLO, отвечает узлу u
сообщением ( M, MACK A ( Nonceu | M )) . Сообщение M определяется
u,v
как M 1 (v, EK A (k1vP )) , где k1vP – некоторое подмножество множества
u,v
предустановленных ключей K1 vP . Ключи из множества K1 vP включают&
ся в подмножество k1vP с некоторой вероятностью Pv, которая зависит
от количества соседей узла v. Общий ключ KuA,v определяется как
KuA,v 1 Ki1 2 Ki2 2 ... 2 Kim , где i1, i2 , ..., im 1 Iu 2 Iv , m – количество об&
щих ключей в их аутентификационных ключах;
в) узел u:
– определяет общие ключи i1, i2 , ..., im 1 Iu 2 Iv ;
– вычисляет Ki 1 EK (v) и KuA,v 1 Ki1 2 Ki2 2 ... 2 Kim ;
j
ij
– проверяет MAC полученного сообщения, используя ключ KuA,v ;
– расшифровывает EK A (k1vP ) и добавляет ключи из k1vP к своему
u,v
1 uP ;
множеству собранных ключей K
– выбирает с некоторой вероятностью Pu ключи k1uP из своего мно&
жества предустановленных ключей K1 uP и посылает их узлу v зашиф&
рованными на общем ключе EK A (k1uP );
u,v
г) по истечении времени Tmin узел u вычисляет значения Ki 1 EKi (u)
и заменяет Ki на Ki .
2. Выработка ключа.
Если два узла не имеют общего ключа, они могут использовать
своих соседей (или цепочку соседей), которые имеют общие ключи с
обоими узлами для выработки общего ключа.
3. Удаление узла.
Узел, являющийся соседом с удаляемым узлом, должен удалить
все общие с ним ключи.
Анализ предложенного решения
Проведем анализ протоколов аутентификации и выработки на&
чального ключа и выработки парных ключей.
Протоколы исследованы с точки зрения двух характеристик.
1. Связанность. Определяется вероятностью того, что любые два
соседних узла имеют общий ключ. Для протокола аутентификации и
выработки начального ключа это означает, что узлы смогут выпол&
нить взаимную аутентификацию и выработать начальный ключ. Для
протокола выработки парных ключей связанность показывает веро&
ятность установки безопасного соединения.
2. Устойчивость к захвату узлов. Определяется долей соединений
между незахваченными узлами, которые атакующий может скомп&
165
рометировать на основе информации, полученной из захваченных
узлов.
Протокол аутентификации и выработки начального ключа
Связанность
Два узла смогут провести взаимную аутентификацию и вырабо&
тать начальный ключ, если они имеют хотя бы один общий ключ.
Вероятность этого события может быть оценена, исходя из следую&
щих соображений.
Пусть каждый узел хранит по m ключей из общего пула, состоя&
щего из S ключей. Тогда вероятность того, что два узла не имеют ни
m
2 S1m3
одного общего ключа, составляет 4
5 . Соответственно, веро&
6 S 7
ятность того, что два узла имеют хотя бы один общий ключ, можно
m
2 S 1m3
выразить как 1 1 4
5 . На рис. 1 показана зависимость вероят&
6 S 7
ности того, что два узла имеют хотя бы один общий ключ, от количе&
ства ключей в общем пуле, при условии, что каждый узел хранит по
100 ключей. Из графика видно, что наилучшие результаты достига&
ются при маленьком размере общего пула ключей. Однако, как будет
показано далее, маленький размер пула ведет к низкой устойчивости
системы к захвату узлов.
Устойчивость к захвату узлов
Обозначим количество захваченных узлов x. Так как каждый узел
хранит m ключей, вероятность того, что произвольный ключ из об&
921
128
127
9
6
84 126
7
6
54 125
231
124
123
Рис. 1
166
9
24
3
424
6
724
91
1234567892 356 9 26 361911
9924
9
9324
щего пула не является скомпрометированным, может быть выраже&
x
m2
1
на как 4 1 3 5 . Тогда доля скомпрометированных ключей состав&
S7
6
x
m2
1
ляет 1 3 4 1 3 5 . Это означает, что в случае, если два узла имеют i
S7
6
общих ключей, вероятность того, что все их общие ключи окажутся
i
x
1 1
m2 2
скомпрометированы, составляет Pcompr (i) 5 3 1 6 3 1 6 4 4 . В свою
3
S 8 48
7 7
очередь, вероятность того, что два узла имеют i общих ключей, мо&
m 1i
i
m2
i 1m2 1
. Следователь&
жет быть выражена как Pshare (i) 3 Cm
5 6 51 4 6
S8
7S8 7
но, вероятность того, что общие ключи двух узлов будут скомпроме&
тированы, может быть рассчитана как Pcompr 1 2 Pcompr (i) Pshare (i) .
i
На рис. 2 показана зависимость доли скомпрометированных со&
единений от размера общего пула ключей в случае, если каждый узел
хранит по 100 ключей. Как видно из рис. 1 и 2, небольшой размер
общего пула ключей обеспечивает большую вероятность того, что
721
6
2
7
9
867
65
43
21
126
125
124
123
121
7
8
9
77
1234567892 356 9 26 36 1 21234
Рис. 2:
– 100 захваченных узлов;
78
1
– 50 захваченных узлов
167
два узла смогут выполнить взаимную аутентификацию, однако в этом
случае сеть более уязвима к захвату узлов.
Протокол выработки парных ключей
Оценка параметров для этого протокола была выполнена с помо&
щью моделирования. 10 000 узлов были распределены на области
1000´1000 условных единиц. Радиус передачи был выбран 40 услов&
ных единиц. С таким радиусом передачи каждый узел имеет в сред&
нем 50 соседей.
Связанность
Обозначим Spr количество предустановленных ключей и Scoll –
количество собранных ключей. Тогда, если узел посылает предуста&
новленный ключ другому узлу с вероятностью Psend , а количество со&
седних узлов N, то среднее количество собранных ключей может быть
оценено как Scoll 1 Spr Psend N. На рис. 3 показана зависимость веро&
ятности того, что два узла будут иметь хотя бы один общий ключ, от
среднего количества парных ключей (предустановленных и собран&
ных), хранимых каждым узлом. Наилучшая связанность достигает&
ся при одном предустановленном ключе.
7
126
9 125
6
84
7
6
54
32 124
1
123
1
1
71
31
81
41
91
51
1234533 6789
37 25 68
3
Рис. 3:
168
– 1 предустановленный ключ;
– 2 предустановлен
ных ключа;
– 5 предустановленных ключей;
– 10 пред
установленных ключей
6211
6111
92
4 511
8
6 4
2 4
411
2
7 2
29
311
78
65
43
21
211
1
1
61
21
71
31
81
41
91
1234567892 956 329
Рис. 4:
– 1 предустановленный ключ;
– 2 предустановлен
– 5 предустановленных ключей;
– 10 пред
ных ключа;
установленных ключей
Устойчивость к захвату узлов
Проанализируем результаты моделирования устойчивости сети к
захвату узлов. В рамках моделирования оценивались последствия за&
хвата узлов внутри одного радиуса передачи. При этом были рассмотре&
ны четыре случая, когда количество предустановленных ключей равня&
лось 1, 2, 5 и 10. Результаты моделирования показаны на рис. 4.
Как и в случае с протоколом аутентификации и выработки на&
чального ключа, небольшое количество предустановленных ключей
обеспечивает большую связанность, но, с другой стороны, сеть более
уязвима к захвату узлов.
Заключение
В статье были представлены два подпротокола – аутентификации
и выработки общего ключа и выработки парных ключей.
Подпротокол аутентификации и выработки общего ключа бази&
ровался на сочетании двух техник: схем, основанных на пересечении
множеств, и механизма изменения аутентификационного ключа пос&
ле добавления нового узла в сеть. Такой подход позволил существен&
но повысить устойчивость системы к захвату еще не добавленных в
сеть узлов, оставив при этом идеальную защищенность от захвата
169
уже добавленных узлов. Это, в свою очередь, позволяет построить
эффективную систему, где часть сенсоров может быть мобильной.
Предложенный подпротокол выработки парных ключей предна&
значен для уменьшения количества парных ключей при большом ко&
личестве соседних узлов. Для решения этой задачи, если бы положе&
ния всех сенсоров были известны до развертывания сети, могла быть
предложена эффективная схема предварительной раздачи ключей.
Так как в БСС положение сенсоров до развертывания сети неизвест&
но, для решения данной задачи был предложен протокол, позволяю&
щий построить эффективную схему раздачи ключей уже после раз&
вертывания сети, фактически распределив функцию центра выдачи
ключей между всеми сенсорами в сети. Использование данного под&
протокола позволяет строить системы, где количество парных клю&
чей у каждого узла может быть меньше, чем число его соседей.
Рассмотренные подпротоколы могут быть использованы как со&
вместно, так и по отдельности, как составные части протокола
управления ключами для БСС. В статье приведен пример протокола,
где используются оба предложенных подпротокола.
Литература
1. Pister K. S. J., Kahn J. M., Boser B. E. Smart dust: Wireless networks of
millimeter&scale sensor nodes. 1999.
2. “WINS NG Power Usage Specification: WINS NG 1.0”, Sensoria
Corporation. Jan. 2000.
3. Zhu S., Setia S., Jajodia S. LEAP: Efficient Security Mechanisms for
Large&Scale Distributed Sensor Networks// Proc. of the 10th ACM Conference
on Computer and Communications Security (CCS ’03). Washington D. C. 2003.
4. Secure Pebblenets / S. Basagni, K. Herrin, E. Rosti et al. Proc. of
MobiHoc. 2001.
5. Eschenauer L., Gligor V. A Key&management Scheme for Distributed
Sensor Networks// Proc. of the 10th ACM Conference on Computer and
Communications Security (CCS’02). Washington D. C. 2002.
6. Chan H., Perrig A., Song D. Random Key Predistribution Schemes for
Sensor Networks // IEEE Security and Privacy Symposim. May 2003.
7. A Pairwise Key Pre&distribution Scheme for Wireless Sensor Networks/
Wenliang Du, Jing Deng, Yunghsiang S. Han et al.// Proc. of the 10th ACM
Conference on Computer and Communications Security (CCS’03). Washington
D. C. 2003.
8. On key storage in secure networks / M. Dyer, T. Fenner, A. Frieze et al.
// Journal of Cryptology. 1995. N 8. P. 189–200.
9. Gong Li, Wheeler D. H. A matrix key storage scheme// Journal of
Cryptology. 1990. N 2. P. 51–59.
10. http://robotics.eecs.berkeley.edu/~pister/SmartDust/
11.http://www.sensoria.com/pdf/WINS&3.0&Wireless&Sensing&
Platform.pdf
170
К. Р. Большаков,
ассистент
СанктПетербургский государственный университет
аэрокосмического приборостроения
М. К. Заднепрянец,
инженер
ООО «Интермедиа РУС»
О ПРИМЕНЕНИИ РЕАЛИЗУЕМЫХ ПОЛИТИК ДОСТУПА
ВО ВНЕШНИХ МОНИТОРАХ ОБРАЩЕНИЙ
Введение
Построение сложных и безопасных систем требует наличия мето&
дов описания и ограничения поведения системы. Существует значи&
тельное число математических моделей, задающих ограничения на
систему статическим образом, но наиболее интересные подходы кон&
тролируют динамику поведения. Шнайдер в работе [1] определил
подмножество свойств безопасности (safety properties), названное им
EM (Execution Monitoring). Это подмножество ограничивает после&
довательности интересных с точки зрения безопасности действий и
использует автоматы безопасности (security automata, SA) для про&
верки текущей накопленной последовательности на допустимость.
При недопустимости последовательности программа насильственно
завершается. Бауэр и другие [2, 3] расширили EM&политики до пре&
образования последовательности действий программы.
В работе [4] Эрлингссон и Шнайдер рассматривают метод преобразо&
вания программ для реализации подхода EM&политик для языков вир&
туальной машины Java JVML и Ассемблера Intel ´ 86. В обоих случаях
мониторы являются встроенными: они встраиваются в код программы
во время выполнения или при загрузке программы перед выполнением.
В данной работе рассматриваются проблемы реализации автома&
тов безопасности в составе внешних мониторов обращений (external
reference monitors, ERM). Ради краткости описания формализма EM&
политик и SA, а также реализующих их ERM в данной работе не при&
водятся; читатель может найти их в оригинальных работах [1, 4].
Автоматы безопасности и внешние мониторы обращений
Согласно определению, данному в работе [1], EM&свойства – это
класс свойств, которые могут быть обеспечены монитором, выпол&
няющимся параллельно с целевой программой. Этот монитор про&
171
веряет каждое интересное с точки зрения безопасности действие,
производимое программой. Если действие допустимо, то монитор
не вмешивается в ход выполнения программы. В противном слу&
чае программа насильственно завершается. Было показано, что
EM&свойства являются подмножеством свойств безопасности [1].
Очень важной особенностью EM&свойств является следующий
факт: если любое (бесконечное) выполнение не удовлетворяет EM&
свойству, то существует конечный префикс такого выполнения,
который также не удовлетворяет этому свойству. EM&политики –
это метод задания EM&свойств.
SA могут реализовывать любую EM&политику. SA – это недетер&
минированный конечный автомат (НДКА), определенный как
Q, Q0 , I, 1 ,
где Q – конечное множество состояний автомата; Q0 – множество на&
чальных состояний автомата; I – множество входных символов;
1 : Q 2 I 3 Q – функция переходов.
Входными символами являются наблюдаемые действия, про&
изводимые программой (точнее, те действия, которые представля&
ют интерес с точки зрения безопасности). Природа этих действий
варьируется от системы к системе. Например, для ОС OpenBSD и
инструментального средства systrace эти действия являются сис&
темными вызовами, а для шлюзов уровня приложений они могут
являться транзакциями или запросами и ответами протокола.
Некоторые реализации ERM и соответствующая семантика вход&
ных символов приведены в таблице, основанной на данных из ра&
бот [5–7].
Целевая система
OpenBSD
Входные символы
Системные
вызовы
Монитор
Systrace
.NET
Java
Вызовы методов
CLR
Менеджер безо&
пасности JVM
Сетевые сервисы
Сообщения
протоколов
Шлюзы уровня
приложений
Подход, основанный на внутренних мониторах обращений, за&
дает целевую компоненту неявным образом: это та программа,
в которую монитор встраивается. Для ERM ситуация отличается:
компонента, которая контролируется политикой, должна быть
задана в явном виде. Большие размеры корпоративных информа&
ционных систем требуют задания политик не для индивидуаль&
ных компонент системы, а для групп компонент.
172
Составные политики безопасности
Составной политикой безопасности (CSP) назовем
P 1 S, O, A ,
где S = {Si} – множество компонент&субъектов целевой системы; O = {Oj} –
множество компонент&объектов целевой системы; A = {Ak} – множество
автоматов безопасности, проверяющих поведение пар (S, O).
SA в CSP почти полностью соответствуют определению SA, дан&
ному Шнайдером. Однако мы вводим два ограничения:
– входные символы для SA в CSP принадлежат к множеству всех
действий в системе (т. е. действия не являются атрибутами субъек&
тов или объектов);
– автоматы являются полностью определенными.
Последнее ограничение означает, что определение SA соответствует
определению НДКА&распознавателя из работы [8], кроме требова&
ния на полное описание множества входных символов. Множество
входных символов для SA определяется как I 1 Iявные 2 Iпрочие . Под
Iпрочие подразумеваются такие наблюдаемые действия в системе, ко&
торые игнорируются политикой P. Чтобы сделать описание SA пол&
ным, все явно определенные состояния помещаются в множество до&
пускающих и к автомату добавляется «дьявольское» [8] состояние.
Множества S и O могут задаваться с использованием понятия до&
менов (сходно с языком Ponder [9]). Однако мы намеренно не предла&
гаем или используем какой&либо язык для задания доменов. Ниже
будет показано, что единственное свойство, необходимое для апри&
орного анализа множеств политик, состоит в возможности анализи&
рующего инструмента проверить, формируют ли два и более опреде&
лений доменов непустое пересечение.
Перед реализацией монитора, обеспечивающего выполнение CSP,
должны быть решены следующие вопросы:
– является ли пустым множество поведений, допустимых одной CSP;
– могут ли две и более CSP конфликтовать, что выражается в от&
сутствии допустимых поведений для компонент, которые они конт&
ролируют;
– возможно ли с помощью CSP ограничить взаимодействие между
компонентами&нарушителями и защитить чувствительную инфор&
мацию от разглашения.
Конфликты политик
Множество поведений, допустимых CSP, может быть описано
как язык над 1 Im , где Im– множество входных символов для авто&
мата номер m. Тогда для проверки непустоты допустимого CSP
173
поведения достаточно построить пересечение языков всех SA, при&
надлежащих этой CSP. Это можно сделать в соответствии с алго&
ритмом, приведенным в работе [8]. Определение SA в составе CSP
было сделано полным для использования этого алгоритма без ка&
ких&либо изменений. То есть, сначала SA конвертируются в детер&
минированные конечные автоматы, затем конструируется автомат&
произведение [1]. Этот автомат&произведение сохраняется для
каждой CSP, так как он является удобным для реализации в со&
ставе монитора, а также будет использован на следующем шаге
анализа политик.
После проверки непустоты допустимых каждой CSP поведений
надо проверить совместную работу всех CSP. Если компоненты&
субъекты и компоненты&объекты одной CSP формируют непустое
пересечение с соответствующей парой другой политики, то суще&
ствуют пары компонент, чье поведение ограничивается двумя по&
литиками одновременно. Также, если число таких политик боль&
ше двух, то строится произведение всех автоматов, так как попар&
ная проверка является недостаточной. Во время этого шага ана&
лизирующий инструмент проверяет пары (S, O), принадлежащие
разным политикам, на непустоту пересечения. Так как само пере&
сечение не представляет интереса ни для априорного анализа, ни
для ERM, то можно избежать использования какого&то фиксиро&
ванного метода описания доменов. Таким образом, описания до&
менов могут зависеть от целевой системы. Чтобы анализирующий
инструмент мог обрабатывать такие спецификации, можно исполь&
зовать по компоненте расширения для каждой целевой системы.
Инструмент будет поставлять спецификации доменов компоненте
расширения, а она будет определять, пусто ли пересечение этих
спецификаций. Инструмент будет использовать информацию о
непустоте для принятия решения о конструировании автомата&
произведения для рассматриваемых CSP.
После проверки автоматов безопасности индивидуальных поли&
тик и проверки политик, перекрывающихся по «областям влияния»,
можно гарантировать, что не существует множеств политик, не до&
пускающих никаких поведений компонент целевой системы.
Время жизни экземпляров политики
Для каждой компоненты&субъекта и компоненты&объекта в CSP
есть два варианта применения к ней составной политики. Поли&
тика может применяться к каждой компоненте по отдельности или
ко всем компонентам, принадлежащим домену. Эти два случая
различаются зависимой от целевой платформы спецификацией. От
174
этой спецификации зависит время жизни экземпляра политики как
объекта в составе ERM. Экземпляр политики – это представление
политики как объекта во время выполнения системы. Время жиз&
ни экземпляра политики – это минимум времени жизни субъектов
и объектов (или их доменов, если спецификация задает политику,
ограничивающую поведение доменов в целом), заданных в заго&
ловке политики. Создание экземпляров политик необязательно
проводить заранее: они могут создаваться по необходимости и
уничтожаться по возможности.
Возможность применять CSP к доменам позволяет ограничить
взаимодействие между несколькими субъектами, которые намерева&
ются совместно выполнить недопустимое действие над объектом.
Во время выполнения ERM максимальное потребление памяти
V 3 1 I 4 12 5
Np
6 ni,
i 11
где I – множество наблюдаемых всеми политиками операций в целе&
вой системе; Np – число политик; ni – число состояний в автомате
безопасности в политике номер i. Объем памяти, потребляемый каж&
дой политикой, ничтожен, так как он включает лишь описания ком&
понент&субъектов, компонент&объектов, состояние и идентификатор
соответствующего автомата безопасности (после первого шага ана&
лиза каждой CSP ставится в соответствие единственный SA).
Дальнейшие исследования
В настоящий момент в разработке находятся язык и анализирую&
щий инструмент для задания и проверки CSP. В планы авторов вхо&
дит также создание прототипа монитора, реализующего CSP, для
виртуальной машины JVM и ядра ОС OpenBSD.
Авторы надеются применить результаты этой работы в такой об&
ласти как взаимодействие свойств (feature interaction) и управление
вызовами (call control) в системах Интернет&телефонии.
Выводы
В работе предложен класс составных политик безопасности, осно&
ванный на автоматах безопасности. Этот класс был разработан как
следствие анализа реализации EM&политик внешними мониторами
обращений. Предложен алгоритм поиска конфликтов для множеств
составных политик безопасности и обсуждены вопросы развертки
политик на целевой системе.
175
Литература
1. Schneider F. B. Enforceable security policies // Information and System
Security. 2000. Vol. 3. P. 30–50.
2. Bauer L., Ligatti J., Walker D. More enforceable security policies (2002) //
Foundations of Computer Security. Copenhagen. Denmark. July 2002.
3. Ligatti J., Bauer L., Walker D. Edit automata: Enforcement mechanisms
for run&time security policies // International Journal of Information Security.
2003.
4. Erlingsson U., Schneider F. B. SASI enforcement of security policies:
A retrospective. In WNSP: New Security Paradigms Workshop. ACM Press,
2000.
5. Freeman A., Jones A. Programming .NET Security. O’Reilly, 2003.
6. McGraw G., Felten E. W. Securing Java: Getting Down to Business with
Mobile Code. 2 edn. Wiley, 1999.
7. Provos N. Improving host security with system call policies // Technical
Report 02&3. CITI. Nov. 2002.
8. Hopcroft J. E., Motwani R., Ullman J. D. Introduction to Automata
Theory, Languages and Computation. 2 edn. Addison&Wesley, 2000.
9. Damianou N. A policy framework for management of distributed systems.
PhD thesis, Imperial College, University of London, 2002.
176
В. В. Башун,
аспирант
А. В. Сергеев,
аспирант
СанктПетербургский государственный университет
аэрокосмического приборостроения
БЕЗОПАСНОСТЬ СИСТЕМЫ ЭЛЕКТРОННОГО
ДОКУМЕНТООБОРОТА: ПОЛИТИКИ, ПРОФИЛИ, ПРОЕКТ
Введение
Задача безопасности является важной для любой программной
системы, но для распределенной системы документооборота предпри&
ятия задача защиты – наиглавнейшая. Любое нарушение работоспо&
собности системы приводит к простою и нарушению цикла работы
предприятия, а следовательно, к крупным финансовым потерям, сни&
жению репутации, потере доверия и т. д. Циркулирующая в системе
финансовая информация и данные пользователей представляют со&
бой коммерческую и личную тайну, охраняемую международными и
российскими законами, доступ к такой информации нелегальных
пользователей недопустим.
В статье описаны этапы создания проекта защиты распределен&
ной многопользовательской клиент&серверной системы внутрен&
него электронного документооборота организации – документа,
который является фундаментом при разработке всех сервисов бе&
зопасности.
Отдельно нужно подчеркнуть, что в работе не затрагиваются со&
путствующие организационно&административные мероприятия и
физическая защита.
Описание системы
Кратко опишем информационную систему, для которой разраба&
тывается проект защиты.
Объект оценки (ОО) – распределенная многопользовательская
клиент&серверная система внутреннего электронного документообо&
рота организации. Рассматриваемая система обладает следующими
характеристиками:
– распределенная – клиент&серверная платформа; удаленный
доступ пользователей к системе; передача информации по открытым
каналам связи;
177
– многопользовательская – наличие в системе большого числа
пользователей с разным уровнем доступа к информации;
– изменяемая – число терминалов системы и множество легальных
пользователей системы постоянно изменяются;
– модульная, расширяемая – число модулей и функциональность
системы постоянно расширяются;
– закрытая – в системе циркулирует информация различных уров&
ней конфиденциальности (секретности); в системе хранятся и пере&
даются сведения ограниченного распространения (служебные, ком&
мерческие, персональные) и открытые сведения.
Система содержит необходимый и достаточный набор данных для
нормального функционирования вуза в части работы с личным со&
ставом и ведения учебного процесса:
– внутренние и внешние нормативные документы (приказы, акты
и т. д.);
– расчетно&денежные документы (контракты, договора, платеж&
ные поручения и др.);
– отчеты (статистические, аналитические, финансовые и др.);
– персональные данные сотрудников, студентов и абитуриентов;
– обобщенную информацию и другие конфиденциальные (ограни&
ченного распространения) документы и т. д.
Среда эксплуатации системы – внутренняя сеть организации (уни&
верситета). Основной сервер доступен с фиксированного числа заре&
гистрированных рабочих терминалов внутренней сети организации.
Резервный сервер доступен только из внутренней сети отдела автома&
тизации. Предусмотрено создание защищенных каналов для работы
с системой с удаленных точек доступа за пределами внутренней сети
через незащищенную среду (Интернет).
Приведем основные угрозы безопасности, соответствующие пере&
численным выше характеристикам системы. Главные угрозы для
системы связаны с нарушением конфиденциальности информации,
целостности информации, а также влияющие на работоспособность
системы (нарушение доступности информации). Основные из них (по
классификации Cisco):
· несанкционированный доступ к системе:
получение нелегальным пользователем доступа к конфиденци&
альной информации (T.Unauth_Access);
получение легальным пользователем системы доступа к данным
других пользователей или к данным, которые не должны быть
доступны данному пользователю в соответствии с политикой бе&
зопасности и его уровнем доступа (T.Masquerade_Access);
178
модификация
данных
нелегальным
пользователем
(T.Unauth_Modification);
модификация легальным пользователем данных, к которым он
не должен иметь доступ в соответствии с политикой безопаснос&
ти и своим уровнем доступа (T.Masquerade_Modification);
модификация неуполномоченным пользователем конфигураци&
онной информации с целью незаконного повышения своего уров&
ня доступа в нарушение политики безопасности
(T.Config_Corrupt);
получение нелегальным пользователем доступа к системе вслед&
ствие некорректно завершенного сеанса связи другого пользова&
теля (T.Unattended_Session);
некорректная работа подсистемы регистрации и учета либо мо&
дификация пользователем учетной информации, приводящая к
невозможности обнаружения администратором атаки на систе&
му (T.Undetected_Actions);
перехват пользователем аутентификационной информации дру&
гих пользователей (T.Spoof);
· отказ в обслуживании:
нарушение/сбой связи между сторонами клиента и сервера вслед&
ствие чрезмерной загрузки сети (T.Lineout);
чрезмерная загрузка сервера нелегальным пользователем, кото&
рая приводит к отказу в обслуживании (T.Server_Down);
· несанкционированный сбор информации;
· подозрительная активность.
Противодействие данным угрозам и комплексная защита систе&
мы являются задачей подсистемы безопасности.
Подсистема безопасности
Подсистема безопасности – ядро системы, позволяющее реализо&
вать политику безопасности системы. Любое взаимодействие субъекта
(пользователя или процесса) с системой происходит через посредство
подсистемы безопасности. Подсистема безопасности контролирует
доступ пользователей к данным, контролирует потоки данных, про&
тиводействует активным и пассивным атакам на систему, обеспечи&
вает непрерывность обслуживания и т. п.
Разработка подсистемы безопасности происходит в несколько эта&
пов. Вначале рассматриваются основные задачи безопасности, кото&
рые необходимо решить с целью противодействия перечисленным
выше угрозам. Далее представлена политика безопасности, соответ&
ствующая поставленным задачам. А затем, на основании политики,
179
626
78239
1365
123456
123
Рис. 1. Этапы создания проекта подсистемы безопасности
сформулирована иерархия функциональных требований к подсисте&
ме безопасности в терминах действующих стандартов [1–5] и про
филей [2, 6, 7, 8] защиты. В результате появляется проект подсис&
темы безопасности – сопоставление реальных компонент разрабаты&
ваемой системы и задач защиты через стандартизованные требова&
ния (рис. 1).
Главная цель подсистемы безопасности – противодействовать ве&
роятным угрозам, следовательно, основными задачами подсистемы
безопасности являются:
– управление доступом к системе – предоставление доступа к ин&
формации только авторизованным лицам;
– обеспечение конфиденциальности информации – обеспечение
невозможности ознакомления с информацией посторонних лиц;
– обеспечение целостности информации – отсутствие искажений
информации в процессе хранения и передачи;
– отслеживание авторства информации – обеспечение аутентич&
ности и подлинности информации;
– обеспечение работоспособности системы – непрерывное поддер&
жание всех функций системы в исправном состоянии;
– предоставление средств администрирования – управление атри&
бутами безопасности, аудит безопасности.
Политика безопасности – это документ, отвечающий на вопросы
«какие?» и «что?»: какие положения из огромного числа норм и пра&
вил защиты будут поддерживаться подсистемой безопасности и что
собираются защищать.
Политика безопасности – это совокупность норм и правил и про&
цедур, позволяющая решать задачи безопасности и обеспечивающая
эффективную защиту системы от заданного множества угроз. Приве&
дем положения политики безопасности для рассматриваемой систе&
мы [1, 9]:
180
– авторизованные пользователи (P.Authorized_Users) – доступ к
системе имеют только авторизованные пользователи;
– ответственность пользователей (P.Accountability) – действия
авторизованных пользователей системы должны регистрироваться,
чтобы пользователи были подотчетны за свои действия при работе с
системой;
– управление доступом (P.Control_Access) – система постоянно
контролирует доступ субъектов к объектам и проверяет их уровень и
права доступа субъекта;
– криптографическая защита (P.Cryptography) – при управлении
ключами (генерация, распространение и т. п.) и использовании крип&
тографических сервисов (шифрование, цифровая подпись, вычисле&
ние хеша, ГПСЧ и т. п.) используются стойкие и сертифицирован&
ные криптографические алгоритмы;
– отказоустойчивость (P.High_Availability) – система должна под&
держивать контроль над распределением ресурсов, быть устойчивой
к сбоям и иметь средства самовосстановления.
Для соответствия политике безопасности и решения сформулиро&
ванных выше задач подсистема безопасности должна соответство&
вать определенным требованиям. Функциональные требования оп&
ределяют возможности компонентов подсистемы безопасности и рег&
ламентируют их работу. Проведем логическую линию от общих за&
дач защиты, описанных в терминах политики безопасности, к конк&
ретным функциональным требованиям, на основании которых бу&
дут проектироваться и реализовываться элементы подсистемы безо&
пасности. Ниже представлена таксономия функциональных требо&
ваний применительно к рассматриваемой системе и в соответствии
со стандартом ИСО/МЭК 15408 [1, 2].
Идентификация и аутентификация (Identification and
authentication, класс FIA иерархии общих критериев).
· Процесс идентификации (User identification, FIA_UID) и аутен&
тификации (User authentication, FIA_UAU) пользователя. Обяза&
тельная аутентификация пользователей при входе в систему
(FIA_UAU.1). Недопущение использования аутентификационных
данных, которые были подделаны или скопированы у другого пользо&
вателя (FIA_UAU.3). Повторная аутентификация пользователя по
истечении определенного администратором интервала времени
(FIA_UAU.6.1).
· Определение атрибутов пользователя (User attribute definition,
FIA_ATD.1.1). Атрибуты безопасности пользователя должны вклю&
чать идентификатор, аутентификационную информацию (ключи),
права доступа. Поддержка открытых и секретных ключей.
181
· Отказы аутентификации (Authentication failures, FIA_AFL.1.2).
· Связывание пользователь–субъект (User–subject binding,
FIA_USB.1.1).
· Взаимная аутентификация клиента и сервера.
Криптографическое обеспечение (Cryptographic support, класс
FCS). Большинство сервисов безопасности нуждается в криптогра&
фической поддержке. Все сервисы, выполняющие действия по гене&
рации, распределению, хранению, управлению и уничтожению
криптографических ключей, а также операции зашифрования/рас&
шифрования данных должны осуществляться сертифицированны&
ми алгоритмами в соответствии с требованиями ФСБ и действующи&
ми нормативными документами [3–5]. Система должна поддержи&
вать следующие сервисы.
· Управление криптографическими ключами (Cryptographic key
management, FCS_CKM). Поддерживаемые функции:
генерация криптографических ключей (FCS_CKM.1);
распределение криптографических ключей (FCS_CKM.2);
управление доступом к криптографическим ключам
(FCS_CKM.3);
уничтожение криптографических ключей (FCS_CKM.4).
· Криптографические операции (Cryptographic operations,
FCS_COP.1):
вся информация, передаваемая по доверенному каналу, должна
подвергаться шифрованию и контролю целостности в соответ&
ствии с требованиями стандартов и других нормативных доку&
ментов;
операции обмена криптографическими ключами должны выпол&
няться в соответствии с требованиями ФАПСИ/ФСБ и действу&
ющих нормативных документов (FCS_COP.1.1);
генерация случайных чисел должна выполняться множеством
независимых аппаратных и/или программных датчиков, выхо&
ды которых объединяются с использованием хэш&функции по
ГОСТ Р 34.1194 или другого аттестованного алгоритма
(FCS_COP_EXP.2.1).
· Защита остаточной информации криптографического ключа
(FDP_RIP.2).
Защита данных пользователя (User data protection, FDP). Для за&
щиты данных о пользователях системы должны поддерживаться:
· Политика управления доступом (Access Control Policy,
FDP_ACC.1.1).
· Функции управления доступом (Access control functions,
FDP_ACF.1.1).
182
· Базовая защита внутренней передачи (Internal TOE transfer,
FDP_ITT.1).
· Защита остаточной информации (Residual information protection,
FDP_RIP.2.1).
· Сокрытие реального трафика системы.
Обеспечение бесперебойной работы системы (TOE access, FTA).
Нарушение работоспособности – одна из самых сильных угроз бе&
зопасности. Рекомендации и требования данного класса направ&
лены на обеспечение защищенности от агрессивного потребления
ресурсов.
· Ограничение на параллельные сеансы (Limitation on multiple
concurrent sessions, FTA_MCS). Максимальное число параллельных
сеансов, предоставляемых одному пользователю, должно ограничи&
ваться (FTA_MCS.1.1). У этой величины должно быть предельное
значение, устанавливаемое администратором (FTA_MCS.1.2).
· Блокирование сеанса (Session locking, FTA_SSL). По истечении
установленного администратором значения длительности бездей&
ствия пользователя сеанс работы должен принудительно завершать&
ся (FTA_SSL.3.1).
· Открытие сеанса с объектом оценки (TOE session establishment,
FTA_TSE). Для сервиса должна существовать возможность отказа в
открытии сеанса на основе идентификатора субъекта, пароля субъек&
та, правах доступа субъекта (FTA_TSE.1.1).
· Повышенная отказоустойчивость (FRU_FLT.1), заключающая&
ся в полном резервировании основных элементов системы: резервные
серверы, резервные каналы связи, резервные источники питания,
подсистемы резервного копирования и восстановления, создание кон&
трольных точек системы с возможностью отката, противодействие
DoS&атакам, многопотоковая передача (транспортное кодирование).
· Квотирование (FRU_RSA.1). Должны задаваться выделяемые
пользователям квоты долговременной и оперативной памяти, а так&
же процессорного времени (FRU_RSA.1.1).
Аудит безопасности (Security Audit, FAU). Службы безопасности
должны соответствовать следующим требованиям по протоколиро&
ванию и аудиту.
· Генерация данных аудита безопасности (Security audit data
generation, FAU_GEN.1).
· Автоматическая реакция аудита безопасности (Security audit
automatic response, FAU_ARP.1.1), включая генерацию записи в
регистрационном журнале, локальную или удаленную сигнализацию
администратору об обнаружении вероятного нарушения безопасности.
183
· Анализ аудита безопасности (Security audit analysis,
FAU_SAA.1.2).
· Просмотр аудита безопасности (Security audit review, FAU_SAR).
· Хранение данных аудита безопасности (Security audit storage,
FAU_STG.1.2).
· Избирательность данных аудита безопасности (Security audit
selection, FAU_SEL.1.2).
Управление средствами защиты (Security Management, FMT).
Важнейшим аспектом информационной безопасности является
управление службами безопасности системы.
· Управление отдельными функциями безопасности (Management
of functions in TOE (ОО) Security Functions (TSF), FMT_MOF.1.1).
· Управление атрибутами безопасности (Management of security
attributes, FMT_MSA).
· Управление данными функций безопасности (Management of TSF
data, FMT_MTD).
· Аннулирование (Revocation, FMT_REV.1).
· Роли управления безопасностью (Security management roles,
FMT_SMR). В системе должен поддерживаться следующий мини&
мальный набор ролей: уполномоченный пользователь, удаленный
пользователь, администратор (FMT_SMR.1.1).
Защита функций безопасности (Protection of the TSF, FPT). Соб&
ственная защищенность – важная характеристика любого сервиса
безопасности. Она должна отвечать следующим требованиям.
· Тестирование абстрактной машины (Underlying abstract machine
test, FPT_AMT.1).
· Тестирование криптографического модуля (FPT_CTST_EXP –
дополнительное семейство общих критериев).
· Безопасность при сбое (Fail secure, FPT_FLS).
· Целостность экспортируемых данных (Integrity of exported TSF
data, FPT_ITI).
· Надежное восстановление (Trusted recovery, FPT_RCV).
· Обнаружение повторного использования (Replay detection,
FPT_RPL).
· Посредничество при обращениях (Reference mediation,
FPT_RVM). Работа функций, осуществляющих политику безопас&
ности сервиса, должна успешно выполняться до выполнения любой
другой функции сервиса (FPT_RVM.1.1). Должна обеспечиваться
невозможность обхода защитных средств (FPT_RVM.1).
· Разделение доменов (Domain separation, FPT_SEP). Для поддер&
жания функций безопасности должен поддерживаться отдельный
184
домен для их собственного выполнения, который защищает их от
вмешательства и искажения недоверенными субъектами.
· Наличие меток времени (Time stamps, FPT_STM).
· Согласованность данных между функциями безопасности (Inter&
TSF TSF data consistency, FPT_TDC).
· Согласованность данных функций безопасности при дублирова&
нии в пределах объекта оценки (Internal TOE TSF data replication
consistency, FPT_TRC).
· Самотестирование функций безопасности (TSF self test,
FPT_TST). Правильность работы функций безопасности должна пе&
риодически демонстрироваться в процессе нормального функциони&
рования и/или по запросу администратора путем выполнения паке&
та программ самотестирования (FPT_TST.1.1). У администратора
должна быть возможность верифицировать целостность данных
(FPT_TST.1.2) и выполняемого кода функций безопасности
(FPT_TST.1.3).
Проект безопасности АИС ГУАП
Выше описана политика безопасности для распределенной систе&
мы электронного документооборота и сформулирован конкретный
набор функциональных требований к подсистеме безопасности. Эти
требования являются основанием, базисом, на котором разрабаты&
вается архитектура, возводится остов комплексной подсистемы бе&
зопасности АИС ГУАП.
Согласно перечисленным ранее требованиям, подсистема безопас&
ности АИС ГУАП должна включать показанный на рис. 2 набор ком&
понентов.
1. Защита периметра.
Уровень межсетевого экрана:
1) ограничение доступа к серверам системы, доступ только с зара&
нее определенного диапазона ip&адресов;
2) ограничение стороннего сетевого трафика через серверы систе&
мы, ограничение доступных для использования сетевых портов и
протоколов;
3) противодействие DoS&атакам.
2. Модуль идентификации и аутентификации.
Обеспечивает следующие функции по уровням защиты.
Уровень вебсервера:
1) взаимная аутентификация клиента и сервера с использованием
цифровых сертификатов (протокол HTTPS, проверка серверного и
клиентского сертификатов).
185
186
87
8773
73
839888485
83988485
12345678995
735
2254595
25845
898988 34345
2254595
25845
4334988 34345
55
599
1
234567 99
33
3831
8
8 31
369
8
234567 15481
55
24873
7 5478
234567 5169
8
91
3 8
234567 5169
8
4353
8
3188
1
234567 849
88188 8 159
88188
9 199
29993 1
1
454
1223435637 28359
43
443 36544
367
243
6637
53
4
436 8 1 !1
53 236
5
12345 67589
23
254848
33
8
22429 583
2 25925
6
67589
23
52498 84
Рис. 2. Архитектура подсистемы безопасности АИС ГУАП
12345678995
735
2254595
25845
4583 59677 28 853
9 1159
367319678
2341 98813
Уровень системы:
2) идентификация пользователей через уникальные идентифика&
торы пользователей в системе;
3) аутентификация пользователей при входе в систему;
4) реакция на неудачные попытки аутентификации:
a) отказ в аутентификации после превышения числа неудач&
ных попыток с возможностью автоматически заблокировать
учетную запись пользователя;
б) отказ в аутентификации по тайм&ауту;
в) повтор процедуры идентификации/аутентификации при от&
сутствии активности пользователя в течение заданного проме&
жутка времени;
5) соответствие пользователей и субъектов системы;
6) дополнительная аутентификация клиента на уровне системы
через проверку цифрового сертификата клиента.
3. Модуль управления сеансом связи.
Уровень вебсервера:
1) установление и разрыв защищенного соединения по протоколу
HTTPS.
Уровень системы:
2) установление, поддержание и контроль сеанса связи с автори&
зованным пользователем с момента авторизации и до выхода пользо&
вателя из системы.
4. Модуль управления доступом к информации.
Разграничение доступа к данным и функциям системы в соответ&
ствии с правами пользователя.
Уровень системы:
1) разграничение доступа к модулям системы.
Уровень базы данных:
2) разграничение доступа к данным.
5. Модуль резервного копирования и восстановления:
1) источники бесперебойного питания для серверов системы;
2) резервные серверы;
3) резервные каналы связи;
4) подсистемы резервного копирования и восстановления;
5) создание контрольных точек системы с возможностью отката;
6) квотирование. Каждый из образующих систему процессов име&
ет ограничения по использованию долговременной и оперативной
памяти и процессорного времени.
187
6. Модуль управления сертификатами.
Обеспечение полного цикла операций по управлению цифровыми
сертификатами: генерация, хранение, распределение, отзыв, проверка
и подтверждение.
7. Модуль аудита.
Уровень вебсервера:
1) протоколирование работы веб&сервера.
Уровень системы:
2) протоколирование работы отдельных элементов системы: БД
(MySQL), модуля управления цифровыми сертификатами (OpenCA)
и т. д.;
3) протоколирование работы системы в целом, регистрация всех
событий в системе в едином формате:
a) регистрация информации о текущем сеансе связи (время нача&
ла сеанса, IP&адрес клиента и т. п.);
б) регистрация информации по действиям пользователя;
в) регистрация информации по событиям системы;
4) автоматическое детектирование вероятного нарушения безо&
пасности;
5) локальная и удаленная сигнализация администратору об обна&
ружении вероятного нарушения безопасности;
6) общий формат событий системы: идентификатор объекта, иден&
тификатор субъекта, адрес узла сети, тип события, дата и время со&
бытия, дополнительные параметры;
7) доступ к протоколам работы системы только для администра&
тора системы.
8. Модуль управления средствами защиты.
Управление средствами защиты осуществляется через единый
интерфейс доступа. Администратор системы, и только он, после про&
хождения процедуры дополнительной авторизации может получить
доступ и изменить параметры работы следующих модулей:
1) управления пользователями системы (создание, удаление, из&
менение прав);
2) управления (генерация, отзыв) цифровыми сертификатами;
3) аудита системы (просмотр/модификация журналов работы си&
стемы);
4) тестирования базы данных на корректность содержащихся зна&
чений;
5) тестирования исполняемого кода.
188
Выводы
1. Все описанные в статье этапы создания комплексной много&
модульной подсистемы безопасности являются важными и обяза&
тельными для выполнения в полном объеме. Переход к следующе&
му этапу невозможен без полного завершения предыдущего: от оп&
ределения и анализа вероятных угроз к формулированию задач и
политики безопасности, выбору на их основе обязательных к вы&
полнению функциональных требований на базе общепринятых
стандартов (использовался ИСО/МЭК 15408&1–2002), затем за&
данию четкого соответствия [угроза]–[объект безопасности]–[фун&
кциональные требования]–[модуль] и далее к проектированию ар&
хитектуры будущей системы и этапам реализации.
2. Современные стандарты и положения в области безопаснос&
ти (в первую очередь «Общие критерии» и связанный с ним стан&
дарт ИСО/МЭК 15408&1–2002) являются удобным инструментом
и содержат все необходимое для создания средств защиты высокой
степени сложности. А большое число созданных на их базе профи&
лей и наборов политик безопасности позволяет, легко и гибко их
комбинируя, создать новый набор функциональных требований
под конкретную задачу защиты. В результате разработка полити&
ки и проекта безопасности сводится к выбору конечного набора
требований из профилей/стандартов и обоснованию их достаточ&
ности для рассматриваемой задачи.
3. Первым признаком того, что профиль защиты был сформу&
лирован правильно и верно (до лабораторных испытаний и аудита
системы), является четкая и даже очевидная связь между пункта&
ми профиля и предполагаемыми к использованию программными
модулями. Другими словами, проектирование должно плавно и
логично перейти в этап реализации, не встречая видимых затруд&
нений. И наоборот, ошибки и упущения при создании профиля и
проекта защиты вызывают колоссальные трудности и временные
задержки на этапах разработки.
Спроектированная и разработанная авторами статьи архитек&
тура модулей безопасности системы автоматизированного докумен&
тооборота Санкт&Петербургского государственного университета
аэрокосмического приборостроения находится в стадии опытной
эксплуатации.
Авторы надеются, что изложенный материал поможет разра&
ботчикам и аналитикам безопасности при создании систем анало&
гичного класса.
189
Литература
1. ГОСТ Р ИСО/МЭК 15408&1–2002. Информационная технология. Ме&
тоды и средства обеспечения безопасности. Критерии оценки безопаснос&
ти информационных технологий. М.: Госстандарт России, 2002.
2. CCIMB&99&031. Common Criteria for Information Technology Security
Evaluation Version 2.1. Aug. 1999. [http://www.radium.ncsc.mil/tpep/
library/ccitse/ccitse.html]
3. Controlled Access Protection Profile (CAPP). Version 1.d. Oct. 1999.
4. Authorization Server Protection Profile (ASPP) For Basic Robustness
Environments. Version 0.41. Apr. 2004 (DRAFT): Science Applications
International Corporation.
5. ГОСТ 28147–89. Системы обработки информации. Защита крипто&
графическая. Алгоритм криптографического преобразования. М.: Изд&во
стандартов.
6. ГОСТ Р 34.10–94. Информационная технология. Криптографиче&
ская защита информации. Процедуры выработки и проверки электрон&
ной цифровой подписи на базе асимметричного криптографического алго&
ритма. М.: Изд&во стандартов.
7. ГОСТ Р 34.10–2001. Процессы формирования и проверки электрон&
ной цифровой подписи. М.: Изд&во стандартов, 1995.
8. Безопасность информационных технологий. Операционные системы.
Клиентские операционные системы. Профиль защиты ОС. Версия 1.0/
Центр Безопасности Информации. 2003.
9. Профили защиты на основе «Общих критериев»/ В. Б. Бетелин, В. А. Га&
латенко, М. Т. Кобзарь и др.: Бюллетень JET INFO; аналитический обзор.
2003. [http://www.jetinfo.ru/2003/3/1/article1.3.2003.html]
АЛГОРИТМЫ
ДЛЯ РАСПРЕДЕЛЕННЫХ СИСТЕМ
192
К. Р. Большаков,
ассистент
СанктПетербургский государственный университет
аэрокосмического приборостроения
О ПРОБЛЕМАХ ПРОТОКОЛОВ
ВЗАИМОДЕЙСТВИЯ РАСПРЕДЕЛЕННЫХ
ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
В условиях разнообразия известных и новых протоколов взаимо&
действия распределенных систем методы атаки на такие системы ча&
сто основываются не только на несовершенстве моделей безопаснос&
ти самих систем, но и на недостатках протоколов взаимодействия,
влекущих за собой зависимость от человеческого фактора. К таким
недостаткам можно отнести различную интерпретацию данных, по&
ступающих из сети, на разных уровнях стеков протоколов, отсут&
ствие строгой типизации данных в сообщениях протоколов, синтак&
сические структуры без явно указанных длин. Использование конст&
рукций сообщений, удобных для прочтения человеком (как, напри&
мер, в протоколах, ведущих свое происхождение от HTTP [1]), при&
водит к неудобству их интерпретации на машинном уровне, что,
в свою очередь, провоцирует ошибки программирования, влекущие
появление уязвимостей. Реализации многих стеков протоколов име&
ют дефекты, свойственные не столько выбранному методу реализа&
ции и имеющие причиной ошибки системного программиста, сколь&
ко заложенным в саму структуру протоколов и системных библиотек
недостаткам и нечетким спецификациям. Снижение производитель&
ности протоколов часто происходит за счет неоптимального метода
кодирования данных.
Разработка протоколов и стеков протоколов уровня приложений
обычно включает в себя этапы спецификации, реализации, тестиро&
вания и эксплуатации построенных на основе этих протоколов рас&
пределенных систем. Рассмотрим каждый из этапов, отметив, что
основное внимание будет сконцентрировано на этапах специфика&
ции и реализации.
На сегодняшний день активно развивающиеся протоколы часто
разрабатываются не в закрытом режиме (одной стандартизационной
организацией), а комитетами, куда входят поставщики программ&
ного обеспечения, либо сообществами, в которых выполняется рабо&
та по анализу и изменению черновых вариантов протоколов. Приме&
ром таких организаций могут служить рабочие группы IETF (Internet
Engineering Task Force), разрабатывающие значительное число со&
193
временных протоколов уровня приложений (но не ограничиваясь им).
Как правило, и независимые разработчики (которые редко являются
таковыми – даже университетские исследования финансируются кор&
порациями), и производители программного и аппаратного обеспе&
чения, а также зависящие от них производители услуг в области те&
лекоммуникаций весьма заинтересованы в скорейшем появлении на
рынке продуктов, соответствующих новым стандартам. Не вдаваясь
в рассмотрение мотивации, отметим, что одним из инструментов до&
стижения цели широчайшего распространения новых протоколов
является использование каких&либо старых протоколов в качестве
базовых если не по семантике, то по синтаксису.
Примером такого заимствования синтаксиса и, отчасти, семанти&
ки некоторых операций может служить протокол SIP (Session
Initiation Protocol) [2], многое перенявший у протокола HTTP
(Hypertext Transfer Protocol). Даже спецификация SIP содержит зна&
чительное число нормативных ссылок на спецификацию HTTP. Ис&
пользование известных протоколов в качестве базы позволяет наде&
яться, во&первых, на ускоренную адаптацию разработчиков ПО, а
во&вторых, на возможность повторного использования программных
компонент, применяемых для работы с базовыми протоколами. До&
полнительным критерием «простоты» часто служит «читаемость»
двоичного представления нового протокола: возможность человека
без использования специальных средств визуально воспринимать сооб&
щения протокола. Заметим, что такой же подход свойственен и недавно
принятому стандарту в области представления данных – XML [3].
Такой подход страдает несколькими недостатками. Во&первых,
не принимаются во внимание многие недостатки базовых протоко&
лов. Например, и у XML, и у HTTP наблюдается значительная избы&
точность представления как в структуре, так и в содержании инфор&
мационных полей. В IETF даже была разработана группа стандартов
SIGCOMP – стандарты по сжатию сообщений протоколов с неэко&
номным представлением сообщений. Во&вторых, отсутствие явной
типизации полей, их переменная длина без ее явного указания и ори&
ентированность на «читаемость» приводят к необходимости неодно&
кратных преобразований содержимого информационных полей про&
токолов при их кодировании и декодировании (этот процесс называ&
ется «экранированием» – escaping). В&третьих, протоколы часто на&
следуют и нестройную структуру. В качестве примера можно привес&
ти принцип группирования заголовков в протоколе SIP: все заголов&
ки, внутренняя структура которых представима в виде списка, могут
группироваться через запятую внутри одного заголовка с тем же име&
194
нем, и лишь четыре заголовка такого вида группироваться не могут.
В этом примере видно, что протокол не только содержит правило,
обоснование для которого существует лишь для меньшей части заго&
ловков, но и содержит исключения из этого правила. В&четвертых,
спецификация протокола декларирует цель уменьшения размера со&
общений и, в связи с этим, вводит дополнительные однобуквенные
обозначения для имен заголовков протокола, что приводит к вопро&
су о необходимости других представлений имен заголовков.
Кроме приведенных недостатков, синтаксическая структура с по&
лями переменной длины без явного ее указания и вложенные синтак&
сические конструкции провоцируют ошибки при реализации прото&
колов, что было убедительно показано в работе [4]. Типичными ошиб&
ками для реализаций являются не только переполнения буферов и
стеков [5], когда синтаксическая структура по вложенности, длине
или повторяемости элементов превышает предусмотренные разработ&
чиком пределы, но и переполнение памяти, что имеет место при ис&
пользовании устройств с ограниченным ее объемом.
На этапе реализации проявляются как ошибки, упомянутые
выше, так и нечеткость спецификации самих протоколов. Специфи&
кация того же протокола SIP требует от читателя значительных уси&
лий при своей интерпретации; в помощь тем, кто занимается реали&
зацией этого протокола, даже организована рассылка, в которой со&
здатели спецификации протокола помогают разработчикам про&
граммного обеспечения в интерпретации спецификации.
При реализации также проявляются проблемы системных и при&
кладных библиотек, например работы со строками или выделением
памяти. Некоторые стандартные библиотеки содержат функции, нео&
сторожное применение которых может привести к перезаписыванию
сторонних областей памяти.
Тестирование протоколов перекликается с реализацией. Автора&
ми исследования [4] были разработаны наборы тестов для некото&
рых распространенных протоколов, которые показали, что даже про&
граммное обеспечение, произведенное известными компаниями, стра&
дает от проблем реализации и подвержено как атакам отказа в серви&
се, так и захвату устройств и узлов, на которых выполняется это
программное обеспечение. Некоторые из реализаций криптографи&
чески защищенных протоколов содержали уязвимости, связанные с
недостаточной криптостойкостью использованных генераторов псев&
дослучайных чисел [6].
Эксплуатация протоколов предусматривает наличие процесса как
введения поправок в уже существующие спецификации, так и добав&
195
ления расширений. К сожалению, такой процесс часто начинается
только после выпуска нескольких расширений, которые неортого&
нальны друг другу, что сильно затрудняет их реализацию, и только
после этого создаются рекомендации по разработке расширений [7].
Таким образом, требуется введение ряда мер, позволяющих раз&
рабатывать безопасные приложения на основе существующих стан&
дартов и обеспечивающих отсутствие указанных недостатков в спе&
цификациях будущих протоколов, что важно для создания защи&
щенных телекоммуникационных систем.
Для решения первой задачи существуют следующие методы за&
щиты:
стандартизация и сертификация библиотек криптографических
примитивов, что позволяет гарантировать свойства реализаций крип&
тографических примитивов, используемых в реализациях стеков
протоколов;
отказ от использования распространенных небезопасных библио&
течных вызовов. В этом случае разработчик использует безопасные
методы, что уменьшает число ошибок, происходящих из&за небреж&
ного программирования;
использование специальных средств защиты программного кода,
например компиляторов, проверяющих фрейм стека при возврате из
вызова [8].
В некоторых случаях на этапе дизайна следует прибегать к фор&
мальной верификации проектируемых реализаций с помощью, на&
пример средств автоматической проверки моделей [9].
Вторая задача требует продуманности решения не только с точки
зрения решаемых протоколом актуальных вопросов, но и с точки
зрения последующих расширений. Одним из проработанных в смыс&
ле архитектуры подходов является расширяемое семейство протоко&
лов на основе абстрактной синтаксической нотации (АСН.1 [10]),
адаптированных в Российской Федерации как ГОСТ Р ИСО/МЭК
8824–(1,2,3)–2001. Это семейство основано на формальных прави&
лах преобразования в битовый поток последовательностей, описан&
ных с помощью формальных синтаксических правил. Протокол не
позволяет вводить новые типы данных, но использует тот же под&
ход, что и многие языки программирования: новые типы данных кон&
струируются из старых. Это позволяет однократные проектирование
и реализацию модуля генерации и разбора сообщений протокола.
Протокол использует строго типизированные данные и позволяет
легко конструировать на своей основе новые протоколы, в том числе,
с возможностью расширения. Двоичное представление сообщений
196
протокола содержит либо указание на тип данных, имеющий фикси&
рованную длину, либо длину элемента, варьирующегося в размере.
Упаковка данных из внутреннего представления в двоичное произ&
водится достаточно экономным образом. Повсеместное введение
АСН.1 как базы для разрабатываемых протоколов уровня приложе&
ний обеспечит как облегчение разработки будущих расширений, так
и повышение качества реализаций стеков протоколов за счет унифи&
кации модулей работы с данными.
Литература
1. Hypertext Transfer Protocol – HTTP/1.1. RFC 2616 / R. Fielding,
J. Gettys, J. Mogul et al. June 1999 (http://ietf.org/rfc/rfc2616.txt).
2. SIP: Session Initiation Protocol. RFC 3261/ J. Rosenberg, H. Schulz&
rinne, G. Camarillo et al. June 2002 (http://ietf.org/rfc/rfc3261.txt).
3. Yergeau F., Cowan J., Bray T. and oth. XML 1.1. W3C Recommendation,
February 2004. (http://www.w3.org/TR/xml11).
4.PROTOS – systematic approach to eliminate software vulnerabilities /
J. Röning, M. Laakso, A. Takanen et al.: Invited presentation at Microsoft
Research, Seattle, USA. May 6, 2002. (http://www.ee.oulu.fi/research/
ouspg/protos/sota/MSR2002&protos/index.html).
5. One Aleph. Smashing the stack for fun and profit. Phrack Magazine. 49.
Vol. 7. issue 49. file 14 (http://www. phrack.org/phrack/49/P49&14).
6. Goldberg I., Wagner D. Randomness and the netscape browser. Dr.
Dobb’s Journal, Jan. 1996. (http://www.cs.berkeley.edu/~daw/papers/ddj&
netscape.html).
7. Change Process for the Session Initiation Protocol (SIP). RFC 3427 /
A. Mankin, S. Bradner, R. Mahy et al. Dec. 2002 (http://ietf.org/rfc/
rfc3427.txt).
8. StackGuard: Automatic adaptive detection and prevention of buffer&
overflow attacks / C. Cowan, C. Pu, D. Maier et al. // Proceedings of 7th
USENIX Security Conference. 1998. Texas, San Atonio. P. 63–78.
9. Holzmann G. J. The Model Checker SPIN // IEEE Trans. on Software
Engineering. 1997. 23(5). P. 279–295.
10. ГОСТ Р ИСО/МЭК 8824–(1,2,3)–2001. Абстрактная синтаксическая
нотация версии один (АСН.1). Спецификация основной нотации. Специ&
фикация информационного объекта. Спецификация ограничения.
197
А. В. Сергеев,
аспирант
СанктПетербургский государственный университет
аэрокосмического приборостроения
АНАЛИЗ НОВОГО ГИБРИДНОГО ПРОТОКОЛА
МАРШРУТИЗАЦИИ ДЛЯ БЕСПРОВОДНЫХ СЕТЕЙ
С УЧЕТОМ РАЗЛИЧНЫХ УСЛОВИЙ
РАСПРОСТРАНЕНИЯ РАДИОСИГНАЛА
Введение
Беспроводные сети передачи данных, появившиеся в 70&х годах
прошлого века как приложения для специальных и, главным обра&
зом, для военных задач, претерпевают сейчас бурное развитие. При&
чина этого – мощный рост и широчайшее распространение средств
вычислительной техники и связи, позволившие значительно расши&
рить сферу применения таких сетей.
Крупным подклассом беспроводных сетей являются ad hocсети
(MANET – Mobile Ad Hoc NETworks) – сети без предварительной ин&
фраструктуры, с изменяющейся из&за подвижности узлов топологи&
ей. Каждый узел в ad hoc&сети работает одновременно подобно конеч&
ной системе и маршрутизатору. Приложениями таких сетей являют&
ся различного рода телематические комплексы, системы управления
движением, мобильные боевые системы и т. д. Ключевой задачей в ad
hoc&сетях является задача маршрутизации.
Цель данного исследования – проведение анализа и оценка произ&
водительности нового комбинированного протокола (CRP), объеди&
няющего возможности двух различных схем маршрутизации: 1) схем,
использующих географическую информацию (таких как GPSR);
2) алгоритмов, основанных на топологии сети (AODV). Сравнение
проводится с использованием различных моделей распространения
радиосигнала (2 Ray Ground, Shadowing, Walfish&Ikegami Pass Loss),
имитирующих как открытое пространство, так и городские условия.
Интерес представляют относительно «плохие» условия средней
плотности узлов в сети при их высокой подвижности.
Протоколы маршрутизации в ad hocсетях
Маршрутизация принадлежит сетевому уровню относительно се&
миуровневой ISO/OSI модели. В сетях c многократным переприемом,
примером которых являются ad hoc&сети, терминалы могут не иметь
возможности для непосредственной связи друг с другом. Протоколы
198
маршрутизации используются для обеспечения узлов информацией,
необходимой для отправки пакетов следующему узлу на пути от ис&
точника до получателя по всем маршрутам. Согласно принятой клас&
сификации [1, 5], схемы маршрутизации в ad hoc&сетях делятся на
три больших класса.
1. Преактивные (Proactive). Все узлы сохраняют представление
всей сети. Информация о маршрутизации хранится в таблицах. Имен&
но поэтому данный подход называют также табличным (table&driven).
2. Реактивные (Reactive). Известны также как инициализируе&
мые источником по требованию (on demand). Этот тип протоколов
устанавливает маршруты связи по запросу, только когда нужен путь
до конечного узла. Одним из таких протоколов является AODV (Ad
hoc On&Demand Distance Vector) [2]. Для каждого объекта в сети таб&
лицы маршрутизации содержат информацию о следующем узле на
пути к узлу&получателю, временные метки и служебную информа&
цию. Маршруты поддерживаются только в том случае, если они дей&
ствительно используются. Во избежание зацикливания и для под&
тверждения того, что маршрут действительно свежий, используют&
ся порядковые номера. AODV использует следующие типы пакетов:
Приветственные сообщения, Запрос о маршруте связи (RREQ), От&
вет о маршруте связи (RREP), Ошибка маршрута связи (RERR). Ког&
да на узле появляется пакет данных для передачи, а путь до адресата
не известен, инициируется широковещательная передача сообщений
RREQ всем «соседям». Маршруты, по которым следовал запрос, фик&
сируются на промежуточных узлах. Сообщения RREQ будут размно&
жены через сеть во всех направлениях, пока не достигнут адресата
или узла с достаточно свежим маршрутом, после чего по обратному
пути от получателя к отправителю высылается сообщение типа
RREP, устанавливающее на промежуточных узлах путь для после&
дующей передачи пакетов данных. Основные проблемы протокола
AODV заключаются в следующем:
разрывы в маршруте передачи данных приводят к потере пакетов
данных или инициируют комплексную процедуру восстановления
маршрута;
объем контрольного трафика растет с увеличением плотности и
размера сети;
длинные маршруты слишком неустойчивы;
не поддерживаются множественные маршруты до узла&получателя.
3. Маршрутизация на основе географической информации.
Предполагается, что все узлы оснащены приемниками системы мо&
бильного позиционирования (GPS, ГЛОНАСС) и могут определить
свое географическое положение. Между мобильными объектами в сети
199
происходит постоянный обмен информацией о местоположении друг
друга.
Представителем этого подкласса является протокол GPSR (Greedy
Perimeter Stateless Routing) [3]. При использовании данного прото&
кола узел&источник включает координаты узла&назначения в каж&
дый передаваемый пакет. Промежуточные узлы принимают решение
о дальнейшем направлении передачи (выбирают следующий узел),
основываясь на координатах узла&назначения, содержащихся в па&
кете и координатах своих «соседей» (выбирается ближайший к узлу
назначения «сосед» с точки зрения географического расстояния). Та&
кой способ маршрутизации носит название «жадного» (Greedy mode).
В случае отсутствия узлов, более близких к получателю (основ&
ная проблема данного протокола), чем текущий узел, используется
режим периметра (perimeter mode), основанный на обходе такого
пустого пространства (void) по правилу правой руки.
«Проблема обхода периметра» является основной для всех схем,
использующих «жадный» алгоритм маршрутизации, усугубляя и без
того серьезные недостатки протокола GPSR:
маршруты становятся еще более неоптимальными и длинными;
из&за неэффективных маршрутов, непрерывного движения узлов
и ограничений на время жизни пакета (TTL) вероятность его сбрасы&
вания и удаления на промежуточных узлах возрастает;
эффективность протокола зависит от алгоритма планаризации
графа сети.
Кроме того, узел&получатель может поменять свое местонахожде&
ние за время процесса передачи данных. GPSR не имеет средств для
обновления этой информации во время установки маршрута, что,
опять же, приводит к еще более длинным маршрутам и удалению
пакета из&за ограничений на время его жизни. Таким образом, GPSR,
по сути, «промахивается», полагаясь на данные от системы достав&
ки географической информации, которая не согласована полностью
с алгоритмом маршрутизации.
Комбинированный протокол маршрутизации
Создание эффективной комбинации реактивных и преактивных
протоколов является одной из открытых проблем беспроводных
ad hoc&сетей. Ставится задача на базе описанных выше протоко&
лов (AODV и GPSR) создать новую, более эффективную схему мар&
шрутизации. Основная идея предлагаемой схемы – использование
протокола AODV как решение для «проблемы обхода периметра»
GPSR. Формальное описание такого комбинированного протоко&
200
ла, названного Combined Routing Protocol (CRP), выглядит следу&
ющим образом.
ЕСЛИ возможно – используется GPSR в «жадном» режиме: пере&
дача пакетов «на лету» к ближайшему узлу, географически более
близкому к получателю.
В ПРОТИВНОМ СЛУЧАЕ – используется упрощенный AODV (без
восстановления маршрута в случае разрыва), происходит проклады&
вание маршрута от текущего узла до получателя (вместо режима об&
хода периметра) с последующей передачей данных по нему.
Преимущества новой схемы маршрутизации в сравнении с двумя
базовыми протоколами (GPSR и AODV).
1. Более стабильные маршруты в AODV&режиме. Это достигается
путем уменьшения числа коммутаций и длины маршрутов за счет
предварительного использования GPSR&режима. В результате для
комбинированной схемы вероятность разрыва проложенного в AODV&
режиме маршрута меньше, чем для обычного AODV:
Prb 1 GPSR+AODV 2343Prb 1 AODV 2.
2. Быстрая передача данных между соседними узлами. Во многих
случаях пакеты данных могут быть доставлены без использования
режима AODV и механизмов установления маршрута (RREQ + RREP).
3. За счет предварительного использования GPSR установление
AODV&маршрутов происходит гораздо быстрее, так как эффектив&
ность широковещательной передачи RREQ пакетов в режиме AODV
растет по мере приближения к узлу&получателю.
В отдельных случаях предлагаемая комбинированная схема мо&
жет показывать худшие результаты по сравнению с базовыми прото&
колами. Причиной этого в основном являются усиленные наслед&
ственные «болезни» родительских протоколов. Скрещивание двух
различных механизмов маршрутизации позволило получить целый
ряд новых преимуществ, однако проблемы и «минусы» базовых схем
во многом сохранились.
Ниже перечислены недостатки рассматриваемой гибридной схемы.
1. Маршруты до получателя могут включать циклы, что стано&
вится еще одной причиной появления неоптимальных маршрутов.
Данная проблема получена в наследство от GPSR, в котором не пре&
дусмотрено никаких механизмов, предотвращающих зацикливание
маршрутов передачи (зацикленные пакеты просто удаляются).
2. Режим AODV начинает работать только в случае провала «жад&
ной» передачи GPSR; поэтому новой составной схеме требуется боль&
ше времени по сравнению со стандартным AODV для накопления
информации о маршрутах в сети и заполнения маршрутных таблиц.
201
Таблицы стандартного протокола AODV содержат более полную и
актуальную информацию о сети.
3. В случаях, если пустая зона находится рядом с узлом&отправи&
телем и при этом «жадный» GPSR&режим по какой&либо причине
отказывает, эффективность составной схемы маршрутизации стано&
вится ниже, а вероятность появления цикла – выше.
Описание модели
На данный момент не известно ни одной общепринятой аналити&
ческой модели для оценки эффективности протоколов маршрутиза&
ции в ad hoc&сети. Поэтому исследования проводятся с помощью ими&
тационного моделирования. Одним из наиболее известных и широко
используемых пакетов для моделирования компьютерных сетей яв&
ляется симулятор Network Simulator 2 (ns&2) – дискретный симуля&
тор, предназначенный для моделирования различных видов сетей,
в том числе и беспроводных.
Основными параметрами модели ad hoc&сети являются:
параметры среды, в которой распространяется сигнал;
линейные размеры области, на которой находится моделируемая
сеть;
количество узлов, участвующих в эксперименте;
параметры мобильности узлов;
параметры трафика;
время эксперимента;
протокол маршрутизации;
протокол доступа к среде.
Реализация протокола AODV включена в состав ns&2, протокол
GPSR был реализован Е. Линским [4] и А. Комратовым, протокол
CRP – автором. Используемая модель (таблица) описывает множе&
ство мобильных узлов, передвигающихся по равнине без препятствий.
Узлы передвигаются в соответствии с моделью случайных конт&
рольных точек (random waypoint model) [5]: узел случайным образом
выбирает конечную точку и скорость из некоторого диапазона и на&
чинает двигаться согласно выбранным параметрам. После достиже&
ния конечной точки узел останавливается на заданный период вре&
Основные параметры модели
Число
Время
Размер
Размер сети, м
узлов
остановки, с пакета, байт
30
202
1000 ´ 1000
550 ´ 550
40
512
Трафик
Длительность
эксперимента, с
CBR
500
мени и процесс начинается сначала. Время остановки характеризует
степень мобильности узлов. Обмен пакетами происходит по прото&
колу UDP, протокол доступа к среде – 802.11.
Для работы протоколов GPSR и CRP необходимо наличие сервиса
географических координат, который снабжал бы узел&отправитель ко&
ординатами узла&назначения. При моделировании была использована
идеальная модель данного сервиса. С учетом данного допущения, мож&
но утверждать, что полученные результаты для GPSR и CRP соответ&
ствуют минимально возможному объему служебных сообщений.
Модели распространения радиосигнала
Распространение сигнала от источника до получателя можно пред&
ставить в виде суммы сигналов, дошедших по разным путям от пере&
дающей до приемной антенны. Такое распространение называется
многолучевым. Радиоволны приходят в точку приема в результате
многократного переотражения от зданий и других объектов. Трасса
распространения радиоволн, как правило, нестационарна, что свя&
зано как с изменением положения самого передатчика, так и с пере&
мещением окружающих объектов (автомобилей, людей), в результа&
те чего на приемном конце наблюдаются замирания сигнала (рис. 1).
Радиоволны в подобных условиях подвергаются воздействию следу&
ющих эффектов:
экранированию;
отражению от крупных объектов;
преломлению в зависимости от плотности среды прохождения;
66726896
3239
7933
123456726896
3239
7933
Рис. 1. Принимаемая мощность сигнала
в зависимости от времени
203
а)
б)
12345678 1 9
2
973979
12345678254
973979
Рис. 2. Результат многолучевого распространения:
а – сигнал на передатчике; б – сигнал на приемнике
рассеиванию из&за небольших препятствий;
дифракции на углах;
федингу и т. д.
Многолучевое распространение приводит к тому, что в точке приема
наблюдаются сигналы с различными временными задержками. На&
кладываясь один на другой, они могут приводить к заметному иска&
жению исходного сигнала и межсимвольной интерференции (рис. 2).
Большая часть указанных эффектов может быть описана на при&
емной стороне следующими основными характеристиками:
потерями при распространении (pass loss);
замираниями, связанными с многолучевым распространением
(multipath);
затенением или экранированием (shadowing);
интерференцией (interference).
Для моделирования условий среды распространения радиоволн
были использованы следующие модели.
1. Модель двулучевого отражения от плоской поверхности Земли
(Two Ray Ground). Имитирует распространение сигнала в пригород&
ной зоне [1].
2. Модель затенения (Shadowing). Используется для моделиро&
вания городских условий [1, 5].
3. Модель затухания (Pass Loss) совместно с моделью Уолфиша–
Икегами. Используется для моделирования городских условий [6].
Модель двулучевого отражения от поверхности Земли (Two Ray
Ground). При распространении радиоволн в пригородной зоне для
расчета радиотрасс на свободных от строений пространствах могут быть
использованы так называемые отражательные формулы, согласно
которым электромагнитное поле в точке приема может быть пред&
204
ставлено в виде суммы прямой волны и волны, отраженной от поверх&
ности Земли. В этом случае уравнение для вычисления принятой мощ&
ности сигнала выглядит следующим образом: Pr (d) 1
Pt Gt Gr ht2hr2
Pt , где
d4 L
Pt – мощность передатчика; Gt и Gr – коэффициенты усиления пере&
дающей и приемной антенн; d – расстояние между приемником и пе&
редатчиком; ht и hr – высоты антенн приемника и передатчика.
Однако использование данной формулы на малых расстояниях
между узлами дает не очень хорошие результаты. Поэтому использу&
ется так называемое перекрестное расстояние
dc 1 (42ht hr )/ 3,
а мощность принятого сигнала в зависимости от расстояния d между
узлами выглядит следующим образом.
Если d > dc, то используется уравнение для модели отражения от
плоской поверхности Земли:
Pr (d) 1
Pt Gt Gr ht2 hr2
Pt .
d4 L
Если d 1 dc , то используется модель распространения сигнала в
свободном пространстве, которая предполагает идеальные условия
распространения сигнала по единственному пути от передатчика к
приемнику:
2
2 1 3
Pr (d) 4 Gt Gr 5
6 Pt ,
8 47dL 9
(1)
где l – длина волны.
Модель затенения (Shadowing). Двулучевая модель вычисляет при&
нимаемую энергию сигнала как детерминистскую функцию от расстоя&
ния, а область связи представляется идеальным кругом. В реальных
условиях принимаемая мощность сигнала является случайной величи&
ной вследствие эффектов многолучевого распространения и экраниро&
вания. Для моделирования городской среды часто используется широ&
ко известная модель затенения, состоящая из двух частей.
Первая часть вычисляет среднюю принимаемую энергию Pt (d) на
расстоянии d, учитывая потери при распространении сигнала. Для
этого используется расстояние ближнего радиуса d0; Pt (d) вычисля&
ется относительно Pt(d0) следующим образом:
1
1 d 2
34 5 ,
Pt (d) 6 d0 7
Pt (d0 )
(2)
205
где b – экспонента потерь при распространении, вычисляемая обыч&
но эмпирическим путем.
Из уравнения (2) видно, что для случая прямой видимости b = 2 и
Pt(d0) может быть вычислено из уравнения (1). При пересчете вели&
чины потерь сигнала при распространении в децибелах получается
следующее уравнение:
1 Pt (d0 ) 2
3 d 4
8
9 5 6107 log .
8 Pt (d) 9 db
d0 (3)
Вторая часть модели затенения описывает колебания принимае&
мой энергии из&за возможного изменения пространственного поло&
жения передатчика или окружающих объектов. Данное явление мо&
делируется с помощью случайной распределенной по логарифмичес&
ки нормальному закону величины.
В целом, модель затенения задается следующим образом:
1 Pt (d0 ) 2
3 d 4
9
5 6107 log 8 Xdb ,
9 Pt (d) db
d0 (4)
где Xdb – гауссовская случайная величина со средним, равным нулю,
и среднеквадратичным отклонением sdb. Последнее носит название
разброс экранирования. Таким образом, вместо идеально круглой
зоны приема используется гораздо более реалистичная для город&
ских условий модель – узлы с некоторой вероятностью могут созда&
вать и поддерживать соединение друг с другом.
Модель трассировки потерь при распространении (Pass Loss Ray
Tracing Model). В данной модели для вычисления мощности сигна&
ла, излучаемого из одной точки, а принятого в другой, используются
предварительно вычисленные или измеренные значения потерь при
распространении (PL, Pass Loss). Карта разбивается на сегменты оди&
накового размера, а затем в каждой ячейке сохраняется значение ве
личины потерь сигнала от этой до всех остальных ячеек карты. Та&
ким образом, эта величина (учитывающая одновременно затухание
сигнала и эффект экранирования) известна для любой пары передат&
чик–приемник, расположенных в любой точке карты.
Сами значения предварительно вычислены с помощью любой мо&
дели распространения или измерены на реальной местности только
один раз, а затем могут быть многократно использованы с любыми
сценариями движения и трафика.
Величина принимаемой мощности сигнала в децибелах вычисля&
ется простейшим уравнением
206
Pr = Pt–PL.
Вследствие вышесказанного, модель отличается высоким быст&
родействием, но крайне требовательна к оперативной памяти вычис&
лительной системы. Так как величина затухания сигнала при рас&
пространении от передатчика к приемнику равна величине затуха&
ния при обратном распространении, то требуемый объем используе&
мой памяти можно оценить как
([MapHeight2 1 MapWidth2 ] / 21 [SegmentSize4 ])+
2 MapHeight 1 MapWidth Byte.
В данной работе значения потерь при распространении для каж&
дого сегмента карты были получены с помощью эмпирической моде&
ли Уолфиша–Икегами (Walfisch–Ikegami) [6].
Модель Уолфиша–Икегами. Данная модель относится к классу
эмпирических и, по заявлению создателей, обладает достаточно вы&
сокой точностью при моделировании радиопередач в городских усло&
виях. Модель утверждает (рис. 3), что в условиях города с относи&
тельно невысотной, но плотной застройкой основным путем распро&
странения радиосигнала (в случае отсутствия прямой видимости меж&
ду узлами) является путь, проходящий через крыши зданий (кото&
рые могут быть описаны как серии последовательных экранов), со&
провождаемый многократным рассеиванием.
Основные параметры, используемые в модели:
частота передачи (f);
высота передающей антенны (hRX);
высота приемной антенны (hTX);
расстояние между приемником и передатчиком (d);
1
212
2 12
23445
3
12345678983
666 5 526643 9878
6 5323483 46 523
6 83
Рис. 3. Основной путь распространения радиосигнала и параметры
модели Уолфиша–Икегами
207
средняя высота зданий (hRoof);
средняя ширина улиц (w);
средний интервал между зданиями (b).
Энергия принимаемого сигнала зависит от того, где находится
передатчик по отношению к приемнику.
1. В зоне прямой видимости («line of sight», LOS). Для вычисле&
ния величины потерь при распространении используется относитель&
но простая формула
1 f 2
1 d 2
PLp 3 42,6 4 26lg 5
6 4 20lg 5 МГц 6.
км
7
8
7
8
2. Вне зоны прямой видимости («none line of sight», NLOS).
Этот случай более сложен. Значение, на которое уменьшается мощ&
ность принимаемого сигнала при прохождении пути от источника к
получателю, задается следующей формулой:
l 1l
2 0;
2l 1 l 1 l
PLp 3 4 0 rts msd rts msd
l0
lrts 1 lmsd 3 0,
5
где l0 – потери при распространении в свободном пространстве, без
препятствий:
f
d
2 20lg
;
МГц
км
l rts – потери на стороне получателя, вызванные рассеиванием ра&
диосигнала при отражении от поверхности «конечной» улицы, на
которой находится приемник:
l0 1 32,44 2 20lg
lrts 2 116,9 1 10lg
hRoof 1 hRX
w
f
3 10lg
3 20lg
3 lOri ,
м
МГц
м
где w – ширина дороги; hRoof – высота зданий; hRX – высота антенны
на стороне получателя; параметр lOri – по сути, эмпирическая по&
правка, получаемая путем реальных измерений на местности:
lOri
208
1
2
310 4 0,354
при 05 6 2 6 355;
7
deg
7
7
8 2
9
7
2,5 4 0,075 3 35 при 355 6 2 6 555;
deg
7
7
8 2
9
74,0 4 0,114 3 35 при 555 6 2 6 905,
7
deg
где 1 – ориентация дороги по отношению к пути распространения
сигнала; lmsd – оценка величины потерь, вызываемых многократным
переотражением и рассеиванием радиосигнала от крыш домов (впер&
вые опубликована Уолфишем и Бартони);
lmsd 1 lbsh 2 ka 2 kd lg
где
lbsh
1
hTX 2 hRoof
3
7 218 8 1 5
м
70,
1
254,
2
hTX
2
ka 5 854 4 0,8
2
2
hTX
254 4 0,8
d
f
b
2 kf lg
3 9lg ,
км
МГц
м
4
9, hTX 6 hRoof ;
hTX hRoof ;
hTX 3 hRoof ;
4 hRoof
,
d 6 0,5 км, hTX 7 hRoof ;
м
4 hRoof d /км
9
, d 0,5 км, hTX 7 hRoof ;
м
0,5
hTX 1 hRoof ;
218,
3
kd 5 6
hTX 4 hRoof
, hTX 7 hRoof ;
318 4 15 h
Roof 4 hTX
8
1 2 f /МГц
3
70,7 5 925 4 1 6 для пригородных условий;
7 8
9
kf 44 f
/МГц
3
71,5 2
4 1 6 для города с плотной застройкой.
7 58 925
9
Параметры kd и kf определяют зависимость величины потерь при
распространении от частоты сигнала и рассеивания при прохожде&
нии через последовательные экраны. Увеличение потерь при умень&
шении высоты антенны по отношению к средней высоте окружаю&
щих зданий задается параметром ka.
Результаты моделирования
Сравнение производительности протоколов производилось по сле&
дующим величинам.
209
а)
721
63
83 126
63
46 125
9 124
87
65
43 123
21
121
б)
4
6 79
2 3
9
7
2
1
81
51
91
61
1
1
711
12345672 89
123
81
51
91
61
12345672 89
2
1
711
Рис. 4. Средняя пропускная способность (а) и средняя задержка (б)
для сети из 30 узлов в топологии 1000´1000 м: модель двулуче
вого отражения;
– GPSR;
а)
63
8
36
34
6
9
87
65
43
21
– AODV;
– CRP
б)
721
3
126
725
6
97 723
2 126
9
124
2
1
125
124
123
121
81
51
91
61
1
12345672 89
2
1
81
711
51
91
61
12345672 89
2
1
711
Рис. 5. Средняя пропускная способность (а) и средняя задержка (б)
для сети из 30 узлов в топологии 1000´1000 м: модель затене
ния (b = 3, s = 4);
– GPSR;
а)
721
63 126
83 125
63
46 124
9 123
87 121
564 81
32
1
– AODV;
– CRP
б)
126
6 125
97
2 124
9 123
2
1
51
91
61
12345672 89
2
1
711
1
81
51
91
61
1
12345672 89
2
711
Рис. 6. Средняя пропускная способность (а) и средняя задержка (б)
для сети из 30 узлов в топологии 550´550 м (сценарий Ман
хеттен): модель трассировки совместно с моделью Уолфи
ша–Икегами;
– GPSR;
210
– AODV;
– CRP
1. Средняя пропускная способность (throughput). Измерялась как
отношение количества пакетов с данными, достигших узла назначе&
ния, к общему количеству передаваемых пакетов.
2. Средняя задержка пакета с данными (packet delay). Определя&
ется как промежуток времени, который проходит с момента генера&
ции пакета данных узлом&отправителем до момента его приема уз&
лом&получателем.
Измерения производились для значений загрузки сети от 97 до 60 %
от пропускной способности канала, так как при меньшей загрузке
значения оцениваемых параметров различных протоколов выравни&
ваются. Результаты моделирования представлены на рис. 4–6.
Для модели двулучевого распространения лучшие результаты по
средней задержке и пропускной способности при высокой загрузке
сети демонстрирует протокол AODV. Если путь до адресата существу&
ет, то он будет найден, а маршруты, построенные этим протоколом,
оптимальны. Самая большая задержка при большом уровне трафи&
ка наблюдается у протокола GPSR. Причина этого – крайне неопти&
мальные маршруты, создаваемые этим протоколом.
Преимущества гибридной схемы маршрутизации начинают ска&
зываться при малом и среднем (< 85 %) уровне загрузки сети. Такие
результаты объясняются наличием двух режимов передачи пакетов
данных: в случае большой плотности сети вокруг ретранслирующего
узла используется передача «на лету» в GPSR&режиме, а при нали&
чии пустых зон используются маршруты, прокладываемые AODV.
В случае использования модели затенения, имитирующей «жест&
кие» городские условия, преимущества комбинированной схемы
проявляются сильнее, а протокол CRP показывает наилучший резуль&
тат для обоих оцениваемых параметров, выигрывая у протокола AODV.
Протокол GPSR в условиях города, когда число возможных мар&
шрутов между узлами очень мало, работает крайне неудовлетвори&
тельно. Передача «на лету» не дает возможности определить верный
маршрут (часто единственный) между источником и получателем.
Ситуация невозможности дальнейшей перепосылки пакетов данных
на промежуточных узлах является очень частой. Так как циклы и
передача в обратном направлении не поддерживаются, то GPSR вы&
нужден преждевременно удалять эти пакеты, что и объясняет неболь&
шие значения средней задержки для данного протокола.
Моделирование городских условий с использованием предвычис&
ленной (с помощью модели Уолфиша–Икегами) карты потерь при
распространении показывает похожие, в сравнении с приведенными
выше, результаты для протоколов AODV и CRP по пропускной спо&
211
собности. При этом среднее время доставки пакетов при маршрути&
зации по AODV меньше, чем у CRP.
Выводы
Проведенный в работе анализ производительности нового комби&
нированного протокола маршрутизации в ad hoc&сетях (CRP) пока&
зал следующее.
1. Вне зависимости от условий распространения радиосигнала (го&
род, пригород и т. п.) протокол CRP эффективно решает проблему
периметра GPSR.
2. Протокол демонстрирует хорошие показатели средних пропус&
кной способности и задержки при передаче пакетов по сравнению с
базовыми схемами (AODV, GPSR) при любой степени загрузки сети.
Для некоторых моделей распространения CRP сильно выигрыва&
ет по приведенным показателям у этих протоколов.
Литература
1. Perkins C. E. Ad hoc Networks. Addison&Wesley, 2001. 384 c.
2. Perkins C. E., Royer E. M. Ad&hoc On&Demand Distance Vector Routing //
Proceedings of 2 nd IEEE Workshop on Mobile Computing Systems and
Applications. Feb. 1999. С. 80–100
3. Karp B., Kung H. T. Greedy perimeter stateless routing for wireless
networks // In Proc. of the 6 th Annual ACM/IEEE Int. Conf. on Mobile
Сomputing and Networking (MobiCom 2000). (http://www.eecs.harvard.edu/
~karp/gpvs&mobicom2000.ps).
4. Линский Е. М. Сравнение производительности протоколов маршру&
тизации для at hoc&сетей // Вторая конф. БИКАМП / СПбГУАП. СПб.,
2001. С. 197–200.
5. Tanenbaum A. S. Computer Networks Prentice&Hall 3rd edition. 1996.
912 p.
6. Ikegami F. et. al. Theoretical Prediction of Mean Field Strength on
Urban Streets // IEEE Trans. Ant. and Prop. Vol. 32. N 8. 1984.
212
И. А. Мельник,
ведущий инженерпрограммист
ООО «Научнопроизводственная фирма “Беркут”»
НОВЫЙ МЕТОД ОЦЕНКИ АЛГОРИТМОВ
РАСПРЕДЕЛЕНИЯ OVSFКОДОВ
В СТАНДАРТЕ WCDMA
Введение
WCDMA (Wideband CDMA) – системы третьего поколения (3G),
которые поддерживают переменную скорость передачи данных для
приложений с различным «качеством услуги» (QoS – Quality of
Service). Появление 3G&систем было связано с появлением возмож&
ности передачи данных на больших скоростях (до 2 Мбит/с). В лю&
бой CDMA системе множественный доступ к каналам передачи дан&
ных обеспечивается с помощью кодов, при этом полоса частот – одна
на всех пользователей. Поэтому схемы управления кодами являют&
ся составляющей частью системы, и главной целью их является эф&
фективное использование ресурсов сети. В данной статье предлагает&
ся вероятностный метод оценки алгоритмов распределения OVSF&ко&
дов в стандарте WCDMA.
Каналообразующие коды в WCDMA
WCDMA – это телекоммуникационная система, которая разделя&
ется на две основные части: радиосеть (UTRAN) и проводная сеть.
В радиосети передаваемые пакеты информации распределяются с по&
мощью RNC (Radio Network Controller), а именно, распределение
представлено MAC&протоколом. MAC распределяет пакеты данных
в оба выделенных канала: контрольный канал (DPCCH – Dedicated
Physical Control Channel) и канал данных (DPDCH – Dedicated
Physical Data Channel), а также в разделяемый канал (PDSCH –
Physical Dedicated Shared Channel, далее DSCH). В DSCH может про&
исходить распределение каналообразующих кодов между подключен&
ными абонентами или мобильными станциями каждый раз для фрей&
ма данных [1].
Отображение каналов в системе следующее. Логические каналы
отображаются на транспортные, которые характеризуются тем, как
информация будет передаваться по радиоинтерфейсу. Они предостав&
ляются физическим уровнем для МАС&уровня. Транспортные кана&
лы отображаются в физические (DPCH – Dedicated Physical Channel)
213
на физическом уровне. В DPCH транспортные каналы мультиплек&
сируются с помощью каналообразующих кодов. Далее информация
из всех DPCH суммируется и скремблируется с помощью кода Голда.
Одна базовая станция использует один код Голда, т. е. с помощью
кодов Голда разделяются между собой сигналы базовых станций в
прямом канале (от базовой станции к мобильной). Физический уро&
вень контролируется с помощью RRC (Radio Resource Controller) [2].
В WCDMA в качестве каналообразующих кодов используются ор&
тогональные OVSF&коды (Orthogonal Variable Spreading Factor), ко&
торые обеспечивают множественный доступ, а также используются
для расширения спектра сигнала. Расширение спектра достигается
путем отображения каждого бита данных на выделенную кодовую
последовательность. Длина последовательности называется расши&
ряющим коэффициентом (SF – Spreading Factor). Возможные OVSF&
коды могут быть представлены узлами полного двоичного дерева,
которое изображено на рис. 1 [3].
На каждом уровне дерева все кодовые последовательности ортого&
нальны. Более того, последовательности разной длины на разных
уровнях тоже ортогональны друг другу, за исключением случая, ког&
да более короткая последовательность является родительской для
более длинной. Обозначим код ci как родитель кода cj. Выделяются
следующие важные признаки дерева [4].
1. Каждый узел cj, за исключением корня, может быть сгенериро&
ван из предка ci. Допустим, ci есть x. Далее мы можем получить cj = [x,
x], если cj – правый потомок ci, или cj = [x, –x], если cj – левый пото&
мок ci, где –x – инвертированная последовательность x.
2. Если SF ci = 2k, тогда SF cj = 2k+1. Следовательно, если скорость
передачи данных ci = 2r, то скорость передачи cj = 2r–1. Таким образом,
листы имеют минимальную скорость передачи данных, а корень – мак&
симальную.
75234389484
712343894
75214389484
1234
1235
Рис. 1. OVSFкодовое дерево
214
762343894848484
762143894848484
762543894848484
762743894848484
1236
Одновременное использование потомков или предков не может
быть разрешено, потому что коды, имеющие прямые родственные
связи, не ортогональны.
Стандартом определены два критерия при распределении OVSF&
кодов [5].
1. Использование. Схема выделения кодов, которая сохраняет
большее количество кодов с малыми SF, имеет больший шанс на ис&
пользование. Дело в том, что мобильная станция имеет ограничение
k на количество одновременно используемых кодов. Если стратегия
определила n кодов для передачи больше k, то мобильная станция
блокируется.
2. Сложность. Чем больше используется кодов, тем сложнее сис&
тема. Возможна ситуация, когда, согласно первому критерию, есть,
например, две альтернативы из одного и двух кодов. В этом случае
предпочтительнее выбор схемы с меньшим количеством кодов, т. е.
выбор одного кода.
Существующие алгоритмы распределения кодов
Описание основных (классических) стратегий распределения ко&
дов можно найти в работе [6].
Целью или задачей стратегий и алгоритмов управления OVSF&ко&
дами служит разрешение двух основных проблем [6]: 1) проблемы
распределения (выдачи) кодов; 2) проблемы перераспределения ко&
дов. Обе проблемы связаны с возникающими блокировками родитель&
ских и дочерних кодов при выделении кода. Чем больше блокировок –
тем меньше емкость дерева (т. е. количество кодов, которые могут
быть выделены новым МС), и тем больше вероятность отклонения
запросов на подключение к системе. На рис. 2 показан пример дерева
из четырех уровней, в котором выделено три кода.
Проблема распределения кодов возникает в момент запроса при
наличии нескольких подходящих кандидатов. Должна быть выбра&
на такая стратегия, которая при увеличении нагрузки стремится
уменьшить количество блокируемых кодов при выделении кода. Так&
же стратегия должна стремиться оставить коды с меньшим SF (ско&
ростные коды) для удовлетворения запросов услуг с высокой скорос&
тью.
Проблема перераспределения кодов возникает тогда, когда ем&
кость дерева позволяет удовлетворить запрос, но подходящего сво&
бодного кода нет, т. е. он блокирован из&за занятых потомков с боль&
шими SF. В этом случае можно «освободить» требуемый код путем
размещения занятых потомков в соседних частях дерева на тех же
215
81
94
1234
85
94444
1236
1237
82
944
86
944
1235
89
88
84
94444
8 17
8 11
8
94444
816
8 12
8 15
83
94444
8 14
Рис. 2. Пример используемого OVSFдерева:
– выделенные коды;
коды
– заблокированные коды;
– свободные
SF&уровнях. Здесь должна быть выбрана такая стратегия, которая
минимизирует затраты в процессе перераспределения кодов, чтобы
уменьшить задержку при обработке запроса. Например, в ситуации,
изображенной на рис. 2, коды с SF = 2 заблокированы и запрос на код
будет отклонен. Если освободить код c14, то коды с7 и с3 будут разбло&
кированы и запрос на код с SF = 2 может быть удовлетворен. Алго&
ритм перераспределения в момент запроса на код с SF = 2 должен
поменять выделенный мобильной станции код с14 на код с10.
Перераспределение включает определение поддерева, которое дол&
жно быть освобождено (т. е. поддерева с подходящим блокирован&
ным корневым кодом, выделение которого произойдет в соответствии
со стратегией выдачи кодов). Помимо этого, алгоритм перераспреде&
ления должен определить, куда будут перемещены занятые коды
(т. е. поиск свободных кодов в соседних частях кодового дерева,
в соответствии со стратегией выдачи кодов, с SF, равными SF заня&
тых потомков подходящего заблокированного кода).
Основными можно назвать три стратегии [6]:
1) случайный доступ (random);
2) использование самого левого (leftmost);
3) самый заполненный – первый (crowded&first).
Первая стратегия представляет собой случайный доступ к узлам
дерева с требуемым SF с равными вероятностями. Если при поступле&
нии вызова есть несколько свободных кодов с нужным SF, то случай&
ным образом выбирается какой&нибудь код. В противном случае за&
прос отклоняется.
Суть второй стратегии состоит в том, что при наличии нескольких
подходящих кодов выбирается самый левый. Другими словами, пра&
216
вая часть дерева оставляется для кодов с меньшим SF, или в правой
части концентрируется вся оставшаяся емкость дерева.
В случае использования третьей стратегии при наличии несколь&
ких подходящих кодов выбирается тот, чье поддерево до ближайше&
го корня заполнено в большей степени. При повторном возникнове&
нии конфликта уровень корня понижается и сравниваются получен&
ные поддеревья. Если конфликт не разрешен с учетом описанного
алгоритма, то выбирается либо самый левый, либо самый правый
коды, в зависимости от настройки.
Стратегии перечислены в порядке увеличения эффективности и
увеличения вычислительных затрат при реализации.
Примеры других стратегий и алгоритмов можно найти в работах
[1, 7–10].
Вероятностный метод оценки
Определим состояние как количество занятых кодов на уровнях
дерева. Предположим, что имеется дерево из четырех уровней. Тогда
состояние – это вектор из Ki элементов, i = 1, 2, 3, 4; Ki – число заня&
тых кодов на уровне i. Увеличение значения Ki или переход в другое
состояние означает выдачу кода, уменьшение – высвобождение. Пер&
вый переход происходит с интенсивностью запросов с QoS, требую&
щих коды на различных уровнях дерева. Второй переход происходит
с интенсивностью обработки вызова или, другими словами, зависит
от среднего времени использования абонентом услуги (среднего вре&
мени занятости кода).
Прием запроса ограничивается емкостью дерева или выражением
K1 1 2K2 1 4 K3 1 8 K4 2 Cmax ,
(1)
где K1 – коды с наибольшим SF и наименьшей скоростью (листы);
Cmax – количество листов кодового дерева.
В начальном состоянии все значения элементов Ki равны нулю.
Построим граф возможных переходов из начального состояния.
Пусть поток запросов кодов, поступающий в систему, – простейший.
Простейший поток характеризуется следующими свойствами.
1. Интенсивность потока постоянна и не зависит от времени.
2. События в потоке появляются по одному, а не группами, одно&
временно по несколько событий сразу.
3. События, образующие поток, появляются в те или иные момен&
ты времени независимо друг от друга; каждое из них вызвано своими
собственными причинами.
217
В этом случае переход из состояния в новое состояние означает
увеличение или уменьшение какого&то элемента Ki на единицу. Ин&
тенсивность переходов при увеличении значения Ki может быть не&
одинаковой и зависеть от скоростных характеристик кода или от ус&
луг, запрашиваемых абонентами. Сопоставим каждому переходу, или
ребру графа, вероятность перехода, или вероятность запроса абонен&
том услуги, которая предоставляется с помощью кода с определен&
ными скоростными характеристиками. Сумма вероятностей перехо&
дов из состояния в другие возможные состояния равна единице.
В случае, когда используется алгоритм перераспределения кодов,
то можно сказать, что если при поступлении запроса емкость дерева
позволяет «вместить» его, то он будет обработан с вероятностью 1,
т. е. если при поступлении запроса выполняется неравенство (1), то
запрос будет обработан.
Вероятность блокировки запросов – это доля времени, в течение
которого система находится в состояниях, когда переход в новое со&
стояние нарушает условие (1).
Общая пропускная способность системы – это сумма произведе&
ний пропускной способности каждого состояния на долю времени,
в течение которого система находится в этом состоянии (предельная
вероятность). Пропускная способность состояния – это количество
информации, например в байтах, которое можно передать с помо&
щью кодов, используемых в этом состоянии.
В случае, если алгоритм перераспределения не используется, то
даже при выполнении условия (1) возможны ситуации, когда код не
выдается. Это может происходить ввиду блокировок, возникающих
при выдаче кода. Для отражения состояния по блокированным ко&
дам каждому Ki сопоставим значение Bi, которое показывает количе&
ство заблокированных кодов на этом уровне. Теперь состояние – это
количество занятых кодов и количество блокированных кодов на
каждом уровне дерева, т. е. состояние описывается двумя вектора&
ми: {K}N, {B}N, где N – количество уровней дерева.
При запросе кода на уровне i вероятность перехода на следующий
уровень будет равняться нулю или блокировка вызова будет возни&
кать тогда, когда Bi +Ki = ci, где ci – максимальное количество кодов
на уровне i. Соответственно, для принятия вызова необходимо, что&
бы выполнялось условие
Bi 1 ( Ki 1 1) 2 ci .
(2)
Выражение (1) при этом дополняется выражением (2), т. е. невы&
полнение одного из условий влечет за собой отказ в обработке запро&
са на код.
218
Вероятность блокировки в этом случае – доля времени, в течение
которого система находится в состояниях, переход из которых в сле&
дующее нарушит условие (1) или (2).
Выдача кода дерева влечет за собой блокировку всех потомков и ро&
дителей кода из&за отсутствия ортогональности между ними. Таким
образом, увеличение Ki влечет за собой увеличение значений B на всех
уровнях, меньших i (дочерние коды), и может повлечь увеличение зна&
чений B на следующих уровнях, больших i (родительские коды).
Обозначим N количество уровней в дереве, n – уровень, на котором
происходит выдача кода, n = 1 – уровень кодов с наибольшим SF и
наименьшей скоростью (листы). Тогда при выдаче кода на уровне n
количество блокируемых кодов на уровнях 1 1 i 1 ( N 2 n) (все дочер&
ние) равно Bi = 2N–n–i+1. Общее количество блокируемых дочерних
кодов
Bdesc 1
N 1n
2 2N 1n1i 21.
i 31
(3)
Таким образом, если не учитывать количество блокируемых ро&
дительских кодов, то при обработке запроса на код уровня n, т. е.
при увеличении Kn, изменение вектора K будет следующим:
KN , KN 11, 1, Kn 1 1, 1, K1.
При этом вектор B изменится следующим образом:
(4)
BN , BN 11 , 1, BN 1n 1 2, BN 1n11 1 4, 1, B1 1 2N 1n.
Следовательно, выдача любого кода на уровне n всегда влечет за
собой блокировку фиксированного количества дочерних кодов, рас&
считываемых по формуле (3), при этом вектор B принимает вид (4).
Другими словами, количество блокируемых дочерних кодов для каж&
дого уровня фиксировано, или наличие вектора B не увеличивает
количество состояний, в которые можно перейти из текущего состо&
яния.
На рис. 3 показан пример дерева, где выдан код c2. Количество
заблокированных дочерних кодов равно шести. При выдаче кода c3
количество заблокированных дочерних кодов будет тем же.
Рассмотрим блокировку родительских кодов. Количество блоки&
руемых кодов зависит от того, какие «родственники» кода уже выда&
ны. Интерес представляет любой «родственник» на том же уровне,
что и целевой код, у которого родительский код является родителем
целевого и имеет наименьшее расстояние (в уровнях) до него. Коли&
чество блокированных кодов выражается формулой
Basc 1 l 2 i 2 1,
(5)
219
31
1234567 12
456
1234567 19
35
1234567 1
1234567 15
32
36
457156
34
457157157156
39
4571856
38
3 11
3 17
33
3
45715718571856
45718571857156
45718571571856
3 16
3 12
3 15
3 14
Рис. 3. Пример блокировки дочерних кодов при выдаче кода на тре
тьем уровне:
– выделенные коды;
– заблокированные коды;
31
1234567 12
456
1234567 19
32
36
457156
35
1234567 1
1234567 15
– свободные коды
34
457157157156
39
4571856
38
3 17
33
3
45715718571856
3 11
45718571857156
45718571571856
3 16
3 12
3 15
3 14
Рис. 4. Пример блокировки родительских кодов при выдаче кода на
первом уровне:
– выделенные коды;
– заблокированные коды;
– свободные коды
где i – уровень целевого кода ci,j; l – уровень родительского кода cl,
который одновременно является родителем выданного кода ci,k. Из
всех имеющихся ci,k – занятых кодов на уровне i – выбирается такой
cl, что расстояние от ci,j до cl минимально
min Basc 1 l 2 i 2 1.
l
В случае, если ci,j – первый выдаваемый код во всем дереве, то ко&
личество блокируемых родительских кодов всегда равно N–i, где N –
общее количество уровней в дереве. Нужно отметить, что на каждом
уровне, большем, чем n, может быть заблокирован только один ро&
220
дительский код. Например, если количество блокируемых родитель&
ских кодов равно двум, то это означает, что один из двух кодов нахо&
дится на уровне n + 1, а второй – на уровне n + 2.
На рис. 4 для кода c11 занятыми родственниками на том же уровне
являются коды c9 и c12. Ближайший общий родитель у кодов c11 и c12 –
это код c1. Ближайший общий родитель у кодов c11 и c9 – это код c2. В
качестве l выбираем уровень 3, так как код c2 ближе к коду c11, чем
код c1. По формуле (5) рассчитываем, что количество блокируемых
родительских кодов при выдаче кода c11 равно 1 – это код c5. Если бы
код c9 был свободен, то в качестве l мы выбрали бы уровень 4, и тогда
количество блокируемых кодов равнялось бы 2 – это коды c5 и c2.
Определение количества блокируемых родительских кодов при
выдаче кода Ci,j можно описать следующим алгоритмом.
1. Если ci,j – это первый выдаваемый код, то Basc = N–i, где N –
общее количество уровней в дереве. Переход на шаг 5.
2. Отбросим все уровни, меньшие i, так, чтобы в полученном дере&
ве код ci,j оказался листом.
3. Понизим корень текущего дерева и рассмотрим одно из двух
поддеревьев, в котором находится Ci,j.
4. Есть ли хоть один занятый код на уровне i?
4.1. Если истина и длина рассматриваемого поддерева равна 2,
то Basc = 0. Переход на шаг 5.
4.2. Если истина и длина рассматриваемого поддерева больше 2 –
переход на шаг 3.
4.3. Если ложь, то Basc = N–1, где N – длина рассматриваемого
поддерева. Переход на шаг 5.
5. Конец.
При начальном условии, когда все Ki равны нулю (т. е. ни один
код не выдан), то количество блокируемых родительских кодов все&
гда фиксировано и равно N–i, где N – общее количество уровней в
дереве; i – уровень выдаваемого кода. В случае, если хоть один Ki не
равен нулю, то количество блокируемых кодов в общем случае может
быть от нуля до N–i–1. Элементы Bk, k > i, увеличиваются на едини&
цу у всех уровней из промежутка
N 1 k 2 i.
Так как количество блокируемых дочерних кодов всегда фиксиро&
вано, то максимальное количество возможных новых состояний (аль&
тернатив для перехода), при вводе вектора B, при выдаче кода на
уровне i равно N–i–1 в зависимости от раскладки уже занятых кодов
на этом уровне.
221
Перестраивая граф состояний, получим дополнительные альтер&
нативы перехода из состояния. Например, если дерево имеет четыре
уровня и поступил запрос на код второго уровня, то до ввода вектора
B была возможна только одна альтернатива, т. е. переход, после ко&
торого вектор состояний K имеет элемент K2 (на единицу больше).
После ввода вектора B изменения вектора K остаются теми же, но
появляются три новых варианта:
1) блокировка двух родительских кодов по одному на уровнях 3 и 4.
2) блокировка одного родительского кода на уровне 3.
3) ни один родительский код не блокируется.
Первый вариант возможен только в том случае, если выдаваемый
код – первый во всем дереве. Таким образом, количество альтернатив
перехода такое же, как и до ввода вектора B. Если выдаваемый код –
не первый, то появляется дополнительная альтернатива, т. е. в дан&
ном случае имеется два возможных варианта перехода вместо одно&
го. По большому счету, количество имеющихся альтернатив опреде&
ляет минимально возможное количество кодов&кандидатов для вы&
дачи: если есть две альтернативы, то, как минимум, есть два подхо&
дящих кандидата для выдачи. Какой из вариантов будет выбран,
зависит от используемого алгоритма выдачи кодов. Например, если
используется случайный выбор (стратегия random), то вероятность
переходов в обоих случаях равна 0,5, или, другими словами, данный
алгоритм выбирает код из всех имеющихся кандидатов с равной ве&
роятностью.
Таким образом, мы можем построить граф состояний, вероятнос&
ти переходов у которого определены используемым алгоритмом рас&
пределения кодов, вероятностью запросов кодов различных харак&
теристик, а также средней продолжительностью использования ус&
луг абонентами. Далее, применяя к описанной системе известные
формулы из теории массового обслуживания, можно получить ха&
рактеристики системы, которые будут отражать работу того или ино&
го алгоритма распределения кодов.
Заключение
В данной статье проведен обзор алгоритмов распределения кана&
лообразующих кодов в стандарте WCDMA. Предложен вероятност&
ный метод оценки алгоритма распределения кодов, который позво&
ляет получить такие характеристики, как блокировка вызова, сред&
няя пропускная способность при использовании того или иного ал&
горитма. Дальнейшие исследования будут направлены на получение
графа состояний для конкретного OVSF&дерева, на применение к по&
222
лученной системе формул и оценке имеющихся на текущий момент
алгоритмов распределения кодов данным методом.
Литература
1. Legg P., Villier E. Efficient channelisation code allocation in UMTS
2001 (http://www.priorartdatabase.com/IPCOM/000004839/).
2. TSG RAN WG1 Physical layer – General description Tech. Spec.
TS25.201, 3GPP, December 2003 (http://www.3gpp.org).
3. TSG RAN WG1 Spreading and modulation (FDD) Tech. Spec. TS25.213,
3GPP. Sept. 2003 (http://www.3gpp.org).
4. Yu C. W., Huang R. O. OVSF Code Management Schemes on Ad Hoc
Networks ICC. Paris. 2004. (http://www.chu.edu.tw/~cwyu/publication.htm).
5. TSG RAN WG1 Radio resource management strategies Tech. Rep.
TS25.922, 3GPP, Dec. 2003 (http://www.3gpp.org).
6. Tseng YuChee, Chao ChihMin. Code Placement and Replacement
Strategies for Wideband CDMA OVSF Code Tree Management// IEEE
Transactions on Mobile Computing. 2002. Vol. 1. N 4. Р. 293–302.
7. Chen WenTsuen, Wu YaPing, Hsiao HungChang A Novel Code
Assignment Scheme for W&CDMA Systems. Taiwan 300. R.O.C.
8. Dell’Amico M., Merani M. L., Maffio F. li A Tree Partitioning Dynamic
Policy for OVSF Codes Assignment in Wideband CDMA, DISMI, DSI, DEI,
Italy. Mar. 2003.
9. Park JunSeong, Lee D. C. Enhanced Fixed and Dynamic Code Assignment
Policies for OVSF&CDMA Systems. Los Angeles, CA 90089, U. S. A.
10. Rouskas A. N., Skoutas D. N. Comparison of Code Reservation Schemes
at the Forward Link in WCDMA. Samos 83200, Greece.
223
СОДЕРЖАНИЕ
Предисловие ...................................................................
НАДЕЖНЫЕ МЕТОДЫ ПЕРЕДАЧИ
ДИСКРЕТНОЙ ИНФОРМАЦИИ .......................................
Овчинников А. А. К вопросу о построении LDPC&кодов
на основе евклидовых геометрий ................................
Белоголовый А. В., Крук Е. А. Многопороговое декодирова&
ние кодов с низкой плотностью проверок на четность ....
Ефимов А. Г. Об аппаратной реализации декодеров
LDPC&кодов ............................................................
Козлов А. В. Исследование применения LDPC&кодов совмест&
но c алгоритмами битлоадинга в OFDM&системах ..........
Белоголовый А. В. Cжатие изображений с использованием
LDPC&кодов ............................................................
Беззатеев С. В., Степанов М. В. Алгебро&геометрические
коды на границе Грайсмера ......................................
Афанасьева А. В., Беззатеев С. В. Новый способ построения
CFF ........................................................................
Прохорова В. Б. Модель канала для сети с разнородными
каналами ................................................................
Трифонов П. В. Адаптивная передача в многопользователь&
ских многочастотных системах вещания .....................
МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ
ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА .....................
Беззатеев С. В. Особенности информационной безопасности
в беспроводных сетях ...............................................
Давыдов В. А. Кодовые системы открытых ключей.
Модификация системы Крука ....................................
Давыдов В. А. Нелинейная система открытых ключей
на базе операторов с элементами в виде полиномов
над конечным полем ...............................................
Линский Е. М. Криптосистема на LDPC&кодах для защиты
информации на физическом уровне .............................
Ерош И. Л., Сергеев М. Б. Скоростное шифрование разно&
родных сообщений ...................................................
Фомин А. Д. DPS: Эффективная схема управления ключами
в больших сенсорных сетях .......................................
Большаков К. Р., Заднепрянец М. К. О применении реали&
зуемых политик доступа во внешних мониторах
обращений ..............................................................
224
3
5
7
25
38
51
57
69
74
85
90
101
103
108
115
128
133
156
171
Башун В. В., Сергеев А. В. Безопасность системы электрон&
ного документооборота: политики, профили, проект .....
АЛГОРИТМЫ ДЛЯ РАСПРЕДЕЛЕННЫХ
СИСТЕМ ........................................................................
Большаков К. Р. О проблемах протоколов взаимодействия
распределенных вычислительных систем ....................
Сергеев А. В. Анализ нового гибридного протокола маршру&
тизации для беспроводных сетей с учетом различных
условий распространения радиосигнала ......................
Мельник И. А. Новый метод оценки алгоритмов распределе&
ния OVSF&кодов в стандарте WCDMA .........................
177
191
193
198
213
225
Научное издание
ВОПРОСЫ ПЕРЕДАЧИ
И ЗАЩИТЫ ИНФОРМАЦИИ
Сборник статей
Редактор А. Г. Ларионова
Компьютерная верстка А. Н. Колешко
Корректор Т. Н. Гринчук
Сдано в набор 11.10.05. Подписано к печати 26.12.05. Формат 60´84 1/16.
Бумага офсетная. Печать офсетная. Усл. печ. л. 13,0. Уч. &изд. л. 14,0. Тираж 500 экз. Заказ № 7.
Отдел электронных публикаций и библиографии библиотеки
Отдел оперативной полиграфии
ГУАП
190000, Санкт&Петербург, ул. Б. Морская, 67
Документ
Категория
Без категории
Просмотров
15
Размер файла
2 916 Кб
Теги
kruga, sbornik
1/--страниц
Пожаловаться на содержимое документа