通过不确定性实现隐私:量子加密

加入我们的科学爱好者社区!

本文发表于《大众科学》的前博客网络,仅反映作者的观点,不一定代表《大众科学》的观点


我最近被BBC的一篇文章要求评论量子计算是否“指日可待”。我是否认为量子计算机会在 5 年内出现?我不这么认为。但是,作为一个永远的乐观主义者,我指出技术史表明,新技术往往与现有技术结合出现。我认为量子效应很可能以这种方式在计算中得到利用。我们往往只是在回顾时才将某些技术领域视为“飞跃”。实际上,进步是由一系列小步骤组成的;更多的是进化而不是革命。因此,我认为量子信息技术也将是如此。

在完成 BBC 的文章后,我才意识到量子信息技术有一个很好的例子,它正在从实验室分支走向日常应用领域:量子密码学。“量子密码学”这个术语对不同的人意味着不同的事物,但在这里我特指量子密钥分发 (QKD)。这是利用量子现象,结合传统的密码学技术,来解决长期困扰那些试图发送秘密信息的人们的问题。

在所谓的对称密钥密码学中,明文使用已知的算法进行加密,该算法使用密钥。这个密钥必须在发送者和接收者之间共享,他们通常被称为 Alice 和 Bob(A 和 B)。现代信息论之父克劳德·香农证明,最安全的加密形式是密钥的长度与消息的长度相同,并且密钥只使用一次。这被称为“一次性密码本”。


关于支持科学新闻

如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保未来能够继续讲述关于塑造我们今天世界的发现和想法的具有影响力的故事。


Alice 和 Bob 试图做的是阻止窃听者 (Eve) 拦截和阅读他们的秘密消息。在这种情况下,无论使用哪种算法,最大的问题是如何在 Alice 和 Bob 之间共享密钥,而不会让 Eve 知道该密钥,从而能够解密他们的秘密消息。尽管在生成越来越安全的加密算法方面已经做了大量工作,但薄弱环节仍然是密钥的传输。

在军事或外交等情况下,您可以安排安全信使将密钥从 Alice 传递给 Bob。政府组织设有专门的部门和程序来安全处理密码密钥。假设您可以信任信使以及他/她携带密钥的过程,您可以合理地确信密钥没有被泄露。然而,随着世界变得更加互联互通,从保护电子邮件到确保信用卡详细信息的保密性,日常用户对密码学的需求也在增加。

这个问题在 1970 年代被许多研究人员提出,促成了 1976 年 Diffie 和 Hellman 发表的开创性论文“密码学新方向”以及 Rivest、Shamir 和 Adleman (以 RSA 闻名) 之后不久的工作。这为公钥加密(也称为非对称加密)奠定了基础,即使人们不一定意识到,但今天大多数人都在互联网上使用它。

在这种加密方式中,加密中使用的密钥既有私有元素,也有公共元素,并且通过使用适当的协议,可以在 Alice 和 Bob 之间传递加密消息,而他们只需要传递密钥的公共部分。之所以能够实现这一点,是因为存在一些相对容易执行但极难撤销的数学函数。经典的例子是组合大素数,然后尝试分解得到的大数以确定原始素数。

然而,总是存在这样的危险:在某个时候,有人会发现一种迄今为止未知的数学或计算技术,使得公钥密码学所基于的数学问题变得容易解决。(当然,没有什么可以阻止现在拦截消息并将其保存起来,以防这种情况成为可能。有些秘密人们可能不希望在 10 年、20 年甚至 30 年后被泄露。)

还有一个额外的复杂性,即公钥加密的效率远低于对称加密。许多看似公钥加密的实现实际上使用公钥加密来传递密钥,然后将该密钥用于其余通信中效率更高的对称密钥加密。

因此,理想的解决方案是使用对称密钥加密,使用与被加密消息长度相同的密钥,并且密钥的交换方式可以使 Alice 和 Bob 永远保证密钥没有被 Eve 或其他任何人拦截。这就是量子密钥分发的承诺。

在 QKD 中,密钥是使用“量子比特”而不是经典的“比特”(0 和 1)传输的。量子比特只是量子级别的特征,例如光子的偏振(构成光的粒子)。例如,您可能有垂直偏振光表示 0,水平偏振光表示 1。

QKD 依赖于量子不确定性的反直觉现象。这表示量子比特可以同时表示 0 或 1,或者关键的是,两者都表示。如果使用垂直和水平偏振光(0 度和 90 度),那么对于单个光子,两种状态同时存在,直到被测量的时刻,此时它才呈现一个或另一个值。

在光的偏振情况下,您需要使用特定的滤波器来确定 Alice 设置的偏振方向。但是,如果您使用的滤波器旨在测量不同方向的偏振光,则获得的测量结果是随机的。例如,如果您的滤波器测量光子是否具有对角偏振(45 度和 135 度),那么任何使用垂直/水平方向偏振的光子都将被随机测量为具有 45 度或 135 度,而不是 0 度或 90 度。反之亦然。

QKD 的巧妙之处在于已经开发的协议,这些协议利用了测量光子会导致它呈现确定状态这一事实,并且该状态取决于您如何测量它。

QKD 中最常用的协议可能是 BB84,它是由同名的 Bennett 和 Brassard 在 1984 年发布的。在 BB84 中,Alice 使用两组可能的态传输密钥。假设它们是上面描述的两组偏振光。当 Bob 接收到光子时,他不知道使用了哪组偏振,因此随机选择一个滤波器来进行测量。如果选择的滤波器是不正确的集合,他将获得随机结果。如果 Bob 随机选择他的滤波器,这种情况将发生 50% 的时间。

现在 Bob 告诉 Alice 他已经收到了密钥,她告诉他,可能通过公共信道,她对哪个光子使用了哪组偏振。由此,他们可以判断哪些光子 Bob 会正确测量,从而判断哪些光子应该丢弃。从他们保留的光子中,他们构建一个密钥。

如果 Eve 拦截了光子并将它们重新传输给 Bob,她也会遇到同样的问题,即必须随机选择滤波器。因此,她会像 Bob 一样引入错误,但由于 Eve 和 Bob 是随机选择的,Bob 会发现他有比预期更多的错误。通过比较 Alice 和 Bob 希望用于密钥的光子中的错误数量,他们可以确定是否被拦截,并在必要时拒绝它并重新开始。

确信他们的密钥只为他们两人所知,Alice 和 Bob 可以使用传统的对称密钥算法来加密他们想要传递的消息。在使用光纤电缆传输光的例子中,这一切都可以非常快速地完成,如果正确实施,密钥的长度可以与正在加密的消息的长度相同。因此,Alice 和 Bob 可以进行真正安全的通信。

当然,现实世界的工程意味着它并没有那么简单,错误也会由传输介质(例如光纤电缆)和正在使用的其他设备部件引入。在设置容忍的错误级别之前,这会被考虑在内,然后再将密钥作为已被泄露而丢弃。自从 BB84 发布以来,已经开发了其他协议,包括使用不同的现象,例如量子纠缠。

是的,QKD 仍然容易受到各种攻击,特别是所谓的侧信道攻击,在这种攻击中,攻击的不是加密本身,而是其他薄弱环节,通常是人。此外,除非 Alice 和 Bob 使用与消息长度相同的密钥,否则总是可能有人会发现算法中的漏洞,或者能够对加密消息使用日益强大的密码分析技术。

但是,如果严格实施,QKD 有望实现快速、可证明安全的通信。正是由于这个原因,在过去的十年中,它已经离开了实验室,设备已经商业化,可以部署 QKD。存在局限性:目前基于光纤的实现通常可以传输 100 到 200 公里,并且数据速率没有现代网络期望的那么高。但是,随着更多公司进入市场,并且日内瓦和东京等一些城市选择实施 QKD 网络,这种从理论到商业产品的旅程确实表明,在可预见的未来,量子现象确实将在我们计算基础设施的日常使用中出现。

图片来源:Wikimedia Commons 上的 CSTAR 提供的 Pauli 自旋态空间;Wikimedia Commons 提供的线偏振示意图。

Alan Woodward 是萨里大学计算机系的教授,他专门研究网络安全、计算机取证、密码学和隐写术。Alan 最初获得了物理学学位,但在计算能力开始使一些根本性的变革成为可能的时候,他在信号处理方面进行了研究生研究。他的职业生涯始于英国政府部门,参与了过去 20 年中为各种组织交付的一些最具挑战性的 IT 开发项目,并且在过去的 10 年中,他还一直担任 Charteris 公司的首席技术官,他帮助该公司从初创企业发展壮大并在伦敦证券交易所上市。除了在英国广泛撰写有关技术的文章以及为 BBC 电视台和广播电台等媒体介绍与技术相关的时事问题外,Alan 仍然积极参与网络空间中发生的日常战斗。

更多作者:Alan Woodward
© . All rights reserved.