Steganography, in computer terminology, is the art of hiding data (audio, video, photograph, documents) in other files (which may again be audio, video, photographs or other documents). One may think as to what is the need of steganography when encryption is already there, but there is a difference between the two. Whereas encryption (usually) changes the data into something unreadable, it is pretty clear in such cases that there is some encrypted/hidden data. On the other hand, with steganography, a person having unauthorised access to the file containing the hidden data will not be able to know that there is something hidden barely by seeing or listening to the file.
There exist certain specialized software which enable us to achieve steganography. A simple search on any online search engine will yield hundreds of results for tools which can help with steganography.
Some of the examples of steganography are:
- Sentences can be framed in such a way that there is a hidden meaning of the sentences when entire paragraph is read together. E.g. the first words of all sentences may together hold a cryptic clue to the reader.
- Random sentences can be generated which together may not mean much, but when such sentences are generated by a pattern, this pattern can enable us to hide data in such sentences.
- Since all images are stored as bits, the least significant bits of the image can be used to store the binary representation of the required message.
- Similarly videos can also be used for hiding data.
- When data packets are sent to a destination device over the Internet, the bits in the data packet can be assigned in such a way that they hide messages apart from holding protocol related data.
There is just one main aim of steganography, i.e. to hide data within other data. But steganography has the potential of being used for all the wrong purposes also. It may be used by fundamentalists and terrorists to share data among themselves and thus plan out adverse activites.
Detecting steganography (called Steganalysis) is not an easy task simply because the idea that something is hidden inside the given file is not sensed by the human senses. We may need to magnify objects or use ultraviolet light or use generic steganography tools or use numerous other known methods for decoding the hidden data. If some data is hidden using a custom algorithm, it may not be possible to decode it without using brute-force technique wherein every combination of data and methods is utilized.
For Wikipedia entry on Steganography, click here.
For more posts on Advanced Topics, click here.
For more posts in The Cyber Cops project, click here.