Files
zeekay 0c049f1871 rust: ship lux-crypto-poseidon over Poseidon2 t=2 BN254 C-ABI
Canonical Rust binding for the Poseidon2 t=2 BN254 Merkle-Damgard
hasher landed in luxcpp/crypto/poseidon. Links statically against
libposeidon.a + libposeidon_cpu.a and exposes:

  hash(input)               -> [u8; 32]
  hash_into(input, output)  -> in-place fill of caller buffer

Byte-equal to upstream gnark-crypto v0.20.1 (NewMerkleDamgardHasher
over NewParameters(2, 6, 50)). 10 spec-vector integration tests
pass, including the canonical 32B/64B/96B block-boundary cases and
trivial avalanche/determinism checks.

Crate is no_std + forbid(unsafe_op_in_unsafe_fn) and follows the
existing per-algorithm crate layout.
2025-12-28 02:27:10 -08:00

18 lines
507 B
TOML

[package]
name = "lux-crypto-poseidon"
version = "0.1.0"
edition.workspace = true
license.workspace = true
rust-version.workspace = true
description = "Canonical Rust binding for Lux Poseidon2 t=2 BN254 (gnark-crypto v0.20.1 compatible). Calls into luxcpp/crypto/poseidon via the C-ABI."
repository = "https://github.com/luxfi/crypto"
readme = "README.md"
keywords = ["poseidon", "poseidon2", "bn254", "zk", "ffi"]
categories = ["cryptography"]
[lib]
name = "lux_crypto_poseidon"
[lints]
workspace = true