密码学基础课件:第六讲 对称密码学.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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 个密钥控制(叫子密钥) 一轮Feistel网络 为什么Feistel很重要 哑谜有一个互助轮,可以实现同一台机器的加密和解密 Feistel是一个结构,这个结构可以实现加密和解密。 第六讲 对称密码学-1 代换-置换网络 线性分析 差分分析 DES预热 代换-置换网络 在Shannon 1949 的文章中,介绍了代换-置换网络的思想 (S-P) networks 这种思想形成了现代密码的基础 S-P network 代换-置换乘积密码的现代形式 S-P networks 是基于下列两种最基本的密码运算(前面介绍过): 代换( Substitution ) 置换( Permutation ) 代换运算 一个二进制字用其它二进制字代换 这种代换函数就构成密钥 可以看作是一个大的查表运算,叫做 S-boxes 代换运算 注意左侧有0,0,1三个符号,右侧是1,1,0三个符号,发生了代换 置换运算 二进制字次序被打乱 重新排序的方法构成密钥 叫这种变换为 P-boxes 置换运算 注意左侧和右侧0,1的个数是相同的,只是位置发生了变化 Substitution-Permutation Network Shannon 把这两种运算组合在一起 一些 S-boxes 由 P-box 连接 这种变换叫做混合变换(mixing transformations ) 实际使用的替换-置换网络 实际中,我们需要加密,也需要解密 因此,有两种方法: 1。定义每个替换、置换的逆,这样增加了复杂度 2。定义一种结构,容易求逆,这样可以使用基本的相同编码或硬件用于加密和解密(哑谜) 基本设计原理 Shannons 混合变换形成一种特殊的乘积密码 组成部分一起工作: S-Boxes (S-盒) 提供输入bits混淆作用 (confusion) P-Boxes 提供扩散作用(diffusion across S-box inputs) 这种效果进一步解释为”雪崩”与”完备性” (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 雪崩与完备性 雪崩效应(Avalanche effect ) 输入改变1bit, 导致输出近一半的比特发生变化 完备性效应(Completeness effect ) 每个输出比特是所有输入比特的复杂函数的输出 线性密码分析 线性密码分析 一个示例的S和P 线性密码分析 上述SP下的SPN示例 输入x 轮密钥为K 轮密钥作用后输出为u S代换后为V P置换后为W 迭代3次 最后代换后输出 线性密码分析 S代换的线性逼近(下面这个图是例3.1S代换的二进制写法) 线性密码分析 考虑X1?X4?Y2 取0的情况有_______种? 考虑X3?X4?Y1?Y4 取0的情况有_______种? 完善保密的情况是明文空间和密文空间_____? 所以理想情况下取0的情况应该是____? 线性密码分析 考虑右图的四个S盒 即X1?X3?X4?Y2(12个0) X2?Y2?Y4(4个0) X2?Y2?Y4(4个0) X2?Y2?Y4(4个0) 为什么选这四个 上式T1?T2?T3?T4 有什么用? 注意T1到T4都是有偏差的,那么猜想T1?T2?T3?T4也是有偏差的。 此时用已知明文攻击,假设已知同一密钥加密的许多对明文密文,那么 应当是有偏差的。 注意到6,8,14,16仅对应了最后一轮第2和第4个S盒。 有什么用? 对于第2个和第4个S盒,最后一轮的轮密钥仅有4+4个比特,256种可能,那么对每一个轮密钥,所有的明-密文对,解密最后一层,得到第2,4个S盒的输出,查表找到输入,即第4层U的值,然后计算偏差 有什么用 如果最后一轮的轮密钥不正确,那么对于所有的明密文对,式 的偏差接近0; (例如10

文档评论(0)

学习让人进步 + 关注
实名认证
内容提供者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档