Paper 2023/323
Poseidon2: A Faster Version of the Poseidon Hash Function
Abstract
Zero-knowledge proof systems for computational integrity have seen a rise in popularity in the last couple of years. One of the results of this development is the ongoing effort in designing so-called arithmetization-friendly hash functions in order to make these proofs more efficient. One of these new hash functions, Poseidon, is extensively used in this context, also thanks to being one of the first constructions tailored towards this use case. Many of the design principles of Poseidon have proven to be efficient and were later used in other primitives, yet parts of the construction have shown to be expensive in real-word scenarios. In this paper, we propose an optimized version of Poseidon, called Poseidon2. The two versions differ in two crucial points. First, Poseidon is a sponge hash function, while Poseidon2 can be either a sponge or a compression function depending on the use case. Secondly, Poseidon2 is instantiated by new and more efficient linear layers with respect to Poseidon. These changes allow to decrease the number of multiplications in the linear layer by up to 90% and the number of constraints in Plonk circuits by up to 70%. This makes Poseidon2 the currently fastest arithmetization-oriented hash function without lookups. Besides that, we address a recently proposed algebraic attack and propose a simple modification that makes both Poseidon and Poseidon2 secure against this approach.
Note: Clarified definition of external matrix and added concrete round numbers for some instances.
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Published elsewhere. Minor revision. AFRICACRYPT 2023
- Keywords
- Hash FunctionPoseidonPoseidon2Zero KnowledgeSponge/Compression Mode
- Contact author(s)
-
lorenzo @ ponos technology
khovratovich @ gmail com
markus schofnegger @ gmail com - History
- 2024-02-08: last of 4 revisions
- 2023-03-04: received
- See all versions
- Short URL
- https://ia.cr/2023/323
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2023/323, author = {Lorenzo Grassi and Dmitry Khovratovich and Markus Schofnegger}, title = {Poseidon2: A Faster Version of the Poseidon Hash Function}, howpublished = {Cryptology {ePrint} Archive, Paper 2023/323}, year = {2023}, url = {https://eprint.iacr.org/2023/323} }