zkRunezkRune
CryptographyEasy

Hash Preimage Proof

Prove you know secret X where hash(X) = Y without revealing X

Difficulty: Easy
Time: ~30 seconds
Privacy: 100% Shielded

Generate Proof

How It Works

  1. You have a secret value (preimage)
  2. Generate hash(preimage + salt) and share publicly
  3. Later, prove you know the preimage without revealing it
  4. Core ZK primitive used in commitments, voting, and more

The secret value you want to commit to

Random value to make hash unpredictable

How It Works

  1. 1Choose a secret value (preimage)
  2. 2Add salt for security
  3. 3Generate hash commitment
  4. 4Share hash publicly
  5. 5Prove you know preimage without revealing it

Use Cases

Voting commitments
Secret reveals
Hash-locked contracts
Prediction markets

Technical Details

Proof System:zk-SNARKs
Circuit:Age Comparison
Constraints:~1,000
Blockchain:Zcash Testnet

View Circuit Code

See the actual ZK circuit implementation