Feat: Added vaptvupt codec, fix jasmin tests
This commit is contained in:
parent
cf70d4ecfe
commit
6651842748
63 changed files with 6577 additions and 342 deletions
131
doc/zupt.1
Normal file
131
doc/zupt.1
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
.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
|
||||
MIT License. VaptVupt codec files are dual-licensed MIT + Apache-2.0.
|
||||
.SH SEE ALSO
|
||||
.BR gzip (1),
|
||||
.BR zstd (1),
|
||||
.BR lz4 (1)
|
||||
Loading…
Reference in a new issue