现代密码学
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DES, Blowfish, IDEA, LOKI, RC5, Rijndael (AES) 及其它一些算法
❖
3。分组密码
❖ 在分组密码中,消息被分成许多块 ❖ 每块都要被加密 ❖ 类似与许多字符被替换-( 64-bits or
more ) ❖ 许多现代密码具有下列形式:
3.分组密码 (cont.)
6. Shannons 保密系统理论 cont
❖ 指出 Book cipher 是不安全的 ❖ 即如果通过填加一些英语字母加密英文内容,
是不安全的 ❖ 因为英语有80%的冗余度 ❖ 英语密文如果有60%的冗余度,就可以破解
7
❖
7. 替换-置换密码
❖ 在Shannon 1949 的文章中,介绍了替换置换网络的思想 (S-P) networks
❖ 求逆很容易 ❖ 实际中,一些这样的连续变换形成完整密码
变换(典型:16轮)
14. 基本设计原理
❖ Shannons 混合变换形成一种特殊的成绩密码 ❖ 组成部分一起工作: ❖ S-Boxes (S-盒)
提供输入bits混合作用 (confusion)
❖ P-Boxes
提供扩散作用(diffusion across S-box inputs)
15. 雪崩效应(Avalanche effect )
❖ 输入改变1bit, 导致近一 般的比特发生变化
❖ ????
16. 完备性效应(Completeness effect )
❖ 每个输出比特是所有 输入比特的复杂函数 的输出
❖ ??
17. 分组密码设计(Block Cipher Design )
❖ 函数 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))
❖ 这种思想形成了现代密码的基础 ❖ S-P network 替换-置换乘积密码的现代形
式 ❖ S-P networks 是基于下列两种最基本的密
码运算(前面介绍过): ❖ 替换( Substitution ) ❖ 置换( Permutation )
8. 替换运算
❖ 一个二进制字用其它二进制字替换 ❖ 这种替换函数就构成密钥 ❖ 可以看作是一个大的查表运算
❖ 这种效果进一步解释为”雪崩”与”完全性” (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, 19来自百度文库5, pp 523-534
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 ❖ 在上述文章中,提出了下列概念: ❖ “熵”的概念 ❖ 语言冗余度 ❖ 破译密码需要多少信息量 ❖ 定义了”计算安全”与”无条件安全”
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)
1.现代分组密码- moden-block ciphers
❖ 目前最广泛使用的加 密算法
❖ 提供保密与认证服务
2.私钥加密算法 private-key encryption
❖ 也叫单钥或对称算法) ❖ 通信实体双方使用相同的密钥加密和
解密
❖ 古典密码是私钥加密算法 ❖ 现代密码(由乘积密码构成)包括
❖ 叫做 S-boxes
替换运算(续)
9. 置换运算(变换)
❖ 二进制字次序被打乱 ❖ 重新排序的方法构成密钥 ❖ 叫这种变换为 P-boxes
9. Cont.
10. Substitution-Permutation Network
❖ Shannon 把这两种运算组合在一起 ❖ 一些 S-boxes 由 P-box 连接 ❖ 这种变换叫做混合变换(mixing
❖ 这些设计原理是设计好的分组密码的准则 ❖ “雪崩”保证小的输入变化导致大的输出变
化
❖ 完全性保证每个输出比特依赖于所有的输出 比特
❖ 我们可以看到,古典密码没有这些性质
❖
18. Feistel Cipher 设计
❖ 设计密码时,下列参数需要考虑: ❖ 分组大小(block size)
增加分组长度会提高安全性, 但降低了密码运算 速度
4.理论基础
❖ 理想的方法是使用尽可能大的替换模块 ❖ 但不实际,因为对每个64bit的模块,
将需要264 个实体的替换表 ❖ 因此使用一些小的模块代替 ❖ 使用成绩密码的思想 ❖ 这种概念由 Shannon and Feistel 提出
5. Shannons 保密系统理论
❖ Claude Shannon 对现代密码的重要工作 ❖ C E Shannon, "Communication Theory of
transformations )
10. 替换-置换网络(cunt.)
11. 实际使用的替换-置换网络
❖ 实际中,我们需要加密,也需要解密 ❖ 因此,有两种方法: ❖ 1。定义每个替换、置换的逆,这样增
加了复杂度
❖ or ❖ 2。定义一种结构,容易求逆,这样可
以使用基本的相同编码或硬件用于加密 和解密
❖
3。分组密码
❖ 在分组密码中,消息被分成许多块 ❖ 每块都要被加密 ❖ 类似与许多字符被替换-( 64-bits or
more ) ❖ 许多现代密码具有下列形式:
3.分组密码 (cont.)
6. Shannons 保密系统理论 cont
❖ 指出 Book cipher 是不安全的 ❖ 即如果通过填加一些英语字母加密英文内容,
是不安全的 ❖ 因为英语有80%的冗余度 ❖ 英语密文如果有60%的冗余度,就可以破解
7
❖
7. 替换-置换密码
❖ 在Shannon 1949 的文章中,介绍了替换置换网络的思想 (S-P) networks
❖ 求逆很容易 ❖ 实际中,一些这样的连续变换形成完整密码
变换(典型:16轮)
14. 基本设计原理
❖ Shannons 混合变换形成一种特殊的成绩密码 ❖ 组成部分一起工作: ❖ S-Boxes (S-盒)
提供输入bits混合作用 (confusion)
❖ P-Boxes
提供扩散作用(diffusion across S-box inputs)
15. 雪崩效应(Avalanche effect )
❖ 输入改变1bit, 导致近一 般的比特发生变化
❖ ????
16. 完备性效应(Completeness effect )
❖ 每个输出比特是所有 输入比特的复杂函数 的输出
❖ ??
17. 分组密码设计(Block Cipher Design )
❖ 函数 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))
❖ 这种思想形成了现代密码的基础 ❖ S-P network 替换-置换乘积密码的现代形
式 ❖ S-P networks 是基于下列两种最基本的密
码运算(前面介绍过): ❖ 替换( Substitution ) ❖ 置换( Permutation )
8. 替换运算
❖ 一个二进制字用其它二进制字替换 ❖ 这种替换函数就构成密钥 ❖ 可以看作是一个大的查表运算
❖ 这种效果进一步解释为”雪崩”与”完全性” (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, 19来自百度文库5, pp 523-534
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 ❖ 在上述文章中,提出了下列概念: ❖ “熵”的概念 ❖ 语言冗余度 ❖ 破译密码需要多少信息量 ❖ 定义了”计算安全”与”无条件安全”
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)
1.现代分组密码- moden-block ciphers
❖ 目前最广泛使用的加 密算法
❖ 提供保密与认证服务
2.私钥加密算法 private-key encryption
❖ 也叫单钥或对称算法) ❖ 通信实体双方使用相同的密钥加密和
解密
❖ 古典密码是私钥加密算法 ❖ 现代密码(由乘积密码构成)包括
❖ 叫做 S-boxes
替换运算(续)
9. 置换运算(变换)
❖ 二进制字次序被打乱 ❖ 重新排序的方法构成密钥 ❖ 叫这种变换为 P-boxes
9. Cont.
10. Substitution-Permutation Network
❖ Shannon 把这两种运算组合在一起 ❖ 一些 S-boxes 由 P-box 连接 ❖ 这种变换叫做混合变换(mixing
❖ 这些设计原理是设计好的分组密码的准则 ❖ “雪崩”保证小的输入变化导致大的输出变
化
❖ 完全性保证每个输出比特依赖于所有的输出 比特
❖ 我们可以看到,古典密码没有这些性质
❖
18. Feistel Cipher 设计
❖ 设计密码时,下列参数需要考虑: ❖ 分组大小(block size)
增加分组长度会提高安全性, 但降低了密码运算 速度
4.理论基础
❖ 理想的方法是使用尽可能大的替换模块 ❖ 但不实际,因为对每个64bit的模块,
将需要264 个实体的替换表 ❖ 因此使用一些小的模块代替 ❖ 使用成绩密码的思想 ❖ 这种概念由 Shannon and Feistel 提出
5. Shannons 保密系统理论
❖ Claude Shannon 对现代密码的重要工作 ❖ C E Shannon, "Communication Theory of
transformations )
10. 替换-置换网络(cunt.)
11. 实际使用的替换-置换网络
❖ 实际中,我们需要加密,也需要解密 ❖ 因此,有两种方法: ❖ 1。定义每个替换、置换的逆,这样增
加了复杂度
❖ or ❖ 2。定义一种结构,容易求逆,这样可
以使用基本的相同编码或硬件用于加密 和解密