monke7769 / passion

Apache License 2.0
0 stars 0 forks source link

Project Plan 10/02 #1

Open monke7769 opened 11 months ago

monke7769 commented 11 months ago

Passion Project Theme: Ciphers/Cryptography

User interface: Frontend (Github Pages) Split up into a section of different ciphers. Each section will cover the basics of the cipher and have a couple practice problems for submission, with user interface made with JS. Each section will have an encode and decode subsection. Users can input ciphers to decrypt, or plaintext to encrypt. This input will be sent to the server (backend) running on Flask. The server will either encode it or decode it using python (we will use python because it has better libraries for cryptography-related stuff).

AI decryption project: Backend (Flask) AI can be used to make a decryption feature that is able to decrypt any text. This will be included on the frontpage. Users can input any text string and the AI will be able to decode and output possible results.

APIs will be used to communicate between Frontend and Backend.

Showcase: Shows what we do in the backend. We can have some code related to cryptography showcased in the terminal. Like lightbulbs. Maybe even modulus encryption. We will also implement TLS to show how data is encrypted over the web to show importance of cryptography.

monke7769 commented 11 months ago

Cryptography Description The concept of making the Cryptography Set was drawn from our members' interest in encoding/decoding messages sent over connections through special methods, and be made into a competitive environment through "Capture the Flag" competitions in the cyberspace. This is generally known as Cryptography.

Purpose To spread general knowledge of Cryptography! We will include several sections (modules) for learning the different types of Ciphers and spread knowledge of ciphers to the world so that everyone can learn.

We will include these sections (not limited to):

Caesar Ciphers (rot13) Vigenere Ciphers Substitution Ciphers Hexadecimal encoding Binary SHA1 and SHA256 encryption Each section will have explanations of the ciphers, examples, and practice problems.

Additionally, one of our bigger endeavors will be making an AI dedicated and trained to decipher any string of text, regardless of what cipher/hash was used to encrypt the information. The AI will also be able to encode user-given text based on whatever cipher the user wants (this is an easier task).

Technical Elements Frontend Frontend will be developed using a Github Pages site, including Utterances comments to be made available and JS Plugins. Each different module will be in its separate ipynb notebook file and be available from the frontpage for easy access.

The Utterances comments will allow users to interact with each other on the site, somewhat like a forum, and ask/answer each other's questions. JS Plugins/CSS will make the site look more appealing in general, and allow addition of built-in quizzes to test user knowledge after reading through information in the modules.

We will be using numerous buttons and text boxes as well on the site, made wth JS. Users can use these to input text and have options to encode/decode with specific ciphers/hashes.

Backend As aforementioned, users can input text to be encoded/decoded. From the frontend, the user input will be sent to the Backend running on a Python Flask server. The Flask server will contain all encode/decode Python programs in files to be run when the user submits their requests.

Additionally, the AI model will also run on the backend Flask server, using a .csv data file to be trained on the different ciphers to decode. Then the main AI python file can be run and output can be sent back to the Frontend displayed using JS.

Division of the task Hayden: Frontend Tarun: Backend Shuban: Backend Deva: Frontend

These are just temporary installations of jobs. If necessary, we may be able to adapt and combine our respective expertise areas to assist each other along the way in this large project.

Testing After the creation of this project, we will have plenty of test runs with the AI decoding/encoding and make edits as necessary. We will also make sure all the quizzes and modules are working properly to ensure smoother user experience and create aesthetic looks for the site. In addition, we will have connectivity tests to make sure the data is flowing smoothly both ways from Frontend to Backend.

More changes/features will be made as necessary to this plan as we begin to build the project. Once the site is built, we will publish our site for the world to use and gather any comments/reviews to improve on.

Documentation Errors/Solutions to be added along the way