- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
现代密码学实验报告(共9篇)
现代密码学实验报告(共9篇) 现代密码学实验报告 现代密码学 实验报告 学生姓名 学 号 专业班级 计算机科学与技术 指导教师 段桂华 学 院 信息科学与工程学院 完成时间 2016年4月 实验一 密码算法实验 [实验目的] 1.掌握密码学中经典的对称密码算法AES、RC4的算法原理。 2.掌握AES、RC4的算法流程和实现方法。 [实验预备] 1.AES算法的基本原理和特点。 2.流密码RC4的密钥流生成以及S盒初始化过程。 [实验内容] 1. 分析AES、RC4的实现过程。2. 用程序设计语言将算法过程编程实现。 3. 完成字符串数据的加密运算和解密运算 输入十六进制明文:11223344556677889900AABBCCDDEEFF 输入十六进制密钥:13579BDF02468ACE1234567890ABCDEF [实验步骤]1. 预习AES、RC4算法。2. 写出算法流程,用程序设计语言将算法过程编程实现。 3. 输入指定的明文、密钥进行实验,验证结果。 4. 自己选择不同的输入,记录输出结果。 写出所编写程序的流程图和运行界面、运行结果。 一、AES算法 1、AES算法简介 AES 是一种可用来保护电子数据的新型加密算法。特别是,AES 是可以使用 128、192 和 256 位密钥的迭代式对称密钥块密码,并且可以对 128 位(16 个字节)的数据块进行加密和解密。与使用密钥对的公钥密码不同的是,对称密钥密码使用同一个密钥来对数据进行加密和解密。由块密码返回的加密数据与输入数据具有相同的位数。迭代式密码使用循环结构来针对输入数据反复执行排列和置换运算。 2、算法实现及流程 以加密函数为例,如下所示,首先对密钥进行预处理密钥扩展,然后明文进行Nr(Nr与密钥长度有关)次迭代运算,包括字节替换SubBytes、 移位行运算ShiftRows、混合列运算MixColumns、以及轮秘钥加密AddRoundKey。 void Cipher() { int i,j,round=0; // 把明文赋值到状态数组中 for(i=0;i4;i++) } 解密函数的流程和加密函数是一致的,只是对于行变换、列变换、以及相关s盒子为加密的逆过程。 字节替换SubBytes是非线形置换,独立地对状态的每个字节进行。 移位行运算ShiftRows是将状态阵列的各行进行循环移位,不同状态行的位移量不同。第0行不移动,第1行循环左移C1个字节,第2行循环左移C2个字节,第3行循环左移C3个字节。位移量C1、C2、C3的取值与Nb有关。 混合列运算MixColumns是将状态阵列的每个列视为多项式,再与一个固定的多项式c(x)进行模x4+1乘法。Rijndael的设计者给出的c(x)为(系数用十六进制数表示):c(x)=‘03’x3+‘01’x2+‘01’x+‘02’。 for(j=0;j4;j++)// 先与初始轮密钥相加AddRoundKey(0); // 第一轮至(Nr-1)轮的迭代运算,第Nr轮不用进行列混合运算for(round=1;roundNr;round++){SubBytes(); //字节代换 ShiftRows(); //行移位 MixColumns(); //列混合 AddRoundKey(round); //密钥加} SubBytes();ShiftRows(); AddRoundKey(Nr); // 加密结束,将机密结果填入数组out中以便输出for(i=0;i4;i++)for(j=0;j4;j++) out[i*4+j]=state[j][i]; state[j][i] = in[i*4 + j]; 轮秘钥加密AddRoundKey是将轮密钥简单地与状态进行逐比特异或。轮密钥由种子密钥通过密钥编排算法得到,轮密钥长度等于分组长度Nb。 程序流程图 AES流程图 3、运行结果 首先,输入指定密钥13579BDF02468ACE1234567890ABCDEF ,输入指定明文11223344556677889900AABBCCDDEEFF,进行实验,结果如图所示。 选择不同的输入,输入秘钥11223344556677889900AABBCCDDEEFF,输入明文13579BDF02468ACE1234567890ABCDEF ,输出结果如图所示。 二、RC4算法 1、RC4算法简介 RC4加密算法是大名鼎鼎的RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇。首先,用从1到256个字节的可变长度密钥初始化一个256个字节的状态盒S[256]。然后,通过S盒子
您可能关注的文档
最近下载
- 数据通信技术 子网掩码、子网划分、网关 子网掩码与子网划分.ppt VIP
- 柑橘新品种引种表现及栽培技术要点(共字).doc VIP
- 家校社协同育人新范式实施策略.docx
- 美甲店的前景及可行性研究报告.docx
- 班主任计划和总结及班主任手册.doc VIP
- T_CFIAS 3040—2025(混合型饲料添加剂25-羟基胆钙化醇(25-羟基维生素D3)).pdf
- 医疗器械(耗材)项目投标服务实施方案(技术方案).pdf VIP
- 建设工程工程量清单计价规范(GB 50500-2024).docx VIP
- 西门子保护说明书7SJ686用户手册.pdf VIP
- 5.1.3.1生物圈(第一课时) 课件--人教版(2024)生物八年级上册.pptx VIP
有哪些信誉好的足球投注网站
文档评论(0)