ImageVerifierCode 换一换
格式:PDF , 页数:6 ,大小:1.34MB ,
资源ID:200730      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/200730.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SLIM算法的9轮不可能差分分析_郑会超.pdf)为本站会员(哎呦****中)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

SLIM算法的9轮不可能差分分析_郑会超.pdf

1、第 30 卷 第 4 期北京电子科技学院学报2022 年 12 月Vol.30 No.4Journal of Beijing Electronic Science and Technology InstituteDec.2022SLIM 算法的 9 轮不可能差分分析郑会超 魏锦鹏北京电子科技学院,北京市 100070摘 要:近年来,随着射频识别(RFID)技术和无线传感器网络(WSN)的迅速发展,低功耗设备在生活中有了广泛的应用。轻量级分组密码具有效率高、功耗低、资源需求少等优点,便于在硬件和软件上实现。因此,它可以为物联网和资源受限环境提供安全保障。SLIM 算法是 Aboushosha等人

2、在 2020 年提出的一种新的轻量级分组密码。本文采用不可能差分攻击对 SLIM 算法的安全性进行分析。首先,根据 SLIM 算法的结构特征,构造一条 6 轮不可能差分路径。然后,在不可能差分路径的基础上添加 1 轮前置路径和 2 轮后置路径,对 9 轮 SLIM 算法进行不可能差分攻击。研究结果表明:攻击 9 轮 SLIM 算法所需的数据复杂度约为 229选择明文数据量,所需的时间复杂度约为 255.83次 9 轮 SLIM 加密。关键词:SLIM;不可能差分;区分器中图分类号:TP309 文献标识码:A文章编号:1672-464X(2022)4-48-53 作者简介:郑会超(1995-),

3、男,硕士研究生,研究方向:分组密码的不可能差分分析。E-mail:3499394988 魏锦鹏(1995-),男,硕士研究生,研究方向:分组密码的安全性研究。引言 分组密码是最成熟的密码分支之一,具有速度快、易于标准化和便于软硬件实现等特点,是一种非常重要的加密方案。分组密码作为信息与网络安全中实现数据加密、消息鉴别及密钥管理的核心密码算法,在计算机通信和信息系统安全领域有着广泛的应用。近年来,随着物联网的发展,无线传感器网络(WSN)和无线射频技术(RFID)的应用越来越广泛,它们具有硬件制造、维护成本低,网络健壮性、自组织性强,适用性广泛的特点,已成为物联网应用的关键组成部分。WSN 和

4、RFID 基于无线网络传输信息,攻击者更加容易获得、干扰甚至破坏信息传输。由于物联网上使用的微型计算设备计算能力有限,人们开始越来越关注轻量级分组密码算法的研究来保证信息的安全1。轻量级分组密码算法作为一种特殊的分组密码算法,它们在硬件实现、加密速度、运行功耗等方面与 AES 等传统分密码相比有明显的优势,更适合物联网微型计算设备使用。在这种情况下,大量轻量级分组密码算法被研究出来,其中比较典型的有 Lblock2,LED3,PRESENT4,SIMON5,Midori6,SKINNY7,HIGHT8,SIMECK9等。一个密码算法能够被广泛应用不仅应具有较高的实现效率,更重要的是保证算法的安

5、全性。然而,密码设计者在设计密码算法过程中,有时会追求高效性导致安全性降低,因此,采用多种密码分析方法去分析算法的安全性是很有必要的。目前轻量级分组密码分析方法主要包第 30 卷SLIM 算法的 9 轮不可能差分分析 括线 性 分 析10、差 分 分 析11、截 断 差 分 分析12、不可能差分分析13、积分分析14、相关密钥分析15、Biclique 分析16等。2020 年,Aboushosha 等人提出了一个新的轻量级分组密码 SLIM17。Aboushosha 等人表明,SLIM 算法能有效抵抗差分分析和线性分析,并给出了 7 轮差分路径和 11 轮线性路径。目前还没有文献对 SLIM

6、 算法进行不可能差分分析,本文试图对 SLIM 算法进行不可能差分分析,以进一步评估其安全性。本文充分利用了 SLIM算法轮函数的具体细节,特别是挖掘非线性组件S 盒的差分性质,并结合 P 置换设计,利用差分方程求解的方法构造出 SLIM 算法的 6 轮不可能差分区分器。进一步,本文利用构造的区分器攻击了 9 轮 SLIM 算法,攻击的数据复杂度为 229个选择明文,时间复杂度为 255.83次 9 轮加密。1 SLIM 算法简介1.1 SLIM 算法的整体框架SLIM 算法整体采用 Feistel 结构,轮函数采用类似于 PRESENT 算法的 SP 结构,其中 S 盒为 4 比特,P 置换

7、采用 16 比特的比特拉线设计。SLIM 算法的分组长度为32 比特,密钥长度为80比特,算法总轮数为 32 轮。该算法的整体加密流程如图 1 所示。在加密时,将 32 比特的分组数据分为左右各 16 比特,即左支 Li和右支 Ri均为 16 比特。若一轮迭代的输入为(Li,Ri),输出为(Li+1,Ri+1),则有:Li+1=Ri;Ri+1=LiF(Ri,Ki),其中,Ki表示第 i 轮的轮密钥,F 表示轮函数。1.2 SLIM 算法的轮函数SLIM 算法轮函数 F 的加密流程由轮密钥加、S 层和 P 置换 3 部分组成,如图 2 所示。轮密钥加:分组加密数据的右支 Ri与第 i轮的轮密钥

8、Ki进行逐比特异或。S 层:由 4 个相同的 4 比特 S 盒并行加密,SLIM 算 法 中 的 4 比 特 S 盒 与 国 际 标 准图 1 SLIM 算法的加密流程图 2 SLIM 算法轮函数 F 的加密流程PRESENT 算法的 S 盒相同,如表 1 所列。表 1 SLIM 算法的 S 盒x0123456789ABCDEFSC56B90AD3EF84712P 置换:按照比特拉线设计,即 16 比特数据按照表 2 的规律进行比特置换。在表 2 中,输入的第 i 比特经过 P 置换后变为第 P(i)比特。表 2 SLIM 算法的 P 置换x0123456789ABCDEFP7D18BE254

9、AF0369C在研究不可能差分区分器的构造时,由于轮密钥不影响差分的传播,因此本文不详细介绍SLIM 的密钥扩展算法,具体细节见文献17。94北京电子科技学院学报2022 年2 SLIM 算法的 6 轮不可能差分区分器 构造尽可能长的不可能差分区分器是不可能差分分析的核心。本节首先挖掘 SLIM 算法 S盒的具体细节,给出一个关于 S 盒的差分性质;然后利用该性质,结合 P 置换的加密流程,构造出 SLIM 算法的一条 6 轮不可能差分区分器。根据表 1 给出的 SLIM 算法的 S 盒,利用 python编程搜索 S 盒的差分分布表,如表 3 所示。表 3 SLIM 算法 S 盒的差分分布表

10、0123456789ABCDEF0&000000000000000100040004040004002000204200020222030202204200220000400000422022020205020020000222420060020002020042004704200020200020048000200020204020490020402020002040A0022040020200220B0200200042220200C0020040222200020D0242200200220000E0022002222002200F0400400000000044 注:&表示数字 16在

11、表 3 中,第 1 列为 S 盒的输入差分,第 1行为 S 盒的输出差分,输入与输出差分均用 16进制表示,中间的值为该输入输出差分方程对应的解的个数。例如,当 S 盒的输入差分为 0 x2时,输出差分为 0 x3 时,满足该差分方程的解的个数为 2。注意当解的个数为 0 时,说明该输入差分和输出差分不匹配,即该输入差分经过 S 盒后不能传播到该输出差分。通过观察 SLIM 算法 S 盒的差分分布表,容易得到如下性质。性质 1对于 SLIM 算法的 S 盒,当输入差分分别为 0 x1,0 x8,0 x9 时,经过 S 盒后输出差分分别为 1,1 和 0,以概率 1 成立。其中表示该比特差分可能

12、为 0 也可能为 1。证明 以 0 x8 1 为例进行分析。根据表 3,当输入差分为 0 x8 时,输出差分可能为0 x3,0 x7,0 x9,0 xB,0 xD,0 xF,则输出差分前 3 比特 0 或 1 均能够出现,但是最低比特差分一定为1,即输出差分的形式为 1。因此,0 x8 1 以概率 1 成立。类似地,可以说明 0 x1 1和 0 x9 0 以概率 1 成立。下面利用性质1 并结合 P 置换的特点,给出定理 1。定理 1在 SLIM 算法中,当输入差分为(X,016),输出差分为(016,Y)时,(X,016)(016,Y)是 SLIM 算法的一条 6 轮不可能差分区分器,如图

13、3 所示。其中 X 满足(12|1000),Y 满足(012|1000),i表示连续 i 个,0i表示连续 i 个 0。“”表示比特串之间的连接。证明 首先从正向加密开始计算,正向输入差分为(X,016),经过 1 轮加密后输出差分为(016,X),经过 2 轮加密后输出差分为(X,F(X),经过 3 轮加密后输出差分的左分支为F(X),计算结果如表 4 所示。表 4 输入差分 X 的加密X ,1000F(X),1 然后从逆向进行运算,逆向的输出差分为(016,Y),由于 SLIM 算法结构为 Feistel 型,加解密运算是相同的,所以逆向解密运算的轮函数与正向加密的轮函数相同。输出差分经过

14、 1 轮解密后,输出差分仍为(016,Y),经过 2 轮解密后输出差分为(Y,F(Y),经过 3 轮解密后输出差分右分支为 F2(Y)Y。计算结果如表 5 所示。表 5 输出差分 Y 的解密Y0000,0000,0000,1000F(Y)000,000,000,1000F2(Y),1 F2(Y)Y ,0 05第 30 卷SLIM 算法的 9 轮不可能差分分析 由图 3 可知,需要对比正向加密 3 轮的输出差分左分支与逆向解密 3 轮的输出差分的右分支,即需要对比 F(X)与 F2(Y)Y 的值,由表4 和表 5 容易看出二者之间存在矛盾,故(X,016)(016,Y)是 SLIM 算法的一条

15、6 轮不可能差分区分器,定理 1 成立。图 3 SLIM 算法 6 轮不可能差分区分器3 SLIM 算法的 9 轮密钥恢复攻击 本节在上节构造的 6 轮不可能差分区分器的基础上,添加 1 轮前置路径和 2 轮后置路径,对 SLIM 算法进行9 轮不可能差分攻击。图4 为攻击 9 轮 SLIM 算法的示意图。步骤 1 选取一个结构,在该结构内任意选择两个明文进行异或,它们的差分需要满足如下形 式:(,1 ,1000)。该结构能够提供 227个明文和 253组明文对。步骤 2 选择 2n个上述结构,则这些结构总共能提供2n+27个明文和2n+53组明文对。选择密文差分满足以下形式的密文对留下:(0

16、00,00图 4 SLIM 算法 9 轮不可能差分攻击0,000,1000,0 ),保留下来的明密文对数目约为 2n+53 2-14=2n+39。步骤 3 对于保留下来的明密文对,猜测最后一轮的轮密钥 K9的全部 16 比特密钥,即 K915 K90,使得关于 4 个 S 盒的差分方程都成立。在平均意义下,每 4 个比特通过 S 盒使差分方程成立的概率约为 2-4,则 4 个差分方程同时成立的概率为 2-44。因此,经过步骤 3 后剩余明密文对的数目约为 2n+39 2-16=2n+23。步骤 4 对于剩余的明密文对,猜测第 8 轮的轮密钥 K8的低 4 比特密钥,即 K83 K80,使得关于最右边 S 盒的差分方程成立,差分方程成立的概率约为 2-4。因此,经过步骤 4 后剩余明密文对的数目约为 2n+23 2-4=2n+19。步骤 5对于经过上述步骤处理的剩余明密文对,猜测第 1 轮的轮密钥 K1的全部 16 比特密钥,即 K115 K10,若关于 4 个 S 盒的差分方程都成立,则筛除步骤 3 到步骤 5 中猜测的 36 比特密钥。15北京电子科技学院学报2022 年当猜测的 3

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2