titolo

mercoledì, 19 dicembre 2018

Un mio programma per la steganografia

di mariano tomatis
pubblicato il 16 ottobre 2007

I tragici eventi dell'11 settembre hanno riportato alla ribalta una tecnica informatica che potrebbe esser stata utilizzata dai terroristi per scambiarsi messaggi in codice: la steganografia. Rispetto alla crittografia, la steganografia è un'arte più subdola e geniale, perché consente non solo di nascondere un messaggio ma addirittura il fatto che tale messaggio esista. Intercettato un messaggio crittografato del tipo

Syysvl pm Mre Uptl Voyu

non sarebbe difficile sospettare che nasconda qualcosa (in questo caso ad ogni lettera è stata sostituita quella immediatamente alla sua destra sulla tastiera. Il testo decodificato è "Attack on New York City"): tale sequenza di lettere indica che "qualcosa c'è". Se, però, si intercettasse un'immagine come questa:


sarebbe molto meno ovvio pensare che vi si celi un messaggio. Eppure in questa immagine si cela la stessa frase di prima ("Attack on New York City"). Impossibile vederla, però. Confrontate l'immagine steganografata con una (quasi) identica priva di messaggi:


Indistinguibili. La tecnica è geniale e il messaggio nascosto in modo impercettibile. Ecco come funziona. Per convertire la frase "Attack on New York City" è necessario dapprima tradurla in codice ASCII. Viene fuori qualcosa del tipo: 01000001 01110100 01110100 01100001 01100011 01101011 00100000 01101111 01101110 00100000 01001110 01100101 01110111 00100000 01011001 01101111 01110010 01101011 00100000 01000011 01101001 01110100 01111001. A questo punto tali numeri devono essere inseriti nell'immagine senza modificarla radicalmente. Per fare questo, si esegue una scansione dell'immagine prescelta pixel per pixel. Prendiamo i primi tre, nei quali verrà memorizzata la A (rappresentata da 01000001). Tali pixel hanno i seguenti colori RGB: 78.7D.75, 77.77.6B e 77.77.6B. A questo punto si sostituisce ai bit meno significativi delle tonalità Red, Green e Blue i vari bit della lettera A:


I tre colori diventano dunque 78.7D.74, 76.76.6A e 76.77.6A (l'ultimo bit, colorato in rosso, appartiene già alla codifica della lettera t). La differenza tra questi colori e quelli originali non è percepibile dall'occhio umano, ma sono riconoscibili con un software in grado di decodificare il messaggio. E' sufficiente, per un decodificatore, leggere uno dopo l'altro i bit meno significativi delle tre tonalità di ogni pixel dell'immagine steganografata e tradurli attraverso la tabella dei codici ASCII.

Ho impiegato qualche ora a sviluppare uno "steganografatore", ma la mia meraviglia di fronte ai risultati che si possono ottenere con questa tecnica ha ripagato del tutto la fatica. Chi potrebbe immaginare che nell'immagine qui sotto è condensato tutto il mio libro "Il Santo Graal a Torre Canavese" (di più di 70 mila battute)?


Davvero incredibile. Un intero libro, celato così bene che potrebbero passarci davanti milioni di persone e nessuna accorgersene. Se volete steganografare la foto della vostra fidanzata o della vostra macchina e nascondervi una lettera d'amore o l'ultimo estratto conto potete scaricare da qui il mio steganografatore: stg.zip (544 Kb).

Il suo uso è molto semplice. Copiatelo in una cartella del vostro hard disk (poniamo C:\stegan) e nella stessa cartella preparate il testo che volete nascondere e l'immagine che farà da supporto (il testo dovrà essere in formato TXT e l'immagine BMP; ad esempio divinacommedia.txt e dante.bmp). A questo punto, dal menù "START" eseguite il comando

C:\stegan\stg -e divinacommedia.txt dante.bmp steganograf.bmp

Il programma creerà il file steganograf.bmp che contiene l'intero testo del file divinacommedia.txt ma in forma nascosta. Se poi in seguito volete estrarre il testo, sarà sufficiente eseguire il comando

C:\stegan\stg -d steganograf.bmp file.txt

e il programma creerà il file file.txt nel quale è contenuto il messaggio nascosto in steganograf.bmp. Per provare ad utilizzare il file scaricato, nell'archivio Zip è stato aggiunta l'immagine venere.bmp. Eseguendo il comando stg -d venere.bmp graal.txt si estrarrà dal file tutto il mio libro sul Graal!

Articolo visualizzato 2643 volte

Questo sito non rappresenta una testata giornalistica in quanto non viene aggiornato con cadenza periodica
né è da considerarsi un mezzo di informazione o un prodotto editoriale ai sensi della legge n.62/2001.
Praestigiator è curato da Mariano Tomatis