https://github.com/jheffat/dpj
CLI Cryptographic tools
https://github.com/jheffat/dpj
aes-128 encryption-decryption hasing-algorith
Last synced: 3 months ago
JSON representation
CLI Cryptographic tools
- Host: GitHub
- URL: https://github.com/jheffat/dpj
- Owner: jheffat
- License: mit
- Created: 2025-04-11T02:47:23.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-01T03:16:49.000Z (7 months ago)
- Last Synced: 2025-12-15T10:18:48.990Z (6 months ago)
- Topics: aes-128, encryption-decryption, hasing-algorith
- Language: Python
- Homepage:
- Size: 94 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README



```text
____ ____ _
| _ \ | _ \ | | π: https://icodexys.net
| | | || |_) |_ | | π οΈ: https://github.com/jheffat/DPJ
| |_| || __/| |_| | π: 3.6.0 (06/07/2025)
|____/ |_| \___/
**DATA PROTECTION JHEFF**, a Cryptographic Software.
```
# π DPJ - CLI Data Cryptographic Tool
**DPJ** is a command-line data encryption tool, an improvement of [Fixor](https://github.com/jheffat/-FiXOR) 2.50(Discontinued). The Name Fixor changed to DPJ
in honor of the my first encryption tool developed in QBasic and Visual Basic (2003β2007), DPJ is faster, AES-Like secure, and packed with new features designed to keep your data safe. Is a lightweight CLI tool, encrypt/decrypt files securely using custom-built methods. Good tool to encrypt your work projects or your sensitive data(documents, PDFs, photos, videos, etc.). -->β¨ [Changelog](https://github.com/jheffat/DPJ/blob/main/CHANGELOG.md)
## βWhy the name change?
The original name, Fixor, was chosen because the first version of the tool used only XOR-based encryption with a fixed key in 2021. As the project evolved to include more advanced cryptographic mechanisms, the name no longer reflected its capabilities.
DPJ has a deeper significance: it was the name of my first encryption tool [DPJ Basic](https://raw.githubusercontent.com/jheffat/DPJ/main/scrnsht/DPJ%20Basic%20by%20VB.png), created in 2001 with QBASIC(CLI), later in 2005 with VB(GUI). Bringing the name back honors that origin while also marking the maturity of this version.
This release marks a turning point β DPJ is no longer a simple XOR tool, but a full encryption system with real IV, linear & nonlinear complexity...
## π§Ύ Features
- π **Fast Encrypt & Decrypt Files**, using custom-built encryption.
- β³οΈ **Secure password input with masking** (hidden as you type).
- π **Nonlinear Transformation Support**, Integrated AES-like S-box, P-box, XOR mixing & byte inversion. Improves resistance to differential and linear cryptanalysis.
- β‘ **IV Support**, Uses a cryptographically secure IV to ensure ciphertext uniqueness, even with the same key and plaintext.
- π§ **Choose or Autogenerate Passphrase**, for encryption
- π« **No Overwrites**, a file will not be altered if the provided passphrase is incorrect. DPJ detects if a file is encrypted and prevents redundant encryption.
- π **KDF Support**, Passphrases are transformed via a `Key Derivation Function` before use, making brute-force attempts extremely difficult.
- π **Key Schedule Support**, a process that expands the main encryption key(KDF) into multiple round keys used throughout the encryption rounds to enhance security.
- π§ **Secure Password Hashing**, stored in encrypted metadata
- 𧬠**Encrypted Metadata with AES**, Used to protect internal config
- π **File Scan Mode**, to check encryption details
- β
**Integrity Check Passed**, A SHA-256-based verification step checks whether the decrypted data matches the original, ensuring the decryption process was successful.
- π‘οΈ **HMAC Support**, A SHA-256-based HMAC is generated during encryption and verified during decryption to detect tampering or corruption.
- #οΈβ£ **Hash tools included**, Hash files/Msg using any theses algorithms (blake2b, sha3_512, sha256, sha1, sha512, shake_128, shake_256, sha3_256, blake2s, md5), In the absence of a specified algorithm, the default SHA256 will be applied.
## β οΈPlease Note!
Iβm using a custom-built encryption scheme that applies multilayer linear and nonlinear transformations. Many of these layers are inspired by real-world cryptographic algorithms such as AES (see more in CHANGELOG.md). For now, this option is intended for educational purposes only until it can be professionally reviewed. Iβm currently rebuilding DPJ to support AES encryption as a second option, offering a more secure and reliable method widely used in both industry and cybercrime. The reason I built this tool from scratch(without relying on external modules) is to deepen my understanding of how encryption works, enhance my learning, and improve my problem-solving skills.
## π Performance
DPJ improves on Fixor with significantly faster encryption and decryption processes, optimized for modern systems and large files.
## β οΈ Disclaimer
**DPJ is an encryption tool intended for responsible use.**
By using this software, you acknowledge and accept the following:
-You are solely responsible for managing your passwords, keys, and encrypted data.
-If you lose or forget your passphrase, there is no way to recover your data.
This is by design, as DPJ does not store or transmit any recovery information.
-The author(s) of DPJ are not liable for any data loss, damage, or consequences resulting from misuse, forgotten credentials, or failure to follow best security practices.
**Use at your own risk.**
## π§ Installation
You can install DPJ,
++by cloning this repo:
```bash
git clone https://github.com/jheffat/dpj.git
cd dpj
python3 -m pip install
```
++by using pypi [pypi.org/dpj...](https://pypi.org/project/dpj/) or:
```bash
pip install dpj
```
++By download and install executable for:
`*Windows`
[DPJ 3.6.0 Installer.exe](https://raw.githubusercontent.com/jheffat/DPJ/main/Bins/DPJ%203.6.0%20Installer.exe) (Need to setup your anti-virus to allow using this app)
`*Linux Debian`
[DPJ_360LinuxDeb.deb](https://raw.githubusercontent.com/jheffat/DPJ/main/Bins/DPJ%203.6.0%20Installer.deb) (Link Dead**Fixing...)
```bash
sudo dpkg -i DPJ_353LinuxDeb.deb
```
## π§ͺ Usage Examples
Encrypt all files including sub-directories with a key `#R3ds0ftwar3!len3zz`
```bash
dpj -e *.* -r -k #R3ds0ftwar3!len3zz
```
Encrypt all files with the extension `.JPG` on the current path `c:\pictures`
```bash
dpj -e c:\pictures\*.jpg
```
Decrypt all files including in sub-directories on the current local
```bash
dpj -d *.* -r
```
scan all files including in sub-directories on the current local
```bash
dpj -s *.* -r
```
Hash all files using all algorithms
```bash
dpj -hs *.* -a all
```
Hash a text using md5
```bash
dpj -hs 'Life is Good' -a md5
```
## π· Screenshots
`List of Files ready to be encrypted`

`Encryption Process`

`Decryption Process`

`Scanning files encrypted`

`Hashing a file`

`Hashing a file with all algorithms`

`Hashing all files using only the algorithm SHA256`

## π License
This project is licensed under the MIT License - see the LICENSE file for details.
## π Acknowledgements
DPJ(Data protection Jeff), was my first encryption app crafted in QBasic(CLI) and Visual Basic(GUI) between 2001β2007. This project is a modern revival with more power, speed, and security, thanks to language PYTHON.