Phase 13 Milestone 2 - Enhanced Quantum Cryptography: SPHINCS+ (FIPS 205 / SLH-DSA): - Hash-based signatures as backup if lattice schemes are compromised - Three variants: 128s (~7.8KB), 192s (~16KB), 256s (~30KB) - Relies only on hash function security (conservative choice) - SphincsKeypair, SphincsPublicKey, SphincsSecretKey, SphincsSignature FALCON (FIPS 206 / FN-DSA): - Compact lattice signatures for bandwidth-constrained devices - FALCON-512: 128-bit security, ~690 byte signatures - FALCON-1024: 256-bit security, ~1,330 byte signatures - ~79% smaller than Dilithium3 signatures - Ideal for mobile wallets and L2 batch transactions Algorithm Comparison: | Algorithm | Security | Sig Size | Use Case | |-----------|----------|----------|----------| | Ed25519 | 128-bit | 64 B | Classical (fast) | | Dilithium3 | 192-bit | 3,293 B | Default PQ | | FALCON-512 | 128-bit | 690 B | Mobile/IoT | | SPHINCS+-128s | 128-bit | 7,856 B | Backup | All 40 unit tests + 5 doc tests passing.
50 lines
1.3 KiB
TOML
50 lines
1.3 KiB
TOML
[package]
|
|
name = "synor-crypto"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
description = "Quantum-resistant cryptography for Synor blockchain"
|
|
|
|
[dependencies]
|
|
synor-types = { path = "../synor-types" }
|
|
|
|
# Classical cryptography
|
|
ed25519-dalek = { workspace = true }
|
|
x25519-dalek = { workspace = true }
|
|
rand = { workspace = true }
|
|
rand_core = { workspace = true }
|
|
|
|
# Post-quantum cryptography (NIST FIPS 203-206)
|
|
pqcrypto-dilithium = { workspace = true } # FIPS 204 (ML-DSA)
|
|
pqcrypto-kyber = { workspace = true } # FIPS 203 (ML-KEM)
|
|
pqcrypto-sphincsplus = { workspace = true } # FIPS 205 (SLH-DSA)
|
|
pqcrypto-falcon = { workspace = true } # FIPS 206 (FN-DSA)
|
|
pqcrypto-traits = { workspace = true }
|
|
|
|
# Hashing
|
|
sha3 = { workspace = true }
|
|
blake3 = { workspace = true }
|
|
|
|
# Key derivation
|
|
hkdf = "0.12"
|
|
pbkdf2 = { version = "0.12", features = ["simple"] }
|
|
hmac = "0.12"
|
|
|
|
# BIP-39 mnemonics
|
|
tiny-bip39 = "1.0"
|
|
|
|
# Utilities
|
|
serde = { workspace = true }
|
|
borsh = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
zeroize = { version = "1.7", features = ["derive"] }
|
|
hex = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
criterion = { workspace = true }
|
|
proptest = { workspace = true }
|
|
|
|
[[bench]]
|
|
name = "crypto_bench"
|
|
harness = false
|