您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 数据加密方法的研究与实现
1绪论从第一台计算机诞生起,经过几十年的高速发展,信息技术已经进入到我们的生活的方方面面,不断改变着我们的生活。我们已经进入了信息化时代。信息化时代是一个信息爆炸的时代,大量的信息依靠传统的方式难以实现有效的储存和传输,因而以计算机技术和网络技术为基础的信息技术的发展显得尤为重要。1.1密码技术的研究意义在中国,网民的人数已经达到了3亿。每天人们都要通过计算机和网络进行生活、工作、学习、娱乐等活动。这些活动都需要依靠信息在网络中的传输来完成。其中包括了一些十分敏感的个人信息,如银行卡账户信息,公民个人身份信息等。这些信息都是和人民的切身利益紧密相关。如果信息被盗,那将会为人民带来巨大的损失。近年来,以淘宝,阿里巴巴等为代表的电子商务蓬勃发展。2008年,中国的电子商务交易总额已经突破了3万亿人民币大关,达到了GDP总量的10%,年增长率也达到了50%[1]。电子商务已经成为我国经济发展的强大的助推力。不仅仅是电子商务,其他计算机和网络相关的信息产业在中国也得到了大力的发展。它们所创造的经济效益也在逐年快速增长,已经成为中国经济发展不可或缺的部分和强大动力。电子政务也是近年来的信息化建设的重点。电子政务是指政府机构运用现代化的网络通讯技术和计算机技术,把政府管理和服务职能通过简单、优化、整合、重组后到网上实现,打破时间、空间以及条块的制约,为社会公众以及自身提供一体化的高效、优质廉洁的管理和服务[2]。它不仅能提高政府的工作效率和工作透明度,也使人民群众更好的实行监督的权利。因此,电子政务的建设受到了政府的极大的关注和投入。政府部门经常通过网络进行传输一些文件资料。有些文件包含了涉及国家安全的机密资料,一旦泄露,将为我国国家安全和社会安定带来巨大威胁。我们需要对这些资料进行保护,保证其安全的传输和储存。办公自动化是现在企业信息化建设的重要步骤。企业把信息资源和重要文件都以电子文档的形式存放在服务器上,以方便各部门、各公司之间的文档调用,这样能很大程度上提高工作效率。目前,各大公司都纷纷建设办公自动化。有许多涉及商业机密的文件也一同被放在服务器上。这些资料也需要严格保护。信息是一种战略资源,在国防军事上,信息安全成为了一个重要的安全防卫领域。密码技术作为信息安全防御中的不可替代的技术,在世界各国,尤其是欧美等国受到极大的重视[3]。美国在这方面投入了巨大的资源来建立了一只专门的信息安全部队确保其再信息领域的安全。密码技术作为信息安全技术最重要的部分之一,是一种主动的安全防御策略,为信息存储和传输提供保护。同时,密码技术是其他安全技术的基础,比如数字签名和密钥管理等。因此,密码技术受到安全专家的高度关注和重视。现在,各国都在大力开发和改进密码技术,用以应对目前日益严重的信息安全问题,保障社会的快速发展,保护国家安全。1.2论文的主要工作本次设计通过运用文献分析方法、面向对象程序设计方法来完成预定的目标:(1)加密技术的选择。(2)加密密钥长度的选择。(3)加密功能。(4)解密功能。具体研究方法和技术路线如下:(1)首先要通过文献对加密技术的原理和算法实现进行系统的学习,尤其是对对称加密算法中的DES算法和IDEA算法,非对称加密算法中的RSA算法的深入学习。(2)通过对其他类似的加密软件的功能的观察研究,进而对本软件进行分析:第一,功能分析,即对软件要实现的主要功能进行分析,包括加密算法的选择,密钥的生成,加密与解密的实现等。第二,软件性能分析,即对软件的跨平台运行能力,较高的安全性和高加密效率的实现。第三,根据上述分析,对软件整体的框架进行逻辑设计。第四、评审分析,对整个软件的设计方案再做一次评审,确定其设计合理,功能完备,具有可操作性。(3)通过面向对象程序设计语言来完成软件的实现过程。2密码技术基本概念为了更好的研究密码技术,首先要阐述一下和密码技术相关的一些基本的概念:2.1加密原理数据加密的基本思想是通过一些手段对信息进行处理,使处理后的结果与原文截然不同,确保信息只能被授权的用户通过特定手段处理后得知,非授权得到处理后的信息不能够知晓原来信息。明文是原来的信息,这些信息需要进行特定的处理;加密就是信息处理的过程;密文是处理后产生的结果;密码算法就是在信息处理时所规定的特定的规则;加密者是对明文进行加密的个体,接收者是接收加密后的密文并且解密密文的个体;而破译者则是那利用一些密码破解手段对明文进行解密的非授权的个体[4]。如图一所示:图2-1加密系统图(1)明文空间M,它是指明文。(2)密文空间C,它是指明文。(3)密钥空间K,它是一个密钥对,包括加密密钥K和解密密钥K´,既K=K,K´。(4)加密算法E,它是对M进行加密变换成C。(5)解密算法D.它是对C进行解密变换成M。对于明文M,加密算法E在密钥K的控制下将明文M加密成密文,而解密算法D在密钥K´的控制下将密文C解密出同一明文M,即Ek(m)=c,Dk(c)=m[5]。对于每一个确定的密钥,加密算法将确定一个具体的加密变换,解密算法将确定一个具体的解密变换,且解密变换是明文加密算法公开信道解密算法明文密码分析者解密密钥加密密钥MMCC安全信道密钥KKK´加密变换的逆变换[6]。2.2密码学的发展历史密码学的发展经历的漫长的时机,最早可以追溯到几千年前。其大致可以分为3个阶段:第1阶段是从几千年前到1949年。这一时期可以看着是科学密码学的前夜[7]。这时的密码设计和破译还没有具体的理论和规则。多数只能靠密码专家个人的天赋。第2阶段是从1949年到1975年。Shannon在1949年发表的《保密系统的信息理论》一文,是密码学开始的标志[7]。这篇文章为对称密钥密码系统的建立提供了理论基础,密码学从此正式成为了一门新的学科。第3阶段是从1976年至今。1976年Diffie和Hellman发表了《密码学新方向》一文,提出了公钥密码理论。他们首次证明了在发送端和接收端不需要传输密钥的保密通信的可能性,从而开创了公钥密码学的新纪元[7]。2.3密码技术的国内外发展状况国际上的密码技术主要分为两类,一类是基于数学的密码理论与技术,比如公钥密码、分组密码、序列密码、PKI技术等。另一类是非数学的密码理论与技术,比如量子密码,基于生物特征的识别理论与技术等[8]。对称密钥密码和公钥密码相比较各自具有不同的特点。目前,基于数学的密码理论与技术被广泛的运用在各个领域。公钥密码自1979年以来至今,已经有了多种不同的公钥体制诞生。其中主要有两类:一类基于大数因子分解问题,比如经典的公钥密码系统RSA;另一类基于离散对数问题,比如椭圆曲线公钥体制[8]。由于大数因子分解的能力在不断的发展,使用RSA的安全性也随之受到威胁。人们通过增加密钥的长度以提高大数因子分解的难度来保证提高它的安全性。一般密钥长度为1024比特。公钥密码体制主要用于数字签名和密钥分配,如PKI。PKI如今已经成为公钥密码体制研究的一个热门。序列密码的理论已经很成熟了。它被广泛的运用在政府和军方要害部门的信息安全上[8]。虽然目前序列密码已经不是一个热点,但是它依旧具有很高的价值。比如RC4被用于存储加密中。1977年制定的分组密码除了公布具体的算法之外,从来不公布详细的设计规则和方法。DES是分组密码系统中的经典代表。分组密码的优点在于它的加密速率快,效率高,被广泛应用在对大文件加密上。非数学的密码理论与技术,如量子密码,基于生物特征的识别理论与技术等,目前也受到密码学家的高度关注,在国际上进行热烈的讨论和研究[8]。这些密码技术是与其他学科技术结合在一起,大大加强了密码的安全性。国外目前不仅在密码基础理论方面的研究做的很好,而且在实际应用方面也傲的非常好[8]。欧美等国都制定了一系列规范的密码标准。算法的征集和讨论都已经公开化。我国在这些方面却远未达到。因此,国内的密码技术要想赶上国际上的水平,我们就需要和国际接轨。不仅要学习新的密码技术,也要建立自己的密码体制和创新机制。2.4密码技术的发展方向尽管对称密钥密码和公钥密码进过多年的发展和实践,已经有了十分完整的体系。但是在这信息高速发展的时代,各种威胁对安全构成了严重的挑战,已有的密码技术对这些威胁的抵抗显得有些力不从心,所以我们需要发展新的的密码技术来实现信息安全的保障。由于破解能力的增强,单一密码的安全性变大越来越低,所以,密码专家们把多种密码结合使用,创立出的混合密码体系变为了新的发展方向。由IBM等公司于1996年联合推出的用于电子商务的协议标准SET(SecureElectronicTransaction)中和1992年由多国联合开发的PGP技术中,均采用了包含单钥密码、双钥密码、单向杂凑算法和随机数生成算法在内的混合密码系统[9]。同时,一些新的密码理论也被提了出来。近年来研究火热的混沌密码学就是其中之一。它综合应用了混沌理论、密码学、通信工程等方面的理论。还有基于一些其他学科发展而发展的新密码技术,有基于物理中的光学和量子理论的量子密码,基于生物特征密码技术,指纹加密、瞳孔加密等的高新密码技术。当然,密码学专家们也没放弃对原有密码体制的继续改进,进而增强它们的安全性。比如增加密钥长度来加强RSA的安全性,增加迭代轮数来加强DES加密的强度等方法。这些新的密码觉有很高的安全性,同时也有很强的灵活性,为信息加密安全将提供了强有力的保障。3加密算法的分析加密算法主要分为对称密钥密码和公钥密码。在对称密钥密码中,DES加密算法最具有代表性。同为分组加密算法的IDEA加密算法,具有比DES加密算法更强的安全性和加密速度,因此有着广泛的应用。而在公钥密码中,基于大数分解的RSA加密算法是其代表。它们也是加密技术中的基础的技术。学习和掌握它们,对学习其他加密技术将有十分有力的帮助。3.1DES加密算法3.1.1DES概述数据加密标准(DES,DataEncrpytionStandard)是一种使用密钥加密的块密码,1976年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),随后在国际上广泛流传开来。它基于使用56位密钥的对称算法。这个算法因为包含一些机密设计元素,相对短的密钥长度以及被怀疑内含美国国家安全局(NSA)的后门而在开始时是有争议的,因此DES因此受到了强烈的学院派式的审查,并以此推动了现代的块密码及其密码分析的发展[10]。3.1.2DES加密算法详解DES是混乱和扩散的组合。DES用一个56位的密钥对64位的明文分组进行操作,将其转换成一个64为的密文。它的基本思路是:把明文M通过一个初始置换,转换成M0,并分成左右两个32为长度的部分,即:L0和R0。然后将R0与子密钥K1进行F函数的运算,结果在与L0进行异或。异或后的结果与L0进行左右交换,成为L1和R1。如此进行16次迭代,再经过一个木置换(初始置换的逆置换)得到密文。加密过程:(1)将明文分成多个64bit的组,不足64bit的以适当的形式补足。(2)进行16轮的相同的运算。这些运算被称为函数F。即Li=Ri-1,Ri=Li-1○+f(Ri-1,Ki)(1≤i≤16).Ki为第i轮计算中使用的子密钥。以第一次迭代为例:首先,将64bit大小的分组M分为左右两个大小均为32bit的部分L0,R0。其次,保持L0不变,根据固定替换表E把R0由32位扩展成48位。把扩展后的48位R0与第1次迭代生成的48位加密密钥进行按位异或操作,形成一个新的48位的R。再次,把R视为8个6bit的分组。每个6bit组依次与S盒进行替换运算。第一个比特和最后一个比特组合来确定S盒中的行,中间四位二进制数确定S盒中的列。由行列所对应的数转换为4bit来替换6bit的组,由此将48bit的R转换为32bit。接着将R与固定的置换P来进行置换,得到函数F的结果P(C)。最后,将函数F的结果P(C)与L0进行异或运算,结果为R1。L1的值为R0。DES需要进行16次的迭代,在完成之前,把第i-1次得到的L和R的值作为第i次的输入数据,第i次迭代要选择第i次迭代生成的密钥与数据进行按位异
本文标题:数据加密方法的研究与实现
链接地址:https://www.777doc.com/doc-4237799 .html