Inspiration

The wonderful world of cryptography.

What it does

The objective of this program is to encode and decode messages in an image. The program utilizes a

symmetric image in order to compare encoded regions to a cypher region.

How we built it

The program consists of two files one to encode the message and one to decode it. The encoder is given

a file name and message and will open the image file using the Python Imaging Library. When the user

gives it a message it will convert the character to their ASCII vales and set the red channels of a given

row in the image to those values. When using the decoder, the program will open the image again and

compare the row of pixels where on the left of the image, which contain the message, with those on the

right which are unaltered. This allows the program to determine where the message that was encoded

has ended. This means that the maximum length of a message that can be encoded using this is half the

width of the image.

Challenges we ran into

The original images that we were dealing with could not be encoded properly and the project was almost dead at one point. But in true never say die fashion we did our research and found out that all we needed to do was switch from .jpgs to .pngs for everything to run smoothly.

Accomplishments that we're proud of

As Industrial and Systems Engineers we only have experience with the basics of python. As well, two of the three of us are first timers at a Hackathon. Getting everything to work out under these circumstances was awesome.

What we learned

Next time learn git beforehand to collaborate on code.

What's next for Image Encoder and Decoder

Working on making the modifications to the images more subtle. As well, tweaking things so that images can be easily encoded, sent over social media, and decoded on the other side by someone who has the decoder program.

Built With

Share this project:

Updates