|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
|||
| 11.05.2011, 07:07 | |||
|
Добавлено через 4 минуты
0
|
|||
| 11.05.2011, 07:07 | |
|
Ответы с готовыми решениями:
64
Стеганография в BMP Стеганография LSB BMP |
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||
| 11.05.2011, 07:11 | |||
|
0
|
|||
|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
|||
| 11.05.2011, 07:15 | |||
|
Добавлено через 1 минуту
0
|
|||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||
| 11.05.2011, 08:22 | |||||
|
Добавлено через 4 минуты Добавлено через 6 минут Добавлено через 6 минут Добавлено через 16 минут Ещё вариант: можно слепить свой формат и выдать за цель его создания новый способ сжатия (если сможете сделать хороший алгоритм сжатия, превосходящий хотябы в одном классе изображений существующие алгоримы по скорости при равном коэффциенте, или по коэффициенту при равном качестве), повышенную разрядность цвета (например, для карт высот с повышенным разрешением по высоте), гиганските максимальные размеры изображения (типа 2^64x2^64), большое число изображений в одном файле, цветовую модель нового типа (например, с подробным и явным описанием спектра всех пикселей), или с девятью цветовыми плоскостями (RGB, дополненая своими аналогами для ИК и УФ), или даже предусмотреть хранение информации о поляризации, в этом формате предусмотреть смещение любого максимального размера, а в спецификации заявить, что оно предназначено для дальнейшего расширения заголовка и размеров палитр (если таковые вообще будут в этом формате), произольной перестановки пикселей с палитрами (если патира весит пару мегабайт, а само изображение ещё двести и разрешено менять их местами, то имеем два смещения, одно более двух, а второе даже двухсот миллионов), но ничего не писать о заполнителе. И юзьте потом на здороьве из трёх байт каждой плоскости один младший, поляризацию, одну спектральную линию из тысячи, на которые поделён видимый диапазон. Добавлено через 10 минут Можно и разделить изображение на несколько фрагментов (полос, клекток...) и для каждого записать отдельное смещение, объяснив его наличие переменным размером фрагментов в сочетаним с тербованием быстрого доступа к каждому. А между фрагментами можно и спрятать и инфу иного типа, и разместить палитры, или куски заголовка. Ещё вариант: палитра на 256 цветов, из которых используется 128. 768 байт (в RGB) - довольно приличный контейнер. Или из 65 536-ти цветов палитры использовать ровно 64 000. Получаем 16 608 байт. Или файл трёхбайтный, но с палитрой, в ней все 16 777 216 цветов, а реально используются ровно 16 000 000. Получаем 2 331 648 байт. Добавлено через 4 минуты Идея и ксорки, и своего формата для стеганы: пусть подозревают в чём угодно, только не в том, что есть на самом деле.
0
|
|||||
|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
||||
| 11.05.2011, 08:26 | ||||
|
Я выкладываю каждый день несколько фотографий на фотохостинг. Цветочки, котята. Любой может их просмотреть и порадоваться. А дядя Вася, у которого есть ключ, извлекает из этих картинок секретное сообщение для себя. Но, самое главное - никто, кроме дяди Васи не знает и не может ДОКАЗАТЬ, что осуществился процесс передачи информации. А в вашем случае: И еще - вы абсолютно не учитываете способы распространения и активации программы, а рассматриваете только ситуацию, когда у пользователя уже стоит зарегистрированная программа и её надо перенести. Но ведь как-то стегоконтейнер у пользователя был изначально создан при регистрации? Что мешает у другого пользователя воспользоваться анналогичным способом регистрации и получить активированную программу?
1
|
||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 11.05.2011, 08:38 | ||
|
Причём, весей всего будет объявить только возможности формата, а спецификацию опять спрятать.
Добавлено через 7 минут
0
|
||
|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
|||
| 11.05.2011, 08:45 | |||
|
На существующих вычислительных мощностях и текущих алгоритмах криптоанализа лет 5. И не надо говорить, что кто-то не будет пользоваться дизассемблером, потому что это сложно, зато ломает крипту как семечки ![]() Итого: 5 лет против 10 минут. А вы продолжайте забивать гвозди микроскопом.
0
|
|||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||
| 11.05.2011, 08:53 | |||||
|
Добавлено через 1 минуту Добавлено через 1 минуту Добавлено через 3 минуты
0
|
|||||
|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
||
| 11.05.2011, 08:56 | ||
|
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||
| 12.05.2011, 07:25 | ||||||
|
Добавлено через 3 минуты Добавлено через 2 минуты Добавлено через 4 минуты Добавлено через 9 минут Добавлено через 28 минут Вам же я хочу предложить такой код. Сначала скрываемый контент шифровать одиннадцатью ключами в порядке увеличения длины от 2-х до 31-го байта (2, 3, 5, 7, 11, 13, 17, 19, 23, 27, 29, и 31, суммарно 187 байт=1496 бит, а при попытке подобрать их "в лоб" как один ключ - 5 415 133 233 510 байт=43 321 065 868 080 бит, но врядли какой то уникум допустит такую глупость), а потом уже пишется в младшие биты всех плоскостей. При расшифровке - наоборт. Сначала собираем все младшие биты, а потом ксорим с теми же ключами в обратном порядке. Это будет комбинация крипты со стеганой, обнаружение конкертного файла со скрытым контентом станет ещё проблематичнее, чем если только прятать, но не шифровать. Добавлено через 4 минуты Если такой суммарной разрядности ключей мало, тогда 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 и 101, суммарно 1 161 байт=9 288 бит. Добавлено через 20 часов 53 минуты При хранении с точки зрения защиты от дизасемблера вообще не имеет значения, что вы сделаете, так как в этом случае секрет и декодер всегда валяются рядом и тот, кто умеет дизасемблировать в любом случае всё прочитает. Единственная надежда, да и то призрачная - спрятать декодер среди миллиардов операций, не имеющих к нему ни какого отношения. Но при передаче и этого фактора нет, так как секрет и декодер могут быть в разных передачах, можно даже декодер передать на диске при личной тайной встрече, а секрет выложить на общедоступном сайте. И крипта ломается на разных машинах параллельно из-за использования единого кода для защиты каждого конкретного секрета, плюс тупо быстродействие машин, а стегану надо искать вручную, последовательно и из-за различий в файловом окружении на каждой машине независимо от самого факта существования остальных. Добавлено через 8 минут И при хранении актуальность заведомо постоянна, а при передаче время актуальности в общем случае может меняться от долей секунды до времени существования государств и даже цивилизаций. Задачи одного класса бывают разные, а если данная конкретная информация имеет достаточно краткую актуальность, то и хакер имеет соответственно краткое время для взлома.
0
|
||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 12.05.2011, 08:06 | |
|
Говорить о способах реализации и необходимости не хочу сейчас. Лучше расскажу сказку:
Жил был дедушка Ленин. И вот "сидел" он за политические преступления и писал молоком на краях страницы свои писания. И никто "не знал" об этом, кроме тех, кто умел держать страницы над свечкой, чтобы текст проявился. А потом царя убили... Воть. Если бы он свои планы и агитации и т.п. шифровал в виде абра-кадабры, у него и могло бы ничего не выйти, охранники бы его шифровки могли и не передавать. А так они даже и не знали о передачи информации. Со стеганографией то же самое, делаешь невинные глаза и всё. Йа картинко!
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||
| 12.05.2011, 08:56 | |||
|
Добавлено через 16 минут Герберт Шилдт:
0
|
|||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 12.05.2011, 09:17 | |
|
Опять двадцать-пять. Уже же сказали, смысл этого действа, чтобы никто и НЕ ДОГАДЫВАЛСЯ о передаче некой информации.
Зачем ты так про Медведева, тебя же по IP вычислят... Пичалька будет. Коммерческие тайны никто не отменял, всем хочется знать секреты переговоров, даты встречи и т.п. Разумеется, для этого другие средства используются, но почему бы и нет. Порой, даже сам факт встречи может быть крайне секретен. Ладно, надоело уже. Я тему апнул только из-за ошибки в нумерации бит, а тут такое...
0
|
|
|
3 / 3 / 1
Регистрация: 14.02.2012
Сообщений: 82
|
|||||||||||||
| 12.04.2012, 13:34 | |||||||||||||
|
Добавлено через 34 минуты А, да, уже прочитал пост выше...
Тем более, что при открытии файла BMP ставятся настройки - 24 бита на пиксель. Судя по коду в шапке темы, информация вносится только в канал красного цвета. А если со все каналы по одному биту вносить??? ![]() Могу предложить функцию для замены первых двух бит в сэмпле пиксела:
0
|
|||||||||||||
|
|
|
| 15.05.2012, 15:47 | |
|
1
|
|
|
12 / 11 / 7
Регистрация: 28.05.2009
Сообщений: 56
|
|
| 01.06.2012, 18:43 | |
|
Если кому интересно выкладываю свой курсач. Используется алгоритм Куттера-Джордана-Боссена, сообщение кодируется по Хеммингу, чтобы избежать ошибок при извлечении сообщения. Потученный массив побитно встраивается в синий канал псевдослучайного пикселя. В качестве генератора псевдослучайной последовательности использовал алгоритм ГОСТ 28147-89 в режиме гаммирования. При более-менее высоких значениях коэфициента встраиваемого сигнала, сообщение можно извлеч даже после 75% сжатия JPEG.
2
|
|
|
0 / 0 / 0
Регистрация: 08.05.2015
Сообщений: 4
|
|
| 26.03.2016, 17:10 | |
|
virtuhay266, привет , пишу на счет твоей программы с использованием алгоритма Куттера - Джордана - Боссена . Скинь пожалуйста полный код программы , если не трудно
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2017
Сообщений: 25
|
|
| 22.11.2017, 23:05 | |
|
Erravielle, Прошу прощения, делаю все, согласно вашему коду. работает все до:
int Shag = MAX_TEXT_SIZE/TEXT_SIZE; char *String = new char[RichEdit1->Text.Length()+1];// создаем переменную для хранения кодируемого текста strcpy(String,RichEdit1->Text.c_str()); // копируем в нее кодируемый текст Изменил на свое: int Shag = MAX_TEXT_SIZE/TEXT_SIZE; AnsiString String = RichEdit1->Text.Length()+1;// создаем переменную для хранения кодируемого текста RichEdit1->Text=String; Далее код комплириуется, вставляю изображение, ввожу текст, кликаю "Зашифровать", но возникает ошибка выхода за границы массива. Дешифрование еще не делал, использую среду С++ Builder 10. Не могли бы вы помочь, пожалуйста?
0
|
|
|
0 / 0 / 0
Регистрация: 06.01.2017
Сообщений: 1
|
|
| 17.10.2018, 20:56 | |
|
Привет,а у тебя не осталось исходников от этой проги?
0
|
|
| 17.10.2018, 20:56 | |
|
Полное руководство (книги, видео и т.д.) Методы GetPixel\SetPixel BMP и стеганография Отличия между книгами Г.Шилдт - C# 3.0 Полное руководство и C# 4.0 PHP 5. Наиболее полное руководство в подлиннике (2-е издание) Г.Шилдт C# 4.0. Полное руководство. Разбор примера работы с массивом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|