noble-curves/test/stark/poseidon/README.md
2023-01-25 00:30:53 +01:00

2.4 KiB

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]