CISP密码学基础概要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * SHA-1 算法 SHA(Secure Hash Algorithm,安全哈希算法 )由美国国家标准技术研究所NIST开发,作为联邦信息处理标准于1993年发表(FIPS PUB 180),1995年修订,作为SHA-1(FIPS PUB 180-1),SHA-1基于MD4设计。 输入:最大长度为264位的消息; 输出:160位消息摘要; 处理:输入以512位数据块为单位处理. * 比较SHA1/ MD5 散列值长度 MD5 128bits SHA1 160bits 安全性 SHA1看来好些,但是SHA1的设计原则没有公开 速度 SHA1慢些 (openssl speed md5/sha1) type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md5 5425.31k 19457.48k 55891.45k 104857.60k 143211.40k sha1 5104.58k 16008.41k 37925.33k 57421.81k 68241.68k * 消息鉴别码 * 在网络通信中,有一些针对消息内容的攻击方法 伪造消息 窜改消息内容 改变消息顺序 消息重放或者延迟 消息认证:对收到的消息进行验证,证明确实是来自声称的发送方,并且没有被修改过。 如果在消息中加入时间及顺序信息,则可以完成对时间和顺序的认证 消息认证的三种方式 Message encryption:用整个消息的密文作为认证标识 接收方必须能够识别错误 Hash function:一个公开函数将任意长度的消息映射到一个固定长度的散列值,作为认证标识 MAC:一个公开函数,加上一个密钥产生一个固定长度的值作为认证标识 * MAC: Message Authentication Code 使用一个双方共享的秘密密钥生成一个固定大小的小数据块,并加入到消息中,称MAC,或密码校验和(cryptographic checksum) 用户A和用户B,共享密钥K,对于消息M, MAC=CK(M) 如果接收方计算的MAC与收到的MAC匹配,则 接收者可以确信消息M未被改变 接收者可以确信消息来自所声称的发送者 如果消息中含有序列号,则可以保证正确的消息顺序 MAC函数类似于加密函数,但不需要可逆性。因此在数学上比加密算法被攻击的弱点要少 * MAC的动机 为了鉴别而加密整个报文不够方便 对称加密整个报文是个浪费 即使同时为了保密,也有另外的办法和体制 用非对称加密速度太慢,每秒仅百来笔 后来引入了签名体制 鉴别和加密的分离带来灵活性 确实有时只要鉴别而不用(或不能)加密 如法律文书、公开信、声明、公告、公证、鉴定等 如软件鉴别/防病毒、网络管理报文等 * * MAC的用法 HMAC 把HASH值和一个Key结合起来 不需要可逆 目标 既能使用当前的HASH函数,又可容易升级为新的HASH函数,并能保持散列函数的安全性 简单,并易进行密码学分析 * MAC不能解决的问题 发送者否认发送过消息,声称是别人伪造。 接收者伪造消息,声称其由某发送者发送。 解决办法 不可否认性 * 数字签名 传统签名的基本特点: 能与被签的文件在物理上不可分割 签名者不能否认自己的签名 签名不能被伪造 容易被验证 数字签名是传统签名的数字化,基本要求: 能与所签文件“绑定” 签名者不能否认自己的签名 签名不能被伪造 容易被验证 * 数字签名——抗抵赖性 用户A 用户B 数据 哈希值 哈希算法 用户A的私钥 数据 哈希值 用户A的公钥 哈希算法 哈希值 如果哈希值匹配,说明该数据由该私钥签名。 * 数字签名的要求 依赖性:数字签名必须依赖要签名消息的比特模式 (不可分离性) 唯一性:签名者使用唯一的“消息”生成数字签名,以防伪造和否认 (独特性) 可验证性 :数字签名必须是在算法上可验证的。 抗伪造:伪造一个数字签名在计算上不可行 (不可模仿性) 可用性:数字签名的生成和验证必须相对简单. * 两种数字签名方案 * RSA的数字签名 初始化: m:签名的消息 签名者的私钥:d;公钥:(e,n) 签名: 计算m的哈希值H(m). 签名值s=(H(m))d mod n 验证: 计算H1=se mod n 判断H1=H(m)是否成立。 * 数字签名算法(DSA) 1991年, NIST 提出了 数字签名算法(DSA),并把它用作数字签名标准(DSS),招致大量的反对,理由如下: DSA 不能用于加密或密钥分配 DSA是由 NSA研制的,可能有后门 DSA的选择过程不公开,提供

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档