第
Download
1 / 116

第 8 章 密码技术 - PowerPoint PPT Presentation


  • 137 Views
  • Uploaded on

第 8 章 密码技术. 项目一 密码学. 第 8 章 密 码 技 术. 一、 密码学基础 二、 对称加密技术 三、 网络加密技术. 项目二 常用的加密解密操作. 四、 文件加密技术 五、 加壳技术 六、 ERD Commander 入侵. 一、 密码学基础. ㈠密码学发展历史. 从古代到 19 世纪末. 从 20 世纪初到 20 世纪 50 年代. 从 20 世纪 50 年代至今. 古典密码时期. 近代密码时期. 现代密码时期. 一、 密码学基础. ㈠密码学发展历史. ⑴古典密码时期. 起始 时间.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 第 8 章 密码技术' - roary-holloway


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

8章 密码技术


项目一 密码学

第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

密钥:


密文:替代密码是用一组密文字母代替一组明文字母,但保持明文字母的位置不变。在替代法加密体制中,使用了密钥字母表。它可以由一个明文字母表构成,也可以由多个明文字母表构成。由一个字母表构成的替代密码,称为3 4 2 1 8 7 6 5 9 10 11 12 20 19 18 17


换位密码根据一定的规则重新安排明文字母,使之成为密文。换位密码是采用移位法进行加密的。它把明文中的字母重新排列,字母不变,但位置变了。换位密码是靠重新安排字母的次序,而不是隐藏它们。换位密码根据一定的规则重新安排明文字母,使之成为密文。换位密码是采用移位法进行加密的。它把明文中的字母重新排列,字母不变,但位置变了。换位密码是靠重新安排字母的次序,而不是隐藏它们。


最简单的例子是:把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录,例如:最简单的例子是:把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录,例如:

明文:computer systems

密文:smetsys retupmoc

又如:

明文:can you believe her

密钥:


密文:最简单的例子是:把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录,例如:yevrnbeecoleauih


(最简单的例子是:把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录,例如:二)私钥密码体制

DES是对称加密算法中最具代表性的一种,又称为单钥密码、对称密码或私钥密码。

对称密码的加密和解密所用的密钥是相同的或相似的,可以用加密密钥推导得出解密密钥,反之亦然,所以密钥必须保密。


DES最简单的例子是:把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录,例如:是一种典型的按分组方式工作的密码,是两种基本的加密组块替代和换位的细致而复杂的结构。它通过反复依次应用这两项技术来提高其强度,经过总共16轮的替代和换位的变换后,使得密码分析者无法获得该算法一般特性以外更多的信息。DES可以对任意长度的数据加密,实际可用密钥长度56位,加密时首先将数据分为64位的数据块,采用ECB(数据块加密:把数据划分固定长度的数据块进行加密),CBC(数据流加密:加密后密文前部分,用来参与报文后面部分的加密),CFB(数据流加密)等模式之一,每次将输入的64位明文变换为64位密文。最终,将所有输出数据块合并,实现数据加密。


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获得任何其他用户的公开密钥或者某一次通信采用的对称密钥加密算法的临时密钥。


在公开密钥体制中,为使各用户有更加安全的通信,必须有一个机构把用户的公开密钥与用户的实体在公开密钥体制中,为使各用户有更加安全的通信,必须有一个机构把用户的公开密钥与用户的实体(人或计算机)绑定联系起来,这样才能防止有人用自己的秘密密钥签名报文伪造成别的用户,这个机构被称为认证中心(CA)。认证中心可由政府或信誉良好的组织出资建立,每个实体都有认证中心发来的证书,里面包含有公开密钥及其拥有者的标示信息(用户名或IP地址),此证书由认证中心进行数字签名。任何用户都可以从可信的地方获得认证中心的公开密钥,此公开密钥可以用来验证某个用户的公开密钥是否为该实体所拥有。


(在公开密钥体制中,为使各用户有更加安全的通信,必须有一个机构把用户的公开密钥与用户的实体五) 报文鉴别和数字签名

报文鉴别是一个过程,它使得通信的接收方能够验证所收到的报文(发送者、报文内容、发送时间以及发送序列等)的真伪。


报文鉴别的一种方法是使用报文鉴别码在公开密钥体制中,为使各用户有更加安全的通信,必须有一个机构把用户的公开密钥与用户的实体(MAC,Message Authentication Code)。报文鉴别码是用一个密钥生成的一个小的数据块,追加在报文的后面。这种技术假定通信的双方共享一个密钥K。当用户A向用户B发送报文M时,就根据此密钥和报文计算出报文鉴别码MAC=F(K,M),这里的F是加密算法的某一函数。此报文的报文鉴别码和报文一起从用户A传送到用户B。用户B用收到的报文M(不包括报文鉴别码),使用同样的密钥K,再计算一次报文鉴别码,并与收到的报文鉴别码相比较,如果一致,则鉴别此报文是真的。


有不少算法可用来生成报文鉴别码,典型的生成报文鉴别码是有不少算法可用来生成报文鉴别码,典型的生成报文鉴别码是DES认证算法,这时可采用密文的最后若干个比特(16或32位)作为报文鉴别码。显然,对MAC不进行类似加密过程的反向计算,由于鉴别函数的这一特点,鉴别是较难被攻破的。


报文鉴别的另外一种方法是使用散列函数即报文摘要算法,它是采用单向哈希报文鉴别的另外一种方法是使用散列函数即报文摘要算法,它是采用单向哈希(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


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈠DES算法

⑸DES算法的原理

②DES加密过程

图8-4 DES子密钥产生的示意图


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈠DES算法

⑸DES算法的原理

②DES加密过程

图8-5 f(Ri-1,ki)的计算过程


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈠DES算法

⑸DES算法的原理

②DES加密过程

表8-1 扩增排列E(R)


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

②DES加密过程

续表

表8-1 扩增排列E(R)


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈠DES算法

⑸DES算法的原理

②DES加密过程

表8-2 单纯置换P(H)


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈠DES算法

⑸DES算法的原理

②DES加密过程

表8-3 S1盒数据的排列


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈡IDEA算法

IDEA是一个迭代分组密码,分组长度为64比特,密钥长度为128比特。IDEA密码中使用了以下3种不同的运算:

1

逐位异或运算

模216加运算

2

3

模216+1乘运算,0与216对应


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢RC5算法

RC5是具有参数变量的分组密码算法,其中可变的参量为:分组的大小、密钥的大小和加密的轮次。该算法主要使用了3种运算:异或、加、循环。


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢RC5算法

创建这个与密钥相关的数组的运算如下:首先将密钥的字节拷贝到32bit字的数组L,如果需要,最后一个字可以用零填充。然后利用线性同余发生器初始化数组S。

S0=P

Si=(Si-1+Q)mod 232

其中i=1 to 2(r+1)-1,P=0xb7e15163,Q=0x9e3779b9。

最后将L与S混合。

初始化:

i=j=0

A=B=0


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢RC5算法

然后做3n次循环(其中,c为密钥所占32bit字数目,亦即数组L的长度,n为2(r+1)和c中的最大值):

A=Si=(Si+A+B)<<<3

B=Lj=(Lj+A+B)<<<(A+B)

i=i+1 mod 2(r+1)

j=(j+1) mod c


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢RC5算法

加密过程:

首先将明文分组(64bit)分成两个32位字A和B(假设字节进入字的顺序为第一个字节进行寄存器的低位置),然后进行如下的运算:

A=A+S0

B=B+S1

for(i=1;i<=r;i++)

{A=((A⊕B)<<<B)+S2i;

B=((B⊕A)<<<A)+S2i+1;

}

输出的A、B为密文。


二、对称加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢RC5算法

解密时,把密文分成A和B,然后进行如下运算:

for(i=r;r>=1;r--)

{

B=((B-S2i+1)>>>A) ⊕A;

A=((A-S2i)>>>B) ⊕B;

}

B=B-S1

A=A-S0

此时输出的A、B为解密后得到的明文(>>>为循环右移,加减运算都是模232)。


三、网络加密技术 数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈠链路加密

图8-6 链路加密


三、网络加密技术 数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈡节点加密

图8-7 节点加密


三、网络加密技术 数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢端到端加密

图8-8 端到端加密


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈠利用WinRAR加密文件夹

(1)选定你要加密的文件夹,如图8-9所示。

图8-9 选择要加密的文件夹


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(2)这时将打开“压缩文件名和参数”对话框,默认显示“常规”选项卡,如图8-10所示。

图8-10 “常规”选项卡


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(3)在“常规”选项卡内选择“压缩后删除源文件”和“测试压缩文件”两个复选框,如图8-11所示。

图8-11 选中指定复选框


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(4)在“压缩文件名和参数”对话框内单击打开“高级”选项卡,如图8-12所示。

图8-12 “高级”选项卡


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(5)在“高级”选项卡内单击“设置密码”按钮,打开如图8-13所示的“带密码压缩”对话框。

图8-13 “带密码压缩”对话框


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈡常用文件加密方法

(1)利用组策略工具把存放隐私资料、重要文件的硬盘分区设置为不可访问。

图8-14 组策略设置


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(2)利用注册表中的设置,把某些驱动器设置为隐藏。

图8-15 注册表编辑器


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(3)利用Windows自带的“磁盘管理”组件也可以实现硬盘隐藏。

图8-16 磁盘管理


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(4)透明加解密技术

透明文件加解密技术,在这里特指运行在用户桌面电脑中的程序,接受服务器的安全策略,根据策略判断什么样的文件需要加密,什么样的文件不加密;根据加密策略,选用什么样的加密算法、选用什么密钥,然后在用户执行打开、编辑及存盘等文件操作中,强制执行这些策略。所有这些过程是在不改变用户行为习惯的基础上,即文件的操作者是感觉不出以上这些过程的,所以对用户来讲是“透明”的。


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢利用工具软件对文件夹加密

⑴软件安装

图8-17 “提示信息”对话框


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢利用工具软件对文件夹加密

⑴软件安装

图8-18 密码设置


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢利用工具软件对文件夹加密

⑴软件安装

图8-19 程序主界面


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢利用工具软件对文件夹加密

⑵“加密金刚锁”的使用

①普通文件加密

图8-20 普通文件加密


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢利用工具软件对文件夹加密

⑵“加密金刚锁”的使用

①普通文件加密

图8-21 “请输入加密密码”对话框


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢利用工具软件对文件夹加密

⑵“加密金刚锁”的使用

①普通文件加密

图8-22 程序开始加密指定的文件


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢利用工具软件对文件夹加密

⑵“加密金刚锁”的使用

①普通文件加密

图8-23 增加鼠标右键菜单功能


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢利用工具软件对文件夹加密

⑵“加密金刚锁”的使用

②普通文件解密

图8-24 “请输入解密密码”对话框


四、文件加密技术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢利用工具软件对文件夹加密

⑵“加密金刚锁”的使用

②普通文件解密

图8-25 文件解密


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈠加壳的基本概念

图8-26 描述壳的示意图


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈡壳的作用和分类

壳的作用主要表现在两个方面:

保护程序

压缩程序


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈡壳的作用和分类

由壳的作用可以看出,壳又分保护壳和压缩壳两大类:

这种壳重在保护程序,对程序的保护能力相当强大。保护壳运用各种加密算法和先进的加密技术,使得破解变的十分困难或者根本无法解密。但其最大缺点就是加壳后程序会变得相当庞大,运行速度极慢。

保护壳

这种壳缩小了程序本身的体积,方便程序存储和应用。它重在压缩程序,保护性能相对软弱,容易被脱壳。

压缩壳


1数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

壳所需要使用的API地址

原程序的各个区块的数据

2

3

定位

5

到程序的原入口点

4

HOOK-API

五、加 壳 技 术

㈡壳的作用和分类

壳的加载过程:


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢ASPack的使用

压缩壳中兼容性和稳定性最好的是ASPack,可以对EXE、DLL和OCX等文件进行压缩,但它不像UPX那样内置加压缩功能,不能脱去自身压缩的程序。

图8-27 ASPack的简体中文界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢ASPack的使用

图8-28 “打开文件”选项卡


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈢ASPack的使用

图8-29 “选择要压缩的文件”对话框


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

㈣Armadillo的使用方法

(1)下载、安装并运行Armadillo程序,其主界面如图8-30所示。

图8-30 Armadillo的主界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(2)依次选择file | New Project菜单项,打开如图8-31所示的Project Settings对话框。

图8-31 Project Settings对话框


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(3)单击Project ID and Version命令。

(4)单击Files to Project命令,在右侧窗格内会出现如图

8-32所示界面,选择要保护的文件(可以同时选择多个文件)。

图8-32 Files to Project界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(5)单击Splash Screen 1命令

(6)单击Protection Options命令,在右侧窗格内会出现如图8-33所示的界面

图8-33 Protection Options界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(7)单击Compression Options命令,在右侧窗格会出现如图8-34所示的选项供用户选择压缩比率。

图8-34 Compression Options界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(8)单击SoftICE Detection命令,在右侧窗格中会出现如图8-35所示的界面。

图8-35 SoftICEDetection界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(9)如果指定Std Hardware Locking(Pro)或者Enh Hardware Locking(Pro)选项,就会按照选择的选项生成机器码,并在程序启动时弹出一个如图8-36所示的输入注册码对话框,只有当用户正确输入注册码后正确才能运行程序。

图8-36 输入注册码对话框


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(10)单击Enh Hardware Locking(Pro)命令,在右侧窗格会出现如图8-37所示的界面。

图8-37 “Enh Hardware Locking(pro)”界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(11)单击Certificates命令,在右侧窗格将出现如图8-38所示的界面。

图8-38 Certificates界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(12)在证书信息界面中单击New按钮,启动新建一个证书的设置,这时会打开如图8-39所示的界面。

图8-39 Certificate Settings界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(13)单击Name |Template |Sig Level命令。

(14)单击Hardware Locking(Pro)命令,在右侧窗格中出现如图8-40所示的界面。

图8-40 Hardware Locking(Pro)界面


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(15)单击工具栏中的加密图标,Armadillo就会为指定的程序加密,完成后下面会显示出程序大小的对比图,如图8-41所示。

图8-41 程序大小对比图


五、加 壳 技 术数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。

(16)在Armadillo的菜单栏内依次选择Keys | Create Key命令,会弹出Generate Key对话框。

图8-42 Generate Key对话框


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

㈠Windows PE简介

Windows PE 是一个基于Windows XP内核的迷你操作系统,微软发行它的最初目的是作为Windows XP的OEM预安装环境的一部分。最初的Windows PE是命令行方式的系统,所有操作都是基于保护模式的命令。


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

㈡利用Windows PE入侵本地主机的实例

⑴实例一:窃取文件

1)修改BIOS中设备的启动程序,设置光驱启动。

2)启动Windows PE操作系统。

图8-43 Windows PE界面


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

3)窃取文件。依次选择“开始”|“资源管理器”命令,弹出如图8-44所示的资源管理器窗口。

图8-44 资源管理器窗口


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

1

修改BIOS中的设备启动顺序。

启动Windows PE操作系统。

2

3

关联到本地系统。

修改本地操作系统登录口令。

4

5

检测系统登录口令修改是否成功。

㈡利用Windows PE入侵本地主机的实例

⑵实例二:修改系统登录口令


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

3)关联到本地系统

依次选择“开始”|“强力系统修复ERD 2003”|“首先在此设置当前系统目录!(当前=)”菜单项,如图8-45所示。

图8-45 设置当前系统目录


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

此时将会打开如图8-46所示的“浏览文件夹“对话框。在其中选择本地操作系统所在的系统目录,本例中为C:\WINDOWS。

图8-46 “浏览文件夹“对话框


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

选择完毕后,在该对话框内单击“确定”按钮,可以查看更改是否成功,如图8-47所示。

图8-47 修改系统目录


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

4)修改本地操作系统登录口令

依次选择“开始”|“强力系统修复ERD 2003”|“修改用户密码(Locksmith)”菜单项,如图4-48所示。

图8-48 启动修改用户密码


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

此时将会打开“RED Commander 2003 Locksmith向导”对话框,如图8-49所示。

图8-49 “RED Commander 2003 Locksmith向导”对话框


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

在该向导对话框内单击“下一步”按钮,进入如图8-50所示的界面。

图8-50 修改账号


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

本例中的账号选择为zzzz,将密码修改为“123”,如图8-51所示。

图8-51 输入新密码


六、数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。ERD Commander入侵

单击“下一步”按钮后,对话框如图8-52所示,提示用户密码修改成功。

图8-52 修改完成


Thank You !数字签名可以用来证明消息确实是由发送者签发的,而且,当数字签名用于存储的数据或程序时,可以用来验证数据或程序的完整性。


ad