鉴别_查千明详解.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于鉴别总结 当今世界各主要国家的政府都十分重视密码工作,有的设立庞大机构,拨出巨额经费,集中数以万计的专家和科技人员,投入大量高速的电子计算机和其他先进设备进行工作。与此同时,各民间企业和学术界也对密码日益重视,不少数学家、计算机学家和其他有关学科的专家也投身于密码学的研究行列,更加速了密码学的发展。 但是,在很多年里这种密码学是军队独家专有的领域。美国国家安全局以及前苏联、英国、法 以色列及其它国家的安全机构已将大量的财力投入到加密自己的通信,同时又千方百计地去破译别人的通信的残酷游戏之中,面对这些政府,个人既无专门知识又无足够财力保护自己的秘密,个人隐秘的信息得不到法律和技术两方面有效的保护。 在这之后,公开的密码学研究开始呈现爆炸性地增长。从二次世界大战以来,当普通公民还在长期使用经典密码时,计算机密码学成为世界军事的独占领域,在军事战争中占据举足轻重的地位。密码学发展到今天,最新的计算机密码学已广泛的应用到除军事以外的其他领域,非专业人员都可以利用密码技术去阻止别人,包括政府、军方的安全机构。然而,作为普通的百姓,我们是否真的需要这种保密?回答是肯定的,我们也可能正设计一件新产品,讨论一种市场策略,或计划接管竞争对手的生意,或者,我们可能生活在一个不尊重个人隐私权的国家,也可能做一些我们自己认为并非违法实际却是非法的事情。不管理由是什么,我们的数据和通信都是私人的、秘密的,与他人无关,也拒绝别人的窥探。 那么对我们来说如何来鉴别这些消息的真假呢?从而有了鉴别的产生。鉴别的目的主要有两个:一是信源识别即验证信息的发送者是真正的,而不是冒充的;二是验证信息的完整性,在传送或存储过程中未被篡改,重放或延迟等。为了帮助我们去鉴别那些消息的真伪,我们引入了鉴别函数。利用它来判断消息的真假。 鉴别函数这样分成这样的三类:一类是消息加密(整个消息的密文作为认证标识);二是消息鉴别码(简称MAC,是通过公开函数+密钥产生一个固定长度的值作为认证标识);三是散列函数(一个公开的函数将任意长度的消息映射到一个固定长度的哈希值,作为认证标识)。下图是鉴别模型。 图1鉴别模型 由于在课堂上前面两点讲的很清楚了,这里就不赘述了,主要讲一下散列函数方面的知识点。 散列函数(也称散列算法)提供了这样的一种服务:它对不同长度的输入消息,产生固定的长度的输出。这个固定长度的输出称之为原输入消息的“散列”或“消息摘要”。对于一个安全的散列函数,这个消息摘要通常可以直接作为消息的认证标签。目前已经研制出适合于各种用途的散列算法,这些算法都是伪随机函数,任何散列值都是等可能的。输出并不可辨别的方式依赖于输入。任何输入串中单个比特的变化,将会导致输出比特串中大约一半的比特发生变化。 。 散列函数又称hash函数,Hash函数(也称杂凑函数或杂凑算法)就是把任意长的输入消息串变化成固定长的输出串的一种函数。这个输出串称为该消息的杂凑值。一般用于产生消息摘要,密钥加密等. 一个安全的杂凑函数应该至少满足以下几个条件: ① 输入长度是任意的; ② 输出长度是固定的,根据目前的计算技术应至少取128bits长,以便抵抗生日攻击; ③ 对每一个给定的输入,计算输出即杂凑值是很容易的 ④ 给定杂凑函数的描述,找到两个不同的输入消息杂凑到同一个值是计算上不可行的,或给定杂凑函数的描述和一个随机选择的消息,找到另一个与该消息不同的消息使得它们杂凑到同一个值是计算上不可行的。 Hash函数主要用于完整性校验和提高数字签名的有效性,目前已有很多方案。这些算法都是伪随机函数,任何杂凑值都是等可能的。输出并不以可辨别的方式依赖于输入;在任何输入串中单个比特的变化,将会导致输出比特串中大约一半的比特发生变化。 散列函数的概念就说到这里了,下面讲一下它的分类: (1)MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,MD5被广泛使用,可以用来把不同长度的数据块进行暗码运算成一个128位的数值; (2)SHA(Secure Hash Algorithm)这是一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值; (3)MAC(Message Authentication Code):消息认证代码,是一种使用密钥的单向函数,可以用它们在系统上或用户之间认证文件或消息。HMAC(用于消息认证的密钥散列法)就是这种函数的一个例子。 (4)CRC(Cyclic Redundancy Check):循环冗余校验码,CRC校验由于实现简单,检错能力强,被广泛使用在各种数据校验应用中。占用系统资源少,用软硬件均能实现,是进行数据传输差错检测地一种很好的手段(CRC 并不是严格意义上的散列算法,但它的作用与散列算法大致相同,

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档