mumble_server_runtime_crypto/mumble_server_runtime_crypto.rs
1//! Cryptography for the Mumble voice plane: OCB2-AES128, IV management and
2//! replay protection. Pure Rust, no IO, no runtime, no `unsafe` (gates R4).
3//!
4//! The algorithm and Mumble's specific mitigations are ported line-for-line from
5//! the vendored reference (R1): `references/vendored/ocb2-vectors/CryptStateOCB2.cpp`
6//! at `references/mumble.pin`, and validated against the vectors in the sibling
7//! `TestCrypt.cpp`. Nothing here is recalled from memory of the OCB2 spec.
8#![forbid(unsafe_code)]
9
10pub mod ocb2;
11
12pub use ocb2::{BLOCK_SIZE, CryptState, KEY_SIZE, ocb_decrypt, ocb_encrypt};