- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 密码技术
知识目标
了解威胁数据安全的各种因素
理解传统和现代的数据加密技术及其基本概念
理解签名的概念、原理及应用
技能目标
熟练使用对称加密软件加、解密信息
熟练使用非对称加密软件加、解密信息
1
2.1 密码技术简介
密码学包括两部分内容:编码学和编码分析学。编码学是通过编码技术将被保护信息的形式改变,使得编码后的信息除了指定的接收者外其他人无法理解的一门学问,也就是加密算法的研究和设计。密码分析学是研究如何攻破一个密码系统,将被加密的信息恢复,也就是密码破译技术。
2
图2.1 密码系统示意图
1)明文:加密前的原始信息。
2)密文:通过加密手段加密后的信息。
3)加密过程:将明文进行数据转换成密文的过程。
4)解密过程:利用加密的逆转换成密文恢复成明 文的过程。
5)密钥:控制加密和解密运算的符号序列。
3
2.2 传统加密方法介绍
1. 替换密码
在替代密码中,用一组密文字母来代替一组明文字母以隐藏明文,但保持明文字母的位置不变。
最古老的替代密码是恺撒密码,它用D表示a,用E表示b,用F表示c,……,用C表示z,也就是说密文字母相对明文字母左移了3位。为清楚起见,一律用小写表示明文,用大写表示密文,这样明文的“cipher”就变成了密文的“FLSKHU”。依此类推,可以让密文字母相对明文字母左移k位,这样k就成了加密和解密的密钥。这种密码是很容易破译的,因为最多只需尝试25次(k=1~25)即可轻松破译密码。
4
单字母表替换:明文字母和密文字母之间的映射关系。
比如要加密明文“please execute the latest scheme”,密钥为“computer”,则将“computer”重复写在报文上面。
图2.2 把一段明文用密钥“computer”进行加密
5
2.换位密码
换位有时也称为排列,它不对明文字母进行变换,只是将明文字母的次序进行重新排列。
图2.3 一个换位密码的例子
6
2.3 现代加密技术介绍
2.3.1 DES算法
1. DES算法的描述
DES算法将信息分成64bit的分组,并使用56 bit长度的密钥。它对每一个分组使用一种复杂的变位组合、替换,再进行异或运算和其他一些过程,最后生成64 bit的加密数据。对每一个分组进行19步处理,每一步的输出是下一步的输入。
图2.4 DES算法的主要步骤
7
8
图2.5 DES算法的加密操作流程
9
1
C64——64bit的待加密的信息。
K56——56bit的密钥。
L32——C64的前32bit。
R32——C64的后32bit。
其他带下标的字母中的下标都表示bit数,如X48代表处理过程中的48bit的中间bit串。
图中的符号说明如下:
10
2. DES算法的安全性
DES算法的加密和解密密钥相同,属于一种对称加密技术。对称加密技术从本质上说都是使用替代密码和换位密码进行加密的。
3. 密钥的分发与保护
DES算法加密和解密使用相同的密钥,通信双方进行通信前必须事先约定一个密钥,这种约定密钥的过程称为密钥的分发或交换。
11
1)发送方发送n个难题,各用不同的密钥加密。 接收方并不知道解密密钥,必须去破解。
2)接收方随机地选择一个难题并破解它。因为有插入在难题中的模式,使接收方能判断出是否破解。
3)接收方从难题中抽出加密密钥,并返回给发送方一个信息指明他破解难题的标识号。
4)发送方接收到接收方的返回信息后,双方即按照此难题的密钥进行加密了。
最常用的一种交换密钥的方法是“难题”的使用。
12
图2.6 TDEA加密、解密过程
加密
解密
4. 三重数据加密算法
13
2.3.2 高级加密标准
AES(Advanced Encryption Standard,又称高级加密标准。)是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。迭代加密使用一个循环结构,在该循环中重复置换(permutations )和替换(substitutions)输入数据。
14
2.3.3 RSA算法
1. RSA算法的加密过程
1)为字母制定一个简单的编码,如A~Z分别对应1~26。
2)选择一个足够大的数n,使n为两个大的素数(只能被1和自身整除的数)p和q的乘积。为便于说明,在此使用n=p×q=3×11=33。
3)找出一个数k,k与(p-1)×(q-1)互为素数。此例中选择k=3,与2×10=20互为素数。数字k就是加密密钥。根据数论中的理论,这样的数一定存在。
15
文档评论(0)