Стеганографию можно использовать как защиту от нелегального копирования

Обновлено: 30.06.2024

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

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

Что такое стеганография?

Для чего используется стеганография?

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

К сожалению, стеганография может быть также использована для незаконных целей. Например, при попытке украсть информацию, существует возможность скрыть ее в другом файле, или файлах и послать ее в виде невинного письма или файла. Более того, люди, чье хобби – коллекционирование порнографии, и что еще хуже, на своем винчестере, могут использовать стеганографию для сокрытия доказательств. И как говорилось ранее, она может использоваться в целях террористов как средство скрытого общения. Конечно же применение стеганографии может быть как законным так и незаконным.

Инструменты стеганографии

Подробное рассмотрение инструментов стеганографии не входит в рамки данной статьи. Хотя существует очень много источников для получения инструментов стеганографии в Интернете. Рекомендуем в поисках подобных средств обратится в соответствующий раздел на нашем сайте.

Для знакомства со средствами стеганографии рекомендуем сайт Нейла Джонсона (Neil Johnson') Steganalysis site. Так же можно посетить сайт Ниелс Провос (Niels Provos), хотя он в данный момент переезжает, как что следите за его развитием.

Большое количество утилит работают под разными ОС - Windows, DOS, Linux, Mac, Unix: вам будет из чего выбирать.

Принципы работы стеганографии



Рис.2 с вложенным файлом

Стеганография и безопасность

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

Защита от стеганографии

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

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

Стеганография – один из самых увлекательных и эффективных методов сокрытия данных, которые использовались за всю историю человечества. Методы, способны разоблачить хитрые тактики злоумышленников несовершенны, но радует то, что такие методы существуют. Есть очень много причин, по которым следует использовать стеганографию (подписи, пароли, ключи), но главная – это легкость в обращении и сложность при обнаружении. Чем больше вы знаете о методах стеганографии, тем больше у вас шансов не попасть впросак.

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


Стеганографические методы защиты информации

Классификация стеганографических методов защиты информации

В конце 90-х годов ХХ века сформировалось несколько направлений стеганографии:

  • Классическая стеганография
  • Компьютерная стеганография
  • Цифровая стеганография

Классическая стеганография

Стеганография в Древнем мире

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

Симпатические чернила

Одним из наиболее распространенных методов классической стеганографии является использование симпатических (невидимых) чернил. Текст, записанный такими чернилами, проявляется только при определенных условиях (нагрев, освещение, химический проявитель и т. д.) Изобретенные еще в I веке н.э. Филоном Александрийским, они продолжали использоваться как в средневековье, так и в новейшее время, например, в письмах русских революционеров из тюрем. В советской школьной программе в курсе литературы изучался рассказ о том, как Владимир Ленин писал молоком на бумаге между строк, см. Рассказы о Ленине. Молоко проявлялось при нагреве над пламенем.

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

Другие стеганографические методы

Во время Второй мировой войны активно использовались микроточки — микроскопические фотоснимки, вклеиваемые в текст писем, телеграмм.

Также существует ряд альтернативных методов сокрытия информации:

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

Компьютерная стеганография

Цифровая стеганография

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

Реализация цифровой стеганографии средствами ОС Linux Ubuntu

Фотография тигра без встроенного скрытого текста

Фотография тигра без встроенного скрытого текста

Во все без исключения дистрибутивы ОС Linux Ubuntu включено приложение steghide, позволяющее скрывать текстовые файлы в графических файлах.

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

Выполним переход в созданную директорию:

Далее необходимо загрузить оба файла:

Если приложение steghide еще не инсталлировано в системе, следует выполнить установку:

Для того, чтобы встроить текстовый файл bible.txt в графический файл tiger.jpg, следует выполнить следующую команду в терминале:

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

Фотография тигра со встроенным скрытым текстом

Фотография тигра со встроенным скрытым текстом

Результатом выполнения команды станет файл tiger_with_text.jpg, отличающийся от исходного тем, что в отличие от оригинального он содержит в себе скрытый текст (см. изображение справа). Обратите внимание, полученный файл с фотографией тигра со встроенным текстом внешне ничем не отличается от оригинальной фотографии тигра.

Рассмотрим команду встраивания текстового файла подробнее. Опция embed указывает приложению steghide о том, что пользователь хочет выполнить встраивание текстового файла в графический. Опция -ef указывает на текстовый файл, который необходимо встроить в графический; опция -cf указывает на графический файл, в который будет встроен текстовый файл, опция -sf указывает на имя графического файла, в который будет сохранен результат работы приложения, т.е. графический файл со встроенным зашифрованным текстом.

Теперь рассмотрим процесс извлечения текстового файла из фотографии с тигром. Удалите текстовый файл и убедитесь, что текстового файла нет в директории ~/steg:

Для извлечения текстового файла из графического выполните команду:

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

Рассмотрим опции в последней команде подробнее. Опция extract указывает приложению steghide на то, что пользователь хочет выполнить извлечение текста из графического файла; опция -sf указывает на графический файл, содержащий скрытую текстовую информацию; опция -xf указывает на имя текстового файла, в который будет записана извлеченная из фотографии текстовая информация.

Можете также попробовать загрузить файл со встроенной текстовой информацией отсюда:

и, используя пароль: 123456, извлечь текстовую информацию из фотографии:

В самом начале необходимо провести черту между двумя понятиями: стенографией и стеганографией. Первое из них, стенография (στενός [узкий, тесный] + γράφω [пишу]) – это совокупность способов быстрой записи устной речи и не имеет ничего общего с утаиванием и скрытием от третьих глаз информации. Слова созвучные, но не стоит путать стенографию со стеганографией.

История стеганографии

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

Что такое стеганосистема?

Скрытый канал передачи данных между отправителем и получателем, организованный при помощи метода (или методов) стеганографии, называется стеганоканалом. По стеганоканалу передаются так называемые заполненные стеганоконтейнеры.

Понятно, что заполненный стеганоконтейнер должен быть визуально неотличим от пустого контейнера.

На современном этапе информационных технологий можно выделить два типа стеганоконтейнеров: потоковые (непрерывная радиотрансляция, сетевой трафик и так далее) и фиксированной длинны (фотография, аудиозапись, электронный документ и так далее).

Цели стеганографии

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


Рисунок 1: Сталин с iPhon-ом

Классификация методов стеганографии

Методы стеганографии можно разделить на три больших класса: классические методы, компьютерные и цифровые.

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

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

Текстовые контейнеры

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

Особенности файловой и операционной системы


Рисунок 2: Прячем файл в картинку

Метод наименее значащих битов

Метод наименее значащих битов (Least Significant Bit, LSB) считается наиболее популярным для цифровой стеганографии. Как уже говорилось, цифровая стеганография основывается на ограниченности способностей органов чувств человека и, как следствие, неспособности распознать незначительные вариации звука/цвета.


Рисунок 4: Кодирование цветовой палитры RGB

Таким образом, в графическом изображении размером 117 Кбайт (200 на 200 пикселей) возможно спрятать, как минимум, 14 Кбайт скрытой информации.

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

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

При модификации пакетов может изменяться либо сама полезная нагрузка пакета (данные), либо особые поля пакета (зарезервированные протоколом сетевой передачи, но не используемые в данный момент), либо и то и другое. Например, в заголовке пакета IPv4 поле контрольной суммы (16 бит) не является обязательным для использования (если поле не используется, в него записывается 0).


Рисунок 5: Принцип сетевой временной стеганографии

Атаки на стеганосистемы

В целом атаки на стеганографические системы (стеганоанализ) очень напоминают атаки на криптографию (криптоанализ): похожая терминология, подходы. Поговорим о различиях.

Если аналитик уверен, что в купленной электронной книге находится цифровой отпечаток покупателя, то он может купить эту книгу ещё 2, 3, 4 раза, используя разные данные о покупателе. У него будет ряд одних и тех же контейнеров с разной стеганографической меткой. Сравнивая их между собой, аналитик может попытаться, как и в прошлом примере, извлечь алгоритм встраивания информации.

Практическое применение стеганографии

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

Незаметная передача информации

Скрытое хранение информации

В данном случае стеганография используется не для передачи, а для хранения какой-либо информации, обнаружение самого факта наличия которой (пускай хоть даже в зашифрованном виде) пользователю нежелательно. Согласитесь, весьма странно, когда тайная полиция, производящая обыск вашего жилища, обнаруживает вдоль и поперёк зашифрованные жёсткие диски? Гораздо меньше подозрений вызовут пара папок с видеофильмами, наработки по учёбе, фотографии с отдыха, пусть даже, коллекция порнографии (не детской!) – мозг уже просчитывает, сколько Мбайт информации можно уместить в этих контейнерах?

Недекларированное хранение информации

Многие информационные ресурсы позволяют хранить данные только определённого типа. А вам уж очень сильно хочется загрузить EXE- файл для хранения на YouTube. Один из путей решения задачи лежит через методы стеганографии.

Индивидуальный отпечаток в СЭДО

Водяной знак в DLP системах

Скрытая передача управляющего сигнала

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

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

Funkspiel

Неотчуждаемость информации

Если сделать скриншот чистой области в игре World of Warcraft , открыть файл в каком-нибудь графическом редакторе, увеличить резкость с максимальной настройкой фильтра и повторить процедуру несколько раз, то заметен явный узор, который многократно повторяется. В данном узоре имеются данные: имя пользователя, который сделал скриншот, время снятия скриншота, координаты в игровом мире (реалм).


Рисунок 6: Стеганографический водяной знак в скриншоте Wow

Перспективы развития/применения

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

В остальном же мир перенасыщен текстами, картинками милых котиков, толковыми и бестолковыми видеороликами – потенциальными контейнерами. А может уже давно и не потенциальными, а реальными?

Содержание

Общие сведения

Цифровая стеганография


Цифровая стеганография включает в себя следующие направления:

  • встраивание информации с целью ее скрытой передачи;
  • встраивание цифровых водяных знаков (ЦВЗ) (watermarking);
  • встраивание идентификационных номеров (fingerprinting);
  • встраивание заголовков (captioning).

Цифровые водяные знаки


Стегосиcтема ЦВЗ содержит следующие ключевые узлы:

Различают стегодетекторы, предназначенные для обнаружения факта наличия ЦВЗ, и устройства, предназначенные для выделения этого ЦВЗ (стегодекодеры). В первом случае возможны детекторы с жесткими (да/нет) или мягкими решениями. Для вынесения решения о наличии/отсутствии ЦВЗ удобно использовать такие меры, как расстояние по Хэммингу, либо взаимную корреляцию между имеющимся сигналом и оригиналом. Если у нас нет исходного сигнала, то в дело вступают более тонкие статистические методы, основанные на построении моделей исследуемого класса сигналов. В зависимости от того, какая информация требуется детектору для обнаружения ЦВЗ, стегосистемы ЦВЗ делятся на три класса: открытые, полузакрытые и закрытые системы.

Контейнер

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

ЦВЗ могут быть трех типов: робастные, хрупкие и полухрупкие. Под робастностью понимается устойчивость ЦВЗ к различного рода воздействиям на стего. Робастным ЦВЗ посвящено большинство исследований. Хрупкие ЦВЗ разрушаются при незначительной модификации заполненного контейнера. Они применяются для аутентификации сигналов. Отличие от средств электронной цифровой подписи заключается в том, что хрупкие ЦВЗ все же допускают некоторую модификацию контента. Это важно для защиты мультимедийной информации, так как законный пользователь может, например, пожелать сжать изображение. Другое отличие заключается в том, что хрупкие ЦВЗ должны не только отразить факт модификации контейнера, но также вид и местоположение этого изменения. Полухрупкие ЦВЗ устойчивы по отношению к одним воздействиям и неустойчивы по отношению к другим. Вообще говоря, все ЦВЗ могут быть отнесены к этому типу. Однако полухрупкие ЦВЗ специально проектируются так, чтобы быть неустойчивыми по отношению к определенного рода операциям. Например, они могут позволять выполнять сжатие изображения, но запрещать вырезку из него или вставку в него фрагмента.

Требования при проектировании стегосистем

Для того чтобы стегосистема была надежной, при ее проектировании необходимо выполнение ряда требований:

Требования к ЦВЗ

Математическая модель стегосистемы

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

  1. генерация ЦВЗ;
  2. встраивание ЦВЗ в кодере;
  3. обнаружение ЦВЗ в детекторе.

Этап 1 - Генерация ЦВЗ

Для повышения робастности ЦВЗ могут применяться помехоустойчивые коды, например, коды БЧХ, сверхточные коды. В ряде публикаций отмечены хорошие результаты, достигаемые при встраивании ЦВЗ в области вейвлет-преобразования с использованием турбо-кодов. Отсчеты ЦВЗ принимают обычно значения из множества , при этом для отображения → может применяться двоичная относительная фазовая модуляция (BPSK).

то есть она должна быть устойчивой к малым изменениям контейнера.

Этап 2 - Встраивание ЦВЗ в кодере


Другое возможное описание процесса внедрения получим, представив стегосистему как систему связи с передачей дополнительной информации (рис. 3). В этой модели кодер и декодер имеют доступ, помимо ключа, к информации о канале (то есть о контейнере и о возможных атаках). В зависимости от положения переключателей A и B выделяют четыре класса стегосистем (подразумевается, что ключ всегда известен кодеру и декодеру):

Этап 3 - Обнаружение ЦВЗ в детекторе


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

Примеры стегоалгоритмов

Далее дано краткое описание следующих стегоалгоритмов:

  • алгоритм Куттера;
  • алгоритм Patchwork.

Алгоритм внедрения

Если 24-битное изображение имеет RGB-кодировку, то встраивание выполняется в канал синего цвета, так как к синему цвету система человеческого зрения наименее чувствительна. Рассмотрим алгоритм передачи одного бита секретной информации. Пусть s i \,\!> – встраиваемый бит, I = R , G , B > – контейнер, p = ( x , y ) - позиция, в которой выполняется вложение. Секретный бит встраивается в канал синего цвета путем модификации яркости:

Алгоритм извлечения

Стеганография: прячем данные в JPEG

2013-12-15 в 10:13, admin , рубрики: Без рубрики

Описание стеганосистемы

image

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

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

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

В фиксированном контейнере размеры и характеристики последнего заранее известны. Это позволяет выполнять вложение данных оптимальным (в определенном смысле) образом. Далее будем рассматривать фиксированные контейнеры.

Следует отметить, что для увеличения секретности встраивания, предварительная обработка довольно часто выполняется с использованием ключа.

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

  • Криптографическая стойкость – отсутствие у нарушителя возможности предусмотреть следующий бит на основании известных ему предыдущих с вероятностью, отличной от 1/2. На практике криптографическая стойкость оценивается статистическими методами.
  • Хорошие статистические свойства – ПСП по своим статистическим свойствам не должна существенно отличаться от истинно случайной последовательности.
  • Большой период формированной последовательности.
  • Эффективная аппаратно-программная реализация.
  • ни один статистический тест не определяет в ПСП никаких закономерностей, иными словами, не отличает эту последовательность от истинно случайной;
  • при инициализации случайными значениями генератор порождает статистически независимые псевдослучайные последовательности.

Про JPEG

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

Алгоритм симметричный, так что кодировщик будет выполнять обратные действия.

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

Приступим к рассмотрению стеганосистемы на основе изображений формата JPEG. В основе лежит простейший метод LSB (Least Significant Bit, наименее значащий бит).

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

На входе: цветное изображение, скрываемые данные, пароль.
На выходе: изображение в формате JPEG со скрытыми данными.

Выводы и заключение

По приведенной схеме стеганосистемы можно легко написать программу. Исходные коды моей реализации можно найти на GitHub. Программу нельзя назвать полноценной, скорее альфа-версией, но основной функционал в ней реализован. Четвертый пункт для кодировщика реализован здесь, а для декодировщика здесь. За основу взяты уже готовые реализации JPEG, SHA-256, AES-256.

Читайте также: