Аппаратно-эффективный алгоритм формирования маркера начала сообщения

Автор: Файзуллин Рашит Тагирович, Файзуллин Ильдар Рашитович

Журнал: Компьютерная оптика @computer-optics

Рубрика: Обработка изображений: Восстановление изображений, выявление признаков, распознавание образов

Статья в выпуске: 4 т.34, 2010 года.

Бесплатный доступ

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

Мастер-ключ, маркер, криптографическая стойкость, автомат без памяти

Короткий адрес: https://sciup.org/14058975

IDR: 14058975

Текст научной статьи Аппаратно-эффективный алгоритм формирования маркера начала сообщения

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

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

Рассмотрим поток данных, состоящий из бит, полученных или с помощью физического генератора псевдослучайных чисел, или с помощью программного датчика псевдослучайных чисел. Задача состоит в том, чтобы встроить в этот поток маркер сообщения, который будет содержать само сообщение. Схожая задача была рассмотрена в работе [5], но там маркер предваряет сообщение и зависит от него, как хэш-код, что представляется не совсем эффективным, т.к. требует офф-лайн обработки больших объёмов данных.

Рассмотрим последовательность байтов Q 1,.., QN , каждый из которых состоит из K бит, и соответствующий им кортеж бит q 1,..., qN . Будем называть объединение этих кортежей мастер-ключом.

Передающая сторона, или Алиса, генерирует кортеж X 1, … , XN с условиями:

Xj Q* если qj = 0,                       (1)

Xj Q j если q j = 1.

И маркирует н ачало сообщения операцией побитового сложения байтов.

Xj , Qj :

Z{ = X i © Q i i = 1,.. K .

Получатель сообщения, или Боб, производит аналогичную операцию XOR над байтом Z j и бай- том Q , получая в итоге X . Если некоторая после- довательность битов X ,.., X       удовлетворяет условиям (1), тот Боб делает вывод о том, что с вероятностью 1–2–N эта последовательность байтов маркирует начало сообщения.

Но заметим, что Алиса может специально генерировать некоторые из X j так, что условия (1) для них не будут выполняться. Если число таких «ошибок» будет относительно мало, например, не более четверти, и окаймлено заранее заданным числом не «ошибок», то Боб, проверяя входной поток, может сделать хорошо обоснованный вывод о наличии специально встроенных Алисой символов «ошибки». Боб должен выбрать из двух гипотез: он получает случайный поток данных или поток данных, созданный Алисой. Учитывая, что случайный поток данных, например, созданный с помощью генератора псевдослучайных чисел BBS, хорошо описывается схемой Бернулли, а при увеличении Nхорошо описывается нормальным законом, то выде ление кортежа X ,.., X не представляет большого труда, с учётом, например, того, что доверенное лицо проводит тест на открытый текст для наиболее вероятного фрагмента потока данных.

В этом случае Боб может интерпретировать маркер как битовую строку qj, j = 1,..N, где нулями яв-jj ляются те из q , которые совпадают с q , а единицами – места «ошибок». Длина слова в этом случае будет равна N, а «полезное пространство сообщений» 2N-1, где l сравнимо с N.

Насколько стойкой является предложенная схема шифрования?

Предположим, что аналитик каким-то образом смог выделить несколько кортежей Zj , j = 1,.., N , s = 1,.., MM 2, отвечающих маркерам, и ему известно, что в маркерах нет «ошибок».

С учётом независимости блоков аналитик может рассматривать только один блок j и отвечающие ему неизвестные qj , Qj , X j 1,.. X jM .

В этом случае мы получаем систему линейных уравнений в Z 2 и неравенств в R :

zj i = xjs i © Qj i i = 1,.. K , s = 1,.., M

j

( X j - Q] )( - 1) q 0

Предполагая, что, например, q s = 0, получим:

( X]s - Q j ) 0.

Попытка решить эту сист ему прямыми методами обречена на неудач у, т.к. ассоциированные системы линейных алгебраических уравнений имеют ядро размерности, сравнимой с K , что делает задач у теоретически неразрешимой.

Предположим, что мы точно знаем расположение M кортежей Z j в потоке данных и тем самым знаем z ji = x j, ® Q ji i = 1,.. K , s = 1,.., M , ] = 1,.., N для каждых j , s . Зафиксируем некоторое j и оценим трудоёмкость определения битов Q 1 j ,..., QKj при неизвестном q .

Оказывается, что в этом случае верна след ующая лемма.

Лемма 1:

В наилучшем для атакующего случае трудоёмкость определения мастер-ключа Q1j,..., QNj и q1,..., qN не меньше, чем CNK2K .

Рассмотрим все возможные значения Q j, которые, возможно, являются битами маркера без ошибок. Очевидно, что их число оценивается величиной 2K. Для каждого такого Q j по известному Z j однозначно определяется X j и проверяется, например, условие (Xj - Q]) > 0. Заметим, что априори нельзя выделить множество таких пробных Q j, для которых всегда б удет выполняться только условие (Xj - Q]) > 0, кроме, конечно, тривиального слу- чая нулевого вектора. Поэтому мы вынуждены проверять условие в 2 -1 случаях.

По результатам проверки Q j заносится в одно из множеств A = { q j , X j - Q j 0 } или B 'Qr , X] - Q] 0 } .

Выберем из M кортежей другой байт Q j и так же образуем множества A ={q], Xj 1 - Qj > 0}, B = {q] , Xj 1 - Qj < 0}. Предположим, что всё пересечение A ∩ A' состоит только из одного H j , а пе- ресечение B ∩ B' пусто.

В этом случае H j будет искомым байтом, а искомый бит q j будет определяться однозначно.

Даже в этом простейш ем случае мы вынуждены решить системы два раза, для каждого кортежа и число операций побитового сложения для определения X j пропорционально K , т.е. длине байта.

Циклический сдвиг кортежа q1,..., qN и встраивание «ошибок» или сообщения решает эту проблему практически, но лемма по существу остаётся верной. Мы с вероятностью 0,25 «успешно» попадаем в отрезок Голомба [6] длины больше, чем единица. Отметим, что мы рассматриваем идеальный слу- чай, в котором выборка и распределение данных в памяти производится мгновенно.

Из леммы след ует другой практический вывод о том, что гарантированная на сегодняшний день стойкость, равная 280, без учёта операций записи и считывания из памяти, б удет обеспечиваться выбором длины байта K большей или равной 64 .

Также можно сформулировать очевидную лемму о классе сложности, к которому принадлежит задача криптоанализа данного алгоритма.

Лемма 2:

Задача определения мастер-ключа при изв ест-ных кортежах Z j не принадлежит классу NP.

Допустим, что нам известны несколько кортежей Z j и необходимо проверить, что наборы Q1j ,..., QNj и q1,..., qN являются ключом. Покажем, что, даже если все Xj = Zj ® Qi i = 1,..K удовлетворяют (1), это не означает, что Q1j,..., QNj и q1,..., qN мастер-ключ. Допустим, что Z j и Q j на нескольких общих позициях имеют совпадающие нулевые биты. Тогда Q , полученное произвольной расстановкой единиц в этих позициях, так же позволит сгенерировать Xi = Z/ ® q] i = 1,..K , удовлетворяющие неравенствам (1). Единственный выход – это увеличени е числа M в общем случае до величины 2r , где r – это число нулевых бит, стоящих в общих позициях у Z j и Q j . Только в этом случае можно выбрать единственное Q из всех возможных Q . Доказательство завершено.

Заметим, что реализация кодирования информа- 1 N ции, или создание последовательности X ,... X , может быть осуществлена инвертированием бит, например, применением операций И, ИЛИ с битами байта Q и содержимым некоего регистра сдвига с линейной обратной связью. Если, например, q j =0, то некоторые нулевые биты Q j необходимо инвертировать на единичные (ИЛИ), если же q j =1, то наоборот, необходимо инвертировать единичные биты Q j (И).

Принимающая сторона может определить набор q 1,.., qN , пропуская его через регистр сдвига и тестируя байты на предмет проверки ( Xj - Qj )( - 1) q 0, так же с помощью автомата без памяти (конъюнктивную нормальную форму (КНФ)), предложенного в [7].

Обратим внимание на то немаловажное обстоятельство, что аппаратное шифрование и дешифрование происходит за O (1) время, необходимое для прохождения сигнала через автомат, реализующий КНФ, а программная реализация требует CKN числа операций. Это позволяет сделать вывод о перспективности использования данного подхода в практике корпораций и неэффективности программны х реализаций частными лицами.

Заключение

Компьютерное моделирование формирования и распознавания маркера показало, что система работоспособна и не возникает гонок автоматов.

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

Статья научная