Inspiration

Data security is a must in today's world. Hackers mainly want the confidential details of any person or an organization. In order to safeguard the data, we need to convert it to human unreadable form which is called encrypting. Cryptocademy contains many cryptography algorithms like ROT13, Base04,Hex, etc for encryption and decryption of data and 3 encryption algorithms.

What it does

The home screen lets the user select between encoding and encryption. If encoding is selected, the next screen shows six different encoding methods. The encoding techniques are Caesar’s Cipher, Rot13, UTF-8, Base 64, Hex, and Big Int. After making the selection of the encoding process they would like to use, they can read a short description teaching them about how the process works before typing in phrases to test it for themselves. After, they can also decode the message they just typed in to see that the encoding and decoding process successfully work.

The encryption aspect of the platform works similarly with the user having the choice between RSA, Advanced Encryption Standard Electronic Code Block(AES ECB), and Advanced Encryption Standard Cipher-Block Chaining(AES CBC). In addition, the program also has 3 attacks: the Chinese Remainder Theorem, Coppersmith attack, and the dachshund attack that will be selected based on the user's input that is given.

How we built it

I used the kivy module to create a graphical user interface that can not only be used on the computer, but also exported onto a phone as an mobile app. For the cryptography aspect, I utilized the python cryptodome module as well as our implementations of attacks on known vulnerabilities.

Challenges we ran into

Learning and utilizing the kivy module for the graphical user interface was challenging for me because I have never used it in the past. Implementing the math behind some of the algorithms was also a challenge.

What's next for Cryptocademy

In the future, I want to add more RSA attacks, in addition to the Chinese Remainder Theorem, Coppersmith attack, and the dachshund attack. I would also like to add a page where users can work on creating their own encoding techniques that are not already on there. Lastly, I would expand the length of the text that can be imputed and generate a frequency analysis tool to test for simple substitution ciphers.

Built With

Share this project:

Updates