From 01733df39ecdb908c924e409428afbc9deefcd85 Mon Sep 17 00:00:00 2001 From: P7MJ Date: Mon, 15 Jun 2026 10:15:23 -0400 Subject: [PATCH] Updated to A-3-i --- PCS-A-3-i Terminal.py | 379 ++++++++++++++++++++++++++++++++++++++ README.md | 76 ++++---- archive/BUGPY-mOS.zip | Bin 0 -> 100913 bytes archive/encrypted.p7c_enc | 1 + 4 files changed, 414 insertions(+), 42 deletions(-) create mode 100644 PCS-A-3-i Terminal.py create mode 100644 archive/BUGPY-mOS.zip create mode 100644 archive/encrypted.p7c_enc diff --git a/PCS-A-3-i Terminal.py b/PCS-A-3-i Terminal.py new file mode 100644 index 0000000..b21281e --- /dev/null +++ b/PCS-A-3-i Terminal.py @@ -0,0 +1,379 @@ +import os +import getpass +import sys +from cryptography.fernet import Fernet +from cryptography.hazmat.primitives import hashes +from cryptography.hazmat.primitives.kdf.pbkdf2 import PBKDF2HMAC +from pathlib import Path +import base64 + +# TODO Add option to write and read keyfile, where there is an option to store the salt! + +if_verbose = False + +def verbose(string): + if if_verbose: print(string) + +# Encrypting data +def encrypt_data(): + + # Pesterish file asker + while True: + file_name = input("\nEnter the name of a zip file, without the extension that is in the same directory as this script. \nE.g. for encrypt.zip you would type \"encrypt\". Name > ") + ".zip" + if Path(file_name).is_file(): + break + else: + print("This zip file does not exist!") + + file_chosen_name = input("\nMake a name for your encrypted file, e.g. encrypted (press enter for default)\nName > ") + if file_chosen_name == "": + file_chosen_name = "encrypted" + + keyfile = input("\nDo you want enable keyfile encryption?\nIf enabled, decryption is only possible with the file.[y]/[N] ") + if keyfile == "y" or keyfile == "Y": + print("Keyfile enabled.") + enable_keyfile = True + else: + print("Keyfile disabled.") + enable_keyfile = False + + # Pestering password asker until you confirm it + while True: + password = getpass.getpass("\nCreating password > ") + confirm = input(f"Did you type the correct password, and remember it? [Y]/[n] ") + if confirm == "Y" or confirm == "y" or confirm == "": + password = password.encode() + break + + # 1. Setup Salt + salt = os.urandom(16) + + # 2. Derive Key + kdf = PBKDF2HMAC( + algorithm=hashes.SHA256(), + length=32, + salt=salt, + iterations=480000, + ) + key = base64.urlsafe_b64encode(kdf.derive(password)) + f = Fernet(key) + + print("Encrypting...", end = " ") + try: + # 3. Encrypt and save SALT + DATA together + with open(file_name, 'rb') as file: + original_data = file.read() + + encrypted_data = f.encrypt(original_data) + + if not enable_keyfile: + with open(f"{file_chosen_name}.p7c_enc", 'wb') as file: + # Write the 16-byte salt first, then the encrypted data + file.write(salt) + file.write(encrypted_data) + + elif enable_keyfile: + with open(f"key.p7c_key", 'wb') as key: + key.write(salt) + + with open(f"{file_chosen_name}.p7c_enc", 'wb') as file: + file.write(encrypted_data) + else: + print("What the f** did you do something to enable_keyfile?") + + print("Encrypted! ") + delete_original = input("Delete the original zip file for security? [Y]/[n] ") + if delete_original == "Y" or delete_original == "y" or delete_original == "": + os.remove(f"{file_name}") + print("Original file removed.") + except Exception as e: + print(f"Error! {e}") + +# Encrypting data +def encrypt_data_neo(unencrypted_name, password, encrypted_name=None, use_key=None, keyfile_name=None, delete_original=None): + + verbose(f"original file: {unencrypted_name}") + + if not encrypted_name: + encrypted_name="encrypted" + + file_chosen_name=encrypted_name + verbose(f"new file: {encrypted_name}") + + if use_key: + verbose("Using key") + else: + verbose("not using key") + + verbose(f"password: {password}") + password = password.encode() + verbose(f"password encoded: {password}") + + salt = os.urandom(16) + + verbose(f"salt: {salt}") + + kdf = PBKDF2HMAC( + algorithm=hashes.SHA256(), + length=32, + salt=salt, + iterations=480000, + ) + + key = base64.urlsafe_b64encode(kdf.derive(password)) + + verbose(f"key: {key}") + + f = Fernet(key) + + verbose(f"f: {f}") + + try: + with open(unencrypted_name, 'rb') as file: + original_data = file.read() + + verbose(f"{unencrypted_name} has been read") + + encrypted_data = f.encrypt(original_data) + + verbose(f"data has been encrypted.") + + if not use_key: + with open(f"{encrypted_name}", 'wb') as file: + # Write the 16-byte salt first, then the encrypted data + file.write(salt) + file.write(encrypted_data) + verbose(f"data was written to {encrypted_name} without key.") + + elif use_key: + if not keyfile_name: + keyfile_name = "key.p7c_key" + + verbose(f"keyfile_name: {keyfile_name}") + + with open(f"{keyfile_name}", 'wb') as key: + key.write(salt) + + verbose("salt has been written.") + + with open(f"{encrypted_name}", 'wb') as file: + file.write(encrypted_data) + + verbose("encrypted data has been written.") + else: + verbose("🔥🔥🔥 THIS IS AN ERROR 🔥🔥🔥") + print(f"This is P7MJ. I am speechless. use_key: {use_key}") + + if delete_original: + os.remove(f"{unencrypted_name}") + verbose("Original file has been removed.") + + except Exception as e: + verbose("🔥🔥🔥 THIS IS AN ERROR 🔥🔥🔥") + print(f"\nAn error has occured.\n {e}\n") + +# Decrypting data +def decrypt_data(): + # 1. Get the password from the user + while True: + choose_file = input("\nName of the p7c_enc file without extension, e.g. \"encrypted\"\nName > ") + ".p7c_enc" + if Path(choose_file).is_file(): + break + else: + print("This p7c_enc file does not exist!") + + key_exists = input("Do you have a p7c_key keyfile? [y]/[N] ") + if key_exists == "y" or key_exists == "Y": + while True: + input("Double check if your key is in the same direcory as this code and your encrypted file.\nIt must be named key.p7c_key. Press ENTER to check.") + if Path("key.p7c_key").is_file(): + break + else: + print("Does not exist!") + there_is_a_key = True + else: + there_is_a_key = False + + password = getpass.getpass("Password > ").encode() + + # 2. Open the encrypted file and extract the salt + data + if there_is_a_key: + with open("key.p7c_key", 'rb') as file: + file_salt = file.read(16) + with open(choose_file, 'rb') as file: + encrypted_data = file.read() + + elif not there_is_a_key: + with open(choose_file, 'rb') as file: + # Read exactly 16 bytes for the salt + file_salt = file.read(16) + # Read everything else as the encrypted data + encrypted_data = file.read() + else: + print("WHAT DID YOU DO TO THERE_IS_A_KEY?!") + + # 3. Re-derive the EXACT same key using that salt + kdf = PBKDF2HMAC( + algorithm=hashes.SHA256(), + length=32, + salt=file_salt, + iterations=480000, + ) + key = base64.urlsafe_b64encode(kdf.derive(password)) + f = Fernet(key) + + # 4. Decrypt and save the original file + print("Decrypting...", end = " ") + try: + decrypted_data = f.decrypt(encrypted_data) + + with open('unencrypted.zip', 'wb') as file: + file.write(decrypted_data) + print("Success.") + delete_encrypted = input("\nDelete the encrypted file (and key, if exists)? [Y]/[n] ") + if delete_encrypted == "Y" or delete_encrypted == "y" or delete_encrypted == "": + os.remove(choose_file) + if there_is_a_key: + os.remove("key.p7c_key") + print("Key removed.") + print("Encrypted file removed.") + + + except Exception as e: + print(f"Could not decrypt!.\nThis might be due to a wrong file or corrupted data?\nDetailed info:\n{e}.") + +# Decrypting data +def decrypt_data_neo(encrypted_name, password, unencrypted_name=None, use_key=None, keyfile_name=None, delete_original=None): + + choose_file = encrypted_name + + if not unencrypted_name: + unencrypted_name = "unencrypted" + + password = password.encode() + + if use_key and not keyfile_name: + keyfile_name = "key.p7c_key" + + # 2. Open the encrypted file and extract the salt + data + if use_key: + with open(f"{keyfile_name}", 'rb') as file: + file_salt = file.read(16) + with open(choose_file, 'rb') as file: + encrypted_data = file.read() + + elif not use_key: + with open(encrypted_name, 'rb') as file: + # Read exactly 16 bytes for the salt + file_salt = file.read(16) + # Read everything else as the encrypted data + encrypted_data = file.read() + else: + verbose("🔥🔥🔥 THIS IS AN ERROR 🔥🔥🔥 flames are burning and so is my brain") + print("WHAT DID YOU DO TO THERE_IS_A_KEY?!") + + # 3. Re-derive the EXACT same key using that salt + kdf = PBKDF2HMAC( + algorithm=hashes.SHA256(), + length=32, + salt=file_salt, + iterations=480000, + ) + + key = base64.urlsafe_b64encode(kdf.derive(password)) + + verbose(f"key: {key}") + + f = Fernet(key) + + verbose(f"f: {f}") + + try: + decrypted_data = f.decrypt(encrypted_data) + verbose("data unencrypted.") + + with open(f'{unencrypted_name}', 'wb') as file: + file.write(decrypted_data) + verbose("unencrypted data written to disk.") + if delete_original: + os.remove(encrypted_name) + verbose("Encrypted file removed.") + if use_key: + os.remove(keyfile_name) + verbose("Key removed.") + + except Exception as e: + print(f"\nError. Could not decrypt. It is likely that your password is wrong.\nError: {e}.\n") + +# Main function +def old_main(): + while True: + print("\nPCS - P7MJ's enCryption System | V A-2-i Dividend | P7MJ") + choice = input("[1] Encrypt [2] Decrypt [x] Exit > ") + if choice == "1": + encrypt_data() + elif choice == "2": + decrypt_data() + elif choice == "x": + sys.exit(0) + else: + print("Not an option!!!") + +if __name__ == "__main__": + try: + while True: + inputs = input("[PCS] ") + list_inputs = inputs.split() + + if not list_inputs: + continue + + for i, param in enumerate(list_inputs): + if param == "None" or param == "0" or param == "No" or param == "no" or param == "False": + list_inputs[i] = None + if param == "True" or param == "1" or param == "Yes" or param == "yes" or param == "Exists" or param == "exists": + list_inputs[i] = True + + if list_inputs[0] == "help": + print("encrypt unencrypted_name encrypted_name=None password use_key=None keyfile_name=None delete_original=None") + # 1 2 3 4 5 6 + print("decrypt encrypted_name unencrypted_name=None password use_key=None keyfile_name=None delete_original=None") + # 1 2 3 4 5 6 + print("\nDue to this program being able to encrypt absolutely ANYTHING, It is recommended to name your encrypted archives after your original file.") + print("E.g. archive.zip should be named archive.zip.p7c_enc.") + print("This ensures that you remember the extension.") + print("\nFor compatibility with PCS A-2-i Dividend, the keyfile must be named key.p7c_key. Additionally, append .p7c_enc to all encrypted archive names.") + print("For compatability with PCS A-1-i Proto, follow A-2-i standards, but do not use any form of keyfile.") + + elif list_inputs[0] == "credits": + print("PCS A-3-i Terminal by P7MJ.") + + elif list_inputs[0] == "exit": + sys.exit(0) + + elif list_inputs[0] == "encrypt": + if len(list_inputs) == 7: + # unencrypted_name, password, encrypted_name=None, use_key=None, keyfile_name=None, delete_original=None + encrypt_data_neo(list_inputs[1], list_inputs[3], encrypted_name=list_inputs[2], use_key=list_inputs[4], keyfile_name=list_inputs[5], delete_original=list_inputs[6]) + else: + print("Invalid use of encrypt: length of parameters incorrect.") + print('If you wish to leave a parameter empty, type "None", "0", "No", "no", or "False".') + print('Type "help" for more information.') + + elif list_inputs[0] == "decrypt": + if len(list_inputs) == 7: + # encrypted_name, password, unencrypted_name=None, use_key=None, keyfile_name=None, delete_original=None + decrypt_data_neo(list_inputs[1], list_inputs[3], unencrypted_name=list_inputs[2], use_key=list_inputs[4], keyfile_name=list_inputs[5], delete_original=list_inputs[6]) + else: + print("Invalid use of decrypt: length of parameters incorrect.") + print('If you wish to leave a parameter empty, type "None", "0", "No", "no", or "False".') + print('Type "help" for more information.') + except KeyboardInterrupt: + pass + except Exception as e: + print(f"{e}") + + + + + diff --git a/README.md b/README.md index 86d2597..331e50a 100644 --- a/README.md +++ b/README.md @@ -1,60 +1,52 @@ -# PCS - P7MJ's enCryption System -**Version:** A-1-i Proto -**Author:** P7MJ +# PCS - P7MJ's enCryption System A-3-i "Terminal" -PCS is a lightweight, secure Python utility designed to encrypt and decrypt ZIP files (and other binary data) using industry-standard AES-256 encryption via the Fernet protocol. +## 🔤 Introduction -## 🚀 Features -* **Hardened Key Derivation:** Uses `PBKDF2HMAC` with **480,000 iterations** to turn your password into a cryptographically strong key. -* **Salted Encryption:** Generates a unique 16-byte random salt for every encryption process, protecting against rainbow table attacks. -* **Embedded Metadata:** The salt is stored directly inside the encrypted file (`.p7c_enc`), so you only need your password to decrypt. -* **Authenticated Encryption:** Uses Fernet, which ensures that if the file is tampered with or the password is wrong, the system will refuse to decrypt rather than producing corrupted data. -* **User Safety:** Includes file existence verification and optional "shredding" (deletion) of source files after processing. +PCS is a secure and lightweight Python utility designed to encrypt and decrypt any type of file that can be read in binary. Virtually every file can be encrypted and decrypted, including archives, pictures, movies, code, and programs. ---- +It is the standard encryption program for [BUGPy-mOS](https://git.wholeworldcoding.com/wholeworldcoding/BUGPy-mOS) (implemented as the FDEA launcher and encryption "ant"). An implementation derived from the older A-2-i is included as part of the core script. -## 🛠️ Installation +This version features total extension freedom. You can now not only encrypt `.zip` files, but any type of file readable in binary. Additionally, there are no longer any limits regarding the names and extensions of the archives and the keyfiles generated. + +A-3-i, is compatible both ways with A-2-i, provided that you follow A-2-i's strict filename extension protocols. A-3-i and A-2-i are compatible with A-1-i if you do not use keyfiles while encrypting. + +PCS is tested on **Debian Trixie** only. It should work on other Linux distributions, Windows, and Mac, but it is not tested. + +## 🧩 Features + +- Uses `PBKDF2HMAC` with **480,000 iterations** to make your password strong, cryptographically. + +- Generates a unique 16-byte random salt for every encryption process, protecting against rainbow table attacks. + +- Salts can be stored directly inside the encrypted file, or outside the file as a key, providing versatility and security. + +- Fernet ensures that if the file is corrupted, tampered with, or an attempt to decrypt it has a wrong password, the program will refuse to decrypt rather than producing corrupt data. + +- Shredding of original files, including keyfiles, is supported after encryption or decryption. + +> [!TIP] +> The security of the archive depends on your password! Since there is no limit to your password length, or complexity, ensure your password has >8 chars and includes symbols and numbers. + +## 🛠️ Installation and Dependencies PCS requires Python 3.x and the `cryptography` library. -1. **Clone or download** this repository. +1. **Clone this repository** or download a release from the [Releases](https://git.wholeworldcoding.com/p7mj/PCS/releases) page. 2. **Install the dependency:** ```bash pip install cryptography ``` ---- +## 🧑‍💻 Usage -## 📖 How to Use +Navigate to the folder and run: -Run the script using: -```bash -python PCS-A-1-i-Proto.py +``` +python3 PCS-A-3-i\ Terminal.py ``` -### 1. Encrypting a File -* Select option `[1]`. -* Enter the name of your `.zip` file (the script automatically appends the extension). -* Create a password. **Important:** If you lose this password, your data is unrecoverable. -* The script creates a file with the `.p7c_enc` extension. -* Choose whether to "shred" (permanently delete) the original file. +After you are inside, type `help` for built-in help. -### 2. Decrypting a File -* Select option `[2]`. -* Enter the full name of the `.p7c_enc` file. -* Enter your password. -* The file will be restored as `unencrypted.zip`. +## 🏅 Credits ---- - -## ⚠️ Important Security Notes -* **Password Length:** While the script is technically secure, the strength of the encryption relies entirely on the complexity of your password. -* **The Salt:** The first 16 bytes of your `.p7c_enc` file is the salt. Do not modify or "trim" the encrypted file, or it will become undecryptable. -* **Permanent Deletion:** The "shred" feature uses `os.remove()`, which bypasses the Recycle Bin/Trash on most systems. Use with caution! - ---- - -## 🏗️ Technical Details -* **Encryption Engine:** AES-128 in CBC mode with PKCS7 padding. -* **Authentication:** HMAC using SHA256. -* **KDF:** PBKDF2 with SHA256. \ No newline at end of file +P7MJ Original. diff --git a/archive/BUGPY-mOS.zip b/archive/BUGPY-mOS.zip new file mode 100644 index 0000000000000000000000000000000000000000..e5eb7ae70a873c63c90f982738d1674d91f3b0cc GIT binary patch literal 100913 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