info hiding
TRANSCRIPT
Information hiding
Muna Mahmood
Cryptography:
The science of using mathematics to encrypt and decrypt data. It enables you to send sensitive information across insecure networks (such as the Internet).
Steganography
Steganography is the art of covered or hidden writing. The purpose of steganography is covert communication to hide a message from a third party.
This differs from cryptography, the art of secret writing, which is intended to make a message unreadable by a third party but does not hide the existence of the secret communication.
Steganography
στεγανός
covered
γραφία
writing
Steganograrhy Model
Schematic description of steganography: A sender chooses a cover c using his private random source r and embeds the message m in c using a key k. creating the stego-object s which he pass on to receiver. Receiver reconstructs m with the key k he shares with the sender.
Steganography types:
History of information hiding
Tattoos on shaved heads Wax-covered tablets Microdots – shrunken pictures Invisible Inks - milk, fruit juice, urine
Steganography in Ancient Greece - Tattoo message on head
An ancient Greek historian Herodotus reports that messages
were tattooed onto the shaved heads of slaves. Once the hair
grew back, the slaves were sent to the recipient, with the
message hidden “in plain sight”.
The German Lorenz cipher machine, used in World War II for encryption of very high-level general staff messages
Steganography in Espionage - Invisible ink
Spies use milk, fruit juice or urine as invisible inks,
which darken when heated.
An FBI agent is
shown using
ultraviolet light to
read secret writing
on a paper from a
suspected spy case
Water marking
Watermark-an invisible signature embedded inside an image to show authenticity or proof of ownership
Discourage unauthorized copying and distribution of images over the internet
Ensure a digital picture has not been altered Software can be used to search for a specific
watermark
Types Visible watermark
Invisible watermark
Visible Watermark Often a weighted sum of two images
UV Watermarking
Cryptography is about protecting the content of messages (their meaning).
Steganography is about concealing the existence of messages
Watermarking is about establishing identity of information to prevent unauthorized use– They are imperceptible– They are inseparable from the works they are
embedded in– They remain embedded in the work even
during transformation
Cryptograpy & Steganography vs.Watermarking
Watermarking vs. Steganography
Goal of steganography– Intruder cannot detect a message– Primarily 1:1 communication
Goal of watermarking– Intruder cannot remove or replace the message– Primarily 1:many communication
•Analysis of lighting and shadows
•Localized analysis of - noise- histogram- colors
•Looking for discontinuities
Analysis
Today, it often exists within digital formats It makes use of seemingly innocent cover
files such as text, audio, and image files The embedded message may be anything
that can be encoded in binary
DIGITAL APPROACHES
18
Places to Hide Information:Steganography Images Audio files Text Disk space Hidden partition Network Packets Software Circuitry
Reasons for using digital images It is the most widely used medium being
used today Takes advantage of our limited visual
perception of colors This field is expected to continually grow as
computer graphics power also grows Many programs are available to apply
steganography
IMAGE ATTRIBUTES
Digital images are made up of pixels The arrangement of pixels make up the
image’s “raster data” 8-bit and 24-bit images are common The larger the image size, the more
information you can hide. However, larger images may require compression to avoid detection
Steganographic techniques:
Least significant bit subtraction (LSB) Discrete Cosine Transform
technique(DCT). Discrete Wavelet Transform technique
(DWT)
LSB INSERTION
Replaces least significant bits with the message to be encoded
Most popular technique when dealing with images
Simple, but susceptible to lossy compression and image manipulation
LSB - Example
A sample raster data for 3 pixels (9 bytes) may be:
Inserting the binaryvalue for
A (10000001)
changes 4 bits
00100111 11101000 1100100000100110 11001000 1110100011001001 00100111 11101011
00100111 11101001 1100100000100111 11001000 1110100111001000 00100111 11101011
LSB Continued…
Best to use a grayscale palette or one with gradual changes in shades
Otherwise, it is best to use images with “noisy areas” – areas with ample color variation and without large areas of solid color
“NOISY AREAS” - Example
Renoir painting
GRAYSCALE PALETTE
1. First the image is split up into 8 x 8 squares.
2. Next each of these squares is transformed via a DCT, which outputs a multi dimensional array of 63 coefficients.
3. A quantizer rounds each of these coefficients, which essentially is the compression stage as this is where data is lost.
4. Small unimportant coefficients are rounded to 0 while larger ones lose some of their precision.
5. At this stage you should have an array of streamlined coefficients, which are further compressed via a Huffman encoding scheme or similar.
6. Decompression is done via an inverse DCT.
Discrete Cosine Transform(DCT)
Discrete Cosine Transform(DCT) Divides image into parts based on the visual quality
of the image
Input image is N*M f(i,j) = intensity of pixel in row i and column j F(u,v) is DCT coefficient in DCT matrix Larger amplitudes closer to F(0,0) Compression possible because higher order
coefficients are generally negligible
DCT coding system
image
DCT Transformation
8*8 DCT
Quantization
Entropy encoding
Lossy compressed data
If you wish to encode the bit value 0 in a specific 8 x 8 square of pixels, you can do this by making sure all the coefficients are even, for example by tweaking them. Bit value 1 can be stored by tweaking the coefficients so that they are odd. In this way a large image can store some data that is quite difficult to detect in comparison to the LSB method.
This is a very simple method and while it works well in keeping down distortions, it is vulnerable to noise.
Discrete Wavelet Transform(DWT)
This technique works by taking many wavelets to encode a whole image. They allow images to be compressed so highly by storing the high frequency detail in the image separately from the low frequency parts. The low frequency areas can then be compressed which is acceptable as they are most viable for compression. Quantization can then take place to compress things further and the whole process can start again if needed.
Instead of altering the DCT coefficients with pseudo noise, instead the coefficients of the wavelets are altered with the noise within tolerable levels.
Embedding information into wavelets is an ongoing research topic, which still holds a lot of promise.
32
Bitmap ImagesBitmap Images
Each individual pixel (pi(x)cture element) in a graphic stored as a binary number
Pixel: A small area with associated coordinate location
Example: each point below represented by a 4-bit code corresponding to 1 of 16 shades of gray
•Header 14 byte
1.structure are the type field (should be 'BM')
2.the offset field which gives the number of bytes before the actual pixel data
•info header 40 byte.
1.are the image width and height
2.number of planes the number of bits per pixel.
3.the compression type .
LSB Based Steganography: Algorithm to embed text message:-
Step 1: Read the cover image and text message which is to be hidden in the cover image.
Step 2: Convert text message in binary. Step 3: Calculate LSB of each pixels of cover
image. Step 4: Replace LSB of cover image with each
bit of secret message one by one. Step 5: Write stego image Step 6: Calculate the Mean square Error
(MSE), Peak signal to noise ratio
Algorithm to retrieve text message:-
Step 1: Read the stego image. Step 2: Calculate LSB of each pixels of
stego image. Step 3: Retrieve bits and convert each 8 bit
into character
Left image is original JPEG file
Right image is with hidden message
Hidding image in other one:
..WAVWAV Sound Format Sound Format
Conclusions: The flexible of using matlab language Treating with storage form files need completely analysis. For each
file part. The data storage method on it For example the work with AVI file need knowing the details of image storage file with extended BMP.
Distributed on number of frames secret after dividing the secret message is better hiding it in one frame because of difficulty of restore.
Hiding in bit number one is better than in bit number two, and hiding number two is better than hiding in bit number three and so on because the noise in hiding in bit number one is very little and the human eye cannot recognize while in bit number two the hiding will give little Noise more than that in number one and so on.