下载此文档

杂凑函数MD5.doc


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
贵州大学实验报告学院:计算机科学与技术学院专业:信息安全班级:姓名学号实验组实验时间2014-12-5指导教师李秦伟成绩实验项目名称杂凑函数MD5实验目的掌握MD5算法的工作原理。了解字典攻击的工作原理。实验基本方法1、编写一个MD5算法,编程语言任选;2、编程实现对一个字符串计算其MD5杂凑值;3、编程实现对一个文件计算其MD5杂凑值;4、编程实现完成RSA数字签名和签名验证实验。5、编程实现利用字典攻击的MD5反算法。(自****设计算法)说明:1、MD5算法可以自编,也可以网上下载现成算法,参见学校教学平台本课程的参考程序。2、RSA算法参见学校教学平台本课程的参考程序。实验步骤1、编写一个MD5算法。2、编程实现对一个字符串计算其MD5杂凑值。3、对一个字符串计算并记录其杂凑值,改变1位明文信息观察并记录MD5的输出。重复3次。4、对一个文件计算并记录其杂凑值,改变1位明文信息观察并记录MD5的输出。5、编程实现完成RSA数字签名和签名验证实验。用RSA私钥加密文件的杂凑值实现签名,更改文件中的单个字符,重复4、5步骤3次,观察签字的变化。6、*编程实现利用字典攻击的MD5反算法。7、*假设字符串是全数字的4位口令,利用上面程序破解口令。8、*对同一段字符,改变其中的描述,内容不变(例如:空格的多少、改变标点的全角半角等)观察签名后的结果。实验结果MD5算法为网上下载的算法实验代码://#ifndefMD5_H#defineMD5_H#include<string>#include<fstream>/*Typedefine*/typedefunsignedcharbyte;typedefunsignedintuint32;usingstd::string;usingstd::ifstream;/*MD5declaration.*/classMD5{public: MD5(); MD5(constvoid*input,size_tlength); MD5(conststring&str); MD5(ifstream&in); voidupdate(constvoid*input,size_tlength); voidupdate(conststring&str); voidupdate(ifstream&in); constbyte*digest(); stringtoString(); voidreset();private: voidupdate(constbyte*input,size_tlength); voidfinal(); voidtransform(constbyteblock[64]); voidencode(constuint32*input,byte*output,size_tlength); voiddecode(constbyte*input,uint32*output,size_tlength); stringbytesToHexString(constbyte*input,size_tlength); /*classuncopyable*/ MD5(constMD5&); MD5&operator=(constMD5&);private: uint32_state[4]; /*state(ABCD)*/ uint32_count[2]; /*numberofbits,modulo2^64(low-orderwordfirst)*/ byte_buffer[64]; /*inputbuffer*/ byte_digest[16]; /*messagedigest*/ bool_finished; /*calculatefinished?*/ onstbytePADDING[64]; /*paddingforcalculate*/ onstcharHEX[16]; enum{BUFFER_SIZE=1024};};#endif/*MD5_H*///#include""usingnamespacestd;/*ConstantsforMD5Transformroutine.*/#defineS117#defineS1212#defineS1317#defineS1422#defineS215#defineS229#defineS2314#defineS2420#defineS314#defineS3211#defineS3316#defineS3423#defineS416#defineS4210#defineS4315#defineS4421/*F,G,HandIarebasicMD5functions.*/#defineF(x,y,z)(((x)&(y))|((~x)

杂凑函数MD5 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人541807096
  • 文件大小78 KB
  • 时间2020-08-20