今年3月的最后一天,谷歌发布白皮书,给出一组令人不安的新估算:一台足够强大的量子计算机,理论上破解加密货币常用的256位椭圆曲线离散对数问题所需的资源,仅为此前估计的1/20,破解所需时间甚至可以缩短至9分钟。

更不寻常的是,为了不给攻击者递上“操作手册”,谷歌选择用“零知识证明”向外界披露了这一点。(当然,谷歌在这方面的炒作前科累累。)

面对可能重创全球金融系统的“量子末日”,密码学家们早已未雨绸缪。你或许很难相信,人类目前构想出的终极防御武器,其核心思想用最简单的纸牌游戏就能模拟。

撰文 | 嘉伟

2026 年 3 月 31 日,谷歌发布白皮书,这份57页的文件证明,量子计算机攻破守护着比特币、以太坊乃至几乎所有主流加密货币的椭圆曲线密码,所需资源比过去估计的低了大约一个数量级——用大约50万个物理量子比特,就能在几分钟内破解256位椭圆曲线离散对数问题。

量子计算机一旦成熟,最直接的一个后果就是现有公钥密码学体系将面临毁灭性打击。RSA、椭圆曲线密码(Elliptic Curve Cryptography, ECC)等公钥算法,其安全性依赖于大整数分解和离散对数的计算难度,而这道防线在量子算法(如Shor算法)面前将不堪一击。那一天,所有依赖这些算法的数字安全基础设施——从互联网通信到金融交易——都可能瞬间失效。这被称为“量子末日(Q-Day)”。

谷歌甚至重新规划了量子末日到来的时间表,推测人类社会需要在2029年左右实现后量子密码时代转型。

研究人员认为自己的发现可能引发非常严重的后果,所以没有展示具体算法和量子电路设计。他们决定发布一份零知识证明(Zero-Knowledge Proof, ZKP)。这很不寻常,谷歌真的认为自己的发现非同小可。

Google Research的研究人员发布的零知识证明。| 图源:Google Research

可能有读者会问,打着“防止滥用”的旗号,谷歌没有公开任何攻击细节,那我们凭什么相信它?有没有可能是虚张声势?

要理解这个问题,得从谷歌使用的“零知识证明”说起。

什么是零知识证明?

它是密码学中一个极其精妙且反直觉的概念。如今又和量子计算与计算复杂性学科相关。

简单来说,零知识证明的核心定义是:你可以向别人证明你满足某个条件,或掌握某个信息,但在证明的过程中,你绝对不会向对方泄露任何额外的具体数据。

1985 年,Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 首次提出零知识交互式证明的概念。Avi Wigderson与 Oded Goldreich、Silvio Micali 等人进一步发展,证明了一个重要结论:

如果一个陈述的正确性可以被有效验证(即属于 NP问题),那么它就可以有零知识证明(在适当的密码学假设下)。

Avi Wigderson因这一成就和在计算中的引入随机性作用方面的开创性贡献,成为迄今唯一一位阿贝尔奖(数学界的终身成就奖)和图灵奖双料得主。

下面用一个简单例子来说明零知识证明。

设想这样一个场景:你有一个朋友是红绿色盲。你手里有两个球,除了一个是红色、一个是绿色之外,重量、大小、手感等性质一模一样。

你想向朋友证明这两个球的颜色是不同的。但朋友非常固执,他坚称:“在我看来这俩球一模一样,除非你能证明给我看,但你不能告诉我哪个是红,哪个是绿!”

怎么证明呢?

首先,朋友把两个球拿到自己身后。他可以选择偷偷把两个球互换位置,或者不互换。朋友把两个球重新拿出来,问你:“我刚才换了没有?”因为能分辨颜色,你一眼就看出红绿球的位置是否变了,能准确回答:“换了(或没换)。”

朋友可能会想:“你是不是运气好,瞎蒙的?蒙对的概率有50%呢。”你说没关系,我们再来一次——于是重复这个过程20次。

在朋友眼中,“奇迹”出现了:你20次全对。此时,他必须从逻辑上承认这两只球确实是不同的。因为如果你在撒谎,每次都靠瞎猜,连续猜对20次的概率是0.520,大约是一百万分之一!只要重复的次数足够多,你是瞎蒙的概率就会无限趋近于零。

整个测试结束后,朋友依然不知道到底哪个球是红的,哪个球是绿的。你没有泄露任何关于具体颜色的“知识”。

这就是零知识证明的核心——通过概率和交互逻辑构建信任,同时隔绝信息泄露。它有三个特性:

1. 完备性:如果你真的知道秘密,你一定能说服对方。

2. 可靠性:如果你不知道秘密,你(几乎)不可能骗过对方。

3. 零知识性:对方除了知道“你确实掌握秘密”之外,得不到任何其他信息。

零知识证明还有一个类似的经典解读,就是大名鼎鼎的“阿里巴巴的魔法洞穴”。下图展示了“证明”过程,支撑证明的核心逻辑同样是概率:如果Alice每次都从正确的一侧走出来,那么她不可能是完全凭运气瞎蒙。当重复实验足够多次,我们就可以确认Alice确实知道咒语。

图源:ChatGPT Images 2.0

这种诠释方法由密码学家 Jean-Jacques Quisquater 在 1989 年提出,被誉为密码学史上最精妙的比喻。

谷歌做了什么?

谷歌没有公开完整攻击细节,而是用零知识证明让外界验证其资源估算。具体点说,论文发布者声称他们拥有一个名为Clow-qubit的量子电路,在这个电路上可以使用更少的资源来实现Shor算法。

需要强调的是,谷歌的零知识证明仅仅在数学和理论算法层面证明他们优化了电路设计,离工程物理上可行还很遥远。

几乎同时,加州理工学院的团队用更高效的中性原子容错架构,给出了另一组更激进的估算:仅需2.5万量级的物理量子比特即可破解比特币签名,而此前不少估算还在数百万量级。

在经典计算机中,如果要寻找一个问题的解,就像是探索迷宫。经典逻辑必须一条路一条路地试。但在量子计算的视角下,情况完全不同:它不再是单线的穷举,而是利用量子叠加和多比特纠缠,在一个超高维的计算空间(希尔伯特空间)中并行演化。

需要澄清的是,这并不意味着量子计算机能“瞬间试遍所有答案”并直接挑出正确的那个。如果只是简单地摊开所有可能性,最终观测时,你依然只会随机得到一个毫无意义的候选结果。量子加速的真正灵魂在于精心设计的干涉。通过相消干涉(Destructive Interference),大多数错误路径的相位会互相抵消,导致终点处的概率幅几乎为零;通过相长干涉(Constructive Interference),那些靠近“正确答案”的路径则会互相加强(借用路径积分的说法,这相当于满足“平稳相位”的经典路径会脱颖而出),从而大幅提升最终观测到正确结果的概率。

而量子计算机这个概念的早期倡导者,正是发明了路径积分的物理学家理查德·费曼。

1994 年,数学家彼得·肖尔(Peter Shor)找到了这样一种能发挥干涉特性的算法(Shor 算法)。理论上,这个算法能让量子计算机在多项式时间内高效分解大整数和求解离散对数,而它们正是RSA系统和椭圆曲线密码系统赖以构建安全防线的数学基石。

大名鼎鼎的比特币,所使用的就是椭圆曲线数字签名算法(ECDSA)。或者更具体点说,该算法依赖于下面这个看起来平平无奇、简简单单的三次代数方程所定义的曲线:

y^2=x^3+7

在密码学标准中,这条曲线被称为secp256k1。

我们也不是在连续的实数域上研究这条曲线,而是在一个有限域(finite field)上运算,具体来说,是对一个极大的素数取模(modulo):

=2^256-2^32−977。

虽然在传统的几何图像中,椭圆曲线上点之间的加法通常可以通过直观的“画切线找交点”来解释,但在密码学使用的有限域里,图形失去了连续性,因此我们必须依靠代数公式来重新定义加法规则。

有限域上的这些点与这套代数加法规则,共同构成了一个阿贝尔群(Abelian Group),为后续加密运算提供了数学基础。

Secp256k1标准指定一个基点(Base Point)G。私钥是一个整数,公钥是点⋅G,即将基点自己加自己次。

因为这里是加法群,所以所谓“乘法”,其实是群元素重复相加的意思。不致混淆的情况下,也可以表示成G○G○G○G○G……○G=G^。这样仿指数的表示,就有了离散对数的概念。

已知公钥P和基点G,要求解使得P = ⋅G。这就是椭圆曲线密码,尤其是ECDSA签名方案的安全基础:椭圆曲线离散对数问题(Elliptic Curve Discrete Logarithm Problem)。

所以称secp256k1具有128位安全性。这里的“xx位安全性”是密码学中的一个衡量标准,用来描述破解某个加密系统所需的计算强度。它并不是指密钥长度本身,而是指攻击者需要尝试的可能性数量级。

OpenAI前段时间推出了ChatGPT Images 2.0,宣称它是具备思考能力的图像模型,可以理解人类的需求。笔者试用它生成讲解secp256k1的图片。整体上不错,但第2部分把R和-R标反了;第6部分把P+Q=(215,68)错算成(60,139),最后还有一个莫名其妙的二维码(编者替你们试过了,扫不开)。

我们离“量子末日”有多远?

需要注意的是,上面所有的讨论都还停留在理论上。实际上,现在公开披露的最强量子计算机所拥有的物理量子比特的数目,还没有过万(逻辑量子比特和物理量子比特之间有很大的区别,但因为和本文主旨关系不大,按下不表)。也就是说,现在根本制造不出能够破解离散对数加密方法的量子电路。

或许有读者会认为,既然八字还没一撇,那担心量子末日不就是杞人忧天吗?“量子计算威胁动辄2048位的RSA密码体系?现在它连32位小整数都分解不了!”

这种批评忽略了量子计算的核心难点——量子纠错。量子计算机在实际运行时需要大量的冗余资源来进行纠错,这使得目前的实验机无法直接展示大规模分解。

换句话说,小整数分解纪录本身并不是判断风险的可靠指标。真正关键的是量子纠错、逻辑门保真度和可扩展架构;一旦这些条件成熟,从“玩具”规模走向密码学规模的距离会比直觉上更短。实际上,根据一些研究估算(下图),一旦量子计算机能真正基于容错架构分解 32 位整数,我们就已经非常接近量子末日了。

所以必须未雨绸缪,不能等到量子计算机达成“大整数分解纪录”才警觉,那时已经太晚。

当量子计算机能够分解一个32位整数时,它就非常非常接近于分解一个 2048 位整数了。| 图源:Craig Gidney

谷歌建议,业界需要在2029年前就做好应对量子末日的准备,全面向后量子密码学(PQC)过渡。这意味着需要引入格问题(Lattice problems)、哈希函数问题、多变量多项式等全新的数学基础,构建出足以抵御量子攻击的密码协议。

用纸牌游戏抵御量子攻击

眼下,我们甚至可以借助一个非常简单的纸牌游戏,来“抵御”量子攻击。

设想有三位玩家:小明、小红、一个高度理性的窃听者。有一副包含7张不同纸牌(例如编号为0到6)的牌组。牌被随机分发给三人,小明和小红各拿到3张牌,窃听者拿到1张牌。

现在,小明和小红只能“公开交流”,窃听者能听到他们说的每一句话。游戏目标是,交流结束后小明和小红必须完全知道对方手里拿的是哪3张牌;与此同时,窃听者除了自己那张牌之外,不能确切知道任何一张特定纸牌究竟是在小明还是小红手里。

乍一看,这似乎是个悖论:你要在一个窃听者全程监听的房间里,把你的秘密告诉同伴,并且不能使用预先商定好的密码。

如果小明说得太具体(例如:“我的牌是0, 1, 3”),小红确实知道了,但窃听者也知道了,保密性失败。

如果小明说得太模糊(例如:“我的牌里没有6”),窃听者猜不透,但小红也无法确切推断出小明的完整手牌,有效性失败。

感兴趣的朋友可以自己思考一下小明的必胜策略。

解决这个问题的最经典方法是利用组合数学中的法诺平面(Fano Plane)。

假设小明的真实手牌是 {0, 1, 3},小红的手牌是 {2, 5, 6},窃听者的手牌是{4}。

小明的解法是:不直接报出自己的牌,而是公开大声宣布7种可能的手牌组合:{0, 1, 3}、{1, 2, 4}、{2, 3, 5}、{3, 4, 6}、{4, 5, 0}、{5, 6, 1}、{6, 0, 2},并声明:“我的真实手牌是这7个组合中的一个。”

这7个组合是按照特定数学规律生成的,正好构成了法诺平面的7条线,它们有一个奇妙的性质:任意两个集合之间恰好有1个数字相同。

法诺平面,图上的每个点代表1张牌,每条经过3个点的线(含中间的圆圈)代表小明报出的1个组合。 | Wikipedia

读者可以再思考一下小红为何能从中推断出小明的牌,以及窃听者为什么就不行。

小红听到这7个组合后,看一眼自己的手牌 {2, 5, 6},知道小明手里绝对不可能有 2、5 或 6。于是她开始排除列表中的假组合:

{1, 2, 4}包含2,排除;

{2, 3, 5}包含2和5,排除;

{3, 4, 6}包含6,排除;

{4, 5, 0}包含5,排除;

{5, 6, 1}包含5和6,排除;

{6, 0, 2}包含6和2,排除。

小红成功排除了6个错误答案,唯一剩下的就是 {0, 1, 3}。她完美知道了小明手中的牌!

从窃听者的角度看,他手里只有一张牌{4},只能排除那些包含4的组合。

{1, 2, 4}包含4,排除;

{3, 4, 6}包含4,排除;

{4, 5, 0}包含4,排除。

还剩下 4 种可能性:{0, 1, 3}、{2, 3, 5}、{5, 6, 1}、{6, 0, 2}。

对窃听者来说,这4个组合每一个都有可能是小明真实的牌。更绝的是,如果随便挑一张不是4的牌(比如1),窃听者会发现:这张牌在其中2个组合里出现,而在另外2个组合里没出现。

这意味着,在窃听者看来,牌1有50%的概率在小明手里,有50%的概率在小红手里。他无法确定任何一张牌的确切归属!

在推断出小明手牌后,小红怎么做才能在不暴露秘密的前提下,让小明也知道自己手里的牌?这个问题留给读者思考。

那这个游戏有什么特殊意义吗?

它最初来源于2000年莫斯科数学奥林匹克竞赛的一道题目,后来被密码学家和逻辑学家广泛研究,因为它用一种极简的方式揭示了,如何在没有预先共享密钥的情况下,通过公开信道实现绝对安全的信息交换。

由于双方没有事先约定任何密码暗号,且交流过程中的每一句话都是完全公开的,这里的3+3+1(张牌)型游戏提供了一个安全通信协议的简洁模型。

在密码学界,这个模型的一般形式a+b+c有一个非常著名的专业名称——俄罗斯纸牌问题(Russian Cards Problem)。它属于安全多方计算(SMPC)和无条件安全密钥协商(Secret Key Agreement)的范畴。利用有限几何(如法诺平面)来设计这种协议,是现代密码学极其优美的一个分支。在3+3+1的情形下,此时的有限射影平面恰好是最基本的法诺平面。

这个模型最为强大的一点是,它对Shor算法绝对免疫!甚至这种免疫的本质,和我们之前提及的PQC也有所不同。

Shor算法破解的是“计算复杂性”,像 RSA 和 ECC,它们把秘密藏在一个极难的数学问题里。只要算力足够大(比如使用经典计算机进行暴力穷举),或者找到了巧妙的算法(Shor算法),密码防线就会彻底瓦解。

但是俄罗斯纸牌则具备“信息论安全(Information-Theoretic Security)”,或所谓的香农安全。在游戏中,窃听者解不出答案,不是因为他的算力不够,而是因为缺少推导答案所需的信息。对窃听者而言,所有可能情况的概率完全一致。这就好比我扔了一个硬币捂住,你就是用全宇宙的量子计算机算,也算不出是正是反。

信息论安全意味着,攻击者即便拥有无限的计算能力,也无法获得足够的信息来破解加密。

当然,一个如此强大的模型至今未得到实际应用,也说明它本身存在很大的缺陷。如果要把它变成日常上网用的“公钥加密方案”,会遇到一个现实阻碍:它需要预先分配相关的物理实体(如游戏里的纸牌)。

要想在开放网络中随时随地分发公钥,密码学家们依然得回到“计算复杂性”的思路上,去寻找那些连量子计算机也难以攻破的数学难题。

在这个领域,基于纠错码的 McEliece 加密系统是一个极具代表性的先驱。它的核心思想是利用复杂的“纠错码”,在信息中混入随机“噪音”。对于没有私钥的攻击者,要在这种特定的数学结构中剔除噪音、还原信息,即使是拥有 Shor 算法的量子计算机也会陷入泥潭。

McEliece 系统自 1978 年提出以来,历经四十多年的检验依然坚不可摧。但它仍有一个显著缺点:公钥开销太大了。相比只要几十字节的椭圆曲线密码,McEliece 的公钥动辄高达数百 KB 甚至上 MB,是网络带宽难以承受之重。

这也是为什么在“量子末日”倒计时的滴答声中,标准博弈与工程优化从未停歇。密码学的世界里,安全与效率始终是一对艰难的权衡。

参考来源

[1] Safeguarding cryptocurrency by disclosing quantum vulnerabilities responsibly, https://research.google/blog/safeguarding-cryptocurrency-by-disclosing-quantum-vulnerabilities-responsibly/

[2] Securing Elliptic Curve Cryptocurrencies against Quantum Vulnerabilities: Resource Estimates and Mitigations

[3] Craig Gidney’s Why haven’t quantum computers factored 21 yet?https://algassert.com/post/2500

[4] Slide 19 of Adam Zalcman’s RWPQC 2026 talkhttps://westerbaan.name/~bas/rwpqc2026/adam.pdf

[5] Sam Jaques’ PQCrypto 2025 talkhttps://www.youtube.com/watch?v=nJxENYdsB6c

[6] A colouring protocol for the generalized Russian cards problem,https://arxiv.org/abs/1207.5216

注:本文封面图片来自版权图库,转载使用可能引发版权纠纷。

特 别 提 示

『返朴』提供按月检索功能。关注公众号,回复四位数组成的年份+月份,如“1903”,可获取2019年3月的内容目录,以此类推。

版权说明:欢迎个人转发,任何形式的媒体或机构未经授权,不得转载和摘编。