JPEG-Quantisierungstabellen vergleichen

In diesem Beitrag stelle ich ein Perl-Skript vor, das Quantisierungstabellen von JPEG-Dateien vergleichbar macht.
Quantisierungstabellen werden innerhalb von JPEG-Dateien in DQT-Segmenten gespeichert.

Um die Tabellen unterschiedlicher JPEG-Dateien besser vergleichen zu können, erstellte ich in Perl ein kleines Skript namens dqtmd5. Es analysiert den Header einer JPEG-Datei und filtert die DQT-Segmente heraus. Hierzu bedient es sich des Moduls Image::MetaData::JPEG. Dann analysiert es die Segmente, extrahiert die Quantisierungstabellen und bringt diese in eine kanonische Anordnung. Das Verfahren wird dadurch robust gegen Manipulationen an der Anordnung der Tabellen. Abschließend berechnet das Skript eine MD5-Prüfsumme über die gewonnenen Daten:

$ ./dqtmd5.pl sample.jpg 
41e8fb65ebb533a82f392bed8988eb47 sample.jpg

In gleicher Weise lassen sich Werte aus den (unbearbeiteten!) Aufnahmen bekannter Digitalkameras bestimmen. Als Beispiel nenne ich hier die Hashes für einige Digitalkameras des Herstellers Canon. Die Angaben zu Hersteller und Modell stammen aus den EXIF-Daten der Vergleichsaufnahmen.

8ba82c6f0fe031d5b7234126b9521d34        Canon   Canon DIGITAL IXUS 75
bc610f3b20f21ed06ce1f72b0ba0aeb1        Canon   Canon DIGITAL IXUS 75
41e8fb65ebb533a82f392bed8988eb47        Canon   Canon EOS 10D
71377799fea3469984b1a3fb2f0943c6        Canon   Canon EOS 10D
d2c2c9f7b759bd6ffa62f57a28381ac4        Canon   Canon EOS 10D
55efbe121f05f17cde4ef656d8c9f4f3        Canon   Canon PowerShot A410
981c174a64918a338d4b8ea3c59068bb        Canon   Canon PowerShot A410

Übrigens verwenden nicht alle Hersteller derart uniforme Quantisierungstabellen. Als Gegenbeispiel habe ich einige Prüfsummen für die FUJI FineFix F455 zusammengestellt.

Für JPEG-Dateien unbekannter Herkunft lassen sich nun DQT-Prüfsummen berechnen und mit einer Referenzdatenbank vergleichen. Auf diese Weise ergeben sich Hinweise auf die erzeugende Digitalkamera oder aber das Grafikprogramm, mit dem die Datei zuletzt bearbeitet wurde.

Archiv

Impressum

Dieses Blog ist ein Projekt von:
Andreas Schuster
Im Äuelchen 45
D-53177 Bonn
impressum@forensikblog.de

Copyright © 2005-2012 by
Andreas Schuster
Alle Rechte vorbehalten.
Powered by Movable Type 5.12