Как скрыть изображение внутри другого?
*** Нет лучшей тайны, чем та, что у всех на виду ***
Увлекаюсь программированием и решаю нетривиальную задачку - как обеспечить отправку скрытых сообщений таким образом, чтобы они были как бы "двухслойные". Поверхностная беседа с мемчиками и скрытая, о которой знают только участники беседы. Например, вот этот мемчик, взгляните внимательно:
кажется мем немного зашакален, но на самом деле в каждом пикселе заменены 4 младших бита
МЛАДШИЕ И СТАРШИЕ БИТЫ (LSB и MSB)
Биты — это самые маленькие единицы информации в цифровых изображениях, представляющие значения от 0 до 1. Каждый цветовой канал у каждого пикселя кодируется 8 битами.
Младшие биты это 4 бита пикселя, наименее влияющих на цвет пикселя. Старшие, соответственно, определяют цвет в большей степени. Мы помещаем эти биты в 4 младших бита основного изображения, делая старшие биты скрытого как бы младшими в основном, понижая их роль в изображении.
Если описать по операциям:
1. Очищаем младшие 4 бита в основном изображении.
2. Сдвигаем старшие 4 бита скрываемого изображения на 4 позиции вправо, чтобы оставить только значимые биты.
3. Объединяем основное изображение с преобразованными битами скрываемого изображения.
И вуаля. Вы отправили мемчик, посмеялись, а адресат смог извлечь скрытое изображение и получил ту информацию, которая не доступна при беглом анализе вашей переписки. Процесс расшифрофки до нельзя прост: разделеются биты каждого пикселя и остаются только старшие биты скрытого изображения. Оно чуть теряет в качестве, но основной контекст в нем совершенно читаемый. В мемчике в начале поста сокрыл своё фото, можете проверить как это работает.
Как проверить, если ты не программист и нет компилятора? Нужна любая нейросеть, работающая с контекстом изображений, например ChatGPT 4o with canvas.
Аналогичным образом можно скормить ей два изображения и попросить зашифровать одно в другое. Я сейчас работаю над приложением, в котором это будет происходить в полуавтоматическом режиме.
Если тема интересна, то напишу постик например о стеганографии на основе преобразования Фурье, о шифровании (повсеместно используемый Advanced Encryption Standard) и о других интересных методах.