This project was developed for the subject "Teoría de Códigos y Criptografía" at Universidad de Almería. It focuses on various cryptographic methods and implementations, including a ransomware concept that runs on a Linux environment for educational purposes.
-
Educational Purpose: This project demonstrates the concepts of cryptographic techniques and their applications in creating ransomware. It is intended solely for educational purposes to understand the workings of such systems and to promote awareness of cybersecurity.
-
Language Composition of This Repo:
- C++: 75.8%
- HTML: 12.4%
- Python: 8.3%
- CMake: 3.5%
-
Ransomware Implementation
- Demonstrates how encryption can be misused to hold data ransom.
- Includes encryption and decryption routines that simulate ransomware behavior in a controlled environment.
-
Cryptographic Algorithms
- Contains examples of symmetric and asymmetric encryption.
- Showcases algorithms like AES, McEliece, and other classical/modern cipher techniques.
-
Error-Correcting Codes
- Demonstrates how coded data can detect and correct errors.
- Highlights usage for reliable data transmission and storage.
-
Build Configurations (CMake)
- Facilitates easy configuration for C++ projects.
- Ensures consistent compilation across multiple platforms.
-
Post-Quantum Cryptography
- Implements post-quantum cryptographic algorithms, such as McEliece.
- Demonstrates the generation and handling of asymmetric keys using quantum-resistant methods.
-
Python Project (Website Folder)
- A Flask-based website demonstrating how certificates work in browsers.
- Provides an example of setting up HTTPS and managing certificates.
-
Clone the Repository
git clone https://github.com/Toad882/Cryptography_public.git cd Cryptography_public -
Build Instructions (for C++ projects)
mkdir build cd build cmake .. makeAfter successful compilation, you can run your compiled programs from the build folder. The build process will generate the following files:
- private_key.pem
- PearOS executable (ransomware)
- decrypt executable (decrypts the files encrypted by the ransomware)
-
HTML Demos
Open the relevant HTML file in your web browser to see interactive demonstrations or additional project information. -
Running the Flask Website
cd Website python app.pyMake sure you have Flask installed and any required dependencies. Once running, visit the hosted URL in your browser to explore how certificates are handled.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.