133 lines
3.1 KiB
Groff
133 lines
3.1 KiB
Groff
.TH ZUPT 1 "2026-03-29" "Zupt 2.0.0" "User Commands"
|
|
.SH NAME
|
|
zupt \- backup compression with encryption and post-quantum key encapsulation
|
|
.SH SYNOPSIS
|
|
.B zupt compress
|
|
.RI [ OPTIONS ]
|
|
.I output.zupt files/dirs...
|
|
.br
|
|
.B zupt extract
|
|
.RI [ OPTIONS ]
|
|
.I archive.zupt
|
|
.br
|
|
.B zupt list
|
|
.RI [ OPTIONS ]
|
|
.I archive.zupt
|
|
.br
|
|
.B zupt test
|
|
.RI [ OPTIONS ]
|
|
.I archive.zupt
|
|
.br
|
|
.B zupt bench
|
|
.RI [ --compare ]
|
|
.I files/dirs...
|
|
.br
|
|
.B zupt keygen
|
|
.RI [ -o
|
|
.IR file ]
|
|
.RI [ --pub ]
|
|
.RI [ -k
|
|
.IR privkey ]
|
|
.br
|
|
.B zupt version
|
|
.br
|
|
.B zupt help
|
|
.SH DESCRIPTION
|
|
.B zupt
|
|
compresses and encrypts backup archives using the VaptVupt codec
|
|
(LZ77 + tANS entropy coding with AVX2 SIMD decode), AES-256-CTR
|
|
authenticated encryption (HMAC-SHA256), and optional ML-KEM-768 +
|
|
X25519 post-quantum hybrid key encapsulation.
|
|
.PP
|
|
Pure C11, zero external dependencies, ~12,000 lines of code.
|
|
.SH COMPRESS OPTIONS
|
|
.TP
|
|
.BI \-l " LEVEL"
|
|
Compression level 1\-9 (default: 7). Levels 1\-3 use VaptVupt Ultra-Fast
|
|
mode, 4\-7 use Balanced, 8\-9 use Extreme.
|
|
.TP
|
|
.BI \-t " N"
|
|
Thread count. 0=auto-detect, 1=single-threaded, 2\-64=explicit.
|
|
.TP
|
|
.BI \-p " PASSWORD"
|
|
Encrypt with AES-256-CTR + HMAC-SHA256. Password prompted if omitted.
|
|
.TP
|
|
.BI \-\-pq " KEYFILE"
|
|
Post-quantum hybrid encryption using ML-KEM-768 + X25519.
|
|
.TP
|
|
.B \-s
|
|
Store without compression.
|
|
.TP
|
|
.B \-f
|
|
Use fast LZ codec (Zupt-LZ, 64KB window).
|
|
.TP
|
|
.B \-\-vv
|
|
Use VaptVupt codec (default since v2.0).
|
|
.TP
|
|
.B \-\-solid
|
|
Solid mode: concatenate all files before compression for better ratio.
|
|
.TP
|
|
.B \-v
|
|
Verbose output.
|
|
.SH EXTRACT OPTIONS
|
|
.TP
|
|
.BI \-o " DIR"
|
|
Output directory.
|
|
.TP
|
|
.BI \-p " PASSWORD"
|
|
Decryption password.
|
|
.TP
|
|
.BI \-\-pq " KEYFILE"
|
|
Post-quantum decryption with private key.
|
|
.TP
|
|
.BI \-t " N"
|
|
Thread count for parallel decompression.
|
|
.SH CODECS
|
|
.TP
|
|
.B VaptVupt (0x0010)
|
|
Default. LZ77 + tANS entropy + AVX2 SIMD. Three modes: Ultra-Fast,
|
|
Balanced, Extreme.
|
|
.TP
|
|
.B Zupt-LZHP (0x000A)
|
|
LZ77 + Huffman + byte prediction. Previous default (v1.x).
|
|
.TP
|
|
.B Zupt-LZ (0x0008)
|
|
Fast LZ77, 64KB window. Selected with \-f.
|
|
.TP
|
|
.B Store (0x0000)
|
|
No compression. Selected with \-s.
|
|
.SH ENCRYPTION
|
|
Password mode uses PBKDF2-SHA256 (600,000 iterations) to derive AES-256
|
|
encryption and HMAC-SHA256 authentication keys. Per-block nonce derived
|
|
from base_nonce XOR block_sequence.
|
|
.PP
|
|
Post-quantum mode (\-\-pq) uses ML-KEM-768 + X25519 hybrid KEM per NIST
|
|
FIPS 203. Secure if either algorithm is secure.
|
|
.SH EXAMPLES
|
|
.nf
|
|
zupt compress backup.zupt ~/Documents/
|
|
zupt compress \-l 9 \-p secret secure.zupt data/
|
|
zupt extract \-o ~/restored/ backup.zupt
|
|
zupt bench \-\-compare
|
|
zupt keygen \-o mykey.key
|
|
zupt compress \-\-pq pub.key backup.zupt ~/Documents/
|
|
.fi
|
|
.SH FILES
|
|
.TP
|
|
.I *.zupt
|
|
Zupt archive format (v1.4).
|
|
.TP
|
|
.I *.zupt-key
|
|
ML-KEM-768 + X25519 keypair file.
|
|
.SH EXIT STATUS
|
|
0 on success, 1 on error.
|
|
.SH AUTHOR
|
|
Cristian Cezar Moisés <ethicalhacker@riseup.net>
|
|
.SH LICENSE
|
|
GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later).
|
|
The integrated VaptVupt codec is licensed under GPL-3.0-or-later (canonical upstream: github.com/cristiancmoises/vaptvupt).
|
|
For commercial licensing inquiries, contact: sac@securityops.co.
|
|
.SH SEE ALSO
|
|
.BR gzip (1),
|
|
.BR zstd (1),
|
|
.BR lz4 (1)
|