[package]
edition = "2021"
rust-version = "1.96"
name = "reallyme-crypto-dispatch"
version = "0.3.3"
build = false
include = [
"/src/**/*.rs",
"/Cargo.toml",
"/README.md",
"/LICENSE",
"/NOTICE",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Algorithm dispatch, codec binding, and structural validation for cryptographic primitives."
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/reallyme/crypto"
[features]
default = []
ed25519 = ["dep:crypto-ed25519"]
ml-dsa-44 = ["dep:crypto-ml-dsa-44"]
ml-dsa-65 = ["dep:crypto-ml-dsa-65"]
ml-dsa-87 = ["dep:crypto-ml-dsa-87"]
ml-kem-1024 = ["dep:crypto-ml-kem-1024"]
ml-kem-512 = ["dep:crypto-ml-kem-512"]
ml-kem-768 = ["dep:crypto-ml-kem-768"]
native = [
"crypto-ed25519?/native",
"crypto-p256?/native",
"crypto-p384?/native",
"crypto-p521?/native",
"crypto-secp256k1?/native",
"crypto-x25519?/native",
"crypto-ml-dsa-44?/native",
"crypto-ml-dsa-65?/native",
"crypto-ml-dsa-87?/native",
"crypto-ml-kem-512?/native",
"crypto-ml-kem-768?/native",
"crypto-ml-kem-1024?/native",
"crypto-x-wing?/native",
]
p256 = ["dep:crypto-p256"]
p384 = ["dep:crypto-p384"]
p521 = ["dep:crypto-p521"]
secp256k1 = ["dep:crypto-secp256k1"]
wasm = [
"crypto-ed25519?/wasm",
"crypto-p256?/wasm",
"crypto-p384?/wasm",
"crypto-p521?/wasm",
"crypto-secp256k1?/wasm",
"crypto-x25519?/wasm",
"crypto-ml-dsa-44?/wasm",
"crypto-ml-dsa-65?/wasm",
"crypto-ml-dsa-87?/wasm",
"crypto-ml-kem-512?/wasm",
"crypto-ml-kem-768?/wasm",
"crypto-ml-kem-1024?/wasm",
"crypto-x-wing?/wasm",
]
x-wing = ["dep:crypto-x-wing"]
x25519 = ["dep:crypto-x25519"]
[lib]
name = "crypto_dispatch"
path = "src/lib.rs"
[dependencies.codec-multikey]
version = "0.2.0"
package = "reallyme-codec-multikey"
[dependencies.crypto-core]
version = "=0.3.3"
package = "reallyme-crypto-core"
[dependencies.crypto-ed25519]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-ed25519"
[dependencies.crypto-ml-dsa-44]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-ml-dsa-44"
[dependencies.crypto-ml-dsa-65]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-ml-dsa-65"
[dependencies.crypto-ml-dsa-87]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-ml-dsa-87"
[dependencies.crypto-ml-kem-1024]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-ml-kem-1024"
[dependencies.crypto-ml-kem-512]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-ml-kem-512"
[dependencies.crypto-ml-kem-768]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-ml-kem-768"
[dependencies.crypto-p256]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-p256"
[dependencies.crypto-p384]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-p384"
[dependencies.crypto-p521]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-p521"
[dependencies.crypto-secp256k1]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-secp256k1"
[dependencies.crypto-x-wing]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-x-wing"
[dependencies.crypto-x25519]
version = "=0.3.3"
optional = true
default-features = false
package = "reallyme-crypto-x25519"
[dependencies.thiserror]
version = "2.0"
[dependencies.zeroize]
version = "1.9"
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.wasm-bindgen-test]
version = "0.3"
[lints.clippy]
dbg_macro = "deny"
expect_used = "deny"
large_include_file = "deny"
panic = "deny"
print_stderr = "deny"
print_stdout = "deny"
todo = "deny"
unimplemented = "deny"
unreachable = "deny"
unwrap_used = "deny"
wildcard_imports = "deny"
[lints.rust]
missing_docs = "warn"
unsafe_code = "deny"