~Rami ₪ MANUALS
רמי
SUBJECT: Steghide: Хранение данных в мультимедийных контейнерах
AUTHOR: Rami Rosenfeld
DATE: 08/10/22
TIME: 02.00
LANG: en, ru
LICENSE: GNU FDL 1.3
TAGS: gnu, software, opensource, linux, system, man, manual, bash, privacy, terminal, console, security, steghide, stego, crypto
STEGHIDE: ХРАНЕНИЕ ДАННЫХ В МУЛЬТИМЕДИЙНЫХ КОНТЕЙНЕРАХ
INTRO
Steghide поддерживает следующие форматы контейнеров: JPEG, BMP, WAV, AU. Файл, встраиваемый в контейнер, может иметь любой формат. Сохраняемые данные компрессируются и шифруются симметричным алгоритмом.
По умолчанию при встраивании файла в контейнер используется алгоритм симметричного шифрования Rijndael с размером ключа в 128 bits (т.е. AES - "The advanced encryption standard"). При желании его можно заменить на любой другой, выбрав из списка имеющихся. Я рекомендую конечно же AES-256 (rijndael-256).
Примечание: Правильно соотносите размеры контейнера и встраиваемого файла.
Важно: Внимательно ознакомьтесь с разделом Description в руководстве!
NOTE
- Информация о поддерживаемых алгоритмах
$ steghide encinfo
encryption algorithms:
<algorithm>: <supported modes>
cast-128: cbc cfb ctr ecb ncfb nofb ofb
gost: cbc cfb ctr ecb ncfb nofb ofb
rijndael-128: cbc cfb ctr ecb ncfb nofb ofb
twofish: cbc cfb ctr ecb ncfb nofb ofb
arcfour: stream
cast-256: cbc cfb ctr ecb ncfb nofb ofb
loki97: cbc cfb ctr ecb ncfb nofb ofb
rijndael-192: cbc cfb ctr ecb ncfb nofb ofb
saferplus: cbc cfb ctr ecb ncfb nofb ofb
wake: stream
des: cbc cfb ctr ecb ncfb nofb ofb
rijndael-256: cbc cfb ctr ecb ncfb nofb ofb
serpent: cbc cfb ctr ecb ncfb nofb ofb
xtea: cbc cfb ctr ecb ncfb nofb ofb
blowfish: cbc cfb ctr ecb ncfb nofb ofb
enigma: stream
rc2: cbc cfb ctr ecb ncfb nofb ofb
tripledes: cbc cfb ctr ecb ncfb nofb ofb
- Встраивание файла в контейнер
Пусть имеются: picture.jpg (будущий контейнер) и secret.txt (встраиваемый файл).
Основные команды:
embed - встроить файл в контейнер;
info - получить информацию о содержимом контейнера;
extract - извлечь файл из контейнера;
encinfo - получить информацию об используемых алгоритмах шифрования (используется без аргументов).
Опции:
-ef, --embedfile filename - определяет имя встраиваемого файла;
-cf, --coverfile filename - определяет имя контейнера, куда встраивается файл;
-sf, --stegofile filename - указывает имя контейнера (с файлом внутри) при распаковке;
-xf, --extractfile filename - имя результирующего файла, извлекаемого при распаковке;
-v, --verbose - более подробное описание операций;
-z, --compress - уровень сжатия (9 - максимальный).
Выполнение команды:
$ steghide embed --coverfile picture.jpg --embedfile secret.txt --encryption cbc rijndael-256 --compress 9 --verbose
Enter passphrase:
Re-Enter passphrase:
reading secret file "secret.txt"... done
reading cover file "picture.jpg"... done
creating the graph... 309 sample values, 12480 vertices, 56101901 edges
executing Static Minimum Degree Construction Heuristic... 87,4% (1,0) done
- Получение информации о контейнере и его содержимом
$ steghide info picture.jpg
"picture.jpg":
format: jpeg
capacity: 66,5 KB
Try to get information about embedded data ? (y/n) y
Enter passphrase:
embedded file "secret.txt":
size: 6,6 KB
encrypted: rijndael-256, cbc
compressed: yes
- Извлечение сохраненных данных из контейнера
$ steghide extract --stegofile picture.jpg --extractfile original.txt --verbose
Enter passphrase:
reading stego file "picture.jpg"... done
extracting data... done
checking crc32 checksum... ok
writing extracted data to "original.txt"... done
где original.txt - новое имя для извлекаемых данных.
Подробнее см.: man steghide
🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.