天天看点

IBM 量子计算机中具有量子置换垫的叠加态量子加密

作者:小三科普官

Kuang和Bettenburg的量子排列垫(QPP)的实现用于加密叠加态。该项目是使用Qiskit开发工具包在当前可用的IBM量子系统上进行的。这项工作扩展了先前报道的用于加密基态的QPP实现,并证明QPP方案的应用不仅限于基态的加密。

对于此实现,使用了 56 个 2 量子位排列矩阵的 pad,为 QPP 算法提供了 256 位熵。一只猫的图像被用作这个实验的铭文。在状态准备过程之前,使用经典的 XOR 函数对明文进行随机化。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

为了创建相应的叠加状态,我们应用了本文中定义的新运算符。然后使用 QPP 使用 2 量子位排列运算符对这些叠加状态进行加密,产生叠加密文状态。由于缺少量子通道,我们省略了传输,并在同一个IBM量子系统上执行了解密过程。如果存在量子通道,则叠加密文状态可以作为量子比特传输,并直接在不同的量子系统上解密。我们简要讨论了安全性,尽管本文的重点仍然是实现。

通过演示QPP在经典和量子计算机中的运行,为弥合经典和量子系统之间的安全差距提供了一个有趣的机会。这项工作拓宽了QPP在基态和叠加态加密中的适用性。相信不限于基态的量子加密方案将成为安全量子互联网不可或缺的一部分,以减少通过使用两种独立的算法在量子和经典计算机之间进行安全通信而引入的漏洞。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

介绍

量子计算领域的最新发展,包括量子霸权的展示,表明密码学发生了重大转变。量子密码学和量子加密现在是密码学领域的关键要素。术语“量子加密”和“量子密码学”通常是指量子密钥分发(QKD)或后量子密码学(PQC)。

这两种方法都用于建立数字对称加密的密钥。然而,前者使用量子力学,在具有经典后处理部分的量子系统中实现,后者描述的经典算法具有量子计算系统无法解决的底层数学问题。

近年来提出的其他量子通信方法包括没有预共享密钥或QSDC 的量子安全直接通信,以及轻量级量子加密方案。轻量级量子加密方案使用通用酉门和 CNOT 门来强制对密码量子态进行扩散和混淆功能。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

这些密码量子态通常处于叠加状态,从而防止在传输到接收器时可能被窃听。其他重要的算法包括量子一次性垫算法(QOTP)和(\mathcal{EHE}\)算法。

在这项工作中,我们提出了QPP算法的全功能实现,该算法用于在IBM Quantum系统中使用Qiskit加密叠加状态。我们好奇地研究了QPP是否仅限于基态,并探讨了引入叠加态是否会带来任何安全优势。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

这项工作超越了学术兴趣,并显示出在未来量子互联网中使用的潜力,其中量子系统的状态通常可能是通过量子通道传输的叠加态。本文旨在描述了如何使用 QPP 使用 Qiskit 加密 IBM Quantum 设备中的基态,以便更好地理解本文中描述的发展。

材料方法

这项工作的动机是2量子位QPP是否可用于加密叠加状态,而不是基态,以及将叠加添加到框架中是否会提高安全性。我们提出了一个QPP的实现,其中2量子位排列算子使用Qiskit软件开发工具包应用于IBM量子系统上的叠加态。我们将演示图中显示的图像的加密。

在整个手稿中,我们将2量子位QPP称为QPP,将2量子位排列和排列运算符分别称为排列和排列运算符,除非另有明确说明。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

我们首先对该过程进行总体概述,然后更详细地描述当前实现所特有的技术,这些技术在我们之前在 Sect 的工作中没有使用。

步骤 1:QPP是一种对称加密算法,需要预共享密钥。因此,沟通从爱丽丝和鲍勃两方开始,建立一个预先共享的秘密。

步骤 2:Alice 使用预共享密钥生成 56 个4×44×4使用密钥和费舍尔-耶茨洗牌算法的排列矩阵。创建排列矩阵后,可以逐行指定它们,以使用Qiskit的Operator命令生成量子算子。

这些排列运算符用于填充我们称为排列垫的列表。类似地,Bob使用相同的预共享密钥来生成逆置换垫,该垫由置换垫中排列运算符的相应埃尔米特共轭组成。为了创建排列运算符的相应埃尔米特共轭,可以简单地创建每个置换矩阵的共轭转置矩阵。然后逐行指定这些共轭转置矩阵,以使用Operator命令生成埃尔米特共轭运算符。

步骤 3:双方还使用预共享密钥从排列垫调度排列运算符,从反向排列垫调度各自的埃尔米特共轭物分别进行加密和解密。请注意,调度过程必须在 Alice和Bob之间达成一致,以确保调度用于解密的排列运算符恰好是为相应状态加密而派遣的排列运算符各自的埃尔米特共轭。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

对于本文中描述的调度过程,使用预共享密钥来创建索引列表,其中每个索引分别指示排列运算符在排列垫中的位置及其埃尔米特共轭在逆排列垫中的位置。然后,根据索引,从排列板调度单个排列运算符,用于对给定状态进行加密。类似地,从逆排列垫调度单个埃尔米特共轭算子来解密相应的密文状态。也就是说,每个州一个运算符。

传输

假设存在量子通道,则可以将密文状态作为量子比特直接发送给Bob,在Bob一侧作用于它们,然后在最后测量明文状态。然而,目前,不存在量子通道。测量密文状态以创建经典的二进制密文将破坏叠加状态并影响解密过程。

因此,我们假装量子通道存在,并继续运行源代码以模拟解密过程。请注意,解密将在与用于加密的量子系统相同的量子系统上执行。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

QPP对称方案的安全性在Kuang和Barbeau的工作中得到了彻底的研究。在这里,我们将使用随机性测试工具ENT来检查密文是否表现出良好的随机性。耳鼻喉程序将各种测试应用于存储在文件中的字节序列,并报告这些测试的六个结果。

该程序可用于评估伪随机数生成器,用于加密和统计采样应用程序、压缩算法以及关注文件信息密度的其他应用程序。请注意,有各种测试程序可以验证任何给定数据的随机性,包括Diehard,NIST SP 800-22及其组合Diehard测试。但是,只有耳鼻喉测试工具适用于几个KB的较小二进制文件。要使用 NIST SP 800-22 执行随机性测试,所需的文件大小应至少为 100 MB。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

鉴于当前免费的 IBMQ,生成这种大小的文件需要很长的运行时间。在这个实验中,原始明文只有 9 KB,密文也是如此。因此,我们使用耳鼻喉科来检查明文、随机明文以及叠加随机明文和密文的随机性。请注意,耳鼻喉科最敏感的测试报告是卡方值,它可以在字节和位级别检测非常小的偏差。查看耳鼻喉测试的值,包括卡方值,我们可以看到QPP加密不同步骤的随机性变化。

分析

在这项工作中,我们探讨了是否可以在IBM Quantum系统上使用QPP算法和Qiskit对叠加态进行加密,以及在QPP算法框架中引入叠加的含义是什么。我们之前的工作描述了使用QPP加密基态,这可以被认为是中经典QPP加密算法的量子对应物。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

然后,我们好奇地研究了QPP的量子实现是否可以扩展到无法在经典计算机上复制的框架,例如使用QPP加密叠加态和纠缠态。我们还想知道实现QPP算法来作用于叠加状态或纠缠状态是否可以提高安全性。首先,我们很好奇叠加固有的随机性是否为该方案增加了一层新的安全层。对于这项工作,我们只关注叠加态。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

回想一下,在QPP对称方案的框架内,由于当前量子计算机的局限性,明文被分割成2位块。每个块都使用Python的for循环进行加密和解密,一次一个。因此,在任何给定时刻,量子系统只有一个量子电路要执行。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

每个这样的电路都有 2 个量子位和 2 位,这意味着系统可以处于 4 个可能的状态向量之一。因此,在处于 4 种可能状态之一的单个采样电路的上下文中讨论 QPP 就足够了。

方案

熟悉量子加密的读者会注意到QPP算法和量子一次性垫算法(QOTP)之间的相似之处。Boykin和Roychowdhury指出,加密量子数据的通用量子算法将由有限数量的酉算子组成Uk,用于加密量子态及其各自的埃尔米特共轭物U†k用于解密,利用属性U†kUk|r⟩=|r⟩。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

更明确地说,值 k 是一个经典的密钥。键 k 指定单一运算符Uk用于加密表示消息的量子态。要解密生成的密文,运算符U†k应用于密文状态以检索原始状态。灵感来自该物业U†kUk|r⟩=|r⟩,QPP 的开发考虑了特定的酉运算符,即置换运算符。

虽然 QPP 和 QOTP 方案都使用经典密钥材料来确定是否作用于明文量子比特,以及哪些酉算子作用于给定的量子态,但 QOTP 方案中使用的技术是不同的。此外,QPP被设计为作用于基态,产生基态作为密文,而在QOTP方案的框架内,密文是一个完全混合的量子态。

我们还提到 QOTP 需要 2n 个经典位进行加密,而 QPP 框架中密钥材料的大小和量子比特的数量取决于所需的熵。另请注意,QPP 可以在经典和量子计算机上实现,并且不受所用加密运算符的量子性质的限制,而 QOTP 是真正为量子设备设计的量子加密算法。

IBM 量子计算机中具有量子置换垫的叠加态量子加密

在我们的工作中,虽然我们将明文和密钥分解成块,但QPP不是分组密码。在此实现中,由于当前量子计算机的限制,明文和密钥被分解为块。随着NISQ时代设备的改进,我们将能够实现QPP来加密整个消息。这EHE加密是一个由三部分组成的过程。首先,使用第一个量子加密方案对明文p进行加密Ek1生产c1=Ek1(p)。

也就是说,这项工作探讨了QPP是否会从引入叠加态中受益。QPP算法的核心仍然是使用排列运算符对随机明文进行加密,而在EHE方案中,使用哈达玛门H是算法设计的重要组成部分。我们没有从《全面和平协定》或《国家发展协定》的角度考虑目前的实施情况,因为这项工作的重点是执行该计划。此外,我们声称当前实现的安全性在很大程度上取决于运算符 Ĥ 的选择来创建叠加状态。

结论

在这项工作中叙述了Kuang和Bettenburg的对称量子排列垫(QPP)算法的实现,该算法用于使用Qiskit开发工具包加密IBM量子系统中的叠加态。这项工作建立并扩展了我们之前关于用于加密基状态的QPP算法实现的研究。

本文中描述的实现功能齐全,轻量级,可以在任何具有至少 5 个量子位和 32 个量子体积的 IBM 量子系统上运行。此实现包括添加明文随机化过程,这对于算法的整体安全性非常重要。深入讨论了这项工作的重点,即叠加态的创建和加密。

其次,解释了这些过程是如何实现的,并介绍了一个从某个排列运算符的对角化建立的运算符 ĤP1本文给出。此运算符 Ĥ 用于创建叠加状态,然后使用 QPP 对其进行加密。还简要讨论了此实现的安全性。

这项工作拓宽了QPP在基态和叠加态加密中的适用性。将来,将研究QPP的实现是否可以扩展到纠缠状态。此外,将继续分析用于加密叠加状态的QPP算法的一般安全性。

●—<参考文献>—●

【1】钟海生, 王华, 邓永华, 陈明春, 彭立春, 罗永华, 秦军, 吴丹, 丁鑫, 胡茹,尤林, 王志, 李林, 刘乃林, 卢春英, 潘建文.使用光子的量子计算优势。科学。2020;370(6523):1460–3。

【2】阿鲁特 F, 艾莉亚 K, 巴布布什 R, 培根 D, 巴丁 J, 巴伦德 R, 比斯瓦斯 R, 博伊索 S, 布兰道 F, 比尔 D, 伯克特 B, 陈 Y, 陈 Z, 基亚罗 B, 柯林斯 R, 考特尼 W, 邓斯沃思 A, 法希 E, 福克斯 B, 马丁尼斯 J. 使用可编程超导处理器的量子霸权。自然界。2019;574:505–10。

【3】Wolf R. 量子密钥分发:带有练习的介绍。物理讲义。卷988.湛:施普林格;2021。

【4】Seito T, Shikata J. 后量子密码学及其标准化的趋势调查.系统控制 2021;65(2):60–6。

【5】Maimut D,Simion E.后量子密码学和(qu)bit更多。在:信息技术和通信的创新安全解决方案。计算机科学讲义。湛:施普林格;2019.第22–8页。