NORX算法中非线性组件的移位参数选取准则研究*
2021-02-01沈璇,何俊
沈 璇,何 俊
(国防科技大学 信息通信学院,湖北 武汉 430010)
凯撒竞赛(Competition for Authenticated Encryption:Security,Applicability,and Robustness,CAESAR)[1]是由著名密码学家Bernstein发起的一项寻求安全高效认证加密算法的全球性活动。该竞赛得到了美国国家标准技术研究所 (National Institute of Standard and Technology,NIST)的大力支持。CAESAR于2014年开始,第一轮共收到了来自全球各个密码团队提交的57个候选算法,其中有29个候选算法进入了第二轮,15个候选算法进入了第三轮,并最终在2018年针对不同的应用场景评选出了7个获胜算法。NORX算法[2]是进入该竞赛第三轮的候选算法。
自NORX算法发布以来,许多密码学者从不同角度对其安全性进行了研究。Aumasson等[3]在Latincrypt 2014上首先分析了其内部置换函数的差分特性。进一步,Das等[4]给出了内部置换函数的高阶差分特性。接着,Bagheri等[5]在FSE 2016上给出了NORX置换函数缩减到2轮的密钥恢复攻击。后来,Biryukov等[6]在2017年给出了NOXR置换函数的一些非随机特性。最近,Chaigneau等[7]利用NORX算法置换函数的对称性质构造了唯密文伪造攻击和密钥恢复攻击。
在密码算法中,非线性组件的选择对于密码算法的安全强度具有至关重要的作用[8]。为了提高硬件的实现效率,NORX算法的唯一非线性组件采用异或、与和移位操作的组合来代替模加操作。在这种组合中,移位参数的选取具有十分重要的作用。为了研究的方便,称NORX算法中非线性组件移位参数任取的函数为可变移位函数。在NORX算法的设计文档中,设计者将移位参数选取为1,但是并没有从算法安全性的角度进行说明。因此,本文通过研究可变移位函数的密码学性质来探讨NORX算法中非线性组件移位参数的选取准则。……
