Steganography is the art of hiding information in plain sight by embedding it in a file such as a picture.
To put it simply, steganography is data hidden within data and an encryption technique that can be used together with cryptography to protect data.
Difference between steganography and cryptography:
The aim of cryptography is to make data unreadable by a third party while steganography is concerned with hiding data from third parties.
- Read: What is Cryptanalysis.
Steganography techniques are often used with images, a video file, and audio files.
A brief history of steganography:
It was used in the past to trade personal secret, plan covert operations and send political espionage information.
For example, during the second world war, French Résistance used invisible ink on courier’s backs to send messages between Résistance cells.
In Greece, people wrote secret messages on plain wood tablets and covered it with wax. Also Da Vinci embedded secret meaning in his paintings.
- Read: Introduction to Cryptography.
Here are the common uses of steganography:
- It is used in watermarking to hide copyright information within a watermark by overlaying files not easily detected by the naked eye.
- It has been used for secret communications that deal with terrorist plots.
- Has been used in the military, for example, secret messages were tattooed on soldiers shaved heads.
- Steganography protects from pirating copyrighted materials and helps in unauthorized viewing.
What are the advantages of steganography over cryptography:
The main advantage of steganography over cryptography is that the intended secret message does not attract attention to itself as an object of scrutiny.
Normally, messages encrypted with cryptography arouse interest to break them and also may in themselves be incriminating in countries where encryption is illegal.
Though it’s easier to extract hidden messages, steganography is more discrete than cryptography.
Digital steganography (modern steganography) works by adding the secret bit or by replacing bits in files, such as photos or audio files, with secret data.
In this guide I will be discussing the following:
- Steganography techniques.
- Steganography tools.
1) Steganography techniques
Here are the two main steganographic techniques:
- Adding bits to a file
In this technique, the hidden message could appear in the file header, which contains information such as; file type, the resolution and color depth of the image.
Another method would be to attach secret messages after the official “end of the file” (a pre-defined end of file mark that every file has).
The only downside with this technique is that the file size would be larger. Thus, a third party can easily detect the presence of hidden data inside if they have the original image.
- Using the least significant bit (LSB)
This technique works by replacing bits of the original file. So as not to damage or alter the file itself, data parts that are not important to the overall file are used.
Here is an example:
As you know every byte is made up of 8 bits. But not all of the 8 bits are necessary to define if a pixel of an image is red or white.
This makes it the best place to hide secret data since:
- It doesn’t add any size to the file.
- It doesn’t alter the file itself.
For example, a pixel of an RGB image is defined by three bytes for each color. By replacing the LSB of each byte, you can hide 3 bits of information in one pixel.
In case of an audio stream, you can replace the typical noise and hissing in songs with noise that sounds just a bit different and containing your secret data.
2) Steganography tools
Here are tools and software that you can use to learn more about steganography:
- Xiao steganography – This is a free software that can be used to hide secret files in BMP images or in WAV files.
- Image steganography – Is a free software for hiding information in image files. You can hide text message or files inside an image file.
- Steghide – is an open source steganography software that lets you hide your secret file in an image or audio file.
- Crypture – is a command line tool that can be used to hide sensitive data inside a BMP image file. Note that the BMP file should be 8 times larger than the data file which you want to hide inside the BMP file.
- SteganographX Plus – is a small tool that lets you hide your confidential data inside a BMP image.
- rSteg – is a Java-based tool that lets you hide textual data inside an image.
- SSuite Picsel – is a free portable application to hide text inside an image file. It uses an image file as a key to protecting your hidden text inside an image.
- Our secret – this tool is also used to hide sensitive information in a file.
- Camouflage – is a steganography tool that lets you hide any type of file inside of a file.
- OpenStego – with this tool you can attach any kind of secret message file in an image file. One can hide images in BMP, GIF, JPEG, JPG, PNG, and WBMP.
- SteganPEG – lets one hide any kind of file into a JPG image file. You simply attach any file and give the password to hide inside a JPG file.
- Hide N Send – is a utility which lets one hide any kind of file behind a JPG image file. The best thing about this tool is that it also supports hashing and encryption.
Now I want to hear from you.
What is your best technique for hiding information?
Or maybe I missed your favorite steganography tool.
Either way, let me know by leaving a comment below.