Post-Quantum Zcash
Daira-Emma Hopwood (ze / hir) - Electric Coin Company
This talk is dedicated to the trans community.
What is a “quantum computer”?
😬
The Invariance Thesis
It’s about whether we are in a fundamentally different “world” of complexity theory than otherwise.
Solving group-based problems
Solving group-based problems
Simon’s hidden shift problem
such that for all (x, y), f(x) = f(y) ⇔ x ⊖ y ∈ {0, s}.
Find s by querying f.
[Childs, Lecture Notes on Quantum Algorithms; Theorem 5.1].
Oversimplified quantum theory
What is a “quantum computer”?
The Walsh spectrum of f
images: T. Piesk, public domain
The overall algorithm
About quantum interpretations
About quantum interpretations
Are CRQCs feasible?
Cryptographically Relevant QCs
Cryptographically Relevant QCs
What about Zcash?
Cryptographic problem | Relied on for | Primitives used |
DL on secp256k1 | Transparent Spend authentication, BIP 32 non-hardened derivation | Signatures (ECDSA) |
DL on Ed25519 | Sprout Spend authentication, Privacy ⚠️ | Signatures (EdDSA), encryption (ECIES) |
DL on Jubjub | Sapling Spend authentication, Privacy ⚠️, Diversified address unlinkability | Signatures (RedDSA), encryption (ECIES) |
DL on Pallas | Orchard Spend Authentication, Privacy ⚠️, Diversified address unlinkability | Signatures (RedDSA), encryption (ECIES) |
AGM on BLS12-381 𝔾1,2,T | Sprout and Sapling Balance | Proofs (Groth16) |
DL on Vesta | Orchard Balance | Proofs (Halo 2) |
Harvest Now, Decrypt Later attacks
Deploying Plausibly PQ Cryptography
Encryption in Zcash
Hybrid post-quantum crypto
Encryption combiners
Encryption combiners
Diversified addresses
Post-quantum proving systems
Can we use recursive proofs as a solution to problem 1, and combiners as a solution to problem 2?
Folding schemes tend to be focussed on folding within a given setting (either classical or PPQ, not both).
Post-quantum proving systems
Edit: Quantum resilience for Orchard would help to take off some of the time pressure.
A. Deploy recursion using Halo 2 (and get the resulting scalability improvement).
B. When a recursive PPQ scheme with the required efficiency and confidence in its security arrives, switch to using recursion with that scheme and no proof combiner.
ZK proof system combiners
Signature combiners
Do we need signatures?
Do we need randomized signatures?
α
Hot-take bonus slide
Size of addresses using ML-KEM
Size of addresses
Orchard + X-Wing with ML-KEM and Pallas:
u12kxg2vfl3l6jhg0sus5jyr4t223uzg2mq87s6xxcdsah9dce898kus2wl0rw785jr9tfsnk6nm424jqua4kcl0esjhdzk9xjevqysn45fjm629l5v2mv93uz5uh3jhvsttphxmztumqy8l5hmwrekhglhk46wfrw9mgz4st5hjf6e9w6f949u5hhzfucv0d79wg88jtq7twvj3dwm5cd7ksuhzk2lr6wwgwyl9r7wg00kwcfvvlq5z3rv6jl9yyj3fvl2htemjetmteg20sy00wef9xc93slf6zdq26mqtj8j2cxecxl665myr30lf4t8tjujtxyscdns6pe6d6jkg2eht9u8p2d6lerj79yfgc29m702rrkde70fuad4gx4phzeuzxy7zuy4mfph8yrm5satd83xzhynwn2rles25equr8k4jpg3m8gr87qvuw9r65y9u7p9axn8nlkkp7vxfhfj4xghd7rja60y4w4x0xs7mwefgdcyud47kvh5smuannqm8ugxf3lh9l6k4nf30gkzxlnt7cennwqmsyc3xmkq5myvg85gcxykk5whrfn6zrvctk4f77vlxkq5jkw5t39hcwu5mtph37zd80h2c2mxm8jrsjrpchxd35a9sxgwp4qhvqq6xgt9jux0eagxruep0rezgwz4pusua05us7j39mdjcznq9va0e8fxny0q95asmg5w66ax5w5wewmx5gep55ktmjtnwlnfz2lurm3dwchlh66frp5z3uv4cgade0axwz5wnklmxmmntrmncrnurvak9ln4uzsl4j70unjtd0kg9h305pd06wk0cgqrwpl77zjadx0aws9gv03uem4035mgft5wnmra4f6s7cusegl9xkvnvpdhng5wf9078evr4mrzrxl060xwp9uv93zpfa0w2dhxnvce3pj2j6fm80865qme7yrl80kcczmthj3mvrnzc9tmcka36zraavh38ddpruha27y7serw5w5af45h5c4uztqt77rf03ahy6ks0aehfj3pzknacah2wdavg9ttcv42n9mjgfzcnkv472t62t5nnqtwn5xjruzdnnewz2trj3ed9eydzspsh6gnwwdwrrr5j23ve7mklqfezlccmxujgcug9w6x4sh3wsqh6cs3mfd2tuwwuu34gkwamzxjkvmezytujqd3mw36epfkjngjh6r3wwlr67mrgaqtlkcp4e7j4t3mq2wsnznll5djjvtphap5m3uywjstxm5gjuj0mxfuams29eap28w3u0ucj6922q9w94nadyfw4r2658tkz5f455l40pekcpx80lljazmqskq6vru6ldru742g8quk9hf0qzd3yc9a93s8mr8tt824kt27uecaeqmp0ek2ss6y7cw8d74wzys8v8f294tq438436k53gy40xk9mmw4fwz6q8g86ahzgwqfkysjg0ylp2vnugqwtwh2ppwvfkfuwk8ryuylk9eh8j02ua4fhpsf6e72j22ncmu6rfqnskpx7znrphd7jn6xar08hgwdmhlcpmnsxjxaxx8x4dc2xm3csge0h686stxsxw9g4wwsk5u9c8wkkme3veyy4hw52t3x5c447uw56y5aw9afs6hg2sanfdsdwkhdt62swd7qecrj56ykps049hfqh37tqe3rhdv5navmakfm9anc6dsjc2hjyg8z8e9k9fc7u3ayre33gfvw7pfz3rw3fsw7c3mjvcj84qvzksjggt45pxz6kw6yrp9kmn4zvuv068jux2f03hnska62hf8xmy5w058wtmg2zae7rycv87vt2plmw4p36x6aga5l7kgu85gwm827a3xrwgfvjugf4y9spac5x40pxclwkutqhhh2jkl7epdt2r0c2fy5mgrjc707ekutt8yrj8mnq0ck3udq96ff35dvudxv6jkkr5pm8qcek9yuxru6m2g2ufgh2j0qcxl20dnlvlhnz5g3ug5slzn5phxpnxz343hm6lmgumgy8x9p5ac09l6d3jpsr5g06qak4ujjwtn7kzwqkm6dej4szf68z2p6pn39nha7q3nwsp97aj44m0mys5myj8wmn0xtw
Transparent + Sapling + Orchard
u1k7dczqy5un7u7xp24lw0dqg0rz35rs2czmmanml5rmwlec7vu5te95ynkpm8ezhtlchvs2gf3503g5cna8ljfrw0a7su54hrfryrfl45rf28mtn69quepc8l33pm69p9aetvv6feuudkryc6cl6rgxqkp2cdy5cex7q2wcu4lwjke4snf3egw04pzr3568zxudrdrlr8drq525scxp4
Size of addresses
Orchard + X-Wing with ML-KEM and Pallas:
Transparent + Sapling + Orchard:
What about other KEMs?
Family | Scheme | Public key size | Ciphertext size | Remark |
Lattice-based | 1184 bytes | 1088 bytes | Level 3, ML-KEM-768 | |
931 bytes | 931 bytes | Level 3, ntruhps2048677 | ||
1158 bytes | 1039 bytes | Level 3, sntrup761 | ||
992 bytes | 1088 bytes | Level 3 | ||
15632 bytes | 15792 bytes | Level 3, FrodoKEM-976 | ||
Code-based | 3082 bytes | 3114 bytes | Level 3 | |
4522 bytes | 9042 bytes | Level 3, hqc-192 | ||
Isogeny-based | — | — | ||
~128 bytes? | ~128 to 176 bytes? | CSIDH-1024. Slowish enc/dec. |
Dealing with large addresses
What can we do in the short term?
HNDL resistance in the short term
Other messaging apps
Other messaging apps
Other apps using Signal Protocol
What’s Next?
What’s next?
Calls to Action
Calls To Action — Ecosystem
Calls To Action — Cryptographers
Calls To Action — Users
Learn more
Thank you!
Questions?