dcrypt-algorithms 4.0.1

Cryptographic primitives for the dcrypt library
Documentation
[package]
name = "dcrypt-algorithms"
version.workspace = true
edition.workspace = true
authors.workspace = true
description = "Cryptographic primitives for the dcrypt library"
repository.workspace = true
license.workspace = true
publish = true

[features]
# Default features
default = ["std", "xof", "ec"]

# Standard library support - enables all features
std = [
    "alloc",
    "hex/std",
    # Forward std to dependencies
    "dcrypt-api/std",
    "dcrypt-common/std",
    "dcrypt-internal/std",
    # Enable all algorithm features with std
    "hash", "xof", "aead", "block", "kdf", "mac", "stream", "ec"
]

# Allocator support - provides Vec, Box, String, etc.
alloc = [
    "dcrypt-api/alloc",
    "dcrypt-common/alloc",
    "dcrypt-internal/alloc",
]

# Algorithm feature groups
hash = []
xof = ["alloc"]
aead = ["alloc"]
block = []
kdf = ["alloc"]
mac = []
stream = []
ec = ["alloc", "groups", "pairings"]
groups = []
pairings = ["groups"]

[dependencies]
# Internal dependencies
dcrypt-api = { path = "../api", version = "=4.0.1", default-features = false }
dcrypt-common = { path = "../common", version = "=4.0.1", default-features = false }
dcrypt-internal = { path = "../internal", version = "=4.0.1", default-features = false }
dcrypt-params = { path = "../params", version = "=4.0.1" }

# Encoding/serialization
hex = { version = "=0.4.3", default-features = false, features = ["alloc"] }
base64 = { version = "=0.22.1", default-features = false, features = ["alloc"] }

[dev-dependencies]
criterion = { version = "=0.5.1", features = ["html_reports"] }
serde = { version = "=1.0.229", features = ["derive"] }
serde_json = "=1.0.151"

[[bench]]
name = "aes"
harness = false

[[bench]]
name = "aes_gcm"
harness = false

[[bench]]
name = "sha2"
harness = false

[[bench]]
name = "chacha20_poly1305"
harness = false

[[bench]]
name = "k256"
harness = false

[[bench]]
name = "xchacha20_poly1305"
harness = false

[[bench]]
name = "p256"
harness = false

[[bench]]
name = "p384"
harness = false

[[bench]]
name = "p521"
harness = false

[[bench]]
name = "argon2"
harness = false

[[bench]]
name = "ntt"
harness = false

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

[package.metadata.release]
publish = true

[lints]
workspace = true