分组密码算法MIBS
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4 4 S盒变换: S = { 4 , 1 5 , 3 , 8 , 1 3 , 1 0 , 1 2 , 0 , 1 1 , 5 , 7 , 1 4 , 2 , 6 , 1 , 9 } , S : F : y s ( x ) , 1 。 ≤i ≤8 →F i= i 2 2
混合层: 此层为线性变换, 由下列线性关系式构成: y , y ′ y , y ′ y , y ′ y y y y y y y y y y y y y y y 1= 2 3 4 5 6 7 2= 1 3 4 6 7 8 3= 1 2 4 5 7 8 y ′ y , y ′ y , y ′ y , y y y y y y y y y y y y y 4= 1 2 3 5 6 8 5= 1 2 4 5 6 6= 1 2 3 6 7 y , y ′ y 。 y ′ y y y y y y y y 7= 2 3 4 7 8 8= 1 3 4 5 8 P置换: 将混合层输出的 8个半字节按新的顺序输出, P= { 2 , 8 , 1 , 3 , 6 , 7 , 4 , 5 } 。 1 1 密钥生成算法 由于文中分析的是 8 0 b i t 密钥的算法, 所以下边只给出 8 0 b i t 的密钥生成算法, 6 4 b i t 的生成算法详见文
i 献[ 1 ] 。用 s t a t e 表示第 i 轮的密钥扩展, 轮密钥按如下关系式生成( 1 2 ) : ≤i ≤3 0 i i i i i 是初始密钥; s t a t e = s t a t e =S-b o x ( s t a t e [ 7 9~ 7 6 ] ) o x ( s t a t e [ 7 5~ 7 2 ] ) 1 9 ; s t a t e s t a t e ‖ S-b ‖ > i i i i i i s t a t e [ 7 1~ 0 ] ; s t a t e = s t a t e [ 7 9~ 1 9 ] t a t e [ 1 8~ 1 4 ] o u n d o u n t e r t a t e [ 1 3~ 0 ] ; k s t a t e [ 7 9~ ‖s R ‖s -c i=
1 , 2 1 , 2 D UC h e n g h a n g ,C H E NJ i a z h e
( 1 .S c h o o l o f Ma t h e m a t i c s ,S h a n d o n gU n i v e r s i t y ,J i n a n2 5 0 1 0 0 ,S h a n d o n g ,C h i n a ; 2 .K e yL a b o r a t o r yo f C r y p t o l o g i cT e c h n o l o g ya n dI n f o r m a t i o nS e c u r i t y ,Mi n i s t r yo f E d u c a t i o n , S h a n d o n gU n i v e r s i t y ,J i n a n2 5 0 1 0 0 ,S h a n d o n g ,C h i n a ) A b s t r a c t :MI B Si s s u i t a b l ef o r e x t r e m e l yc o n s t r a i n e de n v i r o n m e n t s ,s u c ha s R F I Dt a g s .B a s e do nt h ea n a l y s i s o f t h e f l a wi nA s l i B a y ’ s w o r k ,a n e wi m p o s s i b l e d i f f e r e n t i a l c r y p t a n a l y s i s w a s p r o p o s e d .T h e a t t a c ko f MI B Sw a s r e d u c e dt o
2 1 对 A s l i B a y 攻击的分析
- 4 , 因此 在文献[ 3 ] 节5 3第 3步( c ) 部分, 作者指出此步每个剩余明文对能排除所有子密钥猜测值的 2 6 8 - 4 1 3 + m 6 8 - 4 2 在第一对后剩余密钥数为 2 ( 1- 2 ) , 又由于有 2 对明文, 所以共剩余 2 ( 1- 2 )
5 9 果的错误, 并提出新的不可能差分分析。并提出了对约减至 1 2轮的 MI B S算法的攻击, 此攻击需 2 选择明文和 6 3 次加密运算。 2
I m p o s s i b l ed i f f e r e n t i a l c r y p t a n a l y s i s o f r e d u c e d r o u n dMI B S
轻量级分组密码算法 MI B S不可能差分分析
, 2 , 2 杜承航1 , 陈佳哲1
( 1 . 山东大学数学学院,山东 济南 2 5 0 1 0 0 ; 2 .山东大学密码技术与信息安全教育部重点实验室,山东 济南 2 5 0 1 0 0 )
摘要:轻量级分组密码算法适源自文库于 R F I D等计算资源严格受限的环境。指出之前 A s l i B a y 等人不可能差分分析结
攻击过程如下。 ( 1 )选择由满足下面形式的明文组成的结构: L P ( x , x , a , x , a , a , x , x ) b , b , b , b , b , b , ( 0= 1 2 3 4 5 6 7 8 1 2 3 4 5 6 x , b ) , R ( y , y , y , y , y , y , y , y ) 。其中 x ( i = 1 , 2 , 4 , 7 , 8 ) , y ( 1 ) 及x 取遍 4 b i t 的所有可能值, ≤i ≤8 8 0= 1 2 3 4 5 6 7 8 i i a b i t 的常数。 i和 b i是 4
实际上通过这一步, 每个剩余明文对只能对 2 4 b i t 的部分子密钥猜测值进行过滤, 对剩余的 6 8- 2 4=
2 4 - 4 2 0 4 4 b i t 值没有任何的约束及过滤作用, 所以能过滤掉错误密钥的个数为 1× 2 × 2 = 2 , 而猜测的子密钥一 6 8 2 0 6 - 4 8 - 4 , 所以这步能过滤所有 6 8 b i t 密钥猜测值的概率为 2 / 28 = 2 , 而不是 2 。更多说明可参考文献 共有 2
1 3 + m
个错误密钥, 此
时如果取 m= 0 , 则没有错误密钥剩余。 作者的叙述和计算看起来貌似没什么问题, 但是仔细计算后发现, 作者开始就把每个明文对能排除错误
- 4 - 8 子密钥的概率错算成了 2 , 这一错误与文献[ 4 ]节 4 1第 3步( c i i i ) 中的 2 如出一辙, 文献[ 4 ] 中的这一 8 7 - 6 8 5 ] 中指出, 并详细的分析和计算了正确的概率为 2 错误也已经在文献[ / 26 = 2 。
5 9 6 3 析, 该攻击所需明文量为 2 , 时间复杂度为 2 次加密运算。
本文在第一部分首先简单描述了 MI B S算法。第二部分指出了文献[ 3 ] 中的错误, 并提出全新的约减 至1 2轮 MI B S的不可能差分分析。最后对全文进行了总结。
1 MI B S算法简介
MI B S是 F e i s t e l 结构的分组密码算法, 消息分组长度为 6 4 b i t , 共有 3 2轮。密钥长度有 6 4 b i t 和8 0 b i t 两 2 b i t 的值。而且 MI B S中是以 4 b i t 为一个单位的, 称为半字节或半 种。6 4 b i t 的消息分组分成 L 0和 R 0 两个 3 位元。
2 ] 数。不可能差分分析 [ 是由 B i h a m和 S h a m i r 提出的一种密码分析技术, 是分组密码算法的一种重要分析方
法。它利用概率为 0的不可能出现的差分特征过滤错误密钥。文献[ 3 ] 第一次提出了约减至 1 2轮的 MI B S 算法的不可能差分分析, 但我们发现该分析结果有误。本文提出了新的约减至 1 2轮的 MI B S不可能差分分
0 引言
微型计算设备由于其高度便携性等特点, 得到越来越广泛的应用, 因此其安全性也备受关注, 出现了许
[ 1 ] 多专门设计的轻量级加密算法。MI B S 是由 Ma r y a mI z a d i 等人在 C A N S2 0 0 9上提出的轻量级分组密码算
法, 它占用资源少, 适合应用于计算能力受限的微型计算设备上, 如R F I D等。 MI B S算法是分组长度为 6 4 b i t 的F e i s t e l 结构的分组密码算法, 共有 3 2轮, 密钥有 6 4 b i t 和8 0 b i t 两种参
[ 5 ]节 2 3详细的分析。这一概率的计算错误也导致了明文量选取过少, 时间复杂度从而也计算错误。所 以文献[ 3 ] 的不可能差分分析结果是错误的。 2 2 轮密钥关系 [ 0~ 1 2 ]= k [ 1 9~ 3 1 ] , 性质 由密钥生成算法很容易得到, 相邻两轮轮密钥间具有以下线性关系: k i i + 1 即k [ 0 ]= k [ 3 ] 。其中方括号内数字表示半字节中 b i t 位。 ‖k ‖k ‖k ‖k ‖k ‖k i , 1 i , 2 i , 3 i , 4 i + 1 , 5 i + 1 , 6 i + 1 , 7 i + 1 , 8 2 3 约减至 1 2轮的 MI B S不可能差分分析 类似于[ 6 ] 中对 C a m e l l i a 的不可能差分分析, 本文给出 MI B S的不可能差分特征, 并在这一特征前边加 3轮, 后边加 1轮构成下文的 1 2轮不可能差分分析路线, 如图 2所示。
4 8 ] 。
2 约减至 1 2轮的 MI B S算法不可能差分分析
文献[ 3 ] 中第一次提出了 8 0 b i t 密钥 1 2轮 MI B S的不可能差分分析, 但结果有误, 下文具体指出。接着
5 9 6 3 我们提出了新的约减至 1 2轮的 MI B S不可能差分分析, 所需明文量为 2 , 时间复杂度为 2 次加密运算。
图1 F函数图 F i g . 1 F u n c t i o nFo f MI B S
MI B S的轮函数由轮密钥加、 S盒变换、 扩散层及 P置换组成。设 L , R 是第 i 轮的输入, k 2 b i t i - 1 i - 1 i是 3 F ( k , L ) , R L 。 轮密钥, 第i 轮的迭代公式为: L R i= i i - 1 i - 1 i= i - 1 轮密钥加: 每轮输入的左 3 2 b i t 都与 3 2 b i t 的轮密钥相异或。
图2 8轮不可能差分特征及 1 2轮不可能差分分析路线 F i g . 2 8 r o u n di m p o s s i b l ed i f f e r e n t i a l a n d1 2 r o u n di m p o s s i b l ed i f f e r e n t i a l a t t a c k
5 9 6 3 c h o s e np l a i n t e x t s a n d2 e n c r y p t i o n s . 1 2r o u n d s a n dn e e d s 2
K e yw o r d s : l i g h t w e i g h t b l o c kc i p h e r ;MI B S ;i m p o s s i b l ed i f f e r e n t i a l c r y p t a n a l y s i s
混合层: 此层为线性变换, 由下列线性关系式构成: y , y ′ y , y ′ y , y ′ y y y y y y y y y y y y y y y 1= 2 3 4 5 6 7 2= 1 3 4 6 7 8 3= 1 2 4 5 7 8 y ′ y , y ′ y , y ′ y , y y y y y y y y y y y y y 4= 1 2 3 5 6 8 5= 1 2 4 5 6 6= 1 2 3 6 7 y , y ′ y 。 y ′ y y y y y y y y 7= 2 3 4 7 8 8= 1 3 4 5 8 P置换: 将混合层输出的 8个半字节按新的顺序输出, P= { 2 , 8 , 1 , 3 , 6 , 7 , 4 , 5 } 。 1 1 密钥生成算法 由于文中分析的是 8 0 b i t 密钥的算法, 所以下边只给出 8 0 b i t 的密钥生成算法, 6 4 b i t 的生成算法详见文
i 献[ 1 ] 。用 s t a t e 表示第 i 轮的密钥扩展, 轮密钥按如下关系式生成( 1 2 ) : ≤i ≤3 0 i i i i i 是初始密钥; s t a t e = s t a t e =S-b o x ( s t a t e [ 7 9~ 7 6 ] ) o x ( s t a t e [ 7 5~ 7 2 ] ) 1 9 ; s t a t e s t a t e ‖ S-b ‖ > i i i i i i s t a t e [ 7 1~ 0 ] ; s t a t e = s t a t e [ 7 9~ 1 9 ] t a t e [ 1 8~ 1 4 ] o u n d o u n t e r t a t e [ 1 3~ 0 ] ; k s t a t e [ 7 9~ ‖s R ‖s -c i=
1 , 2 1 , 2 D UC h e n g h a n g ,C H E NJ i a z h e
( 1 .S c h o o l o f Ma t h e m a t i c s ,S h a n d o n gU n i v e r s i t y ,J i n a n2 5 0 1 0 0 ,S h a n d o n g ,C h i n a ; 2 .K e yL a b o r a t o r yo f C r y p t o l o g i cT e c h n o l o g ya n dI n f o r m a t i o nS e c u r i t y ,Mi n i s t r yo f E d u c a t i o n , S h a n d o n gU n i v e r s i t y ,J i n a n2 5 0 1 0 0 ,S h a n d o n g ,C h i n a ) A b s t r a c t :MI B Si s s u i t a b l ef o r e x t r e m e l yc o n s t r a i n e de n v i r o n m e n t s ,s u c ha s R F I Dt a g s .B a s e do nt h ea n a l y s i s o f t h e f l a wi nA s l i B a y ’ s w o r k ,a n e wi m p o s s i b l e d i f f e r e n t i a l c r y p t a n a l y s i s w a s p r o p o s e d .T h e a t t a c ko f MI B Sw a s r e d u c e dt o
2 1 对 A s l i B a y 攻击的分析
- 4 , 因此 在文献[ 3 ] 节5 3第 3步( c ) 部分, 作者指出此步每个剩余明文对能排除所有子密钥猜测值的 2 6 8 - 4 1 3 + m 6 8 - 4 2 在第一对后剩余密钥数为 2 ( 1- 2 ) , 又由于有 2 对明文, 所以共剩余 2 ( 1- 2 )
5 9 果的错误, 并提出新的不可能差分分析。并提出了对约减至 1 2轮的 MI B S算法的攻击, 此攻击需 2 选择明文和 6 3 次加密运算。 2
I m p o s s i b l ed i f f e r e n t i a l c r y p t a n a l y s i s o f r e d u c e d r o u n dMI B S
轻量级分组密码算法 MI B S不可能差分分析
, 2 , 2 杜承航1 , 陈佳哲1
( 1 . 山东大学数学学院,山东 济南 2 5 0 1 0 0 ; 2 .山东大学密码技术与信息安全教育部重点实验室,山东 济南 2 5 0 1 0 0 )
摘要:轻量级分组密码算法适源自文库于 R F I D等计算资源严格受限的环境。指出之前 A s l i B a y 等人不可能差分分析结
攻击过程如下。 ( 1 )选择由满足下面形式的明文组成的结构: L P ( x , x , a , x , a , a , x , x ) b , b , b , b , b , b , ( 0= 1 2 3 4 5 6 7 8 1 2 3 4 5 6 x , b ) , R ( y , y , y , y , y , y , y , y ) 。其中 x ( i = 1 , 2 , 4 , 7 , 8 ) , y ( 1 ) 及x 取遍 4 b i t 的所有可能值, ≤i ≤8 8 0= 1 2 3 4 5 6 7 8 i i a b i t 的常数。 i和 b i是 4
实际上通过这一步, 每个剩余明文对只能对 2 4 b i t 的部分子密钥猜测值进行过滤, 对剩余的 6 8- 2 4=
2 4 - 4 2 0 4 4 b i t 值没有任何的约束及过滤作用, 所以能过滤掉错误密钥的个数为 1× 2 × 2 = 2 , 而猜测的子密钥一 6 8 2 0 6 - 4 8 - 4 , 所以这步能过滤所有 6 8 b i t 密钥猜测值的概率为 2 / 28 = 2 , 而不是 2 。更多说明可参考文献 共有 2
1 3 + m
个错误密钥, 此
时如果取 m= 0 , 则没有错误密钥剩余。 作者的叙述和计算看起来貌似没什么问题, 但是仔细计算后发现, 作者开始就把每个明文对能排除错误
- 4 - 8 子密钥的概率错算成了 2 , 这一错误与文献[ 4 ]节 4 1第 3步( c i i i ) 中的 2 如出一辙, 文献[ 4 ] 中的这一 8 7 - 6 8 5 ] 中指出, 并详细的分析和计算了正确的概率为 2 错误也已经在文献[ / 26 = 2 。
5 9 6 3 析, 该攻击所需明文量为 2 , 时间复杂度为 2 次加密运算。
本文在第一部分首先简单描述了 MI B S算法。第二部分指出了文献[ 3 ] 中的错误, 并提出全新的约减 至1 2轮 MI B S的不可能差分分析。最后对全文进行了总结。
1 MI B S算法简介
MI B S是 F e i s t e l 结构的分组密码算法, 消息分组长度为 6 4 b i t , 共有 3 2轮。密钥长度有 6 4 b i t 和8 0 b i t 两 2 b i t 的值。而且 MI B S中是以 4 b i t 为一个单位的, 称为半字节或半 种。6 4 b i t 的消息分组分成 L 0和 R 0 两个 3 位元。
2 ] 数。不可能差分分析 [ 是由 B i h a m和 S h a m i r 提出的一种密码分析技术, 是分组密码算法的一种重要分析方
法。它利用概率为 0的不可能出现的差分特征过滤错误密钥。文献[ 3 ] 第一次提出了约减至 1 2轮的 MI B S 算法的不可能差分分析, 但我们发现该分析结果有误。本文提出了新的约减至 1 2轮的 MI B S不可能差分分
0 引言
微型计算设备由于其高度便携性等特点, 得到越来越广泛的应用, 因此其安全性也备受关注, 出现了许
[ 1 ] 多专门设计的轻量级加密算法。MI B S 是由 Ma r y a mI z a d i 等人在 C A N S2 0 0 9上提出的轻量级分组密码算
法, 它占用资源少, 适合应用于计算能力受限的微型计算设备上, 如R F I D等。 MI B S算法是分组长度为 6 4 b i t 的F e i s t e l 结构的分组密码算法, 共有 3 2轮, 密钥有 6 4 b i t 和8 0 b i t 两种参
[ 5 ]节 2 3详细的分析。这一概率的计算错误也导致了明文量选取过少, 时间复杂度从而也计算错误。所 以文献[ 3 ] 的不可能差分分析结果是错误的。 2 2 轮密钥关系 [ 0~ 1 2 ]= k [ 1 9~ 3 1 ] , 性质 由密钥生成算法很容易得到, 相邻两轮轮密钥间具有以下线性关系: k i i + 1 即k [ 0 ]= k [ 3 ] 。其中方括号内数字表示半字节中 b i t 位。 ‖k ‖k ‖k ‖k ‖k ‖k i , 1 i , 2 i , 3 i , 4 i + 1 , 5 i + 1 , 6 i + 1 , 7 i + 1 , 8 2 3 约减至 1 2轮的 MI B S不可能差分分析 类似于[ 6 ] 中对 C a m e l l i a 的不可能差分分析, 本文给出 MI B S的不可能差分特征, 并在这一特征前边加 3轮, 后边加 1轮构成下文的 1 2轮不可能差分分析路线, 如图 2所示。
4 8 ] 。
2 约减至 1 2轮的 MI B S算法不可能差分分析
文献[ 3 ] 中第一次提出了 8 0 b i t 密钥 1 2轮 MI B S的不可能差分分析, 但结果有误, 下文具体指出。接着
5 9 6 3 我们提出了新的约减至 1 2轮的 MI B S不可能差分分析, 所需明文量为 2 , 时间复杂度为 2 次加密运算。
图1 F函数图 F i g . 1 F u n c t i o nFo f MI B S
MI B S的轮函数由轮密钥加、 S盒变换、 扩散层及 P置换组成。设 L , R 是第 i 轮的输入, k 2 b i t i - 1 i - 1 i是 3 F ( k , L ) , R L 。 轮密钥, 第i 轮的迭代公式为: L R i= i i - 1 i - 1 i= i - 1 轮密钥加: 每轮输入的左 3 2 b i t 都与 3 2 b i t 的轮密钥相异或。
图2 8轮不可能差分特征及 1 2轮不可能差分分析路线 F i g . 2 8 r o u n di m p o s s i b l ed i f f e r e n t i a l a n d1 2 r o u n di m p o s s i b l ed i f f e r e n t i a l a t t a c k
5 9 6 3 c h o s e np l a i n t e x t s a n d2 e n c r y p t i o n s . 1 2r o u n d s a n dn e e d s 2
K e yw o r d s : l i g h t w e i g h t b l o c kc i p h e r ;MI B S ;i m p o s s i b l ed i f f e r e n t i a l c r y p t a n a l y s i s