Please enable JavaScript.
Coggle requires JavaScript to display documents.
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
Encryption
Types of asymmetric encryption algorithms:
RSA
http://pajhome.org.uk/crypt/rsa/implementation.html
Elliptical Curve Cryptography (Bitcoin uses this)
https://bithin.wordpress.com/2012/02/22/simple-explanation-for-elliptic-curve-cryptography-ecc/
Types of symmetric encryption algorithms
AES (Advanced Encryption Standard)
ChaCha20
Front-end
Functionality
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.
Design
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
Javascript/HTML forms for communicating with the backend
Making the user-experience have quality,
Simple User Interface
Basic colours
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.
Backend
Flask
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.
Session variables.
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.
Target Platforms
Chromium browsers
Windows
Phones, Tablets, computers
Target Audience
People who want to know how blockchain works
People who want to learn from feedback.
People who want to inspire others.
Main Ideas
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.