12 releases
0.5.1 | Feb 8, 2020 |
---|---|
0.5.0 | Oct 14, 2019 |
0.4.1 | Oct 7, 2019 |
0.3.7 | Jun 5, 2019 |
0.3.0 | Nov 25, 2018 |
#149 in Encoding
91,897 downloads per month
Used in 354 crates
(61 directly)
51KB
1K
SLoC
subtle-encoding
Rust crate for encoding/decoding binary data to/from base64 and hex encodings while avoiding data-dependent branching/table lookups, and therefore providing "best effort" constant-time operation.
Also includes a non-constant-time Bech32 encoder/decoder gated under the
bech32-preview
Cargo feature (with a goal of eventually making it
constant-time).
Useful for encoding/decoding secret values such as cryptographic keys.
Minimum Supported Rust Version
- Rust 1.39
Security Notice
While this crate takes care to avoid data-dependent branching, that does not actually make it "constant time", which is an architecture-dependent property.
This crate is a "best effort" attempt at providing a constant time encoding library, however it presently provides no guarantees, nor has it been independently audited for security vulnerabilities.
Use at your own risk.
License
Copyright © 2018-2020 iqlusion
subtle-encoding is distributed under the terms of either the MIT license or the Apache License (Version 2.0), at your option.
See LICENSE (Apache License, Version 2.0) file in the iqlusioninc/crates
toplevel directory of this repository or LICENSE-MIT for details.