Стеганография

From CryptoWiki
Revision as of 17:21, 2 December 2013 by 13-03-KolobovDG (Talk | contribs)

Jump to: navigation, search

Назад
Стеганография: буквально означает «тайнопись». Образовано от греческого: steganos – секрет, тайна; graphy – запись. Стеганография – это наука о тайной передаче информации путем сокрытия самого факта передачи. Не стоит путать ее с криптографией, которая скрывает содержание сообщение, а не его наличие. Эти два способа защиты информации не являются взаимозаменяемыми, однако, отлично дополняют друг друга.

Contents

Постановка задачи защиты информации (Security challenge)

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

Можно разными способами скрыть факт передачи сообщения. Однако у всех таких способов есть общая черта. Сообщение, которое нужно передать, встраивается в некоторый не вызывающий подозрений объект. Затем этот объект передается получателю.

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

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

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

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

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

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

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

Стоит отметить, что в настоящее время сложились следующие требования к стегосистемам (стеганосистемам)[1]:

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

А так же согласно [2,3]:

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

Общий вид стеганосистем показан на рисунке 1.

Рисунок 1.png

Рисунок 1. Общий вид стеганосистем

Вернуться к оглавлению

Теоретические основы решения задачи (Theoretical issues)

Существуют определенные проблемы использования стеганографических систем. Основная проблема – проблема устойчивости. При фиксированном размере файла-контейнера зависимость надежности системы от размера скрываемого сообщения можно увидеть на рисунке 2.

Рисунок 2.png

Рисунок 2.Зависимость между размеров встраиваемого сообщения и надежностью сокрытия при фиксированном размере файла-контейнера

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

Изображения (Images):

Согласно [2] большинство исследований сейчас направлено на исследование контейнеров-изображений. Это обусловлено рядом причин:

  • В настоящий момент существует значимая с практической точки зрения задача защиты картин и фотографий от незаконного распространения и использования;
  • Современные форматы позволяют хранить изображения в хорошем качестве, для этого необходимо хранить большой объем информации об изображении и, следовательно, существует возможность встраивания сообщений большого объема или повышенной робастности;
  • Размер контейнера заранее известен, встраивание не ограничено требованиями встраивания в режиме реального времени;
  • В большинстве реальных изображений присутствуют области, имеющие шумовую структуру и хорошо подходящие для встраивания информации;
  • Система человеческого зрения слабо чувствительна к незначительным изменениям цветов изображения, яркости, контрастности, искажениям вблизи контуров и содержанию шумов;
  • Методы цифровой обработки изображений в настоящее время хорошо разработаны.

Стоит отметить, что последняя причина так же вызывает трудности в создании робастных алгоритмов, ведь чем лучше становятся методы сжатия, тем меньше остается возможностей, пригодных для встраивания посторонней информации. Изначально предполагалось вкладывать информацию в наименее значащие биты для уменьшения заметности. Теперь встраивание происходит в наиболее значимые области изображения, разрушение которых приведет к полной деградации изображения. Поэтому современные алгоритмы учитываю свойства системы человеческого зрения. Часто в алгоритмах используются преобразования, которые используются и в алгоритмах сжатия (дискретное косинусное преобразование (ДКП) – JPEG, вейвлет-преобразование – JPEG2000). Для встраивания существует три возможности: встраивание информации может производиться в исходное изображение, параллельно со сжатием изображения-контейнера или в уже сжатое изображение. Наиболее распространены первый и второй способы.
Алгоритмы сокрытия данных в пространственной области внедряют сообщения в области исходного изображения. Их преимуществом является отсутствие необходимости в вычислительно сложных преобразованиях изображения. Сообщение внедряется за счет манипуляций цветовыми составляющими (r(x,y),g(x,y),b(x,y)) или яркостью l(x,y)=f(r(x,y),g(x,y),b(x,y)). В алгоритмах сжатия изображений используются различные преобразования. Алгоритмы сокрытия данных в области преобразования внедряют сообщение в области преобразования, например, в коэффициенты ДКП. Преимущество данного механизма встраивания заключается в том, что сообщение устойчиво относительно сжатия изображения. Желательно применять для скрытия данных то же преобразование, которому оно подвергнется при дальнейшем сжатии.

Видео (Video):

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

В стандарте MPEG используются 3 типа кадров:

  • I-кадры — intra-кадры. Они кодируются без ссылок на другие кадры, содержат неподвижное изображение.
  • Р-кадры — предсказуемые кадры, которые кодируются со ссылкой на предыдущий принятый (I) или (Р) кадр;
  • В-кадры — двусторонне интерполируемые кадры, которые кодируются наиболее сложным образом. Такой кадр может строиться несколькими способами — на основе предыдущего кадра, на основе последующего кадра и как интерполяция между предыдущим и последующим кадрами.

Изображение представляется в формате YUV, то есть одним каналом яркости Y и двумя каналам цветности U,V. Изображение в канале яркости – это, по существу, черно-белое изображение. Широко известно, что зрительная система человека более чувствительна к изменениям в канале яркости, нежели в каналах цветности. Вследствие этого, компоненты U и V могут быть подвергнуты большему сжатию, чем Y.

Каждый компонент I-кадра разбивается на блоки 8*8 пикселов, затем каждый блок подвергается ДКП. После ДКП в каждую ячейку блока вместо значения цветности ставится коэффициент ДКП. Это позволяет получить двумерный энергетический спектр участка изображения. Такой спектр изображения обычно сосредотачивается в низкочастотных коэффициентах. Чем меньше отличаются друг от друга значения соседних пикселов, тем ближе к нулю значения более высокочастотных коэффициентов ДКП.

Р-кадры, как и В-кадры, также разбиваются на блоки 8*8 пикселов и затем сравниваются с некоторым опорным кадром. Затем возможны три случая:

  1. Отдельный блок в кодируемом Р-кадре совпадает с расположенным в этой же позиции блоком опорного кадра. Тогда достаточно указать, что блок остался таким же.
  2. Отдельный блок в кодируемом кадре совпадает с блоком опорного кадра, находящимся в другой позиции. Тогда для его кодирования необходимо задать вектор смещения.
  3. Отдельный блок в кодируемом кадре может не совпадать ни с одним из блоков опорного кадра. Тогда он будет кодироваться полностью.

Таким образом, на самом низком уровне структуры MPEG находятся блоки пикселов 8*8, представляемые 64 коэффициентами ДКП. Блоковый уровень может быть разделен на три области.

  • Первая область — коэффициентов, где блок содержит 8*8 оцифрованных коэффициентов ДКП, представленных целыми числами. Многие из них обычно равны нулю, особенно высокочастотные.
  • Вторая область — пар, при этом коэффициенты ДКП зигзагообразно сканируются, и затем коэффициенты заменяются парами, состоящими из длины нулевой серии, предшествующей ненулевому коэффициенту, и значения этого коэффициента. Если до конца блока остаются только нули, то они пропускаются. Например, если имеется последовательность 5, 3, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, то она кодируется следующим образом (0,5), (0,3), (0,2), (2,4), (8,1).
  • Третья область — битовая, в ней сформированные ранее пары кодируются кодом Хаффмана. Каждый блок коэффициентов ДКП заканчивается маркером конец блока (КБ).

Из этого можно выявить, что наиболее вычислительно простым будет алгоритм внедрения данных на блоковом уровне. Также невысокую сложность имеет алгоритм встраивания данных на уровне коэффициентов, в то время как алгоритм встраивания информации, работающий в битовой области, требует только осуществления дополнительного кодирования Хаффмана. Из этого следует, что вся процедура встраивания может состоять из 3-х этапов:

  1. Декодирования Хаффмана
  2. Специальной модификации
  3. Кодирования Хаффмана

Аудио (Audio):

Для работы с аудиосистемами необходимо учитывать требования к стегосистемам встраивания в аудиосигналы [2]:

  • Cкрываемая информация должна быть стойкой к наличию различных шумов, сжатию с потерями, фильтрованию, аналогово-цифровому и цифро-аналоговому преобразованиям;
  • Cкрываемая информация не должна вносить в сигнал такие искажения, которые воспринимаются системой слуха человека;
  • Попытка удаления скрываемой информации должна приводить к заметному повреждению контейнера (для ЦВЗ);
  • Скрываемая информация не должна вносить заметных изменений в статистику контейнера;

При внедрении информации в аудиосигналы можно использовать те же методы, что и в других видах стеганографии. Например, можно замещать наименее значащие биты контейнера битами встраиваемого сообщения. Так же можно строить стегосистемы, основанные на особенностях системы слуха человека и на особенностях самих аудиосигналов. По своей сути система слуха человека – это анализатор частотного спектра, который воспринимает сигналы в диапазоне 10 – 20000 Гц. Систему слуха человека можно смоделировать, как 26 пропускающих фильтров, полоса пропускания, которых увеличивается с увеличением частоты. Изменение фазы сигнала улавливается системой человеческого слуха слабее, чем изменение амплитуды или частоты.
Следовательно, существует три способа встраивания информации в аудиосигналы:

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

Основные стеганографические конструкции и их стойкость (Cryptographic primitives and/or protocols)

В данном разделе будут рассмотрены некоторые примеры стегоалгоритмов.

Изображения (Images):

В качестве примера алгоритма сокрытия данных в пространственной области рассмотрим алгоритм Каттера (Kutter) [4]. Согласно этому алгоритму, встраивание производится в канал синего цвета, так как изменения в нем наименее заметны глазу человека. Пусть необходимо передать один бит секретной информации si. I={R,G,B}- контейнер. p=(x,y) - позиция, в которую выполняется вложение (выбирается псевдослучайно).
Встраивание происходит в канал синего цвета путем модификации яркости l(p)=0.299r(p)+0.587g(p)+0.114b(p)следующим образом:

Ф1.png

q – это константа, значение которой меняется в зависимости от назначения схемы. Чем больше ее значение, тем выше робастность вложения, но тем сильнее видны искажения контейнера. Для извлечения информации не требуется исходное изображение (извлечение вслепую). Значение исходного пикселя предсказывается по значению его соседей (крест пикселей размера 7х7). Оценку (b^ ) ̂(p) получают в виде:

Ф2.png

где c – число пикселей сверху/снизу/слева/справа от оцениваемого (c=3). Пусть в процессе встраивания каждый бит был повторен cr раз. Тогда получится cr оценок одного бита. Секретный бит находится после усреднения разности полученного значения и реального значения пикселя:

Ф3.png

Знак этой разности определяет значение встроенного бита. Однако стоит заметить, что верное определение значения секретного бита не гарантировано.
В качестве примера алгоритма сокрытия данных в области преобразования рассмотрим алгоритм Коха (Koch) [5]. Обычно контейнер разбивается на блоки размером 8х8 пикселей. К каждому блоку применяется ДКП и получаются матрицы коэффициентов ДКП размером 8х8. Пусть коэффициенты будут обозначены как c_b (j,k), где b – номер блока, а (j,k) – позиция коэффициента внутри этого блока.
В данном алгоритме в блок коэффициентов ДКП встраивается 1 бит информации. Псевдослучайно выбираются два коэффициента ДКП. Для передачи бита добиваются того, чтобы разность этих коэффициентов была больше некоторого положительного числа или меньше некоторого отрицательного:

Ф5.png

Для нахождения значения секретного бита выполняется обратная процедура:

Ф6.png

.

Видео (Video):

В качестве примера алгоритма сокрытия данных на уровне коэффициентов рассмотрим алгоритм Ву (Wu) [6]. Было предложено добавлять псевдослучайный массив (встраиваемое сообщение) к DC-коэффициентам видео, которое сжато по стандарту MPEG (используются только значения яркости в I-кадрах). DC-коэффициенты – это коэффициенты ДКП, расположенные в левом верхнем углу каждого блока 8х8. Они несут в себе наибольшую информацию о блоке и их сильное искажение заметно глазу.

  1. На секретном ключе генерируется массив псевдослучайных целых чисел {-1,1}, имеющий те же размеры, что и I-кадр.
  2. Полученный массив модифицируется в соответствии со встраиваемым сообщением и умножается на некоторый коэффициент усиления.
  3. Значения DC-коэффициентов каждого из I-кадров складываются с соответствующими числами модифицированного массива.

Авторы этого метода утверждают, что при его применении значительно ухудшается качество видео. Следовательно, чтобы сохранить необходимое качество получаемого в результате видео, коэффициент усиления необходимо брать низким (<1), и количество пикселов на один бит сообщения должно быть достаточно большим (>>100,000). В качестве примера алгоритма сокрытия данных на уровне битовой плоскости рассмотрим алгоритм, который был предложен в работах [7-12]. Этот метод аналогичен методу замены наименее значимых коэффициентов. Сообщение из l битов некоторой последовательности bj (j = 0, 1, 2, …, l-1), внедряется в поток видеоданных, сжатых по стандарту MPEG. Для этого специально выбранные подходящие кодовые слова модифицируются путем замены младшего бита на значение bj. Чтобы внесенные изменения не были заметны после декодирования, и чтобы поток видеоданных не изменил своих размеров, необходимо выбирать кодовые слова, удовлетворяющие нескольким условиям:

  • Одинаковая длина нулевой серии;
  • Различие между значениями коэффициентов ДКП равно 1;
  • Одинаковая длина кодовых слов.

Аудио (Audio):

В качестве примера алгоритма сокрытия данных при помощи расширения спектра рассмотрим алгоритм Бассиа (Bassia) [13]. Пусть аудиосигнал состоит из N отсчетов x(i), i=0,1,…,N, где значение N>=88200. Для встраивания используется функция, которая должна принимать во внимание особенности системы слуха человека, чтобы избежать слишком заметных искажений сигнала – f(x(i),w(i)), где w(i) – отсчет сообщения, изменяющийся в пределах некоторого отрезка [-a,a] (a – константа). Отсчет результирующего сигнала определяется следующим образом: y(i)=x(i)+f(x(i),w(i)). Обнаружение происходит следующим образом:

Ф4.png

.

В качестве примера алгоритма сокрытия данных при помощи модификации фазы сигнала рассмотрим алгоритм Бендера (Bender) [14]. Звуковое кодирование выполняется следующим образом:

  • Звуковой сигнал s[i], (0<=i<=I-1) разбивается на серию коротких сегментов (N штук) sn[i], (0<=n<=N). Это показано на рисунке 3.

Рисунок 3.png

Рисунок 3. Разбиение исходного сигнала на серию сегментов

  • К n-му сегменту сигнала sn[i] применяется k-точечное дискретное преобразование Фурье, где К=I/N, и создаются матрицы фаз φn(wk) и амплитуд An(wk)), (0<=k<=K-1).
  • Запоминается разность фаз между каждыми двумя соседними сегментами

Ф7.png

  • Бинарная последовательность данных представляется, как

    Ф8.png

    data.
  • С учетом разности фаз создается новая матрица фаз для n > 0.
  • Стегокодированный сигнал получается путем применения обратного дискретного преобразования Фурье, к исходной матрице амплитуд и модифицированной матрице фаз.

В качестве примера алгоритма сокрытия данных за счет изменения времени задержки эхо-сигнала рассмотрим алгоритм Бендера (Bender) [14]. При кодировании используется два времени задержки: для нуля и для единицы, но они оба меньше того, на котором система слуха человека может распознать эхо. Соответственно задержка между исходным сигналом и его эхо несет в себе биты сообщения. Если необходимо встроить несколько бит сообщения, то исходный сигнал делится на участки, которые рассматриваются как отдельные сигналы и в которые внедряется по одному биту информации. Стоит отметить, что в настоящее время не придуманы стегоалгоритмы, устойчивые к любым действиям злоумышленника. Поэтому стойкость каждого из существующих алгоритмов можно оценить только в конкретной среде при конкретных условиях.

Вернуться к оглавлению

Практические применения криптографических конструкций, особенности их реализации (Practical issues)

С развитием средств персональный вычислительной техники появилась возможность создания программных решений многих стеганографических алгоритмов. На данный момент в сети Интернет можно найти более сотни программ, дата выпуска которых начинается с 1995 года и заканчивая нашим днем. Стоит отметить, что коммерческие решения составляют лишь небольшую долю от общего числа и зачастую представляют из себя комплексное решение по сокрытию информации на персональном компьютере. Многие из не-коммерческих стеганографических приложений делятся на два основных вида:

  • Самостоятельные
  • Встраиваемые

В отличии от самостоятельных приложений, для встраиваемых обязательно необходима программа, через которую пользователь сам осуществляет работу с файлами. Наиболее популярной в этой области стала программа (файловый менеджер) Total Commander, в которую возможно встроить довольно известные плагины DarkCryptTC и RedJPEG. Не смотря на популярность указанных выше решений, в сети Интернет возможно обнаружить куда больше самостоятельных решений, например:

  • bmpPacker
  • ImageXYZ
  • Puff

Эти продукты предназначены для встраивания любых бинарных файлов в контейнеры, которые могут представлять из себя различные видео/аудио форматы (AIFF, MP3, NEXT/SUN, WAV), (3GP, FLV, MP4, MPG, SWF, VOB), изображения(BMP, JPG, PCX, PNG, TGA, ICO, TIFF, JPEG, JPEG2000), а также исполняемые файлы, такие как .exe или .dll. Более того, большинство из них поддерживают современные алгоритмы шифрования, начиная от RC6 и заканчивая TWOFISH и RIJNDAEL, однако и подавляющая часть стеганоприложений работают по принципу LSB(встраивания в наименее значимый бит) или заполнением неиспользуемых полей.

Глоссарий (Glossary)

Вернуться к оглавлению

Библиографический указатель (Bibliography)

Вернуться к оглавлению

1. О.В.Генне, ООО "Конфидент" Опубликовано: журнал "Защита информации. Конфидент", №3, 2000 интернет-ресурс http://citforum.ru/internet/securities/stegano.shtml [дата обращения 04.11.2013]
2. Грибунин В.Г., Оков И.Н., Туринцев И.В. Цифровая стеганография. — М.: Солон-Пресс, 2002. — 272 с.
3. B. Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, 2nd ed. New York // John Wiley and Sons, 1996.
4. Kutter M., Jordan F., Bossen F. Digital signature of color images using amplitude modulation // Proc. of the SPIE Storage and Retrieval for Image and Video Databases V. 1997. Vol. 3022. P. 518-526.
5. Koch E., Zhao J. Towards Robust and Hidden Image Copyright Labeling // IEEE Workshop on Nonlinear Signal and Image Processing. 1995. P. 123-132.
6. Wu T., Wu S. Selective encryption and watermarking of MPEG video // International Conference on Image Science, Systems, and Technology. 1997.
7. Langelaar G., van der Lubbe J., Biemond J. Copy Protection for Multimedia Data based on Labeling Techniques // 17th Symposium on Information Theory in the Benelux. 1996.
8. Langelaar G. Feasibility of security concept in hardware. 1996. AC-018, SMASH, SMS-TUD-633-1.
9. Langelaar G., Lagendijk R., Biemond J. Real-time Labeling Methods for MPEG Compressed Video // 18th Symposium on Information Theory in the Benelux. 1997.
10. Langelaar G., Lagendijk R., Biemond J. Real-time Labeling of MPEG-2 Compressed Video // Journal of Visual Communication and Image Representation. 1998. Vol. 9. № 4. P. 256-270.
11. Langelaar G., Lagendijk R., Biemond J. Watermark Removal based on Non-linear Filtering // ASCI'98 Conference. 1998.
12. Langelaar G., Lagendijk R., Biemond J. Removing Spatial Spread Spectrum Watermarks by Non-linear Filtering // IX European Signal Processing Conference. 1998.
13. Bassia P., Pitas I., Robust audio watermarking in the time domain // De-partment of Informatics, University of Tressaloniki.
14. Bender W., Gruhl B., Morimoto N., Lu A. Techniques for data hiding // IBM systems journal. 1996. Vol, 35. № 3.
15. Громов В.И., Васильев Г.А. Энциклопедия безопасности — М: Москва, 1998.
16. ГОСТ 17657—79 «Передача данных. Термины и определения»
17. Конахович Г.Ф., Пузыренко А.Ю. Компьютерная стеганография. Теория и практика — М: МК-Пресс, 2006.

Крючкова А.К., Колобов Д.Г.