本章要点●密码技术相关概念、密码学与密码体制●数据及网络加密方式●密码破译方法与密钥管理●实用加密技术教学目标●掌握密码技术相关概念、密码学与密码体制●掌握数据及网络加密方式●了解密码破译方法与密钥管理●掌握实用加密技术,包括:对称/非对称加密、单向加密技术、无线网络加密技术、实用综合加密方法、加密高新技术及发展●了解数据压缩的基本概念和使用方法问题的提出随着计算机和通信技术的发展,用户对信息的安全存储、安全处理和安全传输的需要越来越迫切,越来越得到大众的关注。目前,信息在网络上传输的安全威胁是TCP/IP协议所固有的。所以,从某种意义上而言,数据加密与认证技术便是我们的最佳选择。密码学发展简史和典型事例•1949年,香农的《保密通信的信息理论》奠定了密码学的理论基础。•1976年,Diffle和Hellman《密码学的新方向》导致了密码学上的一场革命。•1977年,美国国家标准局正式颁布实施数据加密标准DES(DataEncryptionStandard)。•1978年,由美国麻省理工学院的R.Rivest、A.Shamir和L.Adleman三位教授提出的基于数论难题的公开密钥密码体制算法。ENIGMA什么是密码学?密码学包括密码编码学和密码分析学。密码体制的设计是密码编码学的主要内容,密码体制的破译是密码分析学的主要内容。密码编码技术和密码分析技术是相互依存、相互支持、密不可分的两个方面。密码技术包含加密和解密这两方面密切相关的内容。加密是研究、编写密码系统,把数据和信息转换为不可识别的密文的过程。解密就是研究密码系统的加密途径,恢复数据和信息本来面目的过程。加密和解密过程共同组成了加密系统。密码技术的相关概念1.密码技术的相关概念(1)在加密系统中,原有的信息称为明文(Plaintext,简称P)。明文经过加密变换后的形式称为密文(Ciphertext,简称C)由明文变为密文的过程称为加密(Enciphering,简称E),通常由加密算法来实现。由密文还原成明文的过程称为解密(Deciphering,简称D),通常由解密算法来实现。说明用于对信息进行加密的一组数学变换称为加密算法。为了有效控制加密、解密算法的实现,在这些算法的实现过程中,需要有某些只被通信双方所掌握的专门的、关键的信息参与,这些信息就称为密钥。用作加密的称加密密钥,用作解密的称作解密密钥。一般加密系统模型明文加密加密密钥Ke密文密文解密解密密钥Kd明文在网络上传输干扰/窃听加密算法解密算法密码学的作用密码学主要的应用形式有:•数字签名、•身份认证、•消息认证(也称数字指纹)、•数字水印等几种,(这几种应用的关键是密钥的传送,网络中一般采用混合加密体制来实现。密码学的应用主要体现了以下几个方面的功能。)数字水印数字水印(DigitalWatermark)是一种信息隐藏技术,是指在数据化的数据内容中嵌入不明显的记号,这种被嵌入的记号通常不可见或不可察觉,只有通过计算机操作才可以检测或着被提取。根据信息隐藏的技术要求和目的,数字水印需要达到以下3个基本特性。(1)隐藏性(透明性)(2)强壮性(免疫性,鲁棒性)(3)安全性数字水印右图为左图加入水印后效果嵌入水印音频水印00.511.522.533.544.55x104050100150200250幅度采样点数00.511.522.533.544.55x104050100150200250幅度采样点数密码学的作用(1)维持机密性传输中的公共信道和存储的计算机系统容易受到被动攻击(如截取、偷窃、拷贝信息)和主动攻击(如删除、更改、插入等操作)。加密关键信息,让人看不懂而无从攻击。(2)用于鉴别由于网上的通信双方互不见面,必须在相互通信时(交换敏感信息时)确认对方的真实身份,即消息的接收者应该能够确认消息的来源,入侵者不可能伪装成他人。(3)保证完整性接收者能够验证在传送过程中是否被篡改;入侵者不可能用假消息代替合法消息。(4)用于抗抵赖在网上开展业务的各方在进行数据传输时,必须带有自身特有的、无法被别人复制的信息,以保证发生纠纷时有所对证,发送者事后不可能否认他发送的消息。加密系统的四个基本准则•信息的私密性(Privacy)对称加密•信息的完整性(Integrity)数字签名•信息的源发鉴别(认证)(Authentication)数字签名•信息的防抵赖性(非否定)(Non-Reputation)数字签名二个小概念•理论上的不可破译性•计算上的不可破译性密码系统的基本原理(1)一个密码系统由算法和密钥两个基本组件构成。密钥是一组二进制数,由进行密码通信的专人掌握,而算法则是公开的,任何人都可以获取使用。密码系统的基本原理模型如图所示。组成部分•X,明文(plain-text):作为加密输入的原始信息。•Y,密文(cipher-text):对明文变换的结果。•E,加密(encrypt):是一组含有参数的变换。•D,解密(decrypt):加密的逆变换。•Z,密钥(key):是参与加密解密变换的参数。一个密码系统由算法以及所有可能的明文、密文和密钥(分别称为明文空间、密文空间和密钥空间)组成。密码系统的基本原理(2)为了实现网络信息的保密性,密码系统要求满足以下4点:(1)系统密文不可破译(2)系统的保密性不依赖于对加密体制或算法的保密,而是依赖于密钥。(3)加密和解密算法适用于所有密钥空间中的元素。(4)系统便于实现和使用。注意密钥是密码算法中的可变参数。密码体制的安全性完全建立在对密钥的安全性上。密钥管理涉及密钥的各个方面,包括密钥的产生、密钥的分发、密钥输入和输出、密钥的更换、密钥的存储、密钥的保存和备份、密钥的生命周期以及密钥的销毁等。Kerckhoffs假设•假定:密码分析者知道对方所使用的密码系统–包括明文的统计特性、加密体制(操作方式、处理方法和加/解密算法)、密钥空间及其统计特性。–不知道密钥。•成功的密码分析不权能够恢复出消息明文和密钥,而且能够发现密码体制的弱点,从而控制通信。•在设计一个密码系统时,目标是在Kerckhoffs假设的前提下实现安全。密码分析•密码分析:从密文推导出明文或密钥。•密码分析:常用的方法有以下4类:–惟密文攻击(cybertextonlyattack);–已知明文攻击(knownplaintextattack);–选择明文攻击(chosenplaintextattack);–选择密文攻击(chosenciphertextattack)。惟密文攻击•密码分析者知道一些消息的密文(加密算法相同),并且试图恢复尽可能多的消息明文,并进一步试图推算出加密消息的密钥(以便通过密钥得出更多的消息明文。已知明文攻击•密码分析者不仅知道一些消息的密文,也知道与这些密文对应的明文,并试图推导出加密密钥或算法(该算法可对采用同一密钥加密的所有新消息进行解密)。选择明文攻击•密码分析者不仅知道一些消息的密文以及与之对应的明文,而且可以选择被加密的明文(这种选择可能导致产生更多关于密钥的信息),并试图推导出加密密钥或算法(该算法可对采用同一密钥加密的所有新消息进行解密)。选择密文攻击•密码分析者能够选择不同的密文并能得到对应的明文,密码分析的目的是推导出密钥。主要用于公钥算法,有时和选择明文攻击一起被称作选择文本攻击。密码系统•一个好的密码系统应满足:1.系统理论上安全,或计算上安全;2.系统的保密性是依赖于密钥的,而不是依赖于对加密体制或算法的保密;3.加密和解密算法适用于密钥空间中的所有元素;4.系统既易于实现又便于使用。密码学与密码体制密码学包括密码加密学和密码分析学以及安全管理、安全协议设计、散列函数等内容。密码体制设计是密码加密学的主要内容,密码体制的破译是密码分析学的主要内容,密码加密技术和密码分析技术是相互依存、相互支持、密不可分的两个方面。按照使用密钥是否相同,可将密码体制分为对称密码体制和对称密码体制。1.对称密码体制对称密码体制也称为单钥体制、私钥体制或对称密码密钥体制、传统密码体制或常规密钥密码体制。主要特点是:加解密双方在加解密过程中使用相同或可以推出本质上等同的密钥,即加密密钥与解密密钥相同,基本原理如图所示。2.非对称密码体制(1)非对称密码体制也称为非对称密钥密码体制、公开密钥密码体制(PKI)、公开密钥加密系统、公钥体制或双钥体制。密钥成对出现,一个为加密密钥(即公开密钥PK)可以公开通用,另一个只有解密人知道的解密密钥(保密密钥SK)。两个密钥相关却不相同,不可能从公共密钥推算出对应的私人密钥,用公共密钥加密的信息只能使用专用的解密密钥进行解密。2.非对称密码体制(2)公开密钥加密系统基本原理如图所示。公开密钥加密系统的优势是具有保密功能和鉴别功能。公钥体制的主要特点:将加密和解密能力分开,实现多用户加密的信息只能由一个用户解读,或一个用户加密的信息可由多用户解读。对称与非对称加密体制特性对比情况,如表所示。特征对称非对称密钥的数目单一密钥密钥是成对的密钥种类密钥是秘密的一个私有、一个公开密钥管理简单不好管理需要数字证书及可靠第三者相对速度非常快慢用途用来做大量资料用来做加密小文件或信息签字等不在严格保密的应用3.混合加密体制混合加密体制是对称密码体制和非对称密码体制结合而成,混合加密系统的基本工作原理如图所示。6.1.3数据及网络加密方式1.数据块及数据流加密数据块加密是指把数据划分为定长的数据块,再分别加密。数据块之间加密是独立的,密文将随着数据块的重复出现具有一定规律性。数据流加密是指加密后的密文前部分,用来参与报文后面部分的加密。此时数据块之间加密不独立,密文不会随着数据块的重复出现具有规律性,可以反馈的数据流加密可以用于提高破译难度。2.网络加密方式计算机网络加密方式有2种:链路加密、端对端加密。(1)链路加密方式链路加密方式是指把网络上传输的数据报文的每一位进行加密,链路两端都用加密设备进行加密,使整个通信链路传输安全。在链路加密方式下,只对传输链路中的数据加密,而不对网络节点内的数据加密,中间节点上的数据报文是以明文出现的。目前,一般网络传输安全主要采这种方式。2.端到端加密端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密,消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信业务是脆弱的。3.数据加密的实现方式数据加密的实现方式有两种:软件加密和硬件加密。软件加密:通过算法的计算机程序实现。特点:实现简单,成本低;速度比较慢;相对来说,机密性差。硬件加密:通过具体的电子线路实现加密算法。特点:实现复杂,成本高;加密速度比较快;相对软件加密算法实现,其机密性更好。传统密码代替密码:明文中每一个字符被替换成密文中的另外一个字符。恺撒算法——古老而简单的加密技术CHINAHMNSF每个字符后移5位明文M密钥K密文C加密算法E加密过程可以表示为:C=EK(M)解密过程可以表示为:M=DK(C)明文:AVOIDREUSINGORRECYCLINGOLDPASSWORDS.AVOIDREUSINGORRECYCLINGOLDPASSWORDS密文:ANIWVGNOOOGRIRODDRLSREDECPUYASCSILS明文的字母保持相同,但顺序被打乱换位密码•简单替换与代换密码的缺点:不安全,易破解Vigenere密码•算法:依据Vigenere方阵做间接变换:–A、制作Vigenere方阵;–B、按密钥K的长度分解原文M;–C、对每一节原文M,依据密钥K进行变换这种加密的加密表是以字母表移位为基础把26个英文字母进行循环移位,排列在一起,形成26×26的方阵,该方阵被称为多维吉尼亚表。维吉利亚(Vigenere)加密方法设M=datasecurity,k=best,