出品:科普中国
制作:中国科学技术大学 袁岚峰
监制:中国科学院计算机网络信息中心
文章接《量子保密通信:了解科学和工程,认清李鬼与李逵(上)》,精彩继续。
三、量子计算机对这幅图景有什么影响?
基本的回答是:非本质的影响。你看,我前面说了那么多,压根就没提到“量子计算机”这个词嘛!
传统计算机的基本单元是比特(bit),指的是一个体系有且仅有两个可能的状态,往往用0和1来表示。而量子计算机的基本单元是量子比特(quantum bit,缩写为qubit或qbit),指的是一个体系可以处于两个状态|0>和|1>以及它们的任何叠加态a|0> + b|1>。这里的|>叫做狄拉克符号,在其中填入数字或文字,就可以表示量子状态。
做一个比喻:经典比特是“开关”,只有开和关两个状态,而量子比特是“旋钮”,有无穷多个状态。因此,量子计算机可以做到所有的经典计算机可以做的事,还有可能做到一些经典计算机做不了的事。
这里需要强调一点,常有文章把量子计算机描写成无所不能,都快成神了,这是重大的误解。量子计算机仍然是需要算法的,而只对于某些特定的问题,人们才设计出了超越经典计算机的算法。因此,量子计算机不是因为普遍性的算得快,所以干什么都比经典计算机强,而是针对某些特定的问题算得快,只在这些问题上比经典计算机强。
到目前为止,人类找到的这样的问题并不是很多。但在这为数不多的能够让量子计算机大展拳脚的问题中,其中一个恰恰就是——因数分解。
前面说对因数分解,迄今还没有能在多项式时间内分解的算法,但那指的是经典计算机。1994年,肖尔(PeterShor)发明了一种量子算法,把因数分解的计算量减少到了多项式级别。这是一个革命性的进步!分解300位和5000位的数字,量子算法会把所需时间从15万年减到不足1秒钟,从50亿年减到2分钟!在理论上,RSA已经被量子计算机攻克了!
不过这只是理论上,因为真正能用的量子计算机还没有造出来。到目前为止,在实验上分解的最大的数是291,311 = 523 × 557,是由中国科学技术大学的杜江峰院士和彭新华教授等人在2017年实现的。这离分解上千位的密码还远着呢。
量子计算机是当前全世界的科研热门。许多研究机构和企业在激烈地竞争,纷纷放出风来要在近年内实现“量子制霸”,实际意思就是前面说的,对于某些问题超越现有的经典计算机。有发展的眼光的人,都会关注这方面的消息。
显然,量子计算的进步,增加了人们对量子密码术的需求。但是,如果没有量子因数分解算法,甚至压根没有量子计算机的概念,量子密码术是不是就没有价值了呢?
当然不是!
量子密码术的基本价值来自它的完美安全性,这是其他任何密码体系都没有做到的。无论计算技术有没有进步,这个价值始终存在。量子因数分解或者任何其他的计算技术进步,只是起到锦上添花或者说“补一刀”的作用,对这个基本图景并没有影响。
徐令予老师在文章中说:
“为什么要开发量子保密通信技术?因为从理论上讲,如果未来量子计算机建成,如果建成的量子计算机有足够的Qbit和足够的稳定性,那么今天密码系统中的公钥密码RSA有可能被破解。”
根据以上的分析,我们知道这个理解是错误的。实际上,最早的量子密码术协议BB84是在1984年发明的,而量子因数分解算法是在10年之后的1994年发明的。难道在1994年之前,人们会觉得BB84协议没有意义吗?
四、《后量子RSA》说了些什么?
徐老师在文章中对这篇论文的介绍是:
“数月前出现这样一篇论文:‘后量子时代的RSA’[2],该文发表后被多家相关杂志转载和引用,这些文章给出的共同结论是:目前使用的非对称性密码RSA不会因为量子计算机的出现而消亡。”
如前所述,经过饶有兴味的研读之后,我大致理解了此文的框架。此文的四位作者DanielJ. Bernstein、NadiaHeninger、Paul Lou、LukeValenta(以下简称为BHLV)表现出了很强的数学功力和创意,令我十分敬佩。那么,BHLV实际说了些什么呢?
他们说的是:目前版本的RSA在量子算法面前不堪一击,他们提出了一种改进的版本,在某种意义上可以对抗已知的量子算法。
在什么意义上呢?合法用户加密解密也是需要计算量的,而肖尔的量子算法强大到了这种程度:破解RSA跟合法用户解密几乎一样快,具体而言,计算量都大约是n的平方(n是要分解的那个合数的二进制位数)。对RSA密码体系来说,这简直是输得连底裤都快没有了。
传统的RSA是把两个质数相乘。BHLV提出,通过一系列数学技巧(快速的乘法以及随机生成质数的方法等等),可以把加密解密的计算量都控制在正比于n,然后把非常多的质数相乘,使得n非常大,就可以让破解的计算量显著地超过加密解密的计算量。简而言之,就是把加密解密的计算量(n)降低到了破解的计算量(n的平方)之下。他们把这种改进版RSA称为后量子RSA。
呃……原来我们说的是,破解的计算量指数增长才算安全。现在标准降得这么低,破解的计算量比加密解密增长得快就算安全,——这几乎是可以定义的最低级别的安全性了。
原文对此说得很清楚:
“Post-quantum RSA does not qualify as secure under old-fashioned security definitions requiring asymptotic security against polynomial-time adversaries. However, post-quantum RSA does appear to provide a reasonable level of concrete security.”
【翻译:在老派的安全性定义下,即面对多项式时间敌手时的渐近安全性的定义下,后量子RSA没有达到安全的标准。然而,后量子RSA看起来确实提供了一个合理水平的具体的安全性。】”
后面还有一个更具体的解释:
“Note that, for theoretical purposes, it is possible that (1) there are no public-key encryption systems secure against polynomial-time quantum adversaries but (2) therearepublic-key encryption systems secure against, e.g., essentially-linear-time quantum adversaries. Post-quantum RSA is a candidate for the second category.”
【翻译:请注意,对于理论的目的,以下两点是有可能的:(1) 没有任何公钥密码体系在多项式时间的量子敌手的面前是安全的;但是(2)有公钥密码体系在比如说基本上是线性时间的量子敌手的面前是安全的。后量子RSA是第二类的一个候选者。】”
如果你看不懂,我来简单解释一下。给定问题的规模n,如果你允许量子计算机运行对n的任意高阶多项式的时间,那么大概所有的公钥密码体系都会被击败。而如果你只允许量子计算机运行n的时间,那么就可能有公钥密码体系扛得住。后量子RSA是后一类中的一个候选者。为什么只说是候选者,而不是直接就是呢?因为你无法保证人们不发展出新的量子算法甚至是经典算法,在n的时间内破解后量子RSA。
从破解跟解密一样快,改进到加密解密比破解快,这个进步好比赢回了一条底裤。或者这么说:一个低手跟一个高手下围棋,从分先到让先,到倒贴目,到让二子,到让三子,一路被打得降级,现在提高了棋艺,在让三子的情况下赢了一盘,回到了让二子。这当然可喜可贺,不过如果把这理解成他可以跟高手分庭抗礼,甚至超过了高手,那就大错特错了。
用网络语言说:BHLV对RSA使用挽尊卡,为RSA挽回了尊严!效果:密码术经验+5。
挽尊卡
对于后量子RSA的价值,原文有一个生动的比喻:
“RSA has enough flexibility to survive the advent of quantum computers —beaten, bruised, and limping, perhaps, but not dead.”
【翻译:RSA有足够的柔韧性来挺过量子计算机的来临——被打击,被挫伤,一瘸一拐地走,都有可能,但不是死亡。】”
再来看看BHLV用什么样具体的例子演示后量子RSA。目前常用的RSA是用两个质数相乘,每个质数用二进制表示是1024位或2048位。他们生成了2的31次方(2,147,483,648,即大约21亿)个质数,每个质数用二进制表示有2的12次方(即4096)位。这21亿个质数乘起来,得到了2的43次方(8,796,093,022,208,即大约8.8万亿)长度的一个密钥,也就是1T字节长度的一个数字。想想看1T容量足够放下多少部电影,现在居然只是用来存放一个数字!
处理如此巨大的数字,加密解密当然也很不容易。生成21亿个随机的质数,花费了一个1400核的机群4个月的时间。看起来这是最耗时间的一步,后边的质数相乘、加密、解密等步骤,花费的时间都是以天计,而不是以月计的。徐老师的文章说“费时一共为五天”,大概是只看了其中的一步。
根据BHLV的估算,肖尔的量子算法分解这个1T字节长度的数字,需要的量子比特操作数是2的100次方。2的43次方平方就得到2的86次方了,再考虑到其他一些细节,2的100次方是可以理解的。徐老师在这里似乎出现了一个硬伤,把量子比特操作的数目看成了量子比特的数目,然后以此为根据做了一番讨论:
“假设量子计算机已经建成,再假设量子计算机的量子位(Qbit)可以无限扩展,进一步假设该量子计算机的运行成本与现在通用电子计算机的成本可以相比,用这样一台超级想象出来的量子计算机来破解长度为Terabyte(太字节,等于1024GB)的RSA非对称密钥需要量子计算机的Qbit为2^100(2的100次方)。
2^100是一个什么概念?这个数大于我们星球上所有生物细胞的总数!而今天为了建成两位数Qbit的量子计算机,专家们已经弄得焦头烂额,多年来一筹莫展。当然使用长度为Terabyte的RSA公钥确实也有点离谱,但论文作者在今日的电子计算机上产生了这样的公钥,并用它来加密和解密,费时一共为五天。按目前的技术水平,长度为Terabyte的RSA公钥虽然并不实用,至少还是可以实现的,但是还在纸上的量子计算机即使明天就建成,要破解这样的RSA公钥也无一线希望。”
其实原文是“2100qubit operations”,不是“2100qubits”。这个错误的性质,相当于认为一个量子比特只能操作一次,然后就报废了。这当然是不对的。因此,拿2的100次方去跟细胞的总数相比,跟专家想建成多少位的量子计算机相比,都对错号了。
BHLV对2的100次方这个数字,仅仅是说它“惊人”(astonishing),没有像徐老师这样做这么多引申。这确实是一个非常大的数,但能不能说量子计算机做不了这么多操作呢?这话谁都不敢说。至于将来算法改进,在更短时间内破解后量子RSA的可能性,自然也无法排除。因此,后量子RSA正如BHLV所言,提供的是“一个合理水平的具体的安全性”,还是“看起来确实提供了”,而不是能够令理论家满意的安全性水平,更不是完美的安全性。
五、如何理解后量子密码学?
徐老师的文章中有这样一段:
“再让我们看看密码学界最近的动态,请先看下图:密码学界已经明确把公钥密码系统分成两大类,左列中都是目前常用的公钥密码,它们是‘量子可破’的,即理论上在量子计算机攻击下是不安全的(事实上也并非如此,见注解[2])。图中右列的几种公钥密码系统被列为‘量子不可破’,它们从原理上被证明是不可能被量子计算机破解的,因而它们又被称为后量子时代的密码系统。”
公钥密码系统的分类
有些公钥密码系统已经从原理上被证明是不可能被量子计算机破解的?我必须说,这话是错误的。实际上,对于任何一个公钥密码系统,人们连它不会被经典计算机破解都还没有证明,又怎么可能证明它不会被量子计算机破解?如果有人做出一个这样的证明,那立刻会成为计算机科学界以至整个科学界最轰动的消息,图灵奖什么的都不在话下。
徐老师在自己以前的文章《反对高铁的逻辑,要用到量子通信上了?》(https://www.guancha.cn/XuLingyu/2016_08_26_372499.shtml)中,同样引用了这个图,而在那里的叙述是:
“再让我们看看密码学术界的动态,请先看下图:密码学界已经明确把公钥密码系统分成两大类,左列中都是目前常用的公钥密码,全被打入‘量子可破’的死域。
图中右列确有几种公钥密码理论方法被列为‘量子不可破’。但是请注意:1)它们只是目前还未被攻破,并非被证明‘量子不可破’。2)它们全部没有进入实用阶段,甚至未进入应用初期开发阶段,很可能最后根本没有实用价值。”
其实徐老师以前的这个说法,是完全正确的!
我再来多解释几句。后量子(post-quantum)、量子安全(quantum-secure)或者抗量子(quantumresistant)的密码体系,这几个术语表达的都是同样的意思:能够抵抗量子计算机的密码体系。这是个活跃的研究领域,我对这个领域的研究者也是十分尊敬的。不过,目前这个领域的成果都是这种模式:我严格证明问题A的难度跟问题B相当,而大家普遍相信问题B对量子计算机来说非常困难(这只是个猜想,不是证明),所以可以相信问题A对量子计算机也非常困难。结果是,证明了若干个猜想之间的等价性,但没有证明任何一个猜想。因此,后量子密码学的基本格局跟传统密码学是一样的,都是无止境的猫捉老鼠、魔王追公主的竞赛。
六、金融业现有的密码体制已经足够安全了吗?
徐老师的文章里提到:
“那么金融行业,特别是银行系统是否会享受到量子通信干线的优越性呢?很可惜答案是否定的。量子计算机有可能破解RSA这类非对称密钥,而对于基于复杂逻辑运算的对称密钥体制根本就没有威胁。现在所有金融行业(包括银行)采用的都是对称密钥体制,这个标准在由中国人民银行颁布的PBOC里有详细的描述[3]。
银行系统密钥分发要用到RSA这类非对称密钥只有初始化的第一次,之后采用的都是对称密钥。其实初始化都未必会用到RSA,任何能够安全地将初始化密钥分发到密钥分发管理中心的手段都可以采用,毕竟只需要做一次的事情,麻烦一些也无所谓。我估计,银行与其它金融系统对量子保密通信是没有多少兴趣的,哪怕你有天大本事明天就变出一台几万Qbit的量子计算机,他们仍旧会是‘量子围困万千重,我自岿然不动。’”
其实这个估计有点主观了。京沪干线建设的基本动机之一,就是金融部门不满足于现有的密码体系(详细阐述见下一节)。
例如徐老师描述的这种体系,其安全性归根结底依赖于最初存的那些对称密钥。对称密钥有多长,能够安全传输的信息量就是多大。这样又回到信使可靠性的问题了。如果密钥长期不换,失窃的风险就越来越大。而如果要及时更换,又频繁地需要信使。总之,做到一次一密非常困难。相比之下,量子密码术天然就是一次一密的,因为密钥可以等到有信息要传输时现场生成,这个优越性很明显。
这里还可以引申一下。我在讲RSA的时候,经常有人问:如果我把所有的两个几千位质数相乘的乘积存起来,不就可以破解RSA吗?回答是:当然可以,但那需要指数增长的存储量,所以在实践上不可行。如果我们把预存大量的信息作为可行的选择,那么这样的破解RSA的方法也是可行的了!
七、工程思维是什么样的?
徐老师在文章中以及在平时的沟通中,多次提到工程思维,认为量子通信的基础研究应该支持,而工程建设就需要考虑需求和成本。对于这个基本原则,参与京沪干线建设的实际工作者(例如我的同事张强教授)和我都是完全赞同的。
有趣的是,根据同样的原则,徐老师和我们做出了不少相反的具体判断,例如认为量子密码术对金融、军队和政务系统没有多大用处。其实,古往今来的历史证明,几乎任何新技术最早的应用都是在军事领域。我知道军队对量子密码术很有兴趣,不过由于涉密,不能在这里具体讲。
我的朋友、风云学会会员陈经是亚洲视觉科技有限公司研发总监,算得上资深工程师了。他的看法是:
“加密算法让量子计算也无法破解,这很容易理解。换个更复杂的算法来加密,想出办法不算太难。但是,在工程上,这么说就不对了。现在已经一大堆应用,是用老的加密算法。如果要改加密算法,并不是写篇论文那么简单,而是要做一堆工程,要选择技术方案。好比开公司,一伙人卖量子密码术,另一伙人卖后量子RSA。后量子RSA的卖点,显然不如量子密码术。卖后量子RSA的说我这个花钱少,不可破,——也得人家信啊。徐老师认为后量子RSA现在就能实现,量子计算机还不定要到猴年马月,所以后量子RSA胜出,这相当于民营企业家图省钱的层次。”
我的同事中有许多是量子通信的一线工作者,据我了解,他们的看法是:
“我们和徐老师对待工程项目的一个基本点是一致的,即一定要有用户需求。如果没有需求,工程肯定不该上。
我们做京沪干线的一个根本初衷是,银监会等金融监管机构和工商银行等金融单位的不少专业人士,对现有金融安全体系和技术水平应对高水平攻击的能力表示担忧,并提出城域网量子通信不能满足远距离特别是京沪两个金融中心之间的安全数据备份和通信的需求。
于是我们和银监会一起申请发改委立项,先做一个应用示范,若好用则全国推广。我们一致的想法是,实验室到工程化之间需要这样一个应用示范项目,把这个项目做好,然后根据用户的需求和工程的成熟度,再继续稳步推动其进步。
京沪干线项目不同于量子卫星。卫星首先是科学项目,所以第一目标是发文章,目前发了两篇Nature一篇Science,还有很多科学的实验在做。而京沪干线开通之后是全面的安全测试和应用测试,两者做完才交付使用。毕竟是工程项目,所以我们做的比卫星更加慎重和稳健。我们对干线一直做的是内部调试以及跟用户沟通,跟媒体沟通得不多,这可能也是外界产生误会的原因。
除了金融系统之外,目前电力系统、大数据互联网企业都对加入京沪干线很有兴趣,正在谈。电力系统和金融系统都提出希望建更多干线,所以我们觉得有必要在京沪干线的基础上拓展更多干线。当然,任何一条干线的建设都是需要在国家的战略安排下,通过反复论证稳步推进的。
量子密钥不是必须要成为一个独立的体系,在应用上既可以和经典密码的技术互相取长补短,跟光纤激光通信也可以很自然地融合。借着国家光纤布网的升级扩张机会,就可以一起搞。所以,传统行业完全用不着恐惧与排斥,应该把这看作一个机会而不是威胁。
随着波分复用等技术的成熟和设备的小型化、集成化,以后的干线建设成本可望大幅度下降。在国家的通盘部署下,标准委、银监会等相关部门应该为量子保密通信制定技术标准、行业规范。
总之,量子保密通信一方面要做好前沿应用基础研究,一方面要认真根据国家战略和用户日益迫切的现实需求稳步推进工程应用。”
我不揣浅陋,也在这里谈谈对工程的一些理解。
国家算账的方式,跟个人是不同的。对个人来说,钱花出去就没了。对国家来说,钱花出去并没有消失,仍然在自己的经济体系里,真正重要的是提升国家能力。站在国家的角度上,思维方式就会是:钱能解决的问题,为什么要冒泄密的风险?
京沪干线的投资是5.6亿元,这对个人消费而言是笔巨款,对国家工程来说却不算大钱。修一公里地铁,投资就在几亿元的量级。军工单位进口一个小小的芯片,一辆豪华汽车的钱就出去了。高铁在磁悬浮和轮轨两种方案之间切换,做过许多实验,也是花钱如流水。量子密码术针对的信息安全问题如此重要,国家如果不搞,才是难以理解的。
以上是一些一般性的思考。具体到量子信息这个学科,还有一点有趣的是,量子密码术以至整个量子信息,在很大程度上就是工程。因为这个学科最明显的目的,就是利用量子力学的特性,做到以前做不到的事。这跟物理学、化学、生物学等传统的学科有显著区别,在那些学科里无实用目标的自由探索占的分量要大得多。
量子密码术由于不需要用量子纠缠,技术难度在量子信息中相对而言最低,所以发展得最快,已经接近了工程实用的阶段。在工程建设和应用中,会出现很多科研预料不到的问题。发现和解决问题,又可以促进科研发展。在这种情况下,即使有心停下工程只做基础研究,又怎么可能做到呢?这就像让天文学家不造望远镜,只研究理论一样。停止工程的结果,只会是基础研究也停顿。
现在关于量子通信的舆论经常给人一个错觉,好像世界上只有中国在大力发展这个领域,为全人类当小白鼠。事实上,在中国国内争论不休的同时,其他国家并没有闲着。例如2017年8月,《自然·光子学》撰文介绍了日本、中国和德国在卫星量子通信技术方面的进展,标题就叫做《量子空间竞赛愈演愈热》(“Quantum space race heats up”, Nature Photonics, 11,456 - 458)。中国科学家竭尽全力,才在量子通信领域后来居上。如果因为人为的干扰,把领先位置拱手让人,那将是自毁长城性质的失误,令有志之士为之气结。
八、真正应该抑制的是什么?
以上所有这些,当然不是说对量子通信的任何正面宣传都是正确的,也不是说任何地方都应该用量子通信,更不是说任何自称量子的企业都具有真正的技术力量。实事求是才是最高的原则。
某公司对科学家进行人身威胁的事件,是引起徐老师忧虑的直接原因。广而言之,随着量子概念在媒体上的爆热,出现了一批碰瓷李逵的李鬼。由于理解量子科技所需的知识水平超出了一般公众的程度,所以许多人感到迷惑。其实在专业人士看来,李逵和李鬼的区别是十分明显的。
对于投资者以及潜在的用户而言,我的建议是:看清楚量子密码术的技术进步是哪些科研团队做出的,他们是哪些企业的技术支撑,同时看清楚哪些企业只是买设备和做资本运作、舆论炒作的,自己没有技术力量。只有在精准识别的基础上,才能做出明智的判断。
在舆论场中,量子通信成了一个很神奇的领域。一方面有吹牛炒作的(吹捧李鬼),另一面也有完全指为骗局的(打击李逵)。李逵不禁要问:为什么受伤的总是我?两边的非理性程度都很高,而且都有大量的受众。如此“盛况”之下,真正的科普被挤在中间,成了一条很窄的路。
在这种情况下,一线工作者和专业人士站出来科普,向公众提供正确的信息,提高公众的科学素养,就更加有必要了。回归科技本质,抑制资本和媒体炒作,量子通信行业才能健康发展。
(完)
附注:此文在草就后请徐令予老师审阅,徐老师的评论是:
这是篇很好的科普文章。文章略长了点,来不及全文仔细阅读,总体来说没有明显错误。虽然某些结论不能认同,但这些都无关紧要,只要实事求是,让大众对量子密码通信有个比较正确完整的认识,压缩资本炒作的空间,就可以了。这才是我写作的真正本意。有关量子密码通信的争论不是你我之间的意气之争,而是科学精神与邪恶欺骗的斗争,在与迷信欺骗的斗争中我们俩始终是一条战线的。
作者简介:袁岚峰,中国科学技术大学化学博士,中国科学技术大学合肥微尺度物质科学国家实验室副研究员,科技与战略风云学会会长,微博@中科大胡不归,知乎@袁岚峰(https://www.zhihu.com/people/yuan-lan-feng-8)。
致谢:感谢中国科学技术大学合肥微尺度物质科学国家实验室张强教授、张文卓博士、清华大学物理系王向斌教授、美国新墨西哥大学数学与统计系黄宏年博士以及亚洲视觉科技有限公司研发总监、科技与战略风云学会成员陈经、著名科普作家“奥卡姆剃刀”等人在科学与工程等方面的指教与讨论,感谢美国加州大学洛杉矶分校物理系徐令予老师的热心探讨与诚恳交流。
“科普中国”是中国科协携同社会各方利用信息化手段开展科学传播的科学权威品牌。
本文由科普中国融合创作出品,转载请注明出处。