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
- chacha
allow-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.
- Make
Opaque - Trait for transforming a
Result<T, E>
into aResult<T, Unspecified>
.
Functions§
- ct_eq
- Compare two slices in constant-time.
- ensure_
fips - Ensure the Provided Type is in FIPS scope.