Inspiration
Raking for ideas, we stumbled upon steganography, the act of hiding messages and information in plain sight, virtually invisible to those unaware of it's presence.
We thought this would be a really fun and interesting way to store data, and then using said data, ending us up with a image based password manager.
What it does
The program takes in an image and password, and encodes the image with the password through the image's RGB data, changing the least significant bit of each value. By doing this, we can store binary data in the image, while slightly changing the image, being virtually impossible to see through normal human eyes. The program can then choose an image, decode it, and spits out a password for the user to copy and paste and use it anywhere. The best part is that our program encrypts the data on enter, meaning if a person were to get access to the png that stored your information, and put it through an online decoder, it wouldn't give you the correct information.
How we built it
Throughout the entire project, we knew we needed to read an image, while using a language comfortable to our group. Knowing this python was the obvious option, with all of us having various amounts of experience, with our teammate Prahas having good experience with coding front end with Python. Using Pillow, we were able to easily read image data, modify the least significant bit of each rgb value in order to hold our data. Using our functions, we were then able to implement the program to encode and decode the image easily. Using PyQt5, we built the Front end functionality and UI of the program, being able to use the program easily.
Challenges we ran into
During development, we ran into some small issues. For starters, two of us, while having experience with python, still needed refreshers. Online documentation and searching up how to do certain things allowed us to get back into the flow and figure stuff out however. On top of this, figuring out the pixel binary modification and encryption took a while to figure out, but as a group we eventually figured it out.
Accomplishments that we're proud of
Considering that for two of us, this is our first official project and hackathon, we we're super proud of being able to complete a project that we believe is creative, and ending up with something we are proud of
What we learned
We refreshed ourselves in python, and new libraries for the language. For two of us, Louis and Davin, we enhanced our github and teamworking skills, learning how to more effectively develop in a team setting.
What's next for Chameleon Type
From here on out, we hope to be able to make the program more efficient, adding better security services with data encryption and passcode data. Outside this cleaning up the program and creating more useful options for the user. Of course school work comes first, but we hope to be able to go further from here during our free time.
Built With
- cryptcode
- pillow
- pyqt
- python
Log in or sign up for Devpost to join the conversation.