毕业论文初稿 软件工程 正文.docx

上传人:牧羊曲112 文档编号:1670895 上传时间:2022-12-13 格式:DOCX 页数:34 大小:202.58KB
返回 下载 相关 举报
毕业论文初稿 软件工程 正文.docx_第1页
第1页 / 共34页
毕业论文初稿 软件工程 正文.docx_第2页
第2页 / 共34页
毕业论文初稿 软件工程 正文.docx_第3页
第3页 / 共34页
毕业论文初稿 软件工程 正文.docx_第4页
第4页 / 共34页
毕业论文初稿 软件工程 正文.docx_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《毕业论文初稿 软件工程 正文.docx》由会员分享,可在线阅读,更多相关《毕业论文初稿 软件工程 正文.docx(34页珍藏版)》请在三一办公上搜索。

1、摘要由于互联网的开放性和匿名性,不可避免的存在诸多安全隐患,因此实现数据在网络传输上的机密性、完整性、不可抵赖性、访问控制性和身份可靠性等是保证数据安全的关键所在。这就要求网络能提供安全服务,包括加密技术、数字签名、电子安全交易认证、防火墙、虚拟专用网等,使数据和资源免遭泄密、系统免受基于网络攻击。Web本质上就是运行在Internet上的客户栅服务器应用程序,Internet上的各种网络应用几乎都以Web的形式出现。由于Internet是一个开放的环境,各种数据将通过公共网络进行传输,因此保障Web系统安全的关键性问题之一在于保证数据的传输安全。密码技术是数据安全的核心技术,是所有通信安全的

2、基石。数据加密过程是由形形色色的加密算法来具体实施,它以很小的代价提供很大的安全保护,数据加密几乎是保证信息机密性的唯一方法。本文主要针对以下几个重点进行论述:首先系统研究了密码学理论基础和应用技术,着重分析了各种密码技术的思想、方法,给出了各种密码的数学描述及特点,比较了主要算法的优缺点,重点研究了AES、ECC算法、身份认证和数字签名等相关算法。其次分析了WEB网络数据传输安全需求,比较了现有主要密码算法的安全性,特别是AES算法的安全性和ECC算法的安全性。接着针对Web网络数据传输所面临的安全威胁,依据各种密码技术的特点,本文给出了一种基于ECC与AES混合加密的网络数据传输方案,该方

3、案主要实现了基于ECC身份认证,并共同协商会话密钥。协商出会话密钥后采用AES算法对所传输的数据进行加密。针对WEB网络数据传输方案,对身份认证模块、AES优化模块和ECC与AES混合签名模块进行了实现。计算机模拟表明,该方案具有较高的安全性和实用性。关键词:Web网络,数据传输安全,椭圆曲线加密算法,高级加密算法,混合加密AbstractBecause of the openness and anonymity of Internet,there exist many hidden trouble of security,the key for keep information securi

4、ty is to implement secure information transmission、reliable system identity authentication and some other secure measures。So there require a solution to provide a endto-end project,it must include encryption,digital signatures,firewall,VPN,etcAnd it Can protect information from leak。Essential of Web

5、 iS a cs application which iS running on the Internet,and a variety of applications on Internet almost entirely to the form of WebAs the Internet is an openenvironment,a variety of data will be transmitted through public networks,one of the key issues to protect the safety of the Web system is to en

6、sure security of data transmissionCryptography is the core technology for data security,and this is the cornerstone of security ill all communicationsData Encryption is implemented by all kinds of encryption algorithms,it provides a lot of security protection with a small price,data encryption is al

7、most the only way to ensure confidentiality of informationThis paper discusses the following priorities:Firstly,the system researches on the basis theories of cryptography and application of technology,focuses on an analysis of the thinking of the various cryptographic techniques and methods,and giv

8、es the mathematical description of the various passwords and the characteristics,compares the several main algorithms on the advantages and disadvantages especially on the AES,ECC algorithms,digital signature authentication and other related algorithmsSecondly,it analyses data security requirements

9、of WEB network,compares the existing the major cryptographic algorithms of safety,particularly the security of AES algorithm and ECC algorithmS securityThen for Webnetwork security threats of data transmission of facing,and bases on the characteristics of a variety of cryptographic techniques,this p

10、aper presents a mixed encryption of network data transmission program bases on the ECC and AES,which implements the main ECC-based authentication,and the common consensus session keyAfter the session key is consulted ituses AES algorithm to encrypt the sensitive data of transmissionFinally,for me WE

11、B network program of data transmission,it implements the authentication module,optimized AES module,ECC and AES mixed signature modulesComputer simulation shows that the program has a high safety and practicalityKey word:Web Network,Date Secure Transmission,ECC,AES,Mixed Encryption1绪论11课题背景111网络数据安全

12、现状 随着计算机技术,特别是网络的高速发展,无论是军队、政府、企事业单位还是个人都逐渐依赖和使用计算机存储数据,并借助网络进行传递和交换,所涉及的数据范围更加广泛,形式也更加多样。以Intemet为代表的信息网络必将在21世纪成为人类生产、生活的一个基本方式。 世界很精彩也很无奈,任何科技的发展过程中都必然会产生自己的对立面。Intemet是在特殊历史环境下成长起来的,军转民后,开始只用于科研信息的共享,网上连接并不多。随着Intemet大举进入社会生活、工作、生产的各个领域,其潜在的安全隐患也充分暴露出来。一方面,Intemet分布范围广泛,具有开放和分布处理的体系结构,提高了资源共享程度和

13、工作效率。另一方面,也带来了网络安全的脆弱性和复杂性,资源共享和分布计算增加了网络受到威胁和攻击的可能性。通过网络犯罪给国家、企业、个人造成的损失也日益严重,网络数据安全己经成为最为关心和棘手的问题。 网络安全的实质是网络数据安全,因此确保网络系统的数据安全是网络安全的主要目标。随着我国Intemet建设的飞速发展,各种Web应用在社会生活、工作、生产的各个领域发挥着越来越大的作用。但同时在我国发生的信息安全事件也大为增加,比如电子商务、数字货币、网络银行等一些网络新业务中,任何关键、敏感的数据流动均是通过不安全的网络传输实现的,所以保障网络数据在动态传输过程中的安全成为数据安全的关键。 We

14、b本质上就是运行在Internet上的客户机1t务器应用程序,Intemet上的各种网络应用几乎都以Web的形式出现。由于Internet是一个开放的环境,各种数据都是通过公共网络进行传输,因此保障Web系统安全的关键性问题之一在于保证数据的传输安全。密码技术的发展使之成为数据传输安全的核心和基础。密码技术是数据安全的核心技术。如今,计算机网络环境中数据的保密性、完整性、可用性和抗抵赖性,都需要采用密码技术来解决。密码体制大体分为对称密码(私钥密码)和非对称密码(公钥密码)两种。112网络数据传输面临的主要威胁网络数据传输过程中主要面临两方面威胁:一是被动攻击,二是主动攻击。被动攻击主要包括:

15、流量分析、监视和窃听明文、解密弱加密的数据流、获取鉴别信息(如口令)等攻击。攻击者利用这些攻击可能窃取传输的信息,分析、判断网络的规模、拓扑结构、定位节点位置、设备特性等。主动攻击主要包括:修改传输数据、重放、劫持会话、伪装成授权的用户服务器、未授权使用应用程序和操作系统软件、利用数据执行、插入或利用恶意代码(特洛伊木马、陷门、蠕虫)、利用协议或基础设施的错误、拒绝服务。攻击者利用篡改或伪造的信息插入网络,尤其是对网管和信令信息的攻击,会影响网络设备的正常运行,甚至造成网络配置混乱,使整个网络瘫痪11。12国内外研究现状目前在网络数据传输安全领域人们所关注的焦点主要是密码理论与技术,下面就简要

16、介绍一下国内外在这个问题上的研究现状及发展趋势。1976年Diffie和Hellman提出公开密钥密码体制是现代密码学的里程碑。自此以后,密码算法的改进和研究沿着对称密钥密码体制和公开密钥密码体制两个分支发展的【21。在对称密钥密码体制算法方面,继最常用的DES算法之后,针对DES密钥长度过短的弱点开发了3DES算法或DESX算法,他们分别将密钥长度加长到168位和184位。相继出现了RC5,RC6,IDEA等算法【3J,在1997年,美国国家标准局(NISn征集代替研究表明不安全DES的下一代密码标准,即AES(Advance Encryption Standard),它有一点与DES显著不

17、同,即密钥长度是可变的。到1999年,共有5个算法入选,分别是MARS(IBM公司)、RC6(RSA公司)、Rijndael(L卜,利时)、Serpent(英国、以色列、挪威)、Twofish(美国),2000年NIST宣布选中了Rijndael算法建议作为AESl4,2001AES成为FIPS批准的高级对称密码算法【5J。 目前,DES算法已存在着极大安全隐患,由于其密钥空间小,进行穷举攻击就可能取得成功。此外,对DES的攻击还有差分分析方法和线性分析方法,为了增强DES算法的安全性,密码设计者又研究并提出了DES改进算法3DES,这些改变有些作用但作用不大,有些还削弱了DES的效率和安全性

18、。总之,DES需要更新更有效的加密标准来代替。而AES算法聚集了强安全性、高效性、易用性和灵活性等优点,使得其最终将替代DES算法。国内外许多研究机构和学者从事AES算法研究,取得了不少成果。主要研究了AES算法在网络传输协议中的应用和算法的改进与实现。如:研究了AES的特点,提出了一种高速先进加密算法(AES)IP核的VLSI实现方案161;研究了在IPSec封装安全载荷(ESP)qb应用AES加密机制,实现了AES加密机制在IPSec协议中应用【7J;研究了AES算法,实现了基于Jave的AES数据加密器【8】;研究分析了AES算法,并对关键单元的硬件设计进行了优化,设计了一个用于IPSe

19、e协议的AES核【9】。在公开密钥密码体制算法方面,目前呈百花齐放的局面。公开密钥都是基于某些数学上的难解问题,比较著名的算法有RSA算法和EIGamal算法【l o】和目前最新进展的ECC算法。现今流行的公钥密码算法主要有两类:一类是基于大整数因子分解问题的,其中最典型的代表是RSA;另一类是基于离散对数问题的,比如EIGamal公钥密码和影响比较大的ECC密码。RSA算法主要是利用由两个大质数之积的模运算来实现,其基础是欧拉定理,其加密强度依赖于对大数因式分解的难度。EIGamal则是利用解离散对数的问题。但目前所有公开密钥算法的普遍缺点,就是其加密解密速度远比私密密钥算法慢,现今一般不单

20、独使用它对大批量数据进行加密解密,而是与私密密钥加密算法配合使用。由于科技的发展,分解大整数的能力日益增强,所以给RSA的安全带来了一定的威胁。研究证明目前128比特模长的RSA已不安全,一般建议使用1024比特模长,而要保证20年的安全就要选择1280比特的模长,增大模长就带来了实现上的难度。基于离散对数问题的公钥密码算法在目前技术下只需512比特模长就能够保证其安全性;特别是椭圆曲线上的离散对数问题的计算要比有限域上的离散对数问题的计算更困难,目前技术条件下只需160比特模长即可,适合使用智能卡实现,引起国内外研究机构的广泛关注。国际上制定了椭圆曲线公钥密码标准,IEEE、RSA等一些公司

21、声称他们已研发出了符合该标准的椭圆曲线公钥密码。我国研究机构和学者也提出了一些公钥密码,对公钥密码的快速实现方面也做了许多工作,比如在RSA的快速实现和椭圆曲线公钥密码的快速实现方面都有所突破。公钥密码的快速实现是当前公钥密码研究中的一个热点,包括算法优化和程序优化,特别是ECC将会成为将来公钥密码算法的一个研究方向。国内外有很多科研院所从事基于椭圆曲线加密算法的数字签名技术的研究,取得了不少研究成果,主要研究应用于不同环境下的数字签名技术的理论和应用,如:研究了基于椭圆曲线的数字有序多签名技术【l21,并提出一种基于椭圆曲线的无需求逆的数字签名方案;研究了基于椭圆曲线数字签名的序列码生成算法

22、,并提出了一种基于该算法的软件序列码生成和验证方案Il习;研究了基于椭圆曲线的可转移不可否认的数字签名技术,并提出了一个新的基于椭圆曲线的可转移不可否认的数字签名方案【14l;研究了对具有消息恢复功能的椭圆曲线签名技术,并提出了一种基于该技术的数字签名方案【l 51。由于对称密码体制和公钥密码体制各有千秋,因此在构建一个密码系统时,为了发挥他们各自的优点,建立一个高效的系统,我们常常把私钥密码和公钥密码配合使用,形成混合密码体制。在混合密码系统中,使用私钥算法加密大量数据,实现了数据的保密性;使用公钥算法对对称密码密钥管理,此外公钥密码还实现了确保数据的完整性、可鉴别性、抗否认性等服务。我们可

23、以充分发挥公钥算法密钥易管理、密钥短,计算开销少,带宽要求低、运算速度快等优点和私钥算法的加、解密速度快等优势,构造出安全、高效的密码系统。混合加密算法的研究中,发表的论文不是很多,主要是研究公钥密码体制和私钥密码体制相结合的混合加密算法,并把混合加密算法应用到数字签名中,主要有:研究了基于RSA与AES混合加密系统的算法【16】,混合加密的方法是提出混合动态RSA密码系统的新思想;对基于DSA和RSA的证实数字签名方案安全性问题进行研究,并提出了一种证实数字签名方案【l7】;研究了DES与ECC混合数字签名技术,主要是使用ECC私钥对信息摘要签名,公钥进行验证签名,明文发送前用DES进行加密

24、,并设计了一种数字签名系统Il驯;实现了一种基于IDEA和RSA算法的多媒体会议系统加密方案,方案中把IDEA和RSA两种算法的优点结合起来实现混合加刮191。了解密码学基础知识清楚,如果密钥序列真正随机产生,而且密钥序列的长度不小于所需保护的信息序列长度,就可构成理论上保密的完全保密体制。现有的绝大部分密码体制都不是真正意义上的保密体制,只是理论上的保密体制。人们在不断改进那种实际保密的密码体制的同时,也时刻不忘密码学理论所指出的那种理论保密体制,并从实际物理世界中去寻找这样的体制,量子密码及混沌密码正是在这种背景下应运而生。这些体制都有了较为深入的研究,并取得了很好的效果,但要真正实际应用

25、还需很多工作要做,下面简单介绍这两种密码体制。量子密码学的基本思路是利用光子传送密钥信息。如果第三方对光子的所有测定尝试都会改变电子的偏振特性,就会造成接收者产生测试偏差。窃听者要想不改变密钥信息的内容,逃过收发方的眼睛而窃取密钥是绝对不可能的。一旦发现密钥被窃听,双方就会自动丢弃收到的信息重新进行密钥分配。作为现代密码体制中的一个新理论,量子密码学已从纯理论阶段发展到试验阶段,但离实际应用还有一些重要的工作要做,特别是在实际通信环境中,敌方的攻击是多种多样的。比如断断续续地窃听密钥信息,就有可能会使正常的收发双方无法最终完成随机密钥的分配工作,因此研究实用的量子密码体制是今后的主要研究内容1

26、20J。上世纪60年代人们发现了一种特殊自然现象一混沌(英文为chaos)。这种物理现象可以用确定的方程来描述,且其数学模型非常简单;“混沌现象具有以下奇特的特性:对参数和初始条件极其敏感,参数和初始条件的极微小变化都将使结果大相径庭,而且不可预测。混沌学和密码体制相结合,就形成了所谓的“混沌密码体制。从密码学的角度来研究和探讨混沌理论在保密通信中的应用当前还处在起步阶段。国内在这方面也做了大量的研究工作。比如电子科技大学、复旦大学、四川大学、中科院上海技术物理研究所、南京通信工程学院等单位院所均对此进行了相关研究,就目前状况而言,“混沌保密能否成为一种实用的密码体制,还有待于进一步研究、探索

27、【2l】。13论文主要工作本文主要做了以下工作:(1) 本文系统研究了密码学理论基础和应用技术,着重分析了各种密码技术的思想、方法,给出了各种密码的数学描述及特点,比较了主要算法的优缺点,重点研究了AES、ECC算法、身份认证和数字签名等相关算法。(2)分析了WEB网络数据传输安全需求,比较了现有主要密码算法的安全性,特别是AES算法的安全性和ECC算法的安全性。(3)针对Web网络数据传输所面临的安全威胁,依据各种密码技术的特点,本文给出了一种基于ECC与AES混合加密的网络数据传输方案,该方案主要实现了基于ECC身份认证,并共同协商会话密钥。协商出会话密钥后采用AES算法对所传输的敏感数据

28、进行加密。(4)针对WEB网络数据传输方案,对身份认证模块、AES优化模块和ECC与AES混合签名模块进行了实现。计算机模拟表明,该方案具有较高的安全性和实用性。14论文的组织结构论文共分六章:第一章,介绍了选题背景、国内外研究现状、论文的主要工作。第二章,研究和分析各种密码体制相关理论基础,重点研究了AES、ECC算法、身份认证和数字签名等相关算法。第三章,分析了WEB网络数据传输安全需求,比较了主要密码算法的安全性。第四章,针对现有WEB网络数据传输安全方案的不足,给出了一种基于椭圆曲线和AES混合加密的信息安全系统,实现了基于ECC身份认证,并共同协商会话密钥。协商出会话密钥后采用AES

29、算法对所传输的敏感数据进行加密。第五章,对本文给出的WEB网络数据传输安全技术方案进行了具体的实现。第六章,总结了论文所做的工作,并对下一步工作进行了展望。2密码技术基础21密码学概述 从远古时代到1949年,可看作是科学密码学发展的前夜,此期间的密码学与其说是-17科学,不如说是-I1艺术。密码专家们通常是凭直觉和信念来进行密码分析和设计,而不是依靠严格的推理证明。从1949年到1975年,以Shannon于1949年发表的保密系统的信息理论一文为起点,密码学就成为了-I3科学,Shannon的文章也从此成为了对称加密体制(私钥密码系统)的理论基础【221。由于美国政府的严格审查和保密,密码

30、学理论的研究工作进展不大,公开的密码学文献很少。1967年David Kahn出版了一本专著破译者(Thecode breakers),它的意义在于记述了1967年以前的密码学发展简史,并使很多不懂密码学的人了解了密码学并开始研究密码学。1976年Diffie和Hellman提出公开密钥密码体制是现代密码学的里程碑。自此以后,密码算法的改进和研究是沿着对称密钥密码体制和公开密钥密码体制两个分支发展的。密码学是以认识密码变换的本质,研究密码保密与破译的基本规律为对象的学科,它包括两个分支:密码编码学和密码分析学。密码编码学主要研究信息变换,以保护信息在信道的传输过程中不被攻击者窃取、解读和利用的

31、方法。而密码分析学则与密码编码学相反,它主要研究如何分析和破译密码。两者之间形成既相互对立又相互促进的局面。一个密码体制(或密码系统)由以下五大部分组成:1明文空间P:全体明文集合;2密文空间C:全体密文集合;3密钥空间K:全体密钥集合,K=Ke+Kd,Ke表示加密密钥,Kd表示解密密钥;4加密算法E:明文和密文之间的变换规则;5解密算法D:密文和明文之间的变换规则。加密变换:C=E(P,Ke); (21)解密变换:P=D(C,Kd)=D(E(P,Ke),Kd)。 (22)典型的密码体制如图21所示。发送端首先将明文P利用加密变换E及加密密钥毛加密成密文C=Ek1(P),接着将c利用公开信道送

32、给接收端。接收端收到密文后利用解密变换D及解密密钥K2将密文解密成明文P=Dk2(C)=Dk2(Ek1(P)。假设公开信道中有一密码分析者,他并不知道解密密钥毛,但想利用各种方法得知明文P,或假冒发送端伪造信息让接收端误以为真,这一过程称为密码分析或密码攻击田】I冽【25】。图21完整密码体制原理图一般而言,密码体制依其应用可对数据提供如下功能:1秘密性:防止非法的接收者发现明文;2鉴别性:确定数据来源的合法性,也即此数据确实是由发送方所传送,而非别人伪造;3完整性:确定数据没有被有意或无意的更撰改,以及被部分替换、添加或删除等;4不可否认性:发送方在事后不可否认其传送过此信息。22对称密钥体

33、制 对称(单钥或私钥)密码体制如图22所示,它的加密密钥和解密密钥相同或彼此间容易确定,通信双方都采用相同的加密算法和共享的专用密钥。由于数据加密和解密采用的都是同一个密钥,因而它的安全性依赖于所持有共享密钥的安全性。传送和保管密钥是也就成为新的问题,通信双方之间要确保密钥安全交换,若使用对称加密技术进行数据加密,系统就必须强化密钥管理体系。图22对称密码体制原理图在对称密码算法中,它的安全性都是基于复杂的数学运算。我们以M表示所有的明文信息,C表示密文信息,K是所有的密钥,则对称密码体制就是由这样一组函数对构成的:Ek:MCDk:CMkK在这里,对于所有的mM及kK,都有Dk Ek(m)=M

34、使用此系统时,通信的双方A和B需要事先达成某一秘密钥kK,他们可以通过直接会晤或者可以信赖的方式来互相得到对方的秘密钥;之后,若A想发送一组明文给B,它传送的密文数据CEk(m);B接收到C后,通过解码函数DK还原成明文M。221 DES、3DES密码 数据加密标准(DES)是迄今为止世界上最为广泛使用和流行的一种对称密码加密算法,它是由美国IBM公司研制的,是对早期Lucifer密码的一种改进和发展。DES是一种分组加密算法,它先把数据进行64位分组后对数据进行加密。同时DES也是一个对称算法,即加密和解密用的是同一个算法。它的密钥长度是56位,密钥可以是任意的56位的数,而且可以随时改变。

35、虽有极少量的数被认为是弱密钥,但是使用过程中很容易避开它们。DES对64(bit)位的明文M分组进行操作,明文M首先经过一个初始置换IP置换,将明文分成左半部分和右半部分,各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密钥结合。再经过16轮后,左、右半部分合在一起经过一个末置换,最后所得到的输出即为密文。每一轮中,密钥位先移位,然后再从密钥的56位中选出48位,接着通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作替代成新的32位数据,再将其置换一次,这四步运算构成了函数fo然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果成为新的右

36、半部分,原来的右半部分成为新的左半部分。将所有操作重复16次,便实现了DES的16轮运算【26】。其加密过程如图23所示。3DES是DES加密算法的一种改进算法,它使用3条64位的密钥对数据进行三次加密。3DES(即Triple DES)是DES向AES过渡的加密算法(1999年,NIST将3DES指定为过渡的加密标准),是DES的一个更安全的改进。它以DES为基本模块,通过组合分组方法设计出来的分组加密算法,其具体实现如下:设E()和q()表示DES算法的加密和解密过程,K表示DES算法使用的密钥,P表示明文,C表示密表,3DES加密过程为:C=Ek3(Dk2(Ek1(P) (24)3DES

37、解密过程为:P=Dk1(Ek2(Dk3(C) (25)毛,七2,毛决定了算法的安全性,若三个密钥互不相同,该算法本质上就相当于用一个长为168位的密钥进行加密。多年来,它对付强力攻击时是比较安全的。使用过程中对数据安全性要求不那么高,毛可以等于毛。在这种情况下,密钥的有效长度为1 12位。图23 DES加密流程图222 AES密码由于DES算法的密钥太短,已不能满足现代通信系统的安全性要求,因此需要寻求一种新的加密标准来代替DES算法。2000年10月,NIST选中了Rijdael算法作为AES来代替DES,评选标准有:1抵御所有已知攻击的;2在各种平台上的速度及编码紧凑型;3设计简单性。Ri

38、jndael算法之所以能当选AES主要有下列原因:1运算速度快:在无论是否具有反馈模式的计算环境下的软硬件中,都能表现出非常好的性能;2适应性强:对内存的需求非常低,它很适合用于受限制的环境;3可靠性高:使用非线性结构的S盒,表现出有足够的安全余地;4抗攻击性强:它的设计策略是宽轨迹策略,这种策略能有效抵抗差分分析和线性分析攻击;5灵活性好:Rijndael是一个分组迭代密码,被设计成128192256比特三种密钥长度,可用于加密长度为128192256比特的分组,相应的轮数为101214,分组长度和密钥长度设计灵活:6简易性好:操作简单,并可抵御时间和能量攻击27282930。2221 AE

39、S算法的数学基础1有限域和域上的多项式有限域即有有限个元素的域,域中元素个数称为域的阶。q阶域存在,当且仅当q=pn,P为素数并称为有限域的特征,有限域记为GF(pn)。AES算法中涉及两类如下形式的特征2域上的多项式:b(x)=b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+blx+b0,b1GF(2) (26)a(x)=a3x3+a2x2+alx+a0,aiGF(28) (27)其中b(x)表示AES算法中的单字节(Byte)数据,a(x)表示AES算法中的4字节(4Bytes)或字(word)数据。单字节也可以用数据向量b7,b6,b5,b4,b3,b2,bl,b0八进制数m

40、,n)表示。2字节运算与字运算1)单字节(Byte)运算单字节运算是两个形如(26)的多项式的运算。a)单字节加法:两个多项式相同指数项系数的模2加,用符号+表示。b)单字节乘法:两多项式相同指数项系数的模m(x)乘,用符号表示。m(x)为8次既约多项式,+X4+x3+x+l,模m(x)能保证乘后的多项式始终在GF(28)上。2)字(Word)运算字运算是两个形如(27)的多项式的运算。a)字加法:两多项式的相同指数项系数的对应比特的模2加。例: a(x)=a3x3+a2x2+alx+a0 b(x)=b3x3+b22x2+b1x+b0则a(x)+b(x)=(a3+b3)x3+(a2+b2)x2

41、+(a1+b1)x+(a0+b0) (28)b)字乘法:两多项式相同指数项系数的模m(x)乘,用符号表示。m(x)是可约多项式x4+l,模m(x)以保证字乘之后的结果仍为一个字。由于m(x)不是GF(28)上的不可约多项式,故并非所有多项式在模m(x)下均有乘法逆元。2222 AES算法结构AES算法加密设计中突出特点是设计者放弃了Feistel结构,而采用Suqare结构。因为Feistel结构的特点是其中间状态的部分字节被没有改变地置换到其他位置,导致一些密钥信息泄露给密码分析者,而且近几年密码分析者提出的差分分析和线性分析方法都是针对Feistel结构设计的密钥分析方法。AES中间态的变

42、换仅仅是作简单的移位处理,其轮变换是由3个可逆的简单变换组成,我们称之为层。状态变换过程中,每个字节的处理基本相同,这为算法实现快速并行处理提供了可能。在设计中通过这种不同层的选择和组合,使之具有抗线性和差分攻击的能力。各层具体功能如下:1线性混合层:确保通过多轮变换后,系统具备很好的扩散效果;2非线性层:通过这些S盒变换的并行应用优化了输入数据与密钥组合在最坏情况下的非线性特征;3密钥相加层:在各中间状态,将本轮密钥与该状态的数据块做简单的异或操作。2223 AES算法的轮变换轮变换由4个不同的变换组成:S盒(SubByte)变换、行(ShiftRow)变换、歹lJ(MixColumnl变换

43、和密钥加与扩展(AddRoundKey),轮变换中的各个变换如下31。1 S盒变换S盒变换即S盒运算,将每个字节通过S盒做非线性运算。这个替换表(或说是S盒)是可逆的,并且它是由两个变换复合而成,这两个变换是:1)对所有的子字节在有限域GF(28)中求其乘法逆,且规定00的逆为00,0l的逆仍然为0l;2)经1)处理后的字节值进行如下定义的仿射转换:通过两个变换构造出S盒。S盒在状态的所有字节上运算的变换用SubByte(State)来记。在这个变换中通过查S盒表找到这个字节对应的多项式,然后对这个字节进行替换。逆S变换的计算则是通过查逆S盒表来进行字节替换,即首先进行逆仿射变换运算,然后利用

44、前面介绍过的方法求得输入字节乘法逆。2行变换在行左平移变换中,状态的行以不同的位移向左循环平移,第0行不动,第1行移动C1个字节,第2行移动C2个字节,第3行移动C3个字节。Cl,C2,C3与分组长Nb有关,相关关系如表21所示。此变换用ShiflRow(State)来表示。3列变换和逆列(InvMixColumn)变换在列变换中,我们把状态的每一列看作是在系数域GF(28)上的多项式,然后用模(x4+1)与固定多项式c(x)=03x3+。01x2+01x+02相乘。此运算可用矩阵乘法来表示,记b(x)=a(x)c(x),则:对所有的列进行此运算就用MixColumn(State)表示。由于c

45、(x)与x4+l互素,因此c(x)可逆,且c-1(x)=d(x)=OBx3+0Dx2+09x+0E。逆列变换类似于列变换,只需将c(x)换成d(x)即可,即只需要将系数矩阵换成其乘法逆矩阵,如下式:4密钥加与扩展轮变换开始前,一般先进行密钥扩展,来产生轮密钥(RoundKey)。若不算初始密钥,此过程中需扩展出Nr个轮密钥,用于每轮变换的最后的密钥加运算(AddRoundKey),即把状态矩阵和轮密钥进行异或,实现将状态矩阵的一次性掩盖。由于每轮使用的轮密钥相关,因此在有些算法中需要把产生轮密钥的步骤置于轮变换中。密钥扩展的作用是在数据加/解密前得到轮变换中使用的轮密钥,它的基本原则是:1)轮

46、密钥的总位数等于分组长乘以(1+Nr),如果分组长为256bits,轮数为10,则轮密钥的长度为256(10+1)=2416bits;2)种子密钥扩展为扩展密钥,种子密钥长度为4Nk个字节;3)轮密钥由如下方法从扩展密钥中获得:第一轮密钥由前Nb个字构成:第二轮密钥由第二个Nb个字即第Nb+1个字到第2Nb个字构成:以下依次类推。Rijndael的算法操作简单,都是基本的逻辑、代数运算,有较强的扩展性,能以较少的编码和资源需求在智能卡上实现。密钥扩展的非线性使得该算法不存在弱密钥(所谓弱密钥,就是密钥与输出之间存在超出一个好密码所应具有的相关性)和半弱密钥。AES算法不仅具有良好的安全性,而且

47、在软硬件实现上都比较简单且具备很快的加密速度。同时AES并不依赖于S-Box的选择,对抗击差分密钥分析及线性密码分析具有良好的防御能力。但由于没有使用Feistel结构,导致加解密过程不完全相同,使得查找表和电路不能被充分利用。23公钥密码体制由于对称密码体制必须事先传送加密密钥而使得保密性受到威胁,再加上对称密码先天不足无法实现不可否认的数据传输,因此在计算机网络上传输加密数据就迫切需要一种新的加密技术的出现。1976年,Diffie和Hellman的文章“密码学的新方向,掀开了公钥密码研究的序幕。在图24所示的密码体制中加密密钥K1与解密密钥K2不同,即使密码分析者知道了加密密钥K1还是无法得知解密密钥K2,那就可以将K1公开,但只有接收方知道K2。在这种情况下,任何人都可以利用K1加密,而只有知道K2的接收方才能解密复原所传数据。图24公钥密码体制的原理图按数论所说,任何公钥系统的基础都是建立在一个NP问题之上,即对于特定的问题我们没有办法找到一个多项式时间的算法求解该问题,一般求解此类问题的算法都是指数时间或者亚指数时间,现有的计算机体系结构不适于求解此类问题。正因为有了此理论依据,我们才可以放心地将公开密钥发送给任何人,而不必担心它利用公钥反推出私钥。目前比较典型公钥密码算法主要有:1基于整数因式分解的公钥密码

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号