研究人员发现模拟量子密码攻击复杂性的新方法

技术研究 量科网 2021-10-21 14:45

量子计算机仍处于起步阶段,但已经有人担心它们可能会破坏现有的几种加密算法。为了解决这些问题,研究人员一直在探索量子密码算法在实践中如何工作的机制,他们的研究可能会因量子计算领域的进步而导致更安全的算法。

阿拉伯联合酋长国技术创新研究所(TII)的研究人员展示了一种在经典计算机运行的量子模拟器上模拟加密黑客算法的新方法。其中一个关键的发现是一种对此类计算的复杂性进行建模的方法,这种方法可以扩展到全尺寸量子计算机。该研究使他们能够创建更安全的加密设计。

考虑到它可能对安全、隐私、金融和电子商务产生重要影响,研究人员一直在探索这一领域。一种方法是通过专注于问题的一小部分,然后将这些部分组合起来,对全尺寸的密码学问题进行量子攻击。攻击密码算法涉及许多数学过程的相互作用,这种方法可能难以估计不同部分间的相互作用将如何扩大。

因此,TII的研究人员找到了一种方法来缩小密码问题,以保持所有不同部分间的适当关系。TII首席密码学家Emanuele Bellini说:“这在以前是不可能的,因为量子模拟器会消耗大量能量。我们正在使用的那个方法允许我们管理足够的模拟量子比特来运行有意义的样本。”

抗量子密码学的目标

抗量子密码学的目标是创建无法被量子计算机有效攻击的算法。量子密码是在量子计算机上运行的算法。抗量子密码则探索改进在经典计算机上运行的算法的方法,这些算法可以抵抗量子攻击和经典攻击。

目前研究人员正在进行各种类型的密码研究,主要是探索攻击非对称和对称密码方案的方法。还要一些研究已经在探索使用Shor算法技术如何破解非对称加密方案,例如RSA和离散对数。

在这种情况下,TII的该团队研究了如何使用Grover算法对对称加密方案进行建模和攻击。本研究首次将Grover算法的所有组件作为一个完整的组件集成实现。其他研究人员已经在数学上探索了一个完整的实现,但无法运行它或仅使用完整算法的一小部分来运行它。TII的研究人员将问题调整到较小的规模,这使他们能够运行Grover算法的完整实现来解决问题。

模拟量子算法的重要性

量子模拟器允许研究人员在经典计算机上运行算法来模拟量子计算机的操作。这使研究人员能够探索算法的组件如何协同工作,为未来更强大的量子计算机做好准备。当前的模拟器可以支持35-40个量子比特,这比几年前有了相当大的进步。

在密码学研究中,蛮力攻击会穷尽所有可能的密码,直到找到正确的密码为止。但它不是很有效率,因此密码学家正在寻找可以更轻松找到解决方案的捷径。分析蛮力攻击的计算需求可以提供一个基准,以此来比较与其他算法的改进。

创建“玩具加密算法”

科学家们取得的一项关键发现是创建了几类“玩具算法”,这些算法保留了全尺寸密码算法的密码特性,但又小到可以使用蛮力方法破解。与在经典计算机上运行的传统蛮力算法相比,它允许研究人员对量子算法的加速进行基准测试。他们发现,与Grover算法的2的n/2次方相比,扩展蛮力算法所需的处理能力以2的n次方速度增长,这被认为是二次改进。

研究人员制作了两种类型的玩具算法,分别被称为“Toy Sponge Hash”模型和“Toy BLAKE Hash”模型。Toy Sponge Hash模型没有现实世界的对应物,但它确实捕获了更大的加密算法元素。需要一台大约有500个量子比特的量子计算机才能从全尺寸的实现中检索密码。该团队能够以一种可以外推到更大问题的方式计算复杂性。

Toy BLAKE Hash模型是在某些加密标准中使用的真实函数。然而,它需要超过35个量子比特来检索密码,因此该团队无法模拟它。该算法的全面实现将需要大约2,000个量子比特。

量化量子门复杂性

这些新模型的一个关键进步是研究人员能够计算复杂性,并以一种能够将其外推到实际实现的方式对其进行扩展。测量门和量子比特等量子资源为密码学研究人员提供了基准,可以估计破解真正的哈希函数需要多少量子比特。

这涉及了解量子电路的构造与经典电路的不同之处。量子计算机具有量子比特和将量子比特连接在一起的量子门。这类似于将比特连接在一起的经典计算机中的门。这些门连接到不同种类的逻辑功能,例如NOR、XOR和OR门。在量子计算机中,门本质上是一个矩阵算子。一些经典门在量子计算机中转化为了更大的门,这增加了对量子比特的要求。

研究人员发现,在密码算法中选择正确类型的逻辑门可以提供比其他几种逻辑门更显着的改进。Bellini说:“我们意识到的一件事是,通过这种量子攻击,某些密码比其他密码更难破解。”

该团队发现难度取决于密码中使用的门类型。在算法中包含更多OR和AND逻辑门将显着增加量子处理的数量,在确定如何破解密码算法的哈希函数方面,这有助于找到用于加密数据的密码。

这种难度通常以在合理的时间内破解密码所需的量子比特数量来衡量。在该研究中,他们能够在35量子比特模拟器上运行量子密码攻击。Bellini估计,一次全面的加密攻击可能需要2,000个量子比特。Bellini指出,现代量子计算机距离实现这种能力还有很长的路要走。此外,现有的量子计算机容易出错,因此大部分量子比特用于纠正这些错误。

展望未来,该团队正在探索如何构建玩具算法并模拟针对对称算法的量子密码攻击。这可能包括探索Shor算法的替代方案,该算法仅擅长解决涉及因式分解和离散对数的问题。该团队还在探索如何通过Grover算法的变化来增强经典攻击。也可能有更好的方法将问题分解为更小的问题,并查看如何模拟每个组件。(编译:Qtech)