libslug 0.7.2

A Rust Library For Cryptography Intended For Slug20 That Supports X59 Certificate Format and Post-Quantum Cryptography
Documentation
[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]

# Curve25519 ECIES Encryption

# ecies-ed25519 = {version = "0.5.1", features=["serde"]}

ecies-ed25519 = {package="ecies-ed25519-silene", version="0.1.0", features=["serde"], optional=true}



# Randomness

rand = {version = "0.8.5", optional=true}

securerand-rs = {version="0.2.0", optional=true}



# BIP39

tiny-bip39 = { version="2.0.0", optional=true}



# Password Deriviation

argon2 = { version= "0.5.3",optional=true}



# Security

subtle = "2.6.1"

subtle-encoding = "0.5.1"

zeroize = "1.8.2"



# Serialization

serde = { version = "1.0.0", features=["derive"] }

serde_yaml = "0.9.34"

serde_json = "1.0.149"

serde-big-array = "0.5.1"



# Serialization Encryption

serde-encrypt = "0.7.0"



# Encoding

base58 = "0.2.0"

base32 = "0.5.1"



# Digest

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

ml-kem = {version = "0.2.1", optional=true}



# Symmetric Encryption

chacha20poly1305 = {version = "0.10.1", optional=true}

aes-gcm = {version = "0.10.3", optional=true}

morus = {version="0.1.3", optional=true}



# PQ Signatures

pqcrypto-sphincsplus = { version = "0.7.2", optional=true}

pqcrypto-traits = {version = "0.3.5", optional=true}

pqcrypto-falcon = {version = "0.4.1", optional=true}



# Signatures

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}



# /atropinetears/One-Time Signatures

leslie_lamport = { version = "0.3.1", optional=true}

winternitz-ots = {version= "0.3.0", optional=true}



# PQ



# Array

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}



# Error Handling

thiserror = "2.0.17"



fixedstr = {version="0.5.10",features=["serde"]}



log = "0.4.29"



# DER + PEM

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"]



# Public Key Encryption

ecies-ed25519-sha3 = ["dep:ecies-ed25519"]

kyber1024 = ["dep:ml-kem"]



# Symmetric Encryption

aes256 = ["dep:aes-gcm"]

xchacha20 = ["dep:chacha20poly1305"]

morus = ["dep:morus"]



# Hashing Algorithms

sha3 = ["dep:tiny-keccak", "digest"]

sha2 = ["dep:sha2", "digest"]

blake2 = ["dep:blake2", "digest"]

blake3 = ["dep:blake3", "digest"]

digest = ["dep:digest"]



# Signatures

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"]





# Other

bip39 = ["dep:tiny-bip39"]

bip32 = ["dep:bip32"]

filesystem = ["dep:dirs"]

csprng = ["dep:rand","dep:securerand-rs","dep:argon2"]



# Containers

full-digests = ["sha3","sha2","blake2","blake3","digest"]

full-signatures = ["schnorr","ed25519","ecdsa","sphincs_plus","falcon","ml-dsa","ed448","bls"]





# Experimental

experimental = ["dep:leslie_lamport","dep:winternitz-ots"]