docs: add chunker guide (user-level and cryptographic)

New docs/internals/chunker.rst documenting all supported chunkers twice:

- a plain-language section for users: what the chunker choice affects,
  the chunk-size fingerprinting threat model, an at-a-glance comparison
  table, and concrete recommendations per use case (borg 1.x dedup
  compat, speed, untrusted repository storage, disk images);
- a technical section for readers with a crypto background: the FSWC
  model, why direct-decision keyed rolling hashes are broken (key
  recovery from observed boundaries), the UHF-then-PRF construction and
  its epsilon-AU requirement, the three universal hashes with their
  collision bounds (rabin-aes ~2^-55 probabilistic, goldilocks-aes
  ~2^-58, toeplitz-aes exactly 2^-64 unconditional), why the fixed
  64-byte window is essential (including the rotation/cancellation
  algebra that also explains the classic 4095-vs-4096 buzhash window),
  rejected alternatives, measured performance, proof-bound limits and
  the wider-digest upgrade path, plus references.

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
Thomas Waldmann
2026-08-04 15:56:38 +02:00
co-authored by Claude Fable 5
parent f16c440b45
commit ea9e1eb55d
2 changed files with 254 additions and 0 deletions
+1
View File
@@ -44,5 +44,6 @@ hash table of all chunks that already exist.
internals/security
internals/data-structures
internals/chunker
internals/packs
internals/frontends