oxicrypto-cipher 0.1.0

Pure Rust raw block/stream cipher primitives for OxiCrypto (AES single-block ECB, ChaCha20 keystream) used by QUIC header protection
Documentation
  • Coverage
  • 100%
    9 out of 9 items documented0 out of 3 items with examples
  • Size
  • Source code size: 16.46 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 326.52 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 13s Average build duration of successful builds.
  • all releases: 13s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • cool-japan

Raw single-block / stream cipher primitives for the OxiCrypto stack.

These are deliberately low-level building blocks, distinct from the authenticated oxicrypto-aead ciphers. They exist for QUIC header protection (RFC 9001 §5.4), which masks packet headers with a 5-byte sample of either an AES-ECB single-block encryption (§5.4.3) or a ChaCha20 keystream block (§5.4.4).

Primitive Function Notes
AES-128 single block [aes128_encrypt_block] one 16-byte ECB block
AES-256 single block [aes256_encrypt_block] one 16-byte ECB block
ChaCha20 keystream block [chacha20_keystream_block] RFC 8439 / RFC 9001 §5.4.4

All wrappers are #![forbid(unsafe_code)]; the underlying aes / chacha20 crates provide safe constructors (KeyInit::new, KeyIvInit::new) and operations (BlockEncrypt::encrypt_block, StreamCipher::apply_keystream).