Professional Documents
Culture Documents
Steganography and Digital Watermarking: Jonathan Cummins, Patrick Diskin, Samuel Lau, Robert Parlett
Steganography and Digital Watermarking: Jonathan Cummins, Patrick Diskin, Samuel Lau, Robert Parlett
Digital Watermarking
Jonathan Cummins,
Patrick Diskin,
Samuel Lau,
Robert Parlett.
Introduction
Steganography
(covered writing, covert channels)
Watermarking Fingerprinting
(all objects are marked (identify all objects, every
in the same way) object is marked specific)
Steganography Encryption
(hide existence of the secret message, (encrypt the message,
but do not use encryption) but do not hide the message)
• Ideally nobody can see both parties • Anybody can see both parties
are secretly communicating. are communicating in secret.
• Innocent. • Suspicious.
History
• 440 B.C.
– Histiaeus shaved the head of his most trusted slave and tattooed it with a message
which disappeared after the hair had regrown. To instigate a revolt against Persians.
• Current
– Special inks are used to write a hidden messages on bank notes.
– Industry demands for digital watermarking and fingerprinting of audio and video.
Copyright Watermarking
Why is it so important?
Requirements
• Secret data integrity must remain after being embedded in stego object.
• The stego object must remain unchanged or almost unchanged to naked eye.
• We assume the attacker knows secret data is hidden inside the stego object.
Basic Principle in Steganography
Secret
Image
Stego Object
Cover
Image
Encoder
Key
Secret Decoder
Image Communications
Channel
Original
Cover
Types of Steganography
• Fragile
– Hidden information destroyed as soon as object is modified.
– Useful in proving objects have not been manipulated and changed e.g.
evidence in a court of law.
• Robust
– It should be infeasible to remove the hidden data without degrading the
perceived quality of the data.
• Binary Files
• Text
– Document
– XML
• Images
– LSB, DCT, Wavelet
• Audio
– Midi, MP3
• Other Types
Information Hiding in Binary Files
• If we change or remove something in a binary file, execution could be different.
• Cracks and key generators are widely available for common programs.
a = 2; b = 3; b = 3; b = 3;
b = 3; c = b + 3; a = 2; c = b + 3;
c = b + 3; a = 2; c = b + 3; d = b + c;
d = b + c; d = b + c; d = b + c; a = 2;
• b, c, d must be done in same order, but a can be executed at any time.
Information Hiding in Binary Files
W = {w1, w2, w3, w4, ....., wn} (Watermark) wi Є {0, 1}
Codebook
Encoder
Original Document Marked Documents
Information Hiding in Documents
• One of three techniques are applied to hiding data:
– Line Shift Coding - Vertical shifting of lines
Shifts lines up slightly up or down h-i
Shifted up slightly h+i
Lines to be shifted decided by Codebook
• XML
Stego data:
<img src=”foo1.jpg”></img>
Stego key:
<img src=”foo2.jpg”/>
<img></img> … 0
<img src=”foo3.jpg”/>
<img/> … 1
<img src=”foo4.jpg”/>
<img src=”foo5.jpg”></img>
Stego key:
<user >
<tag>, </tag>, or
<name>Alice</name >
<tag/> … 0
<tag >, </tag >, or <id >01</id>
<tag /> … 1
</user>
• Containment of elements
stego key:
<favorite><fruit>SOMETHING</fruit></favorite> … 0
<fruit><favorite>SOMETHING</favorite></fruit> … 1
stego key:
<user><name>NAME</name><id>ID</id></user> … 0
<user><id>ID</id><name>NAME</name></user> … 1
Image Techniques
• Simple Watermarking
+ =
Image Techniques
– A simple yet effective way of hiding data in an image for any purpose.
– The least significant bits of the host image are used to hide the most
significant bits of the hidden image (for image-in-image hiding).
– The least significant bits can always be used to hide other data types.
– The next example will show how image-in-image hiding works via this method.
Image Techniques
• Store host image and hidden image in memory.
• Pick the number of bits you wish to hide the hidden image in.
• Scan through the host image and alter its LSB’s with the hidden images MSB’s. So
when 4 bits are used to hide information…
• To extract the hidden image, you basically take out the LSB’s from the host image
and create a new image from them.
Image Techniques
Original
Bit Level
Images
1
4
7
Image Techniques
• This method works best when both the hidden image and host image have equal
priority in terms of the number of bits used.
• Not a very good way of watermarking as it is easy to remove the hidden data.
• The LSB’s can be used to store other information like text – the only limitation is
the size of the data you wish to store.
Image Techniques
All even = 1
All odd = 0
• DCT example
• Wavelet Transformation
– Wavelets are better for higher compression levels than the DCT method.
– Generally wavelets are more robust and are a good way of hiding data.
Image Techniques
• They store the high frequency information while the low frequency information is
stored separately.
• This allows for high compression as the detail is never lost and yet the low
frequency image parts can be compressed continually.
– If a number of these messages are placed together, only the last change is
used.
– To retrieve the data all you need to do is uncompress the MP3 file and read
the parity bits.
Other Techniques
• Video
• DNA
– Use different DNA bases to code secret messages via some cipher key.
• Adjusting the length of an audio file, while leaving the pitch unaffected
can remove hidden data.
Robustness Attacks
• Geometric distortion
• Transfer function
• Clear that someone is lying but no way of telling who is genuine owner.
Implementation Attacks
• Could then change the ID, affecting already marked images and
bypassing checks for existing marks to overwrite them.
Comparison
Digital
No Yes No
Signatures
• Many techniques are not robust enough to prevent detection and removal of
embedded data.