欢迎来到天天文库
浏览记录
ID:13064084
大小:101.50 KB
页数:11页
时间:2018-07-20
《md5加密算法科研报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《科研训练报告》MD5加密项目姓名:肖达学号:101201222班级:信息1002学院:数学与计算机学院专业:信息与计算科学导师:陈欣一、科研设计目的:综合运用编码技术及应用理论知识,编写出MD5加密算法,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力。这次科研训练是课堂的深化,让我对计算机安全知识和编码理论有了更加深入的了解。二、科研设计来源:信息安全指的是信息的保密性,完整性,和可用性的保持。是一个关系国家安全和主权、社会稳定、民族文化继承和发扬的重要问题。其重要性,正随着全球信息化步伐的加快越来越重要。为了保证信息的安全性加密技术应运而生。保密性
2、是指数据不泄露给未授权的用户、实体和过程,或利用其特性。随着计算机技术的飞速发展,信息安全已经成为社会发展的重要保证。信息安全的实质就是要保护信息系统或信息网络中的信息资源免受各种类型的威胁、干扰和破坏,即保证信息的安全性,信息的安全关系着我们每个人。在众多的加密算法中MD5是一个安全的散列算法,输入两个不同的明文不会得到相同的输出值,根据输出值,不能得到原始的明文,即其过程不可逆;所以要解密MD5没有现成的算法,只能用穷举法,把可能出现的明文,用MD5算法散列之后,把得到的散列值和原始的数据形成一个一对一的映射表,通过比在表中比破解密码的MD5算法散列值,通过匹配
3、从映射表中找出破解密码所对应的原始明文,但现有的条件下想破解MD5是非常困难的所以这种算法相对来说很安全的。三、科研设计描述:对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。在MD5算法中,首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(BitsLength)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的
4、后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。MD5中有四个32位被称作链接变量(ChainingVariable)的整数参数,他们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的次数是信息中51
5、2位信息分组的数目。将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。主循环有四轮(MD4只有三轮),每轮循环都很相似。第一轮进行16次操作。每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。四、MD5算法原理:MD5的全称是Message-DigestAlgorithm5(信息-摘要算法),在90年代初由MITLaboratoryforComputerScience和RSADat
6、aSecurityInc的RonaldL.Rivest开发出来,经MD2、MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。不管是MD2、MD4还是MD5,它们都需要获得一个随机长度的信息并产生一个128位的信息摘要。虽然这些算法的结构或多或少有些相似,但MD2的设计与MD4和MD5完全不同,那是因为MD2是为8位机器做过设计优化的,而MD4和MD5却是面向32位的电脑。这三个算法的描述和C语言源代码在InternetRFCs1321中有详细的描述(http://
7、www.ietf.org/rfc/rfc1321.txt),这是一份最权威的文档,由RonaldL.Rivest在1992年8月向IEFT提交。.. VanOorschot和Wiener曾经考虑过一个在散列中暴力搜寻冲突的函数(Brute-ForceHashFunction),而且他们猜测一个被设计专门用来搜索MD5冲突的机器(这台机器在1994年的制造成本大约是一百万美元)可以平均每24天就找到一个冲突。但单从1991年到2001年这10年间,竟没有出现替代MD5算法的MD6或被叫做其他什么名字的新算法这一点,我们就可以看出这个瑕疵并没有太多的影响MD5的安
此文档下载收益归作者所有