Image Steganography
May 24, 2015
Image Steganography
Steganography
Steganos(Covered)
Graphein(writing)
Steganography vs Cryptography
• Cryptography is the science of encrypting data in such a way that one cannot understand the encrypted message, whereas in steganography the mere existence of data is concealed, such that even its presence cannot be noticed
COVER
Message
Embedding
Process
Stego-Object
Extracting
Process
Message Communication
System
Input data used
• Cover of grayscale type (1000X674)
• Message of grayscale type (256x256)
• Why grayscale?
Cover Image
Message Image
Stego-Image
Embedding Algorithms
Cover Image Message
Image
Calculate size of message (rows ,columns)
Convert each pixel value into binary
Reserve first 20 pixels for hiding message size information
Convert each pixel into binary
Sequentially Replace LSB’s of cover image pixels with message
bit
Least Significant Bit Substitution
Cover Image
Message Image
Stego-Image
Histogram of Cover Image
Histogram of Stego Image
Difference between Histograms of Cover and Stego Image
Size of Image Mean Square Error
Peak Signal to Noise Ratio
100% 0.177 128.1002
75% 0.1188 132.1314
50% 0.0532 140.1627
25% 0.0123 154.8155
LSB with Randomization
Instead to sequentially replacing the LSB’s of pixels of cover image with message bits ,the replacement is done on the basis of stego-key.
Stego-key is a stream of pseudo random numbers which lie between 0 and size of cover image
COVER
Message
Embedding
Process
Stego-Object
Extracting
Process
Message
Stego-key
Stego-key
Histogram of Cover Image
Histogram of Stego Image
Difference between Histograms of Cover and Stego Image
Size of Message
Mean Square Error
PSNR
100% 0.1904 127.411675% 0.1114 132.770350% 0.0501 140.756525% 0.0124 154.7397
Extraction
• Input: stego-image, key
• Step1: Convert the secret message into bit stream (Length L)
• Step2: Generate L number of pseudo random number using seed key
• Step3: for i=1 to L { Get lsb of pixel denoted by ith pixel position Append this lsb into secret bit stream }
• Step4: Convert secret bit stream into secret message
• End Output: secret message
History…
• Shaving the head
• Wood tablet covered with wax
• Microdots
• Invisible ink
• Vexierbild
• Acrostic
• Paper mask
• Book : Hypnerotomachia Poliphili
• “ Poliam Frater Franciscus Columna peramavit”
Wisdom from cryptography…
We assume the method used to encipher the data is known to the opponent, so the security must lie in the choice of the key
Example of public key steganography
• One way to build public key steganography system is the use of public key cryptosystem.
• Both cryptographic algorithms and embedding functions assumed to be publicly known.
• ‘ Natural randomness’ indistinguishable from ciphertext.
Attackers..
• Active attacker is not able to change the cover and its semantics entirely, but only make minor changes so that the original and modified cover-objects stay perceptually or semantically similar.
• Malicious attacker forges messages or starts steganography protocols under the name of one communication partner.
Active attackers…
• Steganographic system is extremely sensitive to cover modification.
• A system is called robust if the embedded information cannot be altered without making drastic changes to stego-object.
• Trade-off between security and robustness.
• Two approaches to make steganography robust:
i. Making embedding process robust
ii. Reverse the modifications that have been applied.
Active attackers…
• Robust algorithms have to place the information in perceptually most significant parts of the signal, since information encoded in noise component can be removed without great effort.
• It is known that embedding rules operating in some transform domain of cover signal can be much more robust to modification than embedding algorithms operating in time domain.
• Information is hidden in plain sight, so obviously, in fact, that it is impossible to modify without gross modifications to the transmitted object.
LSB matching
• In LSB replacement , the cover pixels with even values either remain unchanged or are increased by 1, while inverse is true for odd-valued pixels.
• LSB replacement can be easily detected.
• In LSB matching, 1 is either randomly added to or subtracted from cover pixel value. It is much harder to detect.
Mielikainen’s improved LSB matching
• Embedding is performed using a pair of pixels as a unit, where the LSB of the first pixel carries one bit of information, and a function of two pixel values carries another bit of information.
• The modified method allows hiding the same payload as LSB matching but with fewer changes to the cover image.
Cover…
Message…
Cover histogram..
LSB replacement stego histogram..
LSB matching stego histogram..
Comparison
100% 75% 50% 25%0
0.05
0.1
0.15
0.2
0.25
Mean Squared Error
Simple LSB LSB with Randomization LSB Matching
Size of message
MSE
Thankyou