Как установить флажок в битах изображения, чтобы отметить конец аудиофайла

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

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

Примечания для рассмотрения
1: изображение 24 бит.

2: аудиоданные PCM 16 бит.

3: я использую LSB, поэтому для каждого 16-битного аудио требуется как минимум 5 пикселей и элемент шестого пикселя (5 * 3 = 15 + 1 = 16).

0

Решение

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

Если ваше сообщение может быть длиннее 65536 бит, то для размера вашего сообщения, очевидно, потребуется более 16 бит, например, 32 бита. Теперь вы можете утверждать, что если вы встраиваете очень маленькое сообщение, заголовок 32-битного размера сообщения будет иметь слишком много нулей в начале, и это будет излишним. Однако, даже если вы планируете встраивать данные размером 1 КБ, дополнительные 32 бита едва ли добавят дополнительный шум.

От Принцип Керкгофа, вы действительно должны предполагать, что злоумышленник полностью знаком с вашей схемой, и если вы встраиваете ваше сообщение статическим способом, им будет просто извлечь его. Вместо этого вы можете использовать пароль или ключ в качестве начального числа для PRNG, а затем использовать его для изменения порядка пикселей. Например, давайте назовем компоненты RGB первого пикселя числами 1-3 соответственно, а компоненты второго пикселя — 4-6. Создавая массив [1, 2, 3, 4, 5, 6] и перетасовывая его, вы можете получить заказ [4, 3, 2, 6, 5, 1], Таким образом, когда вы встраиваете свой секрет (включая размер сообщения), первый бит скрывается в красном компоненте второго пикселя, второй бит скрывается в синем компоненте первого пикселя и т. Д. Никто не может сказать, что это так » visible «, потому что без правильного порядка пикселей они не смогут извлечь сообщение.

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]