Module diem_sdk::crypto [−][src]
Modules
_once_cell | Overview |
_serde_name | This crate provides a fast and reliable way to extract the Serde name of a Rust container. |
compat | Wrapper structs for types that need RustCrypto traits implemented. |
ed25519 | This module provides an API for the PureEdDSA signature scheme over the ed25519 twisted Edwards curve as defined in RFC8032. |
error | Rexport the error types needed for the various crypto traits |
hash | This module defines traits and implementations of cryptographic hash functions for the Diem project. |
hkdf | An implementation of HKDF, the HMAC-based Extract-and-Expand Key Derivation Function for the Diem project based on RFC 5869. |
multi_ed25519 | This module provides an API for the accountable threshold multi-sig PureEdDSA signature scheme over the ed25519 twisted Edwards curve as defined in RFC8032. |
noise | Noise is a protocol framework which we use in Diem to encrypt and authenticate communications between nodes of the network. |
test_utils | Internal module containing convenience utility functions mainly for testing |
traits | This module provides a generic set of traits for dealing with cryptographic primitives. |
x25519 | An abstraction of x25519 elliptic curve keys required for
Diffie-Hellman key exchange
in the Diem project.
Ideally, only |
Structs
HashValue | Output value of our hash function. Intentionally opaque for safety and modularity. |
Enums
CryptoMaterialError | An error type for key and signature validation issues, see |
Traits
Genesis | A type family with a by-convention notion of genesis private key. |
Length | The serialized length of the data that enables macro derived serialization and deserialization. |
PrivateKey | A type family for key material that should remain secret and has an
associated type of the |
PublicKey | A type for key material that can be publicly shared, and in asymmetric
fashion, can be obtained from a |
Signature | A type family for signature material that knows which public key type is needed to verify it, and given such a public key, knows how to verify. |
SigningKey | A type family of valid keys that know how to sign. |
Uniform | A type family for schemes which know how to generate key material from
a cryptographically-secure [ |
ValidCryptoMaterial | Key or more generally crypto material with a notion of byte validation. |
ValidCryptoMaterialStringExt | An extension to to/from Strings for |
VerifyingKey | A type family of public keys that are used for signing. |