11.07.2015 Views

Java Art Chapter 6. Steganography

Java Art Chapter 6. Steganography

Java Art Chapter 6. Steganography

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Java</strong> Prog. Techniques for Games. <strong>Java</strong> <strong>Art</strong> <strong>Chapter</strong> <strong>6.</strong> Stego Draft #1 (7th June 09)Figure 10. A Surface Plot of the Subtracted StegCrypt Image.The message stands out as variations from 0, along the first few rows.Although the difference between the two images seems to be just noise, it's presenceonly at the start of the image raises suspicions, and makes it easy to delete.My solution, detailed in the next section, is to insert the steganographic message intothe image multiple times –spreading the 'noise' throughout the image, and making itharder to remove the message by cropping.4. The MultiStegCrypt ClassThe MultiSteg stores multiple copies of the stego message in the image, insertingthem one after another from the beginning of the file until there's no room for anothercomplete copy.It's useful to add a header string to the start of each copy. After image cropping, theheaders make it easier to search the image and identify a surviving message.Each stego message now has four fields:"XXXXX"The "XXXXX" string is the header. The password, size, and binary message are thesame as in StegCrypt, with the encryption and decryption of byte arrays achieved withJasypt's BasicBinaryEncryptor class.4.1. Hiding the Messagehide() is largely unchanged from previously, except that buildStego() adds the headerstring to the front of the stego byte array, and singleHide() is replaced bymutipleHide().18 Andrew Davison © 2009

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!