量子时代要如何拯救密码?密码在信息社会密码与战争有着密不可分的关系|量子时代要如何拯救密码?( 二 )

】以RSA密码系统为例 , 我们依靠它来保护大量数据 , 从信用卡详细信息到国家机密 , 它基于一个被称为因子分解的陷门(加密算法) 。 这个算法涉及到两个素数(素数保密)和这两个素数的乘积(乘积是公开的) 。 任何人都可以使用公开的大数(即乘积)来发出秘密消息 , 但是只有知道那两个素数的人才能阅读消息 。 如果不知道两个素数 , 打破此加密的唯一方法是选择一对数字 , 将它们相乘 , 看看结果是否与目标匹配 。 如果没有 , 选择另一对并再试一次 , 再一次 , 再一次……由于计算量非常大 , 这个试数的过程非常费力 , 这保证了RSA系统的安全性 。
另一个目前正在使用的陷门体制——椭圆曲线代码会稍稍有些抽象 。 你将从一个方程等式开始 , 该等式在图表上绘制时将创建特定类型的曲线 。 一系列简单的操作描述了曲线上点之间的运动轨迹 , 该方法的加密能力来源于此 。 如果你只知道起点和终点 , 你将很难搞清楚两点之间的运动轨迹 。
量子时代如何拯救密码?
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置 。 经典计算机中一比特只能处于1或0的两种二进制状态之一 , 且经典计算机的时序逻辑是线性不可逆的 。 而基于量子力学规律的量子计算机基本存储单位是量子比特 , 量子比特可以利用量子的叠加特性 , 同时拥有1和0两种状态 , 并且量子逻辑门是可逆的 , 可以知道之前的逻辑状态 。 在量子比特具有相干性的前提下 , 每增加一比特(或量子比特) , 经典计算机只增加一个状态 , 而量子计算机增加一倍的状态 , 这使得计算机的计算处理能力得到了极大的提高 。
因子分解和椭圆曲线是目前最为常用的加密算法 , 而且也一直表现得不错 。 但是当我们构建出基于量子物理学定律的计算机时 , 计算机的处理能力会出现指数型的飞跃 , 问题就会出现 。 虽然第一台量子计算机还没有正式启动和运行 , 但近年来的进展为我们敲响了警钟 , 我们不能只满足于现在的加密算法了 。 麻省理工学院数学家彼得·绍尔创造了一种以他的名字命名的新算法 , 该算法可以使量子计算机发挥它在解决因子分解问题上的能力 , 从而破解传统的网络加密算法 。
量子时代要如何拯救密码?密码在信息社会密码与战争有着密不可分的关系|量子时代要如何拯救密码?
文章图片
没有人知道我们还要多久才能看到计算机有足够的量子比特来使用绍尔算法 。 加拿大滑铁卢量子计算研究所的米歇尔·莫斯卡估计了这种可能性 , 他认为到2027年有1/6的概率 , 量子计算机将有能力破坏RSA和椭圆曲线密码系统 , 并且到2031年将有1/2的机会发生这种情况 。 这些都促使我们“必须立即采取行动”!
但是我们该怎么做呢?在还没有一台功能完整的量子计算来测试算法的时候 , 我们怎么设计出可以抵抗量子计算机的加密系统?我们已经对量子计算机的功能有了一个很好的了解 , 因此解决方案很简单:建立一个非常复杂的数学算法 , 来保证量子计算机甚至一台顶级量子计算机都无法破解它 。
美国国家标准技术研究院的后量子密码小组举办了一次新加密算法竞赛 , 参与竞赛的团队在向后量子加密小组提交了自己的设计后 , 便想方设法地破解其他团队的密码 , 以证明自己的设计是最安全的 。 如果我们找到一种能够避开所有攻击的算法 , 那么它将成为21世纪最完美的“科技锁” 。 但对于所有的参与竞赛的人来说 , 他们心中都有着这样的质疑:自己的算法是否真的有可能超越量子计算机?