Skip to content
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

Enhance flexibility in setting capacity part size and allow squeezing multiple elements from the rate part #8

Open
DoHoonKim8 opened this issue Apr 22, 2023 · 0 comments

Comments

@DoHoonKim8
Copy link
Member

DoHoonKim8 commented Apr 22, 2023

I noticed two potential limitations(maybe intended?) in the current Poseidon hash function implementation:

The size of the rate part is currently fixed at (the size of the sponge state - 1) as shown in here:

While this configuration may provide sufficient security for large prime fields (~255 bits), it might not be adequate for smaller prime fields (e.g., Goldilocks). I think we should allow developers to configure the size of the capacity part to ensure appropriate security levels for various applications and prime field sizes.

Also the current implementation only returns one element from the rate part during the squeezing phase. It would be beneficial to enable squeezing multiple elements from the rate part, with additional permutations if necessary, to accommodate different use cases.

I recall our previous discussion on this topic; however, do you believe it is worthwhile to pursue further? @kilic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant