synor/crates/synor-crypto-wasm/Cargo.toml
Gulshan Yadav 6094319ddf feat(crypto-wasm): add Dilithium3 post-quantum signatures
Implements WASM-compatible Dilithium3 (ML-DSA-65) signatures using the
pure Rust pqc_dilithium crate. This provides NIST Security Category 3
post-quantum signature support for the web wallet.

Changes:
- Add pqc_dilithium dependency with WASM feature
- Create DilithiumSigningKey wrapper for WASM bindings
- Add dilithiumVerify and dilithiumSizes helper functions
- Update tests to work on both native and WASM targets
- Update README to reflect completed Dilithium3 support

Key sizes (Dilithium3 / ML-DSA-65):
- Public Key: 1,952 bytes
- Signature: 3,293 bytes
2026-01-08 07:31:36 +05:30

55 lines
1.2 KiB
TOML

[package]
name = "synor-crypto-wasm"
version = "0.1.0"
edition = "2021"
description = "WASM-compatible cryptography for Synor web wallet"
license = "MIT OR Apache-2.0"
[lib]
crate-type = ["cdylib", "rlib"]
[dependencies]
# WASM bindings
wasm-bindgen = "0.2"
js-sys = "0.3"
# Classical cryptography (pure Rust, WASM compatible)
ed25519-dalek = { version = "2.1", default-features = false, features = ["rand_core"] }
rand = { version = "0.8", default-features = false, features = ["std_rng"] }
getrandom = { version = "0.2", features = ["js"] }
# Hashing (pure Rust)
sha3 = "0.10"
blake3 = "1.5"
# Key derivation (pure Rust)
hkdf = "0.12"
pbkdf2 = { version = "0.12", features = ["simple"] }
hmac = "0.12"
# BIP-39
bip39 = { package = "tiny-bip39", version = "1.0" }
# Post-quantum cryptography (WASM compatible)
pqc_dilithium = { version = "0.2", default-features = false, features = ["wasm"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde-wasm-bindgen = "0.6"
# Utilities
hex = "0.4"
zeroize = { version = "1.7", features = ["derive"] }
[dev-dependencies]
wasm-bindgen-test = "0.3"
[features]
default = []
# Enable when we have WASM-compatible Dilithium
pqc = []
[profile.release]
# Optimize for size in WASM
lto = true
opt-level = "s"