SteganographyOutlineWhat is Steganography?Historical ExamplesShaved head StegNull cipherLSB Embedding - TerminologyLSB - ConceptLSB 24-bit BitmapsLSB 24-bit Bitmaps ExampleMy Own ImplementationThe Message8-bitApproach 1 - EzStegoApproach 2 – S-ToolsLSB – Analysis – The GoodLSB – Analysis – The BadLSB – Analysis – The UglyLSB – Analysis - ConclusionSteganographyLeo LeeCS 265, Section 2Dr. StampApril 5, 2004OutlineWhat is Steganography?Historical ExamplesLSB EmbeddingConceptImplementationAnalysisWhat is Steganography?Literally means “covered writing”Goals:Hide a secret message within some other objectDo so in such a way that the presence of the message is not discernableHistorical ExamplesInvisible Ink used in WWIIMicrodot: A page of information, the size of a printed period.Waxed TabletsA person’s head!Null-ciphers (unencrypted messages)Shaved head Stegmm…Beer…Null cipherMessage sent by German spy in WWIIApparently neutral’s protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affects pretext for embargo on by-products, ejecting suets and vegetable oils.Apparently neutral’s protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affects pretext for embargo on by-products, ejecting suets and vegetable oils.Pershing sails from NY June 1Pershing was an American generalLSB Embedding - TerminologyMessage = the secret information we want to hideCover image = image used to hide the message inStego-image = the cover image with the message embeddedLSB - ConceptWhich color is different? In (R,G,B) left and right are (0,255,0) Center one is (0,254,0) We can use the LSB to hold info, since it looks the same either way!LSB 24-bit BitmapsIn 24-bit bmps, each pixel represented by 3 bytes (RGB)Use lsb of each byte to hold a bit of messageLSB 24-bit Bitmaps ExampleMessage = ‘f’ = 0110 01102Cover Image: FF FF FF 00 00 00 FF FF …Stego-image: FE FF FF 00 00 01 FF FE …My Own ImplementationWhich is the stego-image and which the cover?Cover Image Stego-ImageThe Message8-bit Don’t hold direct color valuesDo hold offsets into a paletteCan’t just change lsb, because adjacent colors in palette may not be similarApproach 1 - EzStegoUse cover image with similar colorsExperts recommend gray-scale imagesArrange palette so adjacent colors are similarApproach 2 – S-ToolsUse only x bits for unique color information.8 – x bits are for secret messageExample (x = 7):Can only have 128 unique colorsFor each unique color, there’re two similar colors xxxx xxx0 & xxxx xxx1LSB – Analysis – The GoodSimple to implementAllows for large payloadMax. payload = b * p where;b = number of bytes per pixelp = number of pixels of cover imageLSB – Analysis – The BadEasy for attacker to figure out message if he knows the message is thereBut the images look the same, so can’t tell it’s a stego-image… right?Human vision can’t tell but vulnerable to statistical analysisLSB – Analysis – The UglyIt’s even easier if the attacker just wants to corrupt the message.Just randomize the lsbs himselfEven vulnerable to unintentional corruption: image cropping, conversion to jpeg and back, etc.Integrity is extremely frailLSB – Analysis - ConclusionGood for cases where only low security is desired, but not necessary.Added security when coupled with cryptographyFoundation for many variations, which are more secure e.g. not vulnerable to statistical analysis
View Full Document