РАДИОТЕХНИКА И СВЯЗЬ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №3 (93) 2010
%
РАДИОТЕХНИКА И СВЯЗЬ
УДК 621391 И. Р. ФАЙЗУЛЛИН
Р. Т. ФАЙЗУЛЛИН
Омский государственный технический университет
АППАРАТНО-ЭФФЕКТИВНЫЙ АЛГОРИТМ КОДИРОВАНИЯ И ШИФРОВАНИЯ ДАННЫХ, ОСНОВАННЫЙ НА СПЕЦИАЛЬНОЙ ЗАДАЧЕ ВЫБОРА
В работе предлагается алгоритм защиты и обработки информации, стойкость которого основана на сложности решения специальной задачи выбора.
Ключевые слова: маркер, задача выбора, эффективность.
Постоянное увеличение объемов передаваемых данных и пропускной способности каналов связи приводит к качественному изменению подходов к проблеме защиты информации. Стеганография [1], скрытые каналы [2], [3], сегментирование данных [3], накопительные водяные цифровые знаки [4] из экзотических инструментов становятся одними из наиболее перспективных способов практической защиты информации. Принципиальным элементом вышеприведенных подходов является необходимость распознавания самого факта передачи данных доверенным пользователем, и естественным образом встает вопрос о вычислительной эффективности шифралгорит-мов и их доказуемой стойкости.
В настоящей работе предлагается алгоритм защиты и обработки информации, совмещающий в себе
одновременно черты стандартных блочных и стеганографических алгоритмов, стойкость которого основана на сложности решения задачи выбора. Оказалось возможным оценить стойкость алгоритма, в наиболее благоприятном для атакующего случае и, кроме того, предложен эффективный аппаратный метод реализации.
Рассмотрим поток данных, состоящий из битов, полученных или с помощью физического генератора псевдослучайных чисел, или с помощью числового генератора, например, BBS [5] и перемежающийся информативными сообщениями. Отметим, что такой поток можно рассматривать и как модель встраивания сообщения в младшие биты и некоторые кадры видео- или аудиофайлов [4], и как передачу шифрованного сообщения со случайными включениями «соли» (рис. 1).
‘соль’ маркер ‘соль’ маркер
Рис. 1. Общая схема защищенной передачи информативного сообщения, перемежающегося вставками «соли»
Наша задача состоит в том, чтобы наиболее эффективно встроить в этот поток маркер начала сообщения и/или само сообщение в маркер, а затем также эффективно извлечь его. В работе [6] был предложен алгоритм встраивания маркера, зависящего от хэш-кода сообщения, что малоэффективно, т.к. требует офф-лайн обработки данных. Другое неявное, но очень существенное требование заключается в том, что высокая эффективность обработки информации желательна лишь для аппаратной реализации, но не для программной. Например, типичные скорости обработки информации при использовании для реализации БЕЗ оптимизированных аппаратных и программных средств [3] различаются всего на порядок. Там же приводится мнение сотрудников Агентства национальной безопасности США, которые считали это своим очень большим просчетом при процедуре лицензирования, позволившим использовать стандарт шифрования не только корпорациям и государственным структурам, но и частным лицам. Таким образом, желательно управлять эффективностью шифрования и расшифрования.
Рассмотрим кортеж «байтов» (О1 ,.., ОЫ }, где каждое О5 — это битовый вектор длины К, и соответствующую последовательность бит д\..,дЫ . Будем называть объединение этих кортежей мастер-ключом, известным только доверенным сторонам обмена данных («Алиса» и «Боб»).
Передающая сторона, или Алиса, генерирует кортеж байтов Х\..,ХЫ с условиями:
X1 > Q1 если qJ = 0 X7 < QJ если q1 = 1,
(1)
г* = х* ® Qj і = 1,.к.
(2)
Рис. 2. Использование регистра сдвига с линейной обратной связью для генерации гаммы, удовлетворяющей условию (1)
ренное лицо проводит еще тест на открытый текст, для наиболее вероятного фрагмента потока данных.
В этом случае Боб может интерпретировать маркер , как битовую строку и\ ] = 1,..,Ы, где нулями являются те из и5, которые совпадают с , а единицами места «ошибок». Длина слова в этом случае будет равна Ы, а «полезное пространство сообщений» 2Ы-1, где 1 существенно меньше, чем N.
Можно убрать это ограничение и «окаймлять» значимую информацию последовательностью «нулей», число которых заранее задано.
Насколько стойкой является предложенная схема шифрования?
Предположим, что аналитик каким-то образом смог выделить М кортежей: ^ , ] = 1,..,Ы, 8= 1,..,М, отвечающих маркерам, и ему известно, что в маркерах нет «ошибок». С учетом независимости блоков аналитик может рассматривать только один блок ] и отвечающие ему неизвестные: ^ , О5, Х^, 8= 1,..,М. В этом случае мы получаем систему линейных уравнений в и неравенств в Я:
где неравенства понимаются, как неравенства между целыми числами, содержащимися в соответствующих байтах, и маркируют начало сообщения операцией побитового сложения байтов Х5 , О5
г*і = хрі Ф ^!і і = 1,.К, 5 = 1,..,М
(X* - QJ )(-1)^ > 0
(3)
Получатель сообщения, или Боб, складывает побитово байт с байтом О5, получая в итоге V5. Если некоторая последовательность байтов удовлетворяет условиям (1), то Боб делает вывод о том, что с вероятностью 1 — 2-Ы эта последовательность байтов маркирует начало сообщения.
Но Алиса может специально генерировать некоторые из Х5 так, что условия (1) для некоторых из них не будут выполняться. Если число таких «ошибок» будет относительно мало, например, не более четверти, то Боб, проверяя входной поток, может сделать хорошо обоснованный вывод о наличии специально встроенных Алисой символов «ошибки». Боб должен выбрать из двух гипотез: он получает случайный поток данных или поток данных, созданный Алисой. Учитывая, что случайный поток данных, например, созданный с помощью генератора псевдослучайных чисел ВВЗ, достаточно хорошо моделирует выход схемы Бернулли, то выделение маркера не представляет большого труда, с учетом, например, того, что дове-
Предполагая, что, например, (X* - QJ ) > 0
=0, получим:
(4)
Попытка полностью разрешить эту систему при М=1 обречена на неудачу, т.к. в сообщении не содержится никакой информации об используемой только один раз последовательности битов т.е. это схема шифрования с одноразовым блокнотом. Предположим, что М = 2 и оценим число операций, необходимых для дешифрования в наиболее благоприятном для атакующего случае. Оказывается, что в этом случае верна следующая лемма.
Лемма:
В наилучшем для атакующего случае трудоемкость определения кортежей О5 и ^ не меньше, чем СЫ2К .
Рассмотрим значения О5 , которые, возможно, являются битами маркера без ошибок, очевидно, что их число оценивается величиной 2К.
Для каждого такого О5 , однозначно определяется X5 и проверяется, например, условие (X1 - Q1) > 0. По результатам проверки О5 заносится в одно из множеств
ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №3 (93) 2010 РАДИОТЕХНИКА И СВЯЗЬ
РАДИОТЕХНИКА И СВЯЗЬ ОМСКИЙ НАУЧНЫЙ ВЕСТНИК №3 (93) 2010
Рис. 3. Ячейки рабочего регистра параллельно заполняются выходами К генераторов псевдослучайных чисел, например, ВВБ или физическогодатчика
А = ^, X1 - Qj > 0}или В = ^, X1 - Q1 < 0}. (5)
Выберем при М = 2 другой байт О51 и так же образуем множества
А=^,X11 -QJ >0},
В'=&,X11 -QJ <0}. (6)
Предположим, что все пересечение А IА состоит только из одного ИЛ , а пересечение ВIВ пусто. В этом случае ИЛ будет искомым байтом, а искомый бит д5 =0.
Мы вынуждены решить системы два раза, для каждого кортежа и константа С очевидным образом как минимум пропорциональна К, длине байта.
Таким образом, гарантированную практическую стойкость на сегодняшний день, даже без учета операций записи и считывания из памяти, обеспечивает длина байта К большая или равная 64.
Заметим, что реализация кодирования информации, или создание последовательности X5 может быть осуществлена инвертированием бит, например, применением операций И, ИЛИ с битами байта О5 и содержимым некоего регистра сдвига с линейной обратной связью. Если, например, д5 =0, то некоторые нулевые биты О5 необходимо инвертировать на единичные (ИЛИ), если же д5 =0, то, наоборот, необходимо инвертировать единичные биты (И).
Покажем, как можно организовать эффективное формирование X1 по заданному д5 и О5. Предположим, что у нас имеется вспомогательный линейный регистр сдвига Я с обратной связью, состоящий из К ячеек. На каждом такте поступления битов О5 в зависимости от значения д5 происходят последовательно параллельные операции, проиллюстрированные на рис. 2, 3.
Если д5 = 0, то происходит формирование X5, такого, что X1 > Q1, как указано на рис. 1, если же д5=1, то формируется X5, такой, что X1 < Q1. Случай Х! = О! можно тривиальным образом исключить. Заметим, что имеется определенная техническая трудность, заключающаяся в том, что могут происходить «гонки», т.к. в регистре сдвига имеются элементы задержки, т.е. тратится время на операции © между элементами регистра, что замедляет его такты по сравнению с продвижением О5 по соответствующему каналу.
Поэтому не исключена возможность, что значения X5 для различных ] будут получаться с помощью одних и тех же значений регистра сдвига, что из общих соображений понижает стойкость шифрования. Эта техническая трудность легко обходится паралле-
лизацией генерации содержимого ячеек R, как это проиллюстрировано на рис. З. Можно легко заметить, что содержимое левого рабочего регистра можно использовать единовременно для генерации Xі за один такт применения простейших логических операций И, ИЛИ, что позволяет осуществлять аппаратное шифрование за два такта для всего массива длины KN бит.
Принимающая сторона должна определить набор qj, пропуская его через регистр и тестируя байты, про-веряя условие:
(XJs - QJ)(-1)qJ > О, (7)
например, с помощью релейной схемы, что тоже требует всего лишь двух тактов работы схемы.
Обратим внимание на то обстоятельство, что аппаратное шифрование и дешифрование происходит за O(L) время, где L — это средняя длина массива «соли», а программная реализация требует CKNL числа опе-раций, что при достаточно больших N и K делает неэф-фективным программную реализацию, даже при при-менении распараллеливания.
Отметим, что единичную передачу Xі, с «ошибками», можно рассматривать и как передачу нового мастер-ключа, одновременно принимая младшие биты за определяющие qj биты.
Заключение
В заключение можно сделать следующие выводы: предложен криптографический алгоритм защиты информации, стойкость которого основана на сложности решения задачи выбора селектора из пересечения графиков соответствий (1); получена оценка стойкости в наиболее благоприятном для атакующего случае; показано, что алгоритм эффективно реализуем аппаратно и принципиально малоэффективен при программной реализации.
Библиографический список
1. Грибунин, В.Г. Цифровая стеганография / В.Г. Грибунин, И. Н. Оков, И. В. Туринцев. — М. : Солон-Пресс, 2002. — 272 с.
2. G.J. Simmons, Subliminal Channels: Past and Present. European Trans. on Telecommunications, 4(4):459-47З, Jul/Aug 1994.
3. Шнайер, Б. Прикладная криптография. — М.: Изд-во «Триумф», 200З. — В16 с.
4. Генжин, П.А. Методика защиты цифроввіх видеодоказательств от фальсификации встраиванием цифрового водяного знака / П.А. ?енжин, P. Т. Файзуллин // Научная сессия ТУСУ?-2010. В 5 ч. Ч. З. — Томск, 2010. — С. 191 — 192.
5. Lenore Blum, Manuel Blum, and Michael Shub. «A Simple Unpredictable Pseudo-Random Number Generator», SIAM Journal on Computing, volume 15, pages З64—ЗВЗ, May 19В6.
6. Файзуллин, И. P. Криптостеганографический алгоритм с использованием хэш-функции для маркировки начала сообщения / И. P. Файзуллин // Научная сессия МИФИ-2007. Т. 16. Компьютерные науки. Информационные технологии.— С. 149—150.
ФАЙЗУЛЛИН Ильдар Рашитович, начальник отдела функциональной разработки Департамента SAP, X5 Retail Group, Москва.
Адрес для переписки: e-mail: [email protected] ФАЙЗУЛЛИН Рашит Тагирович, доктор технических наук, профессор Россия), проректор Омского государственного технического университета по информатизации, профессор кафедры «Средства связи и информационная безопасность».
Адрес для переписки: e-mail: [email protected]
Статья поступила в редакцию З0.08.20і0 г.
© И. Р. Файзуллин, Р. Т. Файзуллин