Phase 0: skeleton, streaming encryption (spike A)

Repository skeleton (app id ng_backup, AGPL-3.0-or-later), KeyRing with
KDF subkeys, keyed blob ids and Argon2id key wrapping, and StreamCipher
(secretstream XChaCha20-Poly1305, framed, bounded memory).

Spike A: 1 GiB round trip with memory_limit=64M, peak < 2 MiB, ~160/122
MiB/s; tampering, truncation, wrong key/passphrase are rejected.
This commit is contained in:
2026-10-01 18:15:24 +02:00
commit fee189aec3
11 changed files with 1421 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
# NG Backup
Encrypted, incremental backups of Nextcloud with restore from the web interface.
Works without shell access: no external programs, no extra PHP extensions beyond sodium.
**Status: phase 0 (prototype). Not usable yet.** See `PLAN.md` for the design.
License: AGPL-3.0-or-later.