1.16k likes | 1.32k Vues
第 8 章 密码技术. 项目一 密码学. 第 8 章 密 码 技 术. 一、 密码学基础 二、 对称加密技术 三、 网络加密技术. 项目二 常用的加密解密操作. 四、 文件加密技术 五、 加壳技术 六、 ERD Commander 入侵. 一、 密码学基础. ㈠密码学发展历史. 从古代到 19 世纪末. 从 20 世纪初到 20 世纪 50 年代. 从 20 世纪 50 年代至今. 古典密码时期. 近代密码时期. 现代密码时期. 一、 密码学基础. ㈠密码学发展历史. ⑴古典密码时期. 起始 时间.
E N D
项目一 密码学 第8章 密 码 技 术 一、 密码学基础 二、对称加密技术 三、 网络加密技术 项目二 常用的加密解密操作 四、 文件加密技术 五、 加壳技术 六、 ERD Commander入侵
一、 密码学基础 ㈠密码学发展历史 从古代到19世纪末 从20世纪初到20世纪50年代 从20世纪50年代至今 古典密码时期 近代密码时期 现代密码时期
一、 密码学基础 ㈠密码学发展历史 ⑴古典密码时期 起始 时间 从古代到19世纪末,长达几千年 密码 体制 纸、笔或者简单器械实现的替代及换位 通信 手段 信使
一、 密码学基础 ㈠密码学发展历史 ⑵近代密码时期 从20世纪初到20世纪50年代,即一战及二战时期 起始 时间 手工或电动机械实现的复杂的替代及换位 密码 体制 通信 手段 电报通信
一、 密码学基础 ㈠密码学发展历史 ⑶现代密码时期 起始 时间 从20世纪50年代至今 分组密码、序列密码以及公开密钥密码,有坚实的数学理论基础 密码 体制 通信 手段 无线通信、有线通信、计算网络等
一、 密码学基础 ㈡密码学基础 ⑴密码系统 • 明文 4.解密算法 2.密文 5.密钥 3.加密算法
一、 密码学基础 ㈡密码学基础 ⑵密码系统实现过程 图8-1 密码系统实现过程图
一、 密码学基础 ㈡密码学基础 ⑶密码体制的分类 对称密码体制 (Symmetric System) 非对称密码体制 (Asymmetric System)
一、 密码学基础 ㈡密码学基础 ⑷密码分析 常见的密码分析方法有以下4类: 唯密文攻击 已知明文攻击 A B 选择密文攻击 选择明文攻击 D C
一、 密码学基础 ㈡密码学基础 ⑸密码体制的基本原则 现代密码体制应满足以下基本原则: (1) 密码体制是不可破的(理论上不可破,实际上不可破)。 (2) 密码体制的安全性是依赖密钥的保密,而不是依赖于对加密体制的保密。
一、 密码学基础 ㈡密码学基础 ⑸密码体制的基本原则 (3) 加密和解密算法适用于密钥空间中的所有元素。 (4) 密码体制既易于实现又便于使用。 (5) 密钥空间应足够大,使得试图通过穷举密钥空间进行搜索的方式在计算上不可行。
(一)传统加密算法 在传统的加密算法中,加密密钥与解密密钥是相同的或者可以由其中一个推知另一个,称为对称密钥算法。这样的密钥必须秘密保管,只能为授权用户所知,授权用户既可以用该密钥加密信息,也可以用该密钥解密信息。
它的基本原理如下:在对称加密中,数据信息的传送,加密及接收解密都需用到这个共享的钥匙,也就是说加密和解密共用一把钥匙。对称加密最常用的一种方式是数据加密标准(data encryption standard,DES)。所有的参与者都必须彼此了解,而且完全的互相信任,因为他们每一个人都有一份钥匙的珍藏复本。举例:如果传送者和接收者位于不同的地点,他们面对面的会议时或是在公共传输系统(电话系统或邮局服务)时,当秘密钥匙在被互相交换时,只要有人在钥匙传送的途中窃听到或者拦截,他(黑客)就可以用这个钥匙来读取所有正在传输的加密了的数据信息。所以对称加密有很大的不安全性,容易为黑客所利用。
传统的加密方法,其密钥是由简单的字符串组成的,它可以选择许多加密形式中的一种。只要有必要,可以经常改变密钥。因此,这种基本加密模型是稳定的,它的优点就在于可以秘密而又方便地变换密钥,从而达到保密的目的,传统的加密方法可以分为两大类:替代密码和换位密码。传统的加密方法,其密钥是由简单的字符串组成的,它可以选择许多加密形式中的一种。只要有必要,可以经常改变密钥。因此,这种基本加密模型是稳定的,它的优点就在于可以秘密而又方便地变换密钥,从而达到保密的目的,传统的加密方法可以分为两大类:替代密码和换位密码。
替代密码是用一组密文字母代替一组明文字母,但保持明文字母的位置不变。在替代法加密体制中,使用了密钥字母表。它可以由一个明文字母表构成,也可以由多个明文字母表构成。由一个字母表构成的替代密码,称为单表密码,其替代过程就是在明文和密码字符之间进行一对一的映射。如果是由多个字母表构成的替代密码,称为多表密码,其替代过程与前者不同之处在于明文的同一字符可在密码文中表现为多种字符。因此,在明码文与密码文的字符之间的映射是一对多的。例如:替代密码是用一组密文字母代替一组明文字母,但保持明文字母的位置不变。在替代法加密体制中,使用了密钥字母表。它可以由一个明文字母表构成,也可以由多个明文字母表构成。由一个字母表构成的替代密码,称为单表密码,其替代过程就是在明文和密码字符之间进行一对一的映射。如果是由多个字母表构成的替代密码,称为多表密码,其替代过程与前者不同之处在于明文的同一字符可在密码文中表现为多种字符。因此,在明码文与密码文的字符之间的映射是一对多的。例如: 明文:can you believe her 密钥:
换位密码根据一定的规则重新安排明文字母,使之成为密文。换位密码是采用移位法进行加密的。它把明文中的字母重新排列,字母不变,但位置变了。换位密码是靠重新安排字母的次序,而不是隐藏它们。换位密码根据一定的规则重新安排明文字母,使之成为密文。换位密码是采用移位法进行加密的。它把明文中的字母重新排列,字母不变,但位置变了。换位密码是靠重新安排字母的次序,而不是隐藏它们。
最简单的例子是:把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录,例如:最简单的例子是:把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录,例如: 明文:computer systems 密文:smetsys retupmoc 又如: 明文:can you believe her 密钥:
(二)私钥密码体制 DES是对称加密算法中最具代表性的一种,又称为单钥密码、对称密码或私钥密码。 对称密码的加密和解密所用的密钥是相同的或相似的,可以用加密密钥推导得出解密密钥,反之亦然,所以密钥必须保密。
DES密码系统的原理框架图如下图所示。 私钥密码系统的原理框架图
对称密码的优点是:安全性高,加密速度快。缺点是:密钥的管理难;无法解决消息确认问题;缺乏自动检测密钥泄露的能力。对称密码的优点是:安全性高,加密速度快。缺点是:密钥的管理难;无法解决消息确认问题;缺乏自动检测密钥泄露的能力。
(三)公钥密码体制 公开密钥密码体制最主要的特点就是加密和解密使用不同的密钥,每个用户保存着一对密钥——公开密钥PK和秘密密钥SK,因此,这种体制又称为双钥或非对称密钥密码体制。公钥算法的重要特性是:已知密码算法和加密密钥,求解密钥在计算上是不可行的。 目前常用的是RSA双钥密码体制。 RSA要求每一个用户拥有自己的一种密钥: (1)公开的加密密钥,用以加密明文; (2)保密的解密密钥,用于解密密文。
在公钥加密算法下,加密密钥与解密密钥是不同的,公钥是公开的,不需要安全信道来传送密钥,任何人可以用公钥加密信息,再将密文发送给私钥拥有者;私钥是保密的,只需利用本地密钥发生器产生解密密钥即可。在公钥加密算法下,加密密钥与解密密钥是不同的,公钥是公开的,不需要安全信道来传送密钥,任何人可以用公钥加密信息,再将密文发送给私钥拥有者;私钥是保密的,只需利用本地密钥发生器产生解密密钥即可。
公开密钥的优点是:可以适应网络的开放性要求,且密钥管理比较简单(只要保管私钥),可实现数字签名和验证。缺点是:算法复杂,加密数据的效率较低。公开密钥的优点是:可以适应网络的开放性要求,且密钥管理比较简单(只要保管私钥),可实现数字签名和验证。缺点是:算法复杂,加密数据的效率较低。
DES与RSA比较: DES数据加密标准用于对64位的数据进行加密和解密。DES算法所用的密钥也是64位,但由于其中包含了8个比特的奇偶校验位,因而实际的密钥长度是56位。DES算法多次组合替代算法和换位算法,利用分散和错乱的相互作用,把明文编制成密码强度很高的密文。DES算法的加密和解密的流程是完全相同的,区别仅仅是加密与解密使用子密钥序列的顺序正好相反。 RSA算法是公开密钥系统中的杰出代表。RSA算法的安全性是建立在具有大素数因子的合数其因子分解困难这一法则之上的。RSA算法中加密密钥和解密密钥不相同,其中加密密钥公开,解密密钥保密,并且不能从加密密钥或密文中推出解密密钥。
密码技术是保护信息安全的主要手段之一。密码技术是结合数学、计算机科学、电子与通信等诸多学科于一身的综合学科。它不仅具有信息加密功能,而且具有数字签名、身份验证、秘密分存、系统安全等功能。使用密码技术不仅可以保证信息的机密性,而且可以保证信息的完整性和正确性,防止信息被篡改、伪造或假冒。密码技术是保护信息安全的主要手段之一。密码技术是结合数学、计算机科学、电子与通信等诸多学科于一身的综合学科。它不仅具有信息加密功能,而且具有数字签名、身份验证、秘密分存、系统安全等功能。使用密码技术不仅可以保证信息的机密性,而且可以保证信息的完整性和正确性,防止信息被篡改、伪造或假冒。
(四)密钥分配 密钥分配是密钥管理中最大的问题,密钥必须通过最安全的通路进行分配。例如,可以通过非常可靠的信使携带密钥分配给相互通信的各用户,这种方法称为网络外分配方式。如果网络中通信的用户很多且密钥更换很频繁,则要求采用网络通信进行网络内分配方式,即对密钥自动分配。
目前,密钥分配公认的有效方法是通过密钥分配中心KDC来管理和分配公开密钥。每个用户只保存自己的秘密密钥SK和KDC的公开密钥PK。用户可以通过KDC获得任何其他用户的公开密钥或者某一次通信采用的对称密钥加密算法的临时密钥。目前,密钥分配公认的有效方法是通过密钥分配中心KDC来管理和分配公开密钥。每个用户只保存自己的秘密密钥SK和KDC的公开密钥PK。用户可以通过KDC获得任何其他用户的公开密钥或者某一次通信采用的对称密钥加密算法的临时密钥。
在公开密钥体制中,为使各用户有更加安全的通信,必须有一个机构把用户的公开密钥与用户的实体(人或计算机)绑定联系起来,这样才能防止有人用自己的秘密密钥签名报文伪造成别的用户,这个机构被称为认证中心(CA)。认证中心可由政府或信誉良好的组织出资建立,每个实体都有认证中心发来的证书,里面包含有公开密钥及其拥有者的标示信息(用户名或IP地址),此证书由认证中心进行数字签名。任何用户都可以从可信的地方获得认证中心的公开密钥,此公开密钥可以用来验证某个用户的公开密钥是否为该实体所拥有。在公开密钥体制中,为使各用户有更加安全的通信,必须有一个机构把用户的公开密钥与用户的实体(人或计算机)绑定联系起来,这样才能防止有人用自己的秘密密钥签名报文伪造成别的用户,这个机构被称为认证中心(CA)。认证中心可由政府或信誉良好的组织出资建立,每个实体都有认证中心发来的证书,里面包含有公开密钥及其拥有者的标示信息(用户名或IP地址),此证书由认证中心进行数字签名。任何用户都可以从可信的地方获得认证中心的公开密钥,此公开密钥可以用来验证某个用户的公开密钥是否为该实体所拥有。
(五) 报文鉴别和数字签名 报文鉴别是一个过程,它使得通信的接收方能够验证所收到的报文(发送者、报文内容、发送时间以及发送序列等)的真伪。
报文鉴别的一种方法是使用报文鉴别码(MAC,Message Authentication Code)。报文鉴别码是用一个密钥生成的一个小的数据块,追加在报文的后面。这种技术假定通信的双方共享一个密钥K。当用户A向用户B发送报文M时,就根据此密钥和报文计算出报文鉴别码MAC=F(K,M),这里的F是加密算法的某一函数。此报文的报文鉴别码和报文一起从用户A传送到用户B。用户B用收到的报文M(不包括报文鉴别码),使用同样的密钥K,再计算一次报文鉴别码,并与收到的报文鉴别码相比较,如果一致,则鉴别此报文是真的。
有不少算法可用来生成报文鉴别码,典型的生成报文鉴别码是DES认证算法,这时可采用密文的最后若干个比特(16或32位)作为报文鉴别码。显然,对MAC不进行类似加密过程的反向计算,由于鉴别函数的这一特点,鉴别是较难被攻破的。有不少算法可用来生成报文鉴别码,典型的生成报文鉴别码是DES认证算法,这时可采用密文的最后若干个比特(16或32位)作为报文鉴别码。显然,对MAC不进行类似加密过程的反向计算,由于鉴别函数的这一特点,鉴别是较难被攻破的。
报文鉴别的另外一种方法是使用散列函数即报文摘要算法,它是采用单向哈希(HASH)算法将需要加密的明文进行摘要处理,而产生的具有固定长度的单向散列值。其中,散列函数是将一个不同长度的报文转换成一个数字串(即报文摘要MD)的公式,该函数不需要密钥,公式决定了报文摘要的长度。报文鉴别的另外一种方法是使用散列函数即报文摘要算法,它是采用单向哈希(HASH)算法将需要加密的明文进行摘要处理,而产生的具有固定长度的单向散列值。其中,散列函数是将一个不同长度的报文转换成一个数字串(即报文摘要MD)的公式,该函数不需要密钥,公式决定了报文摘要的长度。
报文摘要将可变长度的报文M作为单向散列函数的输入,然后得出一个固定长度的标志H(M),这个H(M)就称为报文摘要(MD,Message Digest)。单向散列函数的特点是从一个报文生成一个MD代码是容易的,但反过来从一个代码生成一个报文则实际上是不可能的。另外,它保证不同的报文不会得出同样的MD代码。如果没有这个特性,攻击者就可能用一个伪造报文替代真报文,只要该伪造报文与真报文能够生成同样的MD即可。
数字签名是用来保证信息传输过程中信息的完整和提供信息发送者的身份是谁的认证。(验证)数字签名是用来保证信息传输过程中信息的完整和提供信息发送者的身份是谁的认证。(验证) 数字签名起到认证、核准、生效的作用。
在计算机通信中,当接收者接收到一个消息时,往往需要验证消息在传输过程中有没有被篡改;有时接收者需要确认消息发送者的身份。所有这些都可以通过数字签名来实现。数字签名是公开密钥加密技术的一种应用。在计算机通信中,当接收者接收到一个消息时,往往需要验证消息在传输过程中有没有被篡改;有时接收者需要确认消息发送者的身份。所有这些都可以通过数字签名来实现。数字签名是公开密钥加密技术的一种应用。 发送方用自己的专用密钥对这个散列值进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出128位的散列值(或报文摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密。如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。
数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。数字签名应满足以下条件:数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。数字签名应满足以下条件: (1)签名是可以被确认的,即收方可以确认或证实签名确实是由发方签名的;(可验证)验证 (2)签名是不可伪造的,即收方和第三方都不能伪造签名;(防伪造) (3)签名不可重用,即签名是消息(文件)的一部分,不能把签名移到其它消息(文件)上;(防假冒) (4)签名是不可抵赖的,即发方不能否认他所签发的消息;(防抵赖) (5)第三方可以确认收发双方之间的消息传送但不能篡改消息。(防篡改)
数字签名的原理简述如下: ①不同的报文所得到的报文摘要各异,但对相同的报文它的报文摘要却是惟一的。 ②发送方生成报文的报文摘要,用自己的私钥对摘要进行加密来形成发送方的数字签名。 ③这个数字签名将作为报文的附件和报文一起发送给接收方。 ④接收方首先从接收到的原始报文中用同样的算法计算出新的报文摘要,再用发送方的公钥对报文附件的数字签名进行解密,比较两个报文摘要,如果值相同,接收方就能确认该数字签名是发送方的。
二、对称加密技术 ㈠DES算法 ⑴DES算法的历史 美国国家标准局(NBS)在建立数据保护标准急迫需要的情况下,于1977年正式颁布DES。随后DES成为全世界使用最广泛的加密标准。
二、对称加密技术 ㈠DES算法 ⑵DES算法的安全性 其安全性依赖于以下两个因素: (1)加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的; (2)加密方法的安全性依赖于密钥的秘密性,而不是算法的秘密性。
二、对称加密技术 ㈠DES算法 ⑶DES算法的特点 主要优点 最大的缺点 • 加密和解密速度快 • 加密强度高 • 算法公开 实现密钥的 秘密分发困难
二、对称加密技术 ㈠DES算法 ⑷针对DES不足提出的弥补办法 02 01 非对称加密(公开密钥加密)系统 混合加密系统
二、对称加密技术 ㈠DES算法 ⑸DES算法的原理 ①DES算法规定 DES密钥的长度规定为64位,但实际只使用56位,其余的8位用作奇偶校验位。具体地说,在64位密钥中8的倍数位是校验位,即第8、16、24、32、40、48、56和64位是校验位,剩下的56位则作为真正的密钥。 DES算法的入口参数有3个,分别是Key、Data和Mode。
二、对称加密技术 ㈠DES算法 ⑸DES算法的原理 ②DES加密过程 DES算法加密的过程大致可以分为3部分: 次迭代过程 初始置换 逆置换
二、对称加密技术 ㈠DES算法 ⑸DES算法的原理 ②DES加密过程 图8-2 DES加密过程
二、对称加密技术 ㈠DES算法 ⑸DES算法的原理 ②DES加密过程 图8-3 初始置换IP和初始逆置换IP-1