Introduction to ZK-Friendly Hash Functions
SHA-2 and SHA-3 are used everywhere...except for ZK. Why? In this blog post, we explore ZK-friendly hash functions like Poseidon and MiMC and explain why they're so important for ZK applications. We dive deep into SNARK and STARK complexity.
Introduction Hash Function A cryptographic hash function ↗ is one of the basic primitives for cryptography. (In this article, the word hash function will mean cryptographic hash function unless otherwise noted.) A cryptographic hash function satisfies the below three secure properties: Preimage resistance : Given hash value h h h , it is hard to find any input message m m m that f ( m ) = h f(m) = h f ( m ) = h . Second-preimage resistance : Given input message m m m , it is hard to find message m ′ ( ≠ m ) m'(\neq m) m ′ ( = m ) that f ( m ′ ) = f ( m ) f(m')=f(m) f ( m ′ ) = f ( m ) .
saved by
related reading
- 17 misconceptions about SNARKs - a16z cryptoa16zcrypto.com
- Explaining Halo 2 - Electric Coin Companyelectriccoin.co
- Collaborative zkSNARKseprint.iacr.org
- Hardware Acceleration for Zero Knowledge Proofs - Paradigmparadigm.xyz
- 458.pdfeprint.iacr.org
- Zero Knowledge Canon, part 1 & 2 - a16z cryptoa16zcrypto.com
- ProofsArgsAndZK.pdfpeople.cs.georgetown.edu
- ZKPs for Engineers: A look at the Dark Forest ZKPs | Dark Forest Blogblog.zkga.me
- STARK-paper.pdfstarkware.co
- 0xPARC0xparc.org
- Flock: Fast Proving for Batch Boolean Computationseprint.iacr.org
- thesis.pdfaayushg.com