Как написать некоторую информацию внутри файла фотографии, например, jpg или gif, без разрушения изображения? и, конечно, не показывая его на фотографии, так как вся идея заключается в отправке информации в файл фотографии, не обнаруженный кем-либо (для обеспечения безопасности/конфиденциальности в некоторой степени)!Как вы можете скрыть информацию внутри jpg или gif фото?
ответ
Вы можете сохранить некоторую информацию в метаданных изображения. Фактически, это то, как цифровые метки тегов человека создают фотографии (модель камеры, дата и время, GPS-координаты и т. Д.).
Этот формат данных называется EXIF (сменный формат файла изображений). Существует много примеров того, как использовать его в языках программирования. Here's пример в Java.
Если вы хотите, чтобы пользователи не читали эти данные, вы можете их каким-то образом зашифровать, но они всегда смогут удалить их из вашего изображения (открыв в Photoshop и используя Save As, например).
Итак, «Сохранить как» в PhotoShop удалит любые метаданные? Знаете ли вы программное обеспечение, которое позволит его редактировать? –
Я думаю, что фотошоп перепишет эти данные своими собственными данными. Я думаю, что есть много редакторов EXIF, например, я нашел бесплатный Quick EXIF Editor http://www.photo-freeware.net/quick-exif-editor.php – RaYell
Отлично! Что-нибудь для Mac? –
Вы можете объединить gif и zip (информацию, которую вы хотите скрыть) в один файл. Gif читаются с начала файла, а zip считываются с конца файла.
Для создания такого файла в Linux:
$ cat file1.gif >> outfile.gif
$ cat file2.zip >> outfile.gif
Получившийся файл должен иметь размер file1.gif и file2.zip вместе и должны быть открываемый любым зрителем GIF и обработчиком зип файл.
Вероятно, самый простой способ скрыть информацию :) Но как вы его извлекаете? – Burkhard
Как я уже сказал, вы можете открыть полученный файл (outfile) любым стандартным архиватором, который может обрабатывать zip-файлы и извлекать информацию. – crazymaik
Ups. Я только прочитал первую часть. Я попробую часть zip позже. – Burkhard
Я уверен, что существует много способов. Вот один из них:
На фотографии незначительные вариации цвета часто были бы незаметны для невооруженного глаза или даже если их заметили, можно было бы легко ошибиться за недостатки в качестве изображения.
Так что, чтобы взять простой пример, предположим, что у вас было изображение GIF с серой шкалой, где палетка устроена по порядку от белого до черного с плавным диапазоном серого между ними. Я не уверен, насколько вы знаете о форматах графических файлов, но в GIF у вас есть один байт на пиксель, причем каждое возможное сопоставление значений байтов относится к определенному цвету. Таким образом, в этом случае мы могли бы сказать pallette # 0 = RGB (0,0,0), палитру # 1 = RGB (1,1,1), ... палитру # 255 = RGB (255,255,255).
Затем вы берете обычную, настоящую фотографию. Разбейте свое секретное сообщение на отдельные биты. Установите последний бит каждого индексного номера палитры в последовательные биты вашего сообщения.
Например, первые восемь пикселей исходной фотографии, скажем, 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 бит на пиксель, и т.д.
Если вы хотите скрыть данные (текст, другое изображение , независимо) в файле jpeg, вы можете просто добавить его в конец файла. Когда изображение просматривается, вы увидите только исходное изображение, и ваши добавленные данные будут проигнорированы.
Хотя это не супер-пупер способ скрывать данные, это хороший способ скрыть другой jpeg, как если бы кто-либо открыл файл в блокноте или шестнадцатеричном редакторе, они, вероятно, не заметят, что есть два jpegs, а не один, потому что конец второго изображения будет выглядеть как первый в любом случае.
Эй, этот метод называется стеганографией. Благодаря этому мы можем скрыть сообщения не только изображениями, но и аудио, vedeo и другими форматами.
Это программное обеспечение для стеганографии opensouce под названием steganotool Этот проект представляет собой инструмент стеганизации с открытым исходным кодом, который можно использовать для скрытия и извлечения текста в/из изображений растровых изображений.
О стеганографии медиумы
стеганографии в изображениях
Этот тип стеганографии очень эффективен в отношении открытия и может служить различным целям. Эти цели могут включать аутентификацию, скрытие сообщений и передачу ключей шифрования. Наиболее эффективным методом такого типа стеганографии обычно является метод наименее значимого бита. Это просто означает, что скрытое сообщение изменит последний бит байта на картинке. Изменяя этот последний бит, изменение цвета этого пикселя внутри изображения несущей не изменится. Это позволяет легко обнаружить сообщение. Лучшим типом файла изображения для скрытия информации внутри является 24-битный битмап. Это связано с большим размером файла и высоким качеством.
стеганография в аудио
В аудио файлов, наиболее известный способ сокрытия информации является методом кодирования младшего бита. Метод с низким битовым кодированием несколько похож на метод наименьших значащих бит, используемый в файлах изображений. Секретная информация прикрепляется к концу файла. Одна из проблем с кодированием с низким битом заключается в том, что он может быть заметен для человеческого уха. Если кто-то пытается скрыть информацию, это может быть рискованным, так как это так легко обнаружить. Метод расширенного спектра - это еще один метод, который использовался при сокрытии информации в аудиофайлах. Что делает этот метод, добавляет ли он случайный шум в аудиопередачу. Этот метод позволяет распределять информацию по частотному спектру и оставаться хидденом при случайном шуме. Последний метод, наблюдаемый в аудио стеганографии, - это данные, скрывающие эхо-сигналы. Этот метод пытается скрыть информацию, используя эхо-сигналы, которые происходят естественным образом в звуковых файлах. Затем к этим эхам можно добавить дополнительный звук, а дополнительный звук - скрытое сообщение. Это достаточный способ скрыть информацию, особенно если в некоторых случаях она даже улучшает звук исходного аудиофайла.
стеганографии В видео
стеганографии в видео, в основном, сокрытие информации в каждом кадре видео. Только небольшой объем информации скрыт внутри видео, он вообще не заметен вообще, однако чем больше информации будет скрыто, тем заметнее оно станет. Этот метод также эффективен, но должен быть сделан правильно или иначе раскрывать больше информации, чем скрываться.
стеганографии В документах
В основном это добавление белого пространства и вкладки к концам строк документа. Этот тип Стеганография чрезвычайно эффективна, поскольку использование пробелов и вкладок не видимо человеческому глазу в большинстве текстовых редакторов.
Вы также можете обратиться к этой open source project
Это article может быть очень полезным.
Вам не нужен какой-либо расширенный инструмент для скрытия файла на изображении - вам просто нужно знать некоторые основные команды DOS ... просто следуйте приведенной ниже ссылке, чтобы узнать, как это сделать (это короткий описание изображения стеганографии):
https://www.youtube.com/watch?v=ox9ArqXtaWw&list=PLqEKOAKK4IbSTfDJZE_lH-DiOjOzZUczx&index=2
в окнах можно использовать простую команду, чтобы скрыть архив в изображения: копировать/б cat.jpg + Documents.rar cat_new.jpg. А затем используйте, например, winrar для извлечения данных ftom как из архива.
Но лучше использовать стеганографию.
простая программа для него для Linux и окна: http://linux01.gwdg.de/~alatham/stego.html
с помощью этой программы вы будете использовать фразу, без него никто даже не будет знать, что вы прятались некоторые данные в картинке))
сжатых данных в GIF-файлов в куски переменного размера. каждый кусок начинается с байта длины. Обычно эти фрагменты составляют 255 байтов данных (и длина байта говорит 255), за исключением последних двух блоков (последний из них 0)
Но вы можете перекодировать gif с кусками, размер которых задает сообщение например, с помощью символов для текста ASCII или байт 1
2
3
4
, представляющего 00
01
10
11
двоичных данных,
анализа байт-частоты на GIF раскроет меньше, чем ожидалось 255 байт. и размер будет больше оригинала, но изображение будет выглядеть точно так же.
Не помещайте составные слова. «информация» сама по себе является абсолютно бесполезным тегом для этого вопроса; и технический термин для этого - «стеганография». Пожалуйста, не удаляйте это. http://en.wikipedia.org/wiki/Steganography –
Спасибо за подсказку, я этого раньше не знал! :) –
Храните информацию в данных EXIF. – geoff