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

Всего 43 сообщ. | Показаны 1 - 20
Нанесение цифровой подписи на фотографии, защита фотографий паролем с использованием криптостойких алгоритмов, управление качеством фото в зависимости от пароля от превьюшки до полноценного фото
Упражнялся в программировании (дабы не атрофировались ранее приобретенные навыки) написал маленькую программку. Данная программа позволяет подписывать цифровые изображения (накладывать на них скрытое цифровое изображение, невидимое (или при желании видимое) при просмотре). Принцип основан на сохранении скрытого изображения в младших разрядах цветовых каналов. В качестве дополнительной опции программа позволяет скрытое изображение зашифровывать с использованием криптостойких алгоритмов, при этом скрытое изображение становится неотличимо от цифрового шума. Восстановить изображение, возможно только при знании пароля. Так как для хранения скрытого изображения не используются никакие дополнительные тэги и блоки идентифицировать сам факт его наличия (при включенной опции шифрования) очень проблематично. Возможно наложение видимого watermarka, затеняющего изображение с возможностью его программного удаления. Отсутствие сигнатуры в защищенном паролем файле и наличие только графической информации затрудняет (а, возможно, и делает невозможным) подбор пароля программными методами. Наличие защищенной паролем цифровой подписи, разрушающейся при изменении файла, позволяет судить о достоверности фала. Возможность защите паролем, позволяет передавать файлы через третих лиц, не боясь несчанкционированного использования и распространения фотографий. Программа мала (54 кб), не требует инсталяции и проста в использовании.

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


Описание и скриншоты можно посмотреть здесь:
http://vvkot2006.narod.ru/fastwatermark.htm

Саму программу можно взять здесь:
http://vvkot2006.narod.ru/fastwatermark2.rar


Хотелось бы услышать мнение, нужна ли подобная программа. Может быть услышать рекомендации по улучшению.




Re[vvkot]:
Цитата:
от: vvkot

Хотелось бы услышать мнение, нужна ли подобная программа.

Нет.
Re[Krainov]:
Цитата:
от: Krainov
Нет.

Так категорично?

Вообще получше аналогов ИМХО=)) По крайней мере тех, что я видел.

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

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

Качество фотографии кстати не теряется?

ps vcl60.bpl не был найден=)
Re[vvkot]:
Программа не запускается. При запуске сообщение - "... vcl60.bpl не был найден...". Надо от Visual Basic упаковать библиотеки в архив. :(
Re[Павел Харитонов]:
Скорее, C++ Builder. :)
Re[Павел Харитонов]:
Цитата:
от: Павел Харитонов
Программа не запускается. При запуске сообщение - "... vcl60.bpl не был найден...". Надо от Visual Basic упаковать библиотеки в архив. :(

Несомненно :!:
Автору заранее спасибо.
Re[Lord Roland]:
Добавил необходимые библиотеки. Вроде ничего не забыл, но так как под рукой нет "чистой" (без среды разработке) машины, то проверить все ли необходимое включил не могу. А добавлять старался поминимому, чтобы размер не рос. (Если не идет отпишитесь, плиз). Сегодня может доделаю пару изменений. Хочу доразвить мысль по поводу шифрования только части цветовых бит, без микширования со всякими watermarkami. Т.е без пароля будет доступен просмотр только заданного количества цветов (0,4,16, 256, 64000), а зная пароль можно будет извлеч полноразмерный файл ,без потери качества. Может добавлю импорт/экспорт в jpeg (но сам файл с зашифрованным содержимым будет пока BMP или TIF). Потери качества не будет. На мой взгляд идея неплохая, если подобных вещей нет. А кстати, сейчас есть ли какой-нибудь графический формат с паролем??? Типа crypted picture format (.cpf я придумал ). Если нет, то доразовью програмку до более приемлемого вида, типа запуска по дабл клику по файлу, пакетный режим и т.д.
Re[vvkot]:
давно есть jpeg2000 .. токо выучить ФСЕ ево спецыфекацыи жызни нехватит

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

да даже обычный прогрессивный jpeg можно шыфрануть так
Re[vvkot]:
Цитата:
от: vvkot
Хотелось бы услышать мнение, нужна ли подобная программа. Может быть услышать рекомендации по улучшению.

Какие биты?? Какой BMP, афтар? Есть ровно три формата в которых ныне бывают фотографии - JPG/TIFF/RAW (у нормальных камер ~= TIFF). И для первого, причем самого популярного, шифрование младших бит не получится.

Для чего вообще программа-то? Чтоб Вася Пупкин, у которого злой Петя Шишкин похитил фотографию кошкомакрозаката, выкрутил ей в фотошопе кривую и выставил под своим именем на koshkomakro.ru, мог показать третьему лицу что этот бессмертный шедевр JPEG 600х450 пикселов - шедевр порожденный его, Васи Пупкина, гением? Ну так супер-программа по шифрованию младших битов в 24-х битных BMP поможет слабо. Решение задачи в лоб: вставляется watermark (причем с шумом, чтоб елементарно в ФШ не вытравилось), 8x8 пиксельные блоки оригинальной картинки которые ентот watermark изменил пишутся в шифрованном (если с паролем, то см. хотя б PKCS #5) виде как дополнительный tag в JPEG. Размер растет, естессно. Зато Вася Пупкин спит спокойно. Впрочем, если Вася Пупкин снимал в RAW, он и так спокойно спит. Итого: программу забросить за ненадобностью.
Re[Un hombre sincero]:
Цитата:

от:Un hombre sincero
Какие биты?? Какой BMP, афтар? Есть ровно три формата в которых ныне бывают фотографии - JPG/TIFF/RAW (у нормальных камер ~= TIFF). И для первого, причем самого популярного, шифрование младших бит не получится.

Для чего вообще программа-то? Чтоб Вася Пупкин, у которого злой Петя Шишкин похитил фотографию кошкомакрозаката, выкрутил ей в фотошопе кривую и выставил под своим именем на koshkomakro.ru, мог показать третьему лицу что этот бессмертный шедевр JPEG 600х450 пикселов - шедевр порожденный его, Васи Пупкина, гением? Ну так супер-программа по шифрованию младших битов в 24-х битных BMP поможет слабо. Решение задачи в лоб: вставляется watermark (причем с шумом, чтоб елементарно в ФШ не вытравилось), 8x8 пиксельные блоки оригинальной картинки которые ентот watermark изменил пишутся в шифрованном (если с паролем, то см. хотя б PKCS #5) виде как дополнительный tag в JPEG. Размер растет, естессно. Зато Вася Пупкин спит спокойно. Впрочем, если Вася Пупкин снимал в RAW, он и так спокойно спит. Итого: программу забросить за ненадобностью.

Подробнее

Высылаешь заказчику фаил, он смотрит, ему нравицца, но поперёк почемуто написанно VoVan.nax Очень крупными букоффками. Он переводит деньги на web мани а ты ему 6цЫферег и фотка жЫва.
Только проще послать 200*300 фотку... но если хочедзя большой фаил...

Автору - добавил както непонятно(и добавил ли?), всё равно не работает, аткуда качать? :D
Re[vvkot]:
Цитата:

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

Подробнее

Вот это нужная и полезная вещь, если будет реализовано как следует, т.е. с пакетной обработкой файлов и не увеличением шума, а вставкой надписи. "ОБРАЗЕЦ", типа. Может облегчить жизнь, например, в случае дистанции между заказчиком-исполнителем, проще сразу выслать шифранутые оригиналы фоток, чем сначала превью, да и что на превью можно разглядеть? А надпись поперек файла - на качество так сказать не повлияет.
Re[VoVan]:
Цитата:
от: VoVan
Высылаешь заказчику фаил, он смотрит, ему нравицца, но поперёк почемуто написанно VoVan.nax Очень крупными букоффками.

Ага, в формате BMP (с lossy алгоритмами вроде JPEG данный метод не работает принципиально) :)

Уж проще тогда послать ентому заказчику DVD, на котором лежат JPEG-и с поперек написанным VoVan.nax (хотя грамотные люди, у которых действительно есть чего воровать вроде magnumphotos пишут watermark по всей площади картинки), а также заархивированные, скажем, RAR-ом с длинным паролем картинки без оного. И ничего изобретать не придется :)
Re[Un hombre sincero]:
Цитата:

от:Un hombre sincero
Ага, в формате BMP (с lossy алгоритмами вроде JPEG данный метод не работает принципиально) :)

Уж проще тогда послать ентому заказчику DVD, на котором лежат JPEG-и с поперек написанным VoVan.nax (хотя грамотные люди, у которых действительно есть чего воровать вроде magnumphotos пишут watermark по всей площади картинки), а также заархивированные, скажем, RAR-ом с длинным паролем картинки без оного. И ничего изобретать не придется :)

Подробнее

Ну так то моднее 8)

Хотя конечна согласен, но думаю и такой и такой метод работают на равных - тем более что вариант с архивом удваивает объём..=)))
Re[Un hombre sincero]:
Цитата:
от: Un hombre sincero
(с lossy алгоритмами вроде JPEG данный метод не работает принципиально) :)


учи мат часть аффтар! кодировка у которой точность пропорцыональна кол-ву скачанного файла уже довно применяеца в йпег2000. соотв. хвост шыфруеца и фсё.
Re[L4m3r]:
Цитата:
от: L4m3r
учи мат часть аффтар! кодировка у которой точность пропорцыональна кол-ву скачанного файла уже довно применяеца в йпег2000. соотв. хвост шыфруеца и фсё.


Это интересно, надо почитать про спецификации. А пока реализовал простейший вариант: минимум кнопок, максимальная простота. Открываем ыайл выбираем количество бит для шифровки, шифруем. Все. В зависимости от искушенности клиента шифровать можно от 1 до 8 бит. Реально менее 3 бит падение качества не заметно, на 4 - 5 уже появляется градиент, на 8 соответсвенно остается только шум.

(Смотрю ссылки на народе, опять только после нажатия кнопки обновить окрываются)

См. прогу: http://vvkot2006.narod.ru/cryptedpicture.rar

Cкриншот:


Cкриншоты для разных вариантов качества:
http://vvkot2006.narod.ru/CryptPictureExample.doc

То, что BMP, не применяющийся формат с этим согласен, но сделать импорт/экспорт в тиф и рав не проблема, единственное с жипегом слета не получится, главное идею сформировать и движок отладить.

А то что пишете, что rar лучше шифрует не согласен, в инете полно прог, которые подбирают пароль за считанные минуты. rar хранит сигнатуру, CRC и т.д. поэтому факт правильного подбора программно отсекается мгновенно. На современном компе перебираются сотни тысяч комбинаций в секунду. В предлагаемом мной варианте нет никакой сигнатуры, никакого СRC. Как программа подбора при переборе отсечет правильный вариает??? Разве, что анализируя получаемую после дешифровки картинку. Но это уже будут совсем другие времена. А проанализировать нужно немало вариантов. Можно заложить возможность подключения любого алгоритма. Прописать вызов dll-ки, которой на вход массив байт исходный, массив байт результирующий, длинна, и пароль. Шифруйте сами. Правда сомневаюсь, что самому можно лучше придумать, чем уже изобретено.

В прогу добавил еще библиотек, неужели и сейчас не будет работать?






Re[vvkot]:
[quot]В прогу добавил еще библиотек, неужели и сейчас не будет работать? [/quot] :D ДА. (всмысле не будет=(( )
Re[Visualynx]:
Цитата:

от:Visualynx
Вот это нужная и полезная вещь, если будет реализовано как следует, т.е. с пакетной обработкой файлов и не увеличением шума, а вставкой надписи. "ОБРАЗЕЦ", типа. Может облегчить жизнь, например, в случае дистанции между заказчиком-исполнителем, проще сразу выслать шифранутые оригиналы фоток, чем сначала превью, да и что на превью можно разглядеть? А надпись поперек файла - на качество так сказать не повлияет.

Подробнее


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

Re[vvkot]:
Цитата:
от: vvkot
главное идею сформировать и движок отладить.

Ну так проблемы с идеей, пока непонятно для чего такая программа :)
Цитата:

А то что пишете, что rar лучше шифрует не согласен, в инете полно прог, которые подбирают пароль за считанные минуты. rar хранит сигнатуру, CRC и т.д. поэтому факт правильного подбора программно отсекается мгновенно. На современном компе перебираются сотни тысяч комбинаций в секунду. В предлагаемом мной варианте нет никакой сигнатуры, никакого СRC. Как программа подбора при переборе отсечет правильный вариает???

Подробнее

Т.е. ни CBC, ни паддинга там нету, PKCS #5 пустой звук (который именно что позволяет довольно успешно бороться с сотнями тысяч комбинаций в секунду)? Тупо поблочно шифруете DES-ом с ключом как максимум MD5(пароль)?

Бросайте эту затею тогда. Во всем что касается шифрования самому не нужно ничего придумывать, потому как чревато боком и дырами. Ну или можете "шифрование" XOR-ом сделать, эффект где-то тот же будет :)
Re[vvkot]:
немоожет быть штоп в пакете вместе со средой программирования не прилагался какойнить встроенный инсталлер - кооторые собирает все дллки и прочие ресурсы в кучки и делает самораспаковывающицся архив

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

народ - ацтой -- не проже лы выкладивать прогу на какиенить ы-фолдерв или слилру?
Re[vvkot]:
Народ, не работающий под заказ, считает эту программу бесполезной.
Для тех же фотографов, которые работают за деньги, это весьма полезная и нужная вещь.
К примеру. Заказали меня снимать корпоративку, а потом говорят, сначала покажи картинки, потом денек дадим. Вдрук нам нипанравица. А живут эти клиенты в тридесятом царстве. Даёшь им такой диск. Они радуются фоткам, но им не нравится надпись через всё пузо: "Демонстрационные бесплатные фотографии". Переводят тебе денюшки, а ты им па тилифону - парольчик.
Фсе щастливы!!!
Автору респект! И огромная уважуха.

p.s. - А идея RAR-ить фулсайз рядом с превьюшками, действительно сильно пожирает дискспэйс.

p.p.s. - Кто там вякал, что BMP хуже TIFF'а? Докажи что в минилабе будет разница.
Вы не авторизованы

Пожалуйста, авторизуйтесь, чтоб иметь доступ к полному функционалу сайта

Обратная связь

Здесь вы можете оставить свои контактные данные, чтобы мы могли связаться с вами.