Сочетание семакодов и стеганографии? - PullRequest
6 голосов
/ 07 августа 2009

Обновление Я задал этот вопрос довольно давно, и мне было любопытно, было ли что-то подобное разработано с тех пор, как я задал вопрос?

Я даже не знаю, есть ли термин для такого рода алгоритма, и я думаю, что не будет, если его еще никто не изобрел. Однако это также затрудняет поиск в Google. Кто-нибудь знает, есть ли еще термин для этого алгоритма / принципа?


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

стеганография

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

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

Таким образом, в принципе, стеганография обеспечивает следующее:

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


(источник: cs.vu.nl )

Semacodes

Семакоды - это способ кодирования данных в визуальном представлении, которые могут быть легко распечатаны, скопированы и отсканированы. Матрица данных, показанная ниже, является примером семакода, содержащего известный текст Lorem Ipsum. По сути, это двумерный штрих-код с большей емкостью, чем обычно штрих-коды. Программы для генерации семакодов легко доступны, и то же самое для программного обеспечения для их чтения, особенно для мобильных телефонов. Semacodes обычно содержат коды с исправлением ошибок, как правило, очень надежные и могут быть прочитаны в очень поврежденных условиях.

Таким образом, семакоды имеют следующие свойства:

  • Кодировка данных, которая может быть напечатана и скопирована.
  • Может сканироваться и интерпретироваться даже в поврежденных (грязных) условиях и, как правило, в очень надежной кодировке.

image

Сочетая это

Так что моя идея состоит в том, чтобы создать нечто, объединяющее эти два, со всеми объединенными свойствами. Это означает, что это должно было бы:

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

Итак, прежде всего я хотел бы знать, есть ли какие-либо решения, алгоритмы или исследования по этому вопросу? Во-вторых, я хотел бы услышать какие-либо идеи / мысли о том, как это можно сделать?

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

Обновление

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

Ответы [ 3 ]

9 голосов
/ 07 августа 2009

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

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

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

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

Боюсь, я не могу помочь, но если кто-нибудь добьется этого, я буду чертовски впечатлен! :)

1 голос
/ 11 августа 2009

Это не полный ответ, но вы должны посмотреть на водяные знаки . Этот метод решает ваши первые две цели (встраиваемые в печатное изображение и читаемые даже при частично поврежденном сканировании).

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

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

0 голосов
/ 07 августа 2009

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

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

...