Data Lab: Python Image Steganography

The Monalisa


Steganography is a technique by which information is concealed in plain sight. There are many ways to conceal information. One of the most common techniques is to embed information (text, images, sound) in images. A commonly used method for image steganography the least significant bit (LSB) method. One of the key advantages of encoding information in the least significant bit is that the human eye cannot distinguish between the original image and the image with secret information embedded in it.

In this assignment, you will develop a steganography algorithm which can conceal secret information in an image of your choice.

Requirements

  • Only use standard python libraries such as Pandas, Scikit_learn, NumPy and Matplot-lib. In particular, NumPy to manipulate the image and Matplot-lib to display the final image.
  • Your code must consist of an encoder function (to embed the secret message) and a decoder function (to decode the secret message).
  • Code must be well formatted, documented and reproducible.
  • At time of submission, code should compile with no errors.
  • Use Github for version control.
  • Use Jupyter notebooks.

Challenges

Remember to have fun!


Deliverable

The Jupyter notebooks are to be uploaded to Github no later than 5pm on last data lab day. Confer with a lecturer beforehand if you're handing in something other than Jupyter notebook.