ingonyama-zk / icicle

A hardware acceleration library for compute intensive cryptography :ice_cube:
https://dev.ingonyama.com/icicle/overview
MIT License
329 stars 97 forks source link

Feat/vlad/poseidon go binding #513

Closed vladfdp closed 4 months ago

vladfdp commented 4 months ago

Describe the changes

This PR adds a golang binding for poseidon. Also it adds a test to verify that it runs for every curve and, for bls12-381 specifically, it checks correctness against a precomputed value. The reason I didn't test every curve (or the different arities/number of states) is I couldn't find a library that supports everything we do to compare against. I'll add tests for bn254 and bls12-371 later.

Linked Issues

Resolves #