免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 回復 發帖

《科学大家》| 4万字干货!你完全可以理解量子信息



  出品 | 新浪科技《科学大家》
  撰文 | 袁岚峰,中国科学技术大学化学博士,中国科学技术大学合肥微尺度物质科学国家实验室副研究员,科技与战略风云学会会长。
  近年来,你肯定看到了越来越多与“量子”有关的科技新闻。2016年8月16日,我国发射世界上第一颗量子科学实验卫星“墨子号”,更是全球轰动。但你如果想了解量子科学,在网络上看到的又大多是各种玄而又玄、莫名其妙的说法,什么“没有人懂得量子力学”啦,“超时空的瞬间作用”啦,“上帝不掷骰子”啦,越看越糊涂。你不禁会嘀咕:也许这么高深的东西,本来就超出了我的理解范围?

“墨子号”量子卫星发射


  对此,本文想说的是:
  不要放弃治疗!
  好啦,这是开个玩笑。实际的意思是,量子科学是完全可以理解的,绝不是什么无法言传的东西。只要认真阅读本文,我相信你一定可以对这门学科得到相当深入的理解。
  深入到什么程度呢?至少可以超过绝大多数的媒体记者和吃瓜群众。以后再看到相关的新闻,你就会明白说的是什么事,背景是什么,具有什么样的意义了。毕竟,科学的本质是朴实无华的,任何道理都可以向人解释清楚。如果你厌倦了种种故弄玄虚的炒作,真心想学习一些“干货”,那么本文绝对是你的菜。
  当然,完全读懂本文并不是一件像喝“鸡汤”那样容易的事。全文近4万字,你可能需要分几次才能读完。而且这篇文章讲的是货真价实的科学原理,真要透彻理解,还是需要具有一定的基础,并集中注意力去思考的。需要什么样的基础呢?也许是高中的水平……如果你真的很用心去读,说不定初中也行!(小学生:不要歧视我们!)
  咳咳,无论你的基础是什么样的,只要认真阅读和思考本文,你肯定会有所收获。好,让我们开始这场量子之旅。扣好安全带,我们要发车了!
  一、“量子”是什么?
  量子科学之所以显得神秘,首先这个名字就是一大原因。
  看到“量子”这个词,许多人在“不明觉厉”之余,第一反应就是把它理解成某种粒子。但是只要是上过中学的人,都知道我们日常见到的物质是由原子组成的,原子又是由原子核与电子组成的,原子核是由质子和中子组成的。那么量子究竟是个什么鬼?难道是比原子、电子更小的粒子吗?
  其实不是。量子跟原子、电子根本不能比较大小,因为它的本意是一个数学概念。正如“5”是一个数字,“3个苹果”是一个实物,你问“5”和“3个苹果”哪个大,这让人怎么回答?正确的回答只能是:它们不是同一范畴的概念,无法比较。
  量子这个数学概念的意思究竟是什么呢?就是“离散变化的最小单元”。
  什么叫“离散变化”?我们统计人数时,可以有一个人、两个人,但不可能有半个人、1/3个人。我们上台阶时,只能上一个台阶、两个台阶,而不能上半个台阶、1/3 个台阶。这些就是“离散变化”。对于统计人数来说,一个人就是一个量子。对于上台阶来说,一个台阶就是一个量子。如果某个东西只能离散变化,我们就说它是“量子化”的。

上台阶


  跟“离散变化”相对的叫做“连续变化”。例如你在一段平路上,你可以走到1米的位置,也可以走到1.1米的位置,也可以走到1.11米的位置,如此等等,中间任何一个距离都可以走到,这就是“连续变化”。
  显然,离散变化和连续变化在日常生活中都大量存在,这两个概念本身都很容易理解。那么,为什么“量子”这个词会变得如此重要呢?
  因为人们发现,离散变化是微观世界的一个本质特征
  微观世界中的离散变化包括两类,一类是物质组成的离散变化,一类是物理量的离散变化。
  先来看第一类,物质组成的离散变化。例如光是由一个个光子组成的,你不能分出半个光子、1/3个光子,所以光子就是光的量子。阴极射线是由一个个电子组成的,你不能分出半个电子、1/3个电子,所以电子就是阴极射线的量子。
  在这种情况下,你似乎可以拿量子去跟原子、电子比较了,但这并没有多大意义,因为它是随你的问题而变的。原子、电子、质子、中子、中微子这些词本身就对应某些粒子,而量子这个词在不同的语境下对应不同的粒子(如果它对应粒子的话)。并没有某种粒子专门叫做“量子”!
  再来看第二类,物理量的离散变化。例如氢原子中电子的能量只能取-13.6 eV(eV 是“电子伏特”,一种能量单位)或者它的1/4、1/9、1/16 等等,总之就是-13.6 eV除以某个自然数的平方(-13.6/n2 eV,n可以取1、2、3、4、5等),而不能取其他值,例如-10 eV、-20 eV。我们不好说氢原子中电子能量的量子是什么(因为不是等间距的变化),但会说氢原子中电子的能量是量子化的,位于一个个“能级”上面。每一种原子中电子的能量都是量子化的,这是一种普遍现象。

氢原子能级


  发现离散变化是微观世界的一个本质特征后,科学家创立了一门准确描述微观世界的物理学理论,就是“量子力学”。现在你可以明白,这个名称是怎么来的,它其实是为了强调离散变化在微观世界中的普遍性。量子力学出现后,人们把传统的牛顿力学称为“经典力学”。
  对普通民众来说,量子力学听起来似乎很前沿。但对相关专业(物理、化学)的研究者来说,量子力学是个很古老的理论,——已经超过一个世纪了!
  量子力学的起源是在1900年,德国科学家普朗克(Max Planck)在研究“黑体辐射”问题时,发现必须把辐射携带的能量当作离散变化的,才能推出跟实验一致的公式。在此基础上,爱因斯坦(Albert Einstein)、玻尔(Niels H. D . Bohr)、德布罗意(Louis V. de Broglie)、海森堡(Werner K.  Heisenberg)、薛定谔(Erwin R.  J. A.  Schrodinger)、狄拉克(Paul A.  M. Dirac)等人提出了一个又一个新概念,一步一步扩展了量子力学的应用范围。到1930年代,量子力学的理论大厦已经基本建立起来,能够对微观世界的大部分现象做出定量描述了。
  二、无处不在的量子力学
  量子力学和相对论是二十世纪的两大科学革命,对人类的世界观产生了强烈的震撼。但论公众中的知名度,量子力学似乎比相对论低得多。原因可能在于,相对论主要是由爱因斯坦一个人创立的,孤胆英雄的形象易于记忆和传播,而量子力学的主要贡献者有好几位,没有一个独一无二的代言人。爱因斯坦和相对论称得上妇孺皆知,而听说过量子力学中的“薛定谔的猫”、“海森堡测不准原理”这些词的人,已经算是科学发烧友了。
  但是,大多数人不知道的是,论应用的范围和研究者的人数,量子力学远远超过相对论。也就是说,相对论是一个名气较大而用得较少的理论,量子力学是一个名气较小而用得较多的理论。为什么会这样?看看这两种理论发挥作用的条件,就明白了。
  相对论在物体以接近光速运动时和强引力场条件下具有基础的重要性。可是日常生活中有多少机会遇到这些情况呢?大多数情况下,我们研究的对象还是在以低速运动,地球的引力场也不强。所以目前相对论的应用,局限在宇宙学、重元素的化学、原子钟、全球定位系统等少数领域。
  而另外一边,描述微观世界必须用量子力学,宏观物质的性质又是由其微观结构决定的。因此,不仅研究原子、分子、激光这些微观对象时必须用量子力学,而且研究宏观物质的导电性、导热性、硬度、晶体结构、相变等性质时也必须用量子力学。
  许多最基本的问题,是量子力学出现后才能回答的。例如:
  为什么原子能保持稳定,例如氢原子中的电子不落到原子核上?(因为氢原子中电子的能量是量子化的,最低只能取-13.6 eV,如果落到原子核上就变成负无穷,低于这个值了。)

原子模型


  为什么原子能形成分子,例如两个氢原子H聚成一个氢气分子H2?
  为什么原子有不同的组合方式,例如碳原子能组合成石墨、金刚石、足球烯、碳纳米管、石墨烯?为什么食盐NaCl会形成离子晶体?
  为什么有些物质很稳定,而有些物质容易发生化学反应?
  为什么有些物质例如铜能导电,有些物质例如塑料不导电?为什么有些物质例如硅是半导体?为什么有些物质例如水银在低温下变成超导体?。
  为什么会有相变,例如水在0摄氏度以下结冰,0-100摄氏度之间是液体,100摄氏度以上气化?
  为什么改变钢铁的组成,能制造出各种特种钢?
  为什么激光器和发光二极管能够发光?
  为什么化学家能合成比大自然原有物质种类多得多的新物质?
  为什么通过观察宇宙中的光谱线能知道远处星球的元素组成?……
  现代社会硕果累累的技术成就,几乎全都与量子力学有关。你打开一个电器,导电性是由量子力学解释的,电源、芯片、存储器、显示器的工作原理是基于量子力学的。走进一个房间,钢铁、水泥、玻璃、塑料、纤维、橡胶的性质是由量子力学决定的。登上飞机、轮船、汽车,燃料的燃烧过程是由量子力学决定的。研制新的化学工艺、新材料、新药,都离不开量子力学。
  可以这么说:与其问量子力学能用来干什么,不如问它不能干什么!
  以上是就应用的范围比较量子力学和相对论。另一个观察的角度,是研究和学习的人数。现在所有的物理专业学生和许多相关专业(尤其是化学)的学生,都要学习量子力学,而学习广义相对论的只有理论物理、天文学等专业的学生(学习狭义相对论的学生还是很多的)。
  量子力学的研究活跃度也大大高于相对论。在媒体报道中你会发现,量子领域日新月异,相对论领域的大新闻却是验证爱因斯坦100年前预测的引力波!

双黑洞合并产生引力波


  三、方兴未艾的量子信息
  既然量子力学出现已经超过了一个世纪,为什么最近在媒体上变得如此火热?回答是:量子力学与信息科学的交叉学科——量子信息。
  这两门学科为什么可以交叉起来?因为对于信息科学来说,量子力学是一种可资利用的数学框架。量子信息的目的,就是利用量子力学的特性,实现经典信息科学中实现不了的功能,例如永远不会被破解的保密方法(就是后面要解释的“量子密码术”)、科幻电影中的“传送术”(是的,传送术原则上是可以实现的,它的专业名称叫做“量子隐形传态”)。
  正如经典的信息科学包括通信和计算两大主题,量子信息的研究内容也可以分成两大块:量子通信和量子计算。

量子信息学科内容


  量子信息的大发展,把量子变成了舆论热词。在科学界内部其实很少用“量子科技”这个说法,因为如前所述,现代社会的所有技术成果都离不开量子力学,哪里有不“量子”的科技呢?科学家们更喜欢用有明确定义的“量子力学”和“量子信息”等词汇。你在媒体上看到“量子科技”的时候,指的往往就是量子信息。
  四、微观世界运行的操作手册
  你可能听说过不少渲染量子力学如何难以理解的说法,如“连爱因斯坦都理解不了量子力学”,“费曼说,没有人理解量子力学”。但对初学者来说,这些说法有点误导,会让你以为量子力学是一种玄学、禅机,一种类似脑筋急转弯或者诡辩的东西。
  实际上,量子力学是一套清晰的数学框架,可以比作微观世界运行的一本操作手册。全世界有数以百万计的科技人员熟悉这本操作手册,就像全世界有数以百万计的管道工熟悉管道操作一样。根据这本操作手册,我们能对微观世界的运行做出精确的预测,跟实验符合得极好,常常准确到小数点后第9位甚至更多。

英国物理学家狄拉克的名著《量子力学原理》


  那么难理解的是什么呢?是这本操作手册“为什么”是这样,这是个哲学层面的问题。而这本操作手册本身,是十分清楚的。好比你拿到《九阴真经》,虽然不明白里面很多地方为什么这么写,但你照着练就能成为武林高手。
  从信息科学的角度看来,量子力学中能够利用的是三个非常违反宏观世界日常经验的要点:叠加、测量和纠缠。我们不妨称之为“三大奥义”。这不是说量子力学中只有这三个奥义,当然还有其他的,只是跟信息科学的关系不是那么大,本文中就不介绍了。
  这三大奥义虽然违反“常识”,但微观世界的许多实验早已验证了它们的正确性。在阅读下文时,每当你感到“这怎么可能”、“这不是胡说八道吗”的时候,请记住,这些原理不是某个科学家的心血来潮向壁虚构,而是已经经过近百年来的无数实验反复证明的,其应用范围几乎涉及我们身边所有事物。所以,在目前的认识范围内,科学界把这些原理视为真理。
  如果你想问“如果这些理论是错的会怎么样”,回答是:你的电视就开不了机,手机就通不了信,计算机就算不了东西,灯管就发不了光。所以,你希望这些理论是错的,还是对的呢?
  下面我来具体解释这“三大奥义”,其中要用到一些数学符号,——因为这是最容易理解的方式。如果用日常语言来描述,会多费很多口舌,还说得不清不楚。许多文章令人越看越糊涂,就是这个原因。而用数学语言来描述,就能准确简洁地了解这“三大奥义”。
  如果你真心想理解量子信息,超出吃瓜群众的水平,你就一定要跨越这个心理障碍,勇敢地面对数学。这样做了以后,你就会发现,其实并不难,你完全可以做到!
五、第一大奥义:叠加
  “比特”是计算机科学的基本概念,指的是一个体系有且仅有两个可能的状态,一般用“0”和“1”来表示。典型的例子,如硬币的正、反两个面或者开关的开、关两个状态。
  但在量子力学中,情况出现了本质的不同。量子力学有一条基本原理叫做“叠加原理”:如果两个状态是一个体系允许出现的状态,那么它们的任意线性叠加也是这个体系允许出现的状态。
  现在问题来了,什么叫做“状态的线性叠加”?为了说清楚这一点,最方便的办法是用一种数学符号表示量子力学中的状态,就是在一头竖直一头尖的括号“|>”中填一些表示状态特征的字符。这种符号是英国物理学家狄拉克发明的,称为“狄拉克符号”。
  在量子信息中,经常把两个基本状态写成|0>和|1>。而|0>和|1>的线性叠加,就是a|0> + b|1>,其中a和b是两个数。“线性”意味着用一个数乘以一个状态,“叠加”意味着两个状态相加,所以“线性叠加”就是把两个状态各自乘以一个数后再加起来。
  叠加原理说的是:如果一个体系能够处于|0>和处于|1>,那么它也能处于任何一个a|0> + b|1>,这样的状态称为“叠加态”。这里a和b可以取任何数,对它们唯一的限制,就是它们的绝对值的平方和等于1,即|a|2+ |b|2 = 1。
  叠加原理乍看起来完全和常识相反。假如用|0>代表你在北京喝茶,|1>代表你在巴黎喝茶,那么(|0> + |1>)/√2就意味着你同时在北京与巴黎喝茶!这种状态怎么可能存在呢?
  但量子力学的一切实验结果都表明,叠加原理是正确的,是一条必不可少的基本原理,至少在微观世界中是如此。一个电子确实可以“同时位于两个地方”(这句话实际的意思,要到下一节讲“测量”时才能完全明白)。至于宏观世界里为什么没见过一个人同时位于两处,那是另一个深奥的问题,我们在本文中不做进一步的讨论。

量子力学中的“叠加”


  在叠加原理的框架下,经典的比特变成了“量子比特”。也就是说,这个体系的状态不是只能取“0”或取“1”了,而是可以取任意的a|0> + b|1>状态,例如(|0> + |1>)/√2、(|0> - |1>)/√2、(|0> + √3|1>)/2、(√3|0> - |1>)/2等等。从两个选择到无穷多个选择,这是个巨大的扩展。显然,一个量子比特包含比一个经典比特大得多的信息量。
  为了更方便地理解这个概念,我们可以把一个量子力学的状态理解成一个矢量(请回忆高中数学,矢量就是既有大小也有方向的量,例如牛顿力学中的力、速度、位移都是矢量)。实际上,狄拉克符号|>正是为了让人联想到矢量而设计的。以后我们就把表示量子力学状态的矢量称为“态矢量”。
  我们可以认为,所有的a|0> + b|1>态矢量都属于同一个平面。而在这个平面上,|0>和|1>定义了两个方向,相当于xy两个坐标轴上的单位矢量。在|a|2 + |b|2 = 1的条件下,a|0> + b|1>就是从原点到半径为1的单位圆上一点的矢量。看清楚这个几何图象,我们立刻就明白,单位圆上任何一点的地位都是相同的,没有一个态比其他态更特殊,可谓“众生平等”。
  回忆一下高中学的解析几何。在那里我们首先要画出坐标系,确定两个坐标轴的方向,但具体的选择完全是随意的。任何两个方向都可以作为x轴和y轴,只要它们互相垂直。无论你怎么选择坐标轴,最终的计算结果都不会变(当然,计算过程的繁简程度可能不同)。在这里也是一样,你选择哪两个矢量作为|0>和|1>都可以,唯一的要求就是它们互相垂直。

叠加原理和基组


  我们可以定义两个状态|+> = (|0> + |1>)/√2和|-> = (|0> - |1>)/√2,从图中可以看出,它们相当于把|1>和|0>向左旋转45度。如果把|+>和|->当作基本状态,用它们的线性叠加来表示单位圆上所有的状态,同样是可行的,——这就相当于把坐标系向左旋转了45度。在这个新的坐标系下,|0> = (|+> + |->)/√2,|1> = (|+> - |->)/√2。
  事实上,一种常见的实现量子比特的方法,就是用光子的“偏振态”。光是一种电磁波,不断地产生电场和磁场。如果电场位于某个确定的方向,我们就说这个光子是偏振的。四个状态|0>、|1>、|+>和|->,分别对应光子的偏振处于0度、90度、45度和135度。在这个体系中,上面的图就不仅是个比喻,而且直接对应实验了。
  取一组矢量,如果其他所有的矢量都能表示成这组矢量的线性叠加,那么这组矢量就叫做“基组”。|0>和|1>构成一个基组,|+>和|->也构成一个基组,这样的基组有无穷多个。
  根据上面的图,我们还可以做一个比喻:经典比特是“开关”,只有开和关两个状态(0和1),而量子比特是“旋钮”,就像收音机上调频的旋钮那样,有无穷多个状态(所有的a|0> + b|1>)。显然,旋钮的信息量比开关大得多。
  六、第二大奥义:测量
  在经典力学中,测量固然是一种重要的操作,但我们不会认为测量过程跟其他过程服从不同的物理规律。无论你看或不看某个物体,你都相信它具有某些确定的性质,如位置、速度,而且你看了以后这些性质不会变化。总之,你可以随便看。
  可是在量子力学中,测量跟其他过程有本质的区别,描述测量要用与众不同的物理规律!你不能随便看了,你看或不看某个体系,会造成很大的区别。
  量子力学中的测量,特殊在哪里呢?
  首先,在量子力学中,每一次测量都必须对应某个基组。两次测量可以用不同的基组,比如你可以这次用|0>和|1>,下次用|+>和|->,这是允许的,但每次你都必须确定当前用的是哪个基组。
  确定了基组,然后呢?这时有两种情况,取决于待测量的态是不是基组中的一个态。如果是,那么测量后这个态不变。比如说在|0>和|1>的基组中测量|0>,必然得到|0>。
  然而,如果待测量的态不是基组中的一个态,比如说在|0>和|1>的基组中测量a|0> + b|1>,其中a和b都不等于0,也就是说这个态既不是|0>也不是|1>,会怎么样?
  答案是:这个态会发生突变!也常有人把这个突变称为“塌缩”、“坍缩”或类似的词。这个突变是瞬间发生的,是一个真正意义上的突然变化。
  变成什么?变成基组中的一个态,即|0>或|1>中的某一个。更具体地说,以|a|2的概率变成|0>,以|b|2的概率变成|1>。请注意,我们无法预测特定的某次测量变成|0>还是|1>,能预测的只是概率。由于只可能有这两种结果,所以这两个概率相加等于1,这就是|a|2 + |b|2= 1的原因。
  上一节中说,一个电子可以“同时位于两个地方”。实际的意思就是,一个电子可以处于两个位置的叠加态,测量它的位置时,会以一定的概率发现它位于这里,以一定的概率发现它位于那里。

量子力学中的“测量”


  测量导致状态突变之后,再在同样的基组下测量,就回到了第一种情况(待测的态是基组中的一个态),所以就不会变了。也就是说,如果你第一次测得的是|0>,那么以后你再在|0>和|1>的基组中测量多少次,都仍然是|0>;如果你第一次测得的是|1>,那么以后你再在|0>和|1>的基组中测量多少次,都仍然是|1>。
  我们可以把测量理解为强迫叠加态“削足适履”:给你一组状态,跟你都不一样,而你必须在其中选择一个,就只好随机挑了。
  八仙中铁拐李的故事,用在这里意外的合拍。铁拐李原本是一位翩翩公子,F4级别的帅哥。由于修仙有成,应邀去参加太上老君的“学术活动”。临走时,他告诉学生自己要元神出窍七天,要学生照看好自己的身体。参加完学术活动回来,却发现学生已经把自己的身体火化了。(难道是因为考试没给他过?)这时鸡马上就要叫,如果他找不到可附体的对象就要魂飞魄散。这时他发现周围有几个可附的尸体,他只得在其中随便选择一个!(原来的故事是只有一个尸体,但一个基组至少要有两个态可供选择。)不料是个拐子,于是帅哥李就变成了铁拐李。结论是:学术活动害死人……(大误)

铁拐李


  测量中的突变,意味着我们对因果律的理解需要改变。举个例子,在|0>和|1>的基组中测量|+> = (|0> + |1>)/√2,会以一半的概率得到|0>,一半的概率得到|1>。概率的意思是,如果你制备很多个处于|+>的体系,把这个实验重复很多次,那么可以预测你有接近一半的次数得到|0>,接近一半的次数得到|1>。但对于单独的一次实验,你没办法做出任何预测。是的,同样的原因可以导致不同的结果!
  这种内在的随机性是量子力学的一种本质特征。在经典力学中,一切演化都是决定性的,同样的原因必然导致相同的结果,量子力学却不是这样。
  有人在这里可能要问:经典力学中也有随机性,掷硬币不就是一半概率朝上,一半概率朝下吗?回答是:同样是概率,背后的原因不一样,可改进的余地也不一样。
  掷硬币的结果难以预测,是因为相关的外界因素太多:硬币出手时的方位、速度、空中的气流状况等等。也就是说,经典力学中的概率反映的是信息的缺乏。你可以通过减少这些因素的干扰来增强预测能力,例如在真空中掷,消灭气流,用机器掷,固定方向和力度。最终,你可以确定地掷出某一面,或者至少使掷出某一面的机会显著超过另一面。(赌神是怎样炼成的!)

赌神


  但在量子力学中,测量结果的概率是由体系本身的状态决定的,不是由于外界的干扰,不是由于缺少任何信息,因此完全无法“改进”。给你一个处于|+>的粒子,问你有什么办法保证这次在|0>和|1>的基组中测量它时得到|0>,回答只能是:没有任何办法。(卡门:爱情是一只不羁的鸟儿,任谁都无法驯服……)所以再次强调,这种随机性是内在的,是量子力学的一种本质特征!

卡门:爱情像一只自由的小鸟


  七、第三大奥义:纠缠
  前面说的都只是一个量子比特的体系,已经有这么多不可思议之处。多个量子比特的体系,可想而知会更加奇怪。这就引出了“量子纠缠”现象,——你听说过这个词,对不对?
  量子纠缠在许多文章中被传得神乎其神,几乎成了心灵感应、神秘主义的代名词。但其实量子纠缠是一个有明确定义的概念,是一种被量子力学预言必然出现也早就观测到了的现象。它的物理原理很清楚,绝大部分神秘感都是被故弄玄虚的媒体强加上去的。看了下面的解释,你就明白它实际上是什么了。
  我们先来看一个数学问题。拿出一个二元函数F(x, y),你来试着把它写成一个关于x的函数f(x)与一个关于y的函数g(y)的乘积,也就是说,寻找f(x)和g(y),使得F(x,y) = f(x) g(y)。如果可以,我们就说F(x, y)是可以“分离变量”的。如果不行,我们就说它不能分离变量。同样的定义可以推广到二元以上的函数,例如F(x, y, z) 是否可以写成f(x) g(y) u(z),就是这个三元函数能不能分离变量。
  显然,有些二元函数是可以分离变量的。例如F(x, y) = xy,你取f(x) = x和g(y) = y就可以了。(这是道送分题!)又如F(x, y)= xy + x + y + 1,仔细看看你就会发现它等于(x + 1) (y +  1),所以取f(x) = x + 1和g(y) = y + 1即可。
  然而,如果F(x, y) = xy + 1呢?这时你就会发现,无论如何也不能把它表示成f(x)g(y)。
  对此可以用反证法证明如下:假设F(x, y) = f(x) g(y) ,那么对y取两个值y1和y2时,F(x, y1) = f(x)g(y1),F(x, y2) = f(x) g(y2) 。这两个式子相除,就会把f(x) 消掉,得到F(x, y1) / F(x, y2) = g(y1) / g(y2) 。等式的右边g(y1) / g(y2) 是一个与x无关的数,因此等式的左边F(x, y1) / F(x, y2) 也必须是个与x无关的数。可是对于F(x, y) = xy + 1,设y1 = 0,得到F(x, y1) = 1,设y2 = 1,得到F(x, y2) = x + 1。两者相除得到F(x, y1) / F(x, y2) = 1 / (x + 1) ,跟x有关。因此初始的假设不对,F(x, y) = xy + 1不能分离变量。
  有了以上的数学准备,我们就可以解释量子纠缠是什么了。
  在量子力学中,体系的状态(没错,就是前面说的态矢量)可以用一个函数来表示,称为“态函数”(是的,你既可以把它理解为一个函数,也可以把它理解为一个矢量,两者不矛盾,怎么方便怎么来)。单粒子体系的态函数是一元函数,多粒子体系的态函数是多元函数。如果这个多元函数可以分离变量,也就是可以写成多个一元函数直接的乘积,我们就把它称为“直积态”。如果它不能分离变量,我们就把它称为“纠缠态”。
  直积态和纠缠态的区分为什么重要?我们举些例子来说明。
  在量子力学中,我们常常用类似|00>的狄拉克符号来表示两粒子体系的状态,其中第一个符号表示粒子1所处的状态,第二个符号表示粒子2所处的状态,|00>就表示两个粒子都处于自己的|0>态。同理,|01>表示粒子1处于自己的|0>态、粒子2处于自己的|1>态,|11>表示两个粒子都处于自己的|1>态,如此等等。
  这些状态都是直积态,体系整体的二元态函数就是两个粒子各自的一元态函数的乘积。对于直积态,你在测量粒子1的时候,不会影响粒子2的状态,所以你可以说“粒子1处于某某状态,粒子2处于某某状态”。这就是分离变量的结果。
  下面我们来考虑这样一个状态:|β00> = (|00> + |11>)/√2,它是|00>和|11>的一个叠加态(是的,叠加原理对多粒子体系也成立)。这个态是不是直积态呢?也就是说,(|00> + |11>)/√2能不能写成(a|0> + b|1>) (c|0> + d|1>)(前一个括号中是粒子1的状态,后一个括号中是粒子2的状态)?
  你立刻就会发现,不能。假如可以的话,因为这个状态中不包含|01>,所以ad = 0,于是a和d中至少有一个等于0。但是如果a = 0,|00>就不会出现;而如果d = 0,|11>又不会出现。无论如何都自相矛盾,所以假设错误,|β00>不是直积态,而是纠缠态,不能分离变量。这就意味着,不能用“粒子1处于某某状态,粒子2处于某某状态这样的语言来描述|β00>,你只能说这个体系整体处于|β00>状态。
  真正惊人的事情,发生在对|β00>做测量的时候。你对它测量粒子1的状态,会以一半的概率使整个体系变成|00>,此时两个粒子都处于自己的|0>;以一半的概率使整个体系变成|11>,此时两个粒子都处于自己的|1>。你无法预测单次测量的结果,但你可以确定,粒子1变成什么,粒子2也就同时变成了什么。两者总是同步变化的。好比成龙的电影《双龙会》中有心灵感应的双胞胎,一个做了某个动作,另一个无论相距多远都会做同样的动作。

成龙《双龙会》


  在许多科普文章中,也经常用另一个态(|01> + |10>)/√2作例子,我们可以把它记为|β01>。这个态的特点是,你对它测量粒子1的状态,会以一半的概率发现粒子1处于|0>,粒子2处于|1>,另一半概率发现粒子1处于|1>,粒子2处于|0>。你无法预测单次测量的结果,但你可以确定,粒子1变成什么,粒子2就同时变成了相反的状态。下面的漫画表现的就是这个态。

量子力学中的“纠缠”


  有趣的是,纠缠这个重要的量子力学现象,是由几位反对量子力学的科学家提出的,而且其中的“带头大哥”就是爱因斯坦!

《天龙八部》带头大哥


  如前所述,爱因斯坦是量子力学早期的奠基人之一。实际上,他得诺贝尔奖不是因为提出相对论,而是因为提出光量子(即光子)理论(这是诺贝尔奖委员会做过的最搞笑的事情之一)。但随着量子力学的发展,爱因斯坦对量子力学的许多特性产生了深深的怀疑。
  他认为每个粒子在测量之前都应该处于某个确定的状态,而不是等到测量之后,否则就不能叫做“物理实在”。爱因斯坦的一个经典问题是:“你是否相信,月亮只有在我们看它的时候才存在?”
  1935年,爱因斯坦(Albert Einstein)、波多尔斯基(Boris Podolsky)和罗森(Nathan Rosen)提出了一个思想实验,后人用他们姓的首字母把他们三人合称为EPR。先让两个粒子处于|β00>态,这样一对粒子称为“EPR对”。把这两个粒子在空间上分开很远,可以任意的远。然后测量粒子1。如果你测得粒子1在|0>,那么你立刻就知道了粒子2现在也在|0>。
  EPR问:既然两个粒子已经离得非常远了,粒子2是怎么知道粒子1发生了变化,然后发生相应的变化的?EPR认为两个粒子之间出现了“鬼魅般的超距作用”,信息传递的速度超过光速,违反了狭义相对论。所以,量子力学肯定有毛病。
  这是个深邃的问题,量子力学的另一位奠基人玻尔为此跟爱因斯坦进行过激烈的辩论。玻尔的回答是:处于纠缠态的两个粒子是一个整体,绝不能把它们看作彼此独立无关的,无论它们相距有多远。当你对粒子1进行测量的时候,两者是同时发生变化的,并不是粒子1变了之后传一个信息给粒子2,粒子2再变化。所以这里没有发生信息的传递,并不违反相对论。

玻尔与爱因斯坦


  仔细想一想,你就会明白EPR实验没有传输信息。如果A希望把一比特的信息“0”或“1”传给远处的B,那么双方需要事先约定好如何表示这个信息,比如说A想传“0”时就让B测得粒子2处于|0>,A想传“1”时就让B测得粒子2处于|1>。假如A能控制测量的结果,比如说这次A一定会让粒子1处于|0>,那么A同时就让粒子2处于了|0>,A确实就给B传了一个“0”。
  但是,量子力学的精髓恰恰在于测量的结果是随机的,你不能控制,所以EPR实验不能这么用。A测量粒子1得到的是一个随机数,B测量粒子2得到的也是一个随机数,只不过这两个随机数必然相等而已。你想传一个比特,可是EPR对完全不听你指挥,所以你传不了任何信息。既然没传输信息,当然就不违反狭义相对论了。
  在爱因斯坦和玻尔的时代,人们只能对EPR问题进行哲学辩论(这是好听的说法,说得通俗一点就是“打口水仗”),无法通过实验做出判断。1964年,贝尔(John S. Bell)指出,可以设计一种现实可行的实验,把双方的矛盾明确表现出来。对两粒子体系测量某些物理量之间的关联程度,如果按照EPR的观点,这些物理量在测量之前就有确定的值,那么这个关联必然小于等于2;而按照量子力学,这个关联等于2√2,大于2。这个“关联小于等于2”的不等式叫做贝尔不等式,而量子力学不满足贝尔不等式。

漫画:贝尔不等式


  从1980年代开始,阿斯佩克特(Alain Aspect)等一系列的研究组在越来越高的精度下做了实验,结果都是在很高的置信度下违反贝尔不等式,量子力学赢了。EPR的思想实验最初是用来批驳量子力学的,结果却证实了量子力学的正确!
  类似的故事在科学史上也常有。十九世纪的时候,泊松(Simeon-Denis Poisson)主张光是粒子,菲涅耳(Augustin-Jean Fresnel)主张光是波动,两个阵营打得不可开交。1818年,菲涅耳计算了圆孔、圆板等形状的障碍物产生的衍射花纹。泊松指出,按照菲涅耳的理论,在不透明圆板的正后方中央会出现一个亮点。从常识来看,不应该是暗的吗?于是泊松宣称波动说推出了荒谬的结果,已经被驳倒了。
  但是菲涅耳和阿拉果(Dominique F. J. Arago)立即做实验,结果显示那里真的有一个亮斑(学过光学的同学能够理解,这是因为所有到达那里的衍射光都经过同样的路程,发生同相的叠加,互相加强)。于是波动说大获全胜,粒子说被打入冷宫(1905年被爱因斯坦复活了,这就是他得诺贝尔奖的原因)。后人很有幽默意味地把这个亮点称为泊松亮斑。这正应了尼采的话:“杀不死我的,使我更强大!”

泊松亮斑


  EPR现象既然是一个真实的效应,而不是爱因斯坦等人以为的悖论,人们就想到利用它。现在,EPR对是量子信息中一个非常有力的工具。对此我们只能说,伟人连错误都是很有启发性的!就像《大话西游》中的名言:跑都跑得那么帅~

《大话西游》紫霞仙子:跑都跑得那么帅,我真幸福


  现在科学家们认为,纠缠是一种新的基本资源,其重要性可以和能量、信息、熵或任何其他基本的资源相比。不过目前还没有描述纠缠现象的完整的理论,人们对这种资源的理解还远不够深入。有人把纠缠比喻为“青铜时代的铁”,它可能会在下一个历史时代大放异彩。
  对量子纠缠的种种误解,经常出现在各种半吊子“科普”文章或者装神弄鬼的文章中。这里来稍稍解释一下。
  最经常见到的误解是:量子纠缠是个非常神奇的现象,没有人知道它的机制是什么。
  实际情况是:量子纠缠的机制就是上面说的这些,叠加原理,测量时的突变,直积态和纠缠态的区别。其实量子纠缠是一个被理论预言然后确实观察到了的现象,而不是意外的实验发现,所以,科学家怎么可能不知道它的机制呢?
  如果你觉得这些不像个“机制”,那么请你想想,2 + 3 = 5的机制又是什么?我们只能说,2 + 3 = 5是自然数理论的必然推论,自然数理论就是它的机制。量子纠缠现象就是量子力学原理的必然推论,你不可能把量子力学之外的东西搞成它的机制。
  经常有人脑洞大开地提议,量子纠缠的机制是,两个相距遥远的粒子在高维空间里连在一起,或者说它们的“内部距离”为零,我们平时看到的三维空间是高维空间的投影。这种说法看起来很机智,实际上没有什么用处。因为它完全是为了解释量子纠缠这一个现象而提出来的,而且只是定性解释,不能给出任何定量预测,也不能用到任何别的现象上。这只是一种语言游戏而已。
  就像有的原始人看到飞机飞行觉得很神奇,造个理论说有一只大鸟的魂灵在这铁鸟里面托着它飞,在其他原始人看来好像很有道理,在内行看来却是多此一举。真要想理解飞机的原理,你就必须学空气动力学。同样,真要想理解量子纠缠的原理,你就必须学量子力学,舍此别无他途。
  还有一种常见的误解,是以为任何两个粒子都会横跨整个宇宙同步变化。实际情况是,只有处于纠缠态的两个粒子才会这样。这是一个需要条件的现象,不是无条件的,而且在实验上精确制备这种条件还很不容易。
  量子纠缠是一种多粒子体系的现象,而粒子越多,操纵起来当然就越困难。所以你会不时地看到这样的新闻:中国科学技术大学潘建伟团队实现了x个光子的纠缠态,刷新了以前同一研究组创造的y个光子纠缠的世界纪录。最新的x = 10,y = 8,这是2016年12月的消息。多次打破世界纪录的撑杆跳高名将布勃卡和牙买加飞人博尔特,就是这个feel!



十光子纠缠


  最大而无当的误解,是以为量子纠缠证明了某种神秘主义的哲学或宗教,大发一通包罗万象、鬼话连篇的议论。实际情况是,量子纠缠是个原理很清楚的物理现象。你要拿它来讨论哲学或宗教,至少也该先搞清楚它是什么!
八、量子信息的优势
  从以上内容可以看出,量子信息跟经典信息相比有很大的优势。
  首先是一个显而易见的优势。前面比喻过:经典比特是“开关”,只有开和关两个状态,而量子比特是“旋钮”,有无穷多个状态。旋钮的信息量显然比开关大得多。
  还有一个稍微复杂一点的优势。一个包含n个经典比特的体系,总共有2n个状态。想知道一个函数在这个n比特体系上的效果,需要对这2n个状态都计算一遍,总共要2n次操作。当n很大的时候,2n是一个巨大的数字。指数增长是一种极快的增长,比n的任何多项式都快。比如说,2n比n的10000次方增长得还要快。

  指数增长的威力。如图所示,指数函数虽然在最初落后,但很快势不可挡地超越了线性函数和三次方函数,而且越到后面把它们甩得越远


  对n个量子比特的体系,却有一个巧妙的办法。使每个量子比特都处于自己的|+> = (|0> + |1>)/√2态,那么整个体系的状态就是|++…+> = (|00…0> + |00…1> + … + |11…1>) /2n/2。(根据定义就可以知道,这是个直积态,不是纠缠态,虽然它确实是一个叠加态。纠缠态和叠加态是两个概念。)仔细看看你会发现,0和1的所有长度为n的组合都出现在其中,总共有2n项,刚好对应n个经典比特的2n个状态。对这个叠加态做一次操作,得到的就是所有2n个结果的叠加态。量子比特的一次操作,就达到了经典比特2n次操作的效果!
  但在欢呼之前,我们需要认清,这个巨大的优势并不容易利用。因为所有2n个结果是叠加在一起的,读取出来需要做测量,而一做测量就只剩下一个结果,其余的结果都被破坏了。所以我们只能把这个优势称为潜在的巨大优势,真要利用它,需要非常巧妙的算法。
  这样的算法只对少数的问题能够设计出来,后面会举一些例子,如“因数分解”。有些科普文章把量子计算机描写成无所不能,快成神了,这是重大的误解。量子计算机的强大,是与问题相关的,只针对特定的问题
  九、量子信息的应用
  前面说过,量子信息的研究内容包括量子通信和量子计算。从这两个名字我们立刻就可以发现,量子信息还没有进入生活,因为大家都还在用经典的电脑和手机呢。具体地说,量子通信已经有了一些实际应用,量子卫星就是做相关实验的。而量子计算的发展程度要低得多,还处于演示阶段,尚未造出有实用价值的量子计算机。
  量子信息究竟能用来干什么呢?下面我们来介绍量子信息的四项应用。在量子计算方面,有量子因数分解(破解最常用的密码体系)和量子搜索(用途最广泛的量子算法)。在量子通信方面,有量子隐形传态(“传送术”,最富有科幻色彩的应用)和量子密码术。在所有这些应用中,量子密码术是目前唯一接近实用的,但这一个就非常重要,足以表现量子信息的价值了。
  十、量子因数分解和密码破解
  所谓因数分解,就是把一个合数分解成质因数的乘积,例如21 = 3 × 7。因数分解是数学中的经典难题。
  你也许会问,这有什么难的?你当然不管三七二十一就能分解21,但请试试看分解267 - 1 = 147,573,952,589,676,412,927。这是个18位数。1644年(明朝灭亡的那一年),法国数学家梅森(Marin Mersenne)提出它是一个质数。在那之后的很长时间里,人们都这么认为。直到1903年(清朝都快亡了),人们才发现它是一个合数,等于193,707,721 × 761,838,257,287。耗了一个朝代!
  让我们想想,如何分解一个数字N。最容易想到的算法,是从2开始往上,一个一个地试验能否整除N,一直到N的平方根为止。如果N用二进制表示是个n位数,即N约等于2n,那么尝试的次数大致就是2n/2。这是指数增长的计算量,前面说过,指数增长是一个灾难。
  在计算机科学中,把计算量指数增长的问题称为“不可计算的”,把计算量多项式增长的问题称为“可计算的”。不可计算的意思并不是计算机不能算,而是计算量增长得太快,很容易就达到“把全世界的计算机集中起来算几十亿年都无法得出结果”的程度。
  当然,计算量是跟算法有关的,你可以寻找效率更高的算法,也应该这么做。对于因数分解,“从2开始一个一个试”并不是最聪明的算法。在经典计算机的框架中,目前最好的算法叫做“数域筛”,计算量有所减少,但仍然是指数增长。
  “艾数学”同学,你想问数域筛的计算量具体是多少?一般人我不告诉他,答案是exp[O(n1/3 log2/3n)](在数学中,大写字母O后面跟一个式子,表示结果跟这个式子具有同样的数量级)。
  这样的计算量是什么概念?如果计算机一秒做1012次运算,那么分解一个300位的数字需要15万年,分解一个5000位的数字需要……50亿年!地球的年龄也不过是46亿年而已!
  由此可以看出因数分解的一个特点:它的逆操作,即算出两个质数的乘积,是非常容易的;而它本身,却是非常困难的。这种“易守难攻”的特性,使它在密码学中得到了重要的应用。
  密码学的基本框架,我们会在后面介绍量子密码术时阐述。在这里,我们只需要指出一点:因数分解的困难性,是现在世界上最常用的密码系统“RSA”的基础。RSA这个名字,是三位发明者李维斯特(Ron Rivest)、萨莫尔(Adi Shamir)和阿德曼(Leonard Adleman)的首字母缩写。

RSA密码体系的三位发明者


  RSA是一种“公开密钥密码体系”,它的密钥(即加密时用到的参数)是对全世界所有人公开的。为什么敢公开?因为这个密钥是一个很大的合数,解密需要把它分解成两个质数,而发布者有信心别人在正常的时间内解不开。
  但是RSA有两大隐患。第一点,我们只是知道目前公开的最好的算法是数域筛,但不知道是否有更好的算法。更令人寝食不安的是,某些国家、某些组织也许已经掌握解密的算法了,只是没有告诉你!
  第二点,上面说的算法都是在经典计算机上运行的,“最快的算法都无法破解RSA”指的是经典计算机。对于量子计算机,我们却已经知道了它可以破解RSA。
  如前所述,量子计算相对于经典计算有潜在的巨大优势,只是实现这种优势需要聪明的算法设计,只有对少数问题能够设计出这样的算法。而因数分解,就是这样的问题之一。1994年,肖尔(Peter Shor)发明了一种量子算法,把因数分解的计算量减少到了多项式级别,也就是从不可计算变成了可计算。
  艾数学同学,你又在举手了?嗯,肖尔算法的计算量是O(n2 logn loglogn),一般人我不告诉他。
  这又是个什么概念呢?同样还是分解300位和5000位的数字,量子算法会把所需时间从15万年减到不足1秒钟,从50亿年减到2分钟!对RSA密码系统来说,这不是“隐”患,而是“明”患!
  看起来,全世界的密码人员都应该陷入恐慌了。但事实上还没有,人们仍然在用着RSA。为什么呢?因数分解的量子算法只是理论,真要实现它还是非常困难的,造出有实用价值的量子计算机还需要很多努力。
  第一次真正用量子算法分解质因数是在2007年实现的,把15分解成3 × 5。有两个研究组同时做出了这个实验,一个是中国科学技术大学的潘建伟和陆朝阳等人,一个是澳大利亚布里斯班大学的A. G. White和B. P. Lanyon等人。此后各国科学家不断努力,把这个领域推向前进。目前在实验上分解的最大的数是291,311 = 523 × 557,是由中国科学技术大学的杜江峰和彭新华等人在2017年实现的。
  什么,你前边跟我说量子算法随随便便就能分解几千位的数字,结果实际上最大只能分解一个六位数?你是在耍我吗?
  这位同学,请你先把手里的刀放下……同学们,一定要分清潜力和现状。火车刚出现的时候,跑得没有马车快,还经常出故障。但是任何有洞察力的人都能看出,火车代表着未来,因为它能够达到的上限远远超过马车。RSA现在当然还可以用,但达摩克利斯之剑已经悬挂起来了,任何有责任心的密码人员都会时刻关心量子计算的进展。
  还有一点值得注意的是,造出专门处理某些任务的“专用”的量子计算机比造出“通用”的量子计算机要容易得多。专用的东西比通用的容易造,这是一个普遍规律。在可编程的电子计算机出现之前300多年,冈特(Edmund Gunter, 1581-1626)和奥特雷德(William Oughtred, 1574-1660)就造出了计算尺。
  谷歌宣布计划在2017年造出超越传统计算机的量子计算机,很可能指的就是这种专用计算机。斯诺登从美国出逃后,披露了美国国家安全局有一个绝密的项目“穿透硬目标”(Penetrating Hard Targets),计划建造一台专用于破解密码的量子计算机。据传该局已经存放了大量外国政府的密电,一旦项目成功立刻对它们动手。这足以让其他国家不寒而栗了!
  同样的道理,2017年5月,中国科学技术大学潘建伟和陆朝阳等人宣布造出世界上第一台超越早期电子计算机的光量子计算机,也是特别针对一个问题的,这个问题叫做“玻色子取样”。对它的量子算法,也是把指数增长的计算量缩减到了多项式增长的计算量。成果就是,这台量子计算机算起玻色子取样来,比第一台电子管计算机ENIAC和第一台晶体管TRADIC快了10到100倍。
  顺便提一下,有些人迷惑光量子计算机跟量子计算机是什么关系,甚至还有人说光量子计算机不是量子计算机。实际上,量子计算机总需要用某种物理体系来实现,好比电子计算机可以用电子管实现,也可以用晶体管实现,甚至可以像《三体》中设想的那样用几千万人来实现(秦始皇:有人叫我?)。光量子计算机就是用光子作为量子比特的量子计算机。除了光子之外,量子计算机常用的物理体系还包括光学共振腔、离子阱、核磁共振等等。没关系,你不需要现在就看懂这些物理学术语……



世界首台超越早期经典计算机的单光子量子计算机


  以后如果你看到量子计算机的新闻,千万不要问“计算能力跟我的电脑比起来怎么样”或者“打游戏会卡吗”,人家一听就知道你很外行。如果你问“它针对的是哪个数学问题,把计算量从什么改进到了什么”,人家就知道你是懂行的了。——一般人我不告诉他!
十一、量子搜索
  设想有一部杂乱无章的N个人名的花名册,其中的人名没有按照任何特别的顺序排列,而且每个名字可能出现不止一次。你想在其中找到某个名字,如“张三丰”,该怎么办呢?(张三丰:为什么要找老道?回答:谁叫你把花名册弄得杂乱无章的!)
  在经典框架下,最好的算法也就是最老实的算法:从头看到尾。如果运气好,第一个就是张三丰;如果运气不好,到最后一个即第N个才找到张三丰。平均而言,这需要N/2次操作。如果N表示成二进制有n位,那么计算量就是2n-1的量级,又是指数增长,不可计算。这个结果不可能改进了,因为排列顺序是完全没有规律的。
  但是量子计算机却能够改进。1996年,格罗弗(Lov K . Grover)提出了一种搜索的量子算法。基本思路是:把所有的解(搜索问题的解可能不止一个)对应的态矢量记为|ω>,初始状态对应的态矢量记为|s>。我们不知道|ω>是什么,但格罗弗的算法可以把态矢量向|ω>的方向旋转,每次旋转都靠近一点。经过N的平方根量级的步数,就可以以50%的置信度找到解。



  量子搜索。|ω>是搜索问题所有解的叠加,|s′>垂直于|ω>,初始状态|s>与| s′>的夹角为θ/2,每次迭代都把态矢量向|ω>的方向旋转θ角度
  把整个过程每重复一次,都会把不确定度减半。如果迭代10次,不确定度就会下降到1/210 = 1/1024,大约是0.1%,也就是说置信度上升到99.9%。所以只要你先定个置信度的“小目标”,比如说99%或99.99%,只要不是100%就行,量子搜索算法很快就会给你达到,计算量没有定性的提高,仍然是√N的级别。
  量子搜索算法付出的代价,是结果不再是完全确定的。有可能你本来想找张三丰,实际找到的却是张无忌。(张无忌:怪我咯?)但好处是计算量从N的级别下降到了√N的级别,而不确定程度可以随需求任意减少,大不了多迭代几次。(张三丰,这次你跑不了了!)
  经典搜索算法不能改进,是因为它只能给出确定的答案,找到了就是找到了,没找到就是没找到。但只要你放弃这个刚性的要求,接受以一定的概率找到解(这个概率可以非常接近100%),量子搜索算法就可以减少计算量。这实际上是各种问题的量子算法的一个普遍特点。
  因数分解的量子算法对经典算法是指数级的改进,把不可计算变成了可计算。无格式搜索的量子算法对经典算法却只是平方级的改进,√N = 2n/2还是指数增长,没有发生质的变化,仍然是不可计算。但是这个改进已经非常大了。如果N等于一亿,这就是一万倍的节约。
  一类问题不可计算的意思,并不是完全不能计算,而是在问题的尺度大到一定程度后算不动。量子搜索带来的计算量下降,可以使算不动的界限大大地向外推,使在实际条件下能够计算的问题范围大大增加。由于搜索是非常常见而重要的问题,所以量子搜索的重要性并不逊于量子因数分解,甚或犹有过之。
  十二、量子隐形传态
  前面介绍了两个量子计算的例子,下面我们来看量子通信的例子。
  在科幻电影中,经常有把人从一个地方瞬间传送到另一个地方的镜头。《星际迷航》最经典的台词就是:“把我传上去(Beam me up)!”这种传送术并不是完全的幻想,它的科学原理就是量子隐形传态。现在离传送人还很远,但已经能传送一个光子了,——这已经很了不起啦,不是吗?

《星际迷航》中的传送术


  量子隐形传态到底是什么呢?它是1993年设计出来的一种实验方案,把粒子A的量子状态传输给远处的粒子B,让粒子B的状态变成粒子A最初的状态。请注意,传的是状态而不是粒子,两个粒子的空间位置都没有变化。好比A处有一辆汽车或一个人,不是把这辆汽车或这个人搬到B处,而是把B处本来就有的一堆汽车零件或原子组装成这辆汽车或这个人。
  有人要问了:那岂不是得到了相同的两个人?!哪个是真正的自己?!在你为伦理问题浮想联翩、诗兴大发前,一句话就可以消灭这个问题:不会出现相同的两个人。大自然早有安排,掐断了这种可能性。(好讨厌,人家真的想做诗了啦!)
  在量子隐形传态中,当B粒子获得A粒子最初的状态时,A粒子的状态必然改变。在任何时刻都只能有一个粒子处于目标状态,所以只是状态的“移动”,而不是“复制”。一定要说复制的话,也是一种破坏性的复制。好比武侠小说中前辈把功力传给主角,传完后前辈就没有功力了,而不是出现两个高手(《天龙八部》中的无崖子和虚竹频频点头)。敢情武林高手们都自带量子隐形传态功能,——无线快充,你值得拥有!

无崖子把功力传给虚竹


  很多人听说量子力学中状态的变化是瞬时的,无论两个粒子相距多远,于是认为量子隐形传态可以biu的一声把人传到任意远的地方,超过光速,推翻相对论。超光速传输!破碎虚空!亦可赛艇!很遗憾,这个理解又是错误的。(吃瓜群众的心碎了……)
  在做测量的时候,如前面所说,状态的变化确实是瞬时的,不需要花费时间。但是量子隐形传态的方案包括若干步,其中一步是把一个两比特的信息(即00、01、10、11这四个字符串之一)从A处传到B处,B根据这个信息确定下一步做什么(在四种待选的操作中选择一个),才能把B粒子的状态变成目标状态。这个信息需要用经典的通信方式(例如打电话、发邮件)传送,速度不能超过光速,所以整个量子隐形传态的速度也不能超过光速
  用一个比喻来说,你开着一辆超级跑车狂奔,但遇到一段堵车的路,那么你在其他路段跑得再快也没用,整个行程的速度都被这段堵车拖下来了。虽然把光速称为一个拖后腿的“慢速”显得有点滑稽(光子:我真的跑得很慢吗?有种你出来跟我比比!),但道理就是这个道理。
  其实,所有的量子信息实验方案都是基于已知的物理原理设计出来的,每一个步骤都在量子力学和相对论的预言范围之内,所以怎么可能违反已知的原理呢?你应该把量子信息理解成一种在现有理论框架下的充满创造力的工程成就,好比长城、赵州桥、高铁、宇宙飞船,而不是一种颠覆现有理论框架的科学革命。
  还有一个很容易产生的误解,是以为量子隐形传态是先扫描出A处的物或人的状态,再在B处组装一个相同的物或人。非也非也,量子隐形传态不是CT扫描。如果要先知道目标状态,那还有什么意思?量子隐形传态是在不知道A粒子状态的情况下,把B粒子变成这个状态!就像送快递,不知道送的是什么东西,但保证原原本本地送到。(东风快递,使命必达,欧耶。)

东风快递


  而且你千万不要试图去知道A粒子的状态哦!一旦你做测量,就强迫A粒子的状态落到了基组中的一个状态上面,整个量子隐形传态都鸡飞蛋打了,而你还是不知道A原来是什么状态。(听着好像《三国演义》中魏延踢翻七星灯,破坏了诸葛亮禳星延寿的故事?姜维拔剑砍魏延:早就跟你说要好好学量子力学了!)

诸葛亮禳星


  这里涉及到一个有趣的要点。在宏观世界里复制一本未知的书或一个未知的电脑文件是很容易的,在量子力学中却不能复制一个粒子的未知状态(关键是“未知”,如果你知道这个状态是什么,当然可以制备许多跟它一样的)。也就是说,未知的经典比特可以复制,未知的量子比特却不能复制。这是量子与经典的一个本质区别,叫做“量子态不可克隆定理”。
  因此,在经典计算机中有复制这个操作(我们整天用),在量子计算机中却没有复制操作(想想看,这是多么奇怪的计算机啊!)。在这个定理的限制下,量子隐形传态做到的,已经是对一个未知的量子态能做的最精妙的操作了:移动,而不是复制。所以在未来的量子计算机中,量子隐形传态是一个基本的元素,人们希望用它来传输量子比特。
  总而言之,量子隐形传态是以不高于光速的速度、破坏性地把一个体系的未知状态传输给另一个体系。打个比方,用颜色表示状态,A粒子最初是红色的,通过量子隐形传态,我们让远处的B粒子变成红色,而A粒子同时变成了绿色。但是我们完全不需要知道A最初是什么颜色,无论A是什么颜色,这套方法都可以保证B变成A最初的颜色,同时A的颜色改变。

量子隐形传态


  第一次实现量子隐形传态是在1997年,当时潘建伟在奥地利因斯布鲁克大学的塞林格(Anton Zeilinger)教授门下读博士,他们在国际顶级科学杂志《自然》上发表了一篇题为《实验量子隐形传态》(“Experimental quantum teleportation”)的文章,潘建伟是第二作者。这篇文章后来入选了《自然》杂志的“百年物理学21篇经典论文”,跟它并列的论文包括伦琴发现X射线、爱因斯坦建立相对论、沃森和克里克发现DNA双螺旋结构等等。
  18年后的2015年,这时潘建伟是中国科学技术大学教授、中国科学院院士,他和陆朝阳等人在《自然》上发表了《单个光子的多个自由度的量子隐形传态》(“Quantum teleportation of multiple degrees of freedom of a single photon”),新的成果是“多个自由度”。这项成果被英国物理学会评为2015年十大物理学突破之首。

媒体报道我国首次实现多自由度量子隐形传态


  艾数学同学,你问自由度是什么?自由度就是描述一个体系所需的变量的数目。例如一个静止在一条线上的粒子,描述它只需要一个数,自由度就是1。静止在一个面上的粒子,自由度就是2。静止在三维空间中的粒子,自由度就是3。描述三维空间中一个运动的粒子,需要知道位置的3个分量和速度的3个分量,自由度就是6。
  光子具有“自旋角动量”和“轨道角动量”,如果你看不懂这两个词,没关系,只要明白它们是两个自由度就够了。在1997年的实验中,传的只是自旋。此后各种体系的各种自由度都被传输过,但每次实验都只能传输一个自由度。
  传输一个自由度已经很不容易了,但是这只具有演示价值。量子隐形传态真的要实用,要传物传人,就必须传输多个自由度。这在理论上是完全可以实现的。打个比方,现在用颜色和形状来表示状态,A粒子最初是红色的正方形,我们可以让B粒子变成红色的正方形,同时A变成绿色的圆形。
  这个扩展看似显而易见,但跟传输一个自由度相比,实验难度提高了非常多。量子隐形传态需要一个传输的“量子通道”,这个通道是由多个粒子组成的,这些粒子纠缠在一起,使得一个粒子状态的改变立刻造成其他粒子状态的改变。(赶快回顾一下纠缠态的定义!)
  让多个粒子在一个自由度上纠缠起来,已经是一个很困难的任务了,而要传输多个自由度,就需要制备多粒子的多个自由度的“超纠缠态”,更加令人望而生畏。潘建伟研究组就是攻破了这个难关,搭建了6光子11量子比特的自旋-轨道角动量纠缠实验平台,才在2015年实现了自旋和轨道自由度的同时传输。

潘建伟在调试设备(资料图片)


  《道德经》说:“道生一,一生二,二生三,三生万物。”我们可以说量子隐形传态1997年实现了道生一,那时潘建伟还是博士生。2015年实现了一生二,这时他已经是量子信息研究的国际领导者。从传输一个自由度到传输两个自由度,走了18年之久。这中间有无数的奇思妙想、艰苦奋斗,是人类智慧与精神的伟大赞歌。
  好,我们现在终于可以传送一个光子的两个自由度了,那么离电影里的传送人还有多远的距离呢?来估算一下。
  12克碳原子是1摩尔,即6.023 × 1023个。人的体重如果是60公斤,就大约有5000摩尔的原子,3 × 1027个。描述一个原子的状态,要多少个自由度?姑且算作10个吧。那么要描述一个人,就需要1028量级的自由度。我们刚刚从1进步到了2……所以,嗯,我们的征途是星辰大海!向着夕阳奔跑吧,少年!

向着夕阳奔跑吧,少年!

十三、为什么需要量子密码术?
  我们终于说到了量子信息的最后一个应用“量子密码术”,也称为“量子保密通信”或者“量子密钥分发”。这是迄今唯一接近实用的量子信息应用,但这一个就具有极高的军事和商业价值,足以证明各国对量子信息的大力投入是物有所值的。所以,我们也要用最多的篇幅来比较详细地解释它。
  在科学界的术语中,量子通信是一个广泛的研究领域,包括量子密码术、量子隐形传态和本文中没有介绍的“超密编码”等等。但由于量子密码术是唯一接近实用的,所以当媒体报道“量子通信”的时候,他们往往实际上指的就是量子密码术,即量子通信的一部分而非全部。这是我们在看新闻时需要注意的。
  看“量子密码术”这个名字,就能知道这是一种保密的方法。为什么需要用量子力学的方法来保密呢?我们需要了解密码学的基本原理,才能明白量子密码术解决了传统密码术的什么“痛点”,以及量子因数分解对传统密码术造成了什么样的挑战。(敲黑板!)下面我们来上一堂简短的密码学课程。
  把明文变换成密文,需要两个元素:变换的规则和变换的参数。前者是编码的算法,例如“在英文字母表上前进x步”。后者是密钥,例如上述算法中的x这个数。如果取x = 1,明文的“fly at once”(立即起飞)就会变成密文的“gmz bu podf”。
  一般人常常以为,我用一个你想不到的算法,就能保密。但事实上,把希望寄托在算法不泄露上,是靠不住的。同一个算法很可能有许多人在用,这些人当中任何一个人都可能泄露算法。如果算法用到机器(例如二战中德国用的Enigma密码机),那么敌人只要得到一台机器,就可以知道算法。

闪电战创始人古德里安在指挥车上,左下方是Enigma密码机


  只要你知道有一个人或一台机器泄露了算法,那么所有人的算法就都要换,这个工作量大得惊人。如果你没发现算法的泄露,那损失就更可怕了。例如在第二次世界大战中,德国和日本的密码系统早就被盟国破解了,而他们一直不知道,送上了无数机密。山本五十六的飞机,就是因为行程泄露被击落的。
  那么,靠得住的是什么呢?所有的保密方法都是通过隐藏某些东西来实现的,而最容易隐藏的是密钥。同一个算法可以有很多个密钥,使用同样算法的每一组人都可以用单独的密钥。如果有人泄露了一组密钥,用不着惊慌,只要更换一组密钥就行。即使你没发现密钥泄露,也只是这一组人的情报失窃,不会拖累其他人。
  因此,密码学的一个基本原则是,在设计算法时,你必须假设敌人已经知道了算法和密文,唯一不知道的就是密钥。密码学的研究目标就是,让敌人在这种情况下破译不了密文。当然,你可以对算法保密,这可能会增加敌人的困难。但无论如何,不能把希望寄托在这上面。
  最容易想到的保密框架,是通信双方都知道同一组密钥,A用它将明文转换成密文,B用它将密文变换回原文。《红灯记》、《潜伏》等谍战片中情报人员舍死忘生、殚精竭虑保护和争夺的密码本,就是密钥。由于通信双方都知道同一组密钥,所以这种方法叫做“对称密码体制”。

《红灯记》


  对称密码体制究竟安全不安全呢?回答是:密码本身可以是安全的,但密钥的分发不安全。
  我们先来解释前一句话:密码本身可以是安全的。信息论的创始人香农(Claude E . Shannon)证明了一个数学定理:密钥如果满足三个条件,那么通信就是“绝对安全”的。这里“绝对安全”是一个数学用语,它的意思是:敌人即使截获了密文,也无法破译出明文,他能做的最多也只是瞎猜而已。哪三个条件呢?一,密钥是一串随机的字符串;二,密钥的长度跟明文一样,甚至更长;三,每传送一次密文就更换密钥,即“一次一密”。满足这三个条件的密钥叫做“一次性便笺”。
  稍微思考一下,就能理解香农的定理。比如说,你拿到的密文是一个8位的字符串DHDSBFKF,这其中每一位的原文都是另外一个字符,对应规则都是“在英文字母表上前进x步”,但x对每一位都单独取值(这就需要密钥的长度至少跟原文一样,即第二个条件),而且是随机的(第一个条件)。例如第一位的x = 1,把原文的C变成密文的D,第二位的x = 3,把原文的E变成密文的H。如果你是敌对方,你如何猜出原文?
  有一个常用的办法是基于英文中各个字母使用频率的不同(最常见的前五位是E、T、A、O、I),统计密文中每个字母出现的频率。但这只适用于每一位的变换规则都相同的情况(即只有一个统一的x),而在这里每一位都有自己随机的x,这一招就用不上了。如果不是一次一密(第三个条件),你还可以连续截获好几份密文,然后在多份密文的同一个位置做这种频率分析。但加上一次一密之后,连这个仅存的希望也破灭了。因此,你除了瞎蒙之外,还能干什么呢?
  我们再来解释后一句话:密钥的分发不安全。香农的定理听起来好像已经解决了保密通信的问题,但其实没有。真正的难题在于,怎么把密钥从一方传给另一方?
  在现实生活中,需要第三方的信使来传递。而信使可能被抓(如《红灯记》中的李玉和)或者叛变(如《红岩》中的甫志高),这麻烦就大了。最好是不通过信使,通信双方直接见面分享密钥。但是如果双方可以轻易见面,还要通信干什么?
  为了解决密钥配送的问题,聪明的数学家们想出了另外一套办法,称为“非对称密码体制”或者“公钥密码体制”。现在不需要信使了,李铁梅和余则成可以光荣下岗了。为什么可以做到这样呢?请注意,解密只是接收方B的事,发送方A并不需要解密,他们只要能加密就行。
  那好,B打造一把“锁”和相应的“钥匙”,把打开的锁公开寄给A。A把文件放到箱子里,用这把锁锁上,再公开把箱子寄给B。B用钥匙打开箱子,信息传输就完成了。
  如果有敌对者截获了箱子,他没有钥匙打不开锁,仍然无法得到文件。这里的“锁”是公开的,任何人都能得到,所以叫做“公钥”,而“钥匙”只在B手里有,所以叫做“私钥”。
  这种巧妙的思想,实现的关键在于:有了私钥可以很容易地得到公钥,而有了公钥却很难得到私钥。就是说,有些事情沿着一个方向操作很容易,逆向操作却非常困难,“易守难攻”。因数分解就是一个典型例子。这就是因数分解能用于密码术的原因,上文所述的RSA密码体系就以此为基础。
  然而,公钥密码体制仍然不能保证绝对安全。无论是经典的还是量子的算法,都在不断改进。RSA在理论上已经被量子的因数分解算法攻克了。你当然可以寻找其他的易守难攻的数学问题(这是一个活跃的研究领域),但谁也无法保证将来的算法进步是不是能破解这个问题,这会成为一场无穷无尽的猫捉老鼠的游戏。更可怕的是,有可能敌对国家或组织已经找到解密的算法了,而你还不知道!
  我们来总结一下传统密码术的困境。对称密码体制本身是安全的,但分发密钥的信使是大漏洞。非对称密码体制不需要信使,但你又会担心它被数学方法破解。两难。
  山重水复疑无路,柳暗花明又一村。当当当当当,英雄闪亮登场的时候到了!不错,我就是美貌与智慧并重,英雄与侠义的化身,……量子密码术!

我就是美貌与智慧并重,英雄与侠义的化身:唐伯虎


  咳咳,量子密码术做的是什么呢?其实是回到对称密码体制,但取消信使。也就是说,不通过信使,就能让双方直接共享密钥。这样就吸收了对称和非对称两种密码体制的优点,克服了它们的缺点,实现了一种真正无懈可击的保密通信。
  怪哉,不通过信使怎么共享密钥?关键在于,这里的密钥并不是预先就有的,一方拿着想交给另一方。(地下党组织:李玉和同志,这是密电码,这个光荣而艰巨的任务就交给你了。)在初始状态中,密钥并不存在!(地下党组织:李玉和同志,我们没有任何东西要交给你,解散!)
  量子密钥是在双方建立通信之后,通过双方的一系列操作产生出来的。利用量子力学的特性,可以使双方同时在各自手里产生一串随机数,而且不用看对方的数据,就能确定对方的随机数序列和自己的随机数序列是完全相同的。这串随机数序列就被用作密钥。量子密钥的产生过程,同时就是分发过程,——这就是量子密码术不需要信使的原因。
  关于量子密钥的特点,还可以再解释得详细一点。量子密钥是一串随机的字符串,长度可以任意长,而且每次需要传输信息时都重新产生一段密钥,这样就完全满足了香农定理的三个要求(密钥随机,长度不低于明文,一次一密),因此用量子密钥加密后的密文是不可破译的。
  双方都有了密钥之后,剩下的事情就跟经典的通信完全相同了:A把明文用密钥编码成密文,然后用任意的通信方式发给B。“任意的”通信方式的意思就是“怎么都行”:可以用电话,可以用电报,可以用电子邮件,甚至用平信都行。香农的定理保证了这一步不怕任何敌人,因为截获了也破译不了。
  因此,量子保密通信的全过程包括两步。第一步是密钥的产生,这一步用到量子力学的特性,需要特别的方案和设备。第二步是密文的传输,这一步就是普通的通信,可以利用任何现成的通信方式和设施。量子保密通信所有的奇妙之处都在第一步上,所以它又被叫做“量子密钥分发”,这是业内人士常用的一个技术性的名称。
  十四、量子密码术的实现方法
  什么样的操作,能在通信双方产生一段相同的随机数序列呢?
  如果你是一个真正聪明而细心的读者,你就会想起本文前面关于EPR实验的一句话:“A测量粒子1得到的是一个随机数,B测量粒子2得到的也是一个随机数,只不过这两个随机数必然相等而已。”
  妙啊!那一段是解释为什么EPR实验不能传输信息,但有了量子密码术的背景知识,你就会领悟到,把这个过程重复多次,双方得到的相同的随机数序列就可以用作密钥。然后你可以用这个密钥传输信息。这和“EPR实验不传输信息”并不矛盾,因为传输信息时用的是普通的通信方式,不是EPR实验。
  很好,利用量子纠缠,我们立刻就找到了一种量子密码术的方案。这至少说明量子密码术是可以实现的,证明了它的存在性。

量子密码术


  但是,不少科普作品说量子密码术离不开量子纠缠,这就大错特错了!这种说法造成了很多困扰。实际上,量子密码术有若干种实现方案,有些用到量子纠缠,有些不用量子纠缠。量子纠缠是个可选项,而不是必要条件。
  不仅如此,稍微想想你还会明白,量子纠缠是一种多粒子体系的现象,而对于实验来说,操纵多个粒子肯定比操纵一个粒子困难。所以,只要有单粒子的方案,人们必然会优先用单粒子方案。实际情况正是如此,绝大多数量子密码术的实验都是用单粒子方案做的,这样才能达到最优的效果。而基于量子纠缠的量子密码术方案,就像用火箭送快递一样不实用,只具有理论意义。
  当然,这不是说量子纠缠没用。对于整个量子信息学科来说,量子纠缠非常有用,例如量子隐形传态就以量子纠缠为基础,但那是量子密码术之外的应用了。正是因为量子密码术可以不用量子纠缠,所以它的技术难度在量子信息的各种应用中是最低的(只是相对而言,绝对的难度还是很高),所以它发展得最快,最先接近了产业化。
  不用量子纠缠,怎么在双方产生相同的随机数序列?想想前面介绍的“三大奥义”,真正产生随机数的是对叠加态的测量。所以只要充分利用叠加和测量这两个手段,单个粒子就可以在双方产生相同的随机数。在“三大奥义”中,量子密码术只需要前两个(叠加、测量)就够了,不需要第三个(纠缠)。
  科学家们把量子密码术的方案都称为某某协议(就像计算机科学中的“TCP/IP协议”),上述利用EPR对的方案叫做EPR协议,而单粒子的方案包括BB84协议、B92协议、诱骗态协议等等。BB84协议是美国科学家Charles H. Bennett和加拿大科学家Gilles Brassard在1984年提出的,BB84是两人姓的首字母以及年份的缩写。BB84协议是最早的一个方案,而且目前最先进的诱骗态协议可以理解为它的推广。所以只要理解了BB84协议,就理解了量子密码术的精髓。
  在BB84协议中,用到光子的四个状态:|0>、|1>、|+>和|->。Hi,四位老朋友,又见面了~(|0>、|1>、|+>和|->:我们叫做“江南四大才子”!)在实验上,这四个状态是用光子的偏振(回顾一下,偏振方向就是电场所在的方向)来表示的,分别对应光子的偏振处于0度、90度、45度和135度。

江南四大才子


  让我们回忆一下,|0>和|1>这两个态构成一个基组,|+>和|->这两个态构成另一个基组。在某个基组下测量这个基组中的状态,比如说在|0>和|1>的基组中测量|0>,那么结果不变,测完以后还是|0>这个态。在某个基组下测量这个基组之外的状态,比如说在|0>和|1>的基组中测量|+>,那么结果必然改变,以一半的概率变成|0>,一半的概率变成|1>。
  好,现在我们来叙述BB84协议的操作过程。A拿一个随机数发生器(通俗地说就是掷硬币),产生一个随机数0或者1(让我们把它记作a),根据这个随机数决定选择哪个基组:得到0就用|0>和|1>的基组,得到1就用|+>和|->的基组。选定基组之后,再产生一个随机数(记作a′),根据这第二个随机数决定在基组中选择哪个状态:得到0就在|0>和|1>中选择|0>或者在|+>和|->中选择|+>,得到1就在|0>和|1>中选择|1>或者在|+>和|->中选择|->。经过这样双重的随机选择之后,A把选定状态的光子发送出去。
  B收到光子的时候,并不知道它属于哪个基组。他怎么办呢?他可以猜测。B也拿一个随机数发生器,产生一个随机数(记作b),得到0的时候就在|0>和|1>的基组中测量,得到1的时候就在|+>和|->的基组中测量。B测得|0>或者|+>就记下一个0,测得|1>或者|->就记下一个1,我们把这个数记为b′。
  看出来了吧?如果B猜对了基组,a = b,那么光子的状态就是B的基组中的一个,所以测量以后不会变,a′必然等于b′。而如果B猜错了基组,a ≠ b,那么光子的状态就不是B的基组中的一个,所以测量后会突变,a′和b′就不一定相等了(有一半的概率不同)。
  把这样的操作重复若干次,双方发送和测量若干个光子。结束后,双方公布自己的a和b随机数序列(“公布”的意思就是对全世界公开,就是这么任性~),比如说a的序列是0110,b的序列是1100。然后找出其中相同的部分,在这个例子里就是第二位(1)和第四位(0)。
  现在我们知道了,在第二位和第四位,a′和b′必然是相同的!A和B把各自手里第二位和第四位的a′和b′记下来,这个随机数序列就可以用作密钥。如果发送和接收n个光子,由于B猜对基组的概率是一半,就会产生一个长度约为n/2位的密钥。至于a、b两个序列中不同的部分,在这个例子中就是第一位(0对1)和第三位(1对0),它们对应的a′和b′有可能不同,所以我们就不去看它们了,这部分数据直接抛弃。
  不过,到目前为止我们都假定只有A、B双方在通信,没有敌对方在窃听。作为一个保密的方法,需要回答的下一个问题是:在有人窃听的情况下,如何保证密钥不被偷走?
  让我们把这个窃听者称为E(联想英文单词evil,“邪恶的”)。料敌从宽,我们还假设E非常神通广大,A发给B的每一个光子都先落到了他手里。BB84协议有一个办法,使得即使在这种最不利的情况下,E也偷不走情报。

量子密钥分发


  什么办法呢?站在E的角度上想一想。如果E只是把这个光子拿走,那么他只是阻断了A、B之间的通信,仍然拿不到任何信息。E希望的是,自己知道这个光子的状态,然后把这个光子放过去,让B去接收。这样A和B看不出任何异样,不知道E在窃听,而在A和B公布a和b序列后,E看自己手上的光子状态序列,也就知道了他们的密钥。
  但是E的困难在于,他要知道当前这个光子处在什么状态,就要做测量。可是他不知道该用哪个基组测量,那么他只能猜测。这就有一半的概率猜错,猜错以后就会改变光子的状态。
  例如A发出的状态是|+>(这对应于a = 1, a′ = 0),E用|0>和|1>的基组来测量|+>,就会以一半的概率把它变成|0>,一半的概率把它变成|1>,然后B再去测量这个光子。如果B用的基组是|0>和|1>(b = 0),公布后会发现这里a ≠ b,这个数据就被抛弃。而如果B用的基组是|+>和|->(b = 1),公布后会发现这里a = b, 这个数据要保留。这时b′等于什么呢?无论是|0>还是|1>,在|+>和|->的基组下测量时都以一半的概率变成|+>(b′ = 0),一半的概率变成|->(b′ = 1)。因此,a′和b′有一半的概率出现不同。
  稍微想一下,你就会发现这是普遍的结果:只要E猜错了基组,a′和b′就会有一半的概率不同。E猜错基组的概率是一半,所以总而言之,在E做了测量的情况下a′和b′不同的概率是1/2 × 1/2 = 1/4。这就是窃听行为的蛛丝马迹
  那么,通信方的应对策略就呼之欲出了。为了知道有没有窃听,A和B在得到a′和b′序列后,再挑选一段公布。这是BB84协议中的第二次公布。你看,有时为了保密,我们必须要“公布”,而且“公布”会成为一个威力巨大的保密武器。假如在公布的序列中出现了不同,那么他们就知道有人在窃听,这次通信作废。
  这样做的效率怎么样呢?公布一个字符,E蒙混过关的几率是3/4。公布两个字符,就是3/4的平方。如果公布m个字符,E蒙混过关的概率就是3/4的m次方。这个概率随着m的增加迅速接近于0。因此,如果公布了很长一段都完全相同,那么就可以以接近100%的置信度确认没有窃听,通信双方就把a′和b′序列中剩下的部分作为密钥。
  如果发现有窃听,那么该怎么办?最容易想到的,就是把窃听者抓起来。但那是警察的任务,不属于密码术的范围。至于密码术本身,在发现窃听时唯一能做的就是停止通信。因此,量子密码术规定在发现窃听时停止通信,就像谍战片里通信员被发现时第一件事就是把密码本销毁。这样就不会生成密钥,也不会发送密文,自然也就不会泄密。因此,即使在最不利的情况下,量子密码术也可以保证不泄密。
  媒体经常用“绝对安全”或“无条件安全”或诸如此类的说法,来形容量子密码术。以前这些词看着一头雾水,现在你可以理解,量子密码术的安全性表现在四个方面:一,如果成功生成了密钥,那么密文即使被截获了也不会被破译;二,没有传递密钥的信使;三,不会被计算技术的进步破解;四,如果在密钥生成过程中有人窃听,那么会被通信方发现,仍然不会泄密。这几点是量子密码术的本质特点,任何协议都是如此。
  在这四个方面,传统密码术做得怎么样呢?从前面的介绍可以看出,传统密码术或者只能满足第一点和第二点(非对称密码体制,第一点依赖于数学复杂性,不是严格满足的),或者只能满足第一点和第三点(对称密码体制),无论如何都无法满足第四点。量子密码术是目前所知唯一的既不需要信使、也不惧怕算法进步的保密方法,更是唯一的能发现窃听的保密方法。一对比,就知道量子密码术的优势有多大了!
  量子密码术的安全性是物理原理的产物,建立在量子力学的基础上。在有些人看来,量子力学似乎不是一个非常可靠的基础。这种心理可以理解,因为就像“三大奥义”显示的,量子力学跟日常生活经验反差巨大,不是一个很容易接受的理论。但如果你想为了破解量子密码术而推翻量子力学,那就掉到一个巨坑里去了。如前所述,量子力学经过了上百年的考验,其应用遍及现代生活的所有角落。如果你怀疑量子力学的原理,那么你是不是应该先担心自己的电脑不能工作、自己的手机打不出去呢?
  对于军事和金融这样急需保密的领域,量子密码术显然具有非常高的战略意义。如果说可以破解公钥密码体系的量子计算机是最强的矛,那么能够抵御一切攻击的量子密码术就是最强的盾。以子之矛攻子之盾,谁胜?盾胜!
返回列表