Files
PCS/README.md
2026-06-15 10:15:23 -04:00

53 lines
2.4 KiB
Markdown

# PCS - P7MJ's enCryption System A-3-i "Terminal"
## 🔤 Introduction
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.
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 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
Navigate to the folder and run:
```
python3 PCS-A-3-i\ Terminal.py
```
After you are inside, type `help` for built-in help.
## 🏅 Credits
P7MJ Original.