pres-using_jpeg_quantization_tables_to_identify_imagery_processed_by_software
pres-using_jpeg_quantization_tables_to_identify_imagery_processed_by_software
By
Jesse Kornblum
Presented At
DFRWS is dedicated to the sharing of knowledge and ideas about digital forensics research. Ever since it organized
the first open workshop devoted to digital forensics in 2001, DFRWS continues to bring academics and practitioners
together in an informal environment. As a non-profit, volunteer organization, DFRWS sponsors technical working
groups, annual conferences and challenges to help drive the direction of research and development.
http:/dfrws.org
JPEG Quantization Tables
DC3
Jesse Kornblum
Overview
DC3
! Motivation
! Everything You Always Wanted to Know about
JPEGs But Were Afraid to Ask
! Quantization Tables
! Types of Tables
! Calvin
! Future Work
Motivation
DC3
! Ashcroft v. Free Speech Coalition, 2002
! Cases now have hundreds of thousands of images
! Only a few needed to convict
– Must be real pictures
! Need to find the real pictures
– Not as easy as you’d think
Real Picture
DC3
WARNING:
EXPLICIT IMAGERY
! 124 / 50 --> 2
! When decompressed 2*50 = 100
Quantization Tables
DC3
2 1 1 1 1 1 2 1
1 1 2 2 2 2 2 4
3 2 2 2 2 5 4 4
3 4 6 5 6 6 6 5
6 6 6 7 9 8 6 7
9 7 6 6 8 11 8 9
10 10 10 10 10 6 8 11
12 11 10 12 9 10 10 10
Quantization Tables
DC3
! Higher numbers mean lower quality image
! Lower numbers mean higher quality image
! Best images have tables of all ones
– No compression
Quantization Calculations
DC3
! Original value = 124
16 11 10 16 24 40 51 61
12 12 14 19 26 58 60 55
14 13 16 24 40 57 69 56
14 17 22 29 51 87 80 62
18 22 37 56 68 109 103 77
24 35 55 64 81 104 113 92
49 64 78 87 103 121 120 101
72 92 95 98 112 100 103 99
IJG Standard Table, Q=80
DC3
6 4 4 6 10 16 20 24
5 5 6 8 10 23 24 22
6 5 6 10 16 23 28 22
6 7 9 12 20 35 32 25
7 9 15 22 27 44 41 31
10 14 22 26 32 42 45 37
20 26 31 35 41 48 48 40
29 37 38 39 45 40 41 40
IJG Standard Tables
DC3
! Most software uses IJG Standard Tables
! libjpeg is free and easy to use
– Programmers are lazy
! Allows user to specify quality setting Q
! Examples:
– The Gimp
– Microsoft Paint
– Infranview
– Some camera phones
Extended IJG Tables
DC3
! Three tables instead of two
! The third is a duplicate of the second
AB
ABB
Adobe Photoshop
DC3
! Adobe Photoshop uses its own
quantization tables
! Users select one of 12 quality settings
! Table depends only on quality setting
– Does not consider image
Categorizing
Quantization Tables
DC3
! All ones
– No data
! Standard Tables
! Two IJG
! Extended Standard Tables
! Three IJG
! Custom Fixed Tables
! Adobe Photoshop
! Custom Adaptive Tables
Custom Adaptive Tables
DC3
! Table is computed
on the fly
! Usually based on
image being
processed
! Most cameras do this
– Most vendors have
patents on
quantization table
construction
Digital Ballistics
DC3
! Match images back to the device that created them
– Match to individual device
– Match to type of device
Digital Ballistics
DC3
! Match to individual devices
– Depends on small imperfections in lens, sensor
– Requires lots of images from each camera
– Beyond the scope of this presentation
Digital Ballistics
DC3
! Match to type of device
– Possible to identify IJG tables
• Except when adaptive makes these by accident
– Possible to identify Photoshop tables
• But could, in theory, be adaptive tables
– Possible to identify adaptive tables
• But could be either hardware or software
! libjpeg: http://www.ijg.org/
Jesse Kornblum