Современные
информационные технологии/4. Информационная безопасность
К.к.с.з.и. Романова Е.А., Мелешко Е.А.
Национальный
Авиационный Университет, Украина
Методы защиты
информации с использованием визуальной криптографии
В данный момент
существует огромное количество методов шифрования информации. Практически все
они основаны на применении симметричных, асимметричных либо гибридных
алгоритмов шифрования данных. В этой статье описывается метод шифрования,
адаптированный конкретно под графическую информацию, имеющий название
Визуальная Криптография.
Визуальная
криптография впервые была представлена М.Наором и А.Шамиром на EUROCRYPT в 1994 году. Они
задали следующий интригующий вопрос: возможно ли разработать тайную схему
обмена в которой изображение можно восстановить «визуально» путем наложения N его частей? Каждая
часть будет прозрачной и состоять из набора белых (прозрачных) и черных
пикселей.
Визуальная
криптография –
это специальная криптографическая техника, которая позволяет расшифровать
графическую информацию (изображения, текст и т.д.) таким образом, что
расшифровка может быть осуществлена человеческой зрительной системой, без
помощи компьютеров.
Наор и Шамир
продемонстрировали визуальную схему секретного обмена, где изображение было
разбито на N частей,
таким образом, что кто-либо, обладавший всеми N частями мог расшифровать его, в
то время как любые N-1 частей не
давали никакой информации о содержании исходного изображения. Каждая часть
изображения должна быть распечатана на отдельной прозрачной пленке, а
расшифровка происходит путем накладывания этих пленок одну поверх другой. В
случае использования этого алгоритма в компьютерных системах, наложить все
части изображения друг на друга можно в графических редакторах, поставив нужную
прозрачность слоев. Когда все N частей будут наложены друг на друга, мы увидим исходное изображение.
Пример (рис.1-5)
наглядно демонстрирует как два слоя соединяются друг с другом путем перекрытия,
и мы не получаем исходное изображение до тех пор, пока они четко не перекроют
друг друга.
Исходный
текст (рис.1) Первый слой (рис.2) Второй слой (рис.3)
Наложение
двух частей изображения (рис.4) Результат
перекрытия (рис.5)
Схема работы визуальной криптографии
Каждый
пиксель изображений делится на меньшие блоки (подпиксели). Количество белых
(прозрачных) и черных блоков всегда одинаковое. Если пиксель делится на две
части, то получается один белый и один черный блок. Если пиксель делится на
четыре равные части, то получаем два белых и два черных блока.
В
таблице приведенной ниже (рис.6), мы можем увидеть, что пиксель разделенный на
четыре части, может иметь шесть разных состояний. Если пиксель на первом слое
имеет одно положение, пиксель на втором слое
в свою очередь может иметь два положения: идентичное либо
инвертированное пикселю первого слоя. Если пиксель слоя 2 идентичен пикселю
слоя 1, то пиксель, полученный в результате перекрытия будет наполовину белый и
наполовину черный. Такой пиксель называют серым или пустым. Если пиксели слоя 1
и слоя 2 противоположны, то пиксель, полученный в результате перекрытия будет
полностью черным. Он будет являться информационным.
Все
пиксели первого прозрачного изображения (первого слоя) имеют случайные состояния
(из шести возможных, приведенных на рис.6). Слой 2 идентичен слою 1, за
исключением тех пикселей, которые должны быть черными (информационные). Эти пиксели имеют состояние, противоположное
тому же пикселю первого слоя. Если перекрыть один слой вторым, области с
одинаковыми состояниями будут выглядеть серыми, а области с обратными
состояниями будут выглядеть черными.
Возможные
состояния подпикселей рис.6
Рассмотрим базовую
схему (2 из 2х). Каждый пиксель:
- представлен в n частях
- поделен на m подпикселей
ð 1 пиксель представляется в виде n*m булевой матрицы S = [], где = 1 если j-й подпиксель
в i-й прозрачной
части – черный.
Пример (схема 2 из 2х с 2мя подпикселями):
·
Белый пиксель или
·
Черный пиксель или
Позднее была предложена расширенная схема алгоритма N из N (в базовом варианте 2 из 2) до k из n частей изображения. Изображение
разбивается на n частей и любые k частей сложенных
вместе – составляют исходное изображение.
Теперь рассмотрим схему для k из n (k,n>2). В модели участвует две совокупности матриц и размера n*m. Чтобы разделить белый пиксель, случайным образом выбирается одна
из матриц в , а чтобы разделить черный пиксель, случайным образом
выбирается одна из матриц в . Матрицы задают разделение на группы подпикселей (по группе
на каждое разделение) так, чтобы при обьединении групп черного пикселя
получалась группа только с черными подпикселями, а при объединении групп белого
пикселя получалась группа, содержащая как белые, так и черные подпиксели
(«нечерная» группа). Выбранная матрица определяет цвет m подпикселей в каждом из n диапозитивов.
Схема
имеет следующие параметры: n - количество разделений исходного
изображения, m – число
пикселей в разделении (отражает потерю в разрешающей способности при переходе
от оригинального изображения к некоторому разделению, предпочтительно задавать m как можно меньше), r – размер совокупностей и (отражает число случайных битов необходимых для генерации
разделений).
Схема
(3,3) при k=n=3, m=4, где
совокупность матриц образуют все матрицы,
полученные перестановкой столбцов матрицы ,
совокупность матриц образуют все матрицы,
полученные перестановкой столбцов матрицы .
Каждая матрица из или содержит одно
горизонтальное, одно вертикальное и одно диагональное разделение. Каждое
разделение содержит случайный выбор двух черных подпикселей, а любая пара
разделений из одной матрицы содержит случайный выбор из одного общего черного
подпикселя и двух разных черных подпикселей. Следовательно, анализ одного или
двух разделений делает невозможным различение матрицы из и.
Легко
увидеть, что для некоторой заданной Схемы Визуальной Криптографии (k,n), алгоритм шифрования
изображения обладает следующими свойствами:
- регулярность (производятся
одинаковые действия для каждого исходного пикселя)
- независимость (каждый исходный
пиксель шифруется независимо от других)
- простота (производится
случайный выбор матриц из совокупностей, заданных самой схемой разделения
секрета)
Если
визуальная криптография используется для безопасного общения, то отправитель
передаст одну или больше копии случайного слоя 1 заблаговременно получателю.
Если у отправителя есть сообщение, он создает слой 2 для конкретного
отправленного слоя 1 и передает его получателю. Получатель соединяет два слоя и получает секретную информацию.
При этом всем, ему не требуется использовать устройства расшифровки,
производить сложные математические расчеты, и даже не обязательно применять
компьютер (если изображения находятся в печатном виде). Система является
стойкой до тех пор, пока обе части изображения не попадут в чужие руки. Если же
перехвачен только один слой, то расшифровка исходного изображения – невозможна.
Нельзя узнать используется ли пиксель
второго слоя для создания серого или черного пикселя, пока не узнаем состояние
этого пикселя на первом слое, чтобы узнать результат перекрытия. Если в
процессе использования данной системы полностью соблюдается случайный подход к
разбитию пикселей на блоки, то визуальная криптография предлагает абсолютную
надежность и секретность, которую можно сравнить с надежностью одноразового
блокнота.