对称加密技术探讨Word格式文档下载.docx
《对称加密技术探讨Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《对称加密技术探讨Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
1引言1
1.1前言1
1.2.加密的由来2
1.3密码学的研究背景2
2对称加密算法理论2
2.1密码原理介绍2
2.1.1密码原理2
2.1.2密码体制3
2.2对称加密算法分析3
2.2.1加密算法DES介绍3
2.2.2加密算法AES算法4
2.2.3IDEA加密算法4
2.3算法总结4
3DES加密算法设计5
3.1DES算法的原理5
3.2数据加密过程5
3.3子密钥的产生过程7
3.4DES算法的应用9
4小结9
参考文献:
9
专业班指导教师
1引言
1.1前言
信息安全是一个综合性的交叉科学领域,广泛涉及数学、密码学、计算机、通信、控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。
信息对抗和网络安全是信息安全的热点核心,它的研究和发展又将刺激、推动和促进相关科学的研究和发展。
至今,密码技术是取得信息安全性最有效的一种方法,密码技术是信息安全的核心技术。
加密技术包括两个元素:
算法和密钥。
算法是将普通的文本(或者可以理解的信息)与一串数字(密钥)的结合,产生不可理解的密文的步骤,密钥是用来对数据进行编码的一种算法。
在安全保密中,可以通过适当的密钥加密技术和管理机制来保证网络的信息通信安全。
密钥加密技术体制分为对称加密体制和非对称加密体制两种。
相应地,对数据加密的技术分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。
对称加密以数据加密标准DES(DataEncryptioStandard)算法为典型代表,非对称加密通常以RSA(RivestShamirAdleman)算法为代表。
对称加密的加密密钥和解密密钥相同,而非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而加密密钥需要保密。
通过数据加密,人们可以有效地保证通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。
进一步,密码技术可以应用于数字签名、身份认证和信息鉴定,这些应用对于资源存储控制以及其它安全措施是必须而且是有效的。
信息安全产品从应用类型上可以分为防火墙类产品、防病毒类产品、防攻击类产品、密码类产品、认证类产品和访问控制类产品。
相对于防病毒软件和防火墙软件来说,基于密码技术密码类产品、认证类产品份额相对较小,但随着金融、电信、政府等行业信息化建设对于网络安全整体解决方案需求的增加,将会有较大的增长。
其中主要分为对称和非对称。
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作加密密钥,这种方法在密码学中叫做加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。
IDEA加密标准由PGP(PrettyGoodPrivacy)系统使用。
1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出了一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。
相对于“对称加密算法”这种算法也叫做“非对称加密算法”。
与对称加密算法不同,非对称加密算法需要两个密钥:
公开密钥(publickey)和私有密钥(privatekey)。
公开密钥与私有密钥是一对,若用公开密钥对数据进行加密,只有对应的私有密钥才能解密;
若用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
因为加密和解密使用的是两个不同的密钥,所以这种算法叫做非对称加密算法。
1.2.加密的由来
加密作为保证数据安全的一种方式,它不是现在才有的,它产生的历史相当久远,虽然它不是现在我们所讲的加密技术,但作为一种加密的概念,确实早在几个世纪前就诞生了。
当时埃及人是最先使用特别的象形文字作为信息编码的,随着时间推移,巴比伦、美索不达米亚和希腊文明都开始使用一些方法来保护他们的书面信息。
近期加密技术主要应用于军事领域,。
最广为人知的编码机器是GermanEnigma机,在第二次世界大战中德国人利用它创建了加密信息。
此后,由于AlanTuring和Ultra计划以及其他人的努力,终于对德国人的密码进行了破解。
当初,计算机的研究就是为了破解德国人的密码,人们并没有想到计算机给今天带来了信息革命。
随着计算机的发展,运算能力的增强,过去的密码都变得十分简单,于是人们又不断地研究出了新的数据加密方式。
1.3密码学的研究背景
国外目前不仅在密码基础理论方面的研究做的很好,而且在实际应用方面也做的非常好。
制定了一系列的密码标准,特别规范。
算法的征集和讨论都已经公开化,但密码技术作为一种关键技术,各国都不会放弃自主权和控制权,都在争夺霸权地位。
美国征集AES的活动就充分体现了这一点,欧洲和日本就不愿意袖手旁观,他们也采取了相应的措施,其计划比美国更宏大,投资力度更大。
我国在密码基础理论的某些方面的研究做的很好,但在实际应用方面与国外的差距较大,没有自己的标准,也不规范。
2对称加密算法理论
2.1密码原理介绍
2.1.1密码原理
所谓加密,就是将正常情况下可懂的文件数据输入密码机,由密码机变成不可懂的乱码,即将“明文”变成“密文”;
所谓解密,就是上述加密过程的逆过程,即将“密文”变成“明文”。
密码机可以看做是实现一种复杂数学运算的机器。
复杂数学运算可以记为:
F(P,K)=C
E(C,K)=P
其中,K表示密钥,P表示明文,C表示密文,F表示加密算法,E表示解密算法。
K是自变量,C是因变量。
不同的K有不同的C,对于某个密码算法F,K的选择范围越大,C的变化就越多,这个密码算法被破译的难度也就越大,保密强度也就越高。
如何评价K的选择范围大小呢?
一般是看K的位数,位数长的(如128位以上)选择范围大,位数短的(如56位)选择范围小。
一个国家的密码政策,通常是用位数长的高强度密码保护国家秘密,其它用于保护商业秘密。
在数据传输加密过程中,收发双方线路密码机使用的是相同的密码算法,注入相同的密钥,发方向收方发出明文,经密码机变成密文后送上公网通信线路,到达收方后先经密码机解密再送到收方电脑上。
密文在公网上传输时,如果被截收,窃密方收到的是不可懂的乱码,无法窃取信息的内容。
2.1.2密码体制
密码原理中,收方双方密码机的密码算法一致,密钥一致,这在密码体制中叫“单密钥体制”,这种传统密码体制,有系统的理论研究和完善的管理机制,技术成熟,性能稳定,国内自行研制的产品安全可靠,保密强度高,一般用于文件数据解密存储和传输。
国外著名的DES密码就是美国政府1977年发布的密钥长度为56位的“单密钥体制”的密码。
这种密码的缺陷是:
仅适用于内部的,点对点方式的,事前双方已知密钥的两点之间的解密传输,保守密钥的秘密十分重要,密钥一旦丢失,整个系统都要立即更换密钥,否则窃密者将可能轻而易举的破解密文。
2.2对称加密算法分析
2.2.1加密算法DES介绍
数据加密算法(DEA)的数据加密标准(DES)是规范的描述,它出自IBM的研究工作,并在1997年被美国政府正式采纳。
它是使用最为广泛的密钥系统,特别是在保护金融数据的安全中,最初开发的DES是嵌入硬件中的。
通常,自动取款机都使用DES。
DES使用一个56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小。
这是一个迭代的分组密码,使用称为Feistel的技术,其中将加密的文本分块成两半。
使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异域”运算;
接着交换这两半,这一个过程会继续下去,但最后一个循环不交换。
DES使用16个循环。
攻击DES的主要形式被称为蛮力的或彻底密钥搜索,即重复尝试各种密钥直到有一个符合为止。
若DES使用56位的密钥,则可能的密钥数量是2的56次方个。
随着计算机系统能力的不断发展,DES的安全性比它刚出现时会弱得多,然而从非关键性质的实际出发,仍可以认为它是足够的
2.2.2加密算法AES算法
DES算法是全世界最广泛的加密算法。
最近,就在2000年10月,它在其初期就取得的硬件方面的优势已经阻碍了其发展,作为政府加密技术的基础,它已由“高级加密标准”(AES)中包含的另一种加密算法代替了。
AES是指定的标准密码系统,未来将由政府和银行业用户使用。
AES用来实际编码数据的加密算法与以前的DES标准不同。
AES算法的标准是:
1.AES应该可以公开定义
2.AES应该是对称的块密码
3.AES应该设计成密钥长度可以根据需要增加
4.AES应该可以在硬件和软件中实现
2.2.3IDEA加密算法
IDEA算法意为国际数据加密算法,是由中国学者朱学嘉和著名密码学家JamesMassey于1990年联合提出的,当时被叫做PES算法,后为了加强抵抗差分密码,经修改于1992年最后完成,并命名为IDEA算法。
IDEA是一种由8个相似圈(Round)和一个输出变换(OutputTransformation)组成的迭代算法。
IDEA的每个圈都由三种函数:
模(216+1)乘法、模216加法和按位XOR组成。
在加密之前,IDEA通过密钥扩展(KeyExpansion)将128bit的密钥扩展为52Byte的加密密钥EK(EncryptionKey),然后由EK计算出解密密钥DK(DecryptionKey)。
EK和DK分为8组半密钥,每组长度为6Byte,前8组密钥用于8圈加密,最后半组密钥(4Byte)用于输出变换。
IDEA的加密过程和解密过程是一样的,只不过使用不同的密钥(加密时用EK,解密时用DK)。
2.3算法总结
DES算法是对称加密算法中较为常见的一种算法,IDEA算法类似于DES,采用数据块加密方法,在算法中设计了一系列轮次加密,每轮加密都使用从完整的加密密钥中生成的一个子密钥。
它与DES的不同处在于,它采用软件实现和采用硬件实现同样快速。
下面给出上述3种算法的性能对比,如表2.1所示。
算法
密钥长度
分组长度
循环次数
DES
56
64
16
AES
128、192、256
128
10、12、14
IDEA
8
表2.1三种算法性能对比
3DES加密算法设计
3.1DES算法的原理
DES使用16个循环,64位密钥经过变换产生16个子密钥,生成的子密钥分别供各次加密迭代使用。
3.2数据加密过程
1.对于任意长度的明文,DES首先对其进行分组,使得每一组的长度为64位,然后分别对每一个64位的明文分组进行加密。
2.初始置换:
输入分组按照初始置换表重排次序,进行初始置换。
3.16轮循环:
输入分组按照初始置换的64位明文进行16轮类似的子加密过程。
每一轮的加密过程步骤如下:
a)将4位明文在中间分开,划分为2部分,每部分32位,左半部分记为L,右半部分记为R,以下的操作都是对右半部分数据分进行的。
b)扩展置换:
扩展置换将32位的输入数据根据扩展置换表扩展为48位的输出数据
c)异或运算:
将48位的明文数据与48位的子密钥进行异或运算
d)S盒置换:
S盒置换是非线性的,48位输入数据根据S盒置换表置换成为32位输出数据
e)直接置换:
S盒置换后的32位输出根据直接置换表进行直接置换。
经过直接置换的32位输出数据作为下一轮子加密过程的L部分,这32位输出数据与本轮的L部分进行异或操作,结果作为下一轮的R部分。
然后进入下一轮加密过程,直到16轮全部完成。
4.终结置换:
按照终结置换表进行终结置换,64位输出就是密文。
数据解密流程图如图3.1所示
图3.1数据加密过程流程图
3.3子密钥的产生过程
在每一轮的子加密过程中,48位的明文数据要与48位的子密钥进行异或运算,子密钥的产生过程如下:
a)压缩型换位1:
64位密钥根据压缩型换位1置换表进行置换,输出的结果位56位。
b)将经过压缩型换位1的56位密钥数据在中间分开,每部分28位,左半部分记为C,右半部分记为D。
c)16轮循环:
C和D要经过16轮类似的操作产生16份子密钥,每一轮子密钥的产生过程如下:
循环左移:
根据循环左移表对C和D进行循环左移。
循环左移后的C和D部分作为下一轮子密钥的输入数据,直到16轮全部完成。
d)最后将C和D部分合并成为56位的数据
16位子密钥生成流程图如图3.2所示
图3.2子密钥生成流程图
3.4DES算法的应用
自DES算法颁布之后,引起了学术界和企业界的广泛重视。
许多厂家很快生产出了实现DES算法的硬件产品,广大用户在市场上买到高速而又廉价的DES硬件产品之后,开始用它加密自己的重要数据,从而大大推广了密码技术的使用。
DES算法的入口参数有三个:
Key、Data、Mode。
其中Key位8个字节共64位,是DES算法的工作密钥;
Data也为8个字节64位,是要被加密或被解密的数据;
Mode为DES的工作方式,有两种:
加密和解密。
DES算法是这样工作的:
如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;
如Mode为解密,则用Key去把密码形式的数据Data解密,还原位Data的明码形式(64位)作为DES的输出结果。
在通信网络的两端,双方约定了一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。
这样,便保证了核心数据在公共通信网中传输的安全性和可靠性。
通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。
在NET开发系统中,微软公司提供了DES公用密钥的加密类,使用它,我们可以自己编制自己的标准DES加密算法。
在任何一个单位,程序员只要设计此程序,就能对零散离散文件进行加密传输,而如果要喝其他单位交换数据,由于使用的公用算法,只需要向对方提供密钥及算法说明即可,使用非常方便。
4小结
诚然,随着科学技术日新月异的发展,特别是在通信领域,当今信息安全问题可以说是无处不在。
因此作为二十一世纪的大学生来说,掌握计算机技术,保护信息安全就显得格外重要。
通过对DES算法和基于DES算法软件的了解,明白加密并不是难事,我们也可以尽己所能得保护自己的重要数据。
本次论文运用所学知识,通过对对称加密技术的学习,对对称加密有了更深层次的了解,也培养了我自学能力。
在论文初期确实困难较大,几经修改后方才定型,在此感谢陈老师不倦的审阅,才能使我的论文更上层楼。
[1]AtulKahate.密码学与网络安全[M].清华大学出版社,2009.81.
[2]邱志聪.加密解密技能百练丛书[M].中国铁道出版社71130585.96
[3]Marc.网络安全与数据完整指南[M].机械工业出版社,1998.59-62
[4]周斌.利用汇编语言实现DES解密算法[M].2002.64-67
[5]姜启涛.网络数据库的安全及优化[J].计算机应及于信息技术,2006,(10):
81-82.