Merry Christmas 16 - Watermark Steganography
1) Derive a key for your algorithm to be used for generating the random numbers needed below.
2) Using a seed from your key, divide the image into polygons using some relatively simplistic scheme, not to spend too much effort upon this stage. For example, you might have a line detection technique, and use the lines as polygon boundaries. Or you could have a speckle pattern texturing scheme. Or you could do it by breaking up the image into dominant color polygons. The simplest of all is a deterministic cookie cutter jigsaw puzzle polygon formula. The only important thing is that the polygons MUST be reproducible for a given image provided your key is known. This means that the image plus watermark must result in generating the same polygon set as the image without watermark.
3) Within each polygon use some algorithm to determine a value for the polygon's binary data based upon the image content within the polygon. Once again do not spend too much effort on elaborate schemes. For example the red, green, and blue color planes could each have a total intensity, which is taken modulo some number related to the polygon identification code.
4) You have divided the image into polygons, each with a unique identifier and each polygon has an uncoded value(s) representative of its original content. Now comes the fun part. Using the polygon identification and the content value(s) determine using a formula the unique code number of the polygon formed from those factors. Having derived the unique code number, use a shading or texturing algorithm to modify specific image pixels within the polygon's boundary perimeter. The modification of the original image into the steganographic image is deterministic. To verify that the image IS valid and unmodified from the original plus watermark, append to the image as a bordering frame of pixels the sequence of codes for the polygon's unique codes. This will give the image a nice bordering rainbow of lines as a frame.
5) To validate an image, supply the key used to form the steganographic image, and a decryption algorithm to use the border for reference data and the reverse polygon modification for the given polygon code. Then if the image is true, the key should predict the polygon code obtained from the image border from the content of the polygon after the reverse algorithm is applied...
Lonnie Courtney Clay