Crate wolf_crypto

Source
Expand description

Safe bindings to wolfSSL’s wolfcrypt

This crate provides a well-tested, type-safe, zero-cost interface for wolfSSL’s software cryptographic module wolfcrypt. It leverages Rust’s type system to ensure correct usage of cryptographic primitives at compile-time.

§Safety

This crate uses Rust’s type system and ownership model to prevent common cryptographic mistakes. However, this library cannot ensure you use the provided cryptographic primitives correctly in the broader context of your application to ensure overall security.

§Performance

The bindings are designed to be zero-cost, allowing direct use of the highly optimized wolfcrypt implementations without additional runtime overhead.

The majority of the future performance improvements will be in enabling further hardware acceleration in the underlying wolf-crypto-sys crate.

§Stability

This library is currently in alpha. As such, there is no guarantee of API stability across any update. This crate follows semantic versioning.

Modules§

aead
Authenticated Encryption with Associated Data
aes
Advanced Encryption Standard (AES)
buf
Types for Keys, IVs, and Generally Sensitive Bytes
chachaallow-non-fips
The ChaCha20 Stream Cipher
hash
Cryptographic Hash Algorithms
hex
Constant-Time Hex Encoding and Decoding
kdf
Key Derivation Functions
mac
Message Authentication Codes
opaque_res
Convenient Error Handling and Accumulation

Structs§

Unspecified
A generic error type representing an unspecified failure in cryptographic operations.

Traits§

Fips
Marker Trait for Algorithms and Configurations which are FIPS compliant.
MakeOpaque
Trait for transforming a Result<T, E> into a Result<T, Unspecified>.

Functions§

ct_eq
Compare two slices in constant-time.
ensure_fips
Ensure the Provided Type is in FIPS scope.