密码学课程设计报告(文件加密解密系统).docx

上传人:王** 文档编号:1468248 上传时间:2024-07-18 格式:DOCX 页数:30 大小:145.19KB
下载 相关 举报
密码学课程设计报告(文件加密解密系统).docx_第1页
第1页 / 共30页
密码学课程设计报告(文件加密解密系统).docx_第2页
第2页 / 共30页
密码学课程设计报告(文件加密解密系统).docx_第3页
第3页 / 共30页
密码学课程设计报告(文件加密解密系统).docx_第4页
第4页 / 共30页
密码学课程设计报告(文件加密解密系统).docx_第5页
第5页 / 共30页
密码学课程设计报告(文件加密解密系统).docx_第6页
第6页 / 共30页
密码学课程设计报告(文件加密解密系统).docx_第7页
第7页 / 共30页
密码学课程设计报告(文件加密解密系统).docx_第8页
第8页 / 共30页
密码学课程设计报告(文件加密解密系统).docx_第9页
第9页 / 共30页
密码学课程设计报告(文件加密解密系统).docx_第10页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《密码学课程设计报告(文件加密解密系统).docx》由会员分享,可在线阅读,更多相关《密码学课程设计报告(文件加密解密系统).docx(30页珍藏版)》请在优知文库上搜索。

1、密码学课程设计实验报告实验题目:文件加密/解密系统实验任名书课程设计三目文件加密/解密系统Aft一学时2周设计目的,有务和要求设计目的:本课程设计力求为学生提供一个理论联系实际的机会.通过实践,建立密码学埋论的整体思妞,锻炼编写、调试程序的能力,学习文档编写规范,培养独立学习、吸取他人经塘、探索的沿知识的习惯,树立团队办作精神。同时,课程设计可以充分弥补课堂教学及普通实验中知识深度与广度有限的缺陷.更好饱格助学生从全局角度把樨深程体系.设计任务:(1在深入理解DES或AES加密/解密算法理.论的基础上,设计一个DES或AES加密/价密软件系统:(2加/解密过程可用分组密码运行模式中的任一种模式

2、:(3完成一个明文分殂的加解密,明文和密钥可以是二诳制,十六进制或者ASCI1.码。进行加密后,能够进行IE确的解密;(4提供良好的用户界面:(5)要求提供所设计系统的报告及完整的软件.设计的方法和步充第一步:进行系统设计:第二步:代码编码:第一:步:对实现部分的软件功能或者模块进行测试笫四步:提交完整可执行软件,准在答辩;第五步:答辩,演示软件,教师根据实际情况提出测试用例,学生作描后的修改和完善,教师对软件运行部分进行评分:第六步:完成课程设计报告并提交.设计工作计划1 .本次课程设计的时间是2周.工作计划如下:2 .任务书下达,理解选JS,明确软件功能,分析和设计:2天:3 .分析和设计

3、报告的撰写:1天4 .实现部分设计及文档端写:1天:5 .编码及调试:1天:6 .报告完善及打印:1天;7 .成果提交和脸收:1天.主要内贵科1、陈鲁牛.、沈世错外见代任码学(2)北京:科学出版社,2008年2. Michae1.WeIsChenbaCh编著,M振江,连国卿等译,编码密码学一一加密方法的CC+实现?,电子工业出版社,2003年6月;3. 教研室筌字:年月日学院签字I年月日第一章、AES加密解密原理由于I)ES已经无法满足高保密性的要求,美国于1的7年I月开始征集新一代数据加密标准(即海级数据加密标准,AdvancedEncryptionSundard,AES.2000年10月2

4、I1.正式宣布选择比利时密码学家所开发的RijndaC1.算法成为AES的最终算法,AES(TheAdvancedEncryptionStandard)是美国国家标准与技术研究所用于加密电子数据的规他.它被预期能成为人们公认的加密包括金融、电信和政府数字信息的方法得AES是一个新的可以用于保护电子数据的加密匏法。明确地说,AES是一个迭代的、对称密钥分组的密码,它可以使用128,192和256位密钥,并且用128位16字节分组加密和斛密数据.与公共密钥密码使用密钥而不同,对称密钥密利使用相同的密钥加密和解率数据.通过分组密码返I可的加密数据的位数与输入数据相同.迭代加密使用一个新环结构,在该循

5、环中贫复限换(permutations)和杓换(SUbSti1.Utions)输入数据.1.1 AES算法i殳计及性能研究现状:目前在理论上对于AES匏法的研究主要集中在算法设计和性能分析上.1.1.1 算法设计主要研究算法设计遵循的原则和整体结构,研究算法设计的目的方面为性能分析提供了一-条途径,从尊法的结构上分析算法性能是简单有效的,研究算法整体结构I.的缺陷为提出新的密眄分析方法提供新的手段.另一方面,研究AES的算法设计对研发新的分组密码提供了设计原则和参考,目前分组数据加密切法的整体结构有两大类:Festie1.网络、非平衡网络和SP网络。作为AES选择的Rijndae1.算法遵衙分

6、祖密码的安全性和实现性阻则,在整体结构上来用的是SP网络结构。1.1.2 性能分析主要研究算法的各项特性,主要可以分为实现分析和密码分析两类.(1)实现分析主要研究AES算法可实现的能力,即第法的实现性分析.当前实现性分析主要集中在AES的硬、软件实现的玳易度和实现算法的效率等摘域中。(2)密码分析主要研究AES算法抵抗现有已知密码攻击的能力,即算法的安全性分析,除此之外,由于S东是AES算法的唯一非线性变换潺件,S盒的性能在很大程度上决定了AES算法的安全性.因此.出现了许多分析和研究S-盒代数性质的研究成果.在这些成果中分析了S-自的代数特征或是表达S-盒的线性方程由,以达到求解S-盒或是

7、研究S-自安全性的目的.1.2 AES算法展1.2.1 AES算法的数学基础定义一一个出bhhbbbhbu现成的字节b可表示成系数为C1的二进制多项式b5x*bx,bAx,b1.x,bx1.b2X5*bx*bjc定义二在GF(力上加法的定义为二进制多项式的加法,且其系数模2.定义三在GF(2)上乘法(用符号表示)定义为:进制多项式的乘枳模个次数为8的不可约多项式.此不可约多项式为(卜六进制为11B,)In(X)=x+x4+xr上面定义的乘法在CF(2)上满足结合律,且有一个本原元(01).例如:(57)H(83)=(+2+1.)(,+1.)IX.I1.QaR1T,J.Si.1.2.t.4.:A

8、.=X*xxXrX*X4X4XMX*x+4x*1.=(x,3+x,+x*+x,+x+xsx*+x1.x+1.)mod(x*+x,*x*x+1.)三+x*+1.=(CDIV定义四在GF(外上的二进制多项式b(x)的乘法逆为湎足下面方程式的:进制多式a(x),记为b(x).a(x)b(x)BOdn(x)=1.b(x)=a(x)roodm(x).OO除外,OO的逆元还是00,定义五GF(2)上的多项式加法定义为相应项系数相加,因为在城GF(28)上的加是简单的按位异或.所以在域GF(28)上的两向盘的加也就是简单的按位弁或.嵬义大GF(2)上的多式a(x)=a,x+a=x%hx+ao和bx,+bx+

9、bx1.+box0相乘模x,+1的枳(表示为cc(x)=Cjx3+Cjx+cx,+cba5bia:Ciabieacbajb:a:b1,c:ababa1.bsab!.*ic-ababa利用定义六,有xb(x)=b2x*+b1.x1+box,+bs.如果再与X相乘后模x+1.,得b,xW+b,x,+bs,由此可得:多项式年乘上次X的运能结果,相行F多项式系数的,次左扬操作。1.2.2密码算法的设计很Je关于实用密码的两个一般的设计原则是Shannon提出混乱原则和扩散原则:混乱原则:人们所设计的密码应使得南钥和明文以及密文之间的信赖关系相当短杂以至于这种信赖性对密玛分析者来说是无法利用的.扩散原则

10、:人们所设计密码应使得密知的每一位数字影响密文的多位数字以防止对密钥进行逐段破译,而口明文的每位数字也极响密文的多位数字以便防蔽明文数字的统计特性.Rjindae1.算法的设计原则:JoanDaemen和YinCen1.RijBen在设计RijndaeI算法时主要考虑了以J三点:1 .要能抵抗现在所仃的己知密码攻击;2 .在各种平台上都应具有良好的性能;3 .设计骁简单.从以上三点可看出Rijndae1.算法在设计时遵循了安全性原则和易实现性限则,算法整体结构的精心设计确保了算法的安全性、简单性和对称性,确保了算法的易实现性.为使密码算法能抵抗对密钥的强力攻击,必须保证密钥长度尽可能大,密钥长

11、度要求至少128bist.另外为阻止对分组密码进行统计分析,分组长度必须足够大,使得对密文进行频率统计分析计算上不可行.1.2.3AES算法的叠体结构Rjindae1.采用的是代替/置换网络,即SP结构.每一轮有三层组成:P层为彼性层,它包括ShiftRoWS变换(行移变换)和MiXCo1.UImS变换(列混合变换),规性混合层确保多轮之上的商度#故;S层为非线性层,由一个SUbByIeS变换组成,具体由非线性S-盒构成,起到混淆作用:密钥加层由AddRuOndKey变换组成.将干密悌筒单异或到中间状态上,实现密包与明、密文的结合.S层设计AES定义了一个S禽,State中饵个字节按如下方式映

12、射为一个新的字节;把该字节的高4位作为行值,低I位作为列值,然后取出S盒中对应行和列的元素作为输出,S盒是一个由16X16字节如成的矩阵,包含了8位值所能衣达的256种可能的变换,S於按以下方式构造:逐行按升序排列的字节色初始化S盒,第一行是M,(OH02),,(OF);第二行是W,11,-.UF)等.在行X和列y的字节值是IxyK把S盒中的每个字节映时为它在有限域GF(2)中的逆。GF代表伽罗瓦域,GF(2)由一组从OXOo到OXff的256个值组成,加上加法和乘法.GF(2)-Z2X(x)xxxT).7,b6,1.5,b1.,b3,b2,b1.,b).对S盒中每个字节的每位做如卜知,阵方式

13、所描述变换:10001100I1.IOI1.1.1.I1.I1.O1.1.1.00110001124P层设计P层也际为线性层,包括ShiftR。”和MiXCoIU三ns变换,其FI的是提供雪崩效应,从而起到扩散作用.MixCo1.unins变换将状态阵列中的一个字节扩散到该字节所在列的每个字节中,ShirtRows变换则将原来处在同一列上的字节扩侬到不同的列中.Rjindae1.算法P层的设计起到了很好的扩散作用,提高了抵抗差分密码攻击能力,这种设计同时也可彳i效抗击破短差分攻击和Square攻击。1.2.5由期加层设计轮函数实现的功能是把轮密伺加到状态中去.它执行了16个弁行的把密钥加到状态

14、中的运算,加法是通过异或运算来完成的:1. 3AES部分算法优化目前提升轮变换执行效率的方法主要是利用查表和简单的格位异或操作来荷化晚有舞法中的一些复杂运算,如矩阵运尊和媒法运算.最为典型的就是在进行轮变换之前将用于字节替换变换的S-盒计算出来并存储翎一个二维数组中,当在进行字节替换变换时直接从这个数组中宜找到相应的字节数据来件换原来状态矩阵中的字节数据”这就将字节普换原来算法中的乘法求逆和仿射运算转变为一个简单的杳表操作.虽然这要求在轮变换前要花费定的时间和存储空间来计算和存谛S盒,但与原算法相比起来,优化后的算法实现变得相对简单,此执行的效率也大大提高.在轮变换的过程中,行移位变换只改变字节数据在状态矩阵中的位置,并不改变字节数据的值:而字节首换变换只根据S-盒对字节数据进行一一而应的替换,与字节数据所在的位置无关.所以,这两个变换层的顺序可以调换,且对于加密律法并没有什么影响.这两层塔!序网换之后,可以方便的格字节替换变换和列混合变换并作一步,通过查表的方法来代替原来匏法中的矩阵乘法的怫作,褥到变换后的结果.在这种优化的方法中,将以列为单位进行变换。第二章、AES算法描述:1.1 状态、密的、算法轮数RJindae1.算法是一个数据块长度和密切长度都可变的迭代分组加密尊法,数据块长度和密钥长度可以为128、192、256位.在加密前对数据块做预处理.首先.把数据块写成

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

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!