Как я могу редактировать байтовый код файла JPG, сохраняя при этом его верхний и нижний колонтитулы? (на Java) - PullRequest
1 голос
/ 30 сентября 2011

Я уже успешно закодировал мою программу стеганографии в файл PNG, используя Java.Моя программа очень хорошо работает в файлах PNG и BMP.Но когда я попытался запустить мою программу в файле JPG, обнаруженные данные не совпадают с исходными данными.Конечно, заголовки каждого типа файлов не одинаковы.И вот теперь мне интересно;Разве структуры данных файлов PNG и JPG не одинаковы?Мне нужно точно знать, как манипулировать байтами файла JPG, не затрагивая его верхний и нижний колонтитулы.

Спасибо.

1 Ответ

3 голосов
/ 20 июля 2012

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

Если работа с lsb - это ваша процедура, то я надеюсь, что следующий ответ удовлетворит ваш запрос-

«PNG» и «BMP» - форматы файлов без потерь . После манипулирования битами пикселей этих форматов при создании нового изображения никакие данные не теряются. По этой причине вы можете получить все скрытые данные.

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

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

Как работает ДКП в стеганографии?

Изображение разбито на 8x8 блоков пикселей. DCT применяется к каждому блоку слева направо, сверху вниз. Таблица квантования сжимает каждый блок для масштабирования коэффициентов DCT, и сообщение включается в масштабированные коэффициенты DCT.

В этом методе все еще требуется много исследований. Я работаю над его кодом и выложу его как можно скорее.

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

...