Pull to refresh

Comments 36

Интересует устойчивое «размазывание» скрытой информации по контейнеру. В «лихие 90-е» видел заметку о том, что якобы Playboy внедряет незаметные глазу «водяные знаки» в свои изображения, причём они устойчивы к весьма суровым преобразованиям и зашумлениям картинки, вплоть до того, что надёжно обнаруживаются даже на скане распечатки. Не знаю уж, сколько там вымысла, но любопытны методы, позволяющие так сплавлять одно с другим.
На счет Playboy в первый раз слышу :))
Первый вопрос: зачем? Если рассматриваем кейс №5 «Защита авторского права»,
то когда вы фотографируете голубого древолаза в чащах Амазонки и хотите похвастаться своим снимком, то лягушка не может подтвердить, что вы — автор снимка.

Если украдут фото девочки, то думаю девочка может сказать, кто ее фотографировал, если дело дойдет до суда…
Поэтому вроде как отпадает.

Если кейс №12 «Неотчуждаемость информации» — то вполне вероятно. Если верить википедии, Playboy издается с 1953 года. Почему бы в снимках не указывать имя и год съемки?

Для защиты смежных прав в автоматическом режиме. Имя и год съёмки можно от картинки просто отрезать или залить чёрненьким, сделать ресайз и гауссово размытие или наоборот sharpen, после чего торговать на левом сайте «горячими картинками», что нанесёт плейбоям неисчислимую упущенную прибыль. А так их коварный робот-паук сможет находить в интернете нарушителей, да и пауки гугля и других больших поисковиков тоже смогут сориентироваться в ситуации.
Впрочем, здесь меня всё-таки больше интересует принцип внедрения и чтения подобных меток, если они вообще существуют — мои смутные воспоминания об этой заметке не самый надёжный источник.
Не согласен. Есть ISBN издания, есть команда людей, т.е. потенциальных свидетелей…
Или под «автоматическим режимом» вы имеете в виду устройство, которое позволяет определить — легальный или нелегальный контент без непосредственного обращения к правообладателю??

Тут одна проблема — если хотя бы одно такое устройство взломают — то все!
Правда можно сам ключ и алгоритм проверки хранить на удаленном сервере. Но тогда можно развернуть большую базу данных для данного сервера, который бы содержал все изображения…

Аналогичные рассуждения с «коварным роботом-пауком».

UPDATE:
чтобы в базе данных не хранить все изображения, можно хранить их сжатые копии как это делают поисковые системы при поиске по картинкам.
В те годы искать похожие картинки по сжатой копии ещё не умели, а ляпать сайты-однодневки с палёным контентом уже таки да. Другое дело, что рингтоны в конечном итоге оказались прибыльнее.
Под «автоматическим режимом» я подразумевал описанного в заметке ползающего по интернету плейбойского робота, обнаруживающего краденые картинки. Отсканированные из бумажного журнала, например. Прошедшие ресайз, кроп и корректировку цвета.
Про какое издание с его ISBN и какую «команду людей», да ещё и потенциальных свидетелей идёт речь, мне непонятно.
И опять же, меня интересует не столько цель использования, сколько методы и математика. Как можно внедрить в изображение настолько устойчивые и в то же время незаметные водяные знаки?
До сих пор всегда считал, что стеганография — это исключительно скрытая передача или хранение информации. Когда цель одной стороны — скрытно хранить или передавать информацию, а цель противника — установить факт такой передачи или хранения, а по возможности — извлечь или внедрить стегосообщение.

Меня бы в первую очередь интересовали общие принципы стеганографии. Например: возможность внедрения стегосообщений в контейнеры. По идее, это возможно только в случае, если контейнер имеет некоторую избыточность. Далее: при внедрении стегосообщения в контейнере возрастает уровень шумов (это касается картинок, звука, видео и даже ECC). Важно поставить и решить задачу о максимальном размере стегосообщения при заданных свойствах контейнера.

Ну и интересно также узнать, какие существуют подходы к обнаружению СПД в: тексте, звуке, видео и других контейнерах. Какие существуют методы борьбы с обнаружением стегосообщений. Например: если вы задействуете один или два младших бита звукозаписи для передачи стегосообщения — то могут измениться спектральные свойства сигнала, и статистическими методами это может быть обнаружено. В то же время, спектр шума, который дает стегосообщение в звукозаписи, может быть с помощью эквалайзера подогнан к нужному виду и восстановлен на принимающей стороне. Вот такие интересуют технологии.
Да, у стеганографии три цели. И в зависимости от целей нужно строить различные принципиально разные формальные критерии определения качества сообщения.

Но, не забывайте, что как я писал в статье, что в англоязычной литературе все чаще превалирует термин Information Hidding(информационное сокрытие), который включает в себя steganography (СПД), digital watermark и fingerprint.
Есть аналогия в криптухе. Шифрование = crypt, Расшифрование=decrypt, Дешифрование = break, то есть дешифрование != decrypt; так и здесь стеганография =Information Hidding, steganography = СПД, то есть стеганография != steganography… Вот такой вот казус :)

На счет возрастания уровня шумов, можно вкраплять большее количество данных, используя меньшее количество шумов. Тут есть одна небольшая алгоритмическая хитрость… Как-нибудь напишу об этом. Заявка принята :)

«Важно поставить и решить задачу о максимальном размере стегосообщения при заданных свойствах контейнера.»
Для некоторых сред (см ответ на комментарий ниже) данная задача в принципе поставлена (с некоторой натяжкой)

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


В принципе на каждое действие можно придумать противодействие… Опять же, дело в среде. Чем она сложнее, тем хуже.
Вот самый яркий пример — работы филологов. Они изучают свойства именно человеческой речи и предлагает стеганографию внутри фонем человеческой речи… Я не филолог, но как я понимаю суть в том, что есть «микромикроинтонации» нашего голоса, которые в некоторых случаях хаотичны, т.е с определенной вероятностью используется одна «микромикроинтонации», с иной — вероятность другая… При этом на слух их вообще невозможно распознать… А никакие статистики вам тут не помогут… Я это взял из диссертации некой Сагалай Марины: dlib.rsl.ru/01004858302 Но говорю еще раз, я не специалист в филологии…
Скажите, а откуда взялась используемая вами терминология? Кто и почему в русском языке к термину «стеганография» в смысле СПД добавил еще смысл ЦО и СВЗ? По-моему эти вещи очень мало связаны друг с другом, и совместное их рассмотрение только вносит путаницу.
Когда я был наивным студентом, я думал, что это мое «ноу хау» и искал опровержения…
Но, при поступлении в аспирантуру и постепенного освоения англоязычной литературы, я нашел журнал Springer: Information Hidding.
Эта терминология оттуда.
При этом многие авторы неоднократно подчеркивают различие между fingerprint (у меня ЦО) и stego watermark (у меня СВЗ).

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


Можно поподробнее? Почему вы так считаете?
журнал Springer: Information Hidding.
Эта терминология оттуда.

Журнал английский вроде. Но выше вы говорили, что:
стеганография =Information Hidding, steganography = СПД, то есть стеганография != steganography

Правильно ли я понял, что в английском языке steganography=СПД?

Но тогда остается без ответа вопрос о значении русского термина «стеганография», который вы определили как «СПД+СВЗ+ЦО». Кто и почему присвоил этому термину такие значения, отличные от значения английского термина «steganography»?
Можно поподробнее? Почему вы так считаете?

Задачи внедрения информации в контейнер, с одной стороны, и внедрения информации таким образом, чтобы это было трудно обнаружить — разные. Настолько разные, что требуют существенно различных подходов для их решения. Вы же сами проводите между ними в статье большую жирную черту. Поэтому я и считаю, что их совместное рассмотрение, тем более под одним названием «стеганография», вносит путаницу. Вот и хочу выяснить, кто, когда и почему объединил их в русском языке под одним термином. И насколько такая трактовка термина «стеганография» является общепринятой в русском обществе специалистов по теме.
Правильно ли я понял, что в английском языке steganography=СПД?


В журнале Springer — «да». В остальных работах — «да» примерно в 85% случаев (по моим наблюдениям)

Но тогда остается без ответа вопрос о значении русского термина «стеганография», который вы определили как «СПД+СВЗ+ЦО». Кто и почему присвоил этому термину такие значения, отличные от значения английского термина «steganography»?


В этом вся и проблема, что и я считаю, что стеганографией нужно называть только СПД.
Так же думаю разумным "узаконить" термин информационное сокрытие… Проблема в том, что отечественные специалисты (и те, кто считают себя специалистами) по прежнему называют стеганографией все вышеперечисленное… :(
Против рожна не попрешь… Мне ещё защищаться надо, я даже не кандидат наук пока…

Поэтому я и считаю, что их совместное рассмотрение, тем более под одним названием «стеганография», вносит путаницу.


Полностью согласен за одним «но»: до определенного момента изучение построения стегосистем для каждой из трех целей: СПД, ЦО, СВЗ могут, выражаясь вульгарно, «помогать друг другу»… Поэтому тот же журнал Springer содержит «все в одном». Последние выпуски разбивают на секции: СПД (steganography), ЦО, СВЗ… Иногда добавляют секцию стегоанализа.

Однако модели типа «Алиса-Боб-Труни» конечно для каждой цели разумно разрабатывать свои. В этом вы правы.
Задачи внедрения информации в контейнер, с одной стороны, и внедрения информации таким образом, чтобы это было трудно обнаружить — разные.

Поэтому я и считаю, что их совместное рассмотрение, тем более под одним названием «стеганография», вносит путаницу

Стеганография — это наука о сокрытии информации. Далеко ходить не надо, из определения следует, что если вы внедряете информацию в контейнер открыто, это не стеганография. Я думаю, что и автор не подразумевает под СВЗ или ЦО в том числе и что-то, встраиваемое открытым способом. В этом смысле никакой путаницы нет.
Я джва года ждал такую статью на Хабре!

Насчет классификации способов практического применения. Мне кажется, что значимость некоторых пунктов под вопросом, некоторые их них можно сгруппировать в один. Например, защита подлинности (пункт 6) реально осуществляется с помощью ЭЦП (в том числе, в примере с фотографией), а факт вкрапления ЭЦП в тело контейнера — это отсылка к пункту 13.

Также присоединяюсь к вопросу предыдущего комментатора. Существуют ли методы стеганографии, устойчивые к обнаружению (хоть в каком-нибудь контейнере)? Хочется сравнить положение дел с таковым в криптографии. Мне представляется, что фундаментальные проблемы криптографии решены в том смысле, что известны алгоритмы шифрования/подписи с доказанной сложность взлома (с некоторыми оговорками, что в основе лежат недоказанные гипотезы типа P≠NP). В то время как в стеганографии ситуация неясна (мне, по крайней мере).
По поводу объединения некоторых практических применений — согласен, что многие можно объединить в один или дальше «дробить». В принципе все можно объединить в три цели: СПД, ЦО, СВЗ.
В теории (см. тот же журнал Springer) так собственно и делают.

По поводу устойчивости в стеганографии и криптографии. Начнем с последнего, с криптографии. Не смотря на бурное развитие криптухи ( особенно в XX век, когда криптуха из лингвистической науки превратилась в математическую), в криптографии нет универсального определения устойчивости. Есть «мера нелинейности» (см. Bent-функции), различные оценки «качества» псевдослучайности в потоковых шифрах (см например классический LFSR), различные универсальные методы взлома.

Шифр считается стойким, если он устойчив к ИЗВЕСТНЫМ универсальным методам взлома + известен достаточно давно, алгоритм открыт и не нашлось криптографа, который бы поламал шифр. Есть даже целые конкурсы в криптухе. Тот же самый AES — это в начале был конкурс, на котором победил шифр Rijndael… Конкурс проводило американское правительство в ОТКРЫТУЮ. Считалось, что раз Rijndael никто в мире не поломал, значит шифр хороший.

Но в криптухе нет никаких гарантий! Никто не доказал, что взлом RSA — это NP задача! Это НЕИЗВЕСТНО… Т.е. если найдется кто-то кто поломает RSA и никому об этом не скажет, то почти вся система (в том числе и банковская) под большим ударом.

Единственный в мире не взламываемый шифр — это шифр Вернама. Но он «дорогой», длина ключа равна длине контейнера. К тому же сам ключ можно по разному генерировать, транспортировать. Так что side cannek attacks по прежнему возможен.

По поводу стеганографии, устойчивой к обнаружению.
Как я считаю, самое важное — это СРЕДА. А среда бывает разной, в том числе очень даже трудной для изучения. Что такое «невосприимчивость человеческого глаза»? Где граница «восприимчивости»? Можно ли алгоритмически обнаружить вкрапление? Каковы ошибки первого и втогоро родов? Зависят ли эти ошибки от фотографии-контейнера?.. Вопросов очень много и они на 90% имеют отношение к СРЕДЕ.

В акростеганографии вопрос вообще ставится лингвистам. Насколько данный текст похож на человеческий? Насколько «уместны» в нем те или иные слова? Насколько «цельна» личность человека (есть и такое!), если предположить, что текст написан человеком: не шизофреник ли он???

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

Насчет стеганографии: среда безусловно важна, но для начала можно от нее абстрагироваться. И «невосприимчивость человеческого глаза» здесь ни при чем. Задача формулируется так: существует ли алгоритм, который может с некоторой уверенностью ответить на вопрос, содержит ли данный кусок данных (контейнер) стеганографические вкрапления заданного типа. Очевидный пример наивной реализации такого алгоритма — это изучение младших битов спектральных коэффициентов формата mp3 на предмет каких-либо закономерностей в них. Я не знаю, есть способы представить свою секретную информацию в виде высокоэнтропийной последовательности, неотличимой от качественного шума, и имеет ли это смысл (например, по причине того, что реальные кодеки оставляют в качестве мусора в младших битах что-то низкоэнтропийное).

Отдельная задача — устойчивость водяных знаков на изображении к различным трансформациям (в том числе с потерями) изображения. Но мне эта зада не кажется важной и интересной. Собственно, в стеганографии мне интересна только СПД.
Первое: есть subliminal стеганография и supraliminal стеганография. В supraliminal стеганографии в плане формальной модели совсем все плохо.
Второе: есть лингвистическая стеганография, которая оперирует не синтаксисом, а семантикой. Вот это subliminal или supraliminal??

Сузим класс стеганографии к subliminal и вычеркнем лингвистику.
Задача формулируется так: существует ли алгоритм, который может с некоторой уверенностью ответить на вопрос, содержит ли данный кусок данных (контейнер) стеганографические вкрапления заданного типа.

Под «заданного типа» вы скорее всего подразумеваете принцип Керкгоффса, верно?

Вот Кашен и Миттельхользер попытались это сделать. На мой взгляд очень абстрактно… Например они учитывают все виды контейнеров… Но в том то и суть стеганографии, что мы уже имеем наперед заданные контейнеры!
Если вы видите трехглазого котика, вы начинаете недоумевать, потому что трехглазых котиков нет. Вы можете это сформулировать на языке математики?..

Можно ограничить контейнеры по каким-либо статистическим свойствам. Но есть нюансы.

Во-первых, эти статистические свойства различны для разных сред. И порой ОЧЕНЬ различны так, что нельзя обобщить! А если и можно, то нельзя с этим работать.
Во-вторых, они являются абстракцией и упрощением реального мира… Если кто-то придумает другую абстракцию не слишком сложную (чтобы с ней можно было работать) и более качественную, чем ваша абстракция, то этот человек поломает стегосистему.

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

Под «заданного типа» вы скорее всего подразумеваете принцип Керкгоффса, верно?

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

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

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

Тут слабый момент следующий (жирный цвет — мой):
При этом, для простоты предположим, что атакующий имеет полный доступ к среде, так что можно считать, что сообщение просто публикуется в сети, но имеет (нескрываемое) ЭЦП Алисы для подтверждения его целостности. Вопрос в том, существует ли надежный метод обломать Вовочку в предположении, что он не имеет никакой дополнительной информации, кроме перечисленной выше.


Вовочка знает, что трехглазых котиков не существует? Если знает, то на основании чего он сделал такой вывод? Можно это формализовать математически?
Если не знает, то можно придумать такую систему. Если котик двуглазый — сообщение 0, если трехглазый — сообщение 1.

Можно еще проще, без трехглазых котиков.
Если котик — сообщение 0, если собачка — сообщение 1.

Понятно, что скорость, мягко говоря низкая…
Можно увеличить скорость передачи данных за счет увеличения времени «декодирования» (в данном случае понимания на стороне клиента, что за животное мы передаем)

Если котик — сообщение 00, если собачка — сообщение 01, если черепашка — сообщение 10, а если бегемотик — сообщение 11.

Вот это называется supraliminal channel или supraliminal стеганография, если человек сам воспринимает информацию.
Скорость низкая, но можно сделать БОЛЬШОЙ словарик соответствия животных и передаваемых бит информации… Можно на одной фотке одновременно показывать котика и собачку и передавать 00-01 соответственно; тогда нужно ввести «функцию упорядоченности». «котик-собачка» — 00-01, «собачка-котик» — 01-00.

Автоматизация: deep-learning, ну или что-то аналогичное… Это, конечно громоздко, возможно неоптимальное решение… Конечно будут ошибки но их можно компенсировать корректирующими кодами.

janatem, такой вариант интересен или слишком сложен?
Мне кажется, это не является методом передачи стеганографической информации, поскольку совсем не определяет самое интересное — как именно кодировать полезные данные. Если брать обычный текст в обычной бинарной кодировке и оборачивать его вышеописанным кодом «зверушка — бит», то никакой стеганографии не получится. Если атакующий заподозрил, что имеет место именно такая кодировка, то он без труда не только докажет наличие стеганографии, но и прочитает ее (максимум, ему придется определить, какой именно зверушке соответствует какая цифра, но этот шифр является тривиальным и мгновенно ломается хотя бы частотным анализом). В любом случае технически удобней хранить стегоданные, например, в LSB jpeg-изображения, а не в семантическом образе, которые передается изображением.

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


Нет, ну разумеется перед вкраплением надо шифровать!
А так согласен, метод «кошек-собачек-бегемотиков» — это pure steganography (т.е. стеганография без ключа).
Конечно можно дальше развивать мысль. Например связь между объектами задается ключом. Скажем если ключ k1, то котик — 00, а если k2, то котик — 01…

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


Почему вы так решили? Да, данная область плохо исследована… Но это не значит, что этот метод не будет актуален.

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


Такие мысли есть, см. Кашена: An information-theoretic model for steganography.
Он предлагает мерить все относительной энтропией (relative entropy) (=дискретный случай расстояния Кульбака — Лейблера)
Я не знаю, есть способы представить свою секретную информацию в виде высокоэнтропийной последовательности

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

Именно эти свойства следует использовать для обнаружения стегосообщений. В реальной звукозаписи «настоящие» младшие биты будут скорее всего иметь другое распределение и спектр; также они скорее всего будут как-то коррелировать и взаимодействовать со старшими битами.

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

Если же заменить сигнал от младших бит стегосообщением — то никакого спектрального взаимодействия не будет; к имевшемуся шуму квантования просто прибавится белый шум от стегосообщения.
Да, это примерно то, что я хотел узнать. Во-первых, насколько качественную компрессию дают известные методы? Насколько результат алгоритмически неотличим от шума? Во-вторых, хотя мы знаем, что в реальности LSB как-то коррелированы между собой и со старшими битами, все же в них есть хоть немного энтропии. (Более того, наверняка энтропия есть не только в младших битах.) А раз так, то можем ли мы ее выделить и использовать для своих нужд, заменив на компрессированные стегоданные?
Насколько результат алгоритмически неотличим от шума?

Достаточно хорошо. Попробуйте загрузить rar-файл и проиграть его в виде звука. Ни ухом, ни спектральным анализатором, ни базовыми статистическими инструментами (гистограммы, линейное предсказание и т.д.) разницы от шума для типичных файлов вы не заметите (даже если исходные данные были звукозаписью). Если же результат компрессии еще и зашифровать — то неотличимость от шума будет еще полнее.

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

все же в них есть хоть немного энтропии

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

Грубо говоря, если простой и очевидный способ СПД в звуке — это использование младших бит, и он дает довольно большую емкость стегосообщения (1/16 или даже 1/8 от исходного размера контейнера) — то повышенная маскировка будет ограничивать число допустимых комбинаций младших бит, а, следовательно, энтропию и размер стегосообщения.
Если представить оригинальный сигнал (без стегосообщения) в виде суммы сигналов от старших и младших бит — то сигнал от старших бит будет иметь шум квантования, который компенсируется сигналом от младших бит (соответствующие спектральные компоненты в обоих сигналах равны по модулю и противоположны по фазе).

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


MichaelBorisov, я не специалист по звуку.

Работает ли аналогия на изображения?

Для LSB это сработает (Если данных вкраплено достаточно много).
C Patchwork проблем не возникнет?
Работает ли аналогия на изображения?

Думаю, что работает. Только кроме простых спектральных методов обнаружения стегосообщений можно будет применять двумерные методы, детектирование контуров и т.д.
Я считаю, вы немного неправы по поводу отсутствия универсального определения устойчивости и смешиваете понятия «шифр» и «схема шифрования». Шифр Вернама совершенно устойчив по критерию Шеннона, который универсален в том смысле, что его можно применять к любому шифру как к семейству преобразований. К тому же выполнение это критерия как раз даёт безусловную гарантию секретности шифруемой информации. Другое дело, что для шифрования одного шифра мало, нужна схема шифрования. Я, конечно, понимаю что вы имеете в виду критерии стойкости для практически используемых шифров и схем шифрования. Но всё-таки.
Шифр Вернама совершенно устойчив по критерию Шеннона,

Шифр Вернама устойчив ко всем критериям, даже к тем, которые ещё не придумали…
Другое дело, что ключ-гамма должен быть действительно случайным, да и side channek attacks никто не отменял…

К тому же выполнение это критерия как раз даёт безусловную гарантию секретности шифруемой информации.


Ну почему же??? Мы наверное разное подразумеваем пот критерием Шеннона. Вы имеете в виду "совершенно стойкий шифр"?
Да, я имел в виду совершенно стойкий шифр по Шеннону. Под гарантией секретности я имел в виду свойство, которое даёт такой шифр. Генерация ключа может свести на нет стойкость схемы шифрования, но шифр тут ни причём. Я вообще к тому, что нельзя говорить, что в криптографии нет критерия устойчивости и абсолютно никаких гарантий.
Вспомнилась старая статья на хабре о Blizzard, которая в своей онлайн игре WoW в скриншотах пользователях добавляла цифровые водяные знаки (userID, time, realm).
habrahabr.ru/post/151297/
Эээ… Я вроде упоминал об этом ;))
Из мира компьютерных игр можно привести WoW. Если сделать скриншот игры, то автоматически внедряется СВЗ, содержащий имя пользователя, время снятия скриншота (с точностью до минуты и IP) адрес сервера.
Да, полностью не прочитал статью, прошелся по первой части и прочитал только названия пунктов «практического применения». Добавил в «избранное» как всегда — «на потом» :)
Ооо… Да, я тоже так люблю :))
Ну, еще вспомнился один момент с работы, когда надо было разбирать mp3 файл вручную — чтение загловка, подсчет точного кол-ва фреймов, проверка… etc, некоторые файлы имели мусорную информацию между фреймами. Тогда еще ничего не знал о стенографии, только слышал это слово, но не знал что оно означает. И подумалось, так можно же между ними записать свою информацию не относящуюся к описанию mp3 или аудио-данным. Но сейчас я понимаю что этого очень примитивный способ, так как при перекодировании(если не использовать нужный софт) или изменения формата эти данные потеряются.
Я называю это игрой в кошки -мышки :)
Часто именуют это «компьютерной стеганографией», ИМХО, ужасный термин.

Есть более умная игра в кошки-мышки: использовать неиспользуемые участи памяти в файловой системе. Если файловая система имеет гарантированное уничтожение памяти, то при удалении файлов, все данные заполняются случайными битами (нулями нельзя из-за остаточной намагниченности). Используя стеганографию + поточный шифр можно создать совершенную стеганографию! (если при этом будет хороший шифр)
Наблюдение за ходом опроса.
На текущий момент 40%(19+21) за хаб «стеганография», а 42% против…
Пока «наши» проигрывают… Но по крайней мере не в сухую, а «нозря в ноздрю» ;))
Это радует.
Нужно 18%, которые сказали, что им «все равно» и 30 воздержавшихся хабраюзеров как-нибудь со временем через три-четыре статьи завербовать в свой лагерь ;))
Sign up to leave a comment.

Articles