分组密码算法MIBS


攻击过程如下。 ( 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
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=
图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
图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 的轮密钥相异或。
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 次加密运算。
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 的生成算法详见文
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 ]节 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所示。
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 5 0 1 0 0 ; 2 .山东大学密码技术与信息安全教育部重点实验室,山东 济南 2 5 0 1 0 0 )
摘要:轻量级分组密码算法适用于 R F I D等计算资源严格受限的环境。指出之前 A s l i B a y 等人不可能差分分析结
2 ] 数。不可能差分分析 [ 是由 B i h a m和 S h a m i r 提出的一种密码分析技术, 是分组密码算法的一种重要分析方
法。它利用概率为 0的不可能出现的差分特征过滤错误密钥。文献[ 3 ] 第一次提出了约减至 1 2轮的 MI B S 算法的不可能差分分析, 但我们发现该分析结果有误。本文提出了新的约减至 1 2轮的 MI B S不可能差分分
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 位元。
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 两种参
实际上通过这一步, 每个剩余明文对只能对 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
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
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
合集下载

【国家自然科学基金】_轻量级分组密码_基金支持热词逐年推荐_【万方软件创新助手】_20140803

【国家自然科学基金】_轻量级分组密码_基金支持热词逐年推荐_【万方软件创新助手】_20140803

2014年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
科研热词 链路层 轻量级密码 轻量级分组密码 立方测试 相关密钥 模板攻击 有效点选取 最佳攻击点 数据对齐 数据切割 差分功耗分析攻击 密钥中比特 加密算法 功耗预处理 分组密码 不可能差分攻击 wsn tinysec tinysbsec s盒 present mibs算法 led lblock密码
推荐指数 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2013年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
推荐指数 1 1 1 1 1
2012年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

科研热词 分组密码 轻量级分组密码 mibs 黑盒攻击 部分和技术 轻量级密码 轮密钥 超级s盒 计数法 积分密码分析 汉明重量泄露 汉明重泄露 概率积分密码分析 旁路立方体攻击 差分故障分析 差分密码分析 密码分析 代数旁路攻击 不可能差分分析 piccolo算法 lblock klein integral攻击 epcbc aes
推荐指数 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2013年 科研热词 轻量级分组密码 分组密码 轻量级加密算法 流密码 射频识别技术(rfid) 低功耗 present 部分和技术 轻量级 积分分析 物联网 混沌映射 消息鉴别码 时间复杂度 无线传感器网络 数据复杂度 散列函数 故障模型 密钥扩展 密码学算法 区分器 分组加密 分析 八阵图算法 优化 代数故障分析 中间相遇攻击 不可能差分 verilog hdl实现 piccolo mibs算法 klein cryptminisat biclique分析 attiny 推荐指数 4 4 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

分组密码和数据加密标准

分组密码和数据加密标准
40
Recommended Reading
• 王育民刘建伟编著, 通信网的安全----理论 与技术,2000,5 • Scneier, B. Applied Cryptography, New York: Wiley, 1996 • Mel, H.X. Baker, D. Cryptography Decrypted. Addison Wesley, 2001
4
图示:n=3时,一个n位到n位的分组密码
BOX S
n=3 0 2n=8 0 1 2n=8 0 1 2 3 4 5 6 7
5
1
Transformer
Transformer
2 3 4 5 6 7
0
1
1
1
Feistel密码
• 大多数传统分组加密算法都采用Feistel密 码结构,包括DES在内。 • Feistel建议使用乘积密码来增强密码的强 度。
34
计时攻击
• 通过对执行给定的多种密文解密所需时 间的观察,来获得关于密钥或明文的信 息。 • 利用加/解密算法对于不同的输入所花的 时间有着细微的差别。 • DES可以抵御计时攻击。
35
差分分析和线性分析
• 1990年,以色列密码学家Eli Biham和Adi Shamir提出了差分密码分析法,可对DES 进行选择明文攻击。 • 线性密码分析比差分密码分析更有效。
17
示 意 图
DES
18
DES描述
• DES利用56比特串长度的密钥K来加密长度为 64位的明文,得到长度为64位的密文。
19
DES加解密过程
• 令i表示迭代次数,⊕表示逐位模2求和,f为加 密函数。DES的加密和解密过程表示如下。

密码学分组密码

密码学分组密码
4. 加密和解密运算简单,易于软件和硬件的高速实现。
5. 数据扩展。一般无数据扩展,在采用同态置换和随机化 加密技术时可引进数据扩展。
6. 差错传播尽可能小。
设计分组密码常用的一些方法介绍 1. 代换
将n长的明文分组变换为唯一n长密文分组, 这样的变换是可逆的,称明文分组到密文 分组的可逆变换为代换。
D1(28 位)
8 2 16 1
(56 位) 置换选择 2
k1
(48 位)
循环左移
循环左移
Ci(28 位)
Di(28 位)
置换选择 2 ki
(56 位)
(48 位)
置换选择1和置换选择2
DES解密
和Feistel密码一样,DES的解密和加密使 用同一算法,只是子密钥的使用顺序相 反。
子密钥是独立产生的,可以独立存储。
DES加解密过程
令i表示迭代次数,表示逐位模2求和,f为加密函
数。DES的加密和解密过程表示如下。
加密过程:
L0R0 IP( 64bit输入码 )
பைடு நூலகம்
Li Ri1
i 1,2,,16
Ri Li1 f (Ri1, ki ) i 1,2,,16
64bit密文 IP1(R16L16 )
解密过程:
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
E的作用:
将32比特 的输入膨 胀为48比 特。
则输出为:B = t32 t1 t2 …… t32 t1
选择扩展运算:
12 34 56 78 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

对轻量级密码算法MIBS的相关密钥不可能差分攻击

对轻量级密码算法MIBS的相关密钥不可能差分攻击
CHEN Pi n g, LI AO Fu— c h e n g , W EI Ho ng — r u
( S c h o o l o f Ma t h e ma t i c s a n d P h y s i c s , Un i v e r s i t y o f S c i e n c e a n d T e c h n o l o g y B e i j i n g , B e i j i n g 1 0 0 0 8 3 , C h i n a )
进行扩展 , 对 1 4轮的 MI B S . 8 O进行 了攻击 ,并给 出了复杂度分析 。此攻击的结果需要的数据复杂度 为 2 和时问 复杂度为 2 。 关键词:轻量级分组密码;MI BS算法 ;相关密钥 ;不可能差分攻击 中图分类号 : T P 3 0 9 文献标识码 : A 文章编 号:1 0 0 0 — 4 3 6 X( 2 0 1 4 ) 0 2 — 0 1 9 0 — 0 4
陈平,廖福成 ,卫宏儒
f 北 京科 技大 学 数 理学 院 ,北京 1 0 0 0 8 3 )

要: 研究了轻量级分组密码 算法 MI B S抵抗相关密钥不可 能差分 的能力。 利 用 MI B S 一 8 0密钥编排算法 的性质 ,
给出了一个密钥差分特 征,并结合特殊 明密文对 的选取 ,构造了一个 1 0轮不可能差分 。在此不可能差分特 征上
Re l a t e d - — k e y i mp o s s i b l e d i f f e r e n t i a l a t t a c k o n a l i g h t we i g h t b l o c k c i p h e r MI BS
Ke y wo r d s : l i g h t we i g h t b l o c k c i p h e r ; MI BS a l g o i r t h m; r e l a t e d — k e y ; i mp o s s i b l e d i f f e r e n t i a l a  ̄ a c k

现代密码学_第四五讲 分组密码

现代密码学_第四五讲 分组密码

循环左移
D1 (28位) (56位) 置换选择2 k1 (48位)
14 3 23 16 41 30 44 46
置换方法
17 28 19 7 52 40 49 42 11 15 12 27 31 51 39 50 24 6 4 20 37 45 56 36 1 21 26 13 47 33 34 29 5 10 8 2 55 48 53 32
20
迭代的轮数
分组密码一般采用简单的、安全性弱的密码函数进行多
轮迭代运算,使得安全性增强。一般来说,分组密码迭代轮 数越多,密码分析越困难,但也不是追求迭代轮数越多越好, 过多迭代轮数会使加解密算法的性能下降,而实际的安全性 增强不明显。 决定迭代轮数的准则:密码算法分析的难度大 于简单穷举搜索攻击的难度。分组密码迭代轮数一般采用8、 10、12、16、20的居多。
循环左移
C16 (28位)
循环左移
C16 (28位) (56位) 置换选择2 k16 (48位)
注:去掉9,18,22,25,35,38, 43,54位
注:密钥各位在子密钥出现次数基本相同(12次至15次),平均次数为13.7
30
压缩替代S-盒(48位压缩到32位)
48比特
6比特 6比特 6比特 6比特 6比特 6比特 6比特 6比特
考虑,通常密钥长度t不能太大。当然,密钥长度t不能太小,
否则,难以抵抗对密钥的穷举搜索攻击。
7
分组密码的要求
分组长度要足够大 密钥量要足够大
当分组长度较小时,攻击者通过 穷举明文空间,得到密码变换规 律,难于抵御选择明文攻击。
密码变换足够复杂
加密和解密运算简单 无数据扩展或压缩
21

分组加密的四种模式(ECB、CBC、CFB、OFB)

分组加密的四种模式(ECB、CBC、CFB、OFB)

分组加密的四种模式(ECB、CBC、CFB、OFB)加密⼀般分为对称加密(Symmetric Key Encryption)和⾮对称加密(Asymmetric Key Encryption)。

对称加密⼜分为分组加密和序列密码。

分组密码,也叫块加密(block cyphers),⼀次加密明⽂中的⼀个块。

是将明⽂按⼀定的位长分组,明⽂组经过加密运算得到密⽂组,密⽂组经过解密运算(加密运算的逆运算),还原成明⽂组。

序列密码,也叫流加密(stream cyphers),⼀次加密明⽂中的⼀个位。

是指利⽤少量的密钥(制乱元素)通过某种复杂的运算(密码算法)产⽣⼤量的伪随机位流,⽤于对明⽂位流的加密。

解密是指⽤同样的密钥和密码算法及与加密相同的伪随机位流,⽤以还原明⽂位流。

分组加密算法中,有ECB,CBC,CFB,OFB这⼏种算法模式。

1)ECB(Electronic Code Book)/电码本模式DES ECB(电⼦密本⽅式)其实⾮常简单,就是将数据按照8个字节⼀段进⾏DES加密或解密得到⼀段8个字节的密⽂或者明⽂,最后⼀段不⾜8个字节,按照需求补⾜8个字节进⾏计算,之后按照顺序将计算所得的数据连在⼀起即可,各段数据之间互不影响。

特点:1.简单,有利于并⾏计算,误差不会被传送;2.不能隐藏明⽂的模式;repetitions in message may show in cipher text/在密⽂中出现明⽂消息的重复3.可能对明⽂进⾏主动攻击;加密消息块相互独⽴成为被攻击的弱点/weakness due to encrypted message blocks being independent2)CBC(Cipher Block Chaining)/密⽂分组链接⽅式DES CBC(密⽂分组链接⽅式)有点⿇烦,它的实现机制使加密的各段数据之间有了联系。

其实现的机理如下:加密步骤如下:1)⾸先将数据按照8个字节⼀组进⾏分组得到D1D2......Dn(若数据不是8的整数倍,⽤指定的PADDING数据补位)2)第⼀组数据D1与初始化向量I异或后的结果进⾏DES加密得到第⼀组密⽂C1(初始化向量I为全零)3)第⼆组数据D2与第⼀组的加密结果C1异或以后的结果进⾏DES加密,得到第⼆组密⽂C24)之后的数据以此类推,得到Cn5)按顺序连为即为加密结果。

分组密码加密算法的常见算法结构

分组密码加密算法的常见算法结构随着计算机技术的不断发展,信息安全问题也越来越受到关注。

在信息传输过程中,数据的加密是保障信息安全的重要手段之一。

分组密码加密算法是一种常见的加密算法,它将明文数据分成若干个固定长度的分组,通过对每个分组进行加密来实现整个消息的加密。

本文将介绍分组密码加密算法的常见算法结构,以及它们的优缺点和应用场景。

1. 基本结构分组密码加密算法的基本结构由两个部分组成:明文分组和密文分组。

明文分组是指明文数据被分割成固定长度的块,每个块长度通常为64位或128位。

密文分组是指加密后的明文分组,长度与明文分组一致。

加密算法的核心是将明文分组转换为密文分组,这个过程称为加密。

解密的过程是将密文分组转换为明文分组。

分组密码加密算法的常见算法结构包括:ECB、CBC、CFB和OFB。

这些算法结构在加密和解密过程中采用不同的方式来处理明文和密文分组。

2. ECB模式ECB(Electronic Codebook)模式是最简单的分组密码加密算法结构,它将每个明文分组单独加密,得到对应的密文分组。

每个明文分组之间是独立的,因此ECB模式无法处理明文分组之间的关系。

这种模式的缺点是,它容易受到重放攻击,即攻击者可以拦截并重复发送相同的密文分组,从而获得明文数据。

ECB模式的优点是加密和解密过程简单,可以并行处理多个分组。

它适用于每个明文分组的安全性要求不高的情况,例如对称密钥的传输和存储。

3. CBC模式CBC(Cipher Block Chaining)模式是一种常见的分组密码加密算法结构,它采用前一个密文分组来加密当前的明文分组。

具体地,在加密过程中,首先将前一个密文分组和当前明文分组进行异或运算,得到一个新的数据块,然后对这个新数据块进行加密。

解密过程与加密过程相反,将密文分组解密后再与前一个密文分组进行异或运算,得到对应的明文分组。

CBC模式的优点是可以处理明文分组之间的关系,提高安全性。

02分组密码—DES算法及AES简介


分组密码和流密码的比较
• 基本区别
– 粒度 8字节分组 vs. 1比特或1字节
各自适应不同的应用数据格式 – 分组密码对相同的明文分组,总是输出相同的密文分组;
而流密码却输出不同的密文比特
– 流密码一般快很多
• 分组密码多些,是商用密码的主流
– 分组密码也可以用作流模式
• 安全性对比
– 流密码是核心密码的主流
L1 =R2⊕F(k2,R1) =L1⊕F(k2,R1)⊕F(k2,R1) =L1
L0 =R1⊕F(k1,R0) =L0⊕F(k1,R0)⊕F(k1,R0) =L0
kpwang@
Copyright by © 王鲲鹏
Feistel伪代码
明文m – 长度n=2t,记为m0m1,每个长度为t 密钥k – 产生r个子密钥k1,k2 ,...,kr 加密E m: for i=2 to r+1 do 0, 1 mi=mi-2 XOR f(mi-1, ki-1) i, i+1 <- ki 得密文(mr,mr+1) r, r+1 <- kr 解密D for i=r to 1 do mi-1=mi+1 XOR f(mi, ki) 或 for i=r-1 to 0 do mi=mi+2 XOR f(mi+1, ki+1) =mi XOR f(mi+1, ki+1) XOR f(mi+1, ki+1) =mi
– 密文分组和明文分组同样长 • 对某个密钥可以构造一个明密文对照表
– 电码本 (Substitution Table) – 所以分组的长得至少64比特才好
– 密钥空间2 << 可逆映射个数(2 )!

分组密码体制


2018/10/5
图3.1 分组密码框图
3
• 与流密码不同之处在于输出的每一位数字不是 只与相应时刻输入的明文数字有关,而是与一 组长为n的明文数字有关。 • 在相同密钥下,分组密码对长为n的输入明文组 所实施的变换是等同的,所以只需研究对任一 组明文数字的变换规则 • 这种密码实质上是字长为n的数字序列的代换密 码
– 在以软件实现时,应选用简单的运算,使作用于 子段上的密码运算易于以标准处理器的基本运算, 如加、乘、移位等实现,避免用以软件难于实现 的逐比特置换。 – 为了便于硬件实现,加密和解密过程之间的差别 应仅在于由秘密密钥所生成的密钥表不同而已。 这样,加密和解密就可用同一器件实现。 – 设计的算法采用规则的模块结构,如多轮迭代等, 以便于软件和VLSI(超大规模集成电路)快速实 现。
2018/10/5
13
• 如果分组长度太小,系统则等价于古典的 代换密码,容易通过对明文的统计分析而 被攻破。
– 这个弱点不是代换结构固有的,只是因为分 组长度太小。如果分组长度n足够大,而且从 明文到密文可有任意可逆的代换,那么明文 的统计特性将被隐藏而使以上的攻击不能奏 效
• 从实现的角度来看,分组长度很大的可逆 代换结构是不实际的。
2018/10/5 9
⑤ 数据扩展尽可能地小。一般无数据扩展, 在采用同态置换和随机化加密技术时可引 入数据扩展。 ⑥ 差错传播尽可能地小。 • 要实现上述几点要求:
– 首先要在理论上研究有效而可靠的设计方法 – 而后进行严格的安全性检验 – 要易于实现
2018/10/5
10
§3.1.1 代换
• 如果明文和密文的分组长都为n比特,则明文 的每一个分组都有2n个可能的取值。为使加密 运算可逆(使解密运算可行),明文的每一个 分组都应产生惟一的一个密文分组,这样的变 换是可逆的, • 称明文分组到密文分组的可逆变换为代换。

分组密码体制

5
两个基本设计方法
由于对称分组密码的缺点是不善于隐藏明文的 统计特性,因而对“统计分析”攻击方式的抵御能 力不强,故Shannon提出了两个抵抗“统计分析” 的方法:混淆和扩散。
◆混淆:目的是为了隐藏明文和密文之间的关系,增加密 钥和密文之间关系的复杂性。可以使用“代替”的方法 来实现。
◆扩散:目的是让密文没有统计特征,也就是将明文中的 统计信息散布到整个密文中,增加密文与明文之间关系 的复杂性,以挫败推测出密钥的尝试。可以使用“置换” 的方法来实现。
对于给定的64位的明文p,通过初始置换IP获得64位的 p320,位并记将为pR00分,为即左p0右=I两P(部p)=分L,0R前0。面IP32置位换记如为图L所0,示后。面
置换表中的数字1~64代表的仅仅是明文 分组中元素所处的位置,而非元素的值!
• 第四步:初始逆置换IP-1 应用初始逆置换IP-1对最后一轮迭代之后得到 的R16L16进行置换,得到密文C。
• 分组加密算法本质上体现了n位明文分组和n位密文分组的一一 映射。
• 分组大小n的选择
1“)统如计果分n较析一码小”般,,方的不则法,同得的对变到攻于换的击的n明。位总文分数空组为间的(和2对n密)!称,文分也空组就间密是有限,容易受到 2)如果n充说分,大密,钥则的由个于数得为到(的2n明)!个文。空间和密文空间足够大, 明文的统计特征将被掩盖,可以抵抗“统计分析”方法的攻击 ;但同时也将导致密钥数目的急剧增加和密钥空间的急剧增大 ,这会给密钥的分配、管理和存储带来很大的困难。
Feistel 密码结构
DES算法的整体结构 ——Feistel密码结构
• 每一轮的迭代算法 加密:对于每一轮 i=1,2,...,n,新 的左右部分根据如下规则重新
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档