Stupid Cryptography
Stupid cryptography is the application of cryptographic integrity guarantees to inputs whose authenticity and whose verification efficacy have not been independently established, so that the cryptography confers an appearance of truth it cannot support.
What it means
Cryptography is not the stupid part. The math is usually sound. Stupid cryptography is placing sound math on top of an unproven claim, then presenting the result as if the math proved the claim.
A digital signature proves who signed a record and that it has not changed since. It proves nothing about whether the record was true when it was signed.
The three questions
Every assurance claim has to answer three questions, in this order:
| Layer | Question | Answered by cryptography? |
|---|---|---|
| 1. Origin | Was the input real to begin with? The person, the document, the device, the data, before anything was captured. | No |
| 2. Efficacy | Did the check actually work? Would it have caught a capable fake? | No |
| 3. Integrity | Was the record altered after it was written? | Yes |
Cryptography answers layer 3. Stupid cryptography is selling layer 3 as if it answered layers 1 and 2.
Why it is worse than no cryptography
An unsigned false claim looks like what it is: an unverified assertion. A signed, timestamped, tamper-evident false claim looks authentic. When a fake input passes an unproven check and is then sealed, the cryptography does more than fail to help. It launders the fake into something more trusted than the truth would have been without a signature.
Garbage in, signed garbage out.
Related problems
Stupid cryptography names a practice. It sits next to older names for the underlying limit:
- The oracle problem: a blockchain cannot verify that the real-world data fed into it was true.
- The analog hole: reality has to pass through a sensor before anything can be signed, and the sensor can be fooled.
These describe the limit. Stupid cryptography describes ignoring the limit and marketing around it. The Proof Economy’s answer to the origin layer is fidelity-at-capture.
How to avoid it
Before trusting a cryptographic guarantee, ask what it is attached to:
- Origin: how was the input shown to be real, and by whom?
- Efficacy: has the check that accepted it been tested against real adversarial inputs, with the results witnessed independently?
- Integrity: only then does the signature mean what it appears to mean.
Proof of Efficacy addresses layer 2 directly. Expected outcomes are committed before testing, real attack techniques are run, and the actual outcome is captured by an independent witness. The same standard applies to the Proof Economy’s own methods: a pre-committed expectation proves the expectation existed, not that the test environment was realistic, which is why test plans are published and reproducible.
Example
An identity system checks a selfie against an ID photo, decides the person is genuine, and issues a credential signed by its own certificate authority. If a synthetic face or an injected camera feed got past the check, the credential is still perfectly signed. The cryptography is flawless, and the identity is fake.
Related terms
- Fidelity-at-Capture
- Proof of Efficacy
- Self-Attestation Oxymoron (SAO)
- Self-Attestation Oxymoron Organization (SAOO)
- Verification