第六章-消息认证和杂凑算法-2015-6要点.ppt

第六章-消息认证和杂凑算法-2015-6要点.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章-消息认证和杂凑算法-2015-6要点

Keccak概述 吸收过程: 1. state S被初始化为0; 2. 对输入进行填充; 3. 将第一组r1个输入bit与r进行异或; 4. S被f(S)取代; 5. 下一个r2个输入比特与r进行异或; 6. S被f(S)取代 … 循环直至所有的r数据块被计算完成 . * Keccak概述 压缩过程:1. 将所得运算结果S截取r位,赋值给Z; 2. 如果r小于输出结果n,对S进行迭代运算; 3. 将迭代运算结果截取r位级联到Z后面,循环进行迭代和级联直到Z的长度大于n; 4. 截取Z的前n位,所得结果即为Keccak的运算结果。 * keccak概述 b=25×2? w=2? a[5][5][w] * state S[w(5y+x)+z]=a[x][y][z] * f[b]: θ θ是线性的,以扩散为目的。 * f[b]: ρ 满足 当x=y=0时,t=-1。 用不同的三角形数对slice上的25个数进行比特旋转。 (0,1,3,6,10,15,21,28,36…) x=3 x=4 x=0 x=1 x=2 y=2 153 231 3 10 171 y=1 55 276 36 300 6 y=0 28 91 0 1 190 y=4 120 78 210 66 253 y=3 21 136 105 45 15 * f[b]: ρ ρ:slice内部的转换 ,使每个slice之间的离散加快 * f[b]: π π:对lane进行映射,三维数组高度离散,z轴有变换不变性 其中 x=y=0位于平面中心 * f[b]: χ χ:唯一的非线性映射,实现简单的非线性传播。 该函数与θ相互作用,使每一轮迭代的每个输入比特都潜在的影响了31个输出比特 * f[b]: χ χ:唯一的非线性映射,实现简单的非线性传播。 该函数与θ相互作用,使每一轮迭代的每个输入比特都潜在的影响了31个输出比特 * f[b]:τ 0 1 3 7 15 * f[b] sponge函数中,f 对θ、ρ、π、χ和τ五个过程进行迭代运算,而迭代次数由 nr=12+2? 决定。 * 参数选择 r决定了每个数据块中数据的长度,c决定了这个函数的安全级别。 c=2n.安全性强度为2n 针对b=1600,建议的参数长度: * 6.5 HMAC算法 以前曾介绍过一个MAC的例子——数据认证算法 该算法反映了传统上构造MAC最为普遍使用的方法,即基于分组密码的构造方法 近年来研究构造MAC的兴趣已转移到基于密码杂凑函数的构造方法,这是因为: 杂凑函数(如MD5,SHA)软件实现快于分组密码(如DES)的软件实现 杂凑函数的库代码来源广泛 杂凑函数没有出口限制,而分组密码即使用于MAC也有出口限制 杂凑函数并不是为用于MAC而设计的,由于杂凑函数不使用密钥,因此不能直接用于MAC 目前已提出了很多将杂凑函数用于构造MAC的方法,其中HMAC就是其中之一,已作为RFC2104被公布,并在IPSec和其他网络协议(如SSL)中得以应用 * 6.5.1 HMAC的设计目标 RFC2104列举了HMAC的以下设计目标: ① 可不经修改而使用现有的杂凑函数,特别是那些易于软件实现的、源代码可方便获取且免费使用的杂凑函数。 ② 其中镶嵌的杂凑函数可易于替换为更快或更安全的杂凑函数。 ③ 保持镶嵌的杂凑函数的最初性能,不因用于HMAC而使其性能降低。 ④ 以简单方式使用和处理密钥。 ⑤ 在对镶嵌的杂凑函数合理假设的基础上,易于分析HMAC用于认证时的密码强度。 * 前两个目标是HMAC被公众普遍接受的主要原因,这两个目标是将杂凑函数当作一个黑盒使用,这种方式有两个优点: 第一,杂凑函数的实现可作为实现HMAC的一个模块,这样一来,HMAC代码中很大一块就可事先准备好,无需修改就可使用; 第二,如果HMAC要求使用更快或更安全的杂凑函数,则只需用新模块代替旧模块,例如用实现SHA的模块代替MD5的模块。 最后一条设计目标则是HMAC优于其他基于杂凑函数的MAC的一个主要方面,HMAC在其镶嵌的杂凑函数具有合理密码强度假设下,可证明是安全的 * 6.5.2 HMAC算法描述 图6-11是HMAC算法的运行框图,其中 H为嵌入的杂凑函数(如MD5、SHA), M为HMAC的输入消息(包括杂凑函数所要求的填充位), Yi(0≤i≤L-1)是M的第i个分组, L是M的分组数, b是一个分组中的比特数, n为由嵌入的杂凑函数所产生的杂凑值的长度, K为密钥,如果密钥长度大于b,则将密钥输入到杂凑函数中产生一个n比特长的密钥, K

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档