Hiding in hue

This short essay is on a small idea of Steganography, which in truth is quite limited, but with the amount of online traffic and the speed the Internet grows, even simple ideas can go unnoticed and are hopefully a bit of fun to explore. It may be documented else where on the web, but I didn't look as I quite enjoyed experimenting with it myself and thought I should write it down before I forget all about it.

Below is a standard BMP containing some hidden items, which can be seen if you split it into HSL (Hue, Saturation and Light) channels and look at the Hue channel.

Demonstration picture

(In PSP the command can be found under COLORS / SPLIT CHANNEL / SPLIT TO HSL)

MULTI.BMP incorporates some ideas or areas that allow some scope for hidden data in non-compressed picture formats. Firstly lets take a look at a brief explanation of Hue: Hue is the characteristic of a colour that makes blue different from red and green etc, caused by the length of the light wave, ranging from infrared to ultraviolet. For the purposed of this essay the Hue ranges from 0 to 255 in a circle, running from 0 at the top anticlockwise 360 degrees through to 255 and back round to 0 as shown below. The box in the middle shows whats known as a tonal group for the Hue of 0. The tonal group shows the effect of light and saturation on the Hue, but we will come back to this in a minute.

Hue and the tonal group

The Hue channel is shown a standard greyscale palette with black representing a hue of 0 and white being 255. Now lets compare two colours: #FF1115 (255,11,15) and #FF1511 (255,15,11)

Both are basically red and very similar to the eye, but with Hues of 254 and 0 respectively. With red ranging over the Hue start and finish we can use both colours to hide data. Why not try flood filling with one of the above colours and doing a quick drawing with the other. Unless it is just my poor eyes, you should not be able to see any difference in the colours.

This does open quite a large weakness in that computers are very accurate and the palette dropper will show the colours vary and this can highlight the fact that Steganography may be in use. This will always be true, but I think Steganography sometimes calls for some flexibility and we can always create a picture for the purpose it is needed. The picture I have included was deliberately red based and I made it look quite busy to make the ease of detecting colour changes much more difficult.

If you now refer back to the tonal group shown above we can look at the next area of interest. The tonal group shows different levels of concentration of the basic Hue, with it being more visible in the mid-right region that around the top, left and bottom edges. Now lets compare another three colours: #818080 (81,80,80) and #808180 (80,81,80) and #808081 (80,80,81)

All are virtually identical, but with Hues of 255,85 and 169 respectively. The face and the shapes are in areas where the Hue is less prominent in the overall colour and so we can vary the Hue greatly without upsetting the visual display of our image. Why not try flood filling in a very dark grey, say #080808, create a new layer then draw with a variety of colours. To get the hue from our draw into our flood filled area we must set the layer blend mode to color. The draws should now disappear and return when we split to HSL. As a note, the hue on the standard 24bit palette runs from 0 (will show as black) at the top to 255 at the bottom (will show as white).

The 24bit palette

As we are hiding in darkness, the saturation we choose will not affect the visual effect. If you try this with a greyscale image as the source, you will see the image become colorized. To overcome this we must use low saturated colours, or adjust the saturation prior to hiding the data as I used in order to hide the three shapes. As a reminder the saturation runs from left to right on the tonal group and hiding in greyscale requires colours from along the left-hand edge.

Another problem with using a greyscale image to hide data is it requires the 24bit palette. This would be a waste of space, but lots of images have areas of non-colour as well as colour that make good hiding grounds.

I hope this has perhaps given you some ideas and you didnt find the tour of the palette too boring!

Any comments or suggestions are gratefully received as always. Have fun!

Monty 5th December 2004 :: Back Home