F5 A Steganographic Algorithm Davang Patel Thomas Schulze Slide 2 Agenda Introduction Capacity vs. Security JPEG JSTEG F3 F4 F5 Slide 3 What is Steganography? Steganography is the art and science of embedding hidden messages in a carrier medium such that no one apart from the sender and intended recipient even realizes there is a hidden message. Mediums can include images, video, and audio. Message Carrier steganographical encryption algorithm steganographical decryption algorithm Message Carrier Attack Message should be invisible to an aggressor Message should be not readable to an aggresso r Steganogram Slide 4 Steganogram Example The Story Behind the MATLAB Default Image More Info: http://blogs.mathworks. com/steve/2006 Slide 5 Capacity vs. Security Second algorithm small Capacity for steganographic messages Strong against attacks (visual or statistic) e.g. MP3Stego Embedding capacity less then 1 % Secure against visual attacks Secure against statistical attacks e.g. Jsteg Embedding capacity 12 % Secure against visual attacks Weak against statistical attacks First algorithm great Capacity for steganographic messages Weak against attacks (visual or statistic) F5 algorithm combines BOTH advantages!! Great capacity for steganographic messages Strong against statistical and visual attacks 13.4% embedding capacity Slide 6 JPEG Mechanism Histogram for JPEG coefficient after quantization 1.The coefficient s frequency of occurrence decreases with increasing absolute value. 2.The difference between two bars in the middle of the histogram is greater than the difference between two bars near the ends. Slide 7 JSTEG Algorithm After quantization, Jsteg replaces (over writes) the least significant bits (LSB) of the frequency coefficient by the secret message. The embedding mechanism skips all coefficient with the value 0 and 1. Resistant against the visual attacks and good capacity with 12.8 % of the steganogram's size, but the secret message is easily detected by statistical attacks. (chi-square test) Jsteg influences pairs of the coefficients frequency of occurrence !!! JSTEG Slide 8 F3 Algorithm 1.Does not overwrite bits -- Decrement the non-zero coefficients absolute value only if the LSB does not match. Zero coefficients are skipped. 2.The LSB of a non-zero coefficient will match the secret message after embedding. Advantage: statistical attack (chi-square test) will not be successful Disadvantage: Less capacity and surplus of even coefficients caused by shrinking. The surplus of even coefficients can be detected by statistical means. Original JSTEG F3 Algorithm Slide 9 F3 Shrinkage Shrinkage of coefficients causes a decrease in embedding capacity. Since the receiver cannot tell between a skipped zero and a zero that was generated due to shrinkage, repetitive embedding is necessary. -4 -3 -2 -1 0 1 2 3 4 Slide 10 F4 Algorithm Mapping negative coefficients to the inverted steganographic value. Even negative coefficients and odd positive coefficients represent a steganographic one. Even positive coefficients and odd negative coefficients represent a steganographic zero. Slide 11 F4 embedding example Embed the code 01110 If LSB and message does not match, Increment negative Coefficients Decrement positive coefficients Slide 12 F5 Algorithm Overall algorithm the same as F4. Extends F4 by adding two distinct features: Permutative straddling Matrix encoding Slide 13 F4 embeds the data into the next available non-zero coefficient. F5 will scatter the entire message throughout the carrier. Uses permutation to equalize the spread of embedded data. Permutative Straddling F4 carriercarrier+ message carrierpermutation permutation + message Inverse permutation Note: treat each pixel as if it was a JPEG coefficient. F5 Slide 14 Matrix Encoding Improves the embedding efficiency from 1.5 bit to 3.8 bit per change. Embed 1736 bit message F4 F5 459 changes How does it work? 1157 changes Consider we want to embed x 1 and x 2 in LSB locations a 1, a 2, and a 3. Slide 15 F5 encoding process Permutation is generated using user-defined password. Discrete Cosine Transform Quantization Permutation F5 Embedding function Inverse Permutation Huffman Encoder Steganogram (JPEG) Bitmap CarrierMessage Random Number Generator Password Quality Slide 16 F5 example Carrier Image Secret Message F5 Encrypt/Decrypt Program Resultant Steganogram Slide 17 Conclusion F5 has high embedding capacity (>13%) but can be pushed even further. Resistance to both visual and statistical attacks. Uses a common image format (JPEG). Slide 18 Any Questions?