liboscore-cryptobackend 0.1.0

An implementation of libOSCORE's cryptographic primitives backend based on Rust implementations
[package]
name = "liboscore-cryptobackend"
description = "An implementation of libOSCORE's cryptographic primitives backend based on Rust implementations"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
repository.workspace = true

[dependencies]
aead = { version = "0.5", default-features = false }
typenum = "1"
heapless = "0.7"

chacha20poly1305 = { version = "0.10", optional = true, default-features = false }
ccm = { version = "0.5", optional = true, default-features = false }
aes = { version = "0.8", optional = true }
aes-gcm = { version = "0.10", default-features = false, optional = true, features = ["aes"] }

crypto-common = { version = "0.1", default-features = false }
hmac = { version = "0.12", default-features = false }
hkdf = { version = "0.12", default-features = false }
sha2 = { version = "0.10", default-features = false }

log = { version = "0.4", optional = true }

[features]
aes-ccm = [ "ccm", "aes" ]

# Log cryptographic operations (AEAD encryption, decryption, HKDF derivation)
# through the `log` crate.
#
# This is fundamentally unsafe, cryptography-wise -- you just don't print out
# secret keys. But when debugging internals of libOSCORE, this is immensely
# helpful (for example during OSCORE plug tests, to see why the different
# parties derived different keys). Hence the mouthful name: This is not
# supposed to be enabled lightly.
log_cryptographic_operations_including_secret_keys = [ "log" ]