您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 网络安全报告基于DES加密算法实现
基于DES算法的数据文件加密、解密1课题背景和意义信息是一种资源,也是一种财富。在现代社会中,信息处理和通信技术日益发展,保护信息的安全,特别是保护重要信息的安全,越来越成受到国内外有关研究人员的极大重视。当前由于信息的保护不利和失误,世界各国遭受的损失是巨大的。现在,国际互联网上的各站点,几乎都有各种各样的安全措施,例如防火墙(FireWall)、网络加密等。但是,这些都是系统或网站层次的安全设施。对于广大用户来说,更为直接、也更为有效的办法,就是使用信息加密技术。加密技术是一门实用的技术,有着悠久的历史。过去,加密技术仅被军事和谋报人员以及某些大型商业企业所采用,应用范围十分有限。加密学也是一门与数学有关的深奥的科学,有能力研究加密学的人为数不多。恐怕这也是它鲜为人知、较少应用的原因。信息安全的内容主要包括五个部分:信息的保密性、信息的完整性、信息的可用性、信息的可控性、信息的不可否认性。密码技术是保证信息安全的核心。随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域,同时,信息安全问题也是人们能否护自己的个人隐私的关键。信息安全是社会稳定安全的必要前提条件,信息安全是一个综合性的交叉学科领域,广泛涉及数学、密码学、计算机、通信、控制、人工智能、安全工程、人文科学等诸多学科,是近几年迅速发展的一个热点学科领域。信息对抗和网络安全是信息安全的核心热点,它的研究和发展又将刺激、推动和促进相关学科的研究与发展。至今,密码技术是取得信息安全性最有效的一种方法,密码技术是信息安全的核心技术。通过数据加密,人们可以有效地保证通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。进一步,密码技术可以应用于数字签名、身份认证和信息鉴定,这些应用对于资源存取控制以及其它安全措施是必须而且有效的。信息安全产品从应用类型上可以分为防火墙类产品、防病毒类产品、防攻击类产品、密码类产品、认证类产品和访问控制类产品。相对于防病毒软件和防火墙软件来说,基于密码技术密码类产品、认证类产品份额相对较小,但随着金融、电信、政府等行业信息化建设对于网络安全整体解决方案需求的增加,将会有较大的增长。在本次研究中,对公钥密码体制和私钥密码体制进行了分析和研究,并对公钥密码体制和私钥密码体制的代表DES算法进行了专门的研究。并且实现了基本的文件加密解密的处理流程,能提供对文件的安全、有效的保护。DES算法为密码体制中的对称密码体制,又被成为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。1.1题目描述本文是一篇讨论关于常用文件加密解密算法的研究性论文,它详细的讲述了文件加密解密算法实现的过程中所用到的方法、技术。对公钥密码体制和私钥密码体制进行了分析和研究,并对公钥密码体制和私钥密码体制的代表DES算法进行了研究。对称分组密码设计思想的设计绝大部分是基于Feistel1结构的,DES就是一种典型的Feistel结构。Feistel网络结构是由HorstFeistel在Lucifer分组密码的设计中首先提出的,Feistel网络的基本元素是F函数:一种非线性、通常不可逆的、基于密匙的映射。Feistel结构最大的优点是容易保证加解密相似,这一点在实现中尤为重要,而SP网络比较难做到这一点,但是SP网络的扩散特性比较好。Feistel结构使用乘积密码的概念来逼近单代密码,乘积密码是指依次使用两个或者两个以上的基本密码,所得结果的密码强度将强于单个密码的强度,本质是开发一个分组密码。对称分组密码是满足混淆和扩散原则,每一个分组密码都是明文到密文组的变换,另一方面,混淆则是尽可能事密文和加密密匙之间的统计关系更加复杂,以阻止攻击者拥有一些密文的统计特性,而恰好Feistel密码结构就同时拥有对称结构在实际应用中的实用性,还要密码结构所需要的安全强度,其加密算法的输入是2t位的明文和密匙K,明文被分成两部分,L0和R0,两部分经过n轮迭代后变成密码文组,第i轮迭代输入Li-1和Ri-1来自上一轮的迭代输出,每轮迭代都是相同的结构,只是输入的K不同。代换作用在数据的左半部分,它通过用论函数f作用数据的右半部分,与左半部分数据进行异或来完成。DES综合运用了置换,代换,移位多种密码技术,是一种乘积密码。在算法结构上采用迭代结构,从而使其结构清晰,调理清楚,算法为对合运算,便于实现,运行速度快。DES使用了初始置换IP和IP-1各一次(相应的置换看算法描述图表)置换P16次,安排使用这3个置换的目的是把数据彻底打乱重排。选择置换E一方面把数据打乱重排,另一方面把32位输入扩展为48位,算法中除了S-盒是非线性变换外,其余变换均为显示变换,所以保密的关键是选择S-盒。符合以下3条准则:1、一个S-盒而言,没有任何线性方程式等价于此S-盒的输出输入关系,即是S-盒是非线性函数。2、s-盒的任何一位输入,都会导致两位以上的输出改变,即满足雪崩效应。3、定某一个位的输入时,S-盒的4个出位之间,其中0和1的个数之差小。这个准的本质是数据压缩,把四位输入压缩为4位输出。选择S-盒函数的输入中任意改变数位,其输出至少变化两位。因为算法中使用了16次迭代,大大提高了保密性。1.2课题目标和意义本课题要达到的目标是研究出一套利用DES的加密算法实现针对二进制数据(文件)的加/解密软件工具,编程语言不限。与此同时要仔细研究出基于DES算法的数据文件加密、解密的基本原理,要通过这次课题调研是我们对课上所学的密码学有进一步的加深了解,所谓加密,就是将正常情况下可懂的文件数据输入密码机,由密码机变成不可懂的乱码,即将“明文”变成“密文”;所谓解密,就是上述过程的逆过程,即将“密文”变成“明文”。密码机可看做是一个用电子元件实现一种复杂数学运算的机器。复杂数学运算可记为,这里C=密文,p=明文,k=密钥,f是密码算法。K是自变量,C是因变量。不同的K有不同的C,对于某个密码算法f,K的选择范围越大,C的变化就越多,这个密码算法被人破译的难度就越大,保密强度就越高。如何评价K的选择范围大小呢?一般是看K的位数,位数长的(如128位以上)选择范围大,位数短的(如56位)选择范围小。一个国家的密码政策,通常是用位数长的高强度密码(位数可达)保护国家秘密,其它用于保护商业秘密。在数据传输加密过程中,收发双方线路密码机使用的是相同的密码算法,注入了相同的密钥,发方向收方发出明文,经密码机变成密文后送上公网通信线路,到达收方后先经密码机解密再送到收方电脑上。密文在公用通信网上传输时,如果被截收,窃密方收到的是不可懂的乱码,无法窃取信息内容。在文件存储加密中,加密解密卡加解密采用同一种算法和同一个密钥,工作人员用电脑处理文件后先将文件加密再存入磁盘,以防窃密者盗用磁盘窃取文件。工作人员调用该文件时,文件先经解密再从显示器上显示出来以供使用。2DES算法的数据文件加密、解密原理DES算法为密码体制中的对称密码体制,又被成为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。其密钥长度为56位,明文按64位进行分组,将分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。DES加密算法特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。DES工作的基本原理是,其入口参数有三个:key、data、mode。key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。DES(DataEncryptionStandard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。虽然56位密钥的DES算法已经风光不在,而且常有用Des加密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益的,而且目前DES算法得到了广泛的应用,在某些场合,仍然发挥着余热。3程序设计步骤3.1程序设计步骤(1)加密过程设计DES首先对64位的明文数据分组进行操作,通过一个初始置换,将明文分组等分成左右两半部分,然后进行16轮完全相同的运算,在每一轮运算中,对密钥位进行移位,再从56位密钥中选出48位;同时通过一个扩展置换将数据的右半部分扩展成48位,再通过异或操作与计算得到的48位子密钥结合,并通过8个S盒将这48位替代成新的32位数据,再将其置换一次。然后,通过另一个异或运算,将运算函数f的输出与左半部分结合,其结果成为新的右半部分,旧的右半部分成为新的左半部分。将该操作重复16次,便实现了DES的16轮运算。经过16轮后,左、右半部分结合在一起,最后再通过一个逆初始置换,这样就完成DES加密算法。DES加密算法的具体过程描述如下:DES算法把64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,整个算法的主流程图如下:其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则见下表:58,50,12,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7,即将输入的第58位换到第一位,第50位换到第2位,...,依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位,例:设置换前的输入值为D1D2D3......D64,则经过初始置换后的结果为:L0=D58D50...D8;R0=D57D49...D7。经过26次迭代运算后。得到L16、R16,将此作为输入,进行逆置换,即得到密文输出。逆置换正好是初始置的逆运算,例如,第1位经过初始置换后,处于第40位,而通过逆置换,又将第40位换回到第1位,其逆置换规则如下表所示:40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18,5826,33,1,41,9,49,17,57,25,放大换位表32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,22,23,24,25,24,25,26,27,28,29,28,29,30,31,32,1,单纯换位表16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25,在f(Ri,Ki)算法描述图中,S1,S2...S8为选择函数,其功能是把6bit数据变为4bit数据。下面给出选择函数Si(i=1,2......8)的功能表:选择函数SiS1:14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,1
本文标题:网络安全报告基于DES加密算法实现
链接地址:https://www.777doc.com/doc-1268312 .html