
cabbagebot replied to your
link:
Steganography
We had a contest in a class of mine once to see who could hide the most data in an image of a cow the teacher gave us.
who won, and how??
My group won =D. Our approach was fairly naive; we only had 30 minutes to create and implement our idea.
Essentially, we decided that you could modify each component color of a pixel by at most some value (I think 3 was what we guessed because we didn’t have much time to test?) without modifying the image greatly. We then broke down the input into a series of trinary numbers, and determined how to modify each color value of each pixel sequentially such that (value % 3) corresponded to the appropriate value in the file and such that that color value was minimally changed (for example, should we add or subtract so that modulus operation gives the correct result?).
It turns out that 3 is actually a poor estimate, I recall, and for some reason I remember somebody in my group later saying 8 was better for optimal data stored vs. noise. This technique ought to work better than simply replacing least-significant bits.
Our teacher told us about when he gave the assignment to some grad students with a bit more time. The group that won out of them did analysis of tiles of images, and would encode more data into tiles where there was a greater amount of natural noise. Apparently it worked pretty well.