embassy-crypto

Crates

git

Versions

default

Flavors

Skip to main content

Module driver

Module driver 

Source
Expand description

Driver interface

Structs§

Aes128CbcImplDecryptContext
Opaque storage for the decryptor’s key schedule and chaining state.
Aes128CbcImplEncryptContext
Opaque storage for the encryptor’s key schedule and chaining state.
Aes128CcmImplContext
Opaque storage for the implementation’s key schedule.
Aes128CmacImplContext
Opaque storage for the implementation’s CMAC state.
Aes128CtrImplContext
Opaque storage for the key schedule, counter and partial keystream.
Aes128EcbImplContext
Opaque storage for the implementation’s key schedule.
Aes128GcmImplContext
Opaque storage for the implementation’s key schedule.
Aes256CbcImplDecryptContext
Opaque storage for the decryptor’s key schedule and chaining state.
Aes256CbcImplEncryptContext
Opaque storage for the encryptor’s key schedule and chaining state.
Aes256CcmImplContext
Opaque storage for the implementation’s key schedule.
Aes256CmacImplContext
Opaque storage for the implementation’s CMAC state.
Aes256CtrImplContext
Opaque storage for the key schedule, counter and partial keystream.
Aes256EcbImplContext
Opaque storage for the implementation’s key schedule.
Aes256GcmImplContext
Opaque storage for the implementation’s key schedule.
Ed25519PublicKey
Ed25519 public key: a compressed edwards25519 point, 32 bytes little-endian (RFC 8032 section 5.1.2).
Ed25519SecretKey
Ed25519 private key: the 32-byte seed of RFC 8032 section 5.1.5.
Ed25519Signature
Ed25519 signature: R || S, a compressed point and a little-endian scalar (RFC 8032 section 5.1.6).
HmacSha1ImplContext
Opaque storage for the implementation’s MAC state.
HmacSha224ImplContext
Opaque storage for the implementation’s MAC state.
HmacSha256ImplContext
Opaque storage for the implementation’s MAC state.
HmacSha384ImplContext
Opaque storage for the implementation’s MAC state.
HmacSha512ImplContext
Opaque storage for the implementation’s MAC state.
HmacSha512_224ImplContext
Opaque storage for the implementation’s MAC state.
HmacSha512_256ImplContext
Opaque storage for the implementation’s MAC state.
InOutBuf
A buffer that is read from and written to, which may or may not alias.
Md5ImplContext
Opaque storage for the implementation’s hash state.
NotEqualError
Error returned when a pair of input/output slices have unequal lengths.
P256ArithImplPoint
Opaque storage for the implementation’s point representation.
P256Point
P-256 (secp256r1) point in affine coordinates: x and y as 32 big-endian bytes each.
P256Scalar
P-256 (secp256r1) scalar: an integer modulo the curve order n, as 32 big-endian bytes.
P256Signature
ECDSA/P-256 (secp256r1) signature: canonical (r, s), each in [1, n).
P384ArithImplPoint
Opaque storage for the implementation’s point representation.
P384Point
P-384 (secp384r1) point in affine coordinates: x and y as 48 big-endian bytes each.
P384Scalar
P-384 (secp384r1) scalar: an integer modulo the curve order n, as 48 big-endian bytes.
P384Signature
ECDSA/P-384 (secp384r1) signature: canonical (r, s), each in [1, n).
Sha1ImplContext
Opaque storage for the implementation’s hash state.
Sha224ImplContext
Opaque storage for the implementation’s hash state.
Sha256ImplContext
Opaque storage for the implementation’s hash state.
Sha384ImplContext
Opaque storage for the implementation’s hash state.
Sha512ImplContext
Opaque storage for the implementation’s hash state.
Sha512_224ImplContext
Opaque storage for the implementation’s hash state.
Sha512_256ImplContext
Opaque storage for the implementation’s hash state.
X25519PublicKey
X25519 public key: a 32-byte Curve25519 u-coordinate, little-endian (RFC 7748).
X25519SecretKey
X25519 private key: a 32-byte Curve25519 scalar, little-endian (RFC 7748).

Enums§

Error
Error type for crypto operations.

Traits§

Aes128Cbc
AES-128 CBC mode driver.
Aes128Ccm
AES-128 CCM driver.
Aes128Cmac
AES-128 CMAC driver (NIST SP 800-38B).
Aes128Ctr
AES-128 CTR mode driver.
Aes128Ecb
AES-128 block cipher (ECB) driver.
Aes128Gcm
AES-128 GCM driver.
Aes256Cbc
AES-256 CBC mode driver.
Aes256Ccm
AES-256 CCM driver.
Aes256Cmac
AES-256 CMAC driver (NIST SP 800-38B).
Aes256Ctr
AES-256 CTR mode driver.
Aes256Ecb
AES-256 block cipher (ECB) driver.
Aes256Gcm
AES-256 GCM driver.
Ed25519
Ed25519 (EdDSA over edwards25519, RFC 8032) driver.
HmacSha1
HMAC-SHA-1 driver.
HmacSha224
HMAC-SHA-224 driver.
HmacSha256
HMAC-SHA-256 driver.
HmacSha384
HMAC-SHA-384 driver.
HmacSha512
HMAC-SHA-512 driver.
HmacSha512_224
HMAC-SHA-512/224 driver.
HmacSha512_256
HMAC-SHA-512/256 driver.
Md5
MD5 driver.
P256Arith
P-256 (secp256r1) scalar and point arithmetic driver.
P256Ecdh
P-256 (secp256r1) ECDH driver.
P256Ecdsa
ECDSA/P-256 (secp256r1) driver, over pre-hashed messages.
P384Arith
P-384 (secp384r1) scalar and point arithmetic driver.
P384Ecdh
P-384 (secp384r1) ECDH driver.
P384Ecdsa
ECDSA/P-384 (secp384r1) driver, over pre-hashed messages.
Rng
Source of cryptographically secure random bytes.
Sha1
SHA-1 driver.
Sha224
SHA-224 driver.
Sha256
SHA-256 driver.
Sha384
SHA-384 driver.
Sha512
SHA-512 driver.
Sha512_224
SHA-512/224 driver.
Sha512_256
SHA-512/256 driver.
X25519
X25519 (Curve25519 ECDH, RFC 7748) driver.