Collection of generic block mode algorithms written in pure Rust
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Reynard User f8619729b3
Some checks failed
belt-ctr.yml / chore: sync dependencies (monorepo) (push) Failing after 0s
cbc.yml / chore: sync dependencies (monorepo) (push) Failing after 0s
cfb-mode.yml / chore: sync dependencies (monorepo) (push) Failing after 0s
cfb8.yml / chore: sync dependencies (monorepo) (push) Failing after 0s
ctr.yml / chore: sync dependencies (monorepo) (push) Failing after 0s
cts.yml / chore: sync dependencies (monorepo) (push) Failing after 0s
ofb.yml / chore: sync dependencies (monorepo) (push) Failing after 0s
pcbc.yml / chore: sync dependencies (monorepo) (push) Failing after 0s
ige.yml / chore: sync dependencies (monorepo) (push) Failing after 0s
Workspace / clippy (push) Has been cancelled
Workspace / doc (push) Has been cancelled
Workspace / rustfmt (push) Has been cancelled
Workspace / typos (push) Has been cancelled
Workspace / Check Cargo.lock (push) Has been cancelled
chore: sync dependencies (monorepo)
2026-04-06 20:09:09 +02:00
.github Adopt Trusted Publishing (#104) 2026-02-14 00:08:58 +03:00
belt-ctr chore: sync dependencies (monorepo) 2026-04-06 15:20:41 +02:00
cbc chore: sync dependencies (monorepo) 2026-04-06 15:20:41 +02:00
cfb-mode chore: sync dependencies (monorepo) 2026-04-06 15:20:41 +02:00
cfb8 chore: sync dependencies (monorepo) 2026-04-06 15:20:41 +02:00
ctr chore: sync dependencies (monorepo) 2026-04-06 15:20:41 +02:00
cts chore: sync dependencies (monorepo) 2026-04-06 15:20:41 +02:00
ige chore: sync dependencies (monorepo) 2026-04-06 15:20:41 +02:00
ofb chore: sync dependencies (monorepo) 2026-04-06 15:20:41 +02:00
pcbc chore: sync dependencies (monorepo) 2026-04-06 15:20:41 +02:00
.clippy.toml Workspace-level lint configuration (#108) 2026-03-29 06:39:51 -06:00
.gitignore first commit 2021-11-09 18:51:55 +03:00
Cargo.lock cbc+ctr: cut new prereleases (#107) 2026-02-26 18:45:06 -07:00
Cargo.toml Workspace-level lint configuration (#108) 2026-03-29 06:39:51 -06:00
README.md readme: fix MSRV badges (#102) 2026-02-13 23:45:27 +03:00

RustCrypto: block modes

Project Chat dependency status Apache2/MIT licensed HAZMAT

Collection of block modes written in pure Rust generic over block ciphers.

Crates in this repository do not ensure ciphertexts are authentic (i.e. by using a MAC to verify ciphertext integrity), which can lead to serious vulnerabilities if used incorrectly! RustCrypto/AEADs provide simple authenticated encryption, which is much less error-prone than manual integrity verification.

USE AT YOUR OWN RISK!

Supported algorithms

Name Crate name crates.io Docs MSRV
BelT CTR belt-ctr crates.io Documentation MSRV 1.85
Cipher Block Chaining cbc crates.io Documentation MSRV 1.85
8-bit Cipher Feedback cfb8 crates.io Documentation MSRV 1.85
Full-block Cipher Feedback cfb-mode crates.io Documentation MSRV 1.85
Counter ctr crates.io Documentation MSRV 1.85
Ciphertext stealing cts crates.io Documentation MSRV 1.85
GOST R 34.13-2015 gost-modes crates.io Documentation MSRV 1.85
Infinite Garble Extension ige crates.io Documentation MSRV 1.85
Output Feedback ofb crates.io Documentation MSRV 1.85
Propagating Cipher Block Chaining pcbc crates.io Documentation MSRV 1.85

Minimum Supported Rust Version (MSRV) Policy

MSRV bumps are considered breaking changes and will be performed only with minor version bump.

License

All crates licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.