[workspace]
resolver = "3"
members = ["oint-keys","x59pk-fmt"]
[package]
name = "libslug"
version = "0.7.2"
edition = "2021"
keywords = ["crypto","cryptography","encryption","digest","signature"]
categories = ["cryptography"]
readme = "README.md"
license = "Apache-2.0 OR MIT"
description = "A Rust Library For Cryptography Intended For Slug20 That Supports X59 Certificate Format and Post-Quantum Cryptography"
repository = "https://github.com/sileneundula/libslug"
[dependencies]
ecies-ed25519 = {package="ecies-ed25519-silene", version="0.1.0", features=["serde"], optional=true}
rand = {version = "0.8.5", optional=true}
securerand-rs = {version="0.2.0", optional=true}
tiny-bip39 = { version="2.0.0", optional=true}
argon2 = { version= "0.5.3",optional=true}
subtle = "2.6.1"
subtle-encoding = "0.5.1"
zeroize = "1.8.2"
serde = { version = "1.0.0", features=["derive"] }
serde_yaml = "0.9.34"
serde_json = "1.0.149"
serde-big-array = "0.5.1"
serde-encrypt = "0.7.0"
base58 = "0.2.0"
base32 = "0.5.1"
tiny-keccak = {version = "2.0.2", features=["sha3","shake"], optional=true}
sha2 = {version = "0.10.9", optional=true}
blake2 = {version = "0.10.6", optional=true}
digest = {version = "0.10.7", optional=true}
blake3 = {version = "1.8.3", optional=true}
ml-kem = {version = "0.2.1", optional=true}
chacha20poly1305 = {version = "0.10.1", optional=true}
aes-gcm = {version = "0.10.3", optional=true}
morus = {version="0.1.3", optional=true}
pqcrypto-sphincsplus = { version = "0.7.2", optional=true}
pqcrypto-traits = {version = "0.3.5", optional=true}
pqcrypto-falcon = {version = "0.4.1", optional=true}
ed25519-dalek = {version = "2.2.0", features=["rand_core"], optional=true}
schnorrkel = {version = "0.11.5", optional=true}
ecdsa = {version = "0.16.9", features=["verifying"], optional=true}
k256 = {version = "0.13.4", features=["ecdsa"], optional=true}
ml-dsa = {version = "0.0.4", optional=true}
ed448 = {version = "0.4.0", optional=true}
ed448-goldilocks-plus = {version = "0.16.0", optional=true}
bls-signatures = {version = "0.15.0", optional=true}
leslie_lamport = { version = "0.3.1", optional=true}
winternitz-ots = {version= "0.3.0", optional=true}
hybrid-array = "0.2.3"
hybrid-array-new = {package="hybrid-array", version="0.3.1"}
dirs = {version = "6.0.0", optional=true}
slugencode = "0.1.0"
bip32 = { version = "0.5.3", optional=true}
thiserror = "2.0.17"
fixedstr = {version="0.5.10",features=["serde"]}
log = "0.4.29"
der = "0.7.10"
pem = "3.0.6"
[features]
default = ["full"]
full = ["ecies-ed25519-sha3","kyber1024","aes256","xchacha20", "full-digests", "experimental", "full-signatures", "csprng", "bip39", "filesystem","bip32"]
ecies-ed25519-sha3 = ["dep:ecies-ed25519"]
kyber1024 = ["dep:ml-kem"]
aes256 = ["dep:aes-gcm"]
xchacha20 = ["dep:chacha20poly1305"]
morus = ["dep:morus"]
sha3 = ["dep:tiny-keccak", "digest"]
sha2 = ["dep:sha2", "digest"]
blake2 = ["dep:blake2", "digest"]
blake3 = ["dep:blake3", "digest"]
digest = ["dep:digest"]
schnorr = ["dep:schnorrkel"]
ed25519 = ["dep:ed25519-dalek"]
ecdsa = ["dep:ecdsa","k256"]
sphincs_plus = ["dep:pqcrypto-sphincsplus","dep:pqcrypto-traits"]
falcon = ["dep:pqcrypto-falcon","dep:pqcrypto-traits"]
ml-dsa = ["dep:ml-dsa"]
ed448 = ["dep:ed448","dep:ed448-goldilocks-plus"]
bls = ["dep:bls-signatures"]
bip39 = ["dep:tiny-bip39"]
bip32 = ["dep:bip32"]
filesystem = ["dep:dirs"]
csprng = ["dep:rand","dep:securerand-rs","dep:argon2"]
full-digests = ["sha3","sha2","blake2","blake3","digest"]
full-signatures = ["schnorr","ed25519","ecdsa","sphincs_plus","falcon","ml-dsa","ed448","bls"]
experimental = ["dep:leslie_lamport","dep:winternitz-ots"]