李艳俊, 孙启龙, 欧海文, 汪 振
1. 北京电子科技学院, 北京100070
2. 密码科学技术国家重点实验室, 北京100878
近年来, 为满足RFID (radio frequency identification)、智能卡、无线传感器等资源受限环境下的安全需求, 轻量级密码随之诞生, 而后倍受关注. 许多密码学者提出一系列轻量分组密码算法, 如PRESENT[1]、LED[2]、LBlock[3]、PRINT-cipher[4]、KLEIN[5]和SIMON[6]等.
MIBS[7]是一个轻量级分组密码算法, 由Izadi M 等人在CANS 2009 会议上提出. 针对MIBS 分组密码算法的现有分析结果包括线性分析[8]、积分分析[9]、差分分析[8]和不可能差分分析[10]等. 目前对于MIBS-64 最好的分析结果是14 轮差分分析[8], 数据复杂度为240个选择明文, 数据复杂度为237.2, 成功概率为50.15%; 对于MIBS-80 最好的分析结果是18 轮线性分析[8], 数据复杂度为260.98个已知明文,时间复杂度为276.13, 成功概率为72.14%. 虽然差分分析和线性分析的轮数较高, 但是成功率相对积分分析偏低.
积分分析是由Square 攻击发展而来的, Square 攻击[11]是对AES 最有效的攻击之一. 近年来, 积分分析广泛发展,已经应用于很多密码算法,如Rijndael[12]、ARIA[13]、Serpent[14]、AES[15]、Simeck[16]、TWINE[17]、Camellia[18,19]等. 2016 年, 随着可分性自动化搜索工具的逐渐成熟[20,21], 积分分析又一次占据了分析方法的主导位置. 于晓丽等人都对MIBS 算法进行了10 轮积分分析[9,22]. 本文基于MIBS-64 算法的密钥编排特点, 给出一类5 轮积分区分器, 并前向和向后分别扩展3 轮, 首次对MIBS-64 算法进行了11 轮的积分攻击, 攻击数据复杂度为258, 时间复杂度为259.75次11 轮加密, 攻击成功概率为100%.
MIBS 算法整体结构使用传统的Feistel 结构[1], 轮函数采用SPN 结构, 其分组长度为64 比特, 支持64 和80 比特的密钥长度, 分别记为MIBS-64 和MIBS-80, 迭代轮数为32 轮. MIBS 中……