收藏 分享(赏)

一种混合加密算法的研究.doc

上传人:weiwoduzun 文档编号:1896788 上传时间:2018-08-29 格式:DOC 页数:114 大小:896.50KB
下载 相关 举报
一种混合加密算法的研究.doc_第1页
第1页 / 共114页
一种混合加密算法的研究.doc_第2页
第2页 / 共114页
一种混合加密算法的研究.doc_第3页
第3页 / 共114页
一种混合加密算法的研究.doc_第4页
第4页 / 共114页
一种混合加密算法的研究.doc_第5页
第5页 / 共114页
点击查看更多>>
资源描述

1、太原春工大学硕士研究生学位论文ffl太原理工大学硕士学位论文种混合加密算法的研究姓名:刘秀莲申请学位级别:硕士专业:计算机应用技术导教师:李东生20070501太原理工大学硕士研究生学俅论jC用改进后的A ES对需通信的数据进行加解密,后用非对称密码R SA加解 密A ES的密销。这样在加密速度方面:由于所需加密的总数据量等于原数 据量加上A ES密钢数据量,而在实际应用中,原数据量远远大于A ES密明 量,所以加密的主要工作集中在原数据上,因此,该混合体制的加密速度 接近于用改进后的A ES算法单独加密数据的速度;在密朗管理方面:用R SA 算法加密量较小的A ES密钢,使得通信的接收方不必

2、保存A ES密铟,只需 保存R SA密码体制的密钥即可,这样就使该体制的密朗管理具有 RSA密码 体制密销管理方便的特点。同时此混合密码体制还具有数字签名的功能,该密码体制采用M D5算 法对原数据产生摘要,用R SA算法对数据进行签名和 验证,从而保证了数 据的完整性。太原春工大学硕士研究生学位论文ffl关键词:加密算法,混合密码,A ES算法,R SA算法RESEARCH ON AN MIXED CRYPTOLOGY ALGORITHMABSTRACTWith the development of the global information, the information techni

3、que has already become a strategic technique which has the largest application and tiie strongest permeation. Increasingly popularization of Internet greatly boosts the pace of national information. At the same time, it brings rare development opportunities with us. However, it also gave a series of

4、 security problems. On the other hand, because information is a kind of important strategic resources, conflict round 太原理工大学硕士研究生学俅论jCinformations obtaining, using and controlling played more and more strongly tiiroughout the world. Cryptology is the core technique of the information security. There

5、fore, facing the urgent situation, it has important theoretic meaning and practical values to strengthen research and improve on cryptology.Modem cryptograph can be divided into symmetrical key system (public key system) and dissymmetrical key system (private key system). They have different charact

6、eristics: I) the key management: Dissymmetrical key system is better than symmetrical key system. 11) The speed of encrypting and decrypting: symmetrical key system is faster than dissymmetrical key system. Ill) Data signature: symmetrical key system cant be used for data signature and identity auth

7、entication in principle, but dissymmetrical key system is easy for data signature and to identity authentication. In this thesis we emphasize on these aspects as below.First, the function ShiftRows(State) of Round() in symmetrical key system AES is a operation of Bytes shifting. It makes the bytes o

8、n row i column j shift to row i column (y - C,) mod N. So we can combine ShiftRows(State) with MixColumns(State) as a function in implementing AES. The improved algorithm is implemented with VC+6.0 and is proved faster than the traditional AES.Using a single cryptology in information encryption has

9、certain disadvantages. Considering speed and security demand, a mixed cryptology consists of symmetrical key system and dissymmetrical key system is proposed. In this cryptology, the improved AES algorithm is used for encrypting data and the dissymmetrical encrypting algorithm RSA is used for encryp

10、ting the AES key. The amount of total data equals to the nount of the real data adding witfi the AES key. So the main task is to encrypt the real data, therefore Ihe speed of encrypting total data approximates to the speed of AES; RSA algorithm is used for encrypting AES key and the receiver doesnt

11、need to save the AES key. So, like RSA algorithm, the mixed cryptology is more facility to key management.At the same time, this mixed cryptology also has the function of data signature. This cryptology use MD5 algorithm in computing the digest of the original data and use RSA algorithm in data sign

12、ature and authentication, the integrality of data is ensured consequently.KEY WORDS: Encryption algorithm, the mixed cryptology, AES, RSA声 明本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。论文作者签名:3為译- 日期:二吟 _关于学位论文使用

13、权的说明本人完全了解太原理工大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以釆用影印、缩印或其它复制手段复制并保存学位论文; 太原理T.大学硕+研究牛.学位论文6学校可允许学位论文被查阅或借阅;学校可以学术交流为目的, 复制錯送和交换学位论文;学校可以公布学位论文的全部或部分内 容(保密学位论文在解密后遵守此规定)。签 名:躺t _日期:视、丄4导师签名:朽t 日期:、抖第一章绪论1.1课题研究的意义随着全球信息化的发展,信息技术已经成为应用面最广,渗透性最强的战略性技术。 Intemet的日益普及,极大地推 动了国家信息化的步伐,

14、给我们带来了难得的发展机遇。 Internet固有的广泛互 联性和跨国性 质,在给我国带来信息共享、易于交流的便利的同 时,也带来了一系列的安全问题,诸如网上信息的被泄漏、甚改和假冒、黑客入侵、计 箅机犯罪、计算机病毒传播等,对网络信息形成了重大威胁。如果信息安全问题不解决, 信息社会就不能健康有序的发展,电子商务、政府上网、网上银行等等,都将无法正常 开展。另一方面,信息作为一种重要的战略资源,国际上围绕信息的获取、使用和控制 的斗争愈演愈烈。而密码技术是信息安全的核心技术,因此,面对紧迫的形势,太原理工大学硕士研究生学位论文加强对 密码技术的研究和发展创新具有重要的理论意义和实用价值。我们

15、应该有选择地引进国 外的安全技术和产品,在国际同行的研究基础上尽量吸取和掌握其思想、原理,同时逐 步研究和推出自主创新的完整的加密安全理论和相应的安全产品。根据实际应用和安全技术的需求,自几百年前人们就陆续提出了很多密码算法,而 这些密码算法也的确在一定的时间里发挥了积极有效的作用。但是,随着计算机运箅能 力的提高以及分布式计算的不断发展,各种原本安全的密码算法都受到了不同程度的威 胁 , 些密码算法也已被成功破解。例如DES密码体制在1997年6月17日被成功攻 破;曾被公认为是最优秀的密码体制之一的RSA公明密码体制也受到了威胁,于 1999年8月,一个155位的RSA模数被成功分解在20

16、04年至2005年,世界上广 泛使用的两大经典单向Hasti 函数MD5算法和SHA-1箅法也先后被成功破解因此, 安全、快速的密码系统研究具有很重要的现实意义。1.2密码算法的发展密码学早在公元前400多年就已经产生,正如破译者中所说“人类使用密码 的历史几乎与使用文字的时间一样长”。第一次世界大战前,重要的密码学进展尽管很 少在公开文献中出现,但该领域也和其它专业学科一样向前发展。在30年代和40年代,有几篇基础性的文章出现在公幵的文献中,有关该领域的几 篇论文也相继发表,只不过这些论文的内容离当时真正的技术水平相差甚远,战争结束 时,情况急转直下,公开的文献几乎殆尽。只有一个突出的例外,

17、那就是香农(Claude Shannon)的文章保密系统 的通信理论出现在1949年贝尔系统技术杂志上太原理工大学硕士研究生学位论文,它 类似于Friedman 1918年的文章,也是战时工作的产物。从1949年到丨7年,密码学 文献几乎空白。在1967年,一部与众不同的著作DavidKahn的破译者出现,它没 有任何新的技术思想,但却对以往的密码学历史作了相当完整的记述,包括政府仍然认 为是秘密的一些事情破译者的意义不仅在于它涉及到的领域相当广泛,而且在于 它使成千上万原本不知道密码学的人了解密码学1 5】 。70年代初期,IBM发表了 Feistel 和他的同事们在这个学科方面的几篇技 术

18、报告 6二 8】 。到了 1977年美国国家 标准局NBS (National Bureau of Standard)公布了由IBM公 司研制的一种加密箅法,批准它作为非机要部门使用的数据加密标准,简称DES (Data Encryption Standard)。进入90年代后,以色列的密码学家Shamir 等人提出了一种“差 分分析法”,以后日本人又提出类似的方法,这才正式有一种称得上对它的攻击方法。 但是严格的讲,Shamir的“ 差分分析法”也只有理论上的价值。但随着技术的进步, DES 密码 体制己于1997 年6月17日被成功破解 i】 ,1976年,Diffie和Hdlman 提出

19、:不仅密码算法本身可以公开,而且加密用的密明 也可以公开,只要解密密销保密就可以了,这就是加密密钩和解密密销不同的非对称密 码体系,又称公销密码体系;1978年,Rivest, Shamir和Adleman三人合作提出了第一 个实用的非对称密码算法,即著名的RSA密码算法。但由于其速度较慢,在那些密级 要求较髙、实时性要求又很强、用户终端计算处理能力弱的网络和无限网络的应用中受 到了局限美国国家标准和技术研究所(NIST)于1997年1月发起并组织了在全世界广泛征 太原理工大学硕士研究生学位论文集新的加密标准算法的活动,同时要求每一种候选算法应当支持128、192和256比特 的密锅长度。经过

20、3年多时间的反复较量,对首轮入选的15种不同算法进行了广泛的 评估和测试,蹄选出5种算法进入决赛。最终于2000年10月宣布由比利时的密码专家 Joan Daemen (Proton World International 公司)及 Vincent Rijmen (Leuven 大学)所提出 的加密算法Rijndael赢得了胜 利,成为21世纪新的高级加密算法AES (Advanced Encryption Standard).在2005年8月17日,在美国加州圣巴巴拉召开的国际密码学会议上,山东大学王 小云教授关于破译MD5、HAVAL128、MIM 和RIPEMD算法的 报告引起了轰动。针

21、 对王小云教授等人的报告,美国国家技术与标准局(NIST)发表专门评论,并宣布美国 计划在2010年之前逐步淘汰现在采用的数字签名体系,换用其他更长更安全的算法,1.3加密算法的分类所谓加密算法就是对明文进行加密时所釆用的一组规则,解密算法就是对密文进行 解密时所采用的一组规则 ie】 。加密算法和解密算法的操作通常都是在一组密钢控制下进 行的,分别称为加密密钢和解密密销。根据加密密钢和解密密街是否相同,可将现有的 加密体制分为两种:一种是对称也称私钩加密体制,它的特点是已知加密密销(EK)和 解密密朗(Dk) 中的任意一个,就能容易的求出另外一个。同时对EK和Dic加以保护 即可满足保密性和

22、真实性的要求;另一种是非对称也称公明加密体制,它的特点是已知 Ek无法容易的求出DK,从而公幵EK不会丧失对DK的保护。对称密码体制的优点是具 太原理工大学硕士研究生学位论文有很高的保密强度,可以达到经受较高级破译力量的分析和攻击但它的密销必须通 过安全可靠的途径传递,密明管理成为影响系统安全的关键性因素,使它难以满足系统 的开放性要求。其典型的代表算法有美国的数据加密标准(DES)和高级加密标准(AES); 非对称密码体制的主要优点是可以适应开放性的使用环境,密明管理问题相对简单,可 以方便、安全地实现数字签名和验证。最初,它是由美国的M.E.HaUman、WJDiffie和 R.Merkl

23、e于1976年提出。其典型代表有RSA算法,根据明文加密方式的不同,又可将对称加密体制分为两类 1。 】 :一类是流密码也称序 列密码,在这类体制中明文逐位转换成密文l“ 】 ,它的代表算法有A5 算法、RC4箅法、 FISH箅法、PIKE算法等;另一 类是分组密码也称块密 码,在这类体制中,明文消息被 划分成固定长度的分组,各组分别在密胡的控制下变换成等长度的密文分组。其中分组 的长度由算法设计者预先确定。它的典型代表算法有I?ES 箅法、AES 算法、BLOWFISH 算法、SKIPJACK算法等。从社会应用密码的需求来看,目前国际上最关心的加密技术 有两种1101: 种是分组密码,另一种

24、是非对称密码1.4密码分析密码学包括两个分支,即密码编码学和密码分析学。密码编码学的主要目的是寻求 保证消息保密性和可认证性的方法,密码分析学的主要目的是研究加密消息的破译和消 息的伪造 121。在消息传输和处理系统中,除了意定的接收者外,还有一些非授权者。他们通过各 太原理工大学硕士研究生学位论文种办法,如电磁窃听、声音窃听、搭线窃听等来窃取重要信息,我们称这样的非授权者 为截收者。他们虽然不知道系统所用的密钢,但通过分析有可能从截获的密文推断出原 来的明文甚至是密钢,我们把这一过程称为密码分析。从事这一工作的人称为密码分析 员或密码分析者ti 2】。所谓一个密码是可破的,是指通过密文能够迅

25、速地确定明文或密钩, 或通过明文一密文对能够迅速地确定其所使用的密朗。通常假定密码分析者知道所使用的密码系统,这个假设称为Kerckhoff 假设11=1。当 然,如果密码分析者不知道所使用的密码系统,那么破译密码将会更难,但是我们不应 该把密码系统的安全性建立在密码分析者不知道所使用的密码系统这个前提下,因此, 在设计一个密码系统时,我们的目的是在Kerckhoff 假设下达到安全性。根据密码分析者破译时所具备的前提条件,通常人们将攻击类型分为下述四种 12】 :(1) 唯密文攻击:密码分析者有一个或多个密文。(2) 已知明文攻击:密码分析者有一些明文以及相应的密文。(3) 选择明文攻击-密

26、码分析者有机会使用密码机,因此可选择一些明文,并产生 密文。(4) 选择密文攻击:密码分析者有机会使用密码机,因此可选择一些密文,并产生 明文。上述每种攻击的目的是决定所使用的密销。这四种攻击类型的强度按序递增,唯密 文攻击是最弱的一种攻击,选择密文攻击是最强的一种攻击如果一个密码系统能够抵 抗选择密文攻击,那么显然它也能够抵抗其余三种攻击。对一个密码系统釆取截获密文进行分析的这类攻击称为被动攻击【1=1。密码系统还可 能遭受到的另一类攻击是主动攻击,即非法入侵者主动向系统窜扰,采用删除、太原理工大学硕士研究生学位论文增添、 更改、伪造、重放等手段向系统放入伪消息。防止这种攻击的一种有效方法是

27、使发送的 消息具有可被验证的能力,使接收者或第三者能够识别和确认消息的真伪。实现这类功 能的密码系统称为认证系统。消息的认证性和消息的保密性不同,保密性是使截获者在太原理工大学硕士研究生学位论文不知道密钢的条件下不能解读密文的内容,而认证性是使任何不知道密明的人不能构造 出一个密报,使意定的接收者解密成一个可理解的消息(合法的消息)。种密码攻击的复杂度可以分为两部分,即数据复杂度和处理复杂度tl 2l。数据复杂 度是指实施该攻击所需要输入的数据量;而处理复杂度是指处理这些数据所需要的计算 量。这两部分的主要部分通常被用来刻划该攻击的复杂度。例如,在穷尽密明搜索攻击 中,所需要的数据量与计算量相

28、比是微不足道的,因此,穷尽密明搜索攻击的复杂度实 际是处理复杂度。在Biham和Shamir 的差分密码分析中, 实施攻击所需的计算量相对 于所需的明密文对的数量来说是比较小的,因此,差分密码分析的复杂度实际上就是数 :杂度。1.5论文的主要工作对称密码体制即私明密码体制在通信时双方共用一个密钢。因此只要通信双方中的 任一方泄漏密朗,这个加密信息就不再安全。同时对称密码体制要求每两个人进行通信 时只能使用一个且不重复的密朗,所以假设有个人互相通信,那么每一 n-l个密胡,个人所需的总密 销数为C纟个,如果的取值很大, 数也将是一个非常大的数。这就导致了密钢的更新和保管都比较困难;而在非对称密码

29、 体制即公销密码体制中,每个通信实体只拥有两个密销,一个公钢,一个私销,公销对 外公开,私钢自己保存且是保密的,当A 要给B发送数据的时候,A首先从公开的目 录中査找B 的公钩,用这个 查到的公钢对数据进行加密,当B 收到A 发来的数据后太原理工大学硕士研究生学位论文, 用自己保密的私钢进行解密,即可获得明文,因为只有B有私钢,所以也只能由B对 数据进行解密,从而保证了数据的安全,而且密银的更新和保管也相对容易。从以上的叙述中可知,对称密码具有密销更换困难,而且对不同的通信对象,对称 密码体制需产生和保管不同的密销的缺点,而非对称密码体制却相反,对加密密钩的更 并且对不同的通信对象,只需保密自

30、己的解密密钢即可;在加密、解密的处 非对称密码体制的加解密过程比对称密码体制复杂得多,所以非对称密码 体制加解密速度比较慢,对称算法优于非对称密码算法;在签名和认证方面:从原理上 上讲,数字签名和身份认证不可能由对称密码算法实现。而非对称密码体制可以非常简 单地进行数字签名和身份认证。对称算法AES轮变换所包含的子函数ShiflRcws(State) 是一个字 节换位的操作,它太原理工大学硕士研究生学位论文将第/行第_/列的字节移到第i行第(K :,) mod Nb列的位置(C,为第/行要移动的偏移量)。 因此,在实现AES算法时,可将ShiftR(ws(Slate) 和MixCo丨umm(S

31、tate)合并成一个函数 完成。基于速度和安全的考虑,本文采取了结合两种密码体制优点的混合密码体制,即用 改进后的对称加密算法AES对需通信的数据进行加解密,用非对称加密算法RSA加密 AES的密钢。在速度方面:由于所需加密的 总数据量等于原通信数据量加上AES 密朗 而在实际应用中,原数据量远远大于AES密钩量,所以加密的主要工作集中 因此,该混合体制的速度接近于用改进后的AES算法单独加密原数据的 在密钥管理方面:用RSA箅 法加密量较小的AES密明,这样通信的接收方就不 必保存AES 密 销,只保存RSA密码体制的密销即可,这样就使该体制的密朗管理具有 RSA 密码体制密 钢管理方便的特

32、点。同时该混合密码体制还具有数字签名的功能,在发送端:将要加密的数据通过MD5 算法获得128比特的字符串,对这128比特的字符串用RSA算法加密;在接收端:将 接收到的数据解密后通过MD5箅法获得128比特的字符串,把得到的字符串与接收到 的字符串进行比较,如果相同就说明数据是完整的。否则就说明数据在传输的过程中有 误或是被基改过。太原理工大学硕士研究生学位论文第二章对称加密算法AES2.1预备知识 2.1.1群和有限域定义2-1给定一集合和该集合上的运算“+”,满足下列四个条件的代数 系统称 为群-2 封闭性:若aMP则存在csF,使3 结合律成立:fl力,ceF 恒有(C)存在单位元素e

33、:即存在eeF,对VoeF,恒有(d)存在逆元素:对于Va eF,恒有AeF 使a+b=b+a=e, 元素 tS+Z + xHx+l等价于比特串00110111,亦即 16进制表示的37。2.1.3多项式运算加法多项式之和等于先对具有相同X 次幕的系数求和,然后各项再相加。而各 系数求和是在域F中进行的:cx) = ax)+bix) 是一个具有单位元1的域,S 个阿贝尔群,是一个定义在F 和V 上的运箅- ! FxV-V.定义2-5 i4 结构 称为F上的向量空间,如果满足以下条件:2 分配律VogF, /c,deVt a*(cii)=(a*cyH.a*d) (2-4)Vflf.i G F,

34、Vc e V : (ai-b)*c=(a*c)+(b*c) (2-5)3 结 合律Va,beF, VceV: (ab)*c=a-(b*c) (2-6)3零元素VceV: l*c=c (2-7)太原理工大学硕士研究生学位论文V中的元素称为向量, 标量乘法。2.2算法描述Rijndael算法是具有可变分组长 度和可变密销长度的分组密码。其分组长度和密销 长度均可独立地设定为32比特的任意倍数,但最小为128比特,最大为256比特。而 AES则是将分组长度固定为 128比特,同时支持128、192或256比特的密销长度。2.2.1AES是一种分组长度固定为128比特而密钢长度可为128比特,192比

35、特和256比 特的可变密明的分组迭代加密算法。AES的每一个分组都要经过数次的数据转换操作, 而每一次转换操作都要产生一个中间结果,这个中间结果我们称之为状态(State).状 态可用一个二维字节数组即矩阵来表示,它有4行,Nb列(Nb等于数据块长度除以32), 它是按列排列的。密胡也可类似地用一个二维字节数组来表示,它也有4行,Nk列(Nk 等于密钢块长度除以32)。而中 间所要转换的轮数Nr 依 赖于密钢长度。如果密锅长度 为128比特,则Nr=10;如果密 销长度为192比特,则 Nr=12;如果密钥长度为256比 特,则Nt=14,可 见,密钢越长加密的轮数也就越多,相 应的安全性越髙

36、而速度也就越 慢。在AES算法中所有的操作都是基于字节的,用到的所有变量都是由相应数量的字 节组成例如对于分组为 128比特的AES 算法来说,因为128比特与16 (128/8=16) 个字节等价,所以明文的一个分组;C 包括16个字节;to、*丨、X1J. State用4x4的字 节矩阵表示如下:中的元素称为标量,运算“+ ”称为向量加法, 称为乂9无2 工6 太10太3 15围2与 1节姐阵困太原理工大学硕士研究生学位论文Figure 2-1 Byte matrix 所以初始的State 矩阵可以由初始的字 节矩阵变换而成,太原理工大学硕士研究生学位论文太原理工大学硕士研究生学位论文10

37、图2-2字节括阵图转换成State银阵 Figure 2-2 The transformation from byte matrix to State matrix字节的内容可以用十六进制来表示,所以如果要表示一个字节就需要两个十六进制 数字。因此在描述状态矩阵内容的时候,我们就用两个十六进制数字来描述矩阵中的每 一个字节元素。AES的加密 过 程包括一个初始密钩加法,记作AddRoundKey接着进行Hl 次轮 变换Round , 最后再使用一个 轮变换FinalRound来结束整个 过程。初始的密钩加法和每 个轮变换均以状态State和一个轮密钩作为输入。第i轮的轮密销记为Expanded

38、Key/, 初始密钩加法的输入记为EjcpandedKey0。从CipherKey导出ExpandedKey的过程记为 KeyExpamion“.现在,我们给出一个AES的执行过程如下3 给定一个明文JC,将X按照S tate的形式初始化,并进 行A ddRoundKey操作, 将R oundKey与S tate异或4 对前Nrl 轮中的每一轮,进行如下四种操作,SubBytes, ShiftRows, MixColunms 和AddRoundKey。其中SubBytes是唯一的一个非线性变换,借助于S盒完成;ShiftRows 是以行为单位进行的变换;MixColunms是以列为单位进行的变

39、换;AddRoundKey是将 RoundKey 与 State 异或。X。So.o So.i So So,3工1 Sio Si.i Su太10 2,0 S2.1 2,2文3 3,0 S3.1 S3_2S3.3太原理工大学硕士研究生学位论文115 最后一轮即第N,轮只进行 SubBytes、ShiftRows 和AddRoundKey操作,而没有 MixColunms 操作。6 最后的State矩阵即为密文:,一用AES算法加密数据的过程用伪C描述如下丨 2】 :Cipher(State, CipherKey)KeyExpansion(CipherKey, ExpandedKey);AddRo

40、undKey(State, Expande 】 :KeyExpansion (byte key4*Nk, word wNb.(Nr+l), Nt). beginword temp /=0while (/jbWord()是一个函数 它是以一个四字节为输 入对每个字节进行S盒替 换产生四字节的输出 1101%01()函数也是以四字节(0,(;2,:,为输入,进行循环置换, 返回(;,,:2,(:3,(1。】。常数数组Rconip ,包含了通 过广1,00,00,00得到的值, 是有限域GF(2)中*的幕(x为02),这里f 从1 开始 ,而不是0。-2.3安全性分析在高级加密箅法的选择上,算法的安全性是一个很重要的评判指标.在这里,我们

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报