Live. This page performs real cryptographic work on the machine serving it. Nothing here is prepared or replayed. If the service is unreachable the page says so, rather than showing you a result.
GetChkd Password Hashing Service checking…

How would you know any of this is real?

Every other demonstration in the estate shows prepared data, and says so. This one does the work while you watch: a signed policy decides the parameters, a secret inside a hardware module is applied, and every operation is appended to a record that can be proved without trusting us.

Signed policy Hardware-held secret Hash-chained log Inclusion proof
Algorithm in force
Entries in the log
Sealed batches
Service runs

Walk it through

1

The policy in force

Hashing parameters are not chosen by the caller. They come from a signed policy the service loaded at startup, and a request names the policy it wants rather than the settings it wants.

loading…
2

Hash a password

This runs the algorithm named in the policy, with a secret pepper held in the hardware security module. The password is not stored, and the pepper is never read out of the module.

Takes a moment. That is the point of the algorithm.
3

Check a password against it

The same computation runs again and the result is compared in constant time. Try the right password, then change one character and try again.

4

What those operations wrote

Every request appends to a log where each entry carries the fingerprint of the entry before it. Removing or altering an entry breaks the link to the next one.

5

Prove one entry belongs

Entries are sealed in batches under a single value derived from all of them. An inclusion proof is the short list of neighbouring fingerprints needed to rebuild that value from one entry.