🌊 Wave-18: padding-class oracle + jitter-injection side-channel#717
Merged
Conversation
- Lane A L-CHAT-6-cls (CR-CHAT-04): padding_class_oracle.rs (322 lines), 9 tests (CLS-01..06 + 3 bonuses) - Lane B L-CHAT-7-jitter (CR-CHAT-07): jitter_side_channel.rs (405 lines), 10 tests (JIT-01..06 + 4 bonuses) - Coq Section TrinityChatWave18: INV-CHAT-96..102 + helper, 8 new Qed → 139 total, 0 new axioms - Falsifier 1600 → 1700 (PI-CLS-001..050 + PI-JIT-001..050), 34 categories @ 100% - DENY_PATTERNS extended with W18 padding/jitter keyword blocks + 33 residual-miss patches - ROADMAP updated: 270 tests, 25/25 e2e, 1700/1700 falsifier, 34 cats, 139 Qed/0 Admitted Closes #716
This was referenced May 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #716
🌊 Wave-18 — padding-class oracle + jitter-injection side-channel.
Branches from
main(commit047f3cb, the Wave-17 merge via #715).Lanes shipped
Lane A
L-CHAT-6-cls(R-CHAT-9 / CR-CHAT-04) — padding-class oracle:crates/trios-chat/rings/CR-CHAT-04/src/padding_class_oracle.rs(322 lines).6 CLS-01..06 tests + 3 bonuses pinning
PaddingOracleError::{NonClassSize, TruncatedTooShort, DeclaredLengthOverflow, ClassUpgrade, ClassDowngrade, NonZeroPaddingSuffix}against the canonical class set{256, 1024, 4096, 16384}.Lane B
L-CHAT-7-jitter(R-CHAT-10 / CR-CHAT-07) — jitter-injection/ inter-arrival side-channel:
crates/trios-chat/rings/CR-CHAT-07/src/jitter_side_channel.rs(405 lines).6 JIT-01..06 tests + 4 bonuses pinning
JitterError::{BurstBelowMinimum, NonCanonicalGap, NonMonotonicTimestamp, InsufficientCover, ClassBiasExceeded, GapTimestampMismatch}withJitterPolicy{ min_cover_pct=25, max_class_pct=60}against canonical gaps{50, 250, 1000, 5000, 30000, 300000}ms.Coq
Section TrinityChatWave18incrates/trios-chat/proofs/chat/Trinity_Chat.v:inv_chat_96_smallest_class_in_setinv_chat_97_padding_class_choice_minimalinv_chat_98_declared_length_overflow_rejectedinv_chat_99_truncated_too_short_rejectedinv_chat_100_non_canonical_gap_rejectedinv_chat_101_non_monotonic_timestamp_rejectedinv_chat_102_gap_timestamp_mismatch_rejectedjitter_burst_below_minimum_rejected18Unique W18-suffixed names (
smallest_class18,validate_gap18,class0_18..class3_18,gap0_18..gap3_18,PadOracleErr18,JitterErr18,check_class_choice18) avoid cross-wave name collisions.8 new Qed → 139 Qed total. Zero new axioms. Cumulative axiom
count remains 5 (
ss_kp_injective,dh_step_fresh,dh_post_history_independent,hybrid_kem_non_degenerate,sn_hash_sym).Falsifier
crates/trios-chat/corpus/prompt_injection.jsonl.crates/trios-chat/src/bin/falsifier_runner.rs(
padding_class_oracle+jitter_side_channel, both at 0.95).DENY_PATTERNSinCR-CHAT-06/src/injection.rsextended with~160 W18 keyword patterns (padding-class oracle + jitter side-channel)
Verified [VERIFIED]
cargo testcumulative chat suitecargo run -q -p trios-chat --bin e2e_chat_25cargo run -q -p trios-chat --bin falsifier_runnercargo clippy -p trios-chat -p trios-chat-cr-chat-04 -p trios-chat-cr-chat-07 --all-targets -- -D warningscoqc crates/trios-chat/proofs/chat/Trinity_Chat.vgrep -cE "Qed\." Trinity_Chat.vgrep -cE "^\s*Admitted\." Trinity_Chat.vAnchor (extended)
φ² + φ⁻² = 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 · DENIABILITY · CONFUSED-DEPUTY · OOB-IDENTITY · MLS-EXTERNAL-COMMIT · EGRESS-FINGERPRINT · IDENTITY-REVOKE · CLOCK-SKEW-REPLAY · AT-REST-ROTATE · TOOL-ARG-CONFUSION · GROUP-PCS-HEAL · PADDING-CLASS-ORACLE · JITTER-SIDE-CHANNELConstitution compliance
crates/trios-chat/rings/CR-CHAT-04/andCR-CHAT-07/(rings only, no monoliths)..shfiles added.Closes #716on the very first line.cargo clippy -D warningsclean;coqcsilent (exit 0).[VERIFIED].ROADMAP updated: Wave-18 promoted from
[ASPIRATIONAL]to shipped.Status line: 270 tests · 25/25 e2e · 1700/1700 falsifier · 34 categories · 139 Coq Qed / 0 Admitted · 0 unsafe · 0 monoliths.
Parent EPIC: trinity-fpga#28.