第2章 数据加密技术及应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
流密码和分组密码都属于对称密钥算法,流密码的 基本思想是利用密钥产生一个密钥流,并通过相应 的规则对明文串进行加密和解密处理。而分组密码 是将明文分为固定长度的分组,然后通过若干轮 (round)函数的迭代操作来产生密文。函数由于 在每一轮的操作中都使用,所以称为轮函数,其本 轮的输入是上一轮的输出加上密钥。
《计算机网络安全技术》
2.1.4 序列密码和分组密码
根据密码算法对明文处理方式的标准不同, 可以将密码系统分为序列密码和分组密码 两类。
《计算机网络安全技术》
序列密码 序列密码也称为流密码,它是将明文消息转化为 二进制数字序列,密钥序列也为二进制数字序列, 加密是按明文序列和密钥序列逐位模2相加(即异 或操作XOR)进行,解密也是按密文序列和密钥 序列逐位模2相加进行。 2
通常,将加密前的原始数据或消息称为明文(plaintext), 而将加密后的数据称为密文(ciphertext),在密码中使用并 且只有收发双方才知道的信息称为密钥(key)。 通过使用密钥将明文转换成密文的过程称为加密,其反向过 程(将密文转换为原来的明文)称为解密。 对明文进行加密时采用的一组规则称为加密算法。对密文解 密时采用的一组规则称为解密算法。加密算法和解密算法是 在一组仅有合法用户知道的密钥的控制下进行的,加密和解 密过程中使用的密钥分别称为加密密钥和解密密钥。
第2章 数据加密技术及应用
《计算机网络安全技术》
2.1 数据加密概述
在计算机网络中,我们需要一种措施来保护数据 的安全性,防止被一些别有用心的人利用或破坏, 这在客观上就需要一种强有力的安全措施来保护 机密数据不被窃取或篡改。 数据加密技术是为了提高信息系统及数据的安全 性和保密性,防止秘密数据被外部破析所采用的 主要技术手段之一。
《计算机网络安全技术》
《计算机网络安全技术》
《计算机网络安全技术》
《计算机网络安全技术》
源自文库
数据加密标准DES
数据加密标准(Data Encryption Standard,DES) 是由IBM公司在1971年设计的一个加密算法。 1977年由美国国家标准局(现美国国家标准技术 委员会)作为第46号联邦信息处理标准而采用的 一种数据加密标准。之后,DES成为金融界及其 DES 他非军事行业应用最为广泛的对称加密标准。 DES是分组密码的典型代表,也是第一个被公布 出来的标准算法。DES的算法完全公开,在密码 学史上开创了先河。DES是迄今为止世界上应用 最为广泛的一种分组密码算法。
图2-1 加密与解密的转换关系
《计算机网络安全技术》
数据加密解密的转换关系
《计算机网络安全技术》
加密与解密转换关系的数学表示,称为密码通信 系统模型,它由以下几个部分组成:
M:明文消息空间 E: 密文消息空间 K1和K2:密钥空间 加密变换Ek1 解密变换Dk2
《计算机网络安全技术》
图2-2 密码通信系统模型
于是得到明文“attackatwomorrow”。
《计算机网络安全技术》
2.2.3 “一次一密”密码
最著名的序列密码是“一次一密”密码,也称为“一次一密 乱码本加密机制”。其中,一次一密乱码本是一个大的不重 复的随机密钥字符集,这个密钥字符集被写在几张纸上,并 粘合成一个本子,该本子称为乱码本。每个密钥仅对一个消 息使用一次。发送方用乱码本中的密钥对所发送的消息加密, 然后销毁乱码本中用过的一页或用过的磁带部分。接收方有 一个同样的乱码本,并依次使用乱码本上的每一个密钥去解 密密文的每个字符。接收方在解密消息后销毁乱码本中用过 的一页或用过的磁带部分。新的消息则用乱码本的新的密钥 进行加密和解密。“一次一密”密码是一种理想的加密方案, 理论上讲,实现了“一次一密”密钥管理的密码是不可破译 的。
《计算机网络安全技术》
节点对节点加密
节点对节点加密是为了解决在节点中的数据 是明文的这一缺点,在中间节点里装有用于加密 和解密的保护装置,由这个装置来完成一个密钥 向另一个密钥的交换。因而,除了在保护装置里, 即使在节点内也不会出现明文。 尽管节点对节点加密能给网络数据提供较高 的安全性,但它在操作方式上与链路加密类似: 两者均在通信链路上为传输的消息提供安全性; 都在中间节点先对消息进行解密,然后进行加密。 因为要对所有传输的数据进行加密,所以加密过 程对用户是透明的。 《计算机网络安全技术》
《计算机网络安全技术》
2.3 对称加密—流密码
流密码(即序列密码)是一种类似于“一次一密” 密码体制,因为在加密过程中是将密钥流(密钥的 二进制位)与等长的明文的二进制位进行模2运算, 在解密过程中是将密钥流与密文进行逐位模2运算, 所以流密码是一种对称加密方式。
《计算机网络安全技术》
2.4 对称加密—分组密码
端对端加密
为了解决链路加密和节点对节点加密中存在 的不足,人们提出了端对端加密方式。端对端加 密又称脱线加密或包加密,它允许数据在从源节 点被加密后,到终点的传输过程中始终以密文形 式存在,消息在到达终点之前不进行解密,只有 消息到达目的节点后才被解密。因为消息在整个 传输过程中均受到保护,所以即使有节点被损坏 也不会使消息泄露。
《计算机网络安全技术》
非对称加密 在非对称加密中,加密密钥与解密密钥不同,此 时不需要通过安全通道来传输密钥,只需要利用 本地密钥发生器产生解密密钥,并以此进行解密 操作。由于非对称加密的加密和解密不同,且能 够公开加密密钥,仅需要保密解密密钥,所以不 存在密钥管理问题。非对称加密的另一个优点是 可以用于数字签名。但非对称加密的缺点是算法 一般比较复杂,加密和解密的速度较慢。
《计算机网络安全技术》
DES特点:
是一个完全遵循Feistel密码结构的分组密码算法 对明文进行分组加密,明文分成每组64位,使 用56位密钥(另加8位校验位)进行加密,产生 64位密文 进行多轮加密变换,彻底打乱明文的信息,使 密文的每一位都与明文和密钥的每一位相关连 加密密钥和解密密钥相同 密钥是保密的,算法是公开的。
目前对网络数据加密主要有链路加密、节 点对节点加密和端对端加密3种实现方式。
图2-3 链路加密过程示意图
《计算机网络安全技术》
链路加密 链路加密又称在线加密,它是对在两个网络节点 间的某一条通信链路实施加密,是目前网络安全 系统中主要采用的方式。 如图2-3所示,在链路加密方式下,只对通信链路 中的数据加密,而不对网络节点内的数据加密。
《计算机网络安全技术》
加密的目的是防止机密信息的泄露,同时还可以 用于证实信息源的真实性,验证所接收到的数据 的完整性。 加密系统是指对信息进行编码和解码所使用的过 程、算法和方法的统称。加密通常需要使用隐蔽 的转换,这个转换需要使用密钥进行加密,并使 用相反的过程进行解密。
《计算机网络安全技术》
《计算机网络安全技术》
2.2 古典密码介绍
介绍几种古典密码体制,虽然这些密码体制现在 已经很少使用,但对理解和分析现代密码体制很 有意义。
《计算机网络安全技术》
2.2.1 简单替换密码
实现方法是将明文按字母表中当前的位置向后移 动n位,便得到加密后的密文,这里的n就是密钥。 例如,当n=3时(即以n=3为密钥)时,字符表的 替换如下(为便于表述,我们约定在明文中使用 小写字母,而在密文中使用大写字母): 明文:a b c d e f g h i j k l m n o p q r s t u v w x y z 密文:D E F G H I J K L M N O P Q R S T U V W XYZABC 当n=3时的密码体制由于被凯撒(Caesar)成功使 用,所以也称为凯撒密码。
《计算机网络安全技术》
2.1.3 对称加密和非对称加密
以密钥为标准,可将密码系统分为单钥密码系统 和双钥密码系统。 单钥密码系统又称为对称密码或私钥密码系统, 双钥密码系统又称为非对称密码或公钥密码系统。 采用单钥密码系统的加密方法,同一个密钥可同 时用作信息的加密和解密,这种加密方法称为对 称加密,也称作单密钥加密。另一种是采用双钥 密码系统的加密方法,在一个过程中使用两个密 钥,一个用于加密,另一个用于解密,这种加密 方法称为非对称加密,也称为公钥加密,因为其 中的一个密钥是公开的(另一个则需要保密)。
《计算机网络安全技术》
2.2.2 双重置换密码
使用双重转换密码进行加密时,首先将明文写成 给定大小的矩阵形式,然后根据给定的置换规则 对行和列分别进行置换。 例如,对明文“attackattomorrow”写成4×4的矩 阵形式:
t a t a c k a t t o m o r r o w
《计算机网络安全技术》
2.4.1 Feistel密码结构
Feistel密码结构是一种密码设计的结构,而 非一个具体的密码产品,现在正在使用的 几乎所有重要的对称分组密码都使用Feistel 结构。
《计算机网络安全技术》
如图2-6所示,Feistel密码结构中,大小为 2w位的明文P被分成左右两部分(各w位, 初值为L0和R0) 进行多轮运算,每轮的输入为Li-1、Ri-1和子 密钥ki,得到输出为Li、Ri,其中: Li=Ri-1 Ri=Li-1⊕F(Ri-1,ki) 其中F为轮函数。
《计算机网络安全技术》
分组密码 分组密码的加密方式是先将明文序列以固定长度 进行分组,然后将每一组明文用相同的密码和加 密函数进行运算。为了减小存储量,并提高运算 速度,密钥的长度一般不大,因而加密函数的复 杂性成为系统安全的关键。 DES、DEA是典型的分组密码。
《计算机网络安全技术》
2.1.5 网络加密的实现方法
然后,按照(1,2,3,4)→(2 ,3,4,1)的规则进 行行置换,然后再按照(1,2,3,4)→(3,4,2,1) 的规则进行列置换。操作如下:
t a t a c k a t a t k c c k a t t o m o m o o t → → t o m o r r o w o w r r r r o w a t t a t a t a
从而得到的密文为“ATKCMOOTOWRRTATA”。
《计算机网络安全技术》
在双重置换密码体制中,密钥由矩阵的大小以及行、列置 换规则组成。接收者如果知道密钥,就可以通过加密过程 使用的矩阵大小以及行、列的置换规则来进行逆向操作, 从而恢复得到明文。 例如,对于前面得到的密文,可以先写成4×4的矩阵形式, 然后将列进行(3,4,2,1)→(1,2,3,4)的置换,再将行进 3,4,2,1 → 1,2,3,4 行(2 ,3,4,1)→(1,2,3,4)的置换。操作如下:
T A T K C C K A T A T A M O O T T O M O C K A T → → O W R R R R O W T O M O T A T A A T T A R R O W
《计算机网络安全技术》
2.1.1 数据加密的必要性
数据失密的风险
源站 目的站
截获
《计算机网络安全技术》
2.1.2 数据加密的基本概念
密码技术通过信息的变换或编码,将机密的敏感 消息变换成为难以读懂的乱码字符,以此达到两 个目的:一是使不知道如何解密的窃听者不可能 由其截获的乱码中得到任何有意义的信息;二是 使窃听者不可能伪造任何乱码型的信息。 研究密码技术的学科称为密码学,其中密码编码 学主要对信息进行编码,实现信息隐蔽;而密码 分析学研究分析破译密码的学问。两者相互对立, 而又相互促进。
《计算机网络安全技术》
对称加密 对称加密的缺点是密钥需要通过直接复制或网络 传输的方式由发送方传给接收方,同时无论加密 还是解密都使用同一个密钥,所以密钥的管理和 使用很不安全。如果密钥泄露,则此密码系统便 被攻破。另外,通过对称加密方式无法解决消息 的确认问题,并缺乏自动检测密钥泄露的能力。 对称加密的优点是加密和解密的速度快。
《计算机网络安全技术》
2.1.4 序列密码和分组密码
根据密码算法对明文处理方式的标准不同, 可以将密码系统分为序列密码和分组密码 两类。
《计算机网络安全技术》
序列密码 序列密码也称为流密码,它是将明文消息转化为 二进制数字序列,密钥序列也为二进制数字序列, 加密是按明文序列和密钥序列逐位模2相加(即异 或操作XOR)进行,解密也是按密文序列和密钥 序列逐位模2相加进行。 2
通常,将加密前的原始数据或消息称为明文(plaintext), 而将加密后的数据称为密文(ciphertext),在密码中使用并 且只有收发双方才知道的信息称为密钥(key)。 通过使用密钥将明文转换成密文的过程称为加密,其反向过 程(将密文转换为原来的明文)称为解密。 对明文进行加密时采用的一组规则称为加密算法。对密文解 密时采用的一组规则称为解密算法。加密算法和解密算法是 在一组仅有合法用户知道的密钥的控制下进行的,加密和解 密过程中使用的密钥分别称为加密密钥和解密密钥。
第2章 数据加密技术及应用
《计算机网络安全技术》
2.1 数据加密概述
在计算机网络中,我们需要一种措施来保护数据 的安全性,防止被一些别有用心的人利用或破坏, 这在客观上就需要一种强有力的安全措施来保护 机密数据不被窃取或篡改。 数据加密技术是为了提高信息系统及数据的安全 性和保密性,防止秘密数据被外部破析所采用的 主要技术手段之一。
《计算机网络安全技术》
《计算机网络安全技术》
《计算机网络安全技术》
《计算机网络安全技术》
源自文库
数据加密标准DES
数据加密标准(Data Encryption Standard,DES) 是由IBM公司在1971年设计的一个加密算法。 1977年由美国国家标准局(现美国国家标准技术 委员会)作为第46号联邦信息处理标准而采用的 一种数据加密标准。之后,DES成为金融界及其 DES 他非军事行业应用最为广泛的对称加密标准。 DES是分组密码的典型代表,也是第一个被公布 出来的标准算法。DES的算法完全公开,在密码 学史上开创了先河。DES是迄今为止世界上应用 最为广泛的一种分组密码算法。
图2-1 加密与解密的转换关系
《计算机网络安全技术》
数据加密解密的转换关系
《计算机网络安全技术》
加密与解密转换关系的数学表示,称为密码通信 系统模型,它由以下几个部分组成:
M:明文消息空间 E: 密文消息空间 K1和K2:密钥空间 加密变换Ek1 解密变换Dk2
《计算机网络安全技术》
图2-2 密码通信系统模型
于是得到明文“attackatwomorrow”。
《计算机网络安全技术》
2.2.3 “一次一密”密码
最著名的序列密码是“一次一密”密码,也称为“一次一密 乱码本加密机制”。其中,一次一密乱码本是一个大的不重 复的随机密钥字符集,这个密钥字符集被写在几张纸上,并 粘合成一个本子,该本子称为乱码本。每个密钥仅对一个消 息使用一次。发送方用乱码本中的密钥对所发送的消息加密, 然后销毁乱码本中用过的一页或用过的磁带部分。接收方有 一个同样的乱码本,并依次使用乱码本上的每一个密钥去解 密密文的每个字符。接收方在解密消息后销毁乱码本中用过 的一页或用过的磁带部分。新的消息则用乱码本的新的密钥 进行加密和解密。“一次一密”密码是一种理想的加密方案, 理论上讲,实现了“一次一密”密钥管理的密码是不可破译 的。
《计算机网络安全技术》
节点对节点加密
节点对节点加密是为了解决在节点中的数据 是明文的这一缺点,在中间节点里装有用于加密 和解密的保护装置,由这个装置来完成一个密钥 向另一个密钥的交换。因而,除了在保护装置里, 即使在节点内也不会出现明文。 尽管节点对节点加密能给网络数据提供较高 的安全性,但它在操作方式上与链路加密类似: 两者均在通信链路上为传输的消息提供安全性; 都在中间节点先对消息进行解密,然后进行加密。 因为要对所有传输的数据进行加密,所以加密过 程对用户是透明的。 《计算机网络安全技术》
《计算机网络安全技术》
2.3 对称加密—流密码
流密码(即序列密码)是一种类似于“一次一密” 密码体制,因为在加密过程中是将密钥流(密钥的 二进制位)与等长的明文的二进制位进行模2运算, 在解密过程中是将密钥流与密文进行逐位模2运算, 所以流密码是一种对称加密方式。
《计算机网络安全技术》
2.4 对称加密—分组密码
端对端加密
为了解决链路加密和节点对节点加密中存在 的不足,人们提出了端对端加密方式。端对端加 密又称脱线加密或包加密,它允许数据在从源节 点被加密后,到终点的传输过程中始终以密文形 式存在,消息在到达终点之前不进行解密,只有 消息到达目的节点后才被解密。因为消息在整个 传输过程中均受到保护,所以即使有节点被损坏 也不会使消息泄露。
《计算机网络安全技术》
非对称加密 在非对称加密中,加密密钥与解密密钥不同,此 时不需要通过安全通道来传输密钥,只需要利用 本地密钥发生器产生解密密钥,并以此进行解密 操作。由于非对称加密的加密和解密不同,且能 够公开加密密钥,仅需要保密解密密钥,所以不 存在密钥管理问题。非对称加密的另一个优点是 可以用于数字签名。但非对称加密的缺点是算法 一般比较复杂,加密和解密的速度较慢。
《计算机网络安全技术》
DES特点:
是一个完全遵循Feistel密码结构的分组密码算法 对明文进行分组加密,明文分成每组64位,使 用56位密钥(另加8位校验位)进行加密,产生 64位密文 进行多轮加密变换,彻底打乱明文的信息,使 密文的每一位都与明文和密钥的每一位相关连 加密密钥和解密密钥相同 密钥是保密的,算法是公开的。
目前对网络数据加密主要有链路加密、节 点对节点加密和端对端加密3种实现方式。
图2-3 链路加密过程示意图
《计算机网络安全技术》
链路加密 链路加密又称在线加密,它是对在两个网络节点 间的某一条通信链路实施加密,是目前网络安全 系统中主要采用的方式。 如图2-3所示,在链路加密方式下,只对通信链路 中的数据加密,而不对网络节点内的数据加密。
《计算机网络安全技术》
加密的目的是防止机密信息的泄露,同时还可以 用于证实信息源的真实性,验证所接收到的数据 的完整性。 加密系统是指对信息进行编码和解码所使用的过 程、算法和方法的统称。加密通常需要使用隐蔽 的转换,这个转换需要使用密钥进行加密,并使 用相反的过程进行解密。
《计算机网络安全技术》
《计算机网络安全技术》
2.2 古典密码介绍
介绍几种古典密码体制,虽然这些密码体制现在 已经很少使用,但对理解和分析现代密码体制很 有意义。
《计算机网络安全技术》
2.2.1 简单替换密码
实现方法是将明文按字母表中当前的位置向后移 动n位,便得到加密后的密文,这里的n就是密钥。 例如,当n=3时(即以n=3为密钥)时,字符表的 替换如下(为便于表述,我们约定在明文中使用 小写字母,而在密文中使用大写字母): 明文:a b c d e f g h i j k l m n o p q r s t u v w x y z 密文:D E F G H I J K L M N O P Q R S T U V W XYZABC 当n=3时的密码体制由于被凯撒(Caesar)成功使 用,所以也称为凯撒密码。
《计算机网络安全技术》
2.1.3 对称加密和非对称加密
以密钥为标准,可将密码系统分为单钥密码系统 和双钥密码系统。 单钥密码系统又称为对称密码或私钥密码系统, 双钥密码系统又称为非对称密码或公钥密码系统。 采用单钥密码系统的加密方法,同一个密钥可同 时用作信息的加密和解密,这种加密方法称为对 称加密,也称作单密钥加密。另一种是采用双钥 密码系统的加密方法,在一个过程中使用两个密 钥,一个用于加密,另一个用于解密,这种加密 方法称为非对称加密,也称为公钥加密,因为其 中的一个密钥是公开的(另一个则需要保密)。
《计算机网络安全技术》
2.2.2 双重置换密码
使用双重转换密码进行加密时,首先将明文写成 给定大小的矩阵形式,然后根据给定的置换规则 对行和列分别进行置换。 例如,对明文“attackattomorrow”写成4×4的矩 阵形式:
t a t a c k a t t o m o r r o w
《计算机网络安全技术》
2.4.1 Feistel密码结构
Feistel密码结构是一种密码设计的结构,而 非一个具体的密码产品,现在正在使用的 几乎所有重要的对称分组密码都使用Feistel 结构。
《计算机网络安全技术》
如图2-6所示,Feistel密码结构中,大小为 2w位的明文P被分成左右两部分(各w位, 初值为L0和R0) 进行多轮运算,每轮的输入为Li-1、Ri-1和子 密钥ki,得到输出为Li、Ri,其中: Li=Ri-1 Ri=Li-1⊕F(Ri-1,ki) 其中F为轮函数。
《计算机网络安全技术》
分组密码 分组密码的加密方式是先将明文序列以固定长度 进行分组,然后将每一组明文用相同的密码和加 密函数进行运算。为了减小存储量,并提高运算 速度,密钥的长度一般不大,因而加密函数的复 杂性成为系统安全的关键。 DES、DEA是典型的分组密码。
《计算机网络安全技术》
2.1.5 网络加密的实现方法
然后,按照(1,2,3,4)→(2 ,3,4,1)的规则进 行行置换,然后再按照(1,2,3,4)→(3,4,2,1) 的规则进行列置换。操作如下:
t a t a c k a t a t k c c k a t t o m o m o o t → → t o m o r r o w o w r r r r o w a t t a t a t a
从而得到的密文为“ATKCMOOTOWRRTATA”。
《计算机网络安全技术》
在双重置换密码体制中,密钥由矩阵的大小以及行、列置 换规则组成。接收者如果知道密钥,就可以通过加密过程 使用的矩阵大小以及行、列的置换规则来进行逆向操作, 从而恢复得到明文。 例如,对于前面得到的密文,可以先写成4×4的矩阵形式, 然后将列进行(3,4,2,1)→(1,2,3,4)的置换,再将行进 3,4,2,1 → 1,2,3,4 行(2 ,3,4,1)→(1,2,3,4)的置换。操作如下:
T A T K C C K A T A T A M O O T T O M O C K A T → → O W R R R R O W T O M O T A T A A T T A R R O W
《计算机网络安全技术》
2.1.1 数据加密的必要性
数据失密的风险
源站 目的站
截获
《计算机网络安全技术》
2.1.2 数据加密的基本概念
密码技术通过信息的变换或编码,将机密的敏感 消息变换成为难以读懂的乱码字符,以此达到两 个目的:一是使不知道如何解密的窃听者不可能 由其截获的乱码中得到任何有意义的信息;二是 使窃听者不可能伪造任何乱码型的信息。 研究密码技术的学科称为密码学,其中密码编码 学主要对信息进行编码,实现信息隐蔽;而密码 分析学研究分析破译密码的学问。两者相互对立, 而又相互促进。
《计算机网络安全技术》
对称加密 对称加密的缺点是密钥需要通过直接复制或网络 传输的方式由发送方传给接收方,同时无论加密 还是解密都使用同一个密钥,所以密钥的管理和 使用很不安全。如果密钥泄露,则此密码系统便 被攻破。另外,通过对称加密方式无法解决消息 的确认问题,并缺乏自动检测密钥泄露的能力。 对称加密的优点是加密和解密的速度快。