SIGNATURE GATE / CHAPTER 01
Who gets to verify?
Ordinary P-256 ECDSA · WebCrypto · SHA-256
Try the problem first: Alice signs a fictional agreement. Bob checks it. Then he forwards the same evidence to Dave, who can check it too. Change the agreement and see both reject it.
ONE / THE PUBLIC SIGNATURE
An agreement anyone can check
Start by generating Alice's temporary signing key. Bob and Dave will import copies of her public key and perform their own cryptographic verification.
Alice
Holds a private signing key, never exported.
Not generatedSignature (P1363 r ∥ s)Not signedBob
Only gets Alice's public key, the message and signature.
NOT TESTED
No special confirmer is needed for an ordinary digital signature.
Dave
Bob forwards exactly the same public evidence to Dave.
NOT TESTED
Dave imports the public key for himself. He does not need Alice's private key or Bob's permission.
Now try to cheat.
After signing, change the statement. A genuine verifier must reject those different bytes. You can also change the text manually.
Generate Alice's temporary key pair to begin the real cryptographic experiment.
THE LESSON
What did the signature actually establish?
Signature verified means the message bytes match what was signed under Alice's public key. It does not prove that a package was delivered or that anyone has independently checked Alice's real-world identity.
Dave can verify an ordinary signature even if Alice never speaks to him. But a valid signature on “Package delivered” still does not prove that a package was actually delivered.
In this fictional example, a separate dispatch note reads: “Status: not delivered.” The note is not cryptographic evidence and could itself be wrong; it illustrates that signatures do not adjudicate external facts.
Inspect the actual algorithm, evidence and limits
Alice uses browser-native ECDSA over NIST P-256 and SHA-256. The private CryptoKey is non-extractable. Her public key is exported in SPKI format, copied and re-imported independently by Bob and Dave. The ECDSA signature is a 64-byte IEEE P1363 r∥s value. Signing uses a fixed, domain-separated prefix bound to the experiment.
When you change the message, the signature remains the original—verifiers recompute SHA-256 over the *changed* message and should reject it. The signature is not encrypted. The experiment uses synthetic statements only and performs no uploads, account creation or local storage.
The unfinished goal: Carol should be able to help Bob check whether Alice signed this particular agreement—or prove that an alleged signature is invalid—by running the published mathematical protocol. Bob should not automatically receive an ordinary signature he can show to everyone. Those real confirmation, disavowal and non-transferability requirements are not implemented by this exercise.
P-256 published verification vector (RFC 6979 Appendix A.2.5) · Research gate · Product vision