Skip to main content

arcana/mac/
mod.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2026 Cédric Mesnil <cslashm@pm.me>
3
4//! Message Authentication Codes (MACs).
5//!
6//! This module provides a uniform stateful `init / update / sign /
7//! verify` API across the four MAC families supported by
8//! `arcana`:
9//!
10//! - **HMAC** (RFC 2104, FIPS 198-1) over SHA-1, SHA-256, SHA-384,
11//!   SHA-512, SHA3-256, SHA3-384, SHA3-512, RIPEMD-160.
12//! - **CMAC** (NIST SP 800-38B, RFC 4493) over AES-128, AES-192,
13//!   AES-256, Triple-DES.
14//! - **KMAC** (FIPS SP 800-185) — KMAC128 and KMAC256.
15//! - **GMAC** (NIST SP 800-38D) over AES-128, AES-192, AES-256.
16//!
17//! See the `ctx::Mac` type for the stateful API.
18
19pub mod ctx;