- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章--信息认证技术
信息认证技术 第三章 信息认证技术 3.1 Hash函数和消息完整性 3.2 数字签名技术 3.3 身份识别技术 3.4 认证的具体实现 认证的目的 认证的目的有两个方面: 一是验证信息的发送者是合法的,而不是冒充的,即实体认证,包括信源、信宿的认证和识别; 二是验证消息的完整性,验证数据在传输和存储过程中是否被篡改、重放或延迟等。 3.1 Hash函数和消息完整性 本节提示: 3.1.1基本概念 3.1.2常见的Hash函数 3.1.3消息认证码 3.1.1 基本概念 Hash函数也称为杂凑函数或散列函数,其输入为一可变长度x,返回一固定长度串,该串被称为输入x的Hash值(消息摘要),还有形象的说法是数字指纹。 因为Hash函数是多对一的函数,所以一定将某些不同的输入变化成相同的输出。这就要求给定一个Hash值,求其逆是比较难的,但给定的输入计算Hash值必须是很容易的,因此也称Hash函数为单向Hash函数。 基本概念(续) Hash函数一般满足以下几个基本需求: (1)输入x可以为任意长度; (2)输出数据长度固定; (3)容易计算,给定任何x,容易计算出x的Hash值H(x); (4)单向函数:即给出一个Hash值,很难反向计算出原始输入; (5)唯一性:即难以找到两个不同的输入会得到相同的Hash输出值(在计算上是不可行的)。 ?Hash函数的其他性质 Hash值的长度由算法的类型决定,与输入的消息大小无关,一般为128或者160位。常用的单向Hash算法有MDS、SHA-l等。 Hash函数的一个主要功能就是为了实现数据完整性的安全需要。 ?Hash函数可以按照其是否有密钥控制分为两类:一类有密钥控制,以表示,为密码Hash函数;另一类无密钥控制,为一般Hash函数。 关于Hash函数的安全性设计的理论主要有两点:一个是函数的单向性,二是函数影射的随机性。 攻击Hash函数的典型方法 生日攻击的基本观点来自于生日问题:在一个教室里最少有多少学生时,可使得在这个教室里至少有两个学生的生日在同一天的概率不小于50%?这个问题的答案是23。这种攻击不涉及Hash算法的结构,可用于攻击任何Hash算法。目前为止,能抗击生日攻击的Hash值至少要达到128bit。 中途相遇攻击这是一种选择明文/密文的攻击,主要是针对迭代和级连的分组密码体制设计的Hash算法。 3.1.2常见的Hash函数 MD4算法 MD5算法 SHA算法 MD-4算法 MR-4是Ron Rivest设计的单向散列函数, MD表示消息摘要(Message Digest),对输入消息,算法产生128-位散列值 MD-4算法设计目标 安全性。找到两个具有相同散列值的消息在计算上不可行,不存在比穷举攻击更有效的攻击。 直接安全性。MD-4的安全性不基于任何假设,如因子分解的难度。 速度。MD-4适用于软件实现,基于32位操作数的一些简单位操作。 简单性和紧凑性。MD-4尽可能简单,没有大的数据结构和复杂的程序。 有利的Little-Endian结构。MD-4最适合微处理器结构,更大型、速度更快的计算机要作必要的转化。 MD-5算法(一个512bit分组的处理示意图 ) MD-5算法的步骤 (1)首先填充消息使长度恰好为一个比512bit的倍数仅少64bit的数。填充的方法是附一个1在消息的后面,后接所要求的多个0,然后在其后附上64位的填充前的消息长度。这样可对明文输入按512bit分组,得 。其中,每个为512bit,即16个长为32 bit的字。 (2)128bit的输出可用下述四个32bit字:A,B,C,D表示。其初始存数以十六进制表示为:AB=89ABCDEF,C=FEDCBA98,D (3)算法的主循环次数为消息中按512bit进行分组的分组数,每次对512bit(16-字)组进行运算, 表示输入的第 组512bit数据,在各轮中参加运算。 为64个元素表,分四组参与不同轮的计算。 的整数部分是 ,是弧度。 可用32bit二元数表示, 是32bit的随机数源。 MD-5的基本运算 MD-5的基本运算(续) MD-5是四轮运算,每轮输出为128bit,每轮又要进行16步迭代运算,四轮共需64步完成。 即缓存中的四个字,按特定次序变化。 是基本逻辑函数 中之一,算法中每一轮用其中之一。 ( 是异或, 是与, 是或, 是反。) MD-5的基本运算(续) CLSs是32bit的移位寄存器,存数循环左移位。 第一轮={7,12,17,
文档评论(0)