现代密码学实验报告.doc

现代密码学实验报告.doc

ID:56791757

大小:1.74 MB

页数:53页

时间:2020-07-11

现代密码学实验报告.doc_第1页
现代密码学实验报告.doc_第2页
现代密码学实验报告.doc_第3页
现代密码学实验报告.doc_第4页
现代密码学实验报告.doc_第5页
资源描述:

《现代密码学实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、现代密码学实验报告学生姓名学号专业班级指导教师学院信息科学与工程学院完成时间2014年5月实验一对称密码算法实验[实验目的]1.掌握密码学中经典的对称密码算法DES、AES、RC4的算法原理。2.掌握DES、AES、RC4的算法流程和实现方法。[实验预备]1.DES算法有什么特点?算法中的哪些结构保证了其混淆和扩散的特性?答:分组比较短、密钥太短、密码生命周期短、运算速度较慢。采用替代和置换的方法简单有效地遵循了香农定理,替代操作通过S盒达到了混淆效果,置换操作通过P盒扩散效果。2.AES算法的基本原理和特点。答:AES加密数据块分组长度必须为128比特,密钥长度可以是12

2、8比特、192比特、256比特中的任意一个(如果数据块及密钥长度不足时,会补齐)。AES加密有很多轮的重复和变换。大致步骤如下:1、密钥扩展(KeyExpansion),2、初始轮(InitialRound),3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最终轮(FinalRound),最终轮没有MixColumns。3.流密码RC4的密钥流生成以及S盒初始化过程。答:RC4由伪随机数生成器和异或运算组成。RC4的密钥长度可变,围是[1,255]。RC4一个字节一个字节地加解密。给定一个密钥

3、,伪随机数生成器接受密钥并产生一个S盒。S盒用来加密数据,而且在加密过程中S盒会变化。初始化长度为256的S盒。第一个for循环将0到255的互不重复的元素装入S盒。第二个for循环根据密钥打乱S盒。下面i,j是两个指针。每收到一个字节,就进行while循环。通过一定的算法((a),(b))定位S盒中的一个元素,并与输入字节异或,得到k。循环中还改变了S盒((c))。如果输入的是明文,输出的就是密文;如果输入的是密文,输出的就是明文。[实验容]1.分析DES、AES、RC4、SHA的实现过程。2.用程序设计语言将算法过程编程实现。3.完成字符串数据的加密运算和解密运算输入明

4、文:Idolikethisbook输入密钥:cryption[实验步骤]1.预习DES、AES、RC4算法。2.写出算法流程,用程序设计语言将算法过程编程实现。DES算法流程:代码:#include"memory.h"#include"stdio.h"#include#include#includeusingnamespacestd;enum{encrypt,decrypt};//ENCRYPT:加密,DECRYPT:解密voiddes_run(charout[8],charin[8],booltype=encrypt

5、);//设置密钥voiddes_setkey(constcharkey[8]);staticvoidf_func(boolin[32],constboolki[48]);//f函数staticvoids_func(boolout[32],constboolin[48]);//s盒代替//变换staticvoidtransform(bool*out,bool*in,constchar*table,intlen);staticvoidxor(bool*ina,constbool*inb,intlen);//异或staticvoidrotatel(bool*in,intlen,i

6、ntloop);//循环左移//字节组转换成位组staticvoidbytetobit(bool*out,constchar*in,intbits);//位组转换成字节组staticvoidbittobyte(char*out,constbool*in,intbits);//置换IP表conststaticcharip_table[64]={58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,5

7、1,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7};//逆置换IP-1表conststaticcharipr_table[64]={40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。