Нам нужно знать, что PNG внутри себя хранит информацию о каждом пикселе. В каждом пикселе в свою очередь 3 канала (R, G, B), которые описывают цвет и один альфа-канал, который описывает прозрачность.
LSB (Least Significant Bit) — младшие биты, которые мы можем использовать для своих темных делишек. Их изменение повлечет незначительное изменение цвета, которое человеческий глаз не способен распознать.
Нам лишь нужно привести «секретную информацию» к побитовому виду и пройтись по каждому каналу каждого пикселя, меняя LSB на нужный нам.
Каждый пиксель может вмещать 3 бита информации. А значит, классическое «Hello world» на UTF-8 потребует 30 пикселей (изображение 6x6). Текст из 100 тыс слов поместится на 1000х1000. Хотим больше? Потенциальные 5мб спонтанных данных разместятся на 5000х5000.
Самое интересное, что после всех манипуляций у картинок даже отличие в весе будет минимальным.
Дальше все зависит от вашей фантазии. Можно записать внутрь PNG другой файл, можно шифровать данные через AES, можно запрятать все свои пароли в фотографию с любимым котом)
Можно выбирать пиксели в произвольном порядке (использовать для этого эллиптические кривые), можно добавить произвольный шум чтобы сложнее было обнаружить факт сокрытия данных.
LSB (Least Significant Bit) — младшие биты, которые мы можем использовать для своих темных делишек. Их изменение повлечет незначительное изменение цвета, которое человеческий глаз не способен распознать.
Нам лишь нужно привести «секретную информацию» к побитовому виду и пройтись по каждому каналу каждого пикселя, меняя LSB на нужный нам.
Каждый пиксель может вмещать 3 бита информации. А значит, классическое «Hello world» на UTF-8 потребует 30 пикселей (изображение 6x6). Текст из 100 тыс слов поместится на 1000х1000. Хотим больше? Потенциальные 5мб спонтанных данных разместятся на 5000х5000.
Самое интересное, что после всех манипуляций у картинок даже отличие в весе будет минимальным.
Дальше все зависит от вашей фантазии. Можно записать внутрь PNG другой файл, можно шифровать данные через AES, можно запрятать все свои пароли в фотографию с любимым котом)
Можно выбирать пиксели в произвольном порядке (использовать для этого эллиптические кривые), можно добавить произвольный шум чтобы сложнее было обнаружить факт сокрытия данных.
Останнє редагування: