LiCi密码的差分故障攻击
2021-04-24陈伟建罗皓翔
陈伟建,罗皓翔
LiCi密码的差分故障攻击
陈伟建1,罗皓翔2
(1. 电子科技大学信息与通信工程学院,四川 成都 611731;2. 电子科技大学格拉斯哥学院,四川 成都 611731)
LiCi轻量级分组密码算法是2017年提出的一种新型密码算法,其具有结构微小、消耗能量少等优点,适用于物联网等资源受限的环境。在LiCi的设计文档中,对该算法抵御差分攻击和线性攻击的能力进行了分析,但LiCi算法对于差分故障攻击的抵抗能力尚未得到讨论。针对LiCi算法每轮迭代的移位规律,在第31轮迭代时的左半侧多次注入单比特故障,结合其差分性质,可以恢复32 bit长度的轮密钥。根据LiCi算法的密钥编排方案,再对第30、29、28、27、26轮迭代进行同样的差分故障攻击,最终可以恢复全部原始密钥。该攻击共需要48个单比特故障,计算复杂度为232,说明LiCi算法难以抵抗差分故障攻击。
LiCi密码;轻量级分组密码;差分故障攻击;故障模型
1 引言
轻量级分组密码算法因其结构较为简单、加解密速度快、消耗计算资源较少且利于软硬件实现等特点,被广泛应用在物联网终端中,如RFID、无线传感器网络(WSN)、智能卡等计算资源受限的终端设备。针对这些设备信息安全保护、传输的需求,众多学者提出了许多低成本、低能耗的轻量级密码算法,如HIGHT[1]、PRESENT[2]、GIFT[3]、SPECK[4]、SMS4[5]等,这些算法具有扩散快速、加解密一致、易于实现等特点。
2017年,Patil等[6]提出了一种新的轻量级分组密码算法LiCi。该算法采用了平衡Feistel结构,在LiCi算法的单轮加密结构中,S盒可以影响到左右两支,相比于普通的Feistel结构分组密码算法具有更快的扩散性,能够在较少的轮运算下产生数目最多的活跃S盒。……
