Steganography is the art and science of writing hidden messages in such a way that no one other than the sender and recipient suspects the existence of the message.
A Brief History of Steganography
The first person to mention steganography was Herodotus, a Greek historian who lived from 484–c. 425 BC. He wrote The Histories, and in it, he talked about 3 different uses of steganography:
- A guy named Demaratos warned people about an upcoming attack by writing the warning on a wooden tablet and then covering it in wax. When the recipients got the tablet, they scraped the wax off and read the message.
- A guy named Histiaios wanted to send a secret message, so he took one of his slaves and shaved his head. He then tattooed a message on his head. After the hair grew back, he sent the slave to the intended recipients. They shaved his head and got the message.
- A guy named Harpagos put a message inside the stomach of a hare and sent it to the recipient. The recipient cut the hare open and got the message.
There are so many ways to hide messages. There are physical ways and digital ways. Here are a few examples of each:
- Writing a message with hidden inks. There are lots of options for invisible inks. For example, a honey or sugar solution appears invisible but shows up when heated. Lemon, apple, orange, onion juice, or milk also work.
- Writing a message on an envelope then covering it with a stamp.
- Knitting a message in Morse code and inserting it into a blanket or piece of clothing.
- In 1966, a Vietnamese POW named Jeremiah Denton blinked his eyes in Morse code, spelling out the word “TORTURE” when his captors put him in front of a camera.
Steganography vs. EncryptioN
You might wonder what the difference is between an encrypted message and a steganographic message.
The difference is that, with steganography, messages are just hidden, and no one knows they exist. If they were discovered, anyone could read them.
With encryption, however, the messages are converted into a code. You need to know the code to turn it back into intelligible text.
These days, digital steganography is quite popular.
Digital steganography involves hiding a message inside a seemingly normal picture or audio file and then sending it via email or other means. Here are a few other examples of digital steganography:
- Embedding a picture in a video file (you view it by changing the playback speed)
- Blog Steganography entails posting fragments of a message as comments on various blogs or message boards. The intended recipient knows which blogs/boards to use to find the messages and put them back together.
- Changing the echo in a sound file.
- Making text the same color as the page background or email background. You don’t know it’s there until you “View Source” or highlight it.
By the way, detecting steganographic messages is called “Steganalysis”, and is a growing field as interest in steganography is rising again.
There are some software tools online that will allow you to hide messages inside pictures or sound files. A Google search will give you lots of options. For example, Crypture encrypts and stores files in Windows bitmap files. I haven’t used this one, so I can’t vouch for it.
If you would like to try some steganography, Web Developer Avinash Kumar Sharma has provided an easy-to-follow tutorial. His method doesn’t require any software. Instead, you can use Windows’ command prompt.
Here’s his method to hide any file (even a full-length movie!) inside an image file:
You will need:
- An image to hide your file in
- The file you want to hide, in zipped format
- Command prompt
If you need something to zip your file, you can download a program like 7zip, which is free.
1. Put the zip file and the image inside a folder. You could just put it on your desktop. Try using a Word document and a pdf file, for example. Here’s the image I used:
2. Open cmd (command prompt). You can do this on Windows by clicking “Start” and typing “cmd” in the search box. Then navigate to the directory where both the files are. In this example, you’d navigate to "desktop". So, you might need to type cd desktop
3. Now type copy /b imagefilename + zipfilename [filename with extensions], here is a screenshot:
Now, the image size will increase. This is just appending the second file to the first file. That /b is to specify that it is a binary file.
Opening The file
After copying, the image file size will increase, but it can be opened normally and you won’t notice any difference, except for the size.
To open the zip file, open it with any Zip tool. I use 7zip. You’ll find all the files there. Just extract it wherever you want.
Try sending a secret message to a friend or family member!