2022年密码学课程方案AES加密解密文档.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年密码学课程方案AES加密解密文档.docx》由会员分享,可在线阅读,更多相关《2022年密码学课程方案AES加密解密文档.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源个人资料整理 仅限学习使用成 都 信 息 工 程 学 院课 程 设 计 报 告AES加密解密的实现课程名称:应用密码算法程序设计同学姓名: 同学学号: 专业班级: 任课老师:年月 日欢迎下载精品学习资源附件: 课程设计成果评判表个人资料整理 仅限学习使用指导老师评阅成果表欢迎下载精品学习资源欢迎下载精品学习资源学习与工作态度 30%)选题意义10%)文献综述10%)讨论水平与设计才能 20%)课程设计说明说 论文)撰写质量 20%)设计创新10%)总分欢迎下载精品学习资源指导老师签名:年月日课程设计答辩记录及评判表同学 叙述情形老师主要提问记录同学回答疑题情形欢迎下载精品学习资源选
2、题意义值10优9良8中7及格6差4文献综述1098764讨论水平与设计才能课程设计说明书 论文)撰写质量202019191717151513131010设计创新1098764答辩成效302825221915评分工程分评判参考标准评分总分欢迎下载精品学习资源答辩评分答辩小组成员签名答辩小组组长签名:年月日课程设计成果评定表评分工程评分比例分数课程设计总分欢迎下载精品学习资源成果汇总指导老师评分50%答辩小组评分50%欢迎下载精品学习资源目录欢迎下载精品学习资源1. 背景AES ,密码学中的高级加密标准 Advanced Encryption Standard, AES ),又称 Rijn dae
3、l 加密法,是美国联邦政府采纳的一种区块加密标准;这个标准用来替代原先的DE S ,已经被多方分析且广为全世界所使用;经过五年的甄选流程,高级加密标准由美国国家标准与技术讨论院 NIST )于 2001 年 11 月 26 日发布于 FIPS PUB 197 ,并在 2002 年 5 月 26 日成为有效的标准;2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一;AES 有一个固定的128 位的块大小和128 , 192 或 256 位大小的密钥大小;该算法为比利时密码学家JoanDaemen和 VincentRijmen所设计,结合两位作者的名字,以Rijndael之命名之,投稿
4、高级加密标准的甄选流程;Rijdael的发音近于 Rhinedoll ;) AES在软体及硬件上都能快速地加解密,相对来说较易于实作, 且只需要很少的记忆体;作为一个新的加密标准, 目前正被部署应用到更广大的范畴.2. 系统设计2.1 系统主要目标基本要求部分:1. 在深化懂得 AES 加密 /解密算法理论的基础上,设计一个AES 加密 /解密软件系统;2. 完成一个明文分组的加解密,明文和密钥是十六进制,长度都为64 比特16 个 16 进制数),输入明文和密钥,输出密文,进行加密后,能够进行正确的解密;3. 程序运行时,要求输出每一轮使用的密钥,以及每一轮加密或解密之后的16 进制表示的值
5、;4. 要求供应所设计系统的报告及完整的软件;较高要求部分:1. 假如明文不止一个分组,程序能完成分组,然后加密;最终一个分组长度不足时要求完成填充;密钥长度不足时能进行填充,过长就自动截取前面部分;2. 密钥采纳 ASCII 码,明文要求输入信息可以是文字可以是汉字或英文,信息量要求不止一个加密分组长度),任意字符,或者是文本文档,或者一般文件;进行加密后,能够进行正确的解密;3. 程序代码有比较好的结构,模块划分合理,如用类进行封装,通过调用类的成员函数实现加密解密功能,函数的参数及返回值设置合理等;欢迎下载精品学习资源4. 界面友好,程序实现有新意;2.2 主要软件需求 1. 取逆2.
6、仿射变换2. 行移位 ShiftRow3. 列混合 MixColumn欢迎下载精品学习资源4. 轮密钥加 AddRoundKey5. 逆字节替换通过逆 S 盒的映射变换得到6. 逆行移位 InvShiftRow与加密时的行移位区分在于移位方向相反;7. 逆列混淆加密与解密系统流程图如下所示,欢迎下载精品学习资源读进明文读进密钥(1) 产生轮子密钥(2) AddRoundKey 变换欢迎下载精品学习资源3 系统功能程序设计3.1 基本要求部分3.1.1 字节替换(3) 轮变换RoundState,RoundKeyByteSubState;ShiftRowState;Nr1MixColumnSta
7、te; AddRoundKeyState,RoundKey;(4) 最终轮变换FinalRoundState,RoundKeyByteSubState ShiftRowStateAddRoundKeyState,RoundKey;密文欢迎下载精品学习资源SubBytesprintfafter subbyte:n;/取出中间态 state 映射到 S 盒中的值赋给中间态state fori=0 ; i欢迎下载精品学习资源forj=0 ;j stateij=sboxstateij; fori=0 ;i/ 输出到屏幕显示 stateforj=0 ;jprintftt%02x ,stateij;pri
8、ntfn ;printfn ;return 0;3.1.2 行移位ShiftRowsprintfafter shiftrows:n;/ 在中间态的行上,k=state10 ;/ 第 0 行不变state10=state11 ;/ 第一行循环左移一个字节state11=state12 ;/ 其次行循环左移两个字节state12=state13 ;/ 第三行循环左移三个字节state13=k ;k=state20 ;state20=state22 ;state22=k ;k=state21 ;state21=state23 ;state23=k ;k=state30 ;state30=state3
9、3 ;state33=state32 ;state32=state31 ;state31=k ;fori=0 ; i/ 输出到屏幕显示stateforj=0 ;j printftt%02x ,stateij;printfn ;printfn ;return 0;3.1.3 列混合MixColumns=cx*sxmodx4+1欢迎下载精品学习资源unsigned char mixcolumnsunsigned char state44 printfafter mixcolumns:n;/ 实现 02 03 01 01与中间态 state分别相乘后异或得相应值fori=0 ; i/01 02 03
10、 01/01 01 02 03k=state0i ; /03 01 01 02temp0 = state0i state1i state2i state3i;temp1 = state0i state1i; temp1 = xtimetemp1; state0i = temp1 temp0 ;temp1 = state1i state2i; temp1 = xtimetemp1; state1i = temp1 temp0 ;temp1 = state2i state3i; temp1 = xtimetemp1; state2i = temp1 temp0 ;temp1= state3ik;
11、temp1= xtimetemp1 ; state3i=temp1 temp0 ;fori=0 ;i/ 输出到屏幕显示 stateforj=0 ;j printftt%02x ,stateij;printfn ;printfn ;return 0;3.1.4 轮密钥加AddRoundKey 用于将输入或中间态S 的每一列与一个密钥字ki 进行按位异或,每一个轮密钥由 Nb 个字组成;unsigned char addroundkeyunsigned char state44,unsigned char w44printfaddroundkey %d:n,round+;/将中间态 state中的
12、每一列与一个密钥字w44 中的一列 进行按位异或fori=0 ; i/ 完了又赋值给stateforj=0 ;j stateij=wij;fori=0 ; i/ 输出到屏幕显示出来stateforj=0 ;j printftt%02x ,stateij;printfn ;printfn ;return 0;欢迎下载精品学习资源3.1.5 密钥扩展通过生成器产生 Nr+1 个轮密钥,每个轮密钥由 Nb 个字组成,共有 NbNr+1 )个字;在加密过程中,需要 Nr+1 个轮密钥,需要构造 4;fori=4 ; iifi%4=0 rotword0=w1i-1;rotword1=w2i-1;rotw
13、ord2=w3i-1;rotword3=w0i-1;printfrotword:;forj=0 ;j printf%02x ,rotwordj;forj=0 ;j subwordj=sboxrotwordj;printfnsubword:;forj=0 ;j printf%02x ,subwordj; printfnn ;forj=0 ;jrconj=subwordj RconNj;printfafter Rcon:;forj=0 ;j printf%02x ,rconj;printfnn ;forj=0 ;j wji%4=rconj wji-4;欢迎下载精品学习资源count+ ;print
14、fw%d :,count;forj=0 ;j printf %02x ,wji%4;欢迎下载精品学习资源欢迎下载精品学习资源elseforj=0 ; j wji%4=wji%4wji%4-1;欢迎下载精品学习资源printfw%d :,count;forj=0 ; jprintf %02x ,wji%4;count+ ;欢迎下载精品学习资源printfnn ;printf 密钥扩展 Round key:n ;fori=0 ;iforj=0 ;jprintftt%02x ,wij;printfn ; printfn ;3.1.6 逆字节替换与字节代替类似,逆字节代替基于逆S 盒实现;unsign
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 密码学 课程 方案 AES 加密 解密 文档
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内