Grain型序列密码算法的分析方法研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Grain型序列密码算法的分析方法研究
Grain系列算法是著名的基于非线性反馈移位寄存器的轻量级序列密码算法,包括Grain v1、Grain-128和Grain-128a,其中Grain v1是欧洲序列密码计划eSTREAM项目的胜选算法,Grain-128a是国际射频识别技术(RFID)的加密认证标准。
Grain系列算法采用了相似的设计结构,主体部分由两个同级移位寄存器串联(产生序列源)和一个非线性过滤函数构成。
从eSTREAM项目开始,国际密码学界在十年来对Grain系列算法的安全性一直保持高度关注。
但由于缺乏有效的分析方法等问题,Grainv1和Grain-128a的分析进展仍十分缓慢。
与此同时,作为eSTREAM项目硬件复杂度最低的胜选算法,Grainv1的串联结构模型已经广泛应用于轻量级密码算法的设计中。
例如,轻量级序列密码算法Sprout、Fruit、LIZARD、Plantlet以及轻量级Hash函数Quark系列均采用了两个寄存器串联的结构作为重要部件。
虽然轻量级密码算法的设计已成为工业界的迫切需求,如何设计安全强度高的轻量级密码算法仍是国际密码学界的公开挑战。
在这种情况下,Grain系列算法和其他使用串联结构模型的序列密码算法(统称为Grain型序列密码算法)的分析方法研究显得尤为迫切。
本文重点研究Grain型序列密码算法的分析方法。
针对Grain型序列密码算法不同的密钥规模、函数模型、初始化设计以及初始向量装载方案等,对条件差分分析、区分攻击、内部状态恢复攻击、以及差分错误分析等典型分析方法进行了系统的研究;利用这些分析方法,对Grain系列算法和LIZARD算法进行深入的安全性分析。
具体地,本文取得的创新性成果如下:1.通过细致研究Grainv1初始化过程的差分扩散规律,结合动态cube攻击简化输出函数的思想,本文针对Grainv1的条件差分攻击提出了新的差分轨迹追踪算法、输入差分选择方案,以及条件施加方案,增加了输出差分偏差提升策略,完善了条件差分攻击框架。
利用新的条件差分攻击对Grain v1实施攻击,最高可对110轮Grain v1获得15个密钥表达式的值。
这是目前针对Grain v1减轮版本攻击轮数最高的密钥恢复攻击。
2.虽然利用条件差分攻击可以取得Grain-128a目前攻击轮数最高的区分攻击,但已有的攻击模型无法恢复密钥信息。
这主要是因为Grain-128a拥有与Grain v1完全不同的函数模型。
针对这个问题,本文研究了 Grain-128a的函数模型对差分扩散的影响,在已有攻击方法上充分考虑了差分扩散的不同表现形式,提出了针对密钥恢复的有效输入差分的概念。
利用有效输入差分方法,首次提出了对Grain-128a基于条件差分分析的密钥恢复攻击,可以对169轮Grain-128a获得18个密钥表达式的值。
这是目前针对Grain-128a减轮版本攻击轮数最高的密钥恢复攻击。
3.本文针对Grain v1的区分攻击,提出了条件差分攻击中新的刻画输入差分对输出差分分布随机性影响程度的方法,并以此为衡量标准选取最优输入差分。
进一步,以提高区分概率为目的提出了新的条件施加方案。
利用新的区分攻击对Grain v1实施攻击,最高可将111轮Grain v1的输出差分分布与随机区分。
这是目前单密钥情形下针对Grain v1减轮版本攻击轮数最高的区分攻击。
4.通过深入研究Grain-128a密钥比特在初始化过程中对差分扩散的影响,进一步提出了弱密钥情形下对Grain-128a进行区分攻击的改进方案,最高可将195轮Grain-128a的输出差分分布与随机区分。
这是目前针对Grain-128a减轮版本攻击轮数最高的区分攻击。
5.BSW-sampling技术是一种高效构造和枚举特殊内部状态的方法。
如果得到序列密码算法较低的sampling resistance,则可以极大地改进TMDTO攻击的效果。
通过研究Grain v1密钥流生成阶段状态转移函数的特点,本文针对求取Grain v1的sampling resistance问题提出了基于动态控制内部状态比特的BSW-sampling技术,将Grain v1的sampling resistance进一步降低至2-29,得到了目前最好结果。
基于此结果,本文利用TMDTO方法给出了一系列针对Grain v1的折衷范围更广泛的内部状态恢复攻击。
与已有结果相比,本文的攻击具有更优的复杂度估计。
6.本文首次提出了基于求解方程组的BSW-sampling技术,将求取序列密码sampling resistance的问题转化成方程组的求解问题,突破了传统BSW-sampling技术一个时钟周期只能确定一个内部状态比特的限制,从而可以得到序列密码算法更低的sampling resistance。
与已有技术相比,该技术的使用范围更广泛。
利用新的BSW-sampling技术,本文将Grain-128a的sampling resistance求取问题成功地转化为线性方程组的求解问题,并且得到了目前关于Grain-128a的sampling resistance的最好结果,即2-50。
基于此结果,本文利用TMDTO方法给出了一系列针对Grain-128a的折衷范围
更广泛的内部状态恢复攻击。
与已有结果相比,本文的攻击具有更优的复杂度估计。
7.LIZARD是M.Hamann等人在2017年FSE上提出的Grain型轻量级序列密码。
本文首次给出了 LIZARD的差分错误分析。
具体地,提出了新的判断错误位置的方法,成功率接近1;而已有的判断错误位置方法应用于LIZARD的成功率小于0.6。
其次,利用错误密钥流与无错误密钥流列出关于内部状态的非线性方程组,并用SAT求解器求解。
结果表明,利用6组100比特密钥流,进行30次引入错误操作,SAT求解器可以在十多分钟求解出内部状态。
最后说明了 LIZARD比Grain v1更能抵抗差分错误分析。