26 releases

0.10.7 Oct 5, 2023
0.10.6 Jul 18, 2023
0.10.3 May 20, 2023
0.10.2 Mar 27, 2023
0.1.2 Jul 27, 2018

#261 in Cryptography

Download history 1599/week @ 2024-03-14 1181/week @ 2024-03-21 737/week @ 2024-03-28 1057/week @ 2024-04-04 1408/week @ 2024-04-11 1182/week @ 2024-04-18 920/week @ 2024-04-25 2069/week @ 2024-05-02 1270/week @ 2024-05-09 1586/week @ 2024-05-16 1107/week @ 2024-05-23 2203/week @ 2024-05-30 1023/week @ 2024-06-06 745/week @ 2024-06-13 944/week @ 2024-06-20 921/week @ 2024-06-27

3,946 downloads per month
Used in 14 crates (4 directly)

MIT license

180KB
4K SLoC

botan-rs

Build status crates.io docs.rs

This crate wraps the C API exposed by the Botan cryptography library.

Currently the crate exposes ciphers, hashes, MACs, KDFs, password based key derivation (PBKDF2, Scrypt, Argon2, etc), bcrypt password hashes, random number generators, X.509 certificates, format preserving encryption, HOTP/TOTP, NIST key wrapping, multiprecision integers, and the usual public key algorithms (RSA, ECDSA, ECDH, DH, ...)

PRs and comments/issues happily accepted.

MSRV

The Minimum Supported Rust Version of this crate is Rust 1.58.0, unless you enable support for no_std builds, in which case Rust 1.64.0 is required.

Botan Versions Supported

This crate requires Botan 2.13.0 or higher.

Features

The following features are supported:

  • no-std: Enable a no-std build. This requires Rust 1.64.0 or higher, as well as alloc support
  • vendored: Build a copy of the C++ library directly, without relying on a system installed version.
  • botan3: Enable support for using APIs added in Botan 3. This enables several new features, and more efficient operation. This feature is implicitly enabled if you use vendored.

Dependencies