You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are three main possiblities for hashing to bls12_377::ScalarField:
Pedersen hash is used in Sapling and uses bls12_381::ScalarField, a field similar to our case, but the circuit is implemented with Groth16, not PLONK.
Sinsemilla is implemented in Halo 2, but for Pasta curve fields.
Poseidon hash is already implemented for bls12_377::ScalarFieldhere and the circuit implementation is a WIP in zk-garage/plonkhere. It seems to be the best option. Although it is maybe not secure for all our use-cases. We want to use it for Merkle tree (see issue Implementation of the Merkle tree membership for bls12_377::ScalarField #21) and for com_p and com_q. Note that com_p is a hash into bls12_377::BaseField; it means it would require generating parameters for this field.
The text was updated successfully, but these errors were encountered:
simonmasson
changed the title
Implementation of the Pedersen hash circuit over bls12_377::ScalarField
Implementation of the hash circuit over bls12_377::ScalarFieldMay 25, 2022
There are three main possiblities for hashing to
bls12_377::ScalarField
:bls12_381::ScalarField
, a field similar to our case, but the circuit is implemented with Groth16, not PLONK.bls12_377::ScalarField
here and the circuit implementation is a WIP inzk-garage/plonk
here. It seems to be the best option. Although it is maybe not secure for all our use-cases. We want to use it for Merkle tree (see issue Implementation of the Merkle tree membership forbls12_377::ScalarField
#21) and forcom_p
andcom_q
. Note thatcom_p
is a hash intobls12_377::BaseField
; it means it would require generating parameters for this field.The text was updated successfully, but these errors were encountered: