LINUX.ORG.RU

Стеганографический веб-сервис DarkJPEG

 , ,


4

0

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

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

Сервис использует стойкие методы стеганографии для сокрытия самого факта сокрытия информации вместе со стойкими методами криптографии для защиты данных, передаваемых по открытым каналам, от компрометации (факта доступа посторонних лиц). Исходные тексты проекта распространяются в рамках лицензии MIT.

Основные особенности:

  • Использование SHA3 для генерации ключей;
  • Симметричное шифрование AES-256;
  • JPEG (DCT LSB) стеганография;
  • Поддержка RarJPEG и двойного сокрытия;
  • Подбор случайного контейнера;
  • Вычисления без участия сервера;
  • Гарантия полной конфиденциальности.

>>> Главная страница сервиса

★★★★★

Проверено: tazhate ()

Ответ на: комментарий от Hemulo

1. Без тормозных костылей только 256 цветов.

2. Примитивный и устаревший алгоритм сжатия, который рвёт PNG-8 лишь на маленьких иконках без сложных цветовых переходов.

3. Нет альфа-канала, ни о каком сглаживании краёв с прозрачным фоном речи идти не может.

4. Нормальные браузеры давно поддерживают APNG.

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

MiniRoboDancer ★☆ ()
Ответ на: комментарий от mix_mix

И тем самым переключая на decode, что непосредственно сразу видно.

А, т.е. когда я нажимаю encode, включается режим декодирования.

Действительно, логично, странно, что я сразу не догадался.

cruxish ★★★★ ()
Ответ на: комментарий от cruxish

А, т.е. когда я нажимаю encode, включается режим декодирования.

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

mix_mix ★★★★★ ()
Последнее исправление: mix_mix (всего исправлений: 1)
Ответ на: комментарий от MiniRoboDancer

Твоя проблема не в гифках, а в местах, на которых в них вступаешь.

cdshines ★★★★ ()
Ответ на: комментарий от MiniRoboDancer

1. Без тормозных костылей только 256 цветов.

GIF вообще не для этого используется. Обычно там где используется GIF совершенно не нужны цветовые переходы и учитывая возможность использования различных палитр ограничение в 256 цветов тоже в этой области не страшно. Что приятно, так это наоборот возможность сокращения цветов в палитре рисунка. Или вы пытаетесь в GIF сохранять фотографии? Тогда конечно ничего более убогого чем GIF не удастся вообразить. Хотя когда-то для фоток его тоже использовали, но это уже дремучая история.

2. Примитивный и устаревший алгоритм сжатия, который рвёт PNG-8 лишь на маленьких иконках без сложных цветовых переходов.

А как например с прозрачными картинками размером 1x1 пиксель или подобными?

Как с небольшими рисованными анимированными элементами интерфейса? Во многих случаях GIF это оптимальный вариант: 1) Стандартный 2) Маленький 3) Требует минимум усилий

3. Нет альфа-канала, ни о каком сглаживании краёв с прозрачным фоном речи идти не может.

Для GIF это и не нужно. Не путайте роликовые коньки с камазом. Формат GIF часто удобен именно из за его минималистичности.

4. Нормальные браузеры давно поддерживают APNG.

Нормальные браузеры, это все кроме IE и WebKit ?

Формат APNG интересен. И хотя я им ни разу пока не пользовался, я думаю, что он будет востребован.

Есть масса областей, в которых предпочтительно использовать PNG, а APNG существенно расширяет этот перечень. Но области применения GIF лишь частично пересекаются с PNG/APNG.

Hemulo ()
Ответ на: комментарий от mix_mix

подобная врождённая неблагодарность, почему же такое сплошь и рядом на территории пост-СССР

Во-первых зря ты по поводу пост СССР и враждебности.

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

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

И да, я крайне враждебно отношусь к вбросу таких технологий в массы.

ТОР вбросили в массы, все кричали, мол, чем больше exit-node тем лучше, докричались до того, что ТОР стал слишком попсовый, почти как линукс... и скоро предвидится его блокировка.

Рассуждать о методах контрблокировки бессмысленно, потому что их факты будут более детально контролироваться, чем контролировался весь ТОР пару лет тому.

Нужен статус кво, хочешь что-либо - качай свой уровень, читай, изучай.

// Хотя да, криптопанки как не пользовались тором раньше, так и остались на всяких mixminion сейчас, а риалтайм криптота уже давно запилила себе ботнеты с блекджеком.

Umberto ★☆ ()
Последнее исправление: Umberto (всего исправлений: 1)
Ответ на: комментарий от cdshines

Как место использования влияет на вышеозначенные четыре пункта?

MiniRoboDancer ★☆ ()
Ответ на: комментарий от Hemulo

Обычно там где используется GIF совершенно не нужны цветовые переходы

Мелкие олдскульные иконочки. Какое ещё нормальное применение ты ему найдёшь?

Что приятно, так это наоборот возможность сокращения цветов в палитре рисунка.

PNG-8. Любой размер палитры, хоть два цвета.

Хотя когда-то для фоток его тоже использовали

Видели мы, видели.

А как например с прозрачными картинками размером 1x1 пиксель или подобными?

Костыль.

Как с небольшими рисованными анимированными элементами интерфейса?

Индикаторы загрузки? CSS3

Для GIF это и не нужно.

Только если картинка прямоугольная или на ней все угловатое. Иначе либо жопа без сглаживания, либо картинка с фоном, либо, полная жопа - сглаживание на белом фоне, остальное прозрачно - на тёмном фоне смотрится на редкость вырвиглазно.

Нормальные браузеры, это все кроме IE и WebKit ?

Для Хрума расширение есть. Как там в Safari - не знаю, лень по магазину лазить, он тормозной и глючный.

MiniRoboDancer ★☆ ()
Ответ на: комментарий от cdshines

Ткни пальцем на места, где оно нужно.

//Сайты с хаками для IE не показывать.

MiniRoboDancer ★☆ ()
Ответ на: комментарий от Umberto

Я тебе очень жестко указывал на дырки в реализации

Это на какие такие «дырки» ты хоть раз мне указал? Что если будет MitM, то можно спалить адрес выходной ноды у тора? Или что если через каждый хоп (включая тор) будет по митму, то можно спалить свой адрес, — весь мир против нас? Ну это уже даже не смешно, это абсурдно. Или то, что картинка должна быть уникальной? Ну так используй уникальные. Или давай даже я специально для этого напишу: сервис запрещено использовать в целях шпионажа или координации террористических групп. Так лучше? Остальным 95%, как я уже писал, представленной реализации будет достаточно.

ТОР стал слишком попсовый, почти как линукс

Мсье против прогресса?

и скоро предвидится его блокировка.

Что за рабские настроения? Любая передача информации должна быть свободной и не должна регулироваться хоть кем-то, включая государства, просто в силу определения, по дефолту. Поэтому и будем делать всё возможное, чтобы так оно и было. Провалится тор — есть i2p и прочие меш-сети. Чем раньше столкнёмся с какими-то проблемами, тем быстрее пойдёт прогресс, тем быстрее будут разработаны новые, более совершенные методы.

mix_mix ★★★★★ ()
Последнее исправление: mix_mix (всего исправлений: 1)
Ответ на: комментарий от cdshines

Ты о чем?

О местах, где использование GIF целесообразно и не является костылём.

MiniRoboDancer ★☆ ()
Ответ на: комментарий от mix_mix

Ну это уже даже не смешно, это абсурдно.

Да, реальность она такая.

Или то, что картинка должна быть уникальной?
Ну так используй уникальные.

Ну так реализуй бай дефолт, про правила хорошего тона я говорил.

сервис запрещено использовать в целях шпионажа или координации террористических групп.

Вы упорно мажете гиков как террористов, цы-цы-цы, как не стыдно.

Остальным 95%, как я уже писал, представленной реализации будет достаточно.

Чтоб попасть под колпак ЦРУ? Да, верно реализовано.

Что за рабские настроения? Любая передача информации должна быть свободной и не должна регулироваться хоть кем-то, включая государства,

Что за эльфизм?

Чем раньше столкнёмся с какими-то проблемами, тем быстрее пойдёт прогресс

Бга. Тут ситуация с прогрессом имеет конечное число вариантов, и его уже чуть менее чем полностью выбрали, запороли и дискредитировали :D

Я вам настоятельно рекомендую ознакомиться с текущим положением дел на фронте теоретических работ в части анонимных/децентрализованных сетей, там всё очень и очень грустно. Про реализации вообще молчу.

А вы тут городите костыль для домохозяек, тем самым выбирая лимиты времени/распространённости данной технологии.

Я уже говорил, что домохозяйкам это не нужно, гикам и криптоте тоже, следовательно идёт накачка сервиса быдлом, которое и должно завалить возможность существования стего.

Я доступно объясняю?

тем быстрее будут разработаны новые, более совершенные методы

Раскрытия и контроля, ага. :D

Umberto ★☆ ()
Последнее исправление: Umberto (всего исправлений: 1)
Ответ на: комментарий от MiniRoboDancer

Мелкие олдскульные иконочки. Какое ещё нормальное применение ты ему найдёшь?

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

Прикол в том, что как ни крути, а GIF меньше по объёму и 100% стандартен и совместим вообще со всем с допотопных времён.

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

PNG-8. Любой размер палитры, хоть два цвета.

Провёл эксперимент в фотошопе, для сравнения:

Картинка 1x1 пиксель прозрачного цвета в GIF занимает 43 байта, в PNG-8 137 байт.

Картинка 2x2 пиксель прозрачного цвета в GIF занимает 43 байта, в PNG-8 139 байт.

Одноцветная горизонтальная линия 640x1 в GIF занимает 64 байта, а в PNG-8 130 байт (прозрачный цвет в PNG - 143 байта).

Одноцветная вертикальная линия 1x640 в GIF занимает 64 байта, а в PNG-8 133 байта (прозрачный цвет в PNG - 146 байт).

Хотя на больших картинках PNG действительно будет меньше по размеру чем GIF, согласен.

Нарисовал несколько простых картинок побольше (без всяких сглаживаний и т.п.) сравнил GIF и PNG и порадовался что в PNG действительно более совершенный алгоритм сжатия для больших изображений. На больших рисованных картинках при прочих равных PNG меньше по объёму.

Мне это на самом деле приятно, т.к. я часто использую именно PNG, но не проводил подобного сравнения. Мне казалось что соотношения будут похуже.

Но это не говорит о том, что GIF не нужен. GIF - всё же другой.

Костыль.

И для этого тоже, но не только.

Костыли нужны там где не хватает совместимости у других средств. С этим по моему до сих пор ещё не всё шоколадно. Особенно с таблицами в HTML.

Ну, а кроме Web, благодаря простому алгоритму GIF его легко встраивать в свои собственные программы на разных языках программирования.

Для Хрума расширение есть.

Костыль?

Вообще мне кажется, что спор вышел какой-то непонятный. Я же вас не агитирую использовать GIF везде и всюду. Я просто говорю о том, что есть такие области применения, где GIF используется, где его возможностей хватает и поскольку он является старым всем известным форматом, то его все поддерживают одинаково хорошо. Какие тут могут быть проблемы?

Если вам нужно сглаживание в ваших картинках, альфа-канал и прочие радости жизни, то GIF вам точно не подойдёт, тут и спорить не о чем.

Но если вы как-то гипотетически смогли бы отключить поддержку GIF у себя в браузере, то потеряли бы много из того что сейчас существует.

Далеко не все сайты в интернете сейчас ещё используют HTML5 и CSS3.

Hemulo ()
Ответ на: комментарий от MiniRoboDancer

О местах, где использование GIF целесообразно и не является костылём.

Та же GIF-анимация пока что более распространена и стандартна чем APNG.

Hemulo ()
Ответ на: комментарий от mix_mix

Тс, все таки объясни как изображение с этого сервиса расшифровать локально?

QIQuJIunn ★★ ()
Ответ на: комментарий от QIQuJIunn

Тс, все таки объясни как изображение с этого сервиса расшифровать локально?

Если вкратце, то при steg-методе пока, по крайней мере, — никак.

mix_mix ★★★★★ ()
Последнее исправление: mix_mix (всего исправлений: 1)
Ответ на: комментарий от Hemulo

пока что

Ключевое слово.

Кстати, гифки ещё из-за айдевайсов распространены - флэшебаннеры конвертируют.

MiniRoboDancer ★☆ ()
Ответ на: комментарий от Hemulo

любая рисованная картинка, с огранниченым количеством цветов

Любая рисованная картинка с прямыми контурами и/или с прямоугольным фоном с заливкой. Ибо man сглаживание.

Картинка 2x2 пиксель

Жди, пока в CSS3 запилят полосатые фоны. А так, все четыре - костыли, три уже не нужны.

его легко встраивать в свои собственные программы

Зачем?

Далеко не все сайты в интернете сейчас ещё используют HTML5 и CSS3.

http://goo.gl/r6dnC

MiniRoboDancer ★☆ ()
Ответ на: комментарий от mix_mix

Любая передача информации должна быть свободной и не должна регулироваться хоть кем-то

Информация «как быстро, дёшево и безнаказанно отравить водопровод в городе, где живёт mix_mix» тоже должна быть свободной?

Не, братец. Твоей программой лучше не пользоваться. Потому что она теоретически предназначена для серьёзных дел, а ты, пардон май френч, дурак. Значит, её использование до добра не доведёт.

Oleaster ★★★ ()
Ответ на: комментарий от Oleaster

а ты, пардон май френч, дурак

Лол, как быстро на личности и оскорбления перешёл.
Лишь очередное подтверждение тезиса о русском менталитете. Пошёл вон.

mix_mix ★★★★★ ()
Ответ на: комментарий от mix_mix

Какое же это оскорбление? Это определение. И существенно важное для обсуждаемой темы. Если некто дурак, то ему не следует поручать работу, от которой может зависеть свобода и жизнь. Метлу и совок доверить можно, а такие вещи — лучше не надо.

Oleaster ★★★ ()
Ответ на: комментарий от Hemulo

Во многих случаях GIF это оптимальный вариант

Нет таких случаев, джиф давно пора выкинуть на свалку истории.

Формат APNG интересен.

Ага, только никому не нужен.

anonymous ()
Ответ на: комментарий от MiniRoboDancer

Жди, пока в CSS3 запилят полосатые фоны

Так уже же, вроде, даже с костыльными анимациями для всяких прогрессбаров.

anonymous ()
Ответ на: комментарий от Oleaster

И существенно важное для обсуждаемой темы

Что-то я упустил всю драму. Любая система, имеющая прямой доступ к сети, может быть скомпрометирована: начиная браузером, заканчивая репозитариями. И, в случае реальной облавы ничто не спасёт: ни https, ни tor, ни дух святой. Теперь поразмыслим: с какой вероятностью подобная облава будет устроена на какого-нибудь сосочера, постящего ЦП в /b/? Мне кажется, всё-таки автор прав насчёт 95%, а про нечто большее я по крайней мере здесь я от него не вижу. Вот что меня больше смущает так то, почему SHA-3? Почему не PBKDF2 с тем же проверенным SHA-2, по паре тысяч прогонов? С другой стороны, кому оно сдалось, 95% же, да.

anonymous ()
Ответ на: комментарий от Oleaster

Метлу и совок доверить можно

Повторюсь, но всё-таки русскоязычная аудитория — макаки с говном: сидят и ждут, когда кто-то высунется. и сразу давай его закидывать. потому что нефиг вылазить, все сидят — и ты сиди!

Если некто дурак

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

anonymous ()
Ответ на: комментарий от mix_mix

Вот ведь странный русский менталитет. Человек по вечерам, в свободное от работы время что-то там изучал, разрабатывал, допиливал, чтобы выложить потом всё абсолютно «за так», мол, пользуйтесь, люди, на здоровье, для вас же делал, вот и код рядом лежит, был мой — стал общий. А народ всё бушует: и это говно, и автор дурак, и вообще не нужно. Лол, я вовсе не обижаюсь, меня просто забавляет подобная врождённая неблагодарность, почему же такое сплошь и рядом на территории пост-СССР?

Да менталитет такой: автор старался, мучался, делал никому не нужную хрень. Выложил в общий доступ (а что ещё с этой хренью ещё делать, если они никому не нужна). И теперь очень огорчается, что его потуг не оценили. Бедный, бедный автор, посочувствуем ему.

Do you hear that sound? It’s the world’s smallest violin playing a sad song just for you.

anonymous ()
Ответ на: комментарий от MiniRoboDancer

4. Нормальные браузеры давно поддерживают APNG.

Смартфоны в том числе? Или смартфоны не нужны?

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

говноборды

меня убивает

т.е. вас убивает, что ВЫ ходите на всякие говноборды чтобы скачать «гифки, весящие по нескольку мегабайт»? Вариант не ходить на говноборды не рассматривался?

Хотя соглашусь - анимация на веб страницах нужна в очень редких случаях. Если вообще нужна. Но тут что gif, что apng одинаково не нужны.

anonymous ()
Ответ на: комментарий от anonymous

Автор приходит со своим выс^W продуктом на сайт.

Ему замечают, вполне вежливо:

* Параноики на то и параноики, что не будут доверять левым онлайн криптосредствам.

* Если уж делаешь онлайн, то есть смысл хотя-бы защитить скрипты от подмены на канале.

* Если уж используешь public domain изображения, то вносить в них значимые изменения - изменения на уровне LSB в изображении всё равно что неоновая вывеска «Здесь что-то спрятано». Более того, любой индексатор изображений чуть ли не на автомате найдёт подобное.

Автор на это - вы фсе дураки, адин я здесь умный, просто гениальный, и ваще вы с вашим русским минталететом не цените мой труд!

anonymous ()
Ответ на: комментарий от Deleted

если ты тру-параноик, просто стяни репу гитом и открой тот же самый «веб-сервис» локально, в чем проблема?

stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

Для этого нормальные программы намного удобнее.

Deleted ()
Ответ на: комментарий от Deleted

а какие есть нормальные программы?

олсо, щаз весь мир переходит на написание локальных приложений на JavaScript. Делается так: юзается Qt, QtWebKit. Открывается нативное окно с помощью Qt, внутри зафигачен QtWebView, и на этом код на С++ и QML заканчивается. Все остальное — HTML/CSS/JS. Если хочешь, так и быть, я оберну тебе в Qt поделие автора, тем более что оно полностью статическое и не требует вебсервера :))

stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

щаз весь мир переходит на написание локальных приложений на JavaScript

С вами всё понятно :}

Deleted ()
Ответ на: комментарий от Deleted

не ты не увиливай, какие есть нормальные программы для стеганографии?

как они решают проблему, что по распределению видно левую инфу?

stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

Увиливаешь тут только ты. Расплылся про какой-то десктопнинужендаёшьвебвезде. А нормальные программы не скажу, товарищ лейтенант :}

Deleted ()
Ответ на: комментарий от anonymous

автор старался, мучался, делал никому не нужную хрень

Любимое на лоре сочетание слов: «не нужно». Тебе не нужно — отойди в сторону и не мешай тем, кому нужно.

Ему замечают, вполне вежливо

Автор ровно так же вежливо замечает в ответ.

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

Ну не будут — я не заставляю, что же тут поделать.

Если уж делаешь онлайн, то есть смысл хотя-бы защитить скрипты от подмены на канале.

Есть вариант подключаться через https, но с сертификатом от github.com. Тратить свои деньги на домен, хостинг и свой сертификат, чтобы услышать очередное «не нужно» у автора желания нет, он предлагает сделать это тем, кого смущает гитхаб.

Если уж используешь public domain изображения, то вносить в них значимые изменения - изменения на уровне LSB в изображении всё равно что неоновая вывеска «Здесь что-то спрятано».

Автор справедливо пятый раз замечает, что вы не понимаете как работает реализация стеганографического метода. Это не «о, пацаны, я возьму каждый пиксель и надругаюсь над ним», это даже не «насыплю энтропии столько, чтоб всё прям светилось изнутри» — нет и ещё раз нет, перечитайте описание алгоритма, все операции над коэффициентами дискрет. косинусного преобразования, сервис ведёт себя как плохой jpeg-encoder, пережимая изображение и оставляя место под данные.

адин я здесь умный, просто гениальный

И после вышеприведённых доводов автора начинают оскорблять и переходить на личности. Так что русский менталитет, да.

mix_mix ★★★★★ ()
Ответ на: комментарий от Deleted

Вообще, для тру-параноика имхо важно иметь как можно более короткий и понятный исходник проги. Скажем, на двадцать экранов. Чтобы понимать, что вообще происходит и как это контролировать.

stevejobs ★★★★☆ ()
Ответ на: комментарий от mix_mix

себя как плохой jpeg-encoder,

а на другие форматы типа PNG это теоретически перенести можно?

stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

а на другие форматы типа PNG это теоретически перенести можно?

В принципе, возможно, но гораздо сложнее, т.к. нам придётся вручную реализовывать какое-нибудь вейвлет-кодирование и всю его обвязку, чтобы не получилось что-то вроде BPCS.

mix_mix ★★★★★ ()
Ответ на: комментарий от mix_mix

Я ничего не понимаю в стеганографии, расшифруй, что не так с BPCS?

stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

расшифруй, что не так с BPCS

Его единственное преимущество: большой полезный объём и относительная незаметность для человеческого глаза, но вот первый программный энтропийный тест он попросту не пройдёт (как и обычный LSB ещё более простой гистограммный), нужно использовать что-то гораздо хитрее.

mix_mix ★★★★★ ()
Ответ на: комментарий от anonymous

Так уже же, вроде, даже с костыльными анимациями для всяких прогрессбаров.

Анимации есть, полосок нет. Можно, конечно, напихать кучу разноцветных div'ов (и даже не давать им никаких классов, а просто по родителю .parent_class > div:nth-child(even), но это костыль и ужасно грузно. Впрочем, и полосатые фоны не нужны, да.

MiniRoboDancer ★☆ ()
Ответ на: комментарий от anonymous

Умные мысли тут высказали прежде, чем я вообще прочёл тему. Причём по нескольку раз подряд. Но аффтар, вместо благодарности за науку, выкобенивается изо всех сил, тем самым подтверждая мой диагноз.

Oleaster ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.