Как вы можете скрыть информацию внутри jpg или gif-фотографии?

Как я могу написать некоторую информацию внутри файла фотографий, такого как jpg или gif, не разрушая изображение? и, конечно, не показывая его на фотографии, так как вся идея заключается в том, чтобы отправить информацию в файл фотографии незамеченным кем-либо (обеспечить безопасность/конфиденциальность в какой-то степени)!

8 ответов


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

этот формат называется EXIF (Сменный Формат Файла Изображения). Есть много примеров, как использовать его в языках программирования. здесь пример в Java.

Если вы хотите запретить пользователям читать эти данные, вы можете их как-то зашифровать, но они всегда будет возможность удалить его с вашего изображения (открыв в Photoshop и используя Save As, например).


вы можете объединить gif и zip (информацию, которую вы хотите скрыть) в один файл. GIF-файлы считываются с начала файла, а молнии - с конца файла.

чтобы создать такой файл в linux:

$ cat file1.gif >> outfile.gif
$ cat file2.zip >> outfile.gif

результирующий файл должен иметь размер file1.gif и file2.zip вместе и должен быть открыт любым gif viewer и обработчиком zip-файлов.


Я уверен, что есть много способов. Вот один:

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

Итак, чтобы взять простой пример, предположим, что у вас было изображение GIF в серой шкале, где палитра расположена в порядке от белого до черного с плавным диапазоном серого между ними. Я не уверен, сколько вы знаете о графических форматах файлов, но в GIF у вас есть один байт на пиксель, с каждым возможным отображением значения байта в определенный цвет. Поэтому в этом случае мы могли бы сказать pallette #0=RGB(0,0,0), pallette #1=RGB (1,1,1), ... палитра #255=RGB(255,255,255).

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

например, предположим, что первые восемь пикселей исходной фотографии, скажем, 01 00 C9 FF FF C8 42 43. Ваше сообщение начинается с буквы" C", код ascii 0110 0111. Таким образом, вы меняете последний бит первого байта на 0, изменяя байт с 01 на 00. Вы меняете последний бит второго байта на 1, изменяя байт с 00 на 01. Вы меняете последний бит третьего байта на 1. Это уже 1, так что без разницы. Так далее. Вы заканчиваете с закодированными 8 байтами 00 01 C9 FE FF C9 43 43.

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

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

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


Эй, этот метод называется стеганографией. Благодаря этому мы можем скрывать сообщения не только в изображениях,но и в аудио, vedeo и других форматах.

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

О Стеганографии Медиумов

стеганография в изображения

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

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

в аудиофайлах наиболее заметным методом сокрытия информации является метод кодирования с низким битом. Метод низкоразрядного кодирования несколько похож на метод наименее значимого бита, используемый в изображении файлы. Секретная информация прилагается к концу файла. Одна из проблем с низкой битовой кодировкой заключается в том, что она может быть заметна для человеческого уха. Если кто-то пытается скрыть информацию, это может быть рискованно, так как это так легко обнаружить. Метод spread spectrum-это еще один метод, который использовался для сокрытия информации в аудиофайлах. Что этот метод делает, это добавляет случайный шум в звуковую трансляцию. Этот метод позволяет распространять информацию через частотный спектр и остается скрытым под случайным шумом. Последний метод, замеченный в аудио стеганографии, - это эхо-скрытие данных. Этот метод стремится скрыть информацию, используя Эхо, которые происходят естественно в звуковых файлах. Затем к этим Эхо можно добавить дополнительный звук, дополнительный звук является скрытым сообщением. Это достаточный способ скрыть информацию, особенно, поскольку в некоторых случаях он даже улучшает звук исходного аудиофайла.

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

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

Стеганография В Документах

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

вы также можете обратиться к этой проект с открытым исходным кодом

этой статьи может быть очень полезным.


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

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


в windows вы можете использовать простую команду, чтобы скрыть архив в image: copy / b cat.jpg + документы.rar cat_new.формат jpg. А затем используйте, например, winrar для извлечения данных ftom изображения как из архива.
Но лучше использовать стеганографию.
простая программа для linux и windows:http://linux01.gwdg.de / ~alatham/stego.html
используя эту программу вы будете использовать пароль, без него никто даже не узнает, что Вы скрыли некоторые данные в картинке))


сжатые данные в gif-файлах находятся в кусках переменного размера. каждый кусок начинается с байта длины. Обычно эти куски составляют 255 байт данных (и Байт длины говорит 255), за исключением последних двух кусков (последний-0)

но вы можете перекодировать gif с кусками, размер которых определяет сообщение например, использование символов для текста ASCII или байтов 1 2 3 4 представляют 00 01 10 11 бинарные Дейта,

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


вам не нужен какой-либо расширенный инструмент, чтобы скрыть файл в изображении-вам просто нужно знать некоторые основные команды DOS... просто перейдите по ссылке ниже, чтобы увидеть, как это сделать (это краткое описание изображения стеганография):

https://www.youtube.com/watch?v=ox9ArqXtaWw&list=PLqEKOAKK4IbSTfDJZE_lH-DiOjOzZUczx&index=2