CRYPTO LAB

Rock. Paper. Scissors. No take-backs.

Sealed Showdown.

Can you prove your choice
without showing it?

0 / 18 learning badges

Opening the table

Getting ready…

LIVE SHA-256

The crypto question

01 / YOUChoosing

Your move?

Choose a card below.

02 / SWITCHWaiting

Poker face.

A professional second-guesser.

SWITCH SAYS“After you.”

Choose your move

Rock beats scissors · Paper beats rock · Scissors beats paper
01 / THE CRYPTOWhat does a seal prove?

Imagine an auction where everyone must choose a bid before seeing anyone else’s. Commitments can fix hidden bids first and allow checking them later. This game practices that building block; an actual auction also needs identity checks, deadlines and rules for people who refuse to reveal.

To reveal, the player sends the original choice and secret randomness. The checker hashes those inputs again and compares the result with the earlier fingerprint. Nothing is decrypted from the hash.

Hiding means a commitment conceals the choice before it is opened. Binding means it should be infeasible to find two different valid openings for the same commitment. These are different properties.

This game hashes an unambiguous JSON array containing a protocol label, round, player, move and fresh 16-byte secret random value, using SHA-256. That random value is often called a nonce. It stays secret until the opening; making it public early would let an opponent test all three moves.

The three-guess lesson deliberately omits the nonce. It breaks hiding, even though a changed move still fails to match that hash. The ordinary construction is an educational hash commitment, with computational assumptions about SHA-256 and randomness. These demonstrations are not a formal security proof.

Hash commitments are building blocks for sealed choices and larger protocols. Real applications also need authenticated messages, agreed timing and abort rules, and an appropriate security analysis. A hash by itself does not prove who made a promise or when.

MIT course notes: commitments and their properties
Boneh & Naor: timed commitments and forced opening

Go deeper in Commit Gate →
02 / YOUR PLAYBOOKBadges, daily challenges & privacy

Each completed lesson earns 1–3 learning badges. A mistaken verification decision costs one badge; a hint costs one once per attempt. Experiments, ties and honest losses cost nothing. Restart for a fresh attempt. Your best score in each of six lessons counts once, up to 18.

The daily challenge has three lessons and one shared score out of 3. A public UTC-date seed selects the lessons, never secret moves or random values. Those are freshly generated on every attempt. A challenge you started keeps its date across midnight.

The arena plays five verified rounds, with ties counting as rounds. Its score is separate from learning badges. Switch commits a randomly selected move before you can choose. This is local practice: both players run in your browser, so it is not a cheat-proof remote game.

Only scores are saved in this browser. No account, uploads, or real secrets.