Skip to content

🌊 Wave-12 sub-tracker β€” prekey-bundle exhaustion + MLS leaf-key compromiseΒ #694

@gHashTag

Description

@gHashTag

🌊 Wave-12 sub-tracker β€” prekey-bundle exhaustion + MLS leaf-key compromise

Part of the Trinity Chat wave cadence (W9 β†’ W10 β†’ W11 β†’ W12).

Lanes

Lane A β€” L-CHAT-1-prekey (R-CHAT-1, CR-CHAT-01)

Focus: prekey-bundle exhaustion + one-time-prekey reuse defense.

  • New module crates/trios-chat/rings/CR-CHAT-01/src/otpk.rs (287 lines).
  • Types: OtpkPool, Otpk, JoinStrategy::{OneTime, SignedFallback}.
  • 5 PEX-01..05 tests:
    • PEX-01 fresh pool issues distinct one-time prekeys
    • PEX-02 each OTPK can be consumed at most once
    • PEX-03 exhausted pool falls back to signed prekey
    • PEX-04 reuse attempt is rejected (no double-spend)
    • PEX-05 pool size monotonically decreases on take

Lane B β€” L-CHAT-3-leaf (R-CHAT-11, CR-CHAT-03)

Focus: MLS leaf-key compromise + leaf-resync forgery defense.

  • Extended crates/trios-chat/rings/CR-CHAT-03/src/lib.rs with:
    • LeafResync struct
    • Group::process_leaf_resync API
    • leaf_keys: BTreeMap<u32,[u8;32]> field on Group
  • 5 LCO-01..05 tests + green_g_c3_leaf_summary.

Coq Wave-12

  • New Section TrinityChatWave12 with INV-CHAT-54..60.
  • 4 prekey theorems (INV-CHAT-54..57) + 3 leaf theorems (INV-CHAT-58..60) + 2 helper lemmas.
  • 70 β†’ 79 Qed, 0 Admitted, 0 new axioms.

Falsifier 1000 β†’ 1100

  • +50 prekey_exhaustion payloads (PI-PEX-001..050).
  • +50 mls_leaf_compromise payloads (PI-LCO-001..050).
  • 22 categories @ 100% deny coverage.

Acceptance gates

  • Tests β€” 185 / 0 failed across cumulative chat suite
  • e2e β€” 25/25 (e2e_chat_25)
  • Falsifier β€” 1100/1100 across 22 categories
  • Clippy β€” -D warnings clean
  • Coq β€” coqc silent, 79 Qed, 0 Admitted
  • ROADMAP.md β€” W12 promoted from ASPIRATIONAL β†’ shipped table

Anchor

φ² + φ⁻² = 3 Β· TRINITY Β· CHAT Β· ZERO-METADATA Β· POST-QUANTUM Β· UNLINKABLE Β· COVER-TIMING Β· AT-REST-AEAD Β· BOT-PARTIAL-MLS Β· KEM-KEY-CONFUSION Β· AAD-CONTEXT Β· RATCHET-FS Β· MLS-REORDER Β· SKIPPED-KEYS-DOS Β· MLS-WELCOME-REPLAY Β· PREKEY-EXHAUSTION Β· MLS-LEAF-COMPROMISE

Parent waves

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions