Probabilmente è difficile da credere ma esiste un modo per nascondere un messaggio all’interno di un’immagine digitale, questo metodo si chiama Steganografia.  il termine è composto appunto dalle parole greche στεγανός (coperto) e γραφία (scrittura). Tracce di questa tecnica si hanno già nell’antica Grecia: Erodoto narra l’episodio di Demarato di Sparta che per avvisare i compatrioti di una possibile invasione persiana scrive su di una tavoletta un messaggio da nascondere, poi copre la tavoletta di cera e sulla cera scrive un messaggio innocuo. In realtà la steganografia può trovare uso in ogni forma di comunicazione, è sufficiente che mittente e destinatario abbiano concordato un codice non vincolato ai normali simboli alfabetici. Ad esempio: Alice e Bob si accordano sull’uso di un sistema steganografico: il numero di virgole presente in una singola pagina sarà tra 1 e 21, questo numero corrisponderà ad una lettera dell’alfabeto. Qualora A e B dovessero trovarsi in un regime di comunicazione controllata, potrebbero scrivere pagine di copertura narrando informazioni prive di valore per loro, ma facendo un uso accurato delle virgole, riuscirebbero a nascondere il vero messaggio con questa tecnica steganografica.

Nell’era digitale la steganografia ha trovato numerose applicazioni. E’ possibile includere praticamente qualsiasi tipo di contenuto all’interno di un’immagine digitale. Testi, immagini, suoni… tutto codificato in modo tale da risultare invisibile all’occhio umano, ma assolutamente presente.

Vediamo in maniera rapida in cosa consiste. Per prima cosa dobbiamo analizzare come un’immagine viene trattata da un computer.

Ogni immagine, come probabilmente sapete, è composta da pixel, ovver da micro puntini che, messi insieme, formano appunto ciò che vediamo sul monitor. Ogni pixel emette un colore, prodotto dall’unione dei tre colori principali, il rosso, il blu e il verde. Ognuno di questi colori principali può assumere un valore compreso tra 0 e 255, dove ad ogni cambiamento del valore corrisponde un piccolo cambiamento della tonalità.

Il bianco sarà evidentemente il risultato della tripletta 255-255-255, mentre il nero sara 0-0-0; in mezzo ci sono tutti i colori che il computer riesce a riprodurre.

Con una possibilità di 16 milioni di colori riuscireste a cogliere la differenza minima tra un colore e l’altro? L’occhio umano evidentemente no, ma per il computer si tratta di un cambiamento visibile, ed è questo il meccanismo che c’è alla base della steganografia digitale.

Facciamo un esempio. Una delle possibili tonalità di blu è identificata col codice RGB 0-102-204, mentre un’altra praticamente identica è codificata col valore RGB 1-101-205. Ad occhio non riuscirete mai a cogliere le differenze, ma come vedete i numeri cambiano.

Ma perchè i valori vanno proprio da 0 a 255? Si tratta di una codifica a 8 bit, dove lo 0 corrisponde al codice binario 00000000 e il numero 255 corrisponde al codice binario 11111111. Comprendere il codice binario è importante per il seguente motivo. Il bit che si trova più a sinistra viene detto “bit più significativo”, mentre quello più a destra viene detto “bit meno significativo”. Il motivo è ovvio. Cambiando il valore del bit a sinistra il numero risultante cambia di molto rispetto a quello che otteniamo cambiando solo il valore del bit all’estrema destra. Ne risulta che, essendo il valore RGB composto da tre numeri con codifica a 8 bit, cambiando i bit meno significativi, il colore di fatto non cambierà, ma l’informazione trasmessa si.

Cosa significa questo? Significa che possiamo utilizzare i bit meno significativi per modificarli includendo un messaggio nascosto. Il contenuto del messaggio altererà la codifica RGB dei colori, ma in maniera invisibile all’occhio umano.

Su internet esistono numerosi software in grado di codificare e decodificare i messaggi nascosti tramite steganografia. Potete divertirvi a scambiare messaggi con i vostri amici se volete. Anche l’immagine del gattino che no inserito in questo articolo contiene un messaggio… voi riuscite a leggerlo? Fatemi sapere!

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *