I formati supportati sono jpeg, bmp, wav ed au. Tutti questi tipi di file possono essere utilizzati come contenitori. Non ci sono restrizioni sul formato del file da nascondere.
Il testo verra' cifrato prima di essere inserito nel contenitore. L'algoritmo di cifratura e' il blowfish utilizzato insieme all'algoritmo di hash MD5 ( per creare una chiave a partire dalla password per inizializzare il blowfish).
Insieme al file anche il nome originale e checksum cr32 vengono inseriti nel contenitore.
Nel secondo caso invece, un file con il nome passato a questa opzione viene creato e i dati in chiaro nascosti nel file contenitore vengono scritti su di esso.
Si noti che steghide insirisce il nome originale del file in chiaro all' interno del contenitore, dunque in caso si ometta l'opzione -pf quando si estragga un messaggio, quest'ultimo verra' salvato nella directory attuale con il suo nome originale.
Se si utilizza l'opzione -pf - lo standard input e lo standard output saranno utilizzati al posto di un file. La medesima notazione puo' essere utilizzata con -cf e -sf.
Questa opzione puo' essere utilizzata solo con il comando embed.
Il formato del file contenitore (e dello stego file) viene rilevato automaticamente in base all'header del file, l'esetnsione non e' importante.
Se la passwordnon viene specificata dopo -p, viene richiesta a video.
Questa opzione puo' essere utilizzata solo con il comando embeed.
Per utilizzare il metodo cnsti e' necessario invocare steghide con la seguente opzione: -d cnsti <n> dove <n> e' l'intervallo che si intende usare, ovvero il numero di bytes tra un bit nascosto ed il successivo.
Non specificare questa opzione significa fare in modo che steghide utilizzi il metodo prndi: -d prndi <n> dove <n> significa massimo intervallo. L'intervallo medio sara' circa la meta' del massimo specificato.
Di solito non ce' bisogno di utilizzare l'opzione -d poiche' di default verra' indicato il metodo prndi con il massimo intervallo possibile per un ceto tipo file in chiaro e contenitore.
Se viene indicata l'opzione -d cnsti Esi omette <n>, viene utilizzato il massimo intervallo possibile. -d prndi e' il default.
Si noti che cnsti e' il metodo meno sicuro e non andrebbe utilizzato.
-k e -K Possono essere utilizzate solo con il comando embed.
-n e -N Possono essere utilizzate solo con il comando embed.
Use this switch if you have a libmcrypt version >= 2.4.9 and want to send an embedded message to a person that has a libmcrypt version < 2.4.9. Also use this switch if you have a libmcrypt version >= 2.4.9 and want to read a message that has been embedded by a person with a libmcrypt version < 2.4.9.
-n e -N Possono essere utilizzate solo con il comando embed.
E' il default.
Nota importante: se il mittente di un file steganografato non ha cifrato l'header (utilizzando l'opzione -H) allora chi riceve il messaggio deve anche usare l'opzione -H per estrarre il messaggio.
$ steghide embed -pf secret.txt -cf cvr.jpg -sf stg.jpg
Enter passhrase:
Re-Enter passphrase:
Per estrarre i dati:
$ steghide extract -sf stg.jpg
Enter passphrase:
writing plain file to "secret.txt".
Quando inserisci i dati, il nome del file originale viene salvato anch'esso: il comando extract crea il file secret.txt nella directory corrente ed estra in esso i dati contenuti nel file steganografato.
con l'opzione -pf e' possibile forzare il nome del file risultante.
$ steghide extract -sf stg.jpg -pf plain.txt
Enter passphrase:
writing plain file to "plain.txt".
Puoi utilizzare una pipe per passare i dati a steghide dallo standard input.
$ gzip -c pln.txt | steghide embed -cf cvr.bmp -sf stg.bmp -pf - -p "This is a passphrase."
Per estrarre e visualizzare al volo il risultato puoi provare
$ steghide extract -sf stg.bmp -pf - -p "This is a passphrase." | gunzip | less
Quando si utilizza lo standard input o lo standard output e' sempre necessario specificare una password sulla riga di comando con l'opzione -p.