Skip to content

feat: implement QUIC packet and header protection - #291

Draft
stevefan1999-personal wants to merge 2 commits into
RustCrypto:masterfrom
stevefan1999-personal:stack/05-quic
Draft

feat: implement QUIC packet and header protection#291
stevefan1999-personal wants to merge 2 commits into
RustCrypto:masterfrom
stevefan1999-personal:stack/05-quic

Conversation

@stevefan1999-personal

@stevefan1999-personal stevefan1999-personal commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Independent PR based on master (not stacked).

  • Implement full RFC 9001 QUIC support for suites present on master:
    • Header protection: AES-128/256-ECB and ChaCha20 (MaskSample enum + trait)
    • Packet protection: AES-128-GCM, AES-256-GCM, ChaCha20-Poly1305 (PacketOps enum + trait)
    • Multipath nonce path
  • Wire QUIC into TLS 1.3 AES-GCM and ChaCha suites
  • Named static suite/KeyBuilder values for 'static on MSRV 1.85

AES-CCM QUIC is out of scope here so this PR does not depend on #289. A small follow-up can wire CCM once #289 lands.

Test plan

  • cargo test --lib (QUIC tests) / clippy / no_std (1.85)
  • CI green

@stevefan1999-personal stevefan1999-personal changed the title feat: implement QUIC packet/header protection and enable SHA-224/512 feat: implement QUIC packet and header protection Aug 5, 2026
Replace the stub QUIC module with RFC 9001 header protection (AES-ECB
and ChaCha20) and AEAD packet keys for AES-128/256-GCM and
ChaCha20-Poly1305, using enum + trait dispatch via match.

Wire those algorithms into the TLS 1.3 AES-GCM and ChaCha suites. Named
static suite/KeyBuilder values keep borrows 'static on MSRV 1.85.

AES-CCM QUIC support is intentionally omitted so this change applies
cleanly on master without the CCM feature branch.
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