Использование помехоустойчивых кодов для шифрации видеоинформации

X КОДИРОВАНИЕ И ПЕРЕДАЧА ИНФОРМАЦИИ

УДК 681.3

ИСПОЛЬЗОВАНИЕ ПОМЕХОУСТОЙЧИВЫХ КОДОВ ДЛЯ ШИФРАЦИИ ВИДЕОИНФОРМАЦИИ

С. В. Беззатеев,

канд. техн. наук, доцент М. Ю. Литвинов, соискатель Б. К. Трояновский,

канд. техн. наук, доцент

Санкт-Петербургский государственный университет аэрокосмического приборостроения

Рассматривается вариант модификации схемы Мак Элиса для преобразования видеоинформации с целью обеспечения ее конфиденциальности при передаче и хранении. Предлагаемая схема позволяет решить специфическую задачу уничтожения контуров и фоновых текстур в процессе обработки исходного изображения и в то же время исключить необходимость синхронизации приемного и передающего устройств.

In this article, a variant of the Mac Eliece scheme for modification of video information with the purpose to provide its secure transmission and storage is discussed. The suggested scheme allows for solving the specific task of destroying the outlines and background textures of the original image during processing without necessity to synchronize the receiver and the transmitter.

Введение

В настоящее время проблема обеспечения конфиденциальности при хранении видеоизображения получила дальнейшее развитие в связи с широким использованием корпоративных цифровых копировальных аппаратов (http://www.sharpusa.com/ files/cop_dow_Security_Solutionsbro.pdf). Для того чтобы исключить «узнаваемость» контуров или фоновых текстур в зашифрованном сообщении для обработки видеоизображения, принято использовать либо потоковый шифр, либо блоковый шифр в режиме изменяющегося ключа. В работе [1] анализировалась эффективность использования упрощенного алгоритма шифрования ГОСТ 28147-89 с изменяющимся ключом для обработки видеоинформации. Существенной проблемой такого подхода является необходимость обеспечения синхронного использования ключевой последовательности на приемной и передающей стороне и соответственно необходимость синхровставок в передаваемую информацию. Кроме того, в таких системах и передающая, и приемная сторона обладают всей необходимой информацией (ключ, алгоритм, устройство) для шифрации и дешифрации передаваемых и обрабатываемых сообщений. Таким образом, компрометация передающего устройства приведет к раскрытию всей конфиденциальной информации.

Во многих случаях передающее устройство, в отличие от приемного, находится вне контролируемой зоны и соответственно может быть доступно злоумышленнику. При такой постановке задачи особенно важным видится разработка системы обработки (шифрации) видеоинформации, имеющей несимметричную схему, т. е. системы, в которой получение доступа к устройству обработки информации на передающей стороне не приводит к полной компрометации всей системы.

Система Мак Элиса несимметричного шифрования, использующая коды, исправляющие ошибки

Хорошо известно, что задача декодирования помехоустойчивого кода с исправлением случайных ошибок в пределах корректирующей способности кода в общем случае является МР-сложной задачей. Сложность декодирования может быть существенно снижена (до полиномиальной) при наличии у кода конструктивного алгоритма декодирования. Одним из классов кодов, имеющих такой конструктивный алгоритм декодирования, являются коды, предложенные В. Д. Гоппой в 1970 г. [2]. Коды Гоппы задаются двумя объектами — множеством локаторов (нумераторов) позиций Ь и многочленом Гоппы g(x).

д-ичный вектор длины п а = (а1, а2, „., ап) является кодовым словом (Ь, я)-кода Гоппы, если выполняется следующее сравнение:

X *

І=1

х -а

= 0modg (х),

где Ь = {а1,а2,..., ап}, аІ є 0¥(дт) и g(x) — многочлен с коэффициентами из С?(дт), не имеющий среди своих корней элементов из Ь, т. е. g(аi) ф 0, дт> п и д — простое или степень простого числа.

Для выполнения процедуры кодирования используется порождающая матрица кода G. То есть, чтобы получить кодовое слово (п, й)-кода, соответствующее некоторому информационному сообщению p = (р1, р2, ..., рк), достаточно умножить вектор p на порождающую матрицу кода G:

a = pG.

Для построения порождающей матрицы (Ь, g)-кода сначала необходимо построить проверочную матрицу H, используя множество Ь и многочлен g(x):

H

1 1 1

g

а1 а2 ап

g

г-1 г-1 г -1

а1 а2 ап

g

где г = deg g(x).

Имея проверочную матрицу H, легко построить порождающую матрицу кода G: GHT = 0, используя метод Гаусса приведения матрицы H к диагональному виду. Для получения матрицы, обеспечивающей шифрующее преобразование, необходимо дополнительно выбрать две матрицы. Произвольную неособую (имеющую обратную) матрицу A размером й х й и произвольную перестановочную матрицу P размером п х п.

Таким образом, шифруемая информация будет разбиваться на д-ичные блоки p = (р1, р2, ..., рй) длиной й и подвергаться следующему преобразованию:

с = p  A  G  P © e,

где A — неособенная (обратимая) матрица (й х й); G — порождающая матрица кода Гоппы (й х п); P — произвольная перестановочная матрица (п х п); e — случайный вектор ошибки весом г/2.

Алгоритм декодирования-дешифрации выглядит следующим образом.

1. Принятое сообщение умножается на матрицу P-1, обратную к перестановочной матрице P:

P-1 = (p  A  G  P © є) P 1 =

с

= p  A  G  P  P~1 © e  P 1 =

= p  A  G © е  P~1 = p,  G © ^,

где p/ = p  A — измененное информационное сообщение; e/ = e  P 1 - случайный вектор ошибки весом г/2.

Таким образом, получится кодовое слово (Ь, я)-кода, сложенное со случайным вектором ошибки.

2. Зная многочлен Гоппы g(x) и множество локаторов позиций, можно найти и исправить вектор ошибок e/, используя конструктивный алгоритм декодирования (Берликэмпа—Мэсси, Евклида).

3. Зная порождающую матрицу кода G и матрицу A, легко восстановить сначала измененное информационное сообщение p/, а затем и исходное информационное сообщение p:

p/  A-1 = p  A  A-1 = p.

Модификация схемы Мак Элиса для шифрации видеоизображения

Для эффективного использования описанной схемы необходимо выбрать параметры (Ь, я)-кода, обеспечивающие эффективную обработку исходной информации и достаточный уровень защищенности. Как известно [3], защищенность такой схемы, даже в случае разглашения информации о параметрах кода (длина кодового слова, длина информационного сообщения и число исправляемых ошибок), определяется числом различных многочленов Гоппы степени г:

(дг ]

N = О У-г ,

V У

где коэффициенты многочленов Гоппы выбираются из поля в^(д) .

Например, при выборе двоичного кода (256, 128, 33) с многочленом Гоппы степени 16 и коэффициентами из GF(28) мы получим систему, защищенность которой будет оцениваться величиной 0(2124).

На передающем (шифрующем) устройстве имеется лишь информация об открытом ключе (матрица G/ = A  G  P и генератор ошибок заданного веса г ). Получение информации о шифрующей матрице не позволяет определить многочлен Гоппы, а следовательно, не дает возможности исправлять случайные ошибки, «накладываемые» на передаваемое изображение. Использование такого алгоритма обработки видеоизображения позволяет решить сразу две задачи:

— нет необходимости синхронизировать приемное и передающее устройства (зная многочлен Гоппы на приемном устройстве, всегда можно исправить любые ошибки весом до г);

— передающее устройство не содержит конфиденциальной информации, и его компрометация не позволяет правильно декодировать искаженное видеоизображение.

Следует отметить, что особенностью шифрования видеоизображения является наличие довольно большого числа информационных блоков, имеющих одно и то же значение (фоновые текстуры, контуры и т. д.). Для обеспечения преобразования совпадающих информационных блоков в различные зашифрованные сообщения в рассмотренном выше алгоритме используются векторы ошибок весом до t. Однако при наличии достаточного числа (больше трех) одинаковых информационных блоков можно использовать мажоритарный метод исправления ошибок. Для предотвращения такой атаки можно использовать сгенерированный случайный вектор ошибки для «искажения» значения информационного блока. Легко оценить число таких возможных «искажений»

( п Л К = .

t

V У

Рассмотрим некоторые способы «искажения» информационного сообщения, аналогичные используемым в схеме Мак Элиса для «искажения» кодового слова.

Схема Као-Маш [4] предполагает использование для этой цели специального кодового слова, заранее выбранного из общего списка кодовых слов. То есть для каждого вектора ошибки, являющегося лидером смежного класса в таблице стандартной расстановки кода, выбирается соответствующее кодовое слово, список таких кодовых слов является элементом секретного ключа. Процедура шифрования в соответствии со схемой Као-Маш выглядит следующим образом:

с = р  С' © в'  Р,

где в' = в © I, I — кодовое слово, соответствующее вектору ошибки в, wt(в) < Р; С' = А  С.

Очевидно, что эта процедура может быть переписана в следующем виде:

с = (р © X)  С' © в  Р,

где X — информационное сообщение, соответствующее кодовому слову I: I = X  А  С.

Очевидным недостатком данной схемы является необходимость хранить кодовые слова {1} или информационные сообщения {т}, соответствующие всем лидерам смежных классов, как на приемной, так и на передающей стороне.

Второй известной модификацией схемы Мак Элиса является схема, предложенная в работах [5, 6] и использующая структуру схемы Эль Гамаля. В этой схеме зашифрованное сообщение состоит из трех частей с1, с2, с3 и получается следующим образом:

с1 = р ' (С © вт ' От) © в ' (Р ' X © • De),

где в — случайный вектор ошибки длиной п, wt(e) < р С' = А  С  X; X — несингулярная матрица п х п; вт — случайная матрица й х п; От — случайная матрица п х п; Р — случайная перестано-

вочная матрица п х п; — случайная матрица й х п;

О

е — случайная матрица п х п;

с2 = в  ве;

с3 = р  вт;

Открытым ключом, используемым на передающей стороне для преобразования исходной информации р, являются матрицы С' © йт  Dm, Р х х х ©   De, вт.

С точки зрения решаемой нами задачи — уничтожения структуры видеоизображения, данная схема оказывается неприемлемой из-за наличия в каждом зашифрованном сообщении компоненты с3, которая будет иметь одинаковые значения для одинаковых исходных сообщений, т. е. одинаковые фрагменты изображения могут быть легко распознаны по этой компоненте.

Третьим вариантом, также имеющим структуру схемы Эль Гамаля, является вариант схемы Мак Элиса, предложенный в работе [7]. Здесь, так же как и в предыдущем случае, зашифрованное сообщение состоит из трех компонент с1, с2, с3 и получается следующим образом:

С1 = (с^, с2,..., с1,..., с1), с1 = рв modд, где Р; — случайные числа из в^(д);

Р1 0 0 . .. 0

0 в2 0 . .. 0

с2 = 0 0 .. 0

0 : ° . Рй

(С'© И') © Е Р',

где Е — случайная матрица п х п, над в^(д) каждая строка которой имеет не более t ненулевых элементов; И' — случайная матрица й х п с элементами из в^(д); Р' — случайная перестановочная матрица п х п с элементами из в^(д); С', И' и Р' — матрицы, составляющие открытый ключ;

с3 = ТС'© Е,

где Т — произвольная матрица й х й с элементами из в^(д).

Очевидно, что такой вариант модификации схемы Мак Элиса в большей степени подходит для решения нашей задачи — разрушения структуры изображения, однако основным недостатком данной схемы является более чем трехкратное увеличение объема передаваемой информации.

В данной статье для решения поставленной задачи предлагается некоторая модификация схемы Као-Маш, вариант которой для обеспечения повышения информационной скорости передачи информации и скрытности рассмотрен в работе [8]. Использование такой модификации позволяет избе-

Исходное изображение Преобразованное изображение

Исходное изображение Преобразованное изображение

Пример использования модифицированной схемы Мак Элиса

жать хранения массива кодовых слов на передающей и приемной стороне для их использования в качестве секретного ключа. Вместо хранения такого массива предлагается использовать некоторое преобразование вектора e длиной n в вектор f длиной k. Простейшим и эффективным вариантом такого преобразования может быть хэш-функция, т. е. предлагаемая схема может быть описана следующим образом [8]: c = (p © f)  G' + e  P, где f = hash (e). В работе [8] описанный выше метод использовался для повышения информационной скорости передачи зашифрованных данных. Для решения рассматриваемой задачи — максимального изменения структуры изображения возможно также использование случайных чисел, генерируемых в виде векторов ошибки e, wt(e) < t для создания случайной несингулярной матрицы A* размерности k x k: f: e ^ A* . Полученную матрицу A* можно использовать для преобразования исходной информации следующим образом: c = p  G'* + e  P, где G* = A*  G  P. Для рассмотренного выше примера (256, 128, 33) кода Гоппы число возможных различных векторов ошибки весом 16 составляет величину 0(282) и соответственно каждый из 2128 информационных векторов может быть преобразован с помощью случайного вектора f или матрицы A* в один из 282 возможных случайных информационных векторов. Очевидно, что такая модификация схемы Мак Элиса позволяет избежать преобразования одинаковых фрагментов видеоизображения в мало отличающиеся (не более чем в 2t позициях) зашифрованные сообщения. Пример работы рассмотренной системы при выбранных параметрах кода изображен на рисунке а, более сложный случай — на рисунке б.

Литература /

1. Беззатеев С. В., Литвинов М. Ю., Трояновский Б. К., Филатов Г. П. Выбор алгоритма преобразования, обеспечивающего изменение структуры изображения // Информационно-управляющие системы. 2006. № 6. С. 2-5. 2. Гоппа В. Д. Новый класс линейных помехоустойчивых кодов // Проблемы передачи информации. 1970. Т. 6. № 3. С. 24-30. 3. McEliece R. J. A public-key cryptosystem based on algebraic coding theory, DSN Progress Report, Jet Propulsion Laboratory, Pasadena, CA. Jan/Feb. 1978. Р.114-116. 4. T. R. N. Rao, Kil-Myun Nam. Private-key algebraic-code encryptions // IEEE Trans. on Information Theory. 1989. Vol. 35. N 4. P. 829-833. 5. Krouk E. A new public-key cryptosystem: Proceedings of the 6th Joint Swedish-Russian International Workshop on Information Theory. 1993. P. 285286. 6. Gabidulin E. M. Public-key cryptosystem based on linear codes. 1995. 7. Jian-feng M. A., Teechye Chiam, Kot Chichung Alex. A novel encryption method with its application in the copyright protection of digital data // Journal of Software. 2002. Vol. 13. N 3. P. 330-334. 8. Фам Суан Нгиа. Модификации алгоритма Мак Элиса для повышения показателей качества радиосистем передачи информации: Автореф. дис. ... канд. техн. наук / Рязанский государственный радиотехнический университет. Рязань. 23 мая 2007.

/