Skip to content

feat(core): streaming AEAD for large files (STREAM over XChaCha20-Poly1305) - #13

Merged
GoDeskio merged 1 commit into
mainfrom
feat/streaming-aead
Nov 5, 2026
Merged

GoDeskio merged 1 commit into
mainfrom
feat/streaming-aead

Conversation

@GoDeskio

Copy link
Copy Markdown
Owner

Backlog #10 from docs/COMPETITOR-SCAN.md. Built from scratch following the published STREAM construction.

  • crates/encryptoglyph/src/stream.rs: 43-byte header (magic, version, chunk size, random salt, nonce prefix). Each stream gets its own HKDF subkey. Chunk nonces combine the prefix, a counter and a last-chunk flag, and the AAD is the header plus caller AAD.
  • Truncation, reordering, dropped chunks, appended junk and header edits all fail closed.
  • tests/stream.rs: round-trips across chunk boundaries, tamper cases, wrong key and wrong AAD.

cargo test and cargo clippy -D warnings both pass locally. No deploy.

@GoDeskio
GoDeskio force-pushed the feat/streaming-aead branch from 134221a to 19e1cc0 Compare November 5, 2026 10:41
@GoDeskio
GoDeskio merged commit 4f82705 into main Nov 5, 2026
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant