Files
Hanzo AI a0cb110aca rust: 21-crate workspace finalized over luxcpp/crypto C-ABI
One Rust crate per algorithm, plus an `lux-crypto` umbrella that re-exports
each per-algorithm crate behind a Cargo feature.

5 working crates with verified spec vectors:
  - lux-crypto-keccak    (Ethereum keccak256)
  - lux-crypto-secp256k1 (ecrecover precompile + batch)
  - lux-crypto-sha256    (FIPS 180-4)
  - lux-crypto-ripemd160 (Bitcoin/Ethereum address derivation)
  - lux-crypto-blake2b   (RFC 7693)

15 wired-but-NOTIMPL crates (canonical Rust binding shipped, body returns
CRYPTO_ERR_NOTIMPL today; spec-vector tests gated `#[ignore]` with FIXME):
  blake3, ed25519, slhdsa, mldsa, mlkem, bls, kzg, bn254, aead, ipa,
  pedersen, lamport, ntt, poly-mul, evm256.

cargo check --release --workspace --all-features    OK
cargo test  --release --workspace                   55 pass / 0 fail / 25 ignored
cargo doc   --no-deps --workspace                   clean
cargo publish --dry-run --no-verify                 OK for all 20 leaf crates

Workspace docs added at rust/{README,PUBLISHING,RUST_CRATE_STATUS}.md.
Per-crate README.md and `Cargo.toml` metadata (description, license,
repository, keywords, categories, readme) wired for crates.io publish.

Build directives normalized: link both `lib<alg>.a` (C-ABI shim) and
`lib<alg>_cpu.a` (CPU body); brand-neutral C symbols (no lux_ prefix) per
the prefix-uniform audit.
2026-04-28 01:01:15 -07:00

110 lines
1.7 KiB
TOML

# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "lux-crypto"
version = "0.1.0"
dependencies = [
"lux-crypto-aead",
"lux-crypto-blake2b",
"lux-crypto-blake3",
"lux-crypto-bls",
"lux-crypto-bn254",
"lux-crypto-ed25519",
"lux-crypto-evm256",
"lux-crypto-ipa",
"lux-crypto-keccak",
"lux-crypto-kzg",
"lux-crypto-lamport",
"lux-crypto-mldsa",
"lux-crypto-mlkem",
"lux-crypto-ntt",
"lux-crypto-pedersen",
"lux-crypto-poly-mul",
"lux-crypto-ripemd160",
"lux-crypto-secp256k1",
"lux-crypto-sha256",
"lux-crypto-slhdsa",
]
[[package]]
name = "lux-crypto-aead"
version = "0.1.0"
[[package]]
name = "lux-crypto-blake2b"
version = "0.1.0"
[[package]]
name = "lux-crypto-blake3"
version = "0.1.0"
[[package]]
name = "lux-crypto-bls"
version = "0.1.0"
[[package]]
name = "lux-crypto-bn254"
version = "0.1.0"
[[package]]
name = "lux-crypto-ed25519"
version = "0.1.0"
[[package]]
name = "lux-crypto-evm256"
version = "0.1.0"
[[package]]
name = "lux-crypto-ipa"
version = "0.1.0"
[[package]]
name = "lux-crypto-keccak"
version = "0.1.0"
[[package]]
name = "lux-crypto-kzg"
version = "0.1.0"
[[package]]
name = "lux-crypto-lamport"
version = "0.1.0"
[[package]]
name = "lux-crypto-mldsa"
version = "0.1.0"
[[package]]
name = "lux-crypto-mlkem"
version = "0.1.0"
[[package]]
name = "lux-crypto-ntt"
version = "0.1.0"
[[package]]
name = "lux-crypto-pedersen"
version = "0.1.0"
[[package]]
name = "lux-crypto-poly-mul"
version = "0.1.0"
[[package]]
name = "lux-crypto-ripemd160"
version = "0.1.0"
[[package]]
name = "lux-crypto-secp256k1"
version = "0.1.0"
[[package]]
name = "lux-crypto-sha256"
version = "0.1.0"
[[package]]
name = "lux-crypto-slhdsa"
version = "0.1.0"