Pull to refresh

Comments 18

Тема интересная. Попробуйте доразвить её и сделать дополнительное шифрование сообщения и извлечение зашифрованного сообщения из изображения.
да, не спорю, тема интересная.
но для меня она была интересна (и даже очень), только в процессе написания курсовой :) сейчас же, это просто осталось как опыт работы с gif-изображениями и стеганографией
Нечто подобное делали на курсовой на C++ на втором курсе. Препод говорила, что довольно перспективное направление. Суть у нас была в шифровании пароля в картинке, если очень грубо выразиться.
UFO just landed and posted this here
Для инвайтов на хабр можно использовать, как дополнительный элемент защиты.
Предлагаю моднуть драйвер TrueCrypt для прозрачной работы со стеганографическим контейнером, распиленным на части и засунутым в коллекцию разнородных медиафайлов. Вот це будет курсовая. :)
Делал подобную работу на 3-м курсе в качестве курсового. Можно было как шифровать так и извлекать текст. Насколько помню — писал на Delphi =)
В этой записи есть только одна GIF-картинка (первая), и то без скрытого текста внутри.
А где же секретный паззл для любопытных?!
осталось текст сжать и положить в конец файла и заново изобрести Rarjpeg, или Rargif, как в данном случае
Вообще, можно добавить в палитру несколько одинаковых цветов. Например, ее можно просто продублировать. При расшифровке смотреть — если для пикселя используется первый цвет, значит закодирована 1, иначе 0. Правда, много данных туда не засунешь, за то незаметно.
Да нет, вот туда-то как раз и засунешь МНОГО. Изображение может быть большого размера в пикселах, может быть анимированным, может не вызывая подозрений весить хоть несколько мегабайт — и каждый байт оттуда будет доступен для сокрытия данных. А мучить палитру, как в статье — практического смысла не имеет.
Вы серьёзно считаете, что весь этот UML сделал программу понятнее?
int bOrigColorCount = (int)Math.pow(2, bsize+1);

Да уж… Вот так можно?
int bOrigColorCount = 1 << (bsize + 1);
Можно. Только, возможно, автор не посчитал нужным оптимизировать эту строку кода. Честно, ну выполнится сдвиг быстро, ну и что с того? :) Он же не в цикле.
я не очень-то заботился об оптимизации, главное — воссоздать алгоритм
тем более, я как-то не очень люблю придумывать сверхбыстрые и оптимизированные алгоритмы… меня больше занимает придумывание структуры, взаимодействия между классами/объектами/интерфейсами и т.д.
а почему бы не использовать анимашки? Каждый кадр может иметь свою палитру, дальше всё понятно
ну да, можно было развивать и развивать, но тогда и этого было достаточно для максимальной оценки.
Sign up to leave a comment.

Articles