Come faccio a nascondere 4 caratteri alfanumerici in formato PNG che utilizzano la steganografia in C?

StackOverflow https://stackoverflow.com/questions/4456198

Domanda

ho visto un po 'di codice di esempio che fa molto di più di quanto io voglio fare e che sembra avere più in alto di quanto vorrei (forse questo è inevitabile).

Tutto quello che voglio è quello di nascondere / recuperare un messaggio 4 lettere (parola) in / da un file PNG. Queste 4 lettere non cambierà mai. Sarà sempre le stesse 4 lettere. Il suo scopo è semplicemente quello di agire come un semplice tipo di impronta digitale. Tutti gli esempi che vedo sembrano molto complessi e coinvolgono la compressione di file di testo e così via.

Qualcuno sa di qualsiasi codice di esempio che è stato scritto che è rilevante per questo tipo di sforzo? Ogni lingua è bene -. Il mio sarà essere necessario C o Obj-C

È stato utile?

Soluzione

Per nascondere i dati in un file, deve sapere qualcosa su ciò che ci si aspetta lì. Se il file che si sta cercando di nascondere roba ha grandi aree di colore uniforme, per esempio, cambiando anche un solo pixel di un colore adiacente potrebbe essere evidente.

Se si suppone che un cambiamento singolo pixel per un colore adiacente non sarà evidente, è possibile memorizzare 4 lettere (20 bit) in un file pseudo-casuale assegnare il LSB di ogni componente rosso, verde o blu di pixel per una delle 20 bidoni, e quindi contando se un numero pari o dispari di componenti di pixel in ciascun bin ha LSB set. Se la parità di un bidone non corrisponde al valore desiderato per un bidone, scegliere un componente di pixel arbitrariamente / a caso tra quelli assegnati a quel bidone e arbitrariamente / casuale incrementare o decrementare esso di uno (se è 0, ti devono incremento;. se FF, decremento)

La decodifica richiede la conoscenza della mappatura delle componenti di pixel ai 20 cassonetti, ma anche dato un sacco di coppie di file inalterati e alterati non consentirebbe uno a indovinare informazioni sufficienti per decodificare un file arbitrario.

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