消息认证与数字签名_第1页
消息认证与数字签名_第2页
消息认证与数字签名_第3页
消息认证与数字签名_第4页
消息认证与数字签名_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章消息认证与数字签名 回顾 计算机系统安全的五个属性 可用性 Availability 可靠性 Reliability 完整性 Integrity 保密性 Confidentiality 不可抵赖性 Non Repudiation 消息认证 完整性需要验证 信息发送方是否真实 接收方是否真实 信息在传输过程中是否被改变 信息的到达时间是否在指定的期限内 完整性技术 奇偶校验检错码纠错码消息验证码 MAC 散列函数 散列函数 特性 一致性随机性唯一性单向性 MAC HMAC 散列函数的用法 MD5 来历MD5的全称是message digestalgorithm5 信息 摘要算法 在90年代初由MITlaboratoryforcomputerscience和RSAdatasecurityinc的Ronaldl Rivest开发出来 经MD2 MD3和MD4发展而来 http www ietf org rfc rfc1321 txt 是一份最权威的文档 由Ronaldl Rivest在1992年8月向IETF提交 用途MD5的作用是对一段信息 message 生成信息摘要 message digest 该摘要对该信息具有唯一性 可以作为数字签名 用于验证文件的有效性 是否有丢失或损坏的数据 对用户密码的加密 在哈希函数中计算散列值 特点输入一个任意长度的字节串 生成一个128位的整数 由于算法的某些不可逆特征 在加密应用上有较好的安全性 并且 MD5算法的使用不需要支付任何版权费用 说明唯一性和不可逆性都不是绝对的 从理论上分析是一种多对一的关系 但两个不同的信息产生相同摘要的概率很小 不可逆是指从输出反推输入所需的运算量和计算时间太大 使用穷搜字典的方法又需要太多的存储空间 MD5 算法描述 算法输入是一个字节串 每个字节是8个bit Step1 补位扩展数据至LEN K 64 56个字节 K为整数 补位方法 补一个1 然后补0 相当于补一个0 x80的字节 再补值为0的字节 这一步里总共补充的字节数为0 63个 共六个步骤 Step2 附加数据长度用一个64位的整数表示数据的原始长度 以bit为单位 将这个数字的8个字节按低位在前 高位在后的顺序附加在补位后的数据后面 这时 数据被填补后的总长度为 LEN K 64 56 8 K 1 64Bytes 注意 这个64位整数是输入数据的原始长度而不是填充字节后的长度 Step3 初始化MD5参数有四个32位整数变量 A B C D 用来计算信息摘要 每一个变量被初始化成以下以十六进制数表示的数值 低位的字节在前面 wordA 01234567wordB 89abcdefwordC fedcba98wordD 76543210注意 低位的字节在前面指的是LittleEndian平台上内存中字节的排列方式 Step4 处理位操作函数定义四个MD5基本的按位操作函数 X Y Z为32位整数 F X Y Z XandY or not X andZ G X Y Z XandZ or Yandnot Z H X Y Z XxorYxorZI X Y Z Yxor Xornot Z 再定义四个分别用于四轮变换的函数 设Mj表示消息的第j个子分组 从0到15 s表示循环左移s位 则四种操作为 FF a b c d Mj s ti 表示a b a F b c d Mj ti s GG a b c d Mj s ti 表示a b a G b c d Mj ti s HH a b c d Mj s ti 表示a b a H b c d Mj ti s II a b c d Mj s ti 表示a b a I b c d Mj ti s Step5 对输入数据作变换处理数据 N是总的字节数 以64个字节为一组 每组作一次循环 每次循环进行四轮操作 要变换的64个字节用16个32位的整数数组M 0 15 表示 而数组T 1 64 表示一组常数 T i 为4294967296 abs sin i 的32位整数部分 i的单位是弧度 i的取值从1到64 具体过程如下 设置主循环变量 Fori 0toN 16 1do 每循环一次 把数据原文存放在16个元素的数组X中 Forj 0to15doSetX j toM i 16 j end 结束对J的循环 SaveAasAA BasBB CasCC andDasDD AA ABB BCC CDD D 第1轮 以 abcdksi 表示如下操作a b a F b c d X k T i s Dothefollowing16operations ABCD071 DABC1122 CDAB273 BCDA3224 ABCD475 DABC5126 CDAB677 BCDA7228 ABCD879 DABC91210 CDAB101711 BCDA112212 ABCD12713 DABC131214 CDAB141715 BCDA152216 第2轮 以 abcdksi 表示如下操作a b a G b c d X k T i s Dothefollowing16operations ABCD1517 DABC6918 CDAB111419 BCDA02020 ABCD5521 DABC10922 CDAB151423 BCDA42024 ABCD9525 DABC14926 CDAB31427 BCDA82028 ABCD13529 DABC2930 CDAB71431 BCDA122032 第3轮 以 abcdksi 表示如下操作a b a H b c d X k T i s Dothefollowing16operations ABCD5433 DABC81134 CDAB111635 BCDA142336 ABCD1437 DABC41138 CDAB71639 BCDA102340 ABCD13441 DABC01142 CDAB31643 BCDA62344 ABCD9445 DABC121146 CDAB151647 BCDA22348 第4轮 以 abcdksi 表示如下操作a b a I b c d X k T i s Dothefollowing16operations ABCD0649 DABC71050 CDAB141551 BCDA52152 ABCD12653 DABC31054 CDAB101555 BCDA12156 ABCD8657 DABC151058 CDAB61559 BCDA132160 ABCD4661 DABC111062 CDAB21563 BCDA92164 然后进行如下操作 A A AAB B BBC C CCD D DDNextI 结束对I的循环 Step6 输出结果A B C D连续存放 共16个字节 128位 按十六进制依次输出这个16个字节 数字签名 问题的提出假定John向Mary发送一个带鉴别的报文 可能会出现如下的争执 1 Mary可能伪造不同的报文 并声称它来自John Mary只要简单地生成一个报文 并附加使用由John和Mary所共享的密钥生成的鉴别码即可 2 John可以否认发送过该报文 因为Mary伪造一个报文是可能的 无法证明John发送过该报文这一事实 分类直接数字签名功能 鉴别 数字签名 弱点 1 方案的有效性依赖于发方私钥的安全性 2 某个私钥真的可能在时间T在X处被盗 a 利用发送方的私钥加密 b 利用发送方的私钥报文散列码加密 需仲裁的数字签名 注 X 发方 Y 收方 A 仲裁 M 报文 数字签名算法签名算法 RSA DSA MD5 SHA等验证算法数字证书采用公钥密码体制 如RSA 格式一般采用X 509国际标准 由权威公正的第三方机构即CA中心签发 数字证书 数字水印 信息隐藏原理也称为信息伪装技术 它是利用人类感觉器官对数字信号的感觉冗余 将一个消息 秘密信息 隐藏在另一个消息 非秘密信息 之中 实现隐蔽通信或隐蔽标志 信息隐藏系统模型 特点自恢复性 秘密数据在一定程度破坏后 接收方仍然能恢复隐藏信息 鲁棒性 不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论