Update README.md

This commit is contained in:
2026-03-24 18:28:39 -04:00
parent f09b19df67
commit e3683ebe86

View File

@@ -1,3 +1,60 @@
# PCS
# PCS - P7MJ's enCryption System
**Version:** A-1-i Proto
**Author:** P7MJ
PCS - P7MJ's enCryption System
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.