Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: Steganographie bei jpegs

  Alt 22. Feb 2011, 19:42
Der Punkt 4 sollte eher vor Punkt 3 stehen, da nach Huffmann nicht mehr viel von den Matrizen zu erkennen ist.

Das Verfahren klingt so, als würde hier 1 Bit pro JPEG-Block kodiert, und zwar über die Parität der Summe aller Koeffizienten in dem Block. An einem Beispiel: Es soll das Byte "176" kodiert werden. Binär ist das "10110000". Man nimmt sich dann die ersten 8 quantisierten Blöcke zur Brust, und schaut nach: Ist die Summer der Koeffizienten im 1. Block ungerade? Wenn ja, prima, Ungerade = 1. Wenn nicht, einen Koeffizienten erhöhen, dann ist die Blocksumme ungerade. Dann auf zu Block 2, der soll eine 0 darstellen, also eine gerade Summe haben. Hat er das nicht, ist durch Erhöhung dies auch herstellbar. Und so weiter und so fort.

Die Idee dahinter: Die Änderung eines Koeffizienten ein einem DCT-Block um 1 hat visuell nachher praktisch keine sichtbare Auswirkung. Ausser beim ersten Koeffizienten, dem sog. DC-Anteil, der die Gesamthelligkeit des Blockes unmittelbar beeinflusst. Dieser sollte daher nicht geändert werden.

Alles in allem hat das aber zur Folge, dass man das gesamte Prozedere von JPEG selbst implementieren muss, da die Kodierung inmitten zwischen der üblichen Verarbeitung steckt, wo man in aller Regel kaum zwischen kommt bei den gängigen Libs. Das heisst, du musst dich ohnehin eingehend mit JPEG-Eingeweiden auseinandersetzen, und dann wird auch deutlich was dieser Ansatz den du da beschrieben hast tut, und warum man das machen kann ohne das Bild zu zerstören.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat