-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove Poseidon from PLUME [ERC 7524 incompatibility] #1174
Comments
Thanks for raising this issue! We talked this through in DMs, but just for the public records: We use a map to curve algorithm which should allow us to prevent the issues mentioned in the blog post. By using this algorithm, we avoid the issue described below
Please let us know if you have any other concerns with our implementation, we highly appreciate your input - this is super important to deliver a robust and secure SDK for writing zero knowledge applications! |
@Trivo25 Continued discussion with Gregor leads me to conclude that yes, due to map_to_curve, your Poseidon hash to curve function is likely secure in the current implementation, because the final operation of your map to curve is not an exponentiation. However, it could be made faster both for calculation in hardware wallets and the client-side zk proof time. Signature in Hardware Wallets
ZK Proof
|
We noticed that you deviated from ERC 7524 in your implementation of the PLUME nullifier, namely by using the Poseidon hash instead of the recommended hashes. We do not recommend that due to slowdowns in hardware wallets. It is possible that there is something in your implementation that I missed -- open to hearing from your cryptographers!
Edit: Earlier I had mentioned there may be wallet exploits that may be caused by repeated exponentiations of Poseidon hashes, but that is not the case as there is a map_to_curve happening that immunizes against this.
The text was updated successfully, but these errors were encountered: