Title: INVESTIGATION OF INHERENT ROBUSTNESS OF PNG IMAGES FOR LSB STEGANOGRAPHY AND ROLE OF BINARY GOLAY CO
1INVESTIGATION OF INHERENT ROBUSTNESS OF PNG
IMAGES FOR LSB STEGANOGRAPHYANDROLE OF BINARY
GOLAY CODES IN ENHANCING THE ROBUSTNESS
- BY
- KHIZAR HAYAT KHAN
- Supervised By
- Dr. Tasneem Shah
2Agenda
- Essential Concepts (slides 3-10)
- Methodology (slide 11)
- Embedding Strategies Employed (slide 12)
- Robustness in the Context of Hue Settings
- Robustness in the Context of Saturation Settings
- Robustness in the Context of Lightness Settings
- Robustness in the Context of Contrast Settings
- Robustness in the Context of Gamma Settings
- Robustness in the Context of Blurredness and
Sharpness. - Recommendations.
3Steganography
- literally means, covered writing
- It is the art of concealment of messages inside
some innocent looking media, e.g. text, audio,
video, still images etc. - an old art Greeks and Chinese
- The recent interest in the field may be traced
back to the Simmons formulation of the famous
prisoners problem in 1983. - Alice Bob and Willie
4General Scheme
5Classification of Steganographic Techniques
6Characteristics of Steganographic Techniques
- Four main factors that characterize the data
hiding techniques in steganography - Hiding Capacity the size of information that can
be hidden relative to the size of the cover. - Perceptual Transparency It is important that the
embedding occur without significant degradation
or loss of perceptual quality of the cover. - Robustness the ability of embedded data to
remain intact if the stego-image undergoes
transformations - Tamper Resistance refers to the difficulty for
an attacker to alter or forge a message once it
has been embedded.
7Embedding Techniques
- Least significant bit (LSB) insertion
- Embed the message bits directly into the
least-significant bit plane of the cover image in
a deterministic sequence. - Public Key Steganography
- Requires the pre-existence of a shared secret
key to designate pixels which should be tweaked.
In this case both the sender and the receiver
must have this secret. - Transform domain based embedding
- Embed the data by modulating coefficients in a
transform domain, such as DCT, DFT, DWT. ) hides
the data within noise which is then added to the
cover. The noise is of the type usually incurred
during the image acquisition process. Such a
noise is imperceptible to humans if kept to
limited extent. - Masking and filtering techniques
- Masking refers to the phenomenon where a signal
can be imperceptible to an observer in the
presence of another signal (referred to as the
masker.) - Embed information to perceptually significant
areas of the image , i.e. camouflage.
8Image Formats
- TIFF- Tagged Image File Format (TIFF)
- BMP- This is a system standard graphics file
format for Microsoft Windows and hence
proprietary and platform dependent - GIF The Graphics Interchange Format
- JPEG - A creation of Joint Photographic Expert
Group - PNG - Portable Network Graphic
9Error Correcting Codes (ECC)
- Hamming Codes (n 2r-1, k 2r-1-r, d 3)
codes - Reed-Solomon Codes The most widely used
Reed-Solomon code is RS(255,223) in which each
codeword contains 255 code word bytes, of which
223 bytes are data and 32 bytes are parity. For
this code n 255, k 223 and e 16. - Golay Codes Golay (23, 12, 7)
10Binary Golay (23, 12, 7) Code
- would correct all error patterns of Hamming
weight (number of nonzero bits) up to 3. - The total number of these error patterns or the
number of syndromes is 2048 since there are 11
parity check bits and 211 2048. - The number of patterns with a particular number
of errors x (x 3) can be calculated by using
the formula.
11Our Methodology
- Synthesize the image I of particular RGB value
- Embed the message M (Golay-encoded or otherwise)
into I to get the stego image S S I M - S S j 0 // S for manipulated stego image.
- Select one property from the set V hue,
saturation, lightness, contrast, gamma,
blurredness, sharpness and assign its default
value to P - While (S - I M)
- P j
- Apply P to S and Save S
-
- Note j-1
- PP-j j0
- While (S - I M)
- P-- j--
- Apply P to S and Save S
-
- Note j-1
- Repeat steps 4-9 for all the members of V one by
one - Repeat steps 1-10 for all possible RGB values at
the interval of 16
12Embedding Strategies Employed
- For our purpose we had developed the following
programs - Program R that embedded a bit in the LSB of the R
part of the pixel only. - Program G that embedded a bit in the LSB of the G
part of the pixel only. - Program B that embedded a bit in the LSB of the B
part of the pixel only. - Program RGB that embedded 3 bits per pixel, one
each in the LSBs of each of the three parts of
the pixel, i.e. R, G and B. - Program RGB2 that embedded 6 bits per pixel, 2
each in the last two LSBs of each of the three
parts of the pixel, i.e. R, G and B. - Miscalaneous programs were developed to embed
bits in the various pair combinations of R, G and
B
13Robustness in the Context of Hue Settings
- The Hue of a pixel refers to its basic color -
red or yellow or violet or magenta, for instance.
It is usually represented in the range of 0 -
360, referring to the color's location (in
degrees) around a circular color palette. - Other properties of the image were kept constant
at there defaults only hue settings were changed
as a function of RGB values. - The maximum allowable changes (both on left and
right) in hue settings were noted for each of the
pixel value possible at the interval of 16.
14Robustness in the Context of Hue Settings
- Some Details
- When stego image was subjected to changes in hue
settings it was revealed that pixel values with
RGB, i.e. gray scale pixels, were the most
robust. - The robustness decreased considerably, however,
with increase in the embedding density. Thus
lower embedding density showed greater
robustness. - ECC had no effect on the robustness to change in
hue settings.
15Robustness in the Context of Saturation Settings
- Saturation is the amount or strength of a color
present in a pixel. - Now maximum allowable change in saturation
settings was studied as a function of RGB pixel
values Reference - In the majority of cases, right side inherent
robustness, to change in saturation settings, was
more than satisfactory. - Few pixel values showed good results on the left
side.
16Robustness in the Context of Saturation Settings
- The behavior of blue part of the pixel was
peculiar in the sense that the stego image was
more vulnerable to corruption when data bit was
embedded in blue LSB. See some examples here - Increase in embedding density reduced the
robustness to saturation changes. See - Positive impact was noted when Golay code was
employed as ECC. Some Examples. - Binary Golay Code also covered the disadvantage
that the blue byte had, to a greater extent. not
in case of B127.
17Robustness in the Context of Lightness Settings
- Red and green bytes showed good robustness in
some cases. Ref - The blue byte showed similar vulnerability when
lightness variable was taken into account. - very few RGB values showed non-zero robustness to
lightness changes when blue LSB was involved in
embedding. see - This blue syndrome made the three bits per
pixel embedding (one each in the three LSBs)
suffer because blue byte was involved in
embedding. c.f.
18Robustness in the Context of Lightness Settings
- ECC improved the situation only in the case of
blue LSB embedding, when a single bit was
embedded per pixel, and brought it at par with
green/red LSB embedding. - ECC did not improve situation much with three
bits per pixel embedding. - Thats why we changed our strategy and excluded
the blue byte from embedding for increased
embedding density. - This gave good results.
19Robustness in the Context of Contrast Settings
- Contrast is a method of altering the brightness
relationship between the higher and lower color
ranges of an image. - Enhancement of contrast will make dark areas
darker and bright areas brighter. - Robustness to variations in contrast settings
largely depended on the value of the byte of the
pixel to which embedding was made. c.f. - Byte values of 0, 127 and 255 provided the best
robustness.
20Robustness in the Context of Contrast Settings
- Where more than one bit was embedded per pixel in
distinct bytes the byte-value with low individual
robustness dictated the terms. - Increase in embedding density proportionally
decreased robustness, especially for the
byte-value of 0, 127 and 255. see - Binary Golay Code had no role in this regard,
though the recovered message was legible up to
some extent beyond the max allowable change.
21Robustness in the Context of Gamma
- Correct gamma value enables a picture to display
properly on different platform without losing its
quality during transformation. - Gamma Correction uses the following function
- Output Image (Input Image)(1/Gamma).
- There were isolated values or ranges rather than
a continuous range of allowed change in gamma
around and adjacent to the default value of 1.00.
- Like a line or band spectrum some changes were
allowed and some not. - As we moved to extreme R-values from R127 three
trends were noticed, viz. - Coagulation, i.e. tendency of neighboring
points to merge into ranges and expansion in the
length of range. - Increase in population of working points/ranges
- Tendency of the working points to shift to the
middle, i.e. concentrate around the gamma value
of 1.00.
22Robustness in the Context of Gamma Settings
- The byte to which embedding was made, contributed
more to robustness when its value was close to
the extreme values of 0 and 255. ref - Blue LSB embedding was again least robust as
compared to its two other counterparts. - Robustness was markedly reduced with the increase
in embedding density. ref - ECC again improved the results, which were
otherwise poorer when blue byte was involved in
embedding.
23Robustness in the Context of Blurredness and
Sharpness
- Blurring makes an image turbid-looking, i.e.
visibility of the pixels to the viewer become
affected out of focus. - To a certain extent, Sharpening of image is
possible, although it's somewhat of a trick and
only works up to a certain point, and results can
often include undesirable artifacts. - The sharpen operator actually works by increasing
the contrast between areas of transition in an
image, which the eye perceives as sharpness. - Lost information can never be created through
sharpness operation.
24Robustness in the Context of Blurredness and
Sharpness
- The greatest role played by binary Golay Code was
when blurredness or sharpness filter was applied
to mutilate the stego image. - There was originally zero robustness to either
side change in blurredness or sharpness. - For low embedding density there was almost 100
robustness on the left when ECC was involved. On
positive side too the results improved a lot.
25Robustness in the Context of Blurredness and
Sharpness
- For higher embedding density of six bits per
pixel there was no robustness on any either side
change in sharpness and positive side change in
blurredness upon the involvement of binary Golay
Code. - There was, however, 100 robustness to any change
in blurredness on the negative side.
26Recommendations
- Based on the results above we propose three main
points - Since the blue axis of RGB plane is the most
vulnerable to a change in image settings, it must
be used for embedding only after careful
consideration. - One should avoid embedding too many bits per
pixel unless otherwise absolutely necessary high
embedding density (bpp) leads to low robustness.
There would be, of course, low perceptual
transparency.
27Recommendations (Contd.)
- A convenient ECC must be employed for robust
steganographic embedding as it improved things in
two ways. - Firstly, ECC improved the robustness across the
board for all the three axes of the RGB plane,
especially against blurredness and sharpness
changes. - Secondly, it made up for the disadvantage that
blue axis of the RGB plane had in relation to
other axes, to a greater extent.
28THANX Any Questions?