加密技术备课讲稿.ppt
加密技术加密技术第第3 3章章 信息加密技术信息加密技术课程介绍课程介绍计算机信息安全的一部分计算机信息安全的一部分计算机系统工程的一部分计算机系统工程的一部分软件开发的一个组成部分软件开发的一个组成部分包括信息安全加密的程序设计包括信息安全加密的程序设计包括加密体系的算法设计方法与模式包括加密体系的算法设计方法与模式第第3 3章章 信息加密技术信息加密技术相关课程相关课程先修课先修课数学理论知识数学理论知识计算机算法分析计算机算法分析高级语言程序设计高级语言程序设计后续课后续课计算机信息安全计算机信息安全计算机控制技术计算机控制技术第第3 3章章 信息加密技术信息加密技术学习要求学习要求(1)了解加密技术的基本概念)了解加密技术的基本概念(2)掌握基本加密算法的设计原理)掌握基本加密算法的设计原理(3)了解其他的加密技术)了解其他的加密技术(4)能够独立完成一些基本算法加密、解密处理)能够独立完成一些基本算法加密、解密处理(5)能够举一反三理解和设计出新的加密算法)能够举一反三理解和设计出新的加密算法第第3 3章章 信息加密技术信息加密技术课时安排课时安排授课时间:三个课时授课时间:三个课时上机时间:两个课时上机时间:两个课时上机地点:统一安排上机地点:统一安排第第3 3章章 信息加密技术信息加密技术参考资料参考资料(1)计算机信息安全)计算机信息安全(2)密码学技术)密码学技术(3)计算机通讯网络安全)计算机通讯网络安全(4)数学)数学第第3 3章章 信息加密技术信息加密技术第第3章章 提提 纲纲3.1 信息加密技术概述信息加密技术概述3.2 基本的加密算法基本的加密算法3.3 常用的校验算法常用的校验算法3.4 对称加密技术对称加密技术3.5 非对称加密技术非对称加密技术开开 始始第第3 3章章 信息加密技术信息加密技术3.1 信息加密技术概述信息加密技术概述3.1.1 基本概念基本概念3.1.2 密码学介绍密码学介绍3.1.3 加密技术介绍加密技术介绍返回本章首页返回本章首页第第3 3章章 信息加密技术信息加密技术3.1.1 基本概念基本概念3.1.1.1 基本概念(一)基本概念(一)3.1.1.2 基本概念(二)基本概念(二)3.1.1.3 基本概念(三)基本概念(三)3.1.1.4 小结小结返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.1.1 基本概念(一)基本概念(一)(1)明文)明文(Plaintext):未加密的报文。未加密的报文。(2)密文)密文(Ciphertext):明文经密码保护形成一种隐蔽形式。明文经密码保护形成一种隐蔽形式。(3)加密)加密(Encryption):将明文变换为密文过程。将明文变换为密文过程。(4)解密)解密(Decryption):加密的逆过程。加密的逆过程。(5)加密算法)加密算法(Encryption Algorithm):加密明文采用的规加密明文采用的规则则(6)解密算法)解密算法(Decryption Algorithm):解密明文采用的规解密明文采用的规则则返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.1.2 基本概念(二基本概念(二)(1)发送者)发送者(Sender):传送消息的人。传送消息的人。(2)接收者)接收者(Receiver):传送消息的预定对象。传送消息的预定对象。(3)密钥)密钥(Key):用于加密和解密操作的数据。用于加密和解密操作的数据。(4)截收者)截收者(Eavesdropper):在信息传输和处理系统中的非在信息传输和处理系统中的非授权者,通过搭线、电磁、声音窃听来窃取机密信息。授权者,通过搭线、电磁、声音窃听来窃取机密信息。(5)密码分析)密码分析(Cryptannalysis):接收者试图通过分析截获接收者试图通过分析截获的米问推断出原来的明文或密文。的米问推断出原来的明文或密文。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.1.3 基本概念(三)基本概念(三)(1)密码分析员)密码分析员(Cryptanalyst):从事密码分析的人。从事密码分析的人。(2)被动攻击)被动攻击(Passive attack):对一个保密系统采取截获密对一个保密系统采取截获密文进行分析的攻击。文进行分析的攻击。(3)主动攻击)主动攻击(Active attack):非法入侵者非法入侵者(Tamper)、攻击攻击者者(Attacker)或黑客或黑客(Hacker)主动向系统窜扰,采用删除、主动向系统窜扰,采用删除、增添、重放、伪造等手段向系统注入虚假的消息,达到利己增添、重放、伪造等手段向系统注入虚假的消息,达到利己害人的目的。害人的目的。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.1.4 小小 结结(1)了解专业术语。)了解专业术语。(2)掌握最基本的概念(加密、解)掌握最基本的概念(加密、解密、明文、密文等等)。密、明文、密文等等)。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.2 密码学介绍密码学介绍3.1.2.1 密码学概述密码学概述3.1.2.2 密码学密码学发展史发展史3.1.2.3 密码系统组成密码系统组成3.1.2.4 密码的分类密码的分类3.1.2.5 攻击密码的方法攻击密码的方法3.1.2.6 破译密码的类型破译密码的类型3.1.2.7 密钥管理体系密钥管理体系3.1.2.8 小结小结返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.2.1 密码学概述密码学概述 密码学作为数学的一个分支,专门研究计算密码学作为数学的一个分支,专门研究计算机信息加密、解密及其变换过程的科学,是密码机信息加密、解密及其变换过程的科学,是密码编码学和密码分析学的统称,是数学和计算机的编码学和密码分析学的统称,是数学和计算机的交叉学科,也是一门新兴的学科。交叉学科,也是一门新兴的学科。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.2.2 密码学发展史密码学发展史(1)第一阶段)第一阶段(古代古代1949):属于前期阶段,密码技术只属于前期阶段,密码技术只是一种艺术,而不是一种科学,专家们是凭借直觉和信念是一种艺术,而不是一种科学,专家们是凭借直觉和信念来进行密码设计和分析,而不是推理论证。来进行密码设计和分析,而不是推理论证。(2)第二阶段)第二阶段(19491975):1949年年Shannon发表了发表了“保密保密系统的信息理论系统的信息理论”一文为对称密码系统建立的理论基础,一文为对称密码系统建立的理论基础,从此密码学成为一门科学。从此密码学成为一门科学。(3)第三阶段)第三阶段(1976至今至今):1976年年Diffie和和Hellman发表发表了了“密码学的新方向密码学的新方向”一文证明收发双方无密钥传输的加一文证明收发双方无密钥传输的加密信息技术是可能的。密信息技术是可能的。1977年,美国国家标准局正式公布年,美国国家标准局正式公布了数据加密标准了数据加密标准(DES)。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.2.3 密码系统组成密码系统组成(1)明文空间:所有明文信息。)明文空间:所有明文信息。(2)密文空间:所有密文信息。)密文空间:所有密文信息。(3)加密算法:加密规则。)加密算法:加密规则。(4)解密算法:解密规则。)解密算法:解密规则。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.2.4 密码分类(一)密码分类(一)(1)按应用技术或发展阶段:)按应用技术或发展阶段:手工密码:手工密码:以手工方式完成加密作业或以简单器具辅助以手工方式完成加密作业或以简单器具辅助操作的密码。应用于第一次世界大战。操作的密码。应用于第一次世界大战。机械密码:机械密码:以机械码来完成加解密作业的密码。从第一以机械码来完成加解密作业的密码。从第一次世界大战出现到第二次世界大战中得到普遍应用。次世界大战出现到第二次世界大战中得到普遍应用。电子机内乱码:电子机内乱码:通过电子电路,以严格的程序进行逻辑通过电子电路,以严格的程序进行逻辑运算,产生大量的加密乱数。运算,产生大量的加密乱数。20世纪世纪50年代末到年代末到70年代年代计算机密码:计算机密码:以计算机软件编程为特点用于网络通信。以计算机软件编程为特点用于网络通信。下一节下一节返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.2.4 密码分类(二)密码分类(二)(2)按保密程度划分:)按保密程度划分:理论上保密密码:理论上保密密码:理论上对明文始终得不到唯一解。理论上对明文始终得不到唯一解。实际上保密密码:实际上保密密码:理论上可破,但在客观条件下无法通理论上可破,但在客观条件下无法通过计算来确定唯一解的密码。过计算来确定唯一解的密码。不保密密码:不保密密码:在获取一定数量的密文后可以得到唯一解在获取一定数量的密文后可以得到唯一解的密码。的密码。总之,如破译的代价超出信息本身的价值,或者破译的总之,如破译的代价超出信息本身的价值,或者破译的时间超出了信息的有效期,我们认为都是安全可靠的。时间超出了信息的有效期,我们认为都是安全可靠的。返回本节返回本节下一节下一节第第3 3章章 信息加密技术信息加密技术3.1.2.4 密码分类(三)密码分类(三)(3)按密钥方式划分:)按密钥方式划分:对称式:对称式:收发双方使用同一密钥的密码。收发双方使用同一密钥的密码。非对称式:非对称式:收发双方使用不同密钥的密码。收发双方使用不同密钥的密码。(4)按明文形态划分:)按明文形态划分:模拟型:模拟型:加密模拟信息。如语音信号加密。加密模拟信息。如语音信号加密。数字型:数字型:加密数字信息。如二进制电报信息加密。加密数字信息。如二进制电报信息加密。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.2.5 攻击密码的方法攻击密码的方法(1)穷举攻击:指密码分析者试遍所有密钥的方法)穷举攻击:指密码分析者试遍所有密钥的方法来破译密码。需要大量破译时间。来破译密码。需要大量破译时间。(2)统计分析攻击:指密码分析者通过分析密文和)统计分析攻击:指密码分析者通过分析密文和明文的统计规律来破译密码。不带密文无法破译。明文的统计规律来破译密码。不带密文无法破译。(3)数学分析攻击:指密码分析者针对加密算法的)数学分析攻击:指密码分析者针对加密算法的数学依据,通过数学求解的方法来破译密码。使用数学依据,通过数学求解的方法来破译密码。使用具有坚实数学基础和足够复杂的加密算法。具有坚实数学基础和足够复杂的加密算法。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.2.6 破译密码的类型破译密码的类型(1)惟密文攻击:密码分析者知道一些通过同一算法加)惟密文攻击:密码分析者知道一些通过同一算法加密的密文,利用这些密文恢复尽可能多的明文或密钥。密的密文,利用这些密文恢复尽可能多的明文或密钥。(2)已知明文攻击:密码分析者知道通过同一密钥加密)已知明文攻击:密码分析者知道通过同一密钥加密的部分密文和明文,推出用来加密的密钥或导出算法。的部分密文和明文,推出用来加密的密钥或导出算法。(3)选择明文攻击:密码分析者可选择一些密文和明文,)选择明文攻击:密码分析者可选择一些密文和明文,通过选择被加密的明文,推出用来加密的密钥或算法。通过选择被加密的明文,推出用来加密的密钥或算法。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.2.7 密钥管理体系密钥管理体系密钥交换节点间的密钥分配密钥分配中心三级密钥管理体系 返回本节返回本节第第3 3章章 信息加密技术信息加密技术密钥交换密钥交换例子:税控例子:税控IC卡卡返回本节返回本节接收方接收方B发送方发送方A密钥信道密钥信道第第3 3章章 信息加密技术信息加密技术节点间密钥分配节点间密钥分配返回本节返回本节密钥交互请求密钥交互请求接收方接收方B发送方发送方A回应请求回应请求传输密钥传输密钥例子:例子:POS第第3 3章章 信息加密技术信息加密技术密钥分配中心密钥分配中心返回本节返回本节密钥交互请求密钥交互请求接收方接收方B发送方发送方A回应请求回应请求传输密钥传输密钥分配中心分配中心(密钥组密钥组)例子:金卡中心例子:金卡中心第第3 3章章 信息加密技术信息加密技术三级密钥管理体系三级密钥管理体系返回本节返回本节(1)初级密钥)初级密钥LMK(Local Master Key)(2)二级密钥二级密钥ZMK(Zone Master Key)(3)三级密钥三级密钥MAC、Working Key例子:银行系统例子:银行系统第第3 3章章 信息加密技术信息加密技术3.1.2.8 小小 结结(1)了解密码技术发展历史和应用。)了解密码技术发展历史和应用。(2)了解密码的分类情况。)了解密码的分类情况。(3)了解攻击以及破译密码方式。)了解攻击以及破译密码方式。(4)理解并熟悉密钥管理体系。)理解并熟悉密钥管理体系。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.3 加密技术介绍加密技术介绍3.1.3.1 概述概述3.1.3.2 加密系统特点加密系统特点3.1.3.3 基本模型基本模型3.1.3.4 加密系统模型加密系统模型3.1.3.5 保密系统安全要求保密系统安全要求3.1.3.6 小结小结返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.3.1 概概 述述 信息加密技术是一门涉及数学、密码学和计算信息加密技术是一门涉及数学、密码学和计算机的交叉学科,是密码学研究的对象,主要是对敏机的交叉学科,是密码学研究的对象,主要是对敏感数据、摘要、签名等进行加密,应用于保护军事、感数据、摘要、签名等进行加密,应用于保护军事、外交通信、商业应用领域。外交通信、商业应用领域。随着现代密码学的发展,使信息加密技术已经随着现代密码学的发展,使信息加密技术已经不在依赖于对加密算法本身的保密,是通过在统计不在依赖于对加密算法本身的保密,是通过在统计学意义上提高破解成本保证高加密算法的安全性。学意义上提高破解成本保证高加密算法的安全性。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.3.2 加密系统的特点加密系统的特点(1)机密性:收发双方都能够理解报文内容。)机密性:收发双方都能够理解报文内容。(2)身份鉴别:收发双方能够实现身份互认。)身份鉴别:收发双方能够实现身份互认。(3)报文完整性:收发双方需要确保数据传输过)报文完整性:收发双方需要确保数据传输过程中的完整性。程中的完整性。(4)不可否认性:收发双方发送给对方的数据具)不可否认性:收发双方发送给对方的数据具有不可抵赖性。有不可抵赖性。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.3.3 基本模型基本模型返回本节返回本节明文明文解密器解密器加密器加密器密文密文接收者接收者明文明文密码源密码源密码源密码源信息信息密码信道密码信道第第3 3章章 信息加密技术信息加密技术3.1.3.4 加密系统模型加密系统模型返回本节返回本节明文明文解密器解密器加密器加密器密文密文接收者接收者明文明文密码源密码源密码源密码源信息信息密码信道密码信道非法入侵者非法入侵者密码分析员密码分析员搭线信道搭线信道搭线信道搭线信道(主动攻击主动攻击)(被动攻击被动攻击)第第3 3章章 信息加密技术信息加密技术3.1.3.5 加密系统安全要求加密系统安全要求(1)难以被攻破。)难以被攻破。(2)密钥受使用范围和时间限制,可以随时变更。)密钥受使用范围和时间限制,可以随时变更。(3)密钥的分配和更换更透明,但用户不一定要)密钥的分配和更换更透明,但用户不一定要亲自掌管密钥,即密钥可以随机产生。如:亲自掌管密钥,即密钥可以随机产生。如:IC 卡。卡。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.1.3.6 小结小结(1)了解信息加密技术原理。)了解信息加密技术原理。(2)了解加密系统的特点。)了解加密系统的特点。(3)掌握加密系统模型。)掌握加密系统模型。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.2 基本的加密算法基本的加密算法3.2.1 概述概述3.2.2 对称加密算法对称加密算法3.2.3 非对称加密算法非对称加密算法3.2.4 常用算法特点常用算法特点3.2.5 常用算法分类常用算法分类3.2.6 应用场所应用场所3.2.7 小结小结返回本章首页返回本章首页第第3 3章章 信息加密技术信息加密技术3.2.1 概概 述述 加密算法是加密技术的核心以及重点研究对象,算法加密算法是加密技术的核心以及重点研究对象,算法的优良与否直接影响系统的安全性能,其主要是指对机密的优良与否直接影响系统的安全性能,其主要是指对机密信息进行加密或解密的方法。信息进行加密或解密的方法。按密钥方式分为:按密钥方式分为:对称加密算法:又叫传统密钥算法或私有密钥算法。对称加密算法:又叫传统密钥算法或私有密钥算法。非对称加密算法:又叫公开密钥算法。非对称加密算法:又叫公开密钥算法。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.2.2 对称加密算法对称加密算法 对称加密算法:加解密密钥相同或可互相推出。对称加密算法:加解密密钥相同或可互相推出。安全性依赖于密钥。有:安全性依赖于密钥。有:DES、3DES、IDEA、AES、RC等。分为分组密钥和流密钥。等。分为分组密钥和流密钥。分组密钥:将明文分成固定块用同一密钥和分组密钥:将明文分成固定块用同一密钥和算法加密,并输出固定长度密文。算法加密,并输出固定长度密文。流密钥:对明文逐位进行加密。流密钥:对明文逐位进行加密。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.2.3 非对称加密算法非对称加密算法 非对称加密算法:加解密密钥不相同且不能相互非对称加密算法:加解密密钥不相同且不能相互计算出来,存在密钥对。计算出来,存在密钥对。分为:加密密钥和解密密钥。分为:加密密钥和解密密钥。加密密钥:又叫公开密钥。加密密钥:又叫公开密钥。解密密钥:又叫私有密钥。解密密钥:又叫私有密钥。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.2.4 常用算法特点常用算法特点LRC:纵向冗余向冗余校验校验 Longitudinal Redundancy Check CRC:循环冗余校验码循环冗余校验码Cyclic Redundancy Check(Code)。MAC:消息认证码消息认证码(Message Authentication Code)。DES:数据加密标准,速度较快,适用于加密大量数据。数据加密标准,速度较快,适用于加密大量数据。3DES:对一块数据用对一块数据用3个不同密钥进行个不同密钥进行3次加密,强度高。次加密,强度高。RSA:一个支持变长密钥的公共密钥算法,加密长度可变。一个支持变长密钥的公共密钥算法,加密长度可变。DSA:数字签名算法,是一种标准的数字签名标准。数字签名算法,是一种标准的数字签名标准。AES:高级加密标准,密钥长度高级加密标准,密钥长度128位位返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.2.5 常用算法分类常用算法分类对称加密算法:对称加密算法:DES、3DES、IDEA(国际数据加密算法国际数据加密算法)、AES(高级加密标准)等高级加密标准)等非对称加密算法:非对称加密算法:RSA、ECC椭圆曲线密码、椭圆曲线密码、DSA等。等。其他算法:其他算法:LRC、CRC、MAC等。等。返回本节返回本节AES与与3DES比较比较RSA与与ECC比较比较第第3 3章章 信息加密技术信息加密技术AES与与3DES比较比较名称名称 密钥长度密钥长度 速度速度 解密解密(255个密钥个密钥/s)资源消耗资源消耗AES 128/192/256 高高 1490000亿年亿年 低低3DES 112或或168 低低 46亿年亿年 高高 返回返回第第3 3章章 信息加密技术信息加密技术RSA与与DSA比较比较攻破时间攻破时间 RSA/DSA(Key长度长度)ECC(Key长度长度)密钥长度比密钥长度比 10的的4次幂次幂 512 106 5:1 10的的8次幂次幂 768 132 6:1 10的的11次幂次幂 1024 160 7:110的的20次幂次幂 2048 210 10:110的的78次幂次幂 21000 600 35:1返回返回第第3 3章章 信息加密技术信息加密技术3.2.6 应用场所应用场所(1)军事、外交场合数据加密传输。)军事、外交场合数据加密传输。(2)金融、证券、税务等需要进行数据保护或身份)金融、证券、税务等需要进行数据保护或身份验证的场所。验证的场所。(3)大型软件需要提供高性能、高安全度的场所。)大型软件需要提供高性能、高安全度的场所。(4)用于一些硬件加密、解密措施不利而容易被攻)用于一些硬件加密、解密措施不利而容易被攻击的场所。击的场所。(5)对于一些数据存储安全漏洞或弥补硬件缺陷的)对于一些数据存储安全漏洞或弥补硬件缺陷的场所。如嵌入式硬件读写场所。如嵌入式硬件读写Flash错误校验等。错误校验等。返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.2.7 小结小结(1)了解加密算法常识)了解加密算法常识(2)区分常用加密算法特点)区分常用加密算法特点返回本节返回本节第第3 3章章 信息加密技术信息加密技术3.3 LRC校验校验LRC校验:按位校验和。校验:按位校验和。int lrc(char*ptr,int len)int i,ret=0;for(i=0;ilen;i+)ret=ptri;return(ret);第第3 3章章 信息加密技术信息加密技术CRC校验校验CRC校验:循环冗余校验校验:循环冗余校验,是一个循环移位的模是一个循环移位的模2运算。采用二进制多项式编码方法。有运算。采用二进制多项式编码方法。有CRC-4、CRC-16、CRC-32等算法。等算法。a x +a x +.+a x+a n-1 n-2 1 0n-1 n-2二进制多项式:二进制多项式:如:二进制数10110101可以表示为:1x +0 x +1x +1x +0 x +1x +0 x +1 7 6 5 4 3 2 第第3 3章章 信息加密技术信息加密技术unsigned int Cal_CRC(unsigned char*ptr,int len)unsigned int i,crc=0;while(len-!=0)for(i=0 x80;i!=0;i/=2)if(crc&0 x8000)!=0)crc*=2;crc=CRC_16_POLY;else crc*=2;if(*ptr&i)!=0)crc=CRC_16_POLY;ptr+;return crc;CRC-16校验校验程序例子:程序例子:CRC_16_POLY为宏定义:为宏定义:即二进制多项式,如:即二进制多项式,如:0 x8005;第第3 3章章 信息加密技术信息加密技术MAC计算计算8字节的初始值字节的初始值异或异或 D1 用用8字节密钥字节密钥进行进行DES加密加密异或异或 D2 用用8字节密钥字节密钥进行进行DES加密加密异或异或 D3 用用8字节密钥字节密钥进行进行DES加密加密得到得到8字节的字节的 计算结果计算结果返回本章首页返回本章首页第第3 3章章 信息加密技术信息加密技术3.4 对称加密技术对称加密技术对称密码体制概述对称密码体制概述分组密码原理分组密码原理DES算法算法返回本章首页返回本章首页第第3 3章章 信息加密技术信息加密技术对称密码体制概述对称密码体制概述在对称密码体制中,加密密钥和解密密钥相同,或彼此在对称密码体制中,加密密钥和解密密钥相同,或彼此之间容易相互确定。之间容易相互确定。对称密码分类对称密码分类分组密码(分组密码(block cipher):block cipher):将明文分成固定长度的组,将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的用同一密钥和算法对每一块加密,输出也是固定长度的密文。密文。流密码(流密码(stream cipher):stream cipher):又称序列密码又称序列密码.序列密码每次序列密码每次加密一位或一字节的明文,也可以称为流密码。加密一位或一字节的明文,也可以称为流密码。第第3 3章章 信息加密技术信息加密技术对称密码体制概述对称密码体制概述对称密码的基本运算对称密码的基本运算1.1.代替代替代替(代替(substitution)substitution):就是明文中的每一个字符被替就是明文中的每一个字符被替换成密文中的另一个字符。接收者对密文做反向替换就换成密文中的另一个字符。接收者对密文做反向替换就可以恢复出明文。可以恢复出明文。2.2.置换置换置换置换(permutation)permutation),又称换位(又称换位(transposition)transposition):明明文的字母保持相同,但顺序被打乱了。文的字母保持相同,但顺序被打乱了。返回本节返回本节第第3 3章章 信息加密技术信息加密技术分组密码原理分组密码原理分组密码一般原理:分组密码一般原理:分组密码是将明文消息编码表示后的数字(简称明文数分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为字)序列,划分成长度为n n的组(可看成长度为的组(可看成长度为n n的矢量)的矢量),每组分别在密钥的控制下变换成等长的输出数字(简,每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。称密文数字)序列。加密算法加密算法k=(kk=(k0 0,k,k1 1,k,kn-1n-1)(m m0 0,m,m1 1,m,mn-1n-1)(c c0 0,c,c1 1,c,cn-1n-1)(m m0 0,m,m1 1,m,mn-1n-1)解密算法解密算法k=(kk=(k0 0,k,k1 1,k,kn-1n-1)第第3 3章章 信息加密技术信息加密技术分组密码原理分组密码原理分组密码的结构:分组密码的结构:常用的分组密码结构有两种:常用的分组密码结构有两种:1 1)FeistelFeistel网络结构网络结构DESDESFEALFEALBlowfishBlowfishRC5RC52 2)SPSP网络结构网络结构SAFERSAFERSHARKSHARKAESAES第第3 3章章 信息加密技术信息加密技术分组密码原理分组密码原理1.1.FeistelFeistel网络结构网络结构1)1)将明文将明文P P分为左右相等分为左右相等长度的两半长度的两半L L0 0、R R0 02)2)将将R R0 0 L L1 1 L L0 0F(RF(R0 0,k,k1 1)R)R1 13)3)在第在第i i轮时轮时R Ri-1i-1 L Li iL Li-1i-1F(RF(Ri-1i-1,k,ki i)R)Ri i4)4)至止最后一轮至止最后一轮n n L Ln n=R=Rn-1n-1 R Rn n=L=Ln-1n-1F(RF(Rn-1n-1,k,kn n)P PL L0 0R R0 0L L1 1R R1 1k k1 1F FF FL Li iR Ri ik ki iF FL Ln nR Rn nk kn n返回本节返回本节第第3 3章章 信息加密技术信息加密技术DES算法背景算法背景1.1.DESDES的产生的产生19721972年年美国国家标准局(美国国家标准局(NBSNBS)拟订了一个旨在保护计算拟订了一个旨在保护计算机和通信数据的计划。开发一个单独的标准密码机和通信数据的计划。开发一个单独的标准密码算法是该计划的一部分。算法是该计划的一部分。19731973年年5 5月月1515日日美国国家标准局(美国国家标准局(NBSNBS)发布征集标准密码算法公发布征集标准密码算法公告。告。DESDES,Data Encryption Standard,Data Encryption Standard,数据加密标准数据加密标准第第3 3章章 信息加密技术信息加密技术同时,同时,NBSNBS确定了一系列设计准则:确定了一系列设计准则:q 算法必须提供较高的安全性。算法必须提供较高的安全性。q 算法必须完全确定且易于理解。算法必须完全确定且易于理解。q 算法的安全性必须依赖于密钥,而不应依赖算法的安全性必须依赖于密钥,而不应依赖于算法。于算法。q 算法必须对所有的用户都有效。算法必须对所有的用户都有效。q 算法必须适用于各种应用。算法必须适用于各种应用。q 用以实现算法的电子器件必须很经济。用以实现算法的电子器件必须很经济。q 算法必须能有效使用。算法必须能有效使用。q 算法必须能验证。算法必须能验证。q 算法必须能出口。算法必须能出口。DES算法背景算法背景第第3 3章章 信息加密技术信息加密技术19741974年年8 8月月2727日日 美国国家标准局(美国国家标准局(NBSNBS)第二次发布征集标准密码第二次发布征集标准密码算法公告。算法公告。IBMIBM提交了算法提交了算法LUCIFERLUCIFER,该算法由该算法由IBMIBM的工程师在的工程师在19701970年初开发的一个算法基础上,于年初开发的一个算法基础上,于1971197119721972年研制成功。年研制成功。19751975年年3 3月月1717日日NBSNBS公布该算法细节。公布该算法细节。19761976年年NBSNBS成立专题小组评估提出的整个标准。成立专题小组评估提出的整个标准。DES算法背景算法背景第第3 3章章 信息加密技术信息加密技术19761976年年1111月月2323日日采纳采纳IBMIBM公司的设计方案为联邦标准,并授权在非公司的设计方案为联邦标准,并授权在非密级的政府通信中使用。密级的政府通信中使用。19771977年年1 1月月1515日日FIPS PUB 46FIPS PUB 46(DESDES标准的正式文本)公布,并在标准的正式文本)公布,并在六个月后生效。六个月后生效。19801980年年FIPS PUB 81FIPS PUB 81(DESDES工作方式)公布。工作方式)公布。19811981年年公布公布FIPS PUB 74FIPS PUB 74(实现和使用实现和使用DESDES的指南)的指南)DESDES算法是第一个公布的算法是第一个公布的NSANSA(美国国家安全局)美国国家安全局)执行算法。执行算法。DES算法背景算法背景第第3 3章章 信息加密技术信息加密技术2.2.DESDES的采用的采用19791979年,美国银行协会批准使用年,美国银行协会批准使用19801980年,美国国家标准局(年,美国国家标准局(ANSIANSI)赞同赞同DESDES作为私人作为私人使用的标准使用的标准,称之为称之为DEADEA(ANSI X.392ANSI X.392)19831983年,国际化标准组织年,国际化标准组织ISOISO赞同赞同DESDES作为国际标准,作为国际标准,称之为称之为DEA-1DEA-1该标准规定每五年审查一次,计划十年后采用新标准该标准规定每五年审查一次,计划十年后采用新标准最近的一次评估是在最近的一次评估是在19941994年年1 1月,已决定月,已决定19981998年年1212月月以后,以后,DESDES将不再作为联邦加密标准。将不再作为联邦加密标准。DES算法背景算法背景第第3 3章章 信息加密技术信息加密技术DES算法描述算法描述DESDES使用使用5656位密钥,对位密钥,对6464位数据块进行加密,需位数据块进行加密,需要进行要进行1616轮编码。轮编码。DES示意图:第第3 3章章 信息加密技术信息加密技术DES算法描述算法描述q DESDES算法特点算法特点1)1)分组加密算法:分组加密算法:以以6464位为分组。位为分组。6464位一组的明文从算法一端输入,位一组的明文从算法一端输入,6464位密文从另一端输出。位密文从另一端输出。2)2)对称算法:对称算法:加密和解密用同一密钥。加密和解密用同一密钥。3)3)有效密钥长度为有效密钥长度为5656位。位。密钥通常表示为密钥通常表示为6464位数,但每个第位数,但每个第8 8位用作奇偶位用作奇偶校验,可以忽略。校验,可以忽略。第第3 3章章 信息加密技术信息加密技术DES算法描述算法描述q DESDES算法特点算法特点4)4)代替和置换代替和置换DESDES算法是两种加密技术的组合:混乱和扩散。算法是两种加密技术的组合:混乱和扩散。先代替后置换。先代替后置换。5)5)易于实现易于实现DESDES算法只是使用了标准的算术和逻辑运算,其算法只是使用了标准的算术和逻辑运算,其作用的数最多也只有作用的数最多也只有6464位,因此用位,因此用7070年代末期的年代末期的硬件技术很容易实现。硬件技术很容易实现。算法的重复特性使得它可以非常理想地用在一个算法的重复特性使得它可以非常理想地用在一个专用芯片中。专用芯片中。第第3 3章章 信息加密技术信息加密技术DES算法描述算法描述DES对对6464位的明文分组进行位的明文分组进行操作。通过一个初始置换,操作。通过一个初始置换,将明文分组分成左半部分和将明文分组分成左半部分和右半部分,各右半部分,各3232位长。然后位长。然后进行进行1616轮完全相同的运算,轮完全相同的运算,这些运算被称为函数这些运算被称为函数f f,在运在运算过程中数据与密钥结合。算过程中数据与密钥结合。经过经过1616轮后,左、右半部分轮后,左、右半部分合在一起,经过一个末置换合在一起,经过一个末置换(初始置换的逆置换),这(初始置换的逆置换),这样该算法就完成了。样该算法就完成了。DESDES算法框图算法框图输入输入6464比特明文数据比特明文数据在密钥控制下在密钥控制下1616轮迭代轮迭代初始置换初始置换IPIP交换左右交换左右3232比特比特初始逆置换初始逆置换IPIP-1-1输出输出6464比特密文数据比特密文数据第第3 3章章 信息加密技术信息加密技术DES算法描述算法描述初始置换IP+k1+k2+k16IP-1L0R0L1=R0R1=L0(RO,K1)L2=R1R2=L1(R1,K2)L15=R14R15=L14(R14,K15)R16=L15(R15,K16)L16=R1564位明文64位密文DESDES算法大致可以分为算法大致可以分为3 3个部分:个部分:q 初始置换初始置换q 迭代过程迭代过程q 逆置换逆置换迭代过程:迭代过程:q 密钥置换密钥置换q 扩展置换扩展置换q S-S-盒代替盒代替q P-P-盒置换盒置换第第3 3章章 信息加密技术信息加密技术DES算法描述算法描述初始置换IP+k1+k2+k16IP-1L0R0L1=R0R1=L0(RO,K1)L2=R1R2=L1(R1,K2)L15=R14R15=L14(R14,K15)R16=L15(R15,K16)L16=R1564位明文64位密文q DESDES算法的总体过程算法的总体过程输入输入6464位明文数据,并位明文数据,并进行进行初始置换初始置换IPIP;在初始置换在初始置换IPIP后,明文后,明文组再被组再被分分为左右两部分,为左右两部分,每部分每部分3232位,以位,以L L0 0,R R0 0表表示。示。在密钥的控制下,经过在密钥的控制下,经过1616轮运算轮运算();1616轮后,左、右两部分轮后,左、右两部分交换,并连接在一起;交换,并连接在一起;经过经过末置换末置换(初始置换(初始置换的逆置换);的逆置换);输出输出6464位密文。位密文。第第3 3章章 信息加密技术信息加密技术DES算法描述算法描述q 初始置换与末置换初始置换与末置换初始置换初始置换IP(initial permutation)IP(initial permutation)在第一轮运算在第一轮运算之前进行。未置换之前进行。未置换IPIP-1-1(初始置换的