brynja-protocol 0.1.0

Shared no_std wire framing for Brynja secure protocols
Documentation
  • Coverage
  • 100%
    49 out of 49 items documented3 out of 3 items with examples
  • Size
  • Source code size: 78.63 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.2 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 3s Average build duration of successful builds.
  • all releases: 3s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • valkyoth/brynja
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • eldryoth

brynja-protocol

brynja-protocol 0.1.0 is Brynja's shared allocation-free TLS and DTLS record-envelope boundary. An already selected typed WirePolicy controls the parser: record bytes cannot select, downgrade, or fall back to another protocol version. Parsers borrow input, preserve legacy-version and unknown content-type bytes where permitted, and reject malformed lengths before exposing a record. Encoders preflight caller buffers and leave them unchanged on failure.

The boundary covers TLS 1.2 and TLS 1.3 plaintext/ciphertext envelopes, DTLS 1.2 plaintext/ciphertext envelopes, and DTLS 1.3 plaintext and unified ciphertext headers. TLS 1.3 and DTLS 1.3 legacy-version handling follows RFC 9846. RFC 6520 Heartbeat content and extension negotiation are rejected in every modern profile. TLS 1.3 application data is categorically rejected from unprotected wire records during both parsing and construction; it remains available only through the separate post-decryption inner-content classifier.

This crate does not negotiate versions, decrypt or authenticate records, reconstruct DTLS sequence numbers, enforce replay policy, process handshakes, perform I/O, allocate, implement cryptography, or provide a TLS/DTLS engine. It is selected for initial publication at v0.20.0. Its v0.19.0 initial High cleartext-exposure finding passed repository-owner remediation retest with zero open findings, and it remains inside the cumulative v0.15.0-to-v0.20.0 review range. That scheduled assessment and its DER remediation retest record PASS/PASS with zero open findings. It stays unpublished until the committed release-check candidate and hosted gates pass.

Cryptography Verification Status

No protocol code in this crate has been independently reviewed. Project tests, CI, fuzzing, formal tools, and pentesting do not by themselves constitute independent protocol verification.

Component Protocol scope Independently verified
brynja-protocol TLS and DTLS record-envelope parsing and encoding ❌ Not verified

The project-wide first-party Rust, no_std, 500-line source-file, platform-portability, and modern/legacy isolation policies apply here.