clatter 2.2.0

no_std compatible implementation of Noise protocol framework with Post-Quantum extensions
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.81.0"
name = "clatter"
version = "2.2.0"
build = false
exclude = [
    "vectors/*",
    ".github/*",
    "tests/*",
    "fuzz/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "no_std compatible implementation of Noise protocol framework with Post-Quantum extensions"
documentation = "https://docs.rs/clatter"
readme = "README.md"
keywords = [
    "noise",
    "noise-protocol",
    "crypto",
    "protocol",
    "post-quantum",
]
categories = [
    "cryptography",
    "no-std",
    "no-std::no-alloc",
    "algorithms",
]
license = "MIT"
repository = "https://github.com/jmlepisto/clatter"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
alloc = []
core = [
    "use-aes-gcm",
    "use-chacha20poly1305",
    "use-sha",
    "use-blake2",
    "use-25519",
    "use-rust-crypto-ml-kem",
]
default = [
    "std",
    "use-aes-gcm",
    "use-chacha20poly1305",
    "use-sha",
    "use-blake2",
    "use-25519",
    "use-pqclean-ml-kem",
    "use-rust-crypto-ml-kem",
]
getrandom = ["dep:getrandom"]
std = [
    "alloc",
    "sha2/std",
    "blake2/std",
    "aes-gcm/std",
    "chacha20poly1305/std",
    "ml-kem/std",
    "zeroize/std",
    "getrandom",
]
use-25519 = ["x25519-dalek"]
use-aes-gcm = ["aes-gcm"]
use-blake2 = ["blake2"]
use-chacha20poly1305 = ["chacha20poly1305"]
use-pqclean-ml-kem = [
    "pqcrypto-mlkem",
    "pqcrypto-traits",
    "getrandom",
]
use-rust-crypto-ml-kem = ["ml-kem"]
use-sha = ["sha2"]

[lib]
name = "clatter"
path = "src/lib.rs"

[[example]]
name = "basic_dual_layer"
path = "examples/basic_dual_layer.rs"

[[example]]
name = "basic_hybrid"
path = "examples/basic_hybrid.rs"

[[example]]
name = "basic_no_getrandom"
path = "examples/basic_no_getrandom.rs"

[[example]]
name = "basic_nq"
path = "examples/basic_nq.rs"

[[example]]
name = "basic_pq"
path = "examples/basic_pq.rs"

[[example]]
name = "custom_crypto"
path = "examples/custom_crypto.rs"

[[example]]
name = "psk"
path = "examples/psk.rs"

[dependencies.aes-gcm]
version = "0.10.3"
features = ["aes"]
optional = true
default-features = false

[dependencies.arrayvec]
version = "0.7.6"
features = ["zeroize"]
default-features = false

[dependencies.blake2]
version = "0.10.6"
optional = true
default-features = false

[dependencies.chacha20poly1305]
version = "0.10.1"
features = ["rand_core"]
optional = true
default-features = false

[dependencies.displaydoc]
version = "0.2.5"
default-features = false

[dependencies.getrandom]
version = "0.3.3"
optional = true

[dependencies.ml-kem]
version = "0.2.1"
features = ["zeroize"]
optional = true
default-features = false

[dependencies.pqcrypto-mlkem]
version = "0.1.1"
optional = true
default-features = false

[dependencies.pqcrypto-traits]
version = "0.3.5"
optional = true
default-features = false

[dependencies.rand_core]
version = "^0.6"

[dependencies.sha2]
version = "0.10.9"
optional = true
default-features = false

[dependencies.thiserror-no-std]
version = "2.0.2"
default-features = false

[dependencies.x25519-dalek]
version = "2.0.1"
features = [
    "static_secrets",
    "zeroize",
]
optional = true
default-features = false

[dependencies.zeroize]
version = "1.8.1"
features = ["zeroize_derive"]
default-features = false

[dev-dependencies.rand]
version = "0.8.5"