NIST公布第3轮后量子密码算法后,格密码在公钥加密算法中占了3席。可见NIST对格密码的重视,也说明格密码本身的成熟度。
然而一个大家以为会在第3轮中胜出的格密码:NewHope公钥加密算法,却没有胜出。下面我们说说被NIST抛弃的格密码算法NewHope。
NewHope的性能
首先我们看看NewHope的性能,这也是大家最关注的。公钥长度、私钥长度以及密文长度如下(以字节为单位):
NewHope有两个安全等级:NewHope512和NewHope1024。凡是不说安全等级说性能的都是不专业的。NewHope512相当于101位等级安全,NewHope1024相当于233位等级安全。
对于101位等级安全,NewHope的密钥长度为869字节,小于1K,非常棒了。公钥长度为928字节,密文长度是1088,约为1K。可见NewHope的性能。
对于233位等级安全,NewHope的密钥长度为1.75M,公钥长度为1.78M,密文长度是2.14M。
这么好的性能为啥被毙了呢?
结构化特性引起的担忧
NewHope是基于RLWE困难问题的一种公钥加密算法(KEM)。其算法的核心来自于 Regev的LWE公钥加密思想。由于NewHope是建立在分圆多项式环上(次数为2的幂次),从而保证了较小的密文和密钥,以及通过NTT能够快速计算。
NewHope的CCA安全性是通过标准的Fujisaki-Okamoto变换获得的,并得到经典和量子随机预言模型中的证明支持。在所有提交给NIST的基于LWE的格算法方案中,NewHope(和其他RLWE方案)被认为是结构化程度最高的项目,其中MLWE是结构化程度中等的情况,一般LWE是结构化程度最低的情况。由于这种结构特性,使得其具有非常好的性能。但是也是问题所在。密码学希望没有结构可遵循。
从技术上讲,NewHope的安全性并不比KYBER(已胜出)的安全性好。最近的论文给出了从RLWE困难问题到MLWE困难问题的线性时间的归约。如果把该归约用于NewHope算法,则发现以下事实:
该归约输入RLWE实例将会输出MLWE实例,并且保持模、样本以及错误分布的不变。并将RLWE的环尺寸转换为MLWE的环维数与模秩的乘积。
这意味着对MLWE实例的任何攻击都意味着对NewHope的RLWE实例的攻击,其成本基本相似。还有一些其它小的警告。但是,NIST并不期望这些问题会实质性地改变NewHope和MLWE方案(如KYBER)的相对具体安全状况。
此外,NIST观察到,NewHope和KYBER的CoreSVP强度估算值差不多,并且在大多数基准测试中KYBER的效率稍高。特别是由于KYBER对代数结构化特性的降低,KYBER自然支持3类级别的安全强度参数集,而NewHope不支持。
尽管NewHope 公钥加密算法(KEM)提案具有许多优势,但对于KEM应用程序设置,NIST对KYBER和低阶的MLWE方案比RLWE方案更加偏爱。因此,NIST没有选择NewHope继续进行第三轮比赛。
以下是NewHope的一些其它参数:
格密链公司一直致力于全同态加密与区块链技术的研发。
公司网站:https://gemilian.github.io
陈智罡博士个人主页:
文章首发在微信公众号:btc201800知识星球ID:28018093音频发布在喜马拉雅上“区块链杂谈 (第2季)” http://xima.tv/Bjq4se解读区块链白皮书 http://xima.tv/RNU1Q8