penumbra-zone / poseidon377

An instantiation of the Poseidon hash for use with decaf377
https://protocol.penumbra.zone/main/crypto/poseidon.html
Other
28 stars 10 forks source link

only depend on ark-sponge in poseidon377 r1cs feature #32

Closed redshiftzero closed 1 year ago

redshiftzero commented 1 year ago

We have tests that verify consistency between:

  1. our Sage implementation of Poseidon (adapted from the paper's Sage spec)
  2. our Rust implementation of Poseidon (in poseidon-permutation)
  3. a fork of ark-sponge based on the 0.3 release

In this PR we move them into a crate poseidon-consistency that will not be published anywhere. The ark-sponge dependency is otherwise removed from poseidon-paramgen and poseidon-permutation, which only used ark-sponge in tests.

We still use the ark-sponge dependency in poseidon377 for the r1cs feature, which we may want to remove at a later date or switch from our fork to upstream such that we can publish the poseidon377 crate. But with these changes we should be able to publish the poseidon-paramgen and poseidon-permutation crates.