singlepost

Цыфровой овдяной знак << На главную или назад  

Привет!! Такая проблема. Написана программка для внедрения ЦВЗ методом LSB (Least Significant Bit, наименьший значащий бит) — суть этого метода заключается в замене последних значащих битов в контейнере( в данном случае – рисунке формата BMP). Также использую шифрование методом DES. Но тут же возникает вопрос, можно ли защитится от таких атак:

1) Зашумленные.
2) Удаление последних значащих битов.
3) Обрезка рисунка.
4) Замена формата, например на JPG.

Как можно защититься от всего этого??? Или метод LSB здесь не поможет???

11 ответов в теме “Цыфровой овдяной знак”

  1. 11
    Константин Смотритель ответил:

    + 1 к тому, что сказал Кирилл.
    Одним резервированием тут делу не поможешь. Проблема в том, что есть не только шумы, часто изменяется пространственная структура изображения. На это влияет даже сжатие.

    Кирилл, правда, не отметил, что с применением Рида-Соломона (это получше Хемминга будет =), многократного дублирования и т.п. потреря данных будет означать, что изображение *уже* даже отдалённо не напоминает оригинал. То есть на практике способ 100% рабочий.

    Более того, не надо изобретать велосипед!

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

    Ещё раз повторю – важна пространственная устойчивость, работа в условиях шума здесь второстепенный результат =)))) Штрихкоды как раз разработаны для возможности чтения под любым углом, с потерей части и т.п.

    Там же можно найти и оценку устойчивости такой визуальной записи инфы.

    P.S. Если потребуется реализация DataMatrix или желание сделать что-то наподобие, но тебе не хватит- обращайся в личку, есть готовый код и опыт. Хотя, судя по тому, что это всего лишь работа – на заказ расчитывать не приходится :'(

    P.P.S Владислав, ну и как там, в ПТУ, учат вас?

  2. 10
    Леонид Максимов ответил:

    при использовании многозонного ффт должно переживать даже и масштабирование с поворотами :)

  3. 9
    Семён Истомин ответил:

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

  4. 8
    Владислав Кабак ответил:

    1) мля, задачки для 1-го курса ВУЗа…
    2) задача ддля самост. решения. Если не можете решить – дорога в ПТУ.
    3) ЙОПТ. )

  5. 7
    Леонид Максимов ответил:

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

  6. 6
    Юлия Мытченко ответил:

    Большое спасибо Всем за ответ. Это у меня балкарская такая. Да так глупо вышло, что сначала написала ее, а теперь вот столкнулась с такими радостями.. И времени переписывать уже нет… ивижу что не особо устойчив.
    Программа моя зашивает текстовое сообщение в изображение формата BMP.
    А как же можно выкрутиться с такой ситуации, чтобы не реализовывать еще одного алгоритма шифрования, времени уже нет… защита на носу(((???
    Помогите, советом…

  7. 5
    Леонид Максимов ответил:

    водяной знак и подпись – разные вещи.

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

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

  8. 4
    Кирилл Быков ответил:

    Можно повторять циклически твои данные. Можно использовать помехоустойчивое кодирование. Ключевые слова: Код Хэмминга, Код Боуза-Чоудхури-Хоквингема, ну и всякие прочие избыточные коды. От сильного зашумления, например, пересохранение в джпег низкого качества, вряд ли что-то спасёт.

  9. 3
    Дмитрий Волох ответил:

    Писал курсовую, сталкивался с этим. Владимир mapron Смирнов все правильно написал. В принципе, от зашумления в BMP может помочь только дозапись в блоки кратные 4 байтам, а также от обрезки тоже(не уверен в этом). Если что, пиши ЛС.

  10. 2
    Владимир Смирнов ответил:

    4) от конвертации формата точно не спасешься.
    1) – искажение данных, тоже никак
    2) использовать ПРЕДпоследние значащие биты
    3) располагать данные не по всей плоскости рисунка, а где-нибудь в центре.

  11. 1
    Владимир Смирнов ответил:

    кстати, нужна подпись или водяной знак все-таки?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.