Программное обеспечение для стеганографии позволяет пользователю встраивать скрытые данные в файл-носитель, например изображение или видео, а затем извлекать эти данные.
Нет необходимости скрывать сообщение в исходном файле вообще. Таким образом, нет необходимости изменять исходный файл, и, таким образом, трудно что-либо обнаружить. Если заданный раздел подвергается последовательной побитовой манипуляции для генерации шифротекста, то в исходном файле нет никаких доказательств того, что он используется для шифрования файла.
Носитель — это сигнал, поток или файл данных, в который скрытые данные скрыты путем внесения тонких изменений. Примерами служат аудиофайлы, файлы изображений, документы и исполняемые файлы. На практике носитель должен выглядеть и работать так же, как и исходный неизмененный носитель, и должен казаться безопасным для любого, кто его проверяет.
Определенные свойства могут вызвать подозрение, что файл содержит скрытые данные:
Криптографическое требование заключается в том, чтобы носитель (например, фотография) был оригинальным, а не копией чего-то общедоступного (например, загруженного). Это связано с тем, что общедоступные исходные данные можно сравнить с версией со скрытым встроенным сообщением.
Существует более слабое требование, чтобы встроенное сообщение не изменяло статистику носителя (или другие метрики), так что наличие сообщения можно было бы обнаружить. Например, если наименее значимые биты канала красного пикселя камеры изображения имеют гауссовское распределение при заданном постоянном цветном поле, простая стеганография изображения, которая создает случайное распределение этих битов, может позволить отличить стегоизображения от неизмененных.
Огромный объем современных (примерно 2014 г.) и бессмысленных широкополосных медиа (например, youtube.com, источники BitTorrent, eBay, Facebook, спам и т. д.) предоставляет широкие возможности для скрытой информации.
Скрытые данные могут быть разделены между набором файлов, создавая цепочку носителей , которая имеет свойство, что все носители должны быть доступны, неизменены и обработаны в правильном порядке для извлечения скрытых данных. Эта дополнительная функция безопасности обычно достигается за счет:
Инструменты стеганографии направлены на обеспечение устойчивости к современным методам судебной экспертизы , таким как статистический стегоанализ . Такая устойчивость может быть достигнута за счет сбалансированного сочетания:
Если данные обнаружены, криптография также помогает минимизировать полученный ущерб, поскольку данные не раскрываются, а раскрывается только факт передачи секрета. Отправитель может быть вынужден расшифровать данные после их обнаружения, но отрицаемое шифрование может быть использовано, чтобы расшифрованные данные выглядели безвредными.
Мощное программное обеспечение для стеганографии основано на многоуровневой архитектуре с глубоким, документированным процессом обфускации .
Несущий механизм является ядром любого инструмента стеганографии. Различные форматы файлов модифицируются разными способами, чтобы скрытно вставлять в них скрытые данные. Алгоритмы обработки включают: