论文部分内容阅读
公钥密码作为保护通信安全的重要方法,已深度嵌入到人们的日常生活中。传统公钥密码的安全性,建立在大整数分解问题以及椭圆曲线离散对数问题上。但随着量子计算机的发展,传统公钥密码的安全性不再坚不可摧。为了抵抗量子计算攻击,提出新一代后量子公钥密码的需求日益迫切。多变量公钥密码便是一种保证后量子通信安全的重要方法。同时,相对于其他后量子密码,诸如:基于格、Hash、编码的密码,多变量公钥密码还具有效率高、能耗低的特点。多变量公钥密码具有诸多好处,但也存在短板,其密钥通常较大,在具体应用时存在一定的限制。Wolf等人提出,多变量公钥密码算法的安全性,并不是由公钥多项式中所有二次项贡献的。此文利用这一性质,针对Rainbow算法提出一种改进算法:0/1 Rainbow算法。对于公钥中没有贡献安全性的二次项,令其系数在有限域GF?2?中取值,从而达到缩减公钥的目的。同时,在签名验证过程中,对于部分二次项,由于其系数在有限域GF?2?上,可以省去部分有限域乘法操作;并且,这些二次项系数的取值呈平均分布,需要执行的有限域加法操作也能减少一半,从而对签名验证过程起到一定的加速作用。实验数据显示,使用0/1 Rainbow算法,相对于Rainbow算法,公钥大小至少缩减一半,甚至更多;签名验证过程的耗时也至少能缩短一半以上。并且,随着参数规模的增大,效果越明显。相对于众多广泛使用的多变量公钥签名算法,高效且安全的多变量公钥加密算法却很少。2013年后量子密码会议上,Tao等人提出了一种多变量公钥加密算法:ABC算法。该算法在保证安全性的前提下,具有较高的效率。但该算法的密文明文长度比固定为2。针对这一情况,对ABC算法进行改进,提出Cubic AB算法。在Cubic AB算法中,选用一个扁平的矩阵来取代ABC算法中的两个方阵B、C。通过调控扁平矩阵的维度,进而达到调节算法密文明文长度比的目的。同时,用随机二次多项式来构成矩阵A的元素,让算法的安全性建立在三次方程组求解问题上,进一步提高算法的安全性。最终,算法能够灵活改变密文明文长度比,还可以抵抗秩攻击;并且随着安全性的提高,密文明文长度会相应缩减,解密过程也随之加快。