Code Breaker Web Application - Coggle Diagram
Code Breaker Web Application
The Big Ideas
A project where polybius square is used
2048 game style of breaking the code
Public-Private key; user has to try to find the right key based on the data on the block
User hits buttons where it shows a light pattern. If the user gets it right, the object will unlock.
Type of Puzzle
Types of asymmetric encryption algorithms:
Elliptical Curve Cryptography (Bitcoin uses this)
Types of symmetric encryption algorithms
AES (Advanced Encryption Standard)
User has a series of buttons/switches (Variables of the encryption/decryption function) that they can adjust
Right and left arrow to go the the previous or next problem.
Solve button to submit solution
If the solution is false. A hint will pop up at the side where the user can close it. It will also highlight what parts of the solution is false.
Animations of encrypting messages/decryptiing
Font-awesome for icons/replacement for emojis
Bulma CSS Library
Breadcrumbs to navigate through a list of problems. It also shows you whether you have completed or not through coloring it with red or green
CSS for designing
Making the user-experience have quality,
Simple User Interface
Engaging variety of problems so the user can think.
Have a virtual mascot to help you throughout the problem.
A mini-story line that the user can follow.
Written in python
In the serverside, the solution is checked. It returns a code whether the solution was correct or not. Plus other required information.
Save the session of current cryptography problem.
Loads the session of the current cryptography problem.
Things to avoid/Security
Using sockets. It is safer to use POST instead of sockets.
This avoids cheating too. As the socket codes are exposed in the frontend
Using GET to send data
Avoiding instances where the front-end code can be changed to get all the solutions from the backend.
Phones, Tablets, computers
People who want to know how blockchain works
People who want to learn from feedback.
People who want to inspire others.
The user must attempt to encrypt a plain text message and send it to a virtual person.
Additionally, there can be an extended functionality where the user can decrypt its own or try to find out a random cryptic text and decrypt it by guessing its key.
To attempt to guess the "key", the user will be given bits of information about the text.