Skip to main content

cryptography/ciphers/
mod.rs

1//! Block and stream ciphers.
2//!
3//! The crate keeps primitive implementations grouped here and layers higher
4//! level composition (`modes`, `hash`, `cprng`) on top. This separation keeps
5//! the cipher modules focused on the algorithm cores and their direct key
6//! schedules rather than mixing protocol or framing concerns into each file.
7//!
8//! Ct policy:
9//! - new table-based cipher implementations must ship a corresponding `Ct`
10//!   variant in the same module.
11//! - table-free designs (for example pure ARX/bitwise constructions) may be
12//!   exempt, but the exemption must be explicitly recorded in `src/scrub.rs`.
13
14mod simon_speck_util;
15
16pub mod aes;
17pub mod camellia;
18pub mod cast128;
19pub mod chacha20;
20pub mod des;
21pub mod grasshopper;
22pub mod magma;
23pub mod present;
24pub mod rabbit;
25pub mod salsa20;
26pub mod seed;
27pub mod serpent;
28pub mod simon;
29pub mod sm4;
30pub mod snow3g;
31pub mod speck;
32pub mod twofish;
33pub mod zuc;