- PVSM.RU - https://www.pvsm.ru -
Доброго утра Хабру. Читал вчера статью [1] о хэш-стеганографии через социальные сети, и пришла мне в голову мысль сделать что-то более оптимальное в плане объёма выходных данных. Получилось что-то более-менее работоспособное и даже оптимизированное (в отличие от proof-of-concept [2] romabibi [3]), поэтому, как и обещал [4], пишу статью.
Что ж, поздороваюсь с вами ещё раз: , и добро пожаловать под кат.
Я решил реализовать идею максимально по-тупому просто, поэтому алгоритм шифрования опишу кратко:
Строка (в виде байтов) записывается квадратом в левый верхний угол изображения, сливаясь с белым шумом. В итоге получается что-то вроде какой-нибудь текстуры — например, камня из игры Minecraft. Посудите сами:
Конечно, нетрудно понять, что это шифр, однако, не имея алгоритма, его не так уж и легко расшифровать (ведь нужен AES-ключ, да и формат с префиксами и двойным сжатием зареверсит далеко не каждый).
Очевидно, что хранить оригиналы картинок соц. сетям не выгодно. ВК, например, даже конвертирует PNG в JPG, используя не самый маленький коэффициент сжатия. А, так как у нас используются конкретные значения байт (0-255), их потеря ни к чему хорошему не приведёт. Решение — отсылать полученные изображения как документы (файлы).
Правда, думаю, эта статья (выросшая из комментария) себя исчерпала. Буду рад выслушать предложения других алгоритмов, и услужливо закодить их для вас, добавив в этот же скрипт.
Спасибо ещё раз romabibi [3] за идею; adios.
Автор: Егор Воронцов
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vkontakte/276048
Ссылки в тексте:
[1] статью: https://habrahabr.ru/post/351370/
[2] proof-of-concept: https://github.com/RomaLash/vkhs_POC
[3] romabibi: https://habrahabr.ru/users/romabibi/
[4] обещал: https://habrahabr.ru/post/351370/#comment_10720292
[5] туть: https://github.com/egormanga/CryptoNG
[6] Источник: https://habrahabr.ru/post/351858/?utm_source=habrahabr&utm_medium=rss&utm_campaign=351858
Нажмите здесь для печати.