灵符lingfu

ling-crypto

↓ 9215 downloads

Post-quantum & classical crypto: ML-KEM-768, AES-GCM, Blake3, Argon2id, X25519

Keywords crypto, ml-kem, aes-gcm, blake3, argon2, post-quantum
lingfu install ling-crypto
LicenseApache-2.0 OR MIT
AuthorsLing Lin, Sanny Lin
READMECode / FilesVersionsDependency GraphDependentsSecurityBuildsSettings

Code / Files (18)

Cargo.toml
[package]
name = "ling-crypto"
version = "2030.1.10"
edition = "2021"
authors = ["Ling Lin <taellinglin@gmail.com>", "Sanny Lin <SannyLing53@gmail.com>"]
description = "Post-quantum and classical cryptography for Ling — real ML-KEM-768 (FIPS 203), X25519+ML-KEM hybrid KEM, AES-GCM, XChaCha20, Blake3, SHA3, Argon2id, Shamir over GF(2^8), Ristretto Schnorr ZKP, VRF"
license = "Apache-2.0 OR MIT"
readme = "README.md"
repository = "https://github.com/taellinglin/ling"

[features]
default = []

[dependencies]
# Core
zeroize  = { version = "1.8", features = ["derive"] }
rand     = { version = "0.8", features = ["std"] }
rand_core = { version = "0.6", features = ["getrandom"] }
subtle   = "2.6"

# Hashing
blake3          = "1.5"
sha3            = "0.10"

# Symmetric AEAD
aes-gcm         = { version = "0.10", features = ["aes"] }
chacha20poly1305 = "0.10"

# Asymmetric / ECDH / EdDSA
ed25519-dalek   = { version = "2.1", features = ["rand_core"] }
x25519-dalek    = { version = "2.0", features = ["static_secrets"] }
curve25519-dalek = { version = "4.1", features = ["rand_core"] }

# Key derivation
argon2  = "0.5"
hkdf    = "0.12"
hmac    = "0.12"

# Post-quantum (pure Rust, FIPS 203 ML-KEM)
ml-kem  = { version = "0.3", features = ["getrandom"] }
# Post-quantum (pure Rust, FIPS 204 ML-DSA / ex-Dilithium)
ml-dsa  = { version = "0.1", features = ["getrandom"] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
# Enable browser-compatible entropy source for wasm32-unknown-unknown.
getrandom = { version = "0.2", features = ["js"] }
# ml-kem pulls getrandom 0.4 via crypto-common; enable its web backend too.
getrandom_04 = { package = "getrandom", version = "0.4", features = ["wasm_js"] }

[lib]
name = "ling_crypto"
path = "src/lib.rs"

← Back to index