Стеганография или как спрятать что-то в картинке
Здравствуйте, пикабушцы (или как там вас звать). Это мой первый пост, так что расчитываю на критику в комментариях. Погнали!
Steghide
Это, пожалуй, одна из самых популярных утилит стеганографии для Linux. Она поддерживает png, jpeg, bmp и некоторые другие. Он работает по не простому принципу, но сложные алгоритмы спрятались за простым интерфейсом. Объясню в двух словах: файл-картинка содержит данные о каждом пикселе в формате RGB, любое содержание цвета по RGB находится в диапазоне от 0 до 255 (2 байтовое число без знака). Вот как выглядит цвет с таким кодом RGB:
Очень красный, не так ли? Это - самый красный из всех красных, и он имеет код (255, 0, 0) и код бинарный (0b11111111)(8 бит, 2 байта). И что же делает steghide? Он использует последние 2 бита кода цветов (бывает и 1-3) для записи твоего текста или информации. Например, у тебя есть картинка 16x16, и есть текст: '"лол". Steghide берет "лол", шифрует его вашим паролем, расчитывает наиболее подходящий вариант сокрытия и просиходит примерно это: "\x3f"(л) = 0b01101100, steghide берет первые 2 бита, и перезаписывает ими последние два бита 1 пикселя картинки. Вот 2 картинки цветка. Первая содержит текст "Привет, пикабу! Я - скрытое сообщение!", а вторая - нет.
Вы видите разницу? Я - нет. Разница очень мала, ведь, допустим, насыщенность красного с 255 изменилась в 253. Не вооруженным глазом разницу никто не увидет.
Как использовать steghide?
Для начала надо его установить:
sudo apt-get install steghide
#sudo pacman -S steghide (если у вас Arch/Manjaro)
Далее вам нужна какая-нибудь картинка. Подойдет картинка JPEG. Пусть ее путь будет /home/pikabu/Desktop/target_photo.jpeg
Еще вам нужен файл, который вы хотите скрыть, например /home/pikabu/Desktop/to_hide.txt с содержанием "Тест для steghide". Теперь, когда у вас все есть, надо использовать команду:
Тут мы выполняем команду:
steghide embed -cf target_photo.jpeg -ef to_hide.txt
Далее мы вводим ваш код-пароль для дальнейшей расшифровки 2 раза. Вуаля! Теперь ваша картинка перезаписана картинкой с посланием. Для расшифровки выполним
steghide extract -sf targte_photo.jpeg
Далее вводим ранее введенный пароль и (возможно вам придется согласиться на перезапись фалйа to_hide.txt если вы его не удалили) у вас появляется ваш файл to_hide.txt с текстом "Тест для steghide". Вы можете поэксперементировать и удивить друзей. Больше команд:
steghide --help
Спасибо за просмотр, надеюсь вам понравилось. Тег мое, писал сам.