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
- idle
- python
Log in or sign up for Devpost to join the conversation.