设计应用

轻量级序列密码研究进展

作者:王明兴1,2,苗三立1,朱明佳1
发布日期:2020-12-17
来源:2020年信息技术与网络安全第12期

0 引言

    序列密码是一种对称密码算法,即加密密钥和解密密钥是相同的。序列密码的经典结构包括两个部件:驱动部件和密钥流输出部件,驱动部件通过迭代运算更新内部状态,输出部件抽取一部分内部状态的比特值,经过复杂运算产生密钥流。加密时,密钥流和明文异或产生密文,解密时,密钥流和密文异或产生明文。通俗地讲,序列密码算法可以认为是分组密码的密钥扩展算法。

    序列密码的一个结构特点是必然有内部状态,这使序列密码容易受到时间存储折中攻击(Time Memory Data Tradeoff,TMD),为了抵抗这种攻击,通常要求序列密码的内部状态的长度至少是密钥长度的两倍,例如序列密码Grain[1]、Grain-128a[2]系列密码算法,它们的内部状态是密钥长度的两倍,而Trivium算法[3]的内部状态大于密钥长度的两倍。这导致序列密码在硬件实现时所占用的硬件资源代价过大,例如Trivium算法的硬件面积是2 580门,不适用于资源受限、低功耗、物联网等新的应用场景。

    为了既能抵抗TMD攻击,又能减小内部状态的长度,研究人员最近几年提出了“小状态轻量级序列密码研究。那些能够抵抗TMD攻击且内部状态的长度小于密钥长度的两倍的轻量级序列密码,称为小状态轻量级序列密码(Small State Lightweight Stream Cipher)。

    本文介绍了四个小状态的轻量级序列密码算法,依次是Sprout[4]、Fruit-80[5]、Plantlet[6]、Lizard[7];主要介绍它们的设计理念和最新的分析结果,来发现存在的问题,总结研究成果,促进小状态的轻量级序列密码的研究。




本文详细内容请下载:http://www.chinaaet.com/resource/share/2000003219




作者信息:

王明兴1,2,苗三立1,朱明佳1

(1.中国电子信息产业集团有限公司第六研究所,北京102209;2.密码科学技术国家重点实验室,北京100878)

此内容为AET网站原创,未经授权禁止转载。
小状态 轻量级序列密码 轮密钥函数 时间存储折中攻击