Path: blob/main/frontier/10-snarks-starks/break/malicious-crs-soundness.ipynb
483 views
Break: Soundness Failure with Malicious CRS
Module 10 | Breaking Weak Parameters
A malicious CRS generator can embed a backdoor that gives universal forgery capability.
Why This Matters
In the previous notebook we showed that leaking the toxic waste breaks soundness. Here we show something worse: a malicious setup authority can deliberately construct a CRS with a hidden backdoor.
The CRS looks valid to anyone inspecting it (it has the right structure, the right number of elements), but the authority has secretly embedded a trapdoor that lets them forge proofs for any statement, forever.
| Attack | Who can forge | How |
|---|---|---|
| Toxic waste leak | Anyone who obtains the waste | Solve for using |
| Malicious CRS | Only the malicious authority | Backdoor baked into CRS structure |
This is more insidious because the CRS cannot be audited for correctness without knowing the toxic waste.
The Scenario
A malicious authority runs the setup ceremony. Instead of choosing independent random values for the toxic waste, they use related randomness that gives them a trapdoor.
We demonstrate two attacks:
Trivial delta: setting so that can be computed without the inverse
Related randomness: choosing so that a simple relationship holds
We work in and simulate the Groth16 verification equation algebraically.
Attack 2: Related Randomness
Setting is detectable in some scenarios (e.g., if is checked). A subtler attack: set .
Now the verification equation becomes:
The authority knows (which is public anyway in the CRS as ), so they can solve for .
STARKs: No Setup, No Problem
STARKs (Scalable Transparent Arguments of Knowledge) eliminate the trusted setup entirely. The CRS is replaced by public randomness derived from hash functions.
| Property | Groth16 (SNARK) | STARK |
|---|---|---|
| Setup | Trusted ceremony (toxic waste) | None (transparent) |
| CRS | Contains hidden trapdoor potential | Public coins only |
| Malicious setup risk | Complete soundness break | Impossible |
| Cryptographic assumption | Pairings + DLP | Hash functions only |
| Quantum resistance | No | Yes |
| Proof size | 192 bytes | ~50-200 KB |
The trade-off is clear: STARKs have larger proofs, but no trust assumption.
Exercises
Another backdoor: Set . Can the malicious authority still forge proofs? Write the forgery.
Detection game: Given two CRS instances (one honest, one malicious with ), can you distinguish them if you have access to a pairing oracle? What pairing equation would you check?
MPC fix: Suppose two participants each contribute , and the final . If participant 1 is malicious but participant 2 is honest, show that participant 1 cannot determine .
Summary
| Attack | Mechanism | Detectability | Fix |
|---|---|---|---|
| Toxic waste leak | Attacker obtains after honest setup | Not applicable | Destroy waste |
| Malicious CRS () | Authority embeds trivial | Hard (requires DLP) | MPC ceremony |
| Malicious CRS (related ) | Authority uses | Impossible from curve points | MPC ceremony |
| Transparent setup (STARKs) | N/A | N/A | No setup needed |
Key takeaways:
A malicious CRS generator can embed undetectable backdoors.
The verifier cannot check that CRS elements are independently random.
MPC ceremonies fix this: as long as one participant is honest, the CRS is secure.
Transparent systems (STARKs) eliminate the problem entirely by using only public randomness.
Back to Module 10: SNARKs and STARKs