УДК 519.688
М.А. Самохина
Московский физико-технический институт (государственный университет)
Модификации криптосистемы Нидеррайтера, их стойкость и практические применения
В работе рассмотрены различные подходы к модификации классической криптосистемы Нидеррайтера. Проанализированы наиболее успешные варианты атаки на такого рода системы. Представлены результаты практического использования модификации криптосистемы Нидеррайтера, основанной на матрице фробениусовского вида.
Ключевые слова: криптография, криптология, криптоанализ, криптосистемы с открытым ключом, криптосистема Нидеррайтера, криптосистемы, основанные на линейных кодах, помехоустойчивое кодирование, системы исправления ошибок, моделирование.
В теории криптосистем с открытым ключом известны два основных типа систем, основанных на линейных кодах. Это система Мак Элиса (McElice) [1] и система Нидеррайтера [2]. Эта статья посвящена системе Нидеррайтера и её модификациям.
Идея системы Нидеррайтера состоит в следующем. В качестве секретных ключей выбираются:
— проверочная матрица H = [zjxj ], где i = 0, 1, ..., r — 1; j = 1, 2, ..., n, некоторого обобщённого кода Рида-Соломона над полем GF(q);
— случайно выбранная невырожденная скремблирующая матрица S порядка r над полем GF(q). Эта матрица вводится для того, чтобы скрыть от криптоаналитика видимые закономерности, разрушая структуру проверочной матрицы.
Открытым ключом в данном случае будет скремблированная проверочная матрица Hcr = SH.
Сообщениями являются все n-векторы с координатами из поля GF(q) с весом, не превосходящим Здесь сообщения не являются кодовыми словами выбранного кода Рида-Соломона, а представляют собой всевозможные ошибки, которые этот код в состоянии исправлять.
Шифртекст, соответствующий сообщению m, является r-вектором и вычисляется следующим образом:
с = mHT = mHT ST.
Законный пользователь после приёма шифртекста с умножает его справа на матрицу (ST)_1, а затем применяет известный лишь ему алгоритм быстрого декодирования и получает переданное сообщение т.
Описанная криптосистема оказалась нестойкой и была взломана Сидельнико-вым и Шестаковым. Авторам удалось угадать структуру закрытого ключа по открытому ключу и подобрать такие матрицы Й и S, что Hcr = SH [3].
В последующие годы неоднократно предпринимались попытки модифицировать классическую криптосистему Нидеррайтера так, чтобы повысить её криптостойкость. На сегодняшний день существует несколько модификаций криптосистемы, среди которых можно выделить три основных подхода. Во-первых, зашумляется проверочная матрица кода при помощи введения скрывающей матрицы. Например, в работе [4] в качестве скрывающей матрицы была предложена матрица единичного ранга. В работе [5] использовались скрывающие матрицы ранга, значительно большего единицы. Во-вторых, используются различные метрики, отличные от классической хэмминговой метрики. Примером такой метрики может служить ранговая [6] метрика. В-третьих, строятся коды с набором специфических свойств.
Довольно успешным является сочетание сразу двух или более из описанных выше способов модификаций. Комбинация описанных способов модификаций бы-
ла предложена авторами [7]. В данном случае построена метрика на основе матрицы Фробениуса, а шифртекст имеет вид: шНриь = шБ(Г + Оти)Р. Основная идея модификации заключается в скрытии структуры закрытого ключа. Это делается для того, чтобы избежать структурных атак, подобных атакам Сидель-никова-Шестакова. Структура закрытого ключа усложняется так, чтобы синдром родительского кода выступал в роли искусственно созданной ошибки нового кода в новой метрике. При этом структура шифр-текста представляет собой сумму векторов д + е, умноженную на шумовую матрицу Для расшифрования легальному пользователю необходимо сначала найти вектор ошибки, применив алгоритм быстрого декодирования некоего нового кода, который является синдромом родительского кода. А затем уже применить алгоритм быстрого декодирования в родительском коде, получая в результате открытый текст.
Рассмотрим подробнее криптосистему, использующую метрику, основанную на матрице Фробениуса. Модификация заключается в ведении новой метрики, дополнительном зашумлении открытого ключа и использовании ранговых кодов. Для построения новой метрики выбирается матрица Г размером N х п с элементами из поля ОГ(дИ) такая, что п < N и ранг матрицы Г меньше п. Элементы матрицы выбираются из поля ОГ(дм) и должны быть линейно независимыми над базовым полем, а сама матрица Г имеет следующий вид:
Г
н\
НІ
Н1
\
\ НМі Нм1 ••• НМ1
„и — 1
Н%1 /
Обозначим Н1, Н2, ..., Нм строки матрицы Г. Для любого ненулевого вектора х из пространства ОГ(дИ)п его норма определяется как минимальное число ненулевых коэффициентов аі в разложении:
х
і= і
Построение криптосистемы начинается с выбора матрицы рангового кода Г. Эта
матрица задает новую метрику. Затем выбирается порождающая матрица Ок таким образом, чтобы код, порожденный матрицей О и, являлся оптимальным кодом и мог исправлять ошибки в новой метрике:
Ок =
д д2 дк
д\
д2
дк
я"
дк
я"
д2
я"
дк
\
/
Для построенного таким способом кода существует алгоритм быстрого декодирования. Заключительным этапом является выбор невырожденной скремблирующей матрицы Б с элементами из ОГ(дИ) и невырожденной матрицы Р с элементами из базового поля.
Секретный ключ модифицированной криптосистемы представляет собой набор матриц ( Г Ок Б Р ).
Открытый ключ представляет собой матрицу ИриЬ = Р(Г + иОк)Б, где и -некоторая случайная матрица. Кодовыми векторами являются строки матрицы иОк. Матрица и не нужна при расшифровании, но для криптоаналитика она должна быть недоступной.
Текст сообщения представляет собой N1 -мерныйвекторш = ( ші ш2 ••• шМі )
такой, что 4н(ш) = = шіп( Ьк Ьр ),
где Ьк — корректирующая способность кода, задаваемого матрицей Ок в пространстве с новой метрикой, Ьр — корректирующая способность родительского кода. Число сообщений равно.
Шифртекст вычисляется как синдром:
5 'шИриь
= шР (Г + иОк )Б = т(Г + иОк )Б,
5 = (ші (Г1 + Ок1) + ш2 (Г2 + Ок2 ) + ••• +
+ ••• + шМі (ГМі + ОкМ1 ))Б = (д + е)Б: где ш = шР, Гі и Оі — строки матриц Г и О соответственно.
Расшифрование: легальный пользователь умножает полученный шифртекст (д + е)Б на Б-1. Затем применяет алгоритм быстрого декодирования в новой метрике. В результате пользователь получит векторы д и е. После применения алгоритма быстрого декодирования родительского кода легальный пользователь получит вектор ш. После умножения ш на матрицу Р- получим открытый текст ш.
К предлагаемой новой модификации криптосистемы Нидеррайтера применимы два основных вида атак: прямые и структурные. Под прямыми атаками понимаются перебор по искусственным ошибкам, перебор по сообщениям, декодирование опубликованного кода как случайного. Среди структурных атак стоит выделить различные модификации атаки Гибсона, адаптированные к модификациям криптосистемы, а также варианты атаки Сидельни-кова-Шестакова [3]. При оценке трудоёмкости каждой из атак необходимо учитывать размер открытого ключа. Как правило, размер ключа выбирается с учётом требований, предъявляющихся сегодня на практике к ассиметричным криптосистемам.
Криптоанализ рассматриваемого класса криптосистем сводится к двум основным этапам. Во-первых, нахождение вектора-ошибки, который необходим для исправления ошибки в новой метрике. Во-вторых, вычисление открытого текста по синдрому.
Что касается первого пункта, то для него необходимо выполнить ряд трудоемких операций. Второй этап менее ресурсоемкий и частично реализован на примере атаки Сидельникова-Шестакова, тем не менее вторая часть атаки бессмысленна без прохождения первого этапа.
Задача нахождения вектор-ошибки е сводится к декодированию некоторого линейного (и,к,д)-кода С над полем ОГ(ди) наименьшей нормы dF в построенной метрике. Поставленную задачу можно переформулировать следующим образом: по заданной порождающей матрице О кода С и с помощью вектора с длины и найти к — вектор т такой, что вектор-ошибка е = с — тО имеет наименьшую возможную норму в ассоциированной метрике.
Декодирование кода С в пределах его корректирующей способности может быть сведено к поиску вектора, имеющего минимальную норму в некотором другом коде, включающем С как подкод. Процедура в конечном счете сводится к решению параметрической системы линейных уравнений. Подробное описание такого способа приведено в [8].
Общая сложность наиболее трудоемкой части процесса декодирования! составляет порядка О ((Ыт)3д(г-1')(к+1')+2^. Коли-
чество неизвестных в решаемой системе составляет: (к+т +1) + М(т — 1). Значит, для разрешимости системы необходимо, чтобы (к+т+1) + Ы(т — 1) ^ тЫ. Например, для (24,12)-кода над полем ОГ(212), который может исправлять ошибки ранга вплоть до
3, сложность декодирования составит 252.
Опираясь на результаты проведённого криптоанализа, можно выделить основные условия для параметров криптосистемы, основанной на матрице Фробениуса, так, чтобы она могла считаться стойкой. При выборе (48, 24)-кода над полем ОГ(216) размер открытого ключа будет составлять 1 КЬ, а вычислительная сложность приведённой атаки составит порядка 2140. Из описанного примера видно, что для ключа в 1 КЬ (на сегодняшний день такой размер ключа используется во многих стандартных асимметричных) количество операций рассматриваемой структурной атаки велико.
Таким образом, для использования в случае, когда необходима высокая криптостойкость, можно рекомендовать выбирать параметры так, чтобы размер открытого ключа был порядка 1024 бит.
Одной из положительных особенностей данной криптосистемы является возможность её использования в качестве системы исправления ошибок канала. Криптосистема основана на ранговых кодах, успешно применяющихся при помехоустойчивом кодировании, свойства которых можно использовать при возникновении ошибок в канале при передаче сообщений.
При постановке задачи создания интегрированной системы исправления ошибок канала с системой защиты информации от несанкционированного доступа рассматриваемая модификация криптосистемы Нидеррайтера подходит как нельзя лучше.
Предположим, что при передаче зашифрованного сообщения в криптосистеме возникают различного рода помехи, это приводит к искажению кодового слова. В случае, когда присутствует ошибка канала е, совпадающая с одним из базисных векторов, она имеет в новой метрике норму, равную 1. Если искусственная ошибка е имеет норму Ь = ^ — 3)/2, тогда система может исправлять также и ошибки канала.
Чтобы гарантировать коррекцию ошибок канала, необходимо наложить дополнительные ограничения на выбор матриц в модуле инициализации. Для исправления ошибок канала в любом случае мы должны иметь представление о характере ошибок. Следует собрать статистику и, предварительно проанализировав ее, сделать вывод о характере ошибок и модификации криптосистемы с целью их исправления. В базовом поле шифртекст представляет собой матрицу с элементами из ОГ(д):
C=
с11
сN 1
с1 n
сNn
Элементы матрицы С имеют вид
с1] = [^1] (д1пИ + ••• + 9кпЫ + Щ) + ...+
/ а! 1 к 1 7 к 1 \ п
+••• + вц(дч1 пи + ... + дк Пкг + Щ )]т].
Пусть приёмник получил шифртекст, искажённый ошибкой, в виде: д + е + е. Не стоит забывать, что в таких случаях для того, чтобы гарантировать коррекцию ошибок канала, необходимо наложить дополнительные ограничения на выбор матрицы из ^. В работе [9] рассматриваются различные виды ошибок и способы их исправления в предлагаемой системе.
Для исправления любой ошибки вида (е + ё) требуется, чтобы норма искусственной ошибки удовлетворяла условию
d 2n 1
2
В свою очередь последнее условие накладывает ограничение на количество матриц Q, что со своей стороны может привести к ухудшению криптосистемы с точки зрения криптостойкости. Поэтому для определения параметров криптосистемы сначала необходимо точно определить характеристики канала.
Применение такой интегрированной системы оправдано в случае передачи видеоизображения. Например, при видеоконференциях зачастую требуется не только система, обеспечивающая помехоустойчивое кодирование, но и криптосистема для защиты видеопотока от несанкционированного доступа.
В традиционном плёночном кинематографе используется частота 24 кадра
в секунду. Системы телевидения PAL и SECAM используют 25 кадров в секунду, а система NTSC использует 29,97 кадров в секунду. Оцифрованные видеоматериалы хорошего качества, как правило, используют частоту 30 кадров в секунду. Верхняя пороговая частота мелькания, воспринимаемая человеческим мозгом, в среднем составляет 39-42 Гц и индивидуальна, для каждого человека. Некоторые современные профессиональные камеры могут снимать с частотой до 120 кадров в секунду. А специальные камеры для сверхбыстрой съёмки снимают с частотой до 1000 кадров в секунду и выше, что необходимо, например, для детального изучения траектории полёта пули или структуры взрыва. Все же наибольшее распространение на сегодняшний день получила частота 25 кадров в секунду.
На рис. 1 приведён график зависимости стойкости криптосистемы от поддерживаемой частоты смены кадров, соответствующих возможностям сотового телефона SonyEricsson W900.
В случае передачи видеоизображения повышенного качества HDTV, кадр размером 1920 х 1080 пикселей, частота смены изображений поддерживаемой системой сокращается, тем не менее она намного превышает возможную скорость при использовании в случае канала без шума криптосистемы RSA. Из графика (рис. 2) видно, что предлагаемая криптосистема оказывается быстрее и в случае передачи изображений повышенного качества HDTV.
Данное сравнение не совсем корректно для шумящего канала, так как для использования RSA в шумящем канале необходимо производить кодирование с вероятностью ошибки в бите не более 10_8. Таким образом, получаем дополнительное ограничение на использование криптосистемы RSA, и использование стандартной реализации алгоритма становится невозможным. Это приводит к дополнительным трудностям, для решения которых необходимы слишком ресурсоёмкие затраты. В результате кроме превосходства по скоростям использование новой предлагаемой модификации криптосистемы Нидеррайте-ра не требует дополнительных затрат как со стороны разработки ПО, так и в плане увеличения вычислительных мощностей используемого аппаратного комплекса.
О 50 100 150 2D0 250 300 350 400 450
Поддерживаемая частота смены изображений fps при размере кадра 12кЬ, 240x320 pecs
Рис. 1. Зависимость стойкости криптосистемы Нидеррайтера от поддерживаемой частоты смены кадров, соответствующих возможностям сотового телефона SonyEricsson W900
Размер ключа, bit
—♦—Модификация криптосистемы Нидеррайтера —RSA
Рис. 2. Сравнение использования криптосистем для нешумящего канала в случае передачи изображений повышенного качества HDTV
На рис. 3 приведена серия графиков зависимости поддерживаемой частоты сме-
ны кадров от размера ключа при размере кадров, соответствующих различным качествам передаваемого изображения.
Рис. 3. Зависимость поддерживаемой частоты смены кадров от размера ключа
Рассмотрим теперь объединение систем, которые решают задачи исправления ошибок и шифрования по отдельности. При передаче информации по любому физическому каналу возникают ошибки передачи независимо от того, передаются открытые или зашифрованные данные. Практически в любом случае возникает потребность в использовании систем, исправляющих ошибки канала. На практике наиболее часто применяют две различные системы: одну для исправления ошибок, другую — для защиты информации от несанкционированного доступа. При этом возникает много дополнительных проблем, которые нужно решать. Одной из них является согласование типов данных, с которыми оперируют каждая из систем. Необходимо заново реализовывать уже существующие системы криптозащиты и систему исправления ошибок или же включать до-
полнительные модули, обеспечивающие согласование передаваемых данных. В обоих случаях требуются дополнительные затраты на разработку модулей системы. Работоспособность полученной системы будет также зависеть от сред, где разрабатывались модули системы. Существует большое количество систем, комбинация которых практически невозможна из-за особенностей, связанных с их архитектурой.
Другой проблемой является согласование обработки нештатных ситуаций, возникающих при исправлении ошибок. В этом случае криптосистема не должна получать в качестве шифртекста искажённое сообщение, в противном случае результат расшифрования заведомо будет не совпадать с открытым текстом. В случае, когда система исправления ошибок сработала некорректно, возможны следующие варианты:
1) ошибка была исправлена неверно;
2) ошибка не была обнаружена;
3) система выдала отказ при обработке и т. п.
Во всех случаях при несогласованных взаимодействиях модулей системы будут происходить потери производительности или даже отказы системы.
В случае использования интегрированной системы исправления ошибок и защиты от нелегального доступа такого рода проблем не возникнет. Это является одним из преимуществ рассматриваемой интегрированной системы по сравнению с традиционным подходом использования раздельно помехо- и криптозащиты.
Указанное преимущество интегрированной системы достигается потерей некоторой качественной характеристики: исправление ошибок канала вносит дополнительные ограничения на выбор параметров, что приводит к снижению криптостойкости части системы, отвечающей за шифрование. В таком случае для повышения стойкости к атакам следует выбирать большие размерности, а это в свою очередь влечет к снижению скорости и увеличению размера ключей. Что касается снижения скорости, то оно не очень существенно: намного меньше уменьшения скорости при использовании стандартных криптосистем с открытым ключом.
Литература
1. McEUce R.J. A Public Key Cryptosystem Based on Algebraic Coding Theory // DSN Progress Report 42-44. — Pasadena, CA: Jet Propulsion Lab, 1978. -P. 114-116.
2. Niederreiter H. Knapsack-Type
Cryptosystem and Algebraic Coding Theory
// Probl. Control and Inform. Theory. -1986. — V. 15. — P. 19-34.
3. Сидельников В.М., Шестаков С.О. О системе шифрования, основанной на обощенных кодах Рида-Соломона / / Дискретная математика. — 1992. — Т. 3, вып. 3.
4. Gabidulin E., Ourivski A., Pavlouchkov V. On the modified Niederreiter cryptosystem // Proc. Information Theory and Networking Workshop. — Metsovo, Greece, 1999. — P. 50.
5. Габидулин Э.М., Обернихин В.А. Коды в F-метрике Вандермонда и их применение. — Долгопрудный: МФТИ, 2005.
6. Габидулин Э.М. Теория кодов с максимальным ранговым расстоянием // Проблемы передачи информации. — 1985. — Т. XXI, № 1.
7. Чурусова М.А., Габидулин Э.М. Модификация криптосистемы Нидеррайтера, основанная на новой метрике / / Теоретические вопросы вычислительной техники, программного обеспечения и информационных технологий в муниципальном хозяйстве. Межвузовский сборник научных трудов. — М.: МИРЭА, 2005. — С. 21-25.
8. Самохина М.А. Криптоанализ систем, основанных на линейных кодах // Проблемы информационной безопасности. Компьютерные системы. — СПб., 2008. — С. 94-103.
9. Самохина М.А. Применение модификаций криптосистем Нидеррайтера в системах исправления ошибок и защиты от несанкционированного доступа // Моделирование и обработка информации. Сборник научных трудов. — М., 2008. — С. 127-136.
Поступила в редакцию 13.10.2008.