This is how Wikipedia defines
Steganography:
Steganography is the art and science of writing hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message, a form of security through obscurity.
The goal of this exercise is to write a program
encode that takes two arguments: A picture and a data file. The program will output a file that behaves in every way like the input picture, meaning that you should be able to open it in the common picture viewer applications (the only difference should be that the size of the output file is bigger than the input).
You should also write a
decode program that retrieves the secret data from the seemingly innocent picture file.
You are expected to do your own research to figure out how to do it. It would be awesome if you could link to (or explain in your own words) the algorithms you chose to implement.
You are free to use any language, lib, framework you want.
You are free to present the program in any kind of UI you want.