Итак, в криптографии известна и решена задача доказательства существования некоторой информации без раскрытия сведений о ней. К сожалению, идея доказательства с нулевым знанием не может быть непосредственно применена для построения системы ЦВЗ, из-за специфики последней. Далее рассмотрена эта специфика и возможные модификации протокола доказательства с нулевым знанием для применения в ЦВЗ [14].
В рассмотренном выше протоколе Алиса имеет возможность публиковать открытое число
Вначале рассмотрим возможную реализацию протокола с нулевым знанием в известной схеме построения системы ЦВЗ, носящей имя Питаса [15]. В основе схемы Питаса лежит разделение всего множества пикселов на два подмножества, увеличение значений на некоторое число
Версия схемы Питаса для протокола с нулевым знанием строится следующим образом. После внесения ЦВЗ в контейнер Алиса выполняет перестановку
Итак, в соответствии с [14]:
1. Алиса генерирует перестановку, вычисляет последовательность
2. Боб теперь знает, как исходный контейнер, так и его перестановку и случайным образом просит Алису:
а) открыть перестановку, чтобы убедиться что нет обмана;
б) показать наличие
3. Алиса выполняет просьбу Боба.
4. Алиса показывает, что она не смошенничала и
5. Использованная перестановка больше в протоколе не применяется.
Данный протокол порождает ряд проблем. Во-первых, даже небольшой сдвиг контейнера приведет к рассогласованию значений
Поэтому, в [14] был предложен ряд усовершенствований вышеприведенного стеганографического протокола с нулевым знанием, с использованием криптографически сильных перестановок, основанных на сложных проблемах, например, поиска путей на графах.
1.5. Некоторые практические вопросы встраивания данных
Часто используют следующий принцип встраивания данных. Пусть сигнал контейнера представлен последовательностью из
Рассмотрим другие возможные способы внедрения в контейнер битов ЦВЗ.
1) Инверсия бита. Значения битов стегопути заменяются на противоположные. При этом «1» может соответствовать замена 0->1, «0» — замена 1->0.
2) Вставка бита. Перед битом стегопути вставляется бит ЦВЗ. При этом значение бита ЦВЗ должно быть противоположно значению бита контейнера.
3) Удаление бита. Выбираются пары «01» или «10» битов стегопути, соответствующие разным значениям бита ЦВЗ. Затем первый бит пары удаляется.
4) Использование бита-флага. При этом на то, что очередной бит контейнера (неизменяемый!) является битом ЦВЗ указывает инверсия предшествующего бита-флага.
5) Применение пороговых бит. Также как и в предыдущем методе используется бит-флаг. Однако, одному биту ЦВЗ соответствует несколько идущих следом за флагом бит (нечетное число). Если среди этих бит больше единиц, то бит ЦВЗ равен «1».
6) Использование табличных значений. Для определения бита ЦВЗ в предыдущем методе, фактически, использовалась проверка на четность. С тем же успехом можно было бы применять и любое другое отображение множества бит в 1 бит, либо находить его значение по таблице.