Update README.md
This commit is contained in:
61
README.md
61
README.md
@@ -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.
|
||||
Reference in New Issue
Block a user