由于密钥空间是有限的,只要运算时间足够,最终都能找到真实的密钥并破解算法。目前所讨论的密码算法的安全性都是构建在“计算安全”的基础上的。但是,一些具有前瞻性的科学家已经指出了这其中蕴含的风险。1994年,美国贝尔实验室的学者Shor指出,利用量子计算机能够在短时间内破解大整数分解的数学难题。这预示着,如果量子计算成为现实,大整数分解、离散对数乃至椭圆曲线等数学难题都不再“计算安全”。量子计算距离我们是否遥远?
常见的计算机算法都是基于二进制构建的,因为1比特的单位信息只有0和1两种状态。以二进制为基础的存储和运算,构成了现有算法的基本单元。在前述章节中,我们也以二进制为基础来分析密钥长度、破解复杂度等。在量子计算的世界里,故事完全不同。量子计算基于量子力学的机理,通过量子信息单元的状态变化实现信息的存储和运算。这种情况下,突破原有数字逻辑中0和1的两态限制成为可能。简言之,量子力学中的“量子比特”允许存在叠加态,其效果是将二进制中的每一个比特升维成 n 个量子比特,从而指数级地增加存储和运算能力。当然,将理论的可能性转化为计算机工程实践,还有很长的路要走。但一如既往地,创新的脚步只会加速。在Shor的研究基础上,人们开始加速推进量子计算机的研发和量子计算的具体算法。2011年,加拿大量子计算公司D-Wave发布了全球第一款商用量子计算机。近年来,全球诸多的研究机构和企业开始了对量子计算机和量子计算方法的探索。2015年,美国NSA正式发布了向抗量子密码算法迁移的通告;2016年8月16号,中国的量子科学实验卫星“墨子号”在酒泉卫星发射中心成功发射。这些标志性事件似乎向全世界宣告量子计算时代即将到来。
在量子计算来势汹汹的背景下,抗量子攻击密码算法的研究得到了许多关注。
抗量子攻击密码主要有四个技术方向,即基于哈希的密码体制、基于编码的密码体制、基于多变量的密码体制和基于格的密码体制。基于哈希的密码体制,其理论基础是哈希函数的碰撞性,该研究方向的主要课题是优化哈希签名的长度和算法的运行速度。基于编码的密码体制的主要框架由McEliece在1978年提出,它的基础是通信领域中常见的信道编码。该方向的基本思路是将明文看作一个编码的输入,然后给明文码字引入随机的错误 e ,然后将解密的过程建模为译码过程。基于编码的密码体制所遇到的主要挑战是公钥尺寸大、运算复杂度过高,这也是该方向未来的研究重点。基于多变量的密码体制近年来受到的关注较多。这类密码的数学基础是求解有限域上随机的非线性多变量方程组是困难的。这一类体制由于在有限域上进行运算,所以计算复杂度不高,但是随着变量数量的增加,密钥长度也会快速提高。基于格的密码体制是最重要、最有潜力的技术方向之一,目前没有算法可以借助量子计算对其格上的“最短向量”和“最近向量”困难问题进行求解。
诚然,上述密码体质都面临各自的难题和挑战,包括密码系统本身的完善、加/解密算法、签名算法和密钥管理等,也需要不断探索更短的密钥和更高效的计算。幸运的是,世界范围内许多主流的研究和标准化组织,以及知名企业都在积极开展抗量子攻击密码方面的研究探索。国际密码逻辑研究联合会在2006年就举办了以“后量子”时代的密码学为主体的国际会议,覆盖了后续各个主要的学术分支。欧洲电信标准化协会(ETSI)从2013年也开始组织该方向的专题会议和论坛。我国在2016年召开了首届亚洲抗量子密码论坛。预计以后抗量子攻击密码将会得到更多关注,进而实现技术上的快速发展。