[工学]现代密码学第五章.ppt

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

第五章:数字签名 一、杂凑函数 二、数字签名的基本概念 三、几种常用的数字签名 四、特殊用途的数字签名 一、杂凑函数 杂凑函数又称为: (1) Hash编码; (2) Hash函数; (3)散列编码: (4)散列函数; (5)单向压缩函数。 一、杂凑函数 在公钥密码的内容中,已经介绍了“单向函数”的概念。而杂凑函数是一类特殊的单向函数。 设数据文件是任意长度的比特串x 。在密码应用中,希望有这样的函数 y=H(x),满足 (1)将x压缩成为固定长度的比特串y。 (2)不同的x一定要生成不同的y。 (3)由y的值无法倒算x的值。 (这就是说,希望y的作用相当于x 的“身份识别符号”,或者“摘要”。比如人的指纹、DNA、虹膜等。) 一、杂凑函数 一个注解 对函数y=H(x)的前两条希望是互不相容的。 这就是说,在要求“将任意长度的比特串x压缩成为固定长度的比特串y”时,无法做到“不同的x生成不同的y”。 (散列编码是原始数据文件的压缩,而不是带格式的文件的压缩,如ZIP等) 例如: y=H(x),其中设x的长度在128到256之间;设y的固定长度为128。 (在这里, 比特串x是数据文件,必须假设它“可能是任何一个长度在128到256之间的比特串”。 ) 一共有2128+2129+2130+…+ 2256个不同的x。一共有2128个不同的y。 x的个数多于y的个数,必然有不同的x压缩成相同的y。 一、杂凑函数 实际性质:杂凑函数 函数 y=H(x)满足 (1)将任意长度的比特串x压缩成为固定长度的比特串y。 (2)已知x,计算y=H(x)很容易;已知y,找一个x满足y=H(x)却很困难。这一性质称为单向性。 (3)找(x1,x2),x1≠x2,H(x1)= H(x2),很困难。这一性质称为无碰撞性。 这样的函数称为杂凑函数。 一、杂凑函数 (单向性的准确解释:或许已经知道了许多对 (x*, y*),满足y*=H(x*);或许一个新的y确实存在一个x满足y=H(x);然而实际找到这样的x却很困难,在计算上行不通。 无碰撞性的准确解释:或许已经知道了许多对 (x*, y*),满足y*=H(x*);或许确实存在(x1,x2)满足: x1≠x2,H(x1)= H(x2),实际找到这样的(x1,x2)却很困难,在计算上行不通。 ) 一、杂凑函数 杂凑函数的性质(3)强于性质(2),即由无碰撞性能够得到单向性。例如,设函数 y=H(x),x的长度固定为N,y的长度为L。 设每个y有2N-L个x使y=H(x)。(均衡函数) 随机地取m个x值。则 P(有个x值满足H(x)=y’)=1-(1-2-L)m; P(有两个x值具有相同的H(x)值) =1-(2L)(2L-1)(2L-2)…(2L-m+1)2-Lm =1-(1-0×2-L)(1-1×2-L) (1-2×2-L)…(1-(m-1)×2-L)。 一、杂凑函数 (什么样的函数能作为杂凑函数?这个问题的含义非常广泛。 以下仅举出几个简单的例子说明,什么样的函数不能作为杂凑函数。) 一、杂凑函数 例1:设函数y=H(x)具有可加性:对任意的 x1,x2,H(x1)+H(x2)=H(x1+x2)。这样的函数不能作为杂凑函数。 取x1并计算y1=H(x1);取x2并计算y2=H(x2)。 记y=y1+y2。求一个x使得y=H(x),可以取x=x1+x2。 例2:设函数y=H(x)具有线性:对任意的 x,a,aH(x)=H(ax)。这样的函数不能作为杂凑函数。 取x1并计算y1=H(x1)。 记y=ay1。求一个x使得y=H(x),可以取x=ax1。 一、杂凑函数 例3:设函数y=H(x)具有局部置换性: x的第一个比特总等于y的第三个比特,无论x为何值。这样的函数不能作为杂凑函数。 取x1并计算y1=H(x1)。 取y为将y1改变第三个比特。求一个x使得y=H(x),可以取为将x1改变第一个比特。 例4:设函数y=H(x)具有某种连续性:当 y1与y2 “距离很近”时,存在 x1与x2 “距离很近” ,且y1=H(x1), y2=H(x2) 。这样的函数不能作为杂凑函数。 取x1并计算y1=H(x1)。取y2与y1“距离很近”。 寻找一个x2使y2=H(x2),只需要在x1的“附近”寻找,搜索量远远低于穷举搜索。 一、杂凑函数 例4:设函数y=H(x),y的固定长度太小。这样的函数不能作为杂凑函数,因为可以用穷举的方法进行碰撞攻击。 设y的固定长度为8。注意到不同的y的值的个数有28=256个。 取257个不同的x,并对每个x计算y=H(x),得到了257个y。 这257个y必然有两个具有相同的值。 一、杂凑函数 由此可见,杂凑函数y=H(x)不能具有任何“整齐”的性质,并且x的任一个比特影响y的每

文档评论(0)

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

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

1亿VIP精品文档

相关文档