clatter 2.2.0

no_std compatible implementation of Noise protocol framework with Post-Quantum extensions
Documentation
[package]
name = "clatter"
version = "2.2.0"
edition = "2021"
rust-version = "1.81.0"
license = "MIT"
description = "no_std compatible implementation of Noise protocol framework with Post-Quantum extensions"
documentation = "https://docs.rs/clatter"
repository = "https://github.com/jmlepisto/clatter"

keywords = [
    "noise",
    "noise-protocol",
    "crypto",
    "protocol",
    "post-quantum",
]

categories = [
    "cryptography",
    "no-std",
    "no-std::no-alloc",
    "algorithms",
]

exclude = [
    "vectors/*",
    ".github/*",
    "tests/*",
    "fuzz/*",
]

[features]
default = [
    "std",
    "use-aes-gcm", 
    "use-chacha20poly1305", 
    "use-sha", 
    "use-blake2",
    "use-25519", 
    "use-pqclean-ml-kem",
    "use-rust-crypto-ml-kem", 
]

alloc = []
std = [
    "alloc",
    "sha2/std",
    "blake2/std",
    "aes-gcm/std",
    "chacha20poly1305/std",
    "ml-kem/std",
    "zeroize/std",
    "getrandom",
]

core = [
    "use-aes-gcm",
    "use-chacha20poly1305",
    "use-sha",
    "use-blake2",
    "use-25519",
    "use-rust-crypto-ml-kem",
]

getrandom = ["dep:getrandom"]

use-sha = ["sha2"]
use-blake2 = ["blake2"]
use-aes-gcm = ["aes-gcm"]
use-chacha20poly1305 = ["chacha20poly1305"]
use-pqclean-ml-kem = ["pqcrypto-mlkem", "pqcrypto-traits", "getrandom"]
use-rust-crypto-ml-kem = ["ml-kem"]
use-25519 = ["x25519-dalek"]

# docs.rs-specific configuration
[package.metadata.docs.rs]
all-features = true
# defines the configuration attribute `docsrs`
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
# Mandatory
arrayvec = { version = "0.7.6", default-features = false, features = ["zeroize"] }
rand_core = "^0.6"
zeroize = { version = "1.8.1", default-features = false, features = ["zeroize_derive"] }

# Optional
aes-gcm = { version = "0.10.3", default-features = false, features = ["aes"], optional = true }
blake2 = { version = "0.10.6", default-features = false, optional = true }
chacha20poly1305 = { version = "0.10.1", default-features = false, features = ["rand_core"], optional = true }
ml-kem = { version = "0.2.1", default-features = false, features = ["zeroize"], optional = true }
sha2 = { version = "0.10.9", default-features = false, optional = true }
thiserror-no-std = { version = "2.0.2", default-features = false }
x25519-dalek = { version = "2.0.1", default-features = false, features = ["static_secrets", "zeroize"], optional = true }
pqcrypto-mlkem = { version = "0.1.1", default-features = false, optional = true }
pqcrypto-traits = { version = "0.3.5", default-features = false, optional = true }
displaydoc = { version = "0.2.5", default-features = false }
getrandom = { version = "0.3.3", optional = true }

[dev-dependencies]
rand = "0.8.5"

[workspace]
members = [
    "fuzz",
    "vectors",
    "tests",
]