Welcome to our Cryptography Simulation project! Our tool allows you to effortlessly explore and experiment with various cryptographic techniques and thoroughly study them. Whether you want to understand encryption and decryption or delve into different algorithms, CodeCrypt has you covered.
This README provides an overview of the features, usage instructions, and contact information for our project. Read on to learn how you can easily simulate and understand cryptographic concepts with our intuitive platform.
CodeCrypt offers several convenient options for exploring cryptography:
-
Algorithm Implementation: Experiment with implementations of various cryptographic algorithms like RSA, AES, DES, and SHA using OpenSSL and c as backend.
-
Interactive Encryption/Decryption: Input data and select an encryption method, view the encrypted result, and decrypt it back to the original data.
-
Different Data Types: Experiment with Encryption, Decryption and key generation of text, file, audio, image and videos.
-
Key Generation and Management: Simulate cryptographic key generation, exchange, and management.
-
User-Friendly Interface: Enjoy an intuitive and user-friendly interface built with Vite and React.
-
Educational Content: Access interactive tutorials and educational content on fundamental security concepts like public/private keys, symmetric/asymmetric encryption, key derivation functions, digital signatures, and hash functions.
-
User Interaction: Experiment with different algorithms and different data types.
-
Profile: You can create profiles and update them.
- Frontend: Vite, React
- Backend: C, OpenSSL, Firebase
CodeCrypt is designed to provide an interactive and educational platform for understanding and experimenting with cryptographic techniques. It is particularly valuable for:
-
Educational Purposes: Helping students and professionals in the field of cybersecurity learn and understand cryptographic concepts through hands-on experimentation.
-
Research and Development: Assisting researchers and developers in testing and analyzing various cryptographic algorithms and techniques.
-
Practical Demonstrations: Enabling instructors and lecturers to demonstrate cryptographic principles in a classroom or training environment.
-
Personal Experimentation: Allowing enthusiasts and hobbyists to explore cryptography and enhance their knowledge in a practical, interactive manner.
To start using Cryptic Canvas, simply follow these steps:
-
Visit our Website .
-
Sign In: To signin click on the Signin button on the top right side.
-
Sign Up: If you are new then click on the Join here button to signup.
-
Explore: You will be redirected to the Study page where you can select which algorithm you want to study like RSA, AES, DES, or SHA. It has in-depth information about Encryption, Decryption, and Key Generation of that particular algorithm along with YouTube videos.
-
Encrypt/Decrypt: To Encrypt and Decrypt using Codecrypt click on the Encrypt or Decrypt button.
-
In Encryption and Decryption, you can choose from 5 different types of data encryption and decryption which are text, file, audio, image, and video.
-
Then select what type of algorithm to use, AES, RSA, DES, or SHA.
-
Copy the parameters from the encrypted page and send them to your friend for him to try.
-
Or use the parameters to find the Encrypted Data.
- Firebase
- Node.js and npm
- Windows/Linux
- Vite
- OpenSSL library
- A C compiler (e.g., GCC)
- Windows:
- Download from : OpenSSL
- Extract the file
- Place the extracted OpenSSL file in
C:\Program Files
- Ubuntu/Linux:
- Open Terminal
- Update the Package Lists
sudo apt update
- Install OpenSSL
sudo apt install openssl
- Verify the Installation
openssl version
- Install Development Libraries
sudo apt install libssl-dev
- Windows:
- Download MinGW from : GCC
- Install MinGW
- Set Environment Variables
- Verify Installation
gcc --version
- Ubuntu/Linux:
- Open Terminal
- Update the Package Lists
sudo apt update
- Install GCC
sudo apt install gcc
- Verify the Installation
gcc --version
- Install Additional Tools
sudo apt install build-essential
The next steps are the same for all OS:
Do not Skip any steps
- Tables
- users
- userId (String)
- email (String)
- username (String)
- bio (String)
- profilePictureUrl (String)
- completedAlgorithms(map)
- AES(boolean)
- DES(boolean)
- RSA(boolean)
- SHA(boolean)
- progress(map)
- AES(number)
- DES(number)
- RSA(number)
- SHA(number)
- users
-
Clone the Repo: To get started with CodeCrypt, clone the repository to your local machine using the following command:
git clone https://github.com/Aaron-Thomas-Blessen/CodeCrypt.git cd CodeCrypt
-
Install Dependencies: Navigate to the
frontend
folder and install the frontend dependencies:cd frontend npm install
-
Build the Backend: Navigate to the
backend
folder and build the backend:cd ../backend
-
Run Locally: To run the CodeCrypt application locally, open a terminal and start the backend server:
node server.js
Then, start the frontend development server in another terminal:
cd frontend npm run dev
-
Open in Browser: Open the application in your browser by navigating to http://localhost:5173/.
To start experimenting with cryptography:
-
Select an Algorithm: Choose a cryptographic algorithm from the available options.
-
Input Data: Enter the text or data you want to encrypt or decrypt.
-
Generate Keys: Cryptographic keys are automatically generated if required by the chosen algorithm.
-
Encrypt/Decrypt: Perform encryption or decryption and view the results.
-
Explore Concepts: Access tutorials and educational content to learn more about cryptographic principles and techniques.
-
Sign Up: Create an account and save your progress.
This was Developed by
We're constantly striving to improve CodeCrypt to provide the best possible experience for our users. If you have any feedback, or suggestions, or encounter any issues while using our platform, please don't hesitate to contact us. Your input is invaluable in helping us enhance our product and deliver exceptional results.
If you have any questions, concerns, or inquiries regarding CodeCrypt, please contact us at [email protected] or connect with me on LinkedIn or Twitter. We're here to assist you and ensure that your cryptographic experience is smooth and educational.
Thank you for choosing CodeCrypt. We hope you enjoy exploring and learning about cryptography!
Happy Hacking!