Come puoi hide le informazioni all’interno di una foto jpg o gif?

Come posso scrivere alcune informazioni all’interno di un file fotografico come jpg o gif senza distruggere l’immagine? e ovviamente senza mostrarlo sulla foto poiché l’idea è quella di inviare informazioni nel file di foto non rilevate da nessuno (per fornire una certa sicurezza / privacy)!

È ansible memorizzare alcune informazioni nei metadati dell’immagine. In effetti è così che le fotocamere digitali uomo “taggano” le foto che fanno (modello di fotocamera, data e ora, coordinate GPS ecc.).

Questo formato dati è chiamato EXIF (Exchangeable Image File Format). Ci sono molti esempi su come usarlo nei linguaggi di programmazione. Ecco l’esempio in Java.

Se vuoi impedire agli utenti di leggere questi dati, puoi crittografarli in qualche modo, ma saranno sempre in grado di rimuoverli dalla tua immagine (aprendo in Photoshop e usando Salva con nome per esempio).

È ansible concatenare una gif e una zip (le informazioni che si desidera hide) in un unico file. Le GIF vengono lette dall’inizio del file, mentre le zip vengono lette dalla fine del file.

Per creare un tale file in linux:

$ cat file1.gif >> outfile.gif $ cat file2.zip >> outfile.gif 

Il file risultante dovrebbe avere le dimensioni di file1.gif e file2.zip insieme e dovrebbe essere apribile da qualsiasi visualizzatore di gif e gestore di file zip.

Sono sicuro che ci sono molti modi. Eccone uno:

In una fotografia, le piccole variazioni di colore sarebbero spesso inosservate a occhio nudo, o anche se notate, potrebbero facilmente essere scambiate per difetti nella qualità dell’immagine.

Quindi, per fare un semplice esempio, supponiamo di avere un’immagine GIF in scala di grigi in cui la palletta è disposta in ordine dal bianco al nero con una gamma regolare di grigi in mezzo. Non sono sicuro di quanto sai sui formati di file grafici, ma in GIF hai un byte per pixel, con ogni ansible mapping del valore di byte per un determinato colore. Quindi in questo caso potremmo dire pallette # 0 = RGB (0,0,0), pallette # 1 = RGB (1,1,1), … palette # 255 = RGB (255,255,255).

Poi prendi una normale, vera fotografia. Rompi il tuo messaggio segreto in singoli bit. Imposta l’ultimo bit di ciascun numero indice pallette in bit successivi del tuo messaggio.

Ad esempio, supponiamo che i primi otto pixel della foto originale siano, ad esempio, 01 00 C9 FF FF C8 42 43. Il tuo messaggio inizia con la lettera “C”, codice ASCII 0110 0111. Quindi cambi l’ultimo bit del primo byte a 0, cambiando il byte da 01 a 00. Si cambia l’ultimo bit del secondo byte a 1, cambiando il byte da 00 a 01. Si modifica l’ultimo bit del terzo byte a 1. È già 1, quindi questo rende nessuna differenza. Ecc. Si finisce con 8 byte codificati 00 01 C9 FE FF C9 43 43.

Le modifiche ai colors sarebbero così sottili che è improbabile che qualcuno osservi l’immagine. Anche se avessero notato, a meno che non avessero un motivo per essere sospettosi, probabilmente concluderebbero che l’immagine era di qualità non perfetta.

Ovviamente niente dice che devi usare 1 bit per byte per il messaggio segreto. A seconda di quanto degrado in termini di qualità pensi di poter fare a meno, potresti usare 2 bit per byte o semplicemente cambiare 1 bit in ogni altro byte, ecc.

Ovviamente la stessa tecnica può essere utilizzata con le foto a colors: cambia l’ultimo bit in ciascuno dei componenti RGB per codificare 3 bit per pixel, ecc.

Ehi quel metodo è chiamato Steganography. Con ciò possiamo hide i messaggi non solo nelle immagini ma anche nell’audio, nei vistio e in altri formati.

Ecco un opensouce software di steganografia chiamato steganotool Questo progetto è uno strumento di steganografia open source che può essere utilizzato per hide ed estrarre il testo da / verso immagini bitmap.

A proposito di Steganography Medium

Steganografia in immagini

Questo tipo di steganografia è molto efficace contro la scoperta e può servire a una varietà di scopi. Questi scopi possono includere l’autenticazione, l’occultamento di messaggi e la trasmissione di chiavi di crittografia. Il metodo più efficace per questo tipo di steganografia è normalmente il metodo di bit meno significativo. Ciò significa semplicemente che il messaggio nascosto modificherà l’ultimo bit di un byte in un’immagine. Modificando quell’ultimo bit, non ci sarà alcun cambiamento relativamente al colore di quel pixel all’interno dell’immagine portante. Ciò impedisce al messaggio di essere facilmente rilevato. Il miglior tipo di file immagine per hide le informazioni all’interno è un bitmap a 24 bit. Ciò è dovuto alla grande dimensione del file e all’elevata qualità.

Steganografia in audio

Nei file audio, il metodo più importante per hide le informazioni è il metodo di codifica a bit basso. Il metodo di codifica a bit bassi è in qualche modo simile al metodo di bit meno significativo utilizzato nei file di immagine. Le informazioni segrete sono allegate alla fine del file. Uno dei problemi con la codifica a bit basso è che può essere percepibile dall’orecchio umano. Se qualcuno sta cercando di hide le informazioni, questo potrebbe essere rischioso, poiché è facilmente rilevabile. Il metodo dello spettro esteso è un altro metodo che è stato utilizzato per hide le informazioni nei file audio. Che cosa fa questo metodo, aggiunge rumore casuale alla trasmissione audio. Questo metodo consente alle informazioni di essere diffuse attraverso lo spettro di frequenza e di rimanere hiddden sotto il rumore casuale. L’ultimo metodo visto nella steganografia audio è l’eco che nasconde i dati. Questo metodo cerca di hide le informazioni usando gli echos che si verificano naturalmente all’interno dei file audio. Quindi, è ansible aggiungere un suono extra a questi echi, mentre il suono extra è il messaggio nascosto. Questo è un modo sufficiente per hide le informazioni, soprattutto perché in alcuni casi migliora persino il suono del file audio originale.

Steganografia in video

La steganografia in video è fondamentalmente nascosta alle informazioni in ogni fotogramma del video. Solo una piccola quantità di informazioni è nascosta all’interno del video, in genere non è affatto visibile, tuttavia più informazioni sono nascoste e più diventa evidente. Anche questo metodo è efficace, ma deve essere fatto bene oppure rivelare più informazioni invece di nascondersi.

Steganografia nei documenti

Questo è fondamentalmente l’aggiunta di spazi bianchi e tabulazioni alle estremità delle linee di un documento. Questo tipo di steganografia è estremamente efficace, perché l’uso dello spazio bianco e delle tabs non è visibile all’occhio umano nella maggior parte degli editor di testo / documenti.

Puoi anche fare riferimento a questo progetto open source

Questo articolo può essere molto utile.

Se vuoi hide i dati (testo, un’altra immagine, qualunque cosa) in un file jpeg, puoi semplicemente aggiungerlo alla fine del file. Quando l’immagine viene visualizzata, vedrai solo l’immagine originale e i tuoi dati aggiunti saranno ignorati.

Anche se non è un modo super-duper di hide i dati, questo è un buon modo per hide un altro jpeg, come se qualcuno aprisse il file nel blocco note o in un editor esadecimale, probabilmente non noterebbero che ci sono due jpeg e non uno perché la fine della seconda immagine sembrerà comunque la prima.

In Windows puoi usare un semplice comando per hide l’archivio nell’immagine: copia / b cat.jpg + Documents.rar cat_new.jpg. E quindi utilizzare ad esempio winrar per estrarre i dati da un’immagine ftom come da archivio.
Ma il modo migliore è usare la steganografia.
semplice programma per esso per linux e windows: http://linux01.gwdg.de/~alatham/stego.html
usando questo programma userete la pass phrase, senza che nessuno saprà nemmeno che avete nascosto alcuni dati nella foto))

i dati compressi nei file gif sono in pezzi di dimensioni variabili. ogni blocco inizia con un byte di lunghezza. Di solito questi blocchi sono 255 byte di dati (e il byte di lunghezza dice 255) ad eccezione degli ultimi due blocchi (l’ultimo è 0)

Ma potresti ricodificare la gif con blocchi di dimensioni esatte, ad esempio usando caratteri per testo ASCII o byte 1 2 3 4 rappresentano 00 01 10 11 dati binari,

l’analisi della frequenza di byte sulla gif rivelerebbe meno di quanto previsto 255 byte. e la dimensione sarebbe più grande dell’originale, ma l’immagine sarebbe esattamente la stessa.

Non hai bisogno di alcun tipo di strumento avanzato per hide un file in un’immagine – devi solo conoscere alcuni comandi DOS di base … basta seguire il link sottostante, per vedere come farlo (è una breve descrizione della steganografia dell’immagine ):

https://www.youtube.com/watch?v=ox9ArqXtaWw&list=PLqEKOAKK4IbSTfDJZE_lH-DiOjOzZUczx&index=2