Here’s a fascinating (but very heady) video by Computerphile, which recently sat down with image analyst Dr. Mike Pound of the University of Nottingham to talk about the subject of digital image steganography.
Steganography is the practice of hiding one piece of content inside another. In this case, Pound talks about the idea of being able to kind all kinds of content inside digital photograph files.
There are various techniques for doing this “hiding,” some of which are way more complicated than others. One that Pound discusses and shows early on is the changing of the 2 least significant bits in each byte of an image. In many types of image formats, altering the last 2 bits of each byte has an almost imperceptible change to the photo, so the image as a whole can look basically identical to the original.
As an example, Pound shows a photo in which he hid the entire works of William Shakespeare, or about 1.5 megabytes worth of data. Without the original image for reference, you wouldn’t know that a large amount of data has been hidden inside the pixels:
If you’re computer savvy and would like to play around with image steganography yourself, there’s some old but available source code out there for a system called JSteg. You can use the software to inject/extract a data file into/out of a JPEG.
With this type of data hiding, even if you take a difference of the two images, what you get looks like an image filled with random JPEG noise:
Pound says that steganography has some practical applications as well. One could be for photographers who want to watermark their work secretly.
“I think one of the most common uses is digital watermarking,” Pound says. “In watermarking, what we want to try and do is fingerprint a file so we know where it came from. We know it’s ours — maybe for copyright reasons, or to trace who’s been distributing illegal material.”
The secret watermark could be hidden throughout an entire image, meaning that even cropped images would still show the same watermark.
Image credits: Video and still frames by Computerphile