迄今为止,人类历史上发生了三次工业革命。第一次工业革命开始于蒸汽机的发明。其核心是将化学能(煤炭)转化为机械能(蒸汽机),人们不再仅仅依赖畜力、水力和风力。蒸汽机车是蒸汽车的加强版。第二次工业革命则发端于人们对于电力的深度利用。人们发明发电机,电线和电报,这一切都让能量和信号的传递变得更加便捷。另外,更加高效的内燃机也开始替代第一次工业革命中的蒸汽机。
第三次工业标志着数字化时代的开启,人类初步脱离具体的物理媒介的束缚。这时候,照片变成一堆可以传送的数字,而不再是一张张具体的胶卷。由此可见,每次工业革命都会对我们的生活方式都会产生根深蒂固的影响。我们自然会问,下一次工业革命会是在什么地方开启呢?这点很难预料。也许是人工智能,也许是量子技术,也许是生命科学,又也许在几十年以后的人们看来,我们现在正处于第四次工业革命的风口浪尖。
无论如何,在之前的三次工业革命当中,人类对世界的操控变得越来越精细——从一颗螺丝钉到芯片上纳米尺度的晶圆颗粒,科技从宏观迈向微观的步伐令人叹为观止。如果人们对世界的控制突破纳米的限制进入更加微小的尺度,那时候,人们面对的又将是一个全新的世界,而那个世界的法律是量子力学(quantum mechanics)。量子技术正是设想在量子力学上的全新技术。
也因此,量子技术很有可能打开下一次工业革命大门的钥匙。量子世界和宏观世界有着诸多的不同,其中一个便是,量子是可以叠加的。什么意思呢?在经典世界里,一个人只能在办公室里上班,或者在家里休息。而在量子世界里,人们可以处于办公室上班和家里休息的叠加状态。当老板打电话询问你是否在上班时,你告诉以一定概率告诉他是或者不是。薛定谔的猫:在量子世界里,猫可以同时处于死亡和活着两种状态!图片来自网络。
这时候你可能觉得量子世界和经典世界并没有什么区别,老板总是随机地得到两个不同的答案。这时我们让老板换一个问题,让他询问你是否处于工作和休息的叠加态A上。在经典世界里,除非你有精神分裂症,否则难以问出这个问题。而在量子世界里,这却成为一种可能。你可以回答他是或者不是。现在我们用更精确的数学语言来陈述。我们用 0 表示工作,1 表示休息。
有信息学基础的读者都知道,经典的信息状态(比特,bit)只能是 0 或者 1,所以我们能够轻易地测量经典比特的取值。
而量子比特(qubit,为了醒目,下文都用 qubit)可以是介于 0 和 1 之间的多种选择,qubit 的每一个状态都可以表示成一个单位向量:在量子力学中,人们通常使用是物理学家保罗狄拉克发明的记号(bra)和(ket),其中表示量子 A 的状态,在数学上可以看作是一个(有限维或无限维的,定义了内积的)向量;表示的对偶线性算子,使得。
在上述框架下,物理量的测量过程总是通过用一个 bra 算子作用在一个 ket 状态上来完成的,由于 ket 状态允许出现叠加态,而每个叠加态都服从某一个概率分布。这和经典世界很不一样,因为在经典世界中,每个状态都是确定的。在量子世界中,老板的询问则意味着对经典(或量子)比特进行检查(或测量),通常通过“”作用在“”上表示测量的过程。
在量子世界中,老板可以选择不同的问题提问(例如“你是否80%概率在休息20%概率在工作”或“你是否99%概率在休息”这种在经典世界看来很奇葩的问题),这意味着他可以选择不同的基矢进行测量,这在数学上通常用一组正交基表示。是否上班对应一组基矢,是否在叠加态 A 又是另外一组基矢,。经典比特只有两个取值,量子比特则可以在整个三维球面上取值——小编注。
当我们选择基矢进行测量时,我们得到 0 的概率是,而得到1的概率则是(计算过程本质上是计算向量内积)。而当我们选择作为基矢的时候,我们得到的答案总是肯定的,因为。讲到这里,我们仍旧忽略了一件非常重要的事情——测量会对 qubit 的状态造成影响,这个过程被称为塌缩(Collapse)。例如,我们选择基矢对 qubit 进行测量,如果测量结果是 0,那么这个 qubit 就变成。
类似的,如果我们选择基矢进行测量,测量结果为 A 意味者这个 qubit 塌缩到 , 而结果 B 则意味者 qubit 塌缩到上。现在让我们利用量子塌缩来做一个侦测器。假设我们要出门旅行,所以在房间里放了一个qubit。如果有小偷进入这个房间,这个 qubit 就会在基矢上进行测量。那么这个 qubit 就会变成或者。
不管测量结果是还是, 这时候我们再次对 qubit 在老基底上进行测量,它都有一定概率输出1。所以等我们回来以后,我们就对 qubit 在老基底上进行测量,如果测量结果是 0,那么我们认为没有小偷;如果测量结果是 1,那么我们认为有家里被小偷光顾过了。有的读者可能会怀疑这个方案的可行性,因为无论有没有小偷光顾,都有一定概率输出 0,所以我们还是有一定概率误认为小偷没有来过。
这个时候我们把装置改进一下——我们放很多个 qubit,在旅游归来之后,对所有 qubit 都进行上述测量。如果有一个 qubit 输出 1,那么我们就认为小偷来过了。因为我们有很多个 qubit,所以误认为小偷没有来过的概率低到可以忽略。这个量子探测器乍看起来似乎有些鸡肋,因为我们需要投入很多 qubit。不过事实上整个过程却隐含着量子密钥分发方案 BB84 的核心。
现在读者们已经对是 qubit 有了一个初步的映像,接下来我们介绍量子加密技术。在双方通信的过程中,总难免会有第三方想去窃取通信过程中的信息,而加密技术的出现就是为了防止信息被窃取。加密(encryption)的含义是把我们希望传送的信息,称为明文,通过某种算法(称为加密算法)把明文变成一串只有接收方才能理解的信息,这个信息称为密文。加密过程。这个世界上的加密方式有很多,他们的安全等级也不一样。
很多密码都是有条件安全的,比如假设第三方只拥有有限的计算能力。我们知道的大规模商用的 RSA 密码是这样的一种安全级别。这种加密算法的安全核心在于,基于大素数分解的数学问题是困难的,目前没有行之有效的算法(更专业地讲,所有算法都是指数时间的——小编注)。要想攻破这个密码,就必须攻克这个长久以来困扰数学家的素数分解问题。
然而遗憾的是,量子计算机可以有效地解决素数分解问题,这也意味着 RSA 密码体系在量子计算机面前并不安全。更高一个级别的安全性是无条件安全,也就是说,就算拥有无穷的计算能力也无法攻破这个密码体系。读者们可能怀疑如此梦幻的加密体系也许真如黄粱一梦,根本不存在。事实上早在上个世纪初,人们就提出了一次一密算法(One-time pad),并且证明了他是无条件安全的。
不过看似如此梦幻的算法却没有被普及开来,因为它有一个严重的缺陷。经典的加密方式要求通信双方在通信之前共享一串和明文是等长的比特串,通常被称为密钥。密钥就像是一把钥匙,在加密的过程中,我们好比把明文塞进了一个保险盒,然后用密钥把它锁上。接下来我们把盒子送到接收方手里(可以大摇大摆地送过去),并用自己手里的密钥打开盒子,取出想要的信息。
一次一密算法要求密钥和明文的长度相同,这就让这个加密过程变得极其昂贵,难以被商业化。一次一密算法要求密文和明文长度相同。量子加密技术的创新点在于密钥分发技术( Key distribution),它很好地解决了一次一密算法中密钥生成的难题。此外,物理学家和数学家证明这个分发密钥的过程在理论上是无条件安全的(据笔者所知,这应该是唯一一个在理论上被证明无条件安全的密钥分发方案。)。
为了让读者更好地理解量子加密技术,我们介绍 BB84 方案,它是由 Bennet 和 Brassard 等人在1984年提出的。BB84 方案的一大优点是它不需要量子纠缠,因为量子纠缠是一种比较昂贵的资源。潘建伟院士在 2017 年用墨子号卫星实行洲际间的量子密钥分发方案也正是 BB84 方案。BB84 方案的具体的过程可以从下面这幅图里看到:就好比光的偏振一样,量子密钥图片来自维基百科。
上面的箭头只是用以类比光的偏振方向,并没有严格的定义。对于这幅图的解释如下(Alice 和 Bob 是信息学领域的常见虚构人物):算法—— BB84 量子加密方案。1. Alice 随机生成一串经典的比特串。接着,对每一个比特 0/1,她又随机地选择基矢或者,并发送相应的 qubit 或者。
例如,Alice 希望发送信息“1”给 Bob,如果她随机选择了第一组基矢,那么 Alice 就发送量子态给 Bob。如果 Alice 随机选择的基矢是第二组基矢,那么她发送给 Bob 的量子态就是。2. 同样的,对于接收到的每一个 qubit, Bob 随机地选择基矢或者进行测量,他也得到一串经典的比特串。
值得注意的是,如果 Bob 选择和 Alice 一模一样的基矢,那么 Bob 会得到和 Alice 相同的比特串。例如,Alice 发送给 Bob,Bob 选择基矢进行测量,那么他总会以概率得到测量结果→,这就代表经典的比特 1。3. Alice 和 Bob 再通过公开的经典信道比对各自选择基矢。
如果对于某个 qubit,Alice 和 Bob 选择的基矢相同,那么他们双方就保留对应的比特,否则就删除。在基矢相同的情况下,Bob 测量的结果和 Alice 希望发送的目标是一致的,此时双方可以放心保留测得的信息。如果 Alice 和 Bob 选择的基矢不相同,那么 Bob 有 50% 的概率得到和 Alice 不相同的结果,此时不管 Bob 测量的结果正确与否,双方都放弃这个测量结果。
4. Alice 和 Bob 将筛选后的部分经典的比特串进行比对,以此确定是否有第三方窃听。由于 qubit 是无法克隆的,所以第三方 Eve 只能对 Alice 发送的量子 bit 进行测量。然而这个测量过程是会破坏测量 Bob 的测量结果。在没有第三方窃听的情况下,如果 Alice 和 Bob 选择相同的基,那么他们得到的经典 bit 串应该是一致的,否则就是有第三方在窃听。
在这种情况下,Alice 和 Bob 就放弃密钥,进行重新分发。科学家们仍在努力提高密钥分发的速度同时希望降低分发过程的成本。目前来说,量子密钥是为数不多的几个的开始商业化的量子技术之一。人们会对量子技术有各种各样的批评。其中一些人为量子密钥分发是不必要的,因为量子计算机还没有被造出来。退一步说,即使有了量子计算机,人们仍旧可以使用相对应的经典密码去对抗量子计算机。笔者本人不太赞同这些观点。
首先,我们不可能等到量子计算机造出来后才开始研究量子密码;即使我们可以使用更加高级的经典密码去对抗量子计算机,量子密钥也未必没有优势,毕竟用高级的经典密码会消耗更多计算资源也会抬升加密的成本。如果量子密钥的成本比高级经典密码低,那么量子密钥将存在很大的商业前景。无论如何,量子技术的发展可以看成是人们希望理解和操控微观世界的一种尝试。而量子密钥分发是我们现阶段能想到的一个应用方案。
不管量子密钥分发最后能否带来巨大的商业价值,它总是人们迈开利用量子技术的重要一步。