January 17, 2014

Steganography

I'm currently working on my final year project (I just did my first part's presentation this morning, which was terrible, in a way) which involves a technique called "Steganography" or Stego, for short.

The purpose of Stego is similar to Cryptology, in a way that it is used to protect the valuable data from unauthorized access. However, there is a huge difference between the two. Encryption techniques apply specific algorithms to the valuable data (plaintext) to produce encrypted data (ciphertext).

On contrary, Stego focuses on hiding the valuable data (hidden message) within another non valuable data (cover). It's about "hiding the data in a plain sight". In most usage, Stego technique is designed so that the non authorized user does not even realize the hidden message even exists at the first place.

There are various type of medium use for cover. Most notably is image. But lets start with some text files example first.

Lets say, I want to save my password for 2 different websites that I have registered to. I create a text file, naming it visited_countries.txt suggesting to everyone that this file lists all the countries that I have visited. In the files, I have these following content:
        indonessia japan korea usa france nigeria bangladesh india china

 The passwords that I stored in the file were ijkufnbic and naosrianh.

Anyone else who opens the file realizes that the file is merely listing the countries and is not of important. But because the fact that I know there is a hidden message[1] and also the algorithm used[2], I am able to get my passwords from this list.

Hidden message, in a plain sight.

p/s: the first and the second characters of each country.