[watermark] 现代密码学
1.现代分组密码- moden-block ciphers
目前最广泛使用的加密算法
提供保密与认证服务
2.私钥加密算法
private-key encryption
是一种单钥或对称算法
通信实体双方使用相同的密钥加密和解密
现代密码(由乘积密码构成)包括DES, Blowfish, IDEA, LOKI, RC5, Rijndael (AES) 及其它一些算法
3。分组密码
在分组密码中,消息被分成许多块
每块都要被加密
类似于许多字符被替换-( 64-bits or more )
许多现代分组密码具有下列形式:
3.分组密码 (cont.)
4.理论基础
理想的方法是使用尽可能大的替换模块
但不实际,因为对每个64bit的模块,将需要264 个实体的替换表
因此使用一些小的模块代替
使用乘积密码的思想
这种概念由 Shannon and Feistel 提出
5. Shannons 保密系统理论
Claude Shannon 对现代密码的重要工作
C E Shannon, "Communication Theory of Secrecy Systems", Bell System Technical Journal, Vol 28, Oct 1949, pp 656-715
C E Shannon, "Prediction and Entropy of printed English", Bell System Technical Journal, Vol 30, Jan 1951, pp 50-64
在上述文章中,提出了下列概念:
“熵”的概念
语言冗余度
破译密码需要多少信息量
定义了”计算安全”与”无条件安全”
6. Shannons 保密系统理论 cont
即如果通过填加一些英语字母加密英文内容,是不安全的
因为英语有80%的冗余度
英语密文如果有60%的冗余度,就可以破解
7. 替换-置换密码
在Shannon 1949 的文章中,介绍了替换-置换网络的思想 (S-P) networks
这种思想形成了现代密码的基础
S-P network 替换-置换乘积密码的现代形式
S-P networks 是基于下列两种最基本的密码运算(前面介绍过):
替换( Substitution )
置换( Permutation )
8. 替换运算
一个二进制字用其它二进制字替换
这种替换函数就构成密钥
可以看作是一个大的查表运算
叫做 S-boxes
替换运算(续)
9. 置换运算(变换)
二进制字次序被打乱
重新排序的方法构成密钥
叫这种变换为 P-boxes
9. Cont.
10. Substitution-Permutation Network
Shannon 把这两种运算组合在一起
一些 S-boxes 由 P-box 连接
这种变换叫做混合变换(mixing transformations )
10. 替换-置换网络(cunt.)
11. 实际使用的替换-置换网络
实际中,我们需要加密,也需要解密
因此,有两种方法:
1.定义每个替换、置换的逆,这样增加了复杂度
2. 定义一种结构,容易求逆,这样可以使用基本的相同编码或硬件用于加密和解密
12. Feistel 密码
Horst Feistel, (working at IBM Thomas J Watson Research Labs )70‘s初,设计了这样的结构,我们现在叫做feistel cipher
思想是把输入块分成左右两部分 L(i-1) 和R(i-1), 变换是在密码的第I轮只使用R(i-1)
函数 g incorporates one stage of the S-P network的每个阶段有g 工作,由第i 个密钥控制(叫子密钥)
13. Feistel 密码
变换可以用下列函数表示:
L(i) = R(i-1)
R(i) = L(i-1) XOR g(K(i), R(i-1))
求逆很容易
实际中,一些这样的连续变换形成完整密码变换(典型:16轮)
14. 基本设计原理
Shannons 混合变换形成一种特殊的乘积密码
组成部分一起工作:
S-Boxes (S-盒)
提供输入bits混合作用 (confusion)
其目的在于使作用于明文的密钥和密文之间的关系复杂化,使明文和密文之间、密文和密钥之间的统计相关特性极小化,从而使统计分析攻击不能奏效。通常的方法是“替换(Substitution)”(回忆恺撒密
码)。
P-Boxes
提供扩散作用(diffusion)
将明文及密钥的影响尽可能迅速地散布到较多个输出的密文中(将明文冗余度分散到密文中)。产生扩散的最简单方法是通过“换位(Permutation)”(比如:重新排列字符)
这种效果进一步解释为”雪崩”与”完全性” (Avalanche and Completeness )by Webster & Tavares
"On the Design of S-boxes", in Advances in Cryptology - Crypto 85, Lecture Notes in Computer Science, No 218, Springer-Verlag, 1985, pp 523-534
15. 雪崩效应(Avalanche effect )
输入改变1bit, 导致近一般的比特发生变化
一个函数F具有好的雪崩特性是指:
对2^m个明文 向量, 分为2^m-1个向量对xi和xi’,每对向量只有一个bit不同, 定义Vi = f(X) XOR f(Xi) ,
则近一半的Vi为1.
16. 完备性效应(Completeness effect )
每个输出比特是所有输入比特的复杂函数的输出
F具有好的完备性是指:
对密文输出向量的每一比特j, 0 |