2010-05-09 22 views
9

Sto lavorando all'applicazione Steganography. Devo nascondere un messaggio all'interno di un file immagine e proteggerlo con una password, con non molta differenza nelle dimensioni del file. Sto usando l'algoritmo di Least Significant Bit e potrei farlo con successo con i file BMP ma non funziona con i file JPEG, PNG o TIFF. Questo algoritmo funziona con questi file? C'è un modo migliore per raggiungere questo obiettivo? Grazie.Image Steganography

+0

Domanda correlata che potrebbe essere di aiuto: http://stackoverflow.com/questions/1216156/how-can-you-hide-information-inside-a-jpg-or-gif-photo – John

+2

È molto più difficile con perdita di dati compressi formati, perché la perdita di compressione delle immagini è specificamente progettata per ridurre la fedeltà dei dettagli dell'immagine che è difficile da percepire, che è proprio il punto in cui le tecniche steganografiche vogliono mettere le loro informazioni. Anche la compressione senza perdita di dati è problematica, in quanto l'introduzione di nuove informazioni riduce in genere l'efficienza della compressione, aumentando le dimensioni del file. –

+0

PNG è senza perdite. E il JPEG può essere senza perdite. C'era un esempio di questo a http://stega.maxant.co.uk, ma sembra essere offline al momento. –

risposta

6

Questo dipende in gran parte dal modo in cui funziona il particolare formato di immagine. Dovrai immergerti nella parte interna del formato che desideri utilizzare.

Per JPEG, è possibile armeggiare con gli ultimi bit dei coefficienti DCT per ciascun blocco.

Per i file basati su tavolozza (GIF e alcuni PNG), è possibile aggiungere colori extra alla tavolozza che sembrano identici a quelli esistenti e codificare le informazioni in base a quale si utilizza.

2

Dovrai distinguere tra i formati basati su pixel (bitmap) e basati su palette (GIF) per i quali la tecnica steganografica è molto diversa. Inoltre, tieni presente che esistono formati di immagine come JPG che perdono informazioni nel processo di compressione.

Vorrei anche dare un consiglio allo general introduction alla steganografia, inclusi diversi formati.

0

L'approccio del bit meno significativo non funziona con le immagini JPEG e GIF perché si utilizzano i dati dei pixel (immagine grezza) per memorizzare le informazioni nascoste prima della compressione. Un pixel p, con i dati 0x123456 probabilmente non avrà questo valore dopo la compressione perché il suo valore dipende dal tasso di compressione e dai pixel adiacenti. In questo caso stiamo parlando di algoritmi che non solo compattano l'immagine (come un ZIP, che mantiene il contenuto), ma modifica la distribuzione del colore, la trama e la qualità al fine di ridurre il numero di bit per rappresentarlo.

Tuttavia, PNG può essere utilizzato solo per compattare l'immagine nello stesso senso del file ZIP, mantenendo il contenuto. Pertanto, è possibile utilizzare il bit meno significativo per le immagini PNG, in modo che la pagina Steganography di Wikipedia mostri un esempio in questo formato.