- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据加密与PKI技术第2单元 简单密码学 湖南公安高等专科学校 计算机信息安全教研室 欧阳伟 学习目标 了解密码学的相关术语 理解古典加密和加密算法及分类 掌握DES算法的加密原理、过程 理解非对称算法及分类√ 掌握RSA算法的加密原理、过程√ 掌握RSA与DES结合使用 理解Hash函数 了解AES算法 掌握密钥管理相关知识 安全算法设计:非对称算法 使用了两个不同的密钥:一个可对外界公开,称为“公钥”;一个只有所有者知道,称为“私钥”。 “公钥”用于加密数据,而“私钥”用于数字签名。 公钥密码体制的基本概念 在公钥密码体制以前的整个密码学史中,所有的密码算法,包括原始手工计算的、由机械设备实现的以及由计算机实现的,都是基于代换和置换这两个基本工具。而公钥密码体制则为密码学的发展提供了新的理论和技术基础,一方面公钥密码算法的基本工具不再是代换和置换,而是数学函数;另一方面公钥密码算法是以非对称的形式使用两个密钥,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义。可以说公钥密码体制的出现在密码学史上是一个最大的而且是惟一真正的革命。 公钥密码体制的概念是在解决单钥密码体制中最难解决的两个问题时提出的,这两个问题是密钥分配和数字签字。 单钥密码体制在进行密钥分配时,要求通信双方或者已经有一个共享的密钥,或者可籍助于一个密钥分配中心。对第一个要求,常常可用人工方式传送双方最初共享的密钥,这种方法成本很高,而且还完全依赖信使的可靠性。第二个要求则完全依赖于密钥分配中心的可靠性。 第二个问题数字签字考虑的是如何为数字化的消息或文件提供一种类似于为书面文件手书签字的方法。 1976年W.Diffie和M.Hellman对解决上述两个问题有了突破,从而提出了公钥密码体制。 公钥密码体制的原理 公钥密码算法的最大特点是采用两个相关密钥将加密和解密能力分开,其中一个密钥是公开的,称为公开密钥,简称公开钥,用于加密;另一个密钥是为用户专用,因而是保密的,称为秘密密钥,简称秘密钥,用于解密。因此公钥密码体制也称为双钥密码体制。算法有以下重要特性: 已知密码算法和加密密钥,求解密密钥在计算上是不可行的。 图4.1是公钥体制加密的框图,加密过程有以下几步: ① 要求接收消息的端系统,产生一对用来加密和解密的密钥,如图中的接收者B,产生一对密钥PKB,SKB,其中PKB是公开钥,SKB是秘密钥。 ② 端系统B将加密密钥(如图中的PKB)予以公开。另一密钥则被保密(图中的SKB)。 ③ A要想向B发送消息m,则使用B的公开钥加密m,表示为c=EPKB[m],其中c是密文,E是加密算法。 ④ B收到密文c后,用自己的秘密钥SKB解密,表示为m=DSKB[c],其中D是解密算法。 图4.1 公钥体制加密的框图 因为只有B知道SKB,所以其他人都无法对c解密。 公钥加密算法不仅能用于加、解密,还能用于对发方A发送的消息m提供认证,如图4.2所示。用户A用自己的秘密钥SKA对m加密,表示为 c=ESKA[m] 将c发往B。B用A的公开钥PKA对c解密,表示为 m=DPKA[c] 图4.2 公钥密码体制认证框图 因为从m得到c是经过A的秘密钥SKA加密,只有A才能做到。因此c可当做A对m的数字签字。另一方面,任何人只要得不到A的秘密钥SKA就不能篡改m,所以以上过程获得了对消息来源和消息完整性的认证。 在实际应用中,特别是用户数目很多时,以上认证方法需要很大的存储空间,因为每个文件都必须以明文形式存储以方便实际使用,同时还必须存储每个文件被加密后的密文形式即数字签字,以便在有争议时用来认证文件的来源和内容。改进的方法是减小文件的数字签字的大小,即先将文件经过一个函数压缩成长度较小的比特串,得到的比特串称为认证符。认证符具有这样一个性质: 如果保持认证符的值不变而修改文件这在计算上是不可行的。用发送者的秘密钥对认证符加密,加密后的结果为原文件的数字签字。这一内容在后面会详细介绍。 以上认证过程中,由于消息是由用户自己的秘密钥加密的,所以消息不能被他人篡改,但却能被他人窃听。这是因为任何人都能用用户的公开钥对消息解密。为了同时提供认证功能和保密性,可使用双重加、解密。如图4.3所示。 发方首先用自己的秘密钥SKA对消息m加密,用于提供数字签字。再用收方的公开钥PKB第2次加密,表示为 c=EPKB[ESKA[m]] 解密过程为 m=DPKA[DSKB[c]] 即收方先用自己的秘密钥,再用发方的公开钥对收
文档评论(0)