APP下载

关于Trivium-型序列密码代数次数估计的研究*

2021-03-19刘晨,田甜

密码学报 2021年1期
关键词:方法

刘 晨, 田 甜

战略支援部队信息工程大学, 郑州450001

1 引言

序列密码是对称密码的分支之一, 用于对传输数据的加密. 序列密码的加密方式为密钥流比特与明文比特异或加, 其中密钥流由密钥和公开的初始化向量生成. 目前面向硬件实现的序列密码都采用基于非线性反馈移位寄存器(NFSR) 的设计, 例如Trivium[1]、Grain[2]等. Trivium 是由de Cannière 和Preneel 设计的面向硬件实现的序列密码, 是欧洲序列密码征集项目eSTREAM 计划的胜选算法之一. 并且, Trivium 已经成为轻量级序列密码算法的国际标准(ISO/IEC 29192-3:2012)[3]. Trivium 由一个二次非线性反馈移位寄存器和一个线性过滤函数构成, 因其设计结构简单, 受到国际学者的广泛关注. 到目前为止, Trivium 可以抵抗已有的所有攻击方法. 受Trivium 设计的启发, 一系列Trivium-型密码算法被提出, 主要包括Kreyvium[4]和TriviA-SC[5].

对于Trivium-型算法, 立方攻击(cube attacks)[6]是最有效的攻击方法. 立方攻击是由Dinur 和Shamir 在2009 年欧密会上提出的一种选择IV 攻击. 在立方攻击中, 将输出的密钥流比特看成是关于密钥变元k 和IV 变元v 的可调布尔函数f(k,v), 其核心思想是在选定的IV 取值集合上对函数f 的输出求和从而对f 的代数正规型进行简化, 得到低代数次数的密钥变元方程. 自从立方攻击思想提出以后, 得到了一系列的发展, 包括实验立方攻击[6–10]、相关立方攻击[11]以及基于可分性质的立方攻击[12–15]等.在实验立方攻击中, 攻击者主要通过随机检测的方法对超多项式进行线性和二次检测. 受限于立方变量的维数, 对于Trivium 算法, 实验立方攻击的最高轮数为802 轮[9]. 在相……

登录APP查看全文

猜你喜欢

方法
中医特有的急救方法
高中数学教学改革的方法
化学反应多变幻 “虚拟”方法帮大忙
变快的方法
学习方法
用对方法才能瘦
最有效的简单方法
四大方法 教你不再“坐以待病”!
赚钱方法
捕鱼