...

Steganografia di Immagini Bitmap

by user

on
Category: Documents
28

views

Report

Comments

Transcript

Steganografia di Immagini Bitmap
Steganografia di Immagini Bitmap
di Francesco Barchi
La steganografia è una tecnica che permette di nascondere un'informazione all'interno di altri dati,
lasciando questi ultimi “fenotipicamente” inalterati. La steganografia si applica efficientemente a
file musicali o alle immagini.
Nel nostro caso il programma qui allegato permette di nascondere un certo numero di dati
all'interno di un file Bitmap.
I file Bitmap sono file binari che rappresentano un'immagine raster ed hanno comunemente
l'estensione .bmp.
Il termine raster nella computer grafica, indica un'immagine definita tramite una matrice di punti
che costituisce un'immagine e ad ogni elemento, chiamato pixel, viene associato uno specifico
colore. Il colore può essere definito con due tecniche:
1. se l'immagine contiene pochi colori (massimo 256) si crea un elenco dei colori da utilizzare e
nella scacchiera viene inserito l'indice che punta allo specifico colore del pixel.
2. Nel caso si vogliano utilizzare molti più colori il singolo pixel non definisce più l'indice a una
tavolozza di colori ma definisce il colore direttamente. Il colore viene definito come un'unione
delle componenti blu, rossa e verde secondo il sistema di codifica RGB.
La profondità di colore invece è definita dalla memoria che si dedica ad ogni pixel, ovvero dal
numero di bit dedicati ad ogni pixel per descrivere il colore, e si misura in BPP (Bit Per Pixel);
maggiore è il numero di bit, maggiore è il numero di colori che è possibile descrivere.
Per nascondere un file dentro un'immagine prima di tutto il programma controlla se il file bmp sia
alla versione 3 (Esistono più versioni del formato, potrebbe funzionare anche con altri formati ma è
stato limitato volontariamente) e che la profondità di colore sia di 24 bit (3 Byte per Pixel).
Se il file corrisponde a queste caratteristiche viene calcolato il lato di una ipotetica matrice in cui
ogni cella rappresenta 3 pixel nella quale verrà nascosto un Byte (Si nasconde 1Byte in 9Byte).
Viene richiesta una password che viene usata per calcolare e memorizzare in una lista tante
coordinate della matrice ipotetica quanti sono i Byte del file da nascondere (più 4 coordinate
riservate per nascondere anche le dimensioni del file).
Per nascondere un file si procede in questo modo:
1. Si estrae un Byte del file da nascondere
2. Lo si converte in binario
3. Si prendono le coordinate dalla lista e ci si posiziona all'inizio della sequenza dei tre
pixel nel file Bitmap.
4. Si caricano i pixel ed i colori in una struttura. Un bit da nascondere è posto nel bit
meno significativo di uno dei colori di un pixel. Lo si fa per tutti gli 8 bit.
5. Ci si riposiziona all'inizio della sequenza dei 3 pixel e si riscrive la struttura con i
colori modificati.
6. Si ripete l'operazione fino alla fine del file.
Le modifiche al colore dei pixel sono impercettibili all'occhio umano, in questo modo è molto
difficile riconoscere un file stenografato da quello originale ad occhio nudo.
Fly UP