Expand description
This module contains types providing the cryptographic primitives necessary to implement Blocktree.
The openssl create is used for all of these primitives, none of them are directly implemented in this module. Rather, the types here wrap the functionality provided by OpenSSL in a more convenient interface, and they serve as an abstraction layer, so that the underlying crypto library can be more easily replaced.
Re-exports
pub use merkle_stream::MerkleStream;
pub use secret_stream::SecretStream;
Modules
- Code for converting Writecaps to and from the X.509 certificate format. TODO: Improve the efficiency and quality of this code by moving to a different library for handling X.509 certificates.
Structs
- Represents any kind of asymmetric key.
- An implementation of std::hash::Hasher which allows cryptographic hash algorithms to be used.
- The encryption of some type
T
. - Parameters used to derive cryptographic keys from passwords.
- A struct which contains the cipher text for a message along with the ciphertext of the key that was used to encrypt the message. This is useful for encrypting messages that are too long to be encrypted using an asymmetric encryption scheme.
- A wrapper which updates a HashOp when data is read or written.
- A hash operation which uses OpenSSL.
- Represents the SHA2-256 hash algorithm.
- Represents the SHA2-512 hash algorithm.
- A struct which computes a signature over data as it is written to it.
- A cryptographic signature.
- Contains information about why a signature verification failed.
- A signature over the serialization of a type
T
.
Enums
- Auto-generated discriminant enum variants
- Errors that can occur during cryptographic operations.
- Auto-generated discriminant enum variants
- Represents keys which must be kept confidential.
- Represents keys which can be shared freely.
- Auto-generated discriminant enum variants
- One of several concrete hash types.
- The types of errors which can occur when verifying a writecap chain is authorized to write to a given path.
Traits
- A trait for types which store credentials.
- An extension of CredStore which exposes additional methods for mutating the credential store.
- Trait for types which contain both public and private credentials.
- Trait for types which contain private credentials.
- Trait for types which can be used as public credentials.
- Trait for hash types which can be created with no arguments.
- A cryptographic hash.
- An ongoing hash operation.
- Marker trait for the
Public
andPrivate
key privacy types. - An ongoing Init-Update-Finish operation.
- A Cryptographic Scheme. This is a common type for operations such as encrypting, decrypting, signing and verifying.
- Represents an ongoing signing operation.
Functions
- Returns an array of the given length filled with cryptographically strong random data.
- Returns a vector of the given length with with cryptographically strong random data.