diff --git a/README.md b/README.md index 4112792..86d2597 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,60 @@ -# PCS +# PCS - P7MJ's enCryption System +**Version:** A-1-i Proto +**Author:** P7MJ -PCS - P7MJ's enCryption System \ No newline at end of file +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. + +## 🚀 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. + +--- + +## 🛠️ Installation + +PCS requires Python 3.x and the `cryptography` library. + +1. **Clone or download** this repository. +2. **Install the dependency:** + ```bash + pip install cryptography + ``` + +--- + +## 📖 How to Use + +Run the script using: +```bash +python PCS-A-1-i-Proto.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. + +### 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`. + +--- + +## ⚠️ 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