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

上传人:飞猪 文档编号:357668 上传时间:2025-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页
点击查看更多>>
资源描述

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盒,但与原算法相比起来,优化后的算法实现变得相对简单,此执行的效率也大大提高.在轮变换的过程中,行移位变换只改变字

15、节数据在状态矩阵中的位置,并不改变字节数据的值:而字节首换变换只根据S-盒对字节数据进行一一而应的替换,与字节数据所在的位置无关.所以,这两个变换层的顺序可以调换,且对于加密律法并没有什么影响.这两层塔!序网换之后,可以方便的格字节替换变换和列混合变换并作一步,通过查表的方法来代替原来匏法中的矩阵乘法的怫作,褥到变换后的结果.在这种优化的方法中,将以列为单位进行变换。第二章、AES算法描述:1.1 状态、密的、算法轮数RJindae1.算法是一个数据块长度和密切长度都可变的迭代分组加密尊法,数据块长度和密钥长度可以为128、192、256位.在加密前对数据块做预处理.首先.把数据块写成字的形式

16、每个字包含4个字节,其次,把字记为列的形式(如下图储ao.oaO.1a0.2aO.3a0.4a0.5a1.0aUai.251,4a35a2.0a2.1a2.2a2,3”4a2.5a3.0a3.1%2333aMa3,5AES把128位的输入看作是一个由16个字节配成的向Ji1.并用一个4X4的列矩阵的形式来殂织,叫做“状态(StaIe)按同样的方式加税密钥,得到一个k矩阵:*0,0*0.1k0.2。3,o3*1,3匕0%k2,2*2.3k3.0勺*3,2%3我们用Nb表示一个数据块中字的个数(列的个数).那么Nb=4,6或8;用Nk表示密钥中字的个数(列的个数3那么Nb=4,6或8.算法轮数N

17、r由Nb和Nk共同决定:NrNb三4Nb二6Nb三8Nk=41012HNk=6121214Nk=814MM1.2 非线性混合层的S交换字节代换(ByteS而是作用在字节上的种非线性变换,这个变换(或称S-box)是可逆的,它由以下两个部分组成:a.把字节的值用它的乘法逆代替:b.把经过a处理后的字节进行如下定义的仿射变换乘法取逆运算为:b(x)=a(x)modMX)(定义四)其中6)=x,+x*+x1+x+1.当a(x)=0时,其逆元素也为0.IA氏一Ia4A下面是进行逆仿射运纣的仿射变换亚阵:001.0其中bj是b,在GF(21)上的乘法逆。1.3 P层的行移位和列温合描述行移位根据不同的分

18、组长改做相应的越环移位运算,M密獴法的行移位过程如图所示;50.0$0.25o.35I.O41.2s2.052$2.2S2J5IO%1$3.2S3JrT$0.0S(MS0.2S(USu或2s.i5ItOS,,S23S2.0S1IS3Js3.0si.S3.2在加明过程中,状态知i阵中的后三行要按字节进行左移位,在解密过程中,则要进行逆行格位即相状态矩阵中的后三行按字节进行右移位.下表给出了在不同的情况下移位的次致。即在后三行的第I行要移位C1.字节,第2行要移位C2字节,第3行要移位C3字节.NbC1.C2I.14123612:18I34行移位后所褥的状态矩阵还要进行列混合,加密算法的列混合过程

19、如图所示.在列混合变换时,把状态矩阵的一列看作在GF(2)上的多项式,与一个常数多项式C(X)相乘并模X+1.后得到的结果。其中:C(x)=,03,X3+01+,01,x+,02,.利用列混合可以使第列的第一个字节与该列中的其他任一字节相互作用,而行移位则可以使第一轮中的其他字节互相混合,由此经过多轮运算可以达到相当强的扩散作用。1.4 密胡加层描述密钥加是负员把轮南铝加入到状态中去,简单地使用异或运算即可得到.轮密钥可以通过密钥调度得到,1.5 密铜调度密钥调度包括密钏编制和密钥选择两部分。井且遵循一下原则:1.6 .1轮密钥的比特总数为数据块长度与轮数加I的积:NkM*8*(N1.1.):

20、2. 5.2种子密期编制为扩展密例,种子密钥长度为4,业个字节:2.5.3轮密钥由以下方法从扩展密钥中获得:对第1轮密钥由前Nb个字构成;第2轮密钥由第二个Nb个字即第Nb+1个字到第2Nb个字构成,以卜依次类推。AES算法利用外部输入密钥K(密钥中的字数为Nk),通过密用扩展程序得到共4(Nr+D字的扩展密钥*(Nr+1).涉及如下三个模块:位置变换RotWord0,把一个四个字节的序列a,a1.,a2,a3左移一个字节变为a1.ta2.a3,a.(2)SubWord(),对一个四字节的输入字n,a1.,a2,a3的每一个字节进行S食变换,然后作为输出。(3)变换Rcon对轮常数的定义为:R

21、Coni=(Rci,00,00,00)i而RcCi表示在有限域GF(2)中X的依,即:Rc1.=1.(KP,01);Rci=x(Rci-1)=x(BJ,02,(Rci-1)./*用于密钥调度的RCon表*/staticconstunsignedcharrconIOj=0x01,0x02,0x04,0x08,0x10,0x20,0x10,0x80,Ox1.B,0X36)(4)扩展密钥的生成:扩展密钿的前Nk个字就是外部密知K:以后的字wi等于它前一个字wi1与前第除个字HMk的异或,Wi=wi-1.XORwi-Nk,但是若i为第的倍数,则Ni)=WU-Nk)XORSubWord(RotWord(

22、w(i-1.)XORRconiNk.2.6 加密算法AES加密算法由初始轮密钥加层和圻轮的轮变换组成它的黝入为初始状态阵列和轮密钥.执行加密算法后产生一个箱出状态阵列,输入明文和输出密文均为128比特2.7 解密算法解本算法的结构与加密算法的结构相同.其中的变换为加密算法变换的逆变换,且使用7-个稍有改变的密钥编制.第三章、AES算法的实现:3.1 AES算法的流程图/叫文Mt*Xq“鲍需例K1.H4(ei)tiW=1.:i-)(InvShiftRowsO;InvSubBytesO:AddRoundKey(i);InvMixCo1.uansO:)InVShiftROs。;InvSubBytes

23、O;AddRoundKcy(i);output(ming);3.2 程序中各交换表的说明3.2.1 S和逆S-盒交换表将用于字节替换变换的S-盒计算出来并存储到一个二维数组中,当在进行字节昔换变换时直接从这个数加中查找到相应的字节数据来普换原来状态矩阵中的字节数据.同理可将逆S-盒也计口出来存谛在数组里.用于加密的S-盒的定义如下:用于解密的逆S-盒的定义如卜:3.3 密钥扩展樵决的实现voidaes:KeyExpansion(unsignedcharkey11Nk-ma1.)unsignedchart(4;inti三Orj=O;for(i=0;i4;i+)for(j=0;jNk;jw)Ke(

24、iKj)Bkei)(j;I=Ojj=O;whi1.e(i(KeyExpOi=Key(O11ij;KeyEp1.H=Key1.1.11i1.;KeyExp(2Mi)=Key211iJ;KeyExp(3iKey(3Hi);i+;)whi1.e(iNb*(Nr+1.)(introw=0;tO=KeyExpO11i-1.J;U1.)=KeyEXPn川川;t(2三KeyExp1.2(i-1.;t3=KeyExp3Ii-1.;if(%Nk=O)RotWord(t);for(row=0;row6&%Nk=4)for(row=0;row4;row+*)trow三Sbo(HIGH4(t(row)1.OW4(tr

25、ow11;for(row=0;row4;row+)KeyEXProw)Ii卜KeyEXP1.rOWMi-Nk)AtIrOw);i+;5.3加密模块的实现voidaes:jiami(unsignedcharning44,unsignedcharme4(4)(input(ming):inti=0:AddRoundKey(I);for(i=1.;i)(SubBytesO:ShiftRowsO:MixCo1.umnsO;AddRoundKey(i):)SubBytesO;ShiftRowsO:AddRoundKey(i):output(me):6.4解密模块的实现OidAIiS:!Docryption

26、ProcessO(Ii解密过程IniIinIStntc(CiphrrTrxt);KeyExpansionO:InvFina1.RoundO;forinti=N.R0UM)-2;iX):i)InvRound(i):)IUidRcandKey(O):Initin1.p1.ninTcxt():六、算法测试及分析:6.1 正确性就试本程序采用动态加密,要求输入加密明文(16位)和加密密钥(16位后即可得到加密后的密文。程序启动界面如图:6.1.1 字符串加解密费试输入1后,输入16位的特加密明文,然后再输入不超过16位的加密密钥,按下回车.即可得到加密结果如下:解密后的结果如图所示:关于时话框:帮助对

27、话框:七.总结通过本次课程设计,对AES加密解密算法有了更深的主任认识,同时也提1.了自己的动手能力,对MFC编程有了一定的了解,在做课程设计的过程中也遇到了一些问题,在老师的招助卜得到了解决,很欣1.不足之处由于初次nMFC所以界面等设计的不是很好,以后会加强这方面的学习.派代码如下:/AES.h:interfaceforIhRAESc1.ass.Sif!defined(AFXESHE755E4B_SEAFJFAEIk5173829CaB5130INCIAiDED)三fincAFXAKSHE755E4BHEAFIKAI-B511:W2!X:H5BS1.:1.INaiDEDSdefineNRO

28、INDHsdefin100()三pragjmonce#Edif/MSCVER10008inc1.udeSinc1.udrSinc1.udeusingnivnespaces1.d:c1.assAES(puh1.tc:Iypedefunsignedcharbyte:他也长度为位/staticCOnStintKKY_$IZE;:-16;/staticconstintX_R。IND:/=11;bytep1.ainText16:U明文bytesiate16;/当他分组.byteciphcrKcy16;/5byter。UndKg风RWM)I;轮存管byteciherText1.6;密文byteSBox16

29、16;/SJbyte1.nvSBox1.6j16;/逆S依voidEncryptionProcessO(/加密过探Initia1.Staie(P1.ainText):KcyExpnnxionO;/密UHr做MdRcondKey(O);/轮空物加for(inti=1:iNRO1.TO-I:i)IRund(i):)Fina1.RoundO:Initia1.CipheiaText0:void1.X*cryptionProcess0(/解分过程IniIinIStntc(CiphrrTrxt);KeyExpansionO:InvFina1.RoundO:forinti=N.R0UM)-2;iX):i)I

30、InvRound(i):)AddRoundKey(O):Initin1.p1.ninTcxt():IvoidROUnd(MnS1.in1.round)(/正常轮SubBytes0;ShiftRcmsO:MixCo1.UimsO:AddRoundKcy(round);voidInVRaUnd(MnS1.intiround)I/正常松的逆VddRxndKey(round);InvMixCo1.unnsO:InvShiftRcmsO;InvSuhBytcx();IvoidFina1.RoundO(/锻后轮SubBytesO:ShiftRwsO;AddRaindKey(NROUMJ-I):voidIn

31、vFina1.RoundO(/最后轮的逆MdRoandKcy(NR(I1.JM)-I);InvShiftRwsO;InvSubBytesO;voidKeyExpansionO(/密引扩娓constbytercnN.RO1.M)1.=(Ox.(0x0,(IXO0,QXWx0xM1.,(0x02,0100,0x00,OxOOJ,(Ck(H.0x00.0x00.OxOO1.(0xX,0xX),(0x20.QxQOf0x00,0x00.(0x10.0x00.000.0x00.(OX0.OdXI.0x0(.0xD().(0x1.b.0x00,0xX),0x00),(0x36.0x00,0x00,OxOO

32、1.):for(intii=0:ii16:ii)rnundKeyOii三cipherKeyii;Ifor(inxi=0:i4:i)(/rundKcy(1.6为CiPhcrXey的找TI电阵for(intj=0;j4:*j)(rounKey04*i*j三CipherKeyH*J+i;IJfor(introundIndex=1:roundIndexNRO1.TiD;roundIndex)(bytertKrd4=0xX)J;rotVord0=rondKey(round1ndex-13;rotVord1.=roundKeyroundIndex-17;rotVord2=oundKeyroundIndex

33、111:rot。Drd=roundKcyrnundIndrx-I15;std:sw(rotWord0,rotWord11):std:swa(rotWordI,rotWord(2);sid:8vap(rotWord2.rotVord3):for(inti=0;i4;*i)(rot1.ordi=SBoxrotWordi4rotWordi&OxOf:rxn(iKcygroundIndex4*i=(wndKeyroundIndex-1.4*irotVord(ircnmundIndexi;Itor(intj=1:j4:j)(for(inti=0;i4;*i)roundKeyroundIndex(4*i

34、j=rounKeyroundIndex-1*1.*i+jroundKeyroundIndex4*iJ-1:)voidAddRCUndKey(constintround)(/陀*钊加forinti=0;i16:Ii)I/利用当时分f1.ktate和第EUndfn扩胧邂忸进行按位异攻statei=rondKeyroundi;)voidSbBytesO(/字节代横for(inti=0;i16;i)Istatei-SBoxsUtei4SWe&OxOf;)voidInvSubBytesO(/道字节代籁forinti=0;i16;II)Istatei-InvSBoxstf1.tei4State【i&Ox

35、Of;)1voidShiftRowsO(/行交换“sta1.e第一行保持不变/1.)nothing.“SUH。第:行循环左移一个字节std::8*ap(8tate4.state5);std:!svap(state5.state(6);std:svap(stnte(6,statc7);su1.。第三行循环移两个字节std:swaiKbyte(8tate8.stat10);std:swap(state9.tate1.i):/state第二行龄环左移:个字节std:swap(state14,SuHGu5):std:swap(8tate13.sute14)::.,.te(state1.2,state1

36、3):IvoidInvShiftRowsO(/行变换反演,;让第一行保结不变/Donothing.8ta1.e第二行筛坏右移个字节std:swap(state6.BIaIe7:xtd:swap(xtntr5.xtntc6);8td:svap(staU(4.stte5);/SUU。第三行循环右落两个字节std:swa|(state(9.au1.1.):sctd:Kvap(state(8,Ktntc(IOj);SUU。第三行循环右移:个字节std:svap(state12,sute13):std:swap(state13,sute14):std:sifap(xtntrJJ.Intc1.1.S);v

37、oidMixCoIuttis()I/列油ftbyteaatrix(4(4=OxO1.hOxO1.1.0x03,0x02);(0x02,(0x01.01.(0x03.0x03,OxOI.0x01,OxO1.0x010x02,OxO1.constbyte*t4*11p=GFMu1.tp1.yBytosMatrix(byte*)natrix,sute):for(inii=0:inpi;/de1.eieit;voidInvMixCo1.innsO(/列漏油反演byte11ntrix1.t=0xQ91.OxOd.OxObJ.OxOr!);(OxOe.(0x09,(0x0d.0b.OxOb,OxOe,0x

38、09.0dM.OxOd,OXDkOxOe.0x09.constbyte*Unp-GBIuItp1.yBytesMatrix(byte*wtrixfstate);for(inti=0:i16;i)statciJ-tc11pi;/de1.etedvoidBui1.dSBoxO(/构its盘bytebwc16U6=ef/*O(0x63.Oxab.0x76./1.*/(Oxen,0x72.OxcOI./*2*/(0xb7,0x31.0x!5./*3*/(0x04,0xb2,0x75)./*1/(0x09.0x2f.0x84,/5*/(0x53.0x58,Oxcf1.6/(OxiO.OxJf.OxaH1

39、/7*/(0x51.0xf3,0xd21./*b*/(Oxcd.0x19.0x731./9*/0x60,OxOb,Oxdb1.1./(0xe0.Ox1.0x79.(0x7,Oxae,OxO1.,*c*/(0xba.Oxb.Ox./d*/(0x70.Ox1.d,OeeI.c*/(0xe1.,0x7c.0x82.Oxfd.0xc7,0x83.Oxd1.Oxef.Dxo3.OxOe.0x81.0x32.0xc8.0x78.0x3e,0xf8.0x77.0xc9.0x93.0x23.0x2c.0x00.Oxaa.0xW.0x13.Ox1.f.0x37.0x25.0xb5.0x98.0x7b.Oxf2

40、0x7d.Oxf,0x26.OXC3,Ox1.a.Oxed.Oxfb.Oxb.0x59,0x36.0x3tOxGf.OXCS.0x30.OxOI.0x67.Ox2b.Oxfe.0xd7.Ox0x27,Ox1.b.0e.OxSa.0xa0.0x52.0x3b.0xd6.0xb3.0x29,0xe3,0x20,OXfc,Oxb1.,0x5b.0x611,Oxcb.Oxbe,0x39.0x4.0xkOx1.X0Md.0x33.0x85.0x45.Oxf9.0x02.0x7f.OxSO,0x3cv0x8f,0x92,OXM0x38,Oxf5,Oxbcf0xb6.Oxda.0x21.OX1.O,Oxff,Oxec.Oxdc.OxOk.OxSf.0x22,OM9.Oxd.0x8d,0x2e.0x66.Ox1.1.Ox1.c.0xW,0x69.OxZa90x06.

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

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

宁ICP备18001539号-1