[package]
name = "citadeldb-crypto"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
keywords = ["encryption", "cryptography", "aes-256", "hmac", "key-derivation"]
categories = ["cryptography", "database-implementations", "algorithms"]
description = "Cryptographic primitives for Citadel: AES-256-CTR + HMAC-SHA256, key management, Argon2id"
readme = "README.md"

[lib]
name = "citadel_crypto"

[dependencies]
citadel-core = { workspace = true }
aes = { workspace = true }
ctr = { workspace = true }
hmac = { workspace = true }
sha2 = { workspace = true }
hkdf = { workspace = true }
argon2 = { workspace = true }
aes-kw = { workspace = true }
subtle = { workspace = true }
zeroize = { workspace = true }
rand = { workspace = true }
cipher = { workspace = true }

[dependencies.chacha20]
workspace = true
optional = true

[dependencies.pbkdf2]
workspace = true

[dev-dependencies]
criterion = { workspace = true }

[features]
default = ["aes-cipher"]
aes-cipher = []
chacha = ["dep:chacha20"]
fips = []

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