参考链接:QC特刊丨ARM关于后量子密码技术白皮书
量子计算机是现今唯一能指数级加速算法的硬件,其与传统计算机架构完全不同,
破解复杂度随着密钥长度的增加是指数级上升的,所以目前的RSA1024依然被冉伟是相对安全的,RSA-2048被认为是绝对安全的。
计算机破解RSA依赖穷举,1994年Shor算法提出,利用量子算法可以大大加速RSA的破解,量子计算将时间负责度为指数级的算法,变成了时间复杂度为O(N),空间复杂度为O(N)的算法。虽然量子计算机在十几年内仍无法得到应用,但是其出现危害极大,所以现在进行加密研究时,会针对量子计算的解密能力进行评估。
量子计算不能解决经典计算机不能解决的数学难题,并且量子计算能解决的问题是有局限性的,
经典问题不一定能利用量子计算机解决(其优势在于依靠状态叠加来穷举)。量子计算固然速度快,但是如果把这些数据存入导出是严峻的问题。并且量子计算存在噪声影响,所以可纠错的量子计算机才具有商用价值(换句话说,量子计算机在未来相当长的一段时间内都没有商用价值)。
与量子计算配套的算法和软件都需要重新设计,会是崭新的方向。
实现量子计算的六大难关:
经典计算机和量子计算机的主要区别之一在于它如何处理系统中不想要的小变化或噪声。因为一个经典比特要么是1,要么是0,即使该值稍微偏离(系统中的一些噪声),对该信号的运算也很容易去除该噪声。事实上,经典门运算在比特上用于创建计算机,具有非常大的噪声裕度——它们可以拒绝输入中的大变化,并且仍然产生干净、无噪声的输出。但由于量子位可是1和0的任意组合,所以量子位和量子门不能轻易地拒绝物理电路中出现的小错误(噪声)。结果是,在产生期望的量子运算或耦合到物理系统中的任何杂散信号时的小误差,最终会导致在计算中出现错误的输出。因此,对于在物理量子位上运算的系统,最重要的设计参数之一是它们的错误率。低错误率很难实现;即使在2018年年中,在具有5个或更多个量子位的系统上进行2量子位运算的错误率也超过几个百分点。
尽管物理量子位运算对噪声敏感,但在物理量子计算机上运行量子纠错(quantum error correction ,QEC)算法以仿真无噪声或“完全纠错”的量子计算机是可能的。如果没有QEC,一个复杂的量子程序,比如实现肖尔算法的程序,就不可能在量子计算机上正确运行。虽然QEC对将来创建无错误的量子计算机必不可少,但其过于资源密集,在短期内无法使用,量子计算机在短期内可能存在错误。这类机器被称为有噪声的中尺度量子(NISQ)计算机。
虽然量子计算机可使用少量的量子位来表示指数级更大的数据量,但目前还没有一种方法将大量经典数据快速转换为量子状态(如果数据能以算法方式生成,则不适用)。虽然有人建议量子随机存取存储器(QRAM)可以执行这一功能,但还没有实现。对于需要大量输入的问题,创建输入量子态所需的时间量通常将支配计算时间,并且极大地降低量子优势。
为了实现量子计算机的好处,量子算法必须利用独特的量子特性,如干涉和纠缠,以获得最终的经典结果。因此,实现量子加速需要全新的算法设计原理和非常巧妙的算法设计。量子算法的发展是该领域的一个关键。
与所有计算机一样,构建有用的设备要比创建和调试特定于QC的软件所需的硬件工具复杂得多。由于量子程序不同于经典计算机程序,需要研究和开发软件工具栈。由于这些软件工具驱动硬件,硬件和软件工具链的同时开发将缩短有用量子计算机的开发时间。
调试量子硬件和软件的方法至关重要。当前经典计算机的调试方法依赖于内存和中间机器状态的读取。这两种方法在量子计算机中都不可能。量子态不能简单地被复制(根据所谓的非克隆定理)以供随后研究,任何对量子态的测量都会将其折叠为一组经典比特,从而使计算停止。发展新的调试方法是开发大型量子计算机所必需的。