对SMS4密码算法改进的差分攻击
SMS4密码算法的差分故障攻击
SMS4密码算法的差分故障攻击
张蕾;吴文玲
【期刊名称】《计算机学报》
【年(卷),期】2006(29)9
【摘要】SMS4是用于WAPI的分组密码算法,是国内官方公布的第一个商用密码算法.由于公布时间不长,关于它的安全性研究尚没有公开结果发表.该文研究SMS4密码算法对差分故障攻击的安全性.攻击采用面向字节的随机故障模型,并且结合了差分分析技术.该攻击方法理论上仅需要32个错误密文就可以完全恢复出SMS4的128比特种子密钥.因为实际中故障发生的字节位置是不可能完全平均的,所以实际攻击所需错误密文数将略大于理论值;文中的实验结果也验证了这一事实,恢复SMS4的128bit种子密钥平均大约需要47个错误密文.文章结果显示SMS4对差分故障攻击是脆弱的.为了避免这类攻击,建议用户对加密设备进行保护,阻止攻击者对其进行故障诱导.
【总页数】7页(P1596-1602)
【作者】张蕾;吴文玲
【作者单位】中国科学院研究生院信息安全国家重点实验室,北京,100049;中国科学院软件研究所信息安全国家重点实验室,北京,100080
【正文语种】中文
【中图分类】TP3
【相关文献】
1.改进的SMS4算法差分故障与暴力联合攻击 [J], 刘文华;杜现朝;耿乔科
2.对SMS4密码算法改进的差分攻击 [J], 赵艳敏;刘瑜;王美琴
3.SMS4密码算法的差分功耗分析攻击研究 [J], 白雪飞;郭立;徐艳华;李志远
4.对轻量级分组密码算法LBlock的差分故障攻击 [J], 王涛;王永娟;高杨;张诗怡
5.轻量级分组密码算法TWINE差分故障攻击的改进 [J], 高杨;王永娟;王磊;王涛因版权原因,仅展示原文概要,查看原文内容请购买。
抗功耗分析攻击的SMS4密码算法VLSI设计技术研究
SMS4
cipher and its linear trans—
on
formation厶and present
a
differential power
analysis(DPA)attack method
SMS4
on
cipher for the first time.Experiment results indicate that the DPA attack is effective
on
and applied widely.
SMS4 block cipher is the first commercial cipher published by China and was
employed in
WAPI standard
tO protect the data packages in
a
also withstand
smaller circuit area than the multiplicative method.
Moreover,a power analysis resistant SMS4 cipher VLSI chip design based on additive
out. masking method was completed and taped
on
SMS4 and its countermea-
In this thesis,VLSI design optimization technology,power analysis attacks and countermeasures
on
SMS4
cipher are studied.Several new method about SMS4 VLSI
分组密码AES和SMS4的安全性分析
分组密码AES和SMS4的安全性分析分组密码AES和SMS4的安全性分析随着信息安全的日益重要,分组密码成为保护数据机密性的重要工具。
AES(Advanced Encryption Standard)和SMS4是目前应用较广泛的两种分组密码算法。
本文将对AES和SMS4的安全性进行分析,探讨其在实际应用中的优势和风险。
首先,我们来看AES算法。
AES是一种对称分组密码算法,由美国国家标准与技术研究院(NIST)于2001年发布。
AES算法的明文和密文都是128位的数据块,密钥长度可以是128位、192位或256位。
AES算法通过多轮的替代-置换网络(Substitution-Permutation Network,SPN)结构来实现加密和解密过程。
AES采用了四种基础操作:字节代换(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey)。
AES算法具有高度的安全性和效率,经过了严格的公开评审和广泛的应用测试,被广泛应用于各个领域。
然而,虽然AES算法在实际应用中已被广泛接受和应用,但它并不是完美的。
已有研究表明,AES算法可能存在一些安全风险。
例如,对于AES算法来说,密钥长度越长,安全性越高。
但是,长密钥也带来了计算和存储成本的增加。
此外,一些研究者在论文中提出了一些可行的攻击方法,如Differential Power Analysis(差分功耗攻击)和Side-Channel Attack(侧信道攻击)。
这些攻击方法利用AES算法在不同输入上的能量消耗或其他侧信道信息来推断秘密密钥,从而破解AES算法的安全性。
与AES算法相比,SMS4是中国国家密码管理局发布的一种国家密码标准。
该算法在2012年被中国政府广泛采用,并被ISO/IEC国际标准化组织批准为国际标准。
SMS4算法使用128位密钥和128位数据块长度。
该算法采用了Feistel网络结构,由轮函数、轮密钥扩展和密钥加操作组成。
分组密码算法sms4的安全性分析
山东大学硕士学位论文恢复攻击。
差分分析的基本方法如下:分组密码算法的S盒是带来算法不均衡性的主要因素,因此首先需要统计出该算法的S盒的差分分布表,这是差分分析的基础。
其次,根据特定的密码的具体密码结构以及上面得到的S盒差分分布表,计算出该算法多轮差分的高概率差分特征及差分特征的概率。
故而可以确定若要保证攻击成功需要选取的明文对的数量。
最后选取适合的明文对使差分是某个选定的值,进行加密流程得到密文,结合特定算法最后一轮的性质,通过分析得到最后一轮密钥或其部分比特的相关信息。
选取足够多的明文对后便可以猜测出最后一轮轮密钥或其部分比特信息,其余若干比特密钥信息可以使用穷搜的方法得到。
对于分组密码的差分分析方法有很多变种和扩展:(1)推广到更一般的情况,包括高阶差分分析【1】、回旋棒攻击[15]、矩阵攻击【16】、截断差分分析、不可能差分分析[9】等;(2)相关密钥模型下的推广,包括密钥(不可能)差分密码分析、相关密钥(回旋棒)矩阵攻击等;(3)差分密码分析与其他分析方法相结合,如差分.线性密码分析、差分故障分析等。
本文主要引入的对SMS4算法的安全分析方法是不可能差分分析方法。
1.1.3不可能差分密码分析概述不可能差分分析的历史可以追溯到1999年,Biham,Biryukov和Shamir共同针对Skipjack分组密码算法提出了不可能差分分析方法[20】。
在此之前,利用不可能事件的思想对分组密码进行分析的方法已经存在,但是99年他们首先提出了不可能差分分析这一概念。
并且系统地描述了不可能差分分析的原理和方法。
不可能差分由于自身的简单有效等特性,一经提出便在密码分析领域得到了广泛的运用。
不可能差分分析方法最初应用于大量的分组密码算法,ffU女DTwofish,IDEA,AES,CRYPTON,MISTY,Camellia,SHACAL和AR队等,经过一段时间的应用,密码学家们更是总结出了利用不可能差分分析一些广泛使用的算法结构的统一方法,例如Rijndael结构和广义Feistel结构。
SMS4算法的能量分析攻击及其防御研究的开题报告
SMS4算法的能量分析攻击及其防御研究的开题报告一、选题背景随着计算机科技的不断发展,加密算法的应用越来越广泛。
在安全通信中,对于密钥的保护尤为重要,因此需要对加密算法进行分析,找出其中的缺陷并加以改进。
SMS4算法是中国自主研发的分组密码算法,在信息安全领域中得到了广泛的应用。
但是,在实际应用中,SMS4算法可能存在被攻击的风险,特别是在能量分析攻击方面。
由于当前的攻击手段越来越先进,因此,针对SMS4算法的能量分析攻击及其防御研究就显得尤为重要。
二、研究目的本研究的目的是:1. 对SMS4算法进行能量分析攻击,分析其存在的安全问题。
2. 提出针对SMS4算法的能量分析防御策略,提高算法的安全性。
三、研究内容1. SMS4算法原理分析2. SMS4算法能量分析攻击的原理和方法研究3. 分析SMS4算法能量分析攻击的安全问题4. 针对SMS4算法的能量分析防御策略研究5. 对比和分析已有的SMS4算法安全防御措施四、研究方案1. 对SMS4算法进行深入学习和原理分析。
2. 研究能量分析攻击的原理和方法,并进行实验验证。
3. 结合攻击实验结果,分析SMS4算法存在的安全问题。
4. 提出针对SMS4算法的能量分析防御策略,并仿真实验验证其防御效果。
5. 对比和分析已有的SMS4算法安全防御措施,总结经验。
五、研究意义1. SMS4算法是我国自主研发的密码算法,针对其进行能量分析防御研究对于提高我国密码技术的水平具有重要意义。
2. 本研究可以对SMS4算法进行安全性评估,为实际应用提供指导和参考。
3. 研究能够揭示攻击者可能使用的攻击手段,并提出防御方案,对于密码算法的设计和改进具有借鉴意义。
SMS4密码算法的差分故障攻击
ZHANG i W U e — n Le W n Ii g
( t t Ke a o a o y o n o ma in S c rt S a e y L b r tr f I f r t e u i o y,I s tt ,S f wa e h n s a e f S i c s ejn 1 0 8 ) nt u e i 0 0 t r ,C i ee Ac d my o ce e ,B iig n 0 0 0 ( t t Ke a o a o y o n o ma inS c rt S a e y L b r t r f I f r t eu i o y,G a u t U i est f C ieeAc d my o ce c s ejn 1 0 4 ) r d a e n v ri o h n s a e f S i e ,B iig y n 0 0 9
Ab t a t sr c
S S S t e b o k cp e s d i API n t i a s h is o M 4 i h lc i h r u e n W ・a d i S lo t e fr t c mme c a b o k r il l c
维普资讯
第2卷 9
第 9 期
计
算
机
学
报
Vo .2 No 1 9 .9 S p .2 0 et 0 6
2 0 年 9月 06
CHI NES J E OU RNAL OF COM P U障攻 击 MS
果显示 S 4对差分故障攻击是脆弱的. MS 为了避免 这类 攻击 , 建议用户对加密设 备进行保护 , 阻止攻 击者对其进 行
故障 诱 导 .
关键 词
S 4密码 算法 ; 分 分 析 ; 分 故 障攻 击 ; 障 模 型 ; MS 差 差 故 差分 表
SMS4
r e d u c e d t o 0( 2 。 。 ) . Co mp u t i n g r e s u l t s h o ws t h a t t h e a t t a c k o f 1 6 一 r o u n d S MS 4 n e e d s 0( 2 。 。 )c h o o s i n g p l a i n t e x t o p e r a —
摘 要 为研 究分组加 密算法 s MS 4 抵 抗不可能差分攻击的 能力 , 使用了1 4轮 不可 能差分路径 , 给 出 了相 关攻击结 果 。基 于 1 条 1 4 轮 不可能差分路径 , 对1 6 轮和 1 8 轮的 S MS 4算法进行 了攻击 , 改进 了关于 1 7 轮的 S MS 4的不 可能
关键词 分组密码 , S MS 4 , 不 可 能差 分 攻 击 , E a r l y - a b o r t 技 术
中图法分类号
T N9 1 8 . 1
文 献标 识码
A
D OI 1 0 . 1 1 8 9 6 / j . i s s m 1 0 0 2 — 1 3 7 X 2 0 1 5 . 7 . 0 4 2
差 分攻击的结果 , 将数据 复杂度 降低 到 0( 2 ) 。计算结果表明 : 攻击 1 6 轮S MS 4算法所需的数据复杂度 为0( 2 。 ) ,
时间复杂度为 0( 2 ) ; 攻击 1 8 轮的 S MS 4算法所需的数 据复杂度为 O( 2 ) , 时间复杂度为 0( 2 。 ・ “ ) 。
第4 2 卷 第 7 期 2 0 1 5年 7 月
计
算
机
科
学
Vo 1 . 4 2 NO . 7
Co mp ut e r Sc i e nc e
对白盒SMS4实现的一种有效攻击
况下, 基 于 内部信 息, 利用 截断差 分分析 对 C h o w 的白盒 DE S进行 攻击; G o u b i n等 人I 】 也 同样基 于截断 差分分
析, 针对 白盒 D E S的第 1轮提 出 了一种 攻击 . 而对 于 AE S的 白盒 实现方案 , 2 0 0 4年, B i l l e t 等人 u l l J 提 出了一种 非常有效 的攻击 方法, 我们称之 为 BG E攻 击 方法 , 通 过选择 某些特 定 的查 找表, 使用代 数 的方法去掉 其 中的非线性 部分, 并获得 密钥. 后来, Mi c h i e l s [ ] 将其 改 进 为一种 通用攻击 方法, 可 以对 类似算 法 的 白盒实现 进行攻 击. 在 Ch o w等 人提 出的 白盒 A E S和 D E S算法 被证 明是不安全 的之 后, 虽然 白盒算 法一直 是学术 界讨论 的热 点, 但却 一直未有 安全 的 白盒 密码算法 出现 . 2 0 0 9年, 肖雅莹等 人【 】 3 】 提 出了 S MS 4 白盒 实现算 法, 为 了避免 占用 过 多 内存 , 他们 使用 查找表和 仿射 变换 相结合 的方式 . 从 白盒多 样性和 白盒含 混度 的角度来 看, 此 方案达 到 了所 需 的安全性 , 其作 者也针 对 B i l l e t 等人提 出 的 BG E攻击方法 说 明了其方案 的安全性 . 总 的来 说, 白盒密 码 的 目的是 为 了保 证密码 算法在 不可 信任主 机上运 行 时, 密钥 不会被 窃取 . 虽然 有两种 方 式可 以达 到这个 目的: 一是使 用动态 的密钥 , 每 次加、解 密使用 的密钥 都不相 同; 二是将 密钥 固定, 并 嵌入到密 码 算法 的执行 中, 将其 与其他 数据相 混淆, 使敌手 无法 提取 出密 钥. 但 是, 第 1 种方 式实现代 价较之 固定密钥 的方 式 来说太 高, 如 何 降低 实现代 价将是 未来 的研 究方 向; 而现有 的 白盒 密码算 法均是采 用第 2种 方式, 并以 C h o w 等 人使用 查 找表 的方式最 为 典型, 肖雅 莹等人 采用 查找表 和仿 射变 换相 结合 的方式, 而其 余实 现 白盒 密码 的方 式 并未 多 见 . 我 们 认 为, 将 密钥 隐 藏 在查 找 表 中 的方 式 是实 现 白盒 密码 的一 个较 好 的选 择 , 但 从 以上 描述 可 知,
一种SMS4加密算法差分功耗攻击
Dif r nta we fe e i lPo r Anay i t c s o MS4 lss Ata k n S
tc so a k fDPA, e a s ft e la a e r m h h sc lsg a sa d t e d fe e c fp we o s mp in wh l r c s b c u eo h e k g s fo t ep y ia in l n h i r n eo o r c n u t i p o e - f o e
e c y t n a g r h i r c e u c s f l t x e i n s I c me r d a l n l s l t li t a g to h n r p i l o i m sc a k d s c e s u l wi e p rme t . t o sg a u l a d co ey i o u t o t y h y n ma et r e f e t
atc . ers l idc tst a M S n r pe y tmswih u o xr r tcieme s rsc n e itt ea~ tak Th e ut n ia e h tS 4 e cy tds se to ts mee tap o etv a u e a ’trss h t
LILa g ’ LIRe -a L ig W U -h u n 。 n f IJn e Kes o 。
( p rm e to mp tr He g a g No ma ie st He g a g4 0 8。 ia) De a t n fCo u e , n y n r lUn v riy, n y n 21 0 Chn ( h o fCo utra d C mmu c t n, n n Unv riy, a s a 4 0 8 Chn Sc o lo mp e n o niai o Hu a ie st Ch ng h 1 0 2, ia) ( p rme fCo u e , a n Unv r iyo c n lg Xime 61 2 Chia 。 De a t nto mp t r Xime ie st fTe h oo y, a n3 0 4, n )
基于密钥编排故障的SMS4算法的差分故障分析
( 上海交 通 大学 计算 机科 学与 工程 系,上海 2 04 0 20)
摘
要 : 出并讨论 了一种针对 S 4密钥 编排 方案 的差分故 障攻击方法 。 提 MS 该方法采用面 向字节 的随机 故障模 型,
通过在 S 4算法 的密钥编排方案 中导入 故障 ,仅 需要 8 MS 个错误密文 即可恢复 S 4算法 的 18 i原始密钥。数 MS 2bt 学分析和实验结果表 明,该方法不仅扩展 了故障诱导的攻击 范围,而且提高 了故障诱导 的攻击成功率 ,减少了错
i d cn a lst h e c e u e n u i g f u t o t ek y s h d l
LIW e , i GU Da wu -
( e at n f o ue S i c n n ier g S a g a J o n i r t, h g a 2 0 4 , hn ) D pr me t C mp t ce e d gn ei , h n h i i t g o r n a E n a o Unv s y S a h i 0 2 0 C ia ei n
me o f i n usige et e a l a rsne ces e f c n y f ali et na ddces eh m- t do s g i n c v ut w s eetdt i rae f i c u jc o erae u h dt i h f i f s p on h t ei e o f tn i n h t
1 引言
密 码算 法 是密码 学 的重 要 内容 ,是实 现信 息保 密 的 核心 体制 ,其 安全 性 分析一 直是 密码 研究 中非 常活跃 的课 题 。在传 统 的密码 分析 中,人 们主 要从 密 码算 法 的设计 角度 来考 虑 安全 性能 ,将 其看 作是
SMS4密码算法的差分故障攻击
摘 ! 要 !* 是国内官方公布 的 第 一 个 商 用 密 码 算 法 8 由于公布时间不长$ 关于 2 * @ 是用于 M/ 3 ’的分组密码算法 $ 它的安全性研究尚没有公开结果发表 8 该文研究 * 攻击采用面向字节的 2 * @ 密 码 算 法 对 差 分 故 障 攻 击 的 安 全 性8 随机故障模型 $ 并且结合了差分分 析 技 术 8 该攻击方法理论上仅需要= !个错误密文就可以完全恢复出 * 2 * @的 因为实际中故障发生的字节位置是不可能完全平均的 $ 所以实际攻击所需错误密文数将 略 大 于 B ! > 比特种子密钥 8 理论值 " 文中的实验结果也验证了这一事实 $ 恢复 * 文章结 2 * @的B ! > N F ;种 子 密 钥 平 均 大 约 需 要 @ ?个 错 误 密 文8 果显示 * 为了避免这类攻击 $ 建议用户对加密 设 备 进 行 保 护 $ 阻止攻击者对其进行 2 * @ 对差分故障攻击是脆弱的 8 故障诱导 8 关键词 !* 差分分析 " 差分故障攻击 " 故障模型 " 差分表 2 * @ 密码算法 " 中图法分类号 4 3 = # "
9!! " ! # 算法简介
* 2* @ 算法的分组长度和密钥长度均为 B ! > N F ; 8 加密算法与密钥扩 展 算 法 都 采 用 = !轮非线性迭代 结构 8 解密算法与加密算法的结构相同 # 只是轮密钥 的使用顺序相反 # 解密轮密钥是加密轮密钥的逆序 8 限于篇幅 # 我们下面仅简单介绍加密算法 8 9 : 8!! " ! # 的加密算法 ! @ 明文输入为 ( 密文输 ?# # ?B # ?! # ?= ) @= "( ! )#
针对SMS4密码算法的Cache计时攻击
i o s l e y e c d d ts i al e i i a M S y mp s i e k y b t a i ae ,f l t n t l S b n n yh i 4 k wa e o e e .Ex e me t r s l d mo s ae t a e s rc v rd p r n e u t e n t t h t i s r mu t p o e s s a i g Ca h p c e t r n M S o k p tb e sr c u e d c d h tS S sv l e a l o Ca h l — r c s h r c e s a e f au e a d S i n 4 l o u a l tu t r e i e t a M 4 i u n r b e t c e i t n t c . o b u 0 s mp e r n u h t e o e u l1 8 i S S y d rn o is o rr u d t c d mi g at k f r o t a l sa ee o g r c v rf l 2 b t M 4 k u i g b t frt u n s at k a a a 8 o e h f o a n l s u u d ta k S ’ n c s a y t a ec ra n c u tr a u e r v n i i d o t c . a t o r o n s tc , O i S e e s r t k e t i o n e me s r s o p e e t h s n fat k f r a t o t t k a Ke r s S S ; c e s r e ; c et n t c ; c e s t t b el o u d x y wo d : M 4 a c s i n Ca h i g at k Ca h e ; a l o k pi e d v i m a n
SM4算法的差分功耗攻击研究
SM4算法的差分功耗攻击研究作者:李新超马双棚来源:《科技传播》2018年第07期摘要自差分功耗攻击自诞生以来,分组密码算法的实现安全面临重大挑战。
SM4算法作为我国的分组密码标准,同样面临功耗分析攻击的严重威胁。
文章通过利用自主设计的功耗攻击平台采集SM4算法加密过程中的功耗曲线,并对采集好的曲线进行差分处理,从而获得了SM4算法的密钥。
实验结果表明,当采集400条以上功耗曲线时,即有90%以上的概率破解密钥。
关键词 SM4;分组密码;差分功耗攻击;功耗曲线中图分类号 TP309 文献标识码 A 文章编号 1674-6708(2018)208-0108-021999年,Kocher等首次利用差分功耗攻击破解了DES算法[ 1 ],在此之后,其他密码算法如AES等也相继被攻破,密码算法的实现安全面临重大挑战。
SM4算法作为我国大力推广的商用分组密码标准,研究其抵御功耗攻击的安全性对于推动我国密码事业的发展具有十分重要的价值和意义。
1 SM4算法SM4是一种分组密码算法,分组长度为128bit,密钥长度也为128bit。
加解密算法结构相同,轮密钥的使用次序则相反。
加密算法和解密算法以及密钥拓展算法均采用了32轮的非线性迭代结构[ 2 ]。
3 实验结果利用自主设计的FPGA功耗攻击平台,采集功耗曲线数据之后,依据差分功耗攻击技术中的功耗分析理论,对功耗数据曲线进行处理,最后以某种方式呈现出来,从而达到破解密钥的目的。
采集的400条功耗曲线进行分析,当猜测的密钥错误时,图中无明显尖峰或出现多个尖峰,如图2所示。
当猜测的密钥正确时,图中出现明显的尖峰,如图3所示。
4 结论本文对SM4算法进行了介绍,并详细阐述了差分功耗攻击基本原理和步骤,最后通过利用FPGA功耗攻击平台成功破解了SM4算法的密钥,验证了SM4算法在面临差分功耗攻击时的脆弱性,为SM4算法的进一步改进和完善提供了依据。
参考文献[1]Kocher P, Jaffe J, Jun B. Differential Power Analysis[J]. Lecture Notes in Computer Science,1999, 1666:388-397.[2]吕述望,苏波展,王鹏,等.SM4分组密码算法综述[J].信息安全研究,2016(11):995-1007.[3]白雪飞.抗功耗分析攻击的SMS4密码算法VLSI设计技术研究[D].合肥:中国科学技术大学,2008.[4]Mangard S,Oswald E, Popp T. Power Analysis Attacks: Revealing the Secrets of Smart Cards[M]. Springer Publishing Company, Incorporated,2010.[5]Liu F, Ji W, Hu L, et al. Analysis of the SM4 Block Cipher[C]//Information Security and Privacy,Australasian Conference, ACISP 2007, Townsville,Australia, July 2-4, 2007,Proceedings. DBLP,2007:158-170.。
对SMS4密码算法改进的差分攻击
ZHAO Yan.M in ,-, LIU Yu , WANG Mei.Qin
(School of Mathematics,Shandong University,Ji’nan 250100,China) (Science and Technology on Communication Security Laboratory,Chengdu 610041,China) (School ofComputer Engineering,Weifang University,Weifang 261041,China)
摘 要 : 差 分 分析 和线 性分 析是 重要 的密码 算 法分析 工具 .多年 来,很 多研 究者 致 力于 改善 这 两种 攻击 方法 . AchiyaBar-On等人提 出了一种 方法,能够使攻击者对部分状 态参与 非线性 变换 的 SPN结构的密码 算法进行更多轮 数 的差分 分析 和线性分析.这种方法使用 了两个辅助矩 阵,其 目的就是更 多地利用 密码 算法中线性层 的约束,从而能 攻击更多轮教 .将这种方法应用到 中国密码算 法 SMS4的多差 分攻击 中,获得 了一个比现有攻击存储复杂度更低和 数据 复杂度 更少的攻击结果.在成功概率 为 0.9时,实施 23轮 的 SMS4密钥 恢复攻击需要 2“ 个 明文,时间复杂度 为 2他 轮 等价 的 23轮加 密.这是 目前为止存储 复杂度 最低的攻击,存储复杂度为 2 个字节. 关键 词: SMS4;分组 密码 ;多差分 攻击 ;矩阵;存储 复杂度 中图法 分类号 :TP309
Abstract: For years,many crypta n alysts have been devoted to working on analyzing the security of block ciphers against diferential a ̄acks and linear attacks.Thus,there are copious methods to cryptanalyze a block cipher with diferential an d linear cryptan alyses.An original method proposed by Achiya Bar-On et a1.enables attackers to analyze more rounds of a partial SPN network in differential an d linear cryptanalyses.The method involves two auxiliar y m atrices,which makes it possible that more constraints on diferences can be exploited to sieve the inappropriate pairs.In the paper,the method is implemented to SM S4 in the setting of a multiple diferential cryptan alysis.By utilizing the 2 existing 19一round differential characteristics.the paper carries out a 23-round key。recovery attack on SM S4,which leads to a lower data an d memory complexities than previous multiple diferential attack results on 23-round SM S4,namely,
22-轮SMS4的差分分析
中 山 大学 学 报 ( 自然 科 学 版 )
第4 9卷
1 S 4算法简介 MS
1 1 基本记 号与 符号 .
ZH NG Mel g,L U ig i A A in i I Jn me ,W NG Xime n i
( a o a K yL b f nert evc ew rs X da nvri , in7 0 7 , hn ) N t n l e a .o t ae S ri N tok , ii U iesy X ’ 10 1 C ia i I g d e n t a
.
.
An h t c s t e b s i e e t lc y t n ltc r s l o MS d t e at k i h e tdf r n i r p a ay i e u t n S 4. a f a Ke r y wo ds: S 4;di e e t le y t n l ss i o l xt MS f r n i r p a ay i ;tme c mp e i f a y;d t o l xt aa c mp e iy
( 2 3, 3, 3) 3, 3 X 4 5 = ( 5 3, 3, 3) 3, 4 3 2 。
S 4 是 中 国 国家标 准 针 对 目前 数 字媒 体 所 MS … 面临 的信息安 全 问题 提 出来 的运 用 于无 线局 域 网的
一
目前对 S 4算 法 的分 析 相对 较 少 ,主 要有 MS 整体 攻 击 ] ,线 性 攻 击 ,差 分 攻 击 ] ,不 可 能 差分 攻 击 J ,矩 形 攻 击 J ,飞 来 器 攻 击 J , 边 信道 攻击 。其 中差 分分 析 I 是分 析分 组密码 9
对SM4算法的改进差分故障攻击
密码学报 I S S N 2095-7025 C N 10-1195/T NJournal of Cryptologic Research, 2020, 7(4): 453-464 ◎《密码学报》编辑部版权所有.E-mail:jcr@ http://w w Tel/F a x: +86-10-82789618对SM4算法的改进差分故障攻击#金雨璇'滅志3,i^1,2,袁庆军W1. 战略支援部队信息工程大学,郑州4500002. 河南省网络密码技术重点实验室,郑州4500003. 深圳网安计算机安全检测技术有限公司,深圳518028通信作者:袁庆军,E~i na il:gcxyuan@摘要:S M4算法是国内首个官方公布的商用密码算法.本文研究S M4密码算法在差分故障攻击方向 的安全性.在现有故障馍型的基础上,针对现有故障注入能力已提高至比特级别的现状,提出面向比特的 随机故障模型.理论上,本攻击模型通过1次单比特故障注入,结合平均15.3526比特的穷举攻击,就可以 完全恢复出S M4的128比特初始密钥.由于S M4算法S盒的差分均匀度为4,也即存在四个解的差分 方程,因此实际攻击时穷举攻击的复杂度将高于理论值2比特左右;随后在普通P C机上进行了大量的仿 真实验,实验结果也佐证了这一事实,恢复S M4初始密钥的穷举攻击复杂度大约在15到18比特.关键词:S M4算法;差分故障攻击;单比特故障;故障模型中图分类号:T P309.7 文献标识码:A D O I: 10.13868/ki.jcr.000380中文引用格式:金雨璇,杨宏志,王相宾,袁庆军.对S M4算法的改进差分故障攻击问.密码学报,2020, 7(4): 453-464. [D O I: 10.13868/ki.jcr.000380]英文引用格式:JIN Y X,Y A N G H Z,W A N G X B,Y U A N Q 丄Improved d if fe re n t ia l fault attack f or S M4 cipher[J].Journal of Cryptologic Research, 2020, 7(4): 453-464. [D O I: 10.13868/ki.jcr.000380]Im proved D ifferen tial Fault A ttack for SM4 C ipherJ I N Y u-X u a n1.2,Y A N G H o n g-Zhi3,W A N G X i a n g-B i n1,2,Y U A N Q i n g-J u n1'21. PLA Strategic S u p p o rt Force Inform ation Engineering University, Zhengzhou 450000, C hina2. H enan Key L ab orato ry of N etwork C ryptography Technology, Zhengzhou 450000, C hina3. Shenzhen N ST Technology Co. L td., Shenzhen 518028, C hinaC orresponding au tho r: Y U A N Q ing-Jun, E-mail: gcxyuan@A b s t r a c t:S M4 algorithm i s the f i r s t o f f i c i a l l y published commercial cryptographic algorithm standard in C h i n a.This paper studies the security of the S M4 cipher algorithm against Differential Fault Analysis.Based o n the existing m o d e l of fault analysis,where the existing fault injection capability has been improved to the bit level,a bit l ev el r a n d o m fault m o d e l i s proposed.In theory,with a single fault injection,c o m b i n e d with a n average of 15.3526 bits of exhaustive attacks,the 128-bit i n i t i al key of S M4 can be fully recovered with this m o d e l.Since the difference uniformity of the S-box of the S M4 algorithm i s 4, that i s,there are difference equations which have four solutions,the complexity*基金项目:国家自然基金(61602512);河南省网络密码技术重点实验室幵放基金(LNCT2019-S02) Foundation: National N atural Science Foundation of China (61602512); Open Fund of Henan Key Laboratory of Network Cryptography Technology (LNCT2019-S02)收稿日期:2019-05-20 定稿日期:2019-11-27454Journal of Cryptologic Research 密码学报Vo\.7, NoA,Aug.加加of the exhaustive attack i n actual attack w i l l be higher than the theoretical value by about 2 bits.A large n u m b e r of simulation experiments has been performed o n a normal P C,the experimental results support the fact that the exhaustive attack complexity of restoring the S M4 i n i t i a l key i s approximately 15 to 18 bits.K e y w o r d s:S M4 algorithm:differential fault attack;single bit fault;fault modeli引言为配合我国W A P I(W L A N Authentication a n d Privacy Infrastructure)无线局域网标准的推广应 用,2006年1月我国自主设计的对称分组密码算法S M4分组密码算法就此应运而生.由于该算法加解密 速度快、硬件实现简单以及具备一定的安全性,多适用于制作密码芯片,现己大量运用于对金融领域、政 府部门等的重要数据的保护.因此单纯通过研宄密码算法的数学结构而判断密码算法的安全性已经远远 不够,我们还必须从密码算法的实现角度来考虑更为现实的安全问题.如果硬件实现上出现了问题,算法 理论安全性再高也无法保证数据的安全性.如果S M4算法硬件实现被攻破,则意味着这些产品不再安全.针对商用密码算法的硬件实现,差分故障攻击是一种实际有效的攻击方法,对密码体制实际安全性造 成极大威胁.随着密码学家们的不断深入研究并改进,差分故障攻击方法己被运用于对D E S W、E C C%、A E S %、R C4 W等众多密码算法的分析中,并且取得了不俗的成果,展示了差分故障攻击在密码分析上具 有相当强大的可行性.在不断地应用发展中,差分故障攻击的实现途径愈加多样、攻击代价逐步降低,可 以非常有效的对密码硬件进行攻击,成为了对密码体制不容忽视的现实威胁.如果可以更加快速的完成差分故障攻击,利用更少的故障注入即恢复出S M4算法的轮密钥及初始密 钥,或者能够更有效的从可能的密钥中分辨出正确密钥,就能指导相关芯片的使用者、设计者对加密设备 进行保护,避免这类攻击,阻止攻击者对其进行故障诱导,有利于国产密码的研究发展与使用.本文在前辈工作的基础上做出适当的改进151,给出S M4单比特差分故障攻击模型以及具体攻击步骤, 理论上只需要一次故障注入,随后对平均15.3526比特穷举搜索,最终可以恢复128比特的初始密钥.通 过计算机实验对攻击过程进行仿真模拟,根据实验结果佐证本文中提出的新方案攻击复杂度与理论结果一 致,改进后的攻击方法在一定程度上提高了攻击效率.本文第2节详细介绍了 S M4算法的加密流程以及轮密钥扩展方案,随后整理总结了算法的相关性质 与定理;第3节具体阐述了差分故障攻击的基本假设以及在该假设下的攻击原理和攻击流程;第4节总结 了自S M4算法发布以来,密码学工作者对其己经进行过的差分故障攻击方法,并对各方案间的不同进行 了对比描述,指明了各方案的优劣;第5节提出对S M4算法的单比特D F A方案,理论推导出攻击复杂度,并通过仿真实验方案及实验结果数据对其加以佐证;第6节是对全文工作总结.2 S M4算法2.1算法简述S M4算法由吕述望、李大为、张超等人设计并完成相关标准%的起草,其分组长度和密钥长度均为 128比特,算法采用非平衡Feiste丨结构.S M4通过32轮非线性迭代后加上一个反序变换,方便于解密,解密轮密钥只需要是加密轮密钥的逆序,而解密算法与加密算法保持一致.(1)系统设置S M4的加密密钥为M K = (M K h M K h M K i M K s),其中M K,e Z f2,i = 0,1,2,3.轮密钥表示为 (rk^rld,...,rk31),其中r k J i-C U,...,31)为加密密钥经由密钥扩展方案生成的32比特第i轮轮密钥.F K = (F K u.F K i F K i F K s)为系统参数,C K = (C K o.C K^,.,C K31)为固定参数,用于密钥扩展 算法,其中 F K,(i=0,l,2,3),C K,(i = 0,1,...,31)均为 32 比特.设T :Z|2Z|2为一个可逆变换,由非线性变换t和线性变换L复合而成,即T(〇 =L C r(.;〇.其中非线性变换t由4个并行的S盒构成.设戌S6 (Z f)4,非线性变换t输入为4 = (a〇,ai,a2,a3),输出为 S = (6(1,6i,62,b3),即(&o,6i,b2,63)=t(乂)= (5((1〇) ,5(a i),5(d2),5(a3)).金雨璇等:对SM4算法的改进差分故障攻击455L为线性变换,其输入为非线性变换r的输出.设输入为B e Z232,输出为C G Z232,则C= 1(5)=B0(B«§:2)®(S10) ®(B18) ©(B 後;24).其中炎C 表示循环左移.(2)加密算法设明文输入为(;!:〇,&,x2,x3)e(z232)4,密文输出为(y。
针对SMS4密码算法的Cache计时攻击
针对SMS4密码算法的Cache计时攻击
赵新杰;王韬;郑媛媛
【期刊名称】《通信学报》
【年(卷),期】2010(031)006
【摘要】分别提出并讨论了针对SMS4加密前4轮和最后4轮的访问驱动Cache 计时分析方法,设计间谍进程在不干扰SMS4加密前提下采集加密前4轮和最后4轮查表不可能访问Cache组集合信息并转化为索引值,然后结合明文或密文对密钥的不可能值进行排除分析,最终恢复SMS4初始密钥.实验结果表明多进程共享Cache存储器空间方式和SMS4查找表结构决定其易遭受Cache计时攻击威胁,前4轮和最后4轮攻击均在80个样本左右恢复128bit SMS4完整密钥,应采取一定的措施防御该类攻击.
【总页数】10页(P89-98)
【作者】赵新杰;王韬;郑媛媛
【作者单位】军械工程学院,计算机工程系,河北,石家庄,050003;军械工程学院,计算机工程系,河北,石家庄,050003;军械工程学院,计算机工程系,河北,石家庄,050003【正文语种】中文
【中图分类】TP393.08
【相关文献】
1.针对DSA滑动窗口算法实现的指令Cache计时攻击 [J], 周平;寇应展;刘会英
2.一种改进的针对DSA签名的指令Cache计时攻击 [J], 周平;寇应展;冀可可;陈财
森
3.一种改进的针对滑动窗口模幂运算实现的密码数据Cache计时攻击 [J], 周平;寇应展;王韬;赵新杰;刘会英
4.针对RSA算法的踪迹驱动数据Cache计时攻击研究 [J], 陈财森;王韬;郭世泽;周平
5.针对RSA密码算法的指令Cache攻击方法 [J], 郑媛媛;王韬;赵新杰;陈财森因版权原因,仅展示原文概要,查看原文内容请购买。
SMS4密码体制的差分—代数分析的开题报告
SMS4密码体制的差分—代数分析的开题报告开题报告内容如下:一、研究背景和意义SMS4是中国国家密码算法,被广泛应用于金融、电信、国防等领域,安全性是其最重要的特性。
然而,在密码学研究发展的过程中,各种攻击方式层出不穷,包括差分攻击和代数攻击等,使得密码算法的安全性随时受到威胁。
因此,研究SMS4密码体制的差分—代数分析具有重大的理论和应用价值。
二、研究内容和目标本文主要研究SMS4密码体制的差分—代数分析。
首先,将介绍SMS4密码体制的基本结构和算法,以及差分攻击和代数攻击的基本原理。
然后,将提出一种差分—代数攻击的方法,并通过实验验证其有效性。
最后,将对差分—代数攻击方法进行优化,并探讨其在实际应用中的意义。
三、研究方法和技术路线本文将采用文献调研和数理统计等方法,对SMS4密码体制进行全面的研究和分析。
对于差分—代数攻击方法的优化和实验验证,将采用数学模型和计算机仿真等技术手段,进行详细的数据分析和评估。
四、预期成果和创新点通过差分—代数攻击的研究,将深入探讨SMS4密码体制的安全性问题,并提出一种新的有效攻击方法,为加强SMS4密码体制的安全性提供重要的理论基础。
此外,还将对差分—代数攻击方法进行优化和改进,使其更适合实际应用,并取得一定的创新点。
五、进度安排和预算本文预计在三个月内完成研究和撰写论文,并在互相讨论和指导的基础上进行改进和修改。
预计所需经费为5000元左右,主要用于文献调研、实验设备、数据分析等方面。
六、参考文献[1] Zhou J, Feng D, Deng R H, et al. Secure sms4 block cipher algorithm for wsn[C]//IEEE symposium on industrial electronics and applications. IEEE, 2013: 1504-1509.[2] Guo J, Ling S, Susilo W. A new algorithm for differential and linear cryptanalysis of sms4-like block ciphers[J]. International Journal of Network Security, 2013, 15(1): 25-32.[3] Moradi A, Biryukov A. Biclique cryptanalysis ofsms4[C]//International Conference on Information Security and Cryptology. Springer International Publishing, 2013: 18-29.[4] Wu W, Feng D. Security analysis of sms4 algorithm based on equivalent transformation[C]//International Conference on Communications, Signal Processing, and Systems. Springer Berlin Heidelberg, 2013: 323-333.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件学报ISSN 1000-9825, CODEN RUXUEW E-mail: jos@ Journal of Software,2018,29(9):2821−2828 [doi: 10.13328/ki.jos.005271] ©中国科学院软件研究所版权所有. Tel: +86-10-62562563对SMS4密码算法改进的差分攻击∗赵艳敏1,2, 刘瑜1,3, 王美琴11(山东大学数学学院,山东济南 250100)2(保密通信重点实验室,四川成都 610041)3(潍坊学院计算机工程学院,山东潍坊 261041)通讯作者: 王美琴, E-mail: mqwang@摘要: 差分分析和线性分析是重要的密码算法分析工具.多年来,很多研究者致力于改善这两种攻击方法. Achiya Bar-On等人提出了一种方法,能够使攻击者对部分状态参与非线性变换的SPN结构的密码算法进行更多轮数的差分分析和线性分析.这种方法使用了两个辅助矩阵,其目的就是更多地利用密码算法中线性层的约束,从而能攻击更多轮数.将这种方法应用到中国密码算法SMS4的多差分攻击中,获得了一个比现有攻击存储复杂度更低和数据复杂度更少的攻击结果.在成功概率为0.9时,实施23轮的SMS4密钥恢复攻击需要2113.5个明文,时间复杂度为2126.7轮等价的23轮加密.这是目前为止存储复杂度最低的攻击,存储复杂度为217个字节.关键词: SMS4;分组密码;多差分攻击;矩阵;存储复杂度中图法分类号: TP309中文引用格式: 赵艳敏,刘瑜,王美琴.对SMS4密码算法改进的差分攻击.软件学报,2018,29(9):2821−2828.. cn/1000-9825/5271.htm英文引用格式: Zhao YM, Liu Y, Wang MQ. Improved differential attack on 23-round SMS4. Ruan Jian Xue Bao/Journal of Software, 2018,29(9):2821−2828 (in Chinese)./1000-9825/5271.htmImproved Differential Attack on 23-Round SMS4ZHAO Yan-Min1,2, LIU Yu1,3, WANG Mei-Qin11(School of Mathematics, Shandong University, Ji’nan 250100, China)2(Science and Technology on Communication Security Laboratory, Chengdu 610041, China)3(School of Computer Engineering, Weifang University, Weifang 261041, China)Abstract: For years, many cryptanalysts have been devoted to working on analyzing the security of block ciphers against differential attacks and linear attacks. Thus, there are copious methods to cryptanalyze a block cipher with differential and linear cryptanalyses. An original method proposed by Achiya Bar-On et al. enables attackers to analyze more rounds of a partial SPN network in differential and linear cryptanalyses. The method involves two auxiliary matrices, which makes it possible that more constraints on differences can be exploited to sieve the inappropriate pairs. In the paper, the method is implemented to SMS4 in the setting of a multiple differential cryptanalysis. By utilizing the 214 existing 19-round differential characteristics, the paper carries out a 23-round key-recovery attack on SMS4, which leads to a lower data and memory complexities than previous multiple differential attack results on 23-round SMS4, namely,∗基金项目: 国家重点基础研究发展计划(973)(2013CB834205); 国家自然科学基金(61133013, 61572293, 61602276); 教育部新世纪优秀人才项目(NCET-13-0350); 山东省自然科学基金(ZR2016FM22); 保密通信重点实验室基金项目(9140c110207150c11050) Foundation item: National Grand Fundamental Research (973) Program of China (2013CB834205); National Natural Science Foundation of China (61133013, 61572293); Program for New Century Excellent Talents in University of China (NCET-13-0350); Shandong Natrural Science Foundation of China (ZR2016FM22); Science and Technology on Communication Security Laboratory Funded Projects (9140c110207150c11050)收稿时间:2016-12-19; 修改时间: 2017-02-05; 采用时间: 2017-02-28; jos在线出版时间: 2017-03-31CNKI网络优先出版: 2017-03-31 21:54:41, /kcms/detail/11.2560.TP.20170331.2154.006.html2822 Journal of Software软件学报 V ol.29, No.9, September 20182113.5 chosen plaintexts and 217 bytes at a success possibility of 0.9. The attack presented in the paper can recover 128-bit key within 2126.7 equivalent 23-round encryptionsKey words: SMS4; block cipher; multiple differential attack; matrices; memory complexity差分分析和线性分析是分组密码算法最基本和最重要的分析方法,同时,在设计分组密码算法时,密码算法抵抗差分分析和线性分析的能力也是密码设计者重点关注的因素之一.差分分析是由Biham和Shamir在1990年为了分析DES在文献[1]中首次提出.基于差分分析的思想衍生了很多其他的分析方法,如截断差分分析[2]、多差分分析[3].Blondeau等人[3]提出了多差分攻击的概念,并且给出了多差分分析的时间和数据复杂度的计算方式.Eurocrypt 2015会议上,Achiya Bar-On等人[4]提出了利用矩阵来恢复部分状态参与非线性变换的SPN结构的密码算法密钥的攻击方法.该方法利用密码算法非线性层提供的混淆效果差的弱点,采用矩阵这一代数概念充分体现线性层所提供的轮状态之间的关系,从而在攻击过程中可以尽可能早地筛减明密文对,达到降低时间复杂度的目的.SMS4[5]是我国商用分组密码标准算法,是构建无线局域网安全的密码模块,其英语版本介绍可以在文献[6]中查看.正是由于SMS4密码算法的重要性,很多研究者给出了他们的密码分析结果.Liu等人[7]给出了他们对13轮的SMS4的积分攻击.Ji等人[8]使用代数攻击的方法评估了SMS4的安全性.Lu在文献[9]中对SMS4实施了14轮的矩形攻击,并给出了一个16轮的不可能差分攻击的结果.之后, Lu等人的结果被Toz和Dunkleman在文献[10]中改进.Zhang等人[11]对SMS4进行了21轮的差分分析和16轮的矩形攻击.Etrog等人在文献[12]中对SMS4进行了22轮的线性攻击分析.同年,Kim等人[13]发表了他们对SMS4多个攻击的分析结果,包括22轮的差分和线性分析、18轮的矩形攻击分析和Boomerang攻击分析.Zhang等人[14]改进了22轮SMS4的差分分析的结果.Liu等人[15]对SMS4进行了多线性攻击的分析.Su等人[16]给出了23轮SMS4的差分攻击结果.Cho和Nyberg给出了一个同样轮数的多维差分攻击结果[17].在文献[18]中,作者首次找到了一条偏差为2−62.27的19轮的线性近似,并对SMS4进行了改进的线性攻击分析.本文将Achiya Bar-On等人[4]提出的密钥恢复攻击方法应用在SMS4上,利用该密码算法混淆性差的特点,改进了现有的对SMS4的23轮多差分攻击的结果,极大地降低了攻击过程中的存储复杂度.对SMS4主要攻击结果的汇总见表1.Table 1 Comparison between different attacks on SMS4表1 SMS4 不同攻击结果比较轮数攻击类型数据复杂度时间复杂度存储复杂度文献18 矩阵攻击21242112.832字节[13]18 飞来去器攻击21202116.832123字节[13]22 线性攻击2118.421172112字节[12]22 线性攻击21172109.682109字节[13]23 线性攻击2126.5421222116字节[18]23 多维线性攻击2126.62127.42120.7字节[17]23 差分攻击21182126.72120字节[16]23 多差分攻击2113.52126.7217字节本文本文第1节给出了符号定义和SMS4算法介绍.第2节介绍多差分分析的分析方法及如何获取攻击中所要用到的两个矩阵.第3节给出具体的攻击过程以及数据、时间、存储复杂度的分析.最后是总结.1 初步认知为了方便理解论文中的符号,我们首先给出符号含义的解释;其次,给出SMS4加密算法的描述.1.1 符号描述表2给出了符号含义的解释.赵艳敏 等:对SMS4密码算法改进的差分攻击 2823Table 2 Description of symbols表2 符号描述322F 二元域上32比特的向量集合 S (⋅) 8比特的非线性转换<<<i 左循环i 位 >>>i 右循环i 位 ||比特串的级联 ΔX X ⊕X ′,其中,322,X X F ′∈ RK i 第i 轮子密钥,其中,0≤i ≤31 X [i ,j ] X 中从i 比特到j 比特的比特串X [i ,j ] X 中第i 个和第j 个nibble Δ0,Δr 输入和输出的差分集合 δ0,δr 具体的输入和输出差分值E K (⋅)密钥K 下的加密()i K E −⋅密钥K 下解密i 轮 n k需要恢复密钥的比特数1.2 SMS4的加密过程SMS4算法[5,6]的分组长度为128比特,密钥长度为128比特.它使用广义的Feistel 结构,共有32轮迭代.加密和解密的不同之处在于子密钥的使用顺序不同.由于SMS4的32轮的轮函数是相同的结构,我们仅描述一轮轮函数.将第i 轮轮函数(如图表1)使用子密钥RK i 定义为一个映射i RK Ψ,那么,1234123,4123[0,7][8,15][16,23][24,31]44444:(,,)(,,,),,((),(),(),()), i RK i i i i i i i i i i i i i i i i i i X X X X X X X X X X X X RK X S X S X S X S X Ψ++++++++++++++++←←⊕⊕⊕←,444444 (2)(10)(18)(24).i i i i i i X X X X X X ++++++←⊕<<<⊕<<<⊕<<<⊕<<<S 盒和线性转换L 在图1中统一在T 转换中.因为我们的攻击并没有利用密钥的生成算法,所以不再描述这一内容.关于SMS4密钥生成算法的详细描述见文献[5].TX iX i +1X i +2X i +3i +1i +2i +3i +4RKFig.1 Round function for SMS4图1 SMS4轮函数2 主要方法2.1 多差分攻击介绍多差分分析是Blondeau 等人[3]首次提出的一种攻击方法,该攻击方法是统计攻击的一种,一般包括3个阶段的分析过程.(1) 过滤阶段:利用一定数量的明文和密文对获取候选密钥信息;(2) 分析阶段:计算相应候选密钥的可能性并且获取可能性最大的一些候选密钥; (3) 搜索阶段:由候选密钥推算主密钥,并测试每一个对应的主密钥的正确性. 接下来,我们将对多差分分析的过程进行描述.2824 Journal of Software 软件学报 V ol.29, No.9, September 2018输入:N 个选择明文和密文对(x i ,y i ),其中,y i =E K (x i ); 输出:加密算法使用的密钥. 1 初始化2k n 个计数器为0 2对于任意的δ0∈Δ0,执行:3 对于任意的明文对(x ,x ⊕δ0),执行:4 如果E K (x )⊕E K (x ⊕Δr +Δr ,那么,5 对任意的候选密钥k ,执行:6 计算0(())(())r r k K k K E E x E E x ΔΔδδ−−←⊕⊕7 如果δ∈Δr ,那么D [k ]←D [k ]+18 根据D [k ]取值大小排序,选取前m 个可能性最大的候选密钥 9 对于列表中的每一个k ,执行:10 对于每一个对应于k 的主密钥CK ,执行: 11如果E CK (x 1)=y 1,那么返回主密钥CK在本文中,多差分路径有不同的输入差分值,但是对应相同的输出差分值.更加详细的多差分攻击方法的介绍见文献[3].2.2 矩阵法恢复密钥攻击在本节中,我们描述攻击中所用矩阵构造的过程,该构造方法由Bar-On 等人在文献[4]中提出.为了使本文结构完整和清晰,我们将矩阵构造整个过程进行了描述,并且描述方式更加适应本文攻击的环境.• 首先对矩阵A 的构造进行详细的描述.(1) 假设第20轮的输入差分为(ΔX 20,ΔX 21,ΔX 22,ΔX 23),则第20轮的输出差分为(ΔX 21,ΔX 22,ΔX 23,ΔX 20⊕L (Y 20)),其中,Y 20为差分经过S 盒之后引入的新变量;(2) 紧接上步,第21轮的输入差分为(ΔX 21,ΔX 22,ΔX 23,ΔX 20⊕L (Y 20)),则第21轮的输出差分为(ΔX 22,ΔX 23,ΔX 20⊕L (Y 20),ΔX 21⊕L (Y 21)),其中,Y 21为差分经过S 盒之后引入的新变量;(3) 紧接上步,第22轮的输入差分为(ΔX 22,ΔX 23,ΔX 20⊕L (Y 20),ΔX 21⊕L (Y 21)),则第22轮的输出差分为(ΔX 23,ΔX 20⊕L (Y 20),ΔX 21⊕L (Y 21),ΔX 22⊕L (Y 22)),其中,Y 22为差分经过S 盒之后引入的新变量;(4) 紧接上步,第23轮的输入差分为(ΔX 23,ΔX 20⊕L (Y 20),ΔX 21⊕L (Y 21),ΔX 22⊕L (Y 22)),则第23轮的输出差分为(ΔX 20⊕L (Y 20),ΔX 21⊕L (Y 21),ΔX 22⊕L (Y 22),ΔX 23⊕L (Y 23)),其中,Y 23为差分经过S 盒之后引入的新变量.第23轮的输出差分(ΔX 20⊕L (Y 20),ΔX 21⊕L (Y 21),ΔX 22⊕L (Y 22),ΔX 23⊕L (Y 23))即为密文差分(ΔC 1,ΔC 2,ΔC 3,ΔC 4).上述的符号变量均为32比特,那么共引进128个新的比特变量;将128比特的密文差分看做128个比特变量,那么代表密文差分的128个比特变量与新引进的128个比特变量存在线性关系,这种关系可以使用矩阵概念进行描述.本文将此矩阵称为矩阵A .需要说明的一点是,矩阵A 的构造与算法本身的设计有关.所以在分析某个具体密码算法时,矩阵A 是可以预获取的.其实,可以简单地理解为:只要知道密文的差分值和矩阵A ,那么添加在区分器之外的轮函数的输入和输出差分值就可以通过一次矩阵乘法运算获取.• 其次,矩阵B 的构造是与矩阵A 相类似的.如果对于每轮轮函数的S 盒的输入和输出的值分别引进新的变量,那么因为每轮需要引进64个新的变量,区分器之外添加4轮,因此共有256个新的变量产生.另外,涉及128比特的密钥和128的密文,我们同样引进新的变量符号.因为在进S 盒之前总会有32个比特的线性限制条件,所以共有128个线性限制条件.它们实际上刻画了128比特的密钥与密文值、S 盒的输入输出值之间的线性关系.因此,这种关系可以使用矩阵进行描述.我们记为矩阵B .赵艳敏 等:对SMS4密码算法改进的差分攻击 28253 23轮SMS4的密钥恢复攻击3.1 SMS4的19轮差分特征在本文的攻击中,我们使用Su 等人在文献[19]中给出的19轮的差分路径:12619011267112(,,,)(,,,)roundp a a a a a a a a −−=⎯⎯⎯⎯→. 其中,a 1=0xf 3f 30033,a 2=0xf 3000030,a 6=0x 3f 0000cf ,a 7=0xccf 3f 300fc .接下来定义两个集合:32322220{|()0},{|00030003,},T DT x Z Prob a x y Z y x x f x DT a ΩΩ.=∈→≠=∈=⊕∈∈其中,DT 是a 2经过T 操作之后所有可能的差分值的集合.根据SMS4算法中S 盒的性质,对于一个固定的输入差分,存在一个可能性为2−6的输出差分值、126个可能性为2−7的输出差分值,因此,Ω集合的大小为(27−1)2≈214. 3.2 SMS4的23轮攻击描述本节对于SMS4进行的23轮差分攻击使用第3.1节中的差分路径,并且采用Bar-On 等人在文献[4]中提出的密钥恢复攻击的新方法.该攻击成功的原因在于:SMS4的非线性层的混淆效果并不是很强,利用矩阵这一代数工具可以充分利用线性层约束进行明密文对的筛减,从而降低时间复杂度.此外,SMS4的轮密钥之间不直接共享密钥比特,使得恢复的轮密钥比特可以全部用来验证主密钥.对于现有的19轮差分路径,要想攻击多于23轮的攻击是不可能的,因为这会出现128个线性方程含有多于128个变量的情况,即,中间状态值对于某个明密文对是多种可能的,从而提高时间复杂度.定义集合3227{|()0}T SET x Z Prob a x =∈→≠,是所有a 7经过T 操作之后可能的差分取值. 定义3226{|,}y Z y x a x SET Λ=∈=⊕∈.根据SMS4中S 盒的性质,Λ集合的大小为(27−1)3≈221.攻击23轮SMS4时,我们构建structure,在structure 中存在许多明文对(s 1,s 2),s 1=(x ,const 1,const 2,const 3),s 2=(x ⊕a 0,const 1⊕a 1,const 2⊕a 1,const 3⊕a 2),其中,a 0∈Ω,且x 为所有的32bit 的可能取值.则一个structure 包含232×214= 246个明文对.假设需要m 个structure,那么一共可以构建m ×246个明文对,明文个数为m ×232×2=m ×233.这些明文对的差分值为(Ω,a 1,a 1,a 2).具体的攻击过程如下(如图2所示).1. 利用第2.2节中描述的办法预获取辅助矩阵A 与辅助矩阵B ;2.对于每一个明文对(P 1,P 2)和对应的密文对(C 1,C 2),计算相应的密文差分,并判断密文差分值得第1个 分支是否属于Λ集合:若否,舍弃这个明文对.这一步骤完成之后,剩余214635322222m m ××=×个明文对;3.对于每一个剩余的明密文对(P ,C )和(P ′,C ′):¾ 密文的差分值异或(a 6,a 7,a 1,a 1)之后乘以矩阵A ,获取第20轮~第23轮15个活性S 盒的输入和输出差分值;¾判断上步中输入和输出差分值是否符合S 盒差分分布表:若否,则舍弃这一对明文,返回第2步继续进行计算.假设利用S 盒删掉不符合差分分布表的密文对的概率为0.5,那么在整个过程结束后,大约剩余m ×235×2−12=m ×223;¾ 对于符合差分分布表的输入和输出差分值,可以获取S 盒相应的输入和输出值.并将这些值存储在一个表中,记为list.4. 对于list 中的每一项ω: ¾ 由ω和密文组成的向量乘以矩阵B 获取密钥;¾猜测非活跃S 盒对应的子密钥,并根据密钥生成算法计算主密钥.验证密钥的正确性,若通过验证,则返回正确候选密钥.2826 Journal of Software 软件学报 V ol.29, No.9, September 2018T TTT19轮差分特征a 0a 1a 1a 2a 6a 7a 1a 1a 7a 1a 1□ a 1a 1□*a 1□**□***RK 19RK 22RK 21RK 20Fig.2 Diagram for differential cryptanalysis on 23-round SMS4图2 23轮SMS4差分分析图示3.3 复杂度分析• 数据复杂度文献[3]引用了Blondeau 等人在文献[20]中得到的公式0*ln(2π2)(2)k n l N c −=−×复杂度的计算,并指出:如果要想获得的0.8的攻击成功率,那么c 应该取值为1.5;如果成功率为0.9,那么c 取值为2.D (p *||p )是p *和p 的Kullback-Leibler 离散值,计算规则为*****1(||)ln (1)ln 1p p D p p p p p p ⎛⎞⎛⎞−=+−⎜⎟⎜⎟−⎝⎠⎝⎠.p *是在正确密钥下多条差分路径的等价概率,(,)*,126*02||i j i jp p Δ−=≈∑.p 是错误密钥下多条差分路径的等价概率,(,)14,1281400||2222||||2i j m mi jp p ΔΔΔ−−−−−××=≈≈≈∑.我们恢复的密钥比特数n k 是120(之所以不是128比特,是因为在 20轮存在一个非活性的S 盒),我们选取优势为l =2118.在成功率为0.9时,这样计算N =2113.5.从而,一共需要m =280.5个structure,有280.5×246=2126.5个明文对可以用于多差分攻击.• 时间复杂度我们对攻击的每一步进行时间复杂度分析:由于第1步可以预计算,所以我们只分析后面步骤的时间复杂度.在第2步中会对明密文对进行筛选,经此之后,剩余明文对数为21126.5115.5222.2×=第3步中,如果将一次矩阵A 的乘法视为1轮的加密,那么需要115.511112223×=次的23轮加密.经过第2步之后,剩余的明文对数为2115.5×2−12=2103.5.ΛΛΛΛ赵艳敏 等:对SMS4密码算法改进的差分攻击 2827第4步中,如果将一次矩阵B 的乘法视为4轮的加密,那么需要103.5 1.0115116.142(2)223××=次23轮的加密.在 验证阶段,需要猜测8比特子密钥,所以需要2103.5×(21.01)15×28=2126.7次23轮加密.综上所述,所需的时间复杂度为2111+2116.1+2126.7≈2126.7.若想攻击的成功率为0.8,则数据复杂度和时间复杂度都会增加一个0.75的因子.• 存储复杂度本文中的攻击采用Bar-On 等人[4]提出的密钥恢复攻击方法,不需要为候选密钥提供计数器,从而可以极大地降低存储复杂度.在攻击过程中,只有矩阵A 和B 需要存储.矩阵A 大小为120×128,矩阵B 大小为120×(120×2+128).所以存储大小不会超过217个字节.4 总 结利用SMS4非线性层混淆效果差的弱点,采用矩阵这一代数工具充分提取密码算法线性层的约束信息,进行SMS4的多差分攻击改进.攻击使用2113.5个明文,在2126.7次等价的23轮攻击下,以概率0.9可以恢复密钥.攻击的优势在于极大降低存储复杂度——不超过128KB 的存储空间存储两个辅助矩阵.其次,攻击所用的明文量也是目前对SMS4所有23轮攻击中最少的一个. References :[1] Biham E, Shamir A. Differential cryptanalysis of DES-like cryptosystems. Journal of CRYPTOLOGY, 1991,4(1):3−72.[2] Knudsen LR. Truncated and higher order differentials. In: Proc. of the Int’l Workshop on Fast Software Encryption. Berlin,Heidelberg: Springer-Verlag, 1994. 196−211.[3] Blondeau C, Gérard B. Multiple differential cryptanalysis: Theory and practice. In: Proc. of the Int’l Workshop on Fast SoftwareEncryption. Berlin, Heidelberg: Springer-Verlag, 2011. 35−54.[4] Bar-On A, Dinur I, Dunkelman O, et al . Cryptanalysis of SP networks with partial non-linear layers. In: Proc. of the Annual Int’lConf. on the Theory and Applications of Cryptographic Techniques. Berlin, Heidelberg: Springer-Verlag, 2015. 315−342. [5] /UpFile/200621016423197990.pdf[6] Diffie W, Ledin G. SMS4 encryption algorithm for wireless networks. IACR Cryptology ePrint Archive, 2008. 329.[7] Liu F, Ji W, Hu L, et al . Analysis of the SMS4 block cipher. In: Proc. of the Australasian Conf. on Information Security andPrivacy. Berlin, Heidelberg: Springer-Verlag, 2007. 158−170.[8] Ji W, Hu L. New description of SMS4 by an embedding over GF (28). In: Proc. of the Int’l Conf. on Cryptology in India. Berlin,Heidelberg: Springer-Verlag, 2007. 238−251.[9] Lu J. Attacking reduced-round versions of the SMS4 block cipher in the Chinese WAPI standard. In: Proc. of the Int’l Conf. onInformation and Communications Security. Berlin, Heidelberg: Springer-Verlag, 2007. 306−318.[10] Toz D, Dunkelman O. Analysis of two attacks on reduced-round versions of the SMS4. In: Proc. of the Int’l Conf. on Informationand Communications Security. Berlin, Heidelberg: Springer-Verlag, 2008. 141−156.[11] Zhang L, Zhang W, Wu W. Cryptanalysis of reduced-round SMS4 block cipher. In: Proc. of the Australasian Conf. on InformationSecurity and Privacy. Berlin, Heidelberg: Springer-Verlag, 2008. 216−229.[12] Etrog J, Robshaw MJ. The cryptanalysis of reduced-round SMS4. In: Proc. of the 15th Int’l Workshop on Selected Areas inCryptography (SAC 2008). Revised Selected Papers. Sackville, 2009.[13] Kim TH, Kim J, Hong S, et al . Linear and differential cryptanalysis of reduced SMS4 block cipher. IACR Cryptology ePrintArchive, 2008,2008:281[14] Zhang W, Wu W, Feng D, et al . Some new observations on the SMS4 block cipher in the Chinese WAPI standard. In: Proc. of theInt’l Conf. on Information Security Practice and Experience. Berlin, Heidelberg: Springer-Verlag, 2009. 324−335.[15] Liu Z, Gu D, Zhang J. Multiple linear cryptanalysis of reduced-round SMS4 block cipher. Chinese Journal of Electronics, 2010,19(3):389−393.2828 Journal of Software软件学报 V ol.29, No.9, September 2018[16] Su BZ, Wu WL, Zhang WT. Security of the SMS4 block cipher against differential cryptanalysis. Journal of Computer Science andTechnology, 2011,26(1):130−138.[17] Cho JY, Nyberg K. Improved linear cryptanalysis of SMS4 block cipher. In: Proc. of the Symmetric Key Encryption Workshop.2011. 1−14.[18] Liu MJ, Chen JZ. Improved linear attacks on the Chinese block cipher standard. Journal of Computer Science and Technology,2014,29(6):1123−1133.[19] Su B, Wu W, Zhang W. Differential cryptanalysis of SMS4 block cipher. IACR Cryptology ePrint Archive, 2010,2010:62.[20] Blondeau C, Gérard B, Tillich JP. Accurate estimates of the data complexity and success probability for various cryptanalyses.Designs, Codes and Cryptography, 2011,59(1-3):3−34.赵艳敏(1991-),女,山东潍坊人,硕士生,主要研究领域为密码学.王美琴(1974-),女,博士,教授,博士生导师,主要研究领域为密码学.刘瑜(1981-),女,博士,主要研究领域为密码学.。