Domanda

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

È stato utile?

Soluzione

È possibile memorizzare alcune informazioni nei metadati dell'immagine. In effetti è così che le fotocamere digitali dell'uomo "taggano" le loro foto (modello di fotocamera, data e ora, coordinate GPS ecc.).

Questo formato di dati si chiama EXIF ?? (formato di file di immagini intercambiabili). 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 foto (aprendo in Photoshop e usando Salva con nome per esempio).

Altri suggerimenti

Puoi concatenare una gif e una zip (le informazioni che vuoi nascondere) in un 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 gif e gestore di file zip.

Sono sicuro che ci sono molti modi. Eccone uno:

In una fotografia, piccole variazioni di colore sarebbero spesso impercettibili a occhio nudo, o anche se notate, potrebbero essere facilmente 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 pallette è disposta in ordine dal bianco al nero con una gamma uniforme di grigi in mezzo. Non sono sicuro di quanto tu sappia sui formati di file grafici, ma in GIF hai un byte per pixel, con ogni possibile valore di byte mappato su un colore specifico. Quindi in questo caso potremmo dire pallette # 0 = RGB (0,0,0), pallette # 1 = RGB (1,1,1), ... palette # 255 = RGB (255.255.255).

Quindi fai una normale fotografia reale. Rompi il tuo messaggio segreto in singoli bit. Imposta l'ultimo bit di ciascun numero indice di pallette sui bit successivi del tuo messaggio.

Ad esempio, supponiamo che i primi otto pixel della foto originale siano, diciamo, 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 su 0, cambiando il byte da 01 a 00. Si cambia l'ultimo bit del secondo byte in 1, cambiando il byte da 00 a 01. Si cambia l'ultimo bit del terzo byte in 1. È già 1 , quindi non fa differenza. Ecc. Si finisce con gli 8 byte codificati essendo 00 01 C9 FE FF C9 43 43.

Le modifiche ai colori sarebbero così sottili che è improbabile che chiunque lo guardi. Anche se lo avessero notato, a meno che non avessero motivo di essere sospettosi, avrebbero probabilmente concluso che l'immagine era di qualità non perfetta.

Ovviamente nulla dice che devi usare 1 bit per byte per il messaggio segreto. A seconda di quanta degradazione della qualità pensi di riuscire a cavartela, 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 colori: cambia l'ultimo bit in ciascuno dei componenti RGB per codificare 3 bit per pixel, ecc.

Ehi, quel metodo si chiama Steganography. Con ciò possiamo nascondere i messaggi non solo in immagini ma anche in audio, vedeo e altri formati.

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

Informazioni sui media di steganografia

Steganografia in immagini

Questo tipo di steganografia è molto efficace contro la scoperta e può servire a vari scopi. Questi scopi possono includere autenticazione, occultamento di messaggi e trasmissione di chiavi di crittografia. Il metodo più efficace per questo tipo di steganografia è normalmente il metodo bit meno significativo. Questo significa semplicemente che il messaggio nascosto modificherà l'ultimo bit di un byte in un'immagine. Modificando quell'ultimo bit, non ci sarà relativamente alcuna modifica 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 nascondere informazioni all'interno è una bitmap a 24 bit. Ciò è dovuto alla grande dimensione del file e all'alta qualità.

Steganografia in audio

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

Steganografia in video

La steganografia nei video sostanzialmente nasconde le informazioni in ogni fotogramma del video. Solo una piccola quantità di informazioni è nascosta all'interno del video, in genere non è affatto evidente, tuttavia più informazioni sono nascoste, più diventeranno evidenti. Anche questo metodo è efficace, ma deve essere fatto nel modo giusto oppure rivelare più informazioni invece di nascondersi.

Steganografia nei documenti

Questo in sostanza sta aggiungendo spazi bianchi e tabulazioni alle estremità delle linee di un documento. Questo tipo di La steganografia è estremamente efficace, poiché l'uso di spazi bianchi e schede non è visibile all'occhio umano nella maggior parte degli editor di testi / documenti.

Puoi anche fare riferimento a questo progetto open source

Questo articolo può essere molto utile.

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

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

In Windows puoi usare un semplice comando per nascondere l'archivio nell'immagine: copia / b cat.jpg + Documents.rar cat_new.jpg. E quindi utilizzare ad esempio winrar per estrarre i dati dell'immagine ftom dall'archivio.
Ma il modo migliore è usare la steganografia.
semplice programma per Linux e Windows: http://linux01.gwdg.de/~alatham/ stego.html
usando questo programma userete una passphrase, senza che nessuno lo saprà nemmeno, che avete nascosto alcuni dati nella foto))

i dati compressi nei file gif sono in blocchi 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 grossi pezzi la cui dimensione indica il messaggio ad es. usare caratteri per testo ASCII o byte 1 2 3 4 che rappresenta 00 < codice> 01 10 11 dati binari,

l'analisi della frequenza di byte su GIF rivelerebbe meno di 255 byte previsti. e le dimensioni sarebbero più grandi dell'originale, ma l'immagine sarebbe esattamente la stessa.

Non è necessario alcun tipo di strumento avanzato per nascondere un file in un'immagine & # 8211; & # 8211; devi solo conoscere alcuni comandi DOS di base & # 8230; segui il link seguente per vedere come fare (è una breve descrizione della steganografia delle immagini ):

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top