no-std base32ct

Pure Rust implementation of Base32 (RFC 4648) which avoids any usages of data-dependent branches/LUTs and thereby provides portable "best effort" constant-time operation and embedded-friendly no_std support

2 unstable releases

Uses new Rust 2021

0.1.0 Jun 12, 2022
0.0.0 Jan 11, 2022

#695 in Cryptography

Download history 1/week @ 2022-08-15 3/week @ 2022-08-22 1/week @ 2022-08-29 7/week @ 2022-09-05 3/week @ 2022-09-19 2/week @ 2022-09-26 26/week @ 2022-10-03 9/week @ 2022-10-10 27/week @ 2022-10-17 51/week @ 2022-10-24 6/week @ 2022-10-31 17/week @ 2022-11-07 58/week @ 2022-11-14 89/week @ 2022-11-21 172/week @ 2022-11-28

342 downloads per month
Used in 2 crates (via neutab)

Apache-2.0 OR MIT

286 lines

RustCrypto: Constant-Time Base32

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

Pure Rust implementation of Base32 (RFC 4648).

Implements lower and upper case Base32 variants without data-dependent branches or lookup tables, thereby providing portable "best effort" constant-time operation.

Supports no_std environments and avoids heap allocations in the core API (but also provides optional alloc support for convenience).


Minimum Supported Rust Version

This crate requires Rust 1.56 at a minimum.

We may change the MSRV in the future, but it will be accompanied by a minor version bump.


Licensed under either of:

at your option.


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.

No runtime deps