Как зашифровать текст в фотошопе

Обновлено: 07.07.2024


Однако прогресс не стоит на месте — и в последнее время всё чаще используются другие способы скрытия данных, например, PNG-наполнение. Посмотрим, как это делается.

Начнём с небольшого теоретического введения по «невидимым» частям PNG.

На экране компьютера при отображении картинки цвета создаются сочетанием красного, зелёного и синего компонентов. Эти три цветовые плоскости называются каналами. Обычно они записываются как RGB.

Кроме этих трёх каналов, в PNG может быть ещё четвёртый канал, называемый альфа (обозначается буквой А) для определения уровня прозрачности. Полученное изображение RGBA определяет видимые цвета и степень прозрачности.

В большинстве графических форматов альфа-канал является значением от 0% до 100% (или от 0 до 255 в байтах). Значение 0% (чёрный) обозначает место на изображении, где должна быть полная прозрачность — тут значение RGB игнорируется, и полностью виден фон под картинкой. Значение альфа-канала 100% (белый) означает, что каналы RGB полностью непрозрачны. Промежуточные значения определяют, насколько нужно смешать фон со значением RGB-пикселя.



Альфа-градиент в PNG

Значения альфа-градиента обычно используются для наложения изображения на другое изображение или на веб-страницу. Альфа-градиенты есть в PNG, WebP, ICO, ICN и других растровых форматах. Формат GIF поддерживает только логическое значение (пиксель либо прозрачен, либо нет).

Альфа-канал — только один из вариантов для размещения скрытого текста. Переходим к PNG-наполнению (padding) для прямой записи данных в бинарный файл.

Формат PNG достаточно прост. Каждый файл начинается с восьми стандартных байт подписи, вот её десятичные значения: 137 80 78 71 13 10 26 10 . Первый байт выбран за пределами ASCII, чтобы никакой редактор случайно не принял изображение за текстовый файл. Следующие три байта соответствуют буквам P, N, G. Затем разрыв строки DOS (13 10), маркер DOS окончания файла (26), чтобы программа type не выдавала весь бинарный мусор, и маркер Unix новой строки.

После заголовка начинаются блоки данных (chunks) со стандартной структурой. Сначала идёт блок IHDR с указанием ширины и высоты изображения, цветового пространства, количества бит на пиксель, методом сжатия, методом фильтрации и указанием наличия/отсутствия чересстрочного кодирования. Для ширины и высоты выделено по четыре байта, для остальных параметров — по одному байту.

Затем следует опциональный блок tEXt с текстовыми метаданными, например, с названием программы, которая сгенерировала данный файл PNG. В текстовые блоки можно записывать текстовую информацию в открытом виде.

За IHDR и tEXt следуют блоки IDAT со сжатыми значениями RGB или RGBA для растровых пикселей. При рендеринге PNG обрабатывается IHDR, выделяется буфер в памяти для изображения, данные извлекаются из сжатого формата и попиксельно записываются в буфер. Файл PNG завершается блоком IEND.

В конце каждого блока записана контрольная сумма CRC для этого блока, которая вычисляется по стандартному алгоритму.

Обычно изображения PNG содержат 8 или 16 бит информации на каждый канал RGB или RGBA, то есть выходит от трёх до восьми байт на пиксель. В таком формате все байты заняты полезной информацией о цвете и прозрачности, так что в конце каждой строки графического изображения у нас нет места для записи произвольных данных.

Но для задач стеганографии нужно знать, что PNG поддерживает и меньшую глубину цвета: 1 бит (2 цвета), 2 бита (4 цвета) и 4 бита (16 цветов). В такой ситуации получается, что в одном байте хранится информация о нескольких пикселях. Вот здесь и появляется теоретическая возможность для «горизонтального» наполнения PNG посторонними данными. Если ширина картинки в пикселях не кратна восьми, то в последнем байте строки остаётся неиспользуемые биты, которые все вместе формируют целый неиспользуемый «столбец пикселей».

В случае 1-битного изображения в конце каждой строки может остаться до 7 свободных бит, которые не будут обработаны парсером. В случае 2-битного изображения в последнем байте остаётся до 3 свободных бит. Онлайновый инструмент FotoForensics находит такие неиспользуемые «столбцы пикселей» в изображениях PNG.

Впрочем, PNG-картинки с малой глубиной цвета встречаются очень редко, поэтому и данный метод стеганографии можно считать экзотикой. Если вам попалось PNG-изображение с 2, 4 или 16 цветами, один этот факт уже вызывает подозрение и может инициировать проверку PNG-наполнения по столбцам.

Совсем другое дело — PNG-наполнение за границами картинки. Это более простой метод стеганографии, который позволяет спрятать в изображении гораздо больше информации.

PNG-наполнение за границами картинки (post-pixel padding) часто используется в различных играх, головоломках и конкурсах, не только хакерских. Вот как работает этот метод:

    Берём изображение PNG (с любой глубиной цвета).

Несложно догадаться, что в «секретной» части картинки можно спрятать не только текстовую надпись, но и произвольные данные. Например, мы можем записать туда запароленный архив RAR. Картинка с секретным посланием может быть опубликована на Habrastorage или любом другом общедоступном хостинге. Послание получит только тот человек, с которым вы заранее договорились о способе передачи информации и согласовали пароль. Таким способом вредоносные программы могут передавать полезную нагрузку через Хабр и другие общедоступные хостинги.

На правах рекламы

VDS для размещения сайтов — это про наши эпичные! Все серверы «из коробки» защищены от DDoS-атак, автоматическая установка удобной панели управления VestaCP. Лучше один раз попробовать ;)

Постановка задачи

Спрятать произвольный текст в кодировке windows-1251 в 24-разрядный bitmap рисунок и излвечь его обратно без искажений.

Структура bmp-файла

  1. Заголовок файла
  2. Заголовок изображения (может отсутствовать)
  3. Палитра (может отсутствовать)
  4. Само изображение


Идея алгоритма сокрытия текста

Наверное, Вы уже догадались в чем идея. Дело все в том, что глаз среднестатистического человека (не профессионального художника или фотографа) различает намного меньше цветов, чем было указано выше. Ни в одной книге нет четкого ответа на вопрос, сколько все же цветов различает глаз, но самая большая цифра, которую я встретил — 10 млн. Отсюда следует, что несколько младших битов из восьми, отводимых на каждую компоненту цвета, можно позаимствовать для наших корыстных целей.
Немного цифр: для примера возьмем и нагло отнимем у RGB компонент по два младщих бита. То есть из 24 бит у нас останется 18, которыми можно закодировать ровно 262144 цветов. Теперь возьмем текст в кодировке windows-1251, в которой каждый символ представляется 8ю битами. Путем несложных математический вычислений получаем, что 3 символа можно сохранить в 4 пикселах. Таким образом, в картинке 1024x768, где 786432 пикселов можно сохранить 589824 символа. Неплохо, да? Для наглядности приведу две картинки. На первой исходное изображение, а на второй изображение, у которого младшие два бита каждой компоненты цвета заполнены текстом. Сразу оговорюсь, что изображения сконвертированы в png, чтобы пожалеть траффик.

Исходное изображение:



Как спрятать текст в картинке? Для яжпрограммистов и не только:)

У меня у друга так пароль угнали. Гуглим сниффер в картинке.

нихуя не понял, но вы молодец!

Джепег такой способ стеганографии херит на раз - он младшие (А то и не младшие) биты делает практически случайными. А еще можно сделать картинку формата pf32bit, в результате у нас останется 1 свободный байт, куда можно прям так писать текст не мучаясь со сдвигами.

Ну и шифрация все-таки лучше стеганографии.

в картинке поста что-нибудь зашифровано?)

А если мне яйца зажмут пассатижами и выпытают метод шифрования? Не очень -то успокоена моя паранойя.

Ты охуенный парень. Спасибо.

Описанное тобой это насктолько примитив стеганографии. Как 1 палочка от буквы "А" в азбуке для детей. Обычно этот пример используется как вступление. Практической пользы - никакой. Потому что никто давно не использует растровые картинки без сжатия а ля bmp. Но и для современных форматов есть куча работающих способов гарантированного скрытия информации в медиа (и в изображениях и в музыке и в видео). Давным-давно, лет эдак 10 назад я защищал по этой теме диплом (стеганография+криптография). В воспоминаниях мало что осталось. Да и развивают эти темы не столько для шпионской передачи информации, а для так называемых ЦВЗ (цифро-водяные знаки), для защиты авторского права и борьбе с пиратством. Но это всё, естественно, утопия )

Автор, а ты сам это придумал? Буквально на днях было на хабре:

Если кому это и правда интересно, советую прочитать именно статью с хабра, так как там описано намного подробнее.

А потом сервис пережал картинку. Или изменил размер.

Картинка хоть и изменится всего на 1/256, но лучше все же менять биты в синем спектре, т.к. человеческий глаз плохо различает оттенки синего.

Комментарий удален. Причина: данный аккаунт был удалён

И это без единого упоминания Rosenmaiden. Самая толстая имиджборда-в-имиджборде нынче.

Комментарий удален. Причина: данный аккаунт был удалён

Зачем же настолько усложнять если можно открыть картинку в блокноте и дописать в конец что угодно? На изображение не повлияет никак. Считывать так же, через блокнот.

Иллюстрация к комментарию

школота познаёт мир

Всё ещё проще. Велосипедисты блин.

Иллюстрация к комментарию

Законопроект

В госдуму внесён законопроект о запрете СМИ упоминать национальность преступников. Поэтому теперь вы никогда не догадаетесь, кто именно на свадьбе стрелял в воздух.


У расчленёнки нет региональной принадлежности!

У расчленёнки нет региональной принадлежности!

Когда запретили указывать национальность преступника

Когда запретили указывать национальность преступника

Как вас теперь называть?

Законопроект запрещающий СМИ сообщать национальность

Внезапное

Внезапное Twitter, Вижу рифму, Мат, Юмор, Профессия

Усман Нурмагомедов опознан как водитель

“Рокировочка по-братски” не прокатила, Камал Идрисов направлен в СИЗО до 11 января, ему грозит 10 лет тюрьмы.

Попытка брата Хабиба Нурмагомедова, бойца Bellator Усмана Нурмагомедова, уйти от ответственности за наезд на полицейского, возможно, провалилась. Все дело в том, что стоявшие на посту у Каспийского аэропорта сотрудники правопорядка узнали в водителе, сбившем одного из них на КПП, Усмана Нурмагомедова. Об этом сообщает телеграм-канал SHOT.

Автомобиль преступников был полностью тонирован, но в момент проезда через КПП боковое окно со стороны водителя было открыто, и сотрудники по фото опознали, что за рулем сидел именно Усман Нурмагомедов. Эту информацию полицейские внесли в протокол следователя по делу.

Теперь для Усмана и его друга Камала Идрисова ситуация серьезно осложнилась, так как к ДТП и оставлению места наезда на полицейского потенциально добавилось лжесвидетельствование. Ведь ранее приятели заявили, что за рулем находился Камал, а Усман спал на заднем сиденье после тренировки. Ну и прицепом там идет рассказ про то, что ребята очень торопились и решили, что не сбили человека, а слегка задели его зеркалом. А после они поменялись местами и за руль сел уже Усман - просто так захотелось.

Сейчас следователи изучают видео с камер наблюдения, чтобы точно установить водителя. Камала же после получения новых данных из-под домашнего ареста перевели в СИЗО, где он будет находиться до 11 января. СМИ утверждают, что ему грозит до 10 лет тюрьмы.

Здравствуйте, пикабушцы (или как там вас звать). Это мой первый пост, так что расчитываю на критику в комментариях. Погнали!

Это, пожалуй, одна из самых популярных утилит стеганографии для Linux. Она поддерживает png, jpeg, bmp и некоторые другие. Он работает по не простому принципу, но сложные алгоритмы спрятались за простым интерфейсом. Объясню в двух словах: файл-картинка содержит данные о каждом пикселе в формате RGB, любое содержание цвета по RGB находится в диапазоне от 0 до 255 (2 байтовое число без знака). Вот как выглядит цвет с таким кодом RGB:

Стеганография или как спрятать что-то в картинке Linux, Steghide, Стеганография, Длиннопост

Стеганография или как спрятать что-то в картинке Linux, Steghide, Стеганография, Длиннопост

Стеганография или как спрятать что-то в картинке Linux, Steghide, Стеганография, Длиннопост

Вы видите разницу? Я - нет. Разница очень мала, ведь, допустим, насыщенность красного с 255 изменилась в 253. Не вооруженным глазом разницу никто не увидет.

Как использовать steghide?

Для начала надо его установить:

Далее вам нужна какая-нибудь картинка. Подойдет картинка JPEG. Пусть ее путь будет /home/pikabu/Desktop/target_photo.jpg

Еще вам нужен файл, который вы хотите скрыть, например /home/pikabu/Desktop/to_hide.txt с содержанием "Тест для steghide". Теперь, когда у вас все есть, надо использовать команду:

Стеганография или как спрятать что-то в картинке Linux, Steghide, Стеганография, Длиннопост

Тут мы выполняем команду:

steghide embed -cf target_photo.jpg -ef to_hide.txt

Далее мы вводим ваш код-пароль для дальнейшей расшифровки 2 раза. Вуаля! Теперь ваша картинка перезаписана картинкой с посланием. Для расшифровки выполним

Стеганография или как спрятать что-то в картинке Linux, Steghide, Стеганография, Длиннопост

steghide extract -sf targte_photo.jpg

Далее вводим ранее введенный пароль и (возможно вам придется согласиться на перезапись фалйа to_hide.txt если вы его не удалили) у вас появляется ваш файл to_hide.txt с текстом "Тест для steghide". Вы можете поэксперементировать и удивить друзей. Больше команд:

Спасибо за просмотр, надеюсь вам понравилось. Тег мое, писал сам.


Информационная безопасность

1.2K постов 22.7K подписчиков

Правила сообщества

Обязательно к прочтению для авторов:

1. Если вы добавляете пост, утверждающий об утечке данных или наличии дыр в системе, предоставьте ссылку на источники или технически подкованное расследование. Посты из разряда "Какой-то банк слил данные, потому что мне звонили мошенники" будут выноситься в общую ленту.
2. Все вопросы "Как обезопасить сервер\приложение\устройство" - в лигу "Компьютер это просто".

Обязательно к прочтению для всех:

Добавление ссылки разрешено если она не содержит описание коммерческих (платных) продуктов и/или идентификаторов для отслеживания перехода и для доступа не нужен пароль или оплата в т.ч. интернет-ресурсы, каналы (от 3-х тематических видео), блоги, группы, сообщества, СМИ и т.д.

Запрещены политические holy wars.

По решению модератора или администратора сообщества пользователь будет забанен за:

1. Флуд и оскорбление пользователя, в т.ч. провокация спора, флуда, холивара (высказывание без аргументации о конкретной применимости конкретного решения в конкретной ситуации), требование уже данного ответа, распространение сведений порочащих честь и репутацию, принижающих квалификацию оппонента, переходы на личности.

2. Публикацию поста/комментария не соответствующего тематике сообщества, в том числе обсуждение администраторов и модераторов сообщества, для этого есть специальное сообщество.

3. За обвинение в киберпреступной деятельности.

4. За нарушение прочих Правил Пикабу.

Радуют рассуждения автора про "8 бит, 2 байта" и кодирование цвета этими 2 байтами.

зачастую абсолютно бесполезный метод. как только ты загрузишь картинку с пикселем на какой нибудь ресурс, с вероятностью в 80% пиксель будет сломан и никакой инфы из него не вытащить

Писал диплом по стеганографии, в итоге через месяц выяснилось что в корочках написано стенография, обидно(

К жизни плохо применимо по трем причинам:

1)Крайне малый объем информации можно загрузить в картинку - менее 1 мб влезет в среднюю фотографию (3000х2000)

2)Сейчас каждый второй сайт пытается применить улучшайзер к картинкам (шарп, блюр, увеличение яркости)

3)Очень - повторяю, ОЧЕНЬ легко понять что перед нами картинка со скрытой информацией.

Проще создать криптоконтейнер верой\тру-криптом и обозвать Дедпул2.fullHD.BDrip.mkv.part эффект будет примерно таким же.

0-255 это один байт, а не два

Вы правы, это стеганография. У меня бывает, что если я приму ошибку за правду, то даже если напорюсь на правдивый ответ, все перепроверив я ничего неправильного не обнаружу.

Ещё больше 10 лет назад уже были подобные программки под Windows. Увы время показало невостребованность данного способа для широкого использования.

Если это "очень непростой алгоритм" то я муравей-балерина

Если я загружу картинку на какой-нибудь ресурс типа Инстаграма будет ли утеряно послание?

Посмотрел на картинки - нижняя чуть бледнее. Подумал, что проблемы с экраном или глазами. Читаю дальше - "Не вооруженным глазом разницу никто не увидет".

А я такую тулу писал в качестве лаборатнорной работы в институте. И она сама определяла, сколько хватит ли ей одной картинки для шифровки. И просила ещё, если нет. А потом, естественно, могла это всё обратно вернуть.
Зачёт получил, зачем может понадобиться в реальной жизни - не знаю.

Думаю, как это можно применить. Например, как горшки с цветами на подоконнике Пастора Шлага. Т.е. шпиен Юстатс заходит на новостной ресурс и считывает шифровку из шапки сайта: провалена явка или нет.

Пересылать фото в почте это - дичь.

Тем временем опять моя лента совершает удивительные сюжетные повороты.

Метод описанный в посте, застрял на уровне 80ых. Так как стеганография это моя научная область, я могу сказать что детектируется этот метод на раз два парой статистических тестов. Сейчас есть методы гораздо лучше, например code based steganography.

Немного ненадёжный способ.

Попроще бы мануал, чтоб тыкнул кнопку сплыть в картину

Вы заебали своей безграмотностью и самоуверенностью

Вот Большая Советская:

(от греч. stenos — узкий, тесный и . графия

скоростное письмо, основанное на применении специальных систем знаков и сокращений слов и словосочетаний, позволяющее вести синхронную запись устной речи и рационализировать технику письма.

Но нет, Вы же всё знаете!

Да еще и упорствуете в заблуждении.

Ты для себя вместо всей этой хуйни открыл бы правила русского языка. Цены бы тебе не было.

Ну и да, там где 8 бит = 2 байта я ощибся, что-то видимо не то подумал. В следующий раз норм будет

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

Всё гораздо проще, из ПО нужен только Winrar:

Про "тег мое" знаешь, а как пикабушников зовут не знаешь?

сколько же в посте картинок, по любому зашифровано еще что-то

Интереснее, на мой взгляд, представление сжатого js-кода в виде картинки, вшитой в base64 на страницу, которую в рантайме рендерим на канвас, попиксельно считываем данные и восстанавливаем "скрытый" js, в котором, в т.ч. могут быть записаны другие ресурсы. Процесс интересный, смысл только образовательный.

Законопроект

В госдуму внесён законопроект о запрете СМИ упоминать национальность преступников. Поэтому теперь вы никогда не догадаетесь, кто именно на свадьбе стрелял в воздух.


У расчленёнки нет региональной принадлежности!

У расчленёнки нет региональной принадлежности!

Когда запретили указывать национальность преступника

Когда запретили указывать национальность преступника

Как вас теперь называть?

Законопроект запрещающий СМИ сообщать национальность

Внезапное

Внезапное Twitter, Вижу рифму, Мат, Юмор, Профессия

Усман Нурмагомедов опознан как водитель

“Рокировочка по-братски” не прокатила, Камал Идрисов направлен в СИЗО до 11 января, ему грозит 10 лет тюрьмы.

Попытка брата Хабиба Нурмагомедова, бойца Bellator Усмана Нурмагомедова, уйти от ответственности за наезд на полицейского, возможно, провалилась. Все дело в том, что стоявшие на посту у Каспийского аэропорта сотрудники правопорядка узнали в водителе, сбившем одного из них на КПП, Усмана Нурмагомедова. Об этом сообщает телеграм-канал SHOT.

Автомобиль преступников был полностью тонирован, но в момент проезда через КПП боковое окно со стороны водителя было открыто, и сотрудники по фото опознали, что за рулем сидел именно Усман Нурмагомедов. Эту информацию полицейские внесли в протокол следователя по делу.

Теперь для Усмана и его друга Камала Идрисова ситуация серьезно осложнилась, так как к ДТП и оставлению места наезда на полицейского потенциально добавилось лжесвидетельствование. Ведь ранее приятели заявили, что за рулем находился Камал, а Усман спал на заднем сиденье после тренировки. Ну и прицепом там идет рассказ про то, что ребята очень торопились и решили, что не сбили человека, а слегка задели его зеркалом. А после они поменялись местами и за руль сел уже Усман - просто так захотелось.

Сейчас следователи изучают видео с камер наблюдения, чтобы точно установить водителя. Камала же после получения новых данных из-под домашнего ареста перевели в СИЗО, где он будет находиться до 11 января. СМИ утверждают, что ему грозит до 10 лет тюрьмы.

Читайте также: