返回列表 发帖

[原创]密码学与计算机安全二

[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

返回列表 回复 发帖