第5章数据保护技术.ppt

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

第五章 数据保护技术 目录 哈希函数 消息鉴别 数字签名 身份认证 身份认证实例-Kerberos 数据保护工具 哈希函数概念 哈希函数,也称为单向散列函数、杂凑函数或消息摘要算法。它通过把一个单向数学函数应用于数据,将任意长度的一块数据转换为一个定长的、不可逆转的数据。 哈希函数H能用于任意大小的分组,产生定长的输出;对任何给定的x,H(x)要相对易于计算,使得硬件和软件实现成为实际可能; 单向性、弱抗冲突性、强抗冲突性。 哈希函数特性 计算的单向性:给定M和H,求h=H(M)容易,但反过来给定h和H,求M=H-1(h)在计算上是不可行的; 弱碰撞自由:给定M,要寻找另一信息M′,满足H(M′)=H(M)在计算上不可行; 强碰撞自由:要寻找不同的信息M 和M′,满足H(M′)=H(M)在计算上不可行。 哈希函数的一般结构 原始消息被分成等长的输入块Y,最后一个可能要填充。 IV = Initial value(初始值) CV = chaining variable(链接值) Yi = ith input block(第i个输入数据块) f = compression algorithm(压缩函数) L = number of input blocks(输入块个数) n = length of hash code(哈希码长度) b = length of input block(输入块长度) MD5 算法 输入:任意长度的消息 输出:128位消息摘要 处理:以512位输入数据块为单位 Merkle于1989年提出hash function模型 Ron Rivest于1990年提出MD4 1992年, MD5 (RFC 1321) developed by Ron Rivest at MIT 在最近数年之前,MD5是最主要的hash算法 MD5算法步骤 在MD5算法中的处理步骤包括以下过程: ? 首先,需要对消息进行填充。 ? 其次,将MD缓冲初始化。MD由4个32位寄存器A、B、C、D组成 ? 当设置好这四个链接变量后,就开始进入算法的四轮循环运算,循环的次数是信息中512位信息分组的数目。 ? 输出散列值。所有L个512比特的分组处理完成后,第L阶段输出的结果便是消息M的信息摘要。 MD5: padding MD5: compression little endian和big endian Big endian machine:把低字节存放在内存的高位 . Little endian machine:将低字节存放在内存的低位 举个例子,从内存地址0x0000开始有以下数据 ?0x0000?????0x12 ?0x0001?????0x34 ?0x0002?????0xab ?0x0003?????0xcd 如果我们去读取一个地址为0x0000的四个字节变量, 若字节序为big-endian,则读出结果为0x1234abcd; 若字节序位little-endian,则读出结果为0xcdab3412. 如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为 ????????????????big-endian?????little-endian 0x0000?????0x12??????????????0xcd 0x0001?????0x23??????????????0xab 0x0002?????0xab??????????????0x34 0x0003?????0xcd??????????????0x12 x86系列CPU都是little-endian的字节序. motorola系列采用big?endian TCP/IP统一采用big?endian方式传送数据 ; MD5: 示意图 MD5总结 MD5使用小数在前little endian 128位hash值太短 Dobbertin在1996年找到了两个不同的512-bit块,它们在MD5计算下产生相同的hash 至今还没有真正找到两个不同的消息,它们的MD5的hash相等 MD5不是足够安全的 逐渐被SHA(安全哈希算法)取代,具有160位 MD5算法应用 其典型应用是对一段Message(字节串)产生Fingerprint(指纹),以防止被篡改。 MD5还广泛用于口令验证技术上。 散列函数的基本用法(a、b) 提供保密和鉴别能力。 散列函数的基本用法(c) 提供鉴别能力 提供签名能力 散列函数的基本用法(d) 提供保密能力。 提供鉴别能力。 提供签名能力 散列函数的基本用法(e、f) 提供鉴别能力-》只有双方共享S 上述方法的比较 上述6种方法有不同的应用领域 6种方法中b、c、e需要的计算量小。 方法e不使用加密函数,更具

文档评论(0)

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

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

1亿VIP精品文档

相关文档