论文部分内容阅读
公钥密码学,又称之为非对称密码学,一般的公钥密码学算法都是基于在数学上的某个困难问题而设计的。目前,流行的公钥密码学算法都基于3类问题:(1)大整数分解问题(RSA);(2)离散对数问题(El-Gamal);(3)基于椭圆曲线的离散对数问题(ECC);就目前来说,这些密码学算法都可以达到要求的安全标准,并且在实际生活中应用广泛。但是随着量子计算机概念的提出与发展,根据Shor算法等,这些算法都可以在不远的将来被量子计算机在多项式内攻破。因此,为了应对将来成熟的量子计算机的出现,寻找可以抵抗量子计算机攻击的密码学算法显得十分重要。在后量子密码学中,主要的方向有:1)基于格的密码(Lattice-based);2)基于哈希的密码(Hash-based);3)基于编码(纠错码)的密码(Code-based);4)多变量公钥密码学(Multivariate Public Key Cryptography);本篇文章的研究着重于多变量公钥密码学(简称MPKC),它的安全性基于在有限域上求解一组随机的多个变量的二次或多次的方程是NP难解的困难问题。量子计算机在当前并不能在有效时间内对NP难解问题进行求解。通常,MPKC算法都具有计算上高效的特点,利于在计算能力有限的设备上(如微处理器,RFID)实现。此外MPKC算法也会存在公私钥存储过大,且大多数算法模式都存在安全缺陷,缺乏严格的安全证明等等。本文就当前非常流行的MPKC签名算法:UOV, Rainbow作为主要的研究对象,在保证其安全性的同时,同时提出这两个算法在公私钥存储以及签名生成效率上改进的方案。模式的优化主要有下面的几个:首先,通过在第一层添加了一些对应的二次项,给Rainbow添加了一些变量变换。这样的构造在抵抗最小秩攻击时,具有更高的安全性。最小秩攻击是一个非常流行的攻击算法,同时也是第一个攻破原始Rainbow的攻击算法。在对最小秩攻击相同的安全级别下,本文的Rainbow构造拥有更小的密钥(公钥和私钥)。其次,通过在最后两层添加最后一层油变量之间的二次项构造了一个新的Rainbow变种。这个构造主要是用来抵抗彩虹带分离攻击(RBS攻击)。进一步地,在把所有的已知的攻击都考虑进来后,在要求的安全级别下制定了相关的参数组。本文的新Rainbow变种相比原来的模式在存储上有明显的优势。最后,受到前人关于缩短Rainbow以及UOV公钥存储以及减小Rainbow私钥还有提高其签名效率的成果的启发,文章将提出两种新的构造UOV的方法,这两个方案在私钥存储以及签名效率上相对普通的UOV的都有很大的改进。