noble-curves/test/stark/poseidon
2023-01-25 00:30:53 +01:00
..
LICENSE BLS: fix tests. Poseidon: more tests 2023-01-25 00:30:53 +01:00
poseidon3.txt BLS: fix tests. Poseidon: more tests 2023-01-25 00:30:53 +01:00
poseidon4.txt BLS: fix tests. Poseidon: more tests 2023-01-25 00:30:53 +01:00
poseidon5.txt BLS: fix tests. Poseidon: more tests 2023-01-25 00:30:53 +01:00
poseidon9.txt BLS: fix tests. Poseidon: more tests 2023-01-25 00:30:53 +01:00
README.md BLS: fix tests. Poseidon: more tests 2023-01-25 00:30:53 +01:00

StarkWare's Poseidon Hash

Poseidon is a family of hash functions designed for being very efficient as algebraic circuits. As such, they may be very useful in ZK proving systems such as STARKs and others.

This repository provides the official parameters of StarkWare's Poseidon hash implementations.

All the instances are over the prime field: p = 2^251 + 17 * 2^192 + 1 = 3618502788666131213697322783095070105623107215331596699973092056135872020481

A few examples hash results with the different parameters:

Poseidon3([0,0,0]) = [3446325744004048536138401612021367625846492093718951375866996507163446763827,
       1590252087433376791875644726012779423683501236913937337746052470473806035332,
       867921192302518434283879514999422690776342565400001269945778456016268852423]
Poseidon4([0,0,0,0]) = [535071095200566880914603862188010633478042591441142518549720701573192347548,
       3567335813488551850156302853280844225974867890860330236555401145692518003968,
       229995103310401763929738317978722680640995513996113588430855556460153357543,
       3513983790849716360905369754287999509206472929684378838050290392634812839312]
Poseidon5([0,0,0,0,0]) = [2337689130971531876049206831496963607805116499042700598724344149414565980684,
       3230969295497815870174763682436655274044379544854667759151474216427142025631,
       3297330512217530111610698859408044542971696143761201570393504997742535648562,
       2585480844700786541432072704002477919020588246983274666988914431019064343941,
       3595308260654382824623573767385493361624474708214823462901432822513585995028]
Poseidon9([0,0,0,0,0,0,0,0,0]) = [1534116856660032929112709488204491699743182428465681149262739677337223235050,
       1710856073207389764546990138116985223517553616229641666885337928044617114700,
       3165864635055638516987240200217592641540231237468651257819894959934472989427,
       1003007637710164252047715558598366312649052908276423203724288341354608811559,
       68117303579957054409211824649914588822081700129416361923518488718489651489,
       1123395637839379807713801282868237406546107732595903195840754789810160564711,
       478590974834311070537087181212389392308746075734019180430422247431982932503,
       835322726024358888065061514739954009068852229059154336727219387089732433787,
       3129703030204995742174502162918848446737407262178341733578946634564864233056]