Model 20 · Security
The Digital Signature Machine
Proving authorization without revealing the key.
Explanation level
How to use this model
How to use this modelWhat you see, what you can touch, what changes, what to take away
What am I looking at?
A signing apparatus: a locked key vault, a one-way gear train to an upright public-key plate, a message tray under a signing press, a verifier gate with a lamp and demonstration key tokens.
What can I touch?
- Generate demonstration key pairs
- Create a demonstration message
- Sign the message
- Verify the signature
What happens when I change something?
Change one character of a signed message, or check the signature with another public key, and the verifier's lamp turns red; sign again with the right key and it turns green.
What should I understand afterwards?
Explain why a signature proves approval without exposing the private key.
Understand how a signature proves authorization without revealing the private key.
A seal only the key holder can make; anyone can check.
After this you can
- Explain why a signature proves approval without exposing the private key.
Experiment with signing and verification.
Sign, tamper, swap keys, switch scheme.
After this you can
- Predict whether verification passes after changing the message or the key.
Explore secp256k1, ECDSA, Schnorr, signature messages and transaction signing rules.
P = k·G, RFC 6979, BIP340, sighash (BIP143/341).
After this you can
- Distinguish signing a generic message from signing a Bitcoin transaction's sighash.
Open the model in its own window · works offline once loaded
Missions operate the model to complete them
-
A signature covers every detail
BeginnerCompletedShow that a signed transaction cannot be changed afterwards.
Your task: Switch to a Bitcoin transaction, sign it, then change the amount and check it again with the same key.
Use: Sign the message · Verify the signature · Modify the message · Observe verification failure
With the usual signature type (SIGHASH_ALL), what is signed commits to every input and output, so changing any of them, even by one satoshi, makes the signature invalid. That is why nobody can redirect or alter such a signed payment.
Missions are checked from the model's own simulation state, not from clicks. No time limit. Completion is stored only in this browser. The quiz questions in the learning paths remain available.
Tutor Ask a question, or let the tutor show you around
The tutor answers by explaining and, within the permissions below, by operating this model. Every change it makes is shown and listed, and you can undo it. It cannot run code, read your browser data or see anything secret. The page works the same without it.
What the tutor did
Common mix-ups
- Myth: A signature reveals or encrypts the private key.
- In fact: It is computed with the key but reveals nothing usable about it, as long as every signature uses a fresh secret nonce (reusing a nonce leaks the key).
- Myth: A valid signature on a message can move coins.
- In fact: Only a signature over a transaction's sighash authorises spending, and only for the transaction fields its sighash type commits to (normally all of them).
Concepts in this model
Helpful to know first
Next recommended
Part of these learning paths