Expand description
Cryptographic primitives for the DarkPool protocol (BJJ, Poseidon2, AES, ECDH, KDF, DLEQ).
All implementations maintain cross-language byte-identical parity with TypeScript, Noir, and Solidity.
Re-exports§
pub use aes::aes128_decrypt;pub use aes::aes128_encrypt;pub use aes::kdf_to_aes_key_iv;pub use bjj::u256_to_le_bytes;pub use bjj::PublicKey;pub use bjj::SecretKey;pub use bjj::BASE8;pub use bjj::BASE8_X;pub use bjj::BASE8_Y;pub use bjj::SUBGROUP_ORDER;pub use dleq::generate_dleq_proof;pub use dleq::RawDleqProof;pub use ecdh::bjj_is_on_curve;pub use ecdh::bjj_scalar_mul;pub use ecdh::derive_public_key_from_sk;pub use error::CryptoError;pub use field::address_to_field;pub use field::deserialize_fr;pub use field::field_to_address;pub use field::fr_to_u256;pub use field::from_noir_hex;pub use field::poseidon_hash;pub use field::poseidon_hash_fr;pub use field::random_bjj_scalar;pub use field::random_field;pub use field::serialize_fr;pub use field::string_to_fr;pub use field::to_noir_decimal;pub use field::to_noir_hex;pub use field::u256_to_fr;pub use kdf::Kdf;pub use poseidon::IPoseidonHasher;pub use poseidon::NoxHasher;