Compress hard, encrypt harder — LZMA2 + AES-256-GCM + Scrypt
Project description
ChromaPress
Compress hard, encrypt harder.
A high-performance file compression and encryption tool combining LZMA2 extreme compression, SHA-256 chunk deduplication, and AES-256-GCM authenticated encryption with a memory-hard Scrypt KDF.
Installation
pip install chromapress
Quick Start
# Compress + encrypt a file
press myfile.dat
# Decompress
press myfile.dat.press
# Compress without encryption
press myfile.dat --no-encrypt
# Interactive mode
press
# File info (no password needed)
press info myfile.dat.press
Features
- LZMA2 Extreme — Preset 9 extreme, the strongest lossless compression available
- AES-256-GCM — Authenticated encryption with tamper detection
- Scrypt KDF — Memory-hard key derivation (up to 1 GB RAM per brute-force attempt)
- SHA-256 Deduplication — Chunk-level dedup eliminates identical blocks before compression
- Interactive Mode — Arrow-key guided menu when run with no arguments
- Windows Integration — Explorer right-click context menu support
Compression Pipeline
INPUT → CHUNK (64KB) → DEDUP (SHA-256) → LZMA2 (preset 9) → AES-256-GCM → .press
CLI Options
| Flag | Description |
|---|---|
<file> |
Compress (or auto-decompress if .press) |
-d <file> |
Force decompress mode |
-o <path> |
Output path |
-s <level> |
Security: standard, high, extreme |
-c <bytes> |
Chunk size (default: 65536) |
--no-encrypt |
Compress only, no encryption |
-f |
Force overwrite |
-q |
Quiet mode |
-v |
Show version |
info <file> |
Inspect .press file metadata |
Security Levels
| Level | Scrypt N | RAM per attempt |
|---|---|---|
| Standard | 2^14 | 16 MB |
| High | 2^17 | 128 MB |
| Extreme | 2^20 | 1 GB |
Requirements
- Python 3.10+
- cryptography >= 41.0
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
chromapress-1.0.0.tar.gz
(13.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chromapress-1.0.0.tar.gz.
File metadata
- Download URL: chromapress-1.0.0.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c83861a639c29c2c3a754fe1f755f3512a3317b8aab3fe22a4d1d74c8d3b9826
|
|
| MD5 |
1798ee3be23e6d65eee2d005414cdcad
|
|
| BLAKE2b-256 |
3363d3bfaccfbd2b625e9bc573f3bc43fa4f0ae1a5bfdc1b1a6d340d2159987c
|
File details
Details for the file chromapress-1.0.0-py3-none-any.whl.
File metadata
- Download URL: chromapress-1.0.0-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9427e74ebd55d1af62d9ca50acc088436b6143d997b6fa1761b5f515108860ee
|
|
| MD5 |
cd9501b20da5bd61a895fed659982c51
|
|
| BLAKE2b-256 |
4ca9834d1387d51aaced0392e0b7f458b2bd97ca4f9862ee0efc95764315a159
|