Commit graph zupt/README.md
Author SHA1 Message Date
Cristian Cezar Moisés
4972024013 Zupt v2.1.2: add full-disk backup/restore, expand test suite, improve compression handling
- Introduced full-disk backup/restore (src/zupt_disk.c, ~530 LOC)
  - Backup: streams 4MB blocks with sparse detection and all codecs
  - Restore: per-block checksum validation for integrity
  - Supports password (-p), PQ hybrid (--pq), or no encryption
  - Real-time progress bar with throughput reporting (stderr)

- Implemented sparse detection (8-byte zero scan)
  - Zero blocks stored as STORE (near-zero overhead)

- Added disk-aware safeguards
  - ZUPT_FLAG_DISK_IMAGE prevents misuse with extract
  - Immediate failure on wrong password during first block decrypt

- Cross-platform device size detection
  - Linux: BLKGETSIZE64
  - macOS: DKIOCGETBLOCKCOUNT
  - Fallback: lseek

- Compression behavior
  - ~2928:1 on highly repetitive data
  - ~1.33:1 on random data (auto STORE fallback)

- Expanded test suite to 77 tests:
  - 11 VV unit
  - 13 NIST/RFC vectors
  - 22 regression
  - 14 multi-threaded
  - 10 post-quantum
  - 7 disk (normal, encrypted, PQ, sparse, LZHP, extreme compression, wrong-password)

Release stats:
- 74 files, 168KB, zero .o artifacts
- 77/77 tests passing
- Fully clean under ASAN + UBSan
2026-04-06 19:25:24 -03:00
Cristian Cezar Moisés
754be4e84e Zupt v2.1.1: fix cross-arch build issues, eliminate UB, improve Android/Termux support
- Removed all shipped .o files from tarball (fixes aarch64/Termux linker errors with x86_64 objects)
- Added arch-safety guard in Makefile to auto-detect and remove incompatible .o files
- Switched default compiler from gcc to cc (Termux uses clang)
- Skipped -lpthread on Android (bionic provides pthreads)
- Added Android detection via uname -o
- Fixed Keccak UB: ROL64(x,0) no longer expands to undefined x >> 64
- Achieved zero UBSan/ASAN issues across all PQ crypto paths
- Moved sys/syscall.h include to file scope with proper __linux__ guard

Release stats:
- 73 files, 159KB, zero .o artifacts
- 70/70 tests passing
- Fully clean under ASAN + UBSan

Note: full-disk encryption (--disk) deferred to v2.2.0 (requires raw device I/O, sparse detection, and privilege handling)
2026-04-06 19:17:37 -03:00
Cristian Cezar Moisés
c052a15b41 Adjust: Readme.md 2026-04-05 23:29:46 -03:00
Cristian Cezar Moisés
537e071e0d Release: 2.1.0 Added:VaptVupt 1.4.0: cross-block dictionary carry, context decode prefetch, faster adaptive window trial (2.6× encode), integration API 2026-04-05 23:14:18 -03:00
Cristian Cezar Moisés
19ab9f280d Updated: Docs 2026-04-05 15:30:55 -03:00
Cristian Cezar Moisés
6651842748 Feat: Added vaptvupt codec, fix jasmin tests 2026-03-30 06:56:52 -03:00
Cristian Cezar Moisés
06c877ec86 feat: add Jasmin assembly integration for crypto acceleration
- Integrated `zupt_mac_verify_ct` in `zupt_decrypt_buffer()` to replace C XOR loop for HMAC-SHA256
- Integrated `zupt_ct_select_32` in `zupt_mlkem768_decaps()` to replace C `cmov()` for FO transformation
- Added `include/zupt_jasmin.h` with extern declarations and ABI docs
- Added `#ifdef ZUPT_USE_JASMIN` guards with clean C fallbacks in `zupt_crypto.c` and `zupt_mlkem.c`
- Makefile now auto-detects `jasmin/*.s`, assembles and links with `-DZUPT_USE_JASMIN`

Closes #3
2026-03-28 23:03:04 -03:00
Cristian Cezar Moisés
a4d087b8a8 cabelo@opensuse.org: Available in all openSUSE and DiraQ Linux 2026-03-28 15:44:43 -03:00
Cristian Cezar Moisés
120ced9c6c cabelo@opensuse.org: Available in all openSUSE distributions 2026-03-28 15:35:37 -03:00
Cristian Cezar Moisés
04ef3f518d Update README with openSUSE manual installation instructions 2026-03-25 12:32:16 -03:00
Cristian Cezar Moisés
d75cd1d77c Updated: Readme - added Logo 2026-03-24 22:00:15 -03:00
Cristian Cezar Moisés
92a7a799e4 Updated: Readme 2026-03-24 21:00:23 -03:00
Cristian Cezar Moisés
ebde577859 Updated: Install.sh 2026-03-24 20:58:22 -03:00
Cristian Cezar Moisés
8f12d1014c Updated: Readme 2026-03-24 20:53:19 -03:00
Cristian Cezar Moisés
b377488f1e Updated: Readme - OpenSuse pacakges 2026-03-24 20:22:06 -03:00
Cristian Cezar Moisés
deaf01dbca Added: Donations 2026-03-24 19:57:48 -03:00
Cristian Cezar Moisés
f3e679ef53 Updated: Install.sh 2026-03-24 19:44:00 -03:00
Cristian Cezar Moisés
9ffe411a95 Updated: Readme - Build 2026-03-24 19:13:23 -03:00
Cristian Cezar Moisés
c3e65e1335 docs: document required password for -p option
Clarify in README that encryption mode (-p) requires a password.
Add example usage and reflect new behavior (fail early if missing).

Closes #5
2026-03-24 18:47:47 -03:00
Cristian Cezar Moisés
c74c62bec2 Updated: Readme 2026-03-23 20:08:13 -03:00
Cristian Cezar Moisés
da91ca90f7 Added: Install.sh - Fast installation on GNU+Linux 2026-03-23 20:02:02 -03:00
Cristian Cezar Moisés
aa48ad2887 Readme: Make Clean. 2026-03-23 19:42:00 -03:00
Cristian Cezar Moisés
c80332778f Compress everything. Trust nothing. Encrypt always. 2026-03-21 22:06:03 -03:00