对简化版LBLock算法的相关密钥不可能差分攻击

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(信息工程大学电子技术学院
要:LBLOCK 是吴文玲等人于 2011 年设计的一种轻量级密码算法。该文利用一个特殊的相关密钥差分特征,
对 19 轮的 LBlock 算法进行了相关密钥不可能差分攻击,攻击的计算复杂度为 O ,所需要的数据量为 264。进 一步,提出了一种针对 21为 263。 关键词:密码分析;LBlock 算法;相关密钥攻击;不可能差分 中图分类号:TN918.1 DOI: 10.3724/SP.J.1146.2012.00201 文献标识码: A 文章编号:1009-5896(2012)09-2161-06
第 34 卷第 9 期 2012 年 9 月
电 子 与 信 息 学 报 Journal of Electronics & Information Technology
Vol.34No.9 Sept. 2012
对简化版 LBLock 算法的相关密钥不可能差分攻击
詹英杰

*
关 杰
丁 林
郑州
张中亚
450004)
2012-03-02 收到,2012-05-08 改回 通信保密重点实验室基金 (9140C110202110C1101) 和全军军事学研 究生课题基金(2010JY0263-149 )资助课题 *通信作者:詹英杰 zhanyingjie1220@
算法的设计理念,采用非线性移位寄存器,利用S 盒变换和循环移位生成轮密钥。这种设计可以提高 算法抵抗相关密钥攻击的能力,同时具有良好的实 现性能。 设计者在文献[6]中给出了算法的安全性分 析,指出15轮LBlock算法的最大差分特征路径概率 小于等于 ,而算法的分组长度只有64 bit,说明 不存在15轮的有效差分路径。对于线性分析,15轮 算法的最大线性逼近优势小于等于 ,考虑到线 性攻击的复杂度,15轮算法不存在可以利用的有效 线性逼近将算法与随机置换区分开来。设计者还利 用14轮的最大不可能差分路径,对19轮的算法进行 了不可能差分攻击,数据复杂度为 O ,计算复 杂度为 O 。对于积分攻击,找到的最大积分路 径是15轮,基于15轮积分区分器可以给出20轮算法 的积分攻击,攻击的数据复杂度为 O ,计算复 杂度为 O 。最后,设计者还评估了LBlock算法 对相关密钥攻击的安全性,指出14轮相关密钥差分 路径有32个活动S盒,概率为 ,所以无法对14轮 的算法进行相关密钥攻击。 相关密钥攻击是由 Knudsen[8]和 Biham[9]各自 独立提出的,主要思想是利用密钥扩展算法的某些 性质,通过分析不同密钥之间的某些关系对加密结 果造成的影响来得到密钥信息,这种攻击方法在分 组密码的分析中得到了广泛的应用。相关密钥攻击
表1 加密时的相关密钥差分特征
其中 S 表示混乱函数,P 表示扩散函数。 (b)混乱函数 S S 函数包括 8 个 的 S 盒, 详细见图 2,定义如下: S
Y Y Y Y Y Y Y Y Y
中,需要两个具有某种关系的相关密钥和几个明密 文对等数据,攻击者只知道两个密钥之间的关系, 并不知道密钥本身。本文利用相关密钥与不可能差 分相结合的方法, 首次对 LBlock 算法进行了相关密 钥不可能差分攻击。
2
LBlock 轻量级分组密码算法介绍
2.1 LBlock 加密算法 LBlock 算法采用类 Feistel 结构, 分组规模为 64 bit ,密钥长度为 80 bit ,迭代圈数为 32 轮。用 P X X 表示 64 bit 明文,则加密过程如图 1 所 示。
X K i U P S X K i
3 针对 19 轮 LBlock 算法的相关密钥不可能 差分攻击
LBlock 算法密钥扩展算法中第 1 轮的子密钥是 直接从初始密钥中截取的,没有经过 S 盒的变换, 如果在这些位置存在密钥差分,经过 1 轮加密后, 密钥差分不变并且活动 S 盒的个数没有增加。利用 这一点可以通过选择特定的相关密钥差分与明文差 分相互抵消,以减少活动 S 盒的个数来得到尽可能 长的差分传递链,并且该密钥扩展算法的一个密钥 差分两次经过 S 盒的间隔轮数较大,造成活动 S 盒 的个数增长较慢。本文正是利用这些特点对 LBlock 算法进行了攻击。 下文中 K i K i kk k 表示的是存储密钥 的 80 bit 寄存器的内部状态, K i j 表示的是 K i 的第 j 个 4 bit 字,其中 K i 的最右端为第 0 个字。 考虑到令活动 S 盒的个数尽可能的少,以使相 关密钥差分链的轮数更多,本文选择以下的差分, 达到较好的效果。当 K 时, 算法进行到第 11 轮时, 密钥差分经过 s 变换后, 4, 5, 12, 13, 14, 15。 所以当 K 的可能值有 6 个: K ,而输入差分为(00000000,80000000)时, 算法有表 1 所示的差分特征:
2162
电 子 与 信 息 学 报
s2 s3 s4 s5 s6 s7 s8 s9
第 34 卷
1, 14, 7, 12, 15, 13, 0, 6, 11, 5, 9, 3, 2, 4, 8, 10 7, 6, 8, 11, 0, 15, 3, 14, 9, 10, 12, 13, 5, 2, 4, 1 14, 5, 15, 0, 7, 2, 12, 13, 1, 8, 4, 9, 11, 10, 6, 3 2, 13, 11, 12, 15, 14, 0, 9, 7, 10, 6, 3, 1, 8, 4, 5 11, 9, 4, 14, 0, 15, 10, 13, 6, 12, 5, 7, 3, 8, 1, 2 13, 10, 15, 0, 14, 4, 9, 11, 2, 1, 8, 3, 7, 5, 12, 6 8, 7, 14, 5, 15, 13, 0, 6, 11, 12, 9, 10, 2, 4, 1, 3 11, 5, 15, 0, 7, 2, 9, 13, 4, 8, 1, 12, 14, 10, 3, 6 图 2 LBlock 算法中使用的 S 盒
图 1 LBlock 算法的加密流程
2.2 LBlock 解密算法 解密算法是加密算法的逆过程: (1)对 i ,计算 X i F X i K i X i ; (2)输出 P X X 为 64 bit 明文。 2.3 密钥扩展算法 将 80 bit 密钥 K kk k k 存入寄存器, k 存入最右端, k 存入最左端。取最左端的 32 bit 密 钥作为轮密钥 K ,然后执行如下操作: 对i ,进行 (1) K ; (2) kkkk s kkkk , kkkk s kkkk ; (3) k k k k k i ; (4)取寄存器最左端 32 bit 密钥作为 K i 。
(1) 对 i , 计 算 X i F X i K i Xi ; (2)输出 C X X 为 64 bit 密文。 其中各个模块定义如下: (a)轮函数 F F
Y Y Y Y Y Y Y Y Y
Y Y Y Y Y Y Y Y
s0 s1 14, 9, 15, 0, 13, 4, 10, 11, 1, 2, 8, 3, 7, 6, 12, 5 4, 11, 14, 9, 15, 13, 0, 10, 7, 12, 5, 6, 2, 8, 1, 3
s Y s Y s Y s Y s Y s Y s Y s Y
(c)扩散函数 P P
Related-key Impossible Differential Attack on Reduced Round LBlock
Zhan Ying-jie Guan Jie Ding Lin Zhang Zhong-ya
(Electronic Technology Institute, Information Engineering University, Zhengzhou 450004, China) Abstract: LBlock is a lightweight block cipher designed by Wu Wen-ling et al. in 2011. In this paper, a specific related-key differential is uesd to attack 19-round LBlock. The attack finds all the 80 bit keys in O 19-round encryptions.The data complexity is 264 chosen plaintexts. Further more, a related-key impossible differential attack to 21-round Lblock is proposed. With 263 chosen plaintexts, the computing complexity of the attack is about O 21-round encryptions for obtaining key. Key words: Cryptanalysis; LBlock cipher; Related-key attack; Impossible differential
1
引言
近年来随着 RFID 、无线传感等技术的广泛应 用, 轻量级分组密码成为了密码学的一个研究热点, 国际标准化组织正在制定轻量级密码算法的相关标 准,包括轻量级分组密码,序列密码,杂凑算法等。 与传统的分组密码相比,轻量级分组密码多用于资 源受限的应用环境,它们的应用组件不是高性能计 算机,而是计算能力有限的嵌入式系统,而且往往 用于存储的空间较小。因此轻量级分组密码处理数 据的规模通常较小,安全性要求不是很高,多采用 硬件实现,对于算法的实现效率有很高的要求。正 是源于对这种应用于资源受限环境的密码算法的需 求 , PRESENT[1], HIGHT[2], MIBS[3], KATAN& KTANTAN[4], TWIS[5], LBlock[6], LED[7]等一系列 轻量级分组密码算法被设计出来。 LBlock 密码算法是由 Wu 等人 [6] 于 2011 年提出 的轻量级分组密码算法,设计时考虑了实现代价、 实现效率和算法安全性等多方面因素。算法采用类 Feistel结构,密钥扩展算法的设计借鉴了PRESENT
相关文档
最新文档