Software steganografici
Come già detto nella pagina dedicata, la steganografia si pone l'obiettivo di nascondere i dati a chi non conosce la chiave, mentre la crittografia si pone quello di renderli inaccessibili a chi non conosce la chiave[1].
Indice |
Steghide
Steghide è un software steganografico, rilasciato sotto licenza GPL ed è disponibile nei repository di molte distribuzioni GNU/Linux, come Ubuntu.
Installazione
Per installarlo sotto Ubuntu è sufficiente dare il seguente comando nel terminale:
sudo apt-get install steghide
Esiste anche la versione per Windows scaricabile dalla pagina del sito originale.
Sintassi
La sintassi per l'uso di steghide da riga di comando è la seguente:
1. Per nascondere il file emb.txt nel file cvr.jpg:
steghide embed -ef emb.txt -cf cvr.jpg
2. Per estrarre il file nascosto dentro cvr.jpg:
steghide extract -sf cvr.jpg
Nascondere un file
Ad esempio, per nascondere il file testo-privato.txt all'interno del file contenitore.jpg è sufficiente dare:
steghide embed -ef testo-privato.txt -cf contenitore.jpg
Steghide ci chiederà la passphrase[2]:
Enter passphrase: [digitazione all'oscuro] Re-Enter passphrase: [digitazione all'oscuro]
e alla fine risponderà:
embedding "testo-privato.txt" in "contenitore.jpg"... done
Estrarre un file
Per estrarre il file nascosto dall'immagine dare:
steghide extract -sf contenitore.jpg
Steghide ci chiederà la passphrase:
Enter passphrase: [digitazione all'oscuro]
e quindi dirà:
wrote extracted data to "testo-privato.txt".
estraendo il file testo-privato.txt nella stessa posizione in cui si trova il file contenitore.
Verificare la capacità di un file contenitore
Per nascondere un file dentro un file contenitore, quest'ultimo deve essere capace di poterlo accogliere. Per sapere la dimensione massima del file che il contenitore può accogliere è sufficiente dare:
steghide info contenitore.jpg
dove contenitore.jpg è il nome del file contenitore. Steghide può dare una risposta del tipo:
"contenitore.jpg": format: jpeg capacity: 16,1 KB Try to get information about embedded data ? (y/n)
La dimensione del file da nascondere non può superare, dunque, i 16,1 kilobyte.
L'ultima riga significa che Steghide può controllare se ci sono dati nascosti nel file. Se si vuole procedere con la verifica, immettere y e inserire la passphrase se si conosce: Steghide decomprimerà il file nascosto (se c'è) e darà altre informazioni:
Enter passphrase:
embedded file "testo-privato.txt":
size: 15,0 Byte
encrypted: rijndael-128, cbc
compressed: yes
Cambiare l'algoritmo di cifratura
Prima di nascondere un file dentro un contenitore, Steghide cifra il file con un algoritmo di cifratura. Steghide ne supporta molteplici e al momento dell'inclusione di un file dentro un contenitore si può scegliere quale algoritmo usare.
Questo l'elenco degli algoritmi supportati:
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
Per cui se vogliamo usare il TripleDES, la riga per nascondere un file diventa:
steghide embed -ef testo-privato.txt -cf contenitore.jpg -e tripledes
Per averne conferma è sufficiente digitare:
steghide info contenitore.jpg
e ci verrà detto, dopo aver immesso la passphrase, che algoritmo è stato usato.
Note
- ^ Per un approfondimento, si veda anche la voce apposita di Wikipedia.
- ^ Una passphrase è una password più lunga del solito, che può anche contenere spazi.