APP下载

流密码Grain-128密钥恢复攻击及改进

2016-06-08汤永利李子臣

计算机应用与软件 2016年5期

汤永利 韩 娣 李子臣,2

1(河南理工大学计算机科学与技术学院 河南 焦作 454000)2(北京电子科技学院 北京 100070)



流密码Grain-128密钥恢复攻击及改进

汤永利1韩娣1李子臣1,2

1(河南理工大学计算机科学与技术学院河南 焦作 454000)2(北京电子科技学院北京 100070)

摘要流密码Grain-128是Grain v1算法的密钥增长版本。为探讨流密码Grain-128的安全性,指出Grain-128密钥流生成器的3个布尔函数的设计缺陷,在此基础上给出流密码Grain-128一种基于密钥流生成器中间内部状态的密钥恢复攻击。该攻击的计算复杂度和空间复杂度都为O(256)。为了抵抗该攻击,对Grain-128密钥流生成器的设计进行了改进。安全性分析表明,改进后的流密码Grain-128能够抵抗所提出的密钥恢复攻击。

关键词流密码Grain-128密钥恢复攻击密钥流生成器布尔函数

0引言

为了加大推进流密码的研究,2004年欧洲启动流密码征集项目eSTREAM工程[1]。主要目的是收集安全快速的流密码算法,eSTREAM工程一共收集了34个序列密码算法。经过连续3个阶段的连续评选,选出4个面向硬件实现的算法和4个面向软件实现的算法。因为适合硬件实现的算法F-FCSR-H已被破译,现在还有7个算法。

Grain 算法是由Martin Hell等人设计的一种流密码算法,也是eSTREAM工程最终评选的3个面向硬件实现的流密码算法之一。Grain v1版本的密钥长度为80比特,初始向量(IV)为64比特,初始化160个时钟周期后产生密钥流[2]。为提高Grain v1算法的安全性,文献[3]设计了Grain-v1的密钥增长版本—Grain-128,其密钥长度为128比特,初始向量为96比特,具有更高的安全性;文献[4]首次提出了利用Grain-128的布尔函数来进行密钥恢复攻击;……

登录APP查看全文