As part of my Cybersecurity studies I was asked to make a final project related to cybersecurity.
This project can encrypt whole directories (including their content) with a special key that the user provides. To restore the directory on another computer you'll need to have the key and run python3 main.py load to load the encrypted directories (it will ask for the key)
- Save the project on your computer:
git clone https://github.com/Lev-Shapiro/cyberSecuritySchoolProject.git levShapiroCyberSecurity - Install all the required packages:
pip install -r requirements.txt - Run
python3 main.pyand select one of the options (encrypt, load or hack). A more detailed explanation of this commands is provided in COMMANDS section - Specify all the required inputs
- Results
- Starting from step 3 of HOW TO USE SECTION (assuming you already saved the project on your computer and installed dependencies)
- Run
python3 main.py - Select
encrypt - Specify example secret folder (already exists, no need to create one):
./secret - Specify the key (digits, letter, anything I guess), example:
123HereIsYourKey!!! - Folder is successfully encrypted. The encryption can be seen at
encrypted_data.txt - To decrypt:
python3 main.py - choose
decrypt - specify the key written previously
- Saved to folder
result
python3 main.py encrypt - will encrypt the directory that you'll specify with a key that you'll provide
python3 main.py load - will load the encrypted directories using the key and encrypted_data.txt (which is generated by the previous command)
python3 main.py hack - will hack the existing encrypted_data.txt file (if it exists) and store the decrypted variant in hacked.txt (Folder tree including file contents). MAY BE NOT ACCURATE. Giving long encryption keys leads to non-accurate results for the hacking algorithm, while providing longer encryption content will have a better effect on the algorithm due to longer dataset (higher probability of getting the correct key).
python3 main.py - opens an radio button to select whether you want to encrypt or load the directory.
pip install -r requirements.txt
Typer: pip install "typer[all]"
PyInquirer: pip install questionary
Rich: pip install rich
