subtle-encoding iqlusion

Crate Docs Apache 2.0/MIT Licensed Rust 1.35+ forbid(unsafe_code) Build Status

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.

Useful for encoding/decoding secret values such as cryptographic keys.

[Documentation]

Requirements

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-2019 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.