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
287ca9d3c2
Release v2.0.0: VaptVupt codec integration, auto codec detection, Jasmin and VaptVupt fixes, multi-arch & performance enhancements, security hardening, ACSL annotations
2026-04-05 15:35:49 -03:00
Cristian Cezar Moisés
19ab9f280d
Updated: Docs
2026-04-05 15:30:55 -03:00
Cristian Cezar Moisés
aae8418564
Removed: test_vaptvupt and test_vectors
2026-04-05 15:14:54 -03:00
Cristian Cezar Moisés
8ad12ad66c
Fix: Workflow
2026-04-05 14:56:59 -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
cf70d4ecfe
Feat: Added vaptvupt codec, fix jasmin tests
2026-03-30 06:51:34 -03:00
Cristian Cezar Moisés
f56ee965d8
Add: Donations + Liberapay
2026-03-29 06:16:20 -03:00
Cristian Cezar Moisés
00dc1b8fdd
Add: Install.sh
2026-03-28 23:11:18 -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
cea317653e
Merge pull request #12 from cabelo/all-opensuse-03
...
cabelo@opensuse.org: Available in all openSUSE and DiraQ Linux
2026-03-28 15:47:54 -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
c2bf999f98
Merge pull request #11 from cabelo/all-opensuse
...
All opensuse
2026-03-28 15:39:05 -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
ebc7f7702d
Updated: Removed old .tar.gz
2026-03-24 20:24:18 -03:00
Cristian Cezar Moisés
b377488f1e
Updated: Readme - OpenSuse pacakges
2026-03-24 20:22:06 -03:00
Cristian Cezar Moisés
8d35a489e3
Added: tarball
2026-03-24 20:13:18 -03:00
Cristian Cezar Moisés
d30bc2585e
Removed: Zupt binary
2026-03-24 20:05:57 -03:00
Cristian Cezar Moisés
eac60cd3b0
Merge remote-tracking branch 'github/master'
2026-03-24 20:00:07 -03:00
Cristian Cezar Moisés
deaf01dbca
Added: Donations
2026-03-24 19:57:48 -03:00
Cristian Cezar Moisés
1a5ee110c5
Update copyright year in README.md
2026-03-24 19:48:31 -03:00
Cristian Cezar Moisés
f3e679ef53
Updated: Install.sh
2026-03-24 19:44:00 -03:00
Cristian Cezar Moisés
d0dd63370c
fix(cli): clarify password requirement for -p option
...
Updated CLI help and prompt message to show that -p/--password requires a password.
If no password is provided, the user will be prompted. Improves usability and avoids confusion.
2026-03-24 19:28:21 -03:00
Cristian Cezar Moisés
9ffe411a95
Updated: Readme - Build
2026-03-24 19:13:23 -03:00
Cristian Cezar Moisés
23c78cfb6c
Fixed: Version on zupt.h
...
Closes #8
2026-03-24 19:08:06 -03:00
Cristian Cezar Moisés
0396e31bb3
Merge PR #4 : Update Makefile (cabelo)
2026-03-24 18:53:04 -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
98de159eb2
cabelo@opensuse.org - Makefile
2026-03-23 17:50:16 -03:00
Cristian Cezar Moisés
83c801d7b6
Fix: clarified Montgomery constant and closed issue #1
...
Added detailed comments explaining why the X25519 implementation uses the constant 121666 (a24 = (A + 2) / 4 as defined in RFC 7748). This improves readability and avoids future confusion.
Issue #1 reviewed and closed.
2026-03-22 10:22:57 -03:00
Cristian Cezar Moisés
c80332778f
Compress everything. Trust nothing. Encrypt always.
2026-03-21 22:06:03 -03:00