Local desktop app for file encryption and decryption using existing, audited tools.
Diophantine is a Python/Tkinter GUI that orchestrates:
7zfor ZIP/7z encryptiongpgfor symmetric GPG encryptionveracryptfor encrypted containers
No cloud services, no accounts, no telemetry.
<<<<<<< HEAD
d4778e25c0db39574950fc5d14ba1ae9022aea23
- Encrypt with ZIP (AES-256), 7z (AES-256 + header encryption), GPG symmetric (AES-256), VeraCrypt container
- Decrypt with auto type detection (
.zip,.7z,.gpg/.pgp/.asc,.hc/.tc) - Batch operations and drag-and-drop support
- Password generator and entropy meter
- Optional advanced auth modes: recovery phrase, keyfile, keyfile + password
- Profiles for saving encryption settings
- Light/dark support on macOS and themed cross-platform UI
- Python 3.10+
tkinter(usually included with Python desktop installs)- Python package:
tkinterdnd2>=0.3.0
System tools:
- Required for core archive encryption/decryption:
7zor7zz - Optional:
gpg - Optional:
veracrypt
git clone https://github.com/tsevis/diophantine.git
cd diophantine
pip install -r requirements.txtmacOS (Homebrew):
brew install p7zip
brew install gnupg
# veracrypt installed manually from veracrypt.frUbuntu/Debian:
sudo apt update
sudo apt install p7zip-full gnupg python3-tkFedora:
sudo dnf install p7zip p7zip-plugins gnupg2 python3-tkintercd src
python main.py- Open
Encrypttab. - Add files/folders.
- Choose method and naming scheme.
- Enter password (or advanced auth mode).
- Encrypt to output folder.
For decryption:
- Open
Decrypttab. - Add encrypted files.
- Confirm/override detected type.
- Enter matching auth input.
- Decrypt to output folder.
Full user guide: MANUAL.md
- Diophantine does not implement custom crypto; it shells out to external tools.
- Security depends on endpoint integrity and password strength.
- Keep
7z/gpg/veracryptupdated. - Verify encrypted output before deleting plaintext originals.
Additional docs:
MIT (see LICENSE).
