mirror of
https://github.com/luxfi/crypto.git
synced 2026-07-27 01:54:50 +00:00
Fills the Rust binder gaps from CANONICAL_AUDIT.md (commit 8d98804). Each
crate is a thin extern-C binding to the corresponding luxcpp/crypto C-ABI
archive, mirroring the existing keccak/blake3/secp256k1/ed25519/slhdsa
pattern.
Per-crate layout: Cargo.toml + build.rs + src/lib.rs + tests/kat.rs.
build.rs resolves the luxcpp install dir via CRYPTO_DIR / CRYPTO_BUILD_DIR
with a fallback to ../../../../luxcpp/crypto/build-cto. Archives are linked
PRIVATE so blst/banderwagon/etc do not leak past the crate boundary.
Tests: 20 KATs pass across the 14 new crates against the live luxcpp
build at /Users/z/work/luxcpp/crypto/build-cto. Real-body algos (sha256,
ripemd160, blake2b, evm256, ipa, kzg, pedersen) are exercised against
known-answer vectors; algos whose c-abi shim returns CRYPTO_ERR_NOTIMPL
in this build (lamport, bls, mldsa, mlkem, ntt, poly_mul, aead) accept
either a successful round-trip or NOTIMPL coherently across all entry
points.
Workspace cargo build --release --workspace passes. The pre-existing
keccak/secp256k1/blake3 spec-vector tests fail at link time due to
unrelated lux_ prefix drift after the brand-neutral C-ABI rename; not
addressed in this batch.
84 lines
1.2 KiB
TOML
84 lines
1.2 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"
|
|
|
|
[[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-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"
|