Inspiration

As beginners with some experience in GUI development, we wanted to create something that could easily be implemented into a visual user environment. We thought of a simple encryption/decryption program that utilizes a user-defined combination of algorithms to encrypt a secret message!

What it does

Our GUI allows a user to type a message and a key (the key has a specified format) and encrypt the message. The GUI allows the encrypted message and key to be copied to the clipboard so that they can be sent to the desired recipient. The recipient can copy and paste these strings using the buttons in the GUI and decrypt the message! If this program was kept off of the internet, it is possible that a hard drive could be used to download this program onto multiple devices, allowing only those devices to encrypt/decrypt messages in this format.

How I built it

We started by brainstorming three operations to encrypt a message: change ASCII values, move characters left or right, swap all instances of two characters. Next, we created algorithms to complete these tasks -- e1, e2, e3. We then created three decryption algorithms to decrypt their respective encryption -- d1, d2, d3. Once these were finished, we created a program that prompted a user for a string input and a key, which would then spit out an encrypted message. We tested the decryption process as well. Finally, we designed a GUI using the tkinter python library that allows for the full functionality of our project.

Challenges I ran into

We had a bug within our d1 algorithm that was rather tricky. We wanted ASCII values to remain on the interval [32,126], which are all basic keyboard characters. We had to derive mathematical functions that would return a value on this interval no matter the translation value of the key; for example, if a person wanted to decrypt a message by moving characters down 500 ASCII characters, the resulting character would have to be within this range. We also had to learn the tkinter library in order to display our GUI correctly.

Accomplishments that I'm proud of

We are most proud of the fact that we created a creative, visual python application with our own skills. We were able to create solid algorithms with no bugs and form a functioning GUI that implemented these algorithms.

What I learned

We learned how to use the tkinter python library to create a GUI.

What's next for Blasterjack's Encrypter & Decrypter

HowdyHack 2021, of course! The Blasterjacks will be back!

Built With

Share this project:

Updates