基于MD5与RSA算法的数字认证研究与实现
2010-12-21廖莎莎
廖莎莎
(黄山学院 现代教育技术中心,安徽 黄山 245041)
基于MD5与RSA算法的数字认证研究与实现
廖莎莎
(黄山学院 现代教育技术中心,安徽 黄山 245041)
分析数字认证技术,结合基于MD5和RSA算法的安全认证体制,给出详细的实现方法与测试结果,为网络信息安全提供了一套实用的参考方案。
信息安全;MD5;RSA;数字认证
1 引 言
2000年6月,美国国会在“全球和国家商务法(ESIGN法)”中批准了电子签名。这一立法避免了对仅仅基于电子形式的合同或者签名的争论,从而赋予电子签名以新的合法性。2005年4月1日《电子签名法》在我国开始正式实施,这部法律规定,可靠的电子签名与手写签名或盖章具有同等的法律效力。[1]电子签名技术有很多种,但目前比较成熟以及普遍被使用的电子签名技术是基于MD5与RSA算法数字签名技术。
2 理论基础
2.1 MD5算法
MD5算法可以简要的描述为MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这4个32位分组串联后将生成一个128位散列值。[2]
MD5算法步骤:
首先要计算分片信息,计算具体过程如下:
第二、三、四轮分别使用GG(a,b,c,d,M[i],s,ti),HH(a,b,c,d,M[i],s,ti)和II(a,b,c,d,M[i],s,ti),其中i自增。
6.每执行完上述四轮一次后,执行下面运算
7.对每个GroupContest[i]重复5,6操作,直到N+1个GroupContest[i]都完成,最终输出128位字符串ABCD作为数字指纹。
2.2 RSA算法
尽管公钥加密算法的种类有很多,但RSA对目前为止已知的所有密码攻击几乎都具备抵抗力。RSA算法的安全性基于分解大整数的困难性。计算两个大素数的乘积是容易的,但是把一个大合数分解成两个素数的积却是特别困难的。[5]利用目前已经掌握的知识和理论,RSA算法分解2048bit的大整数已经超过了64位计算机的运算能力,因此在目前和预见的将来,它是足够安全的。[6]
RSA算法步骤:
1.产生2个随机的互异的素数P和Q;
2.计算N=P*Q;
3.随机产生一个的数E,且1<E<M,
其中M=(P-1)*(Q-1),E与M互素;
4.根据E产生F,其中F由公式(E*F)mod(E)=1计算得出;
到此,RSA的2对密钥就产生了,产生密钥对(N, E)和(N,F),使用者可以选取其中一个做公钥,一个做私钥,进行加密运算。
5.用私钥(N,E)对消息Context产生数字签名,用于身份验证,产生数字签名的公式如DS=(Context)EMod(N);
6.接收数字签名方可以根据发生签名方提供的公钥进行解密,还原原来的信息Context,验证公式为Context'=(DS)FMod(N)。
如果Context=Context',则表明数字签名是有效的,否则认为网络安全存在隐患,数字认证过程如图1。
图1 数字认证过程
3 算法的实现与测试
本文定义了MD5和RSA两个类对上述算法进行描述并实现。
RSA算法类如下:
2 CA认证软件效果图
数字认证效果如图2,在实际使用中,用户需要先点击制作密钥,点击后会在系统C盘根目录下生成PrivateKey.xml和PublicKey.xml文件。密钥和用户一一对应,每个用户拥有自己的密钥,除非用户申请更换,否则永远有效。PrivateKey.xml发放给其用户,PublicKey.xml由CA服务器持有。
4 结 论
数字签名是通过一个单向函数对要传送的报文进行处理得到的用以认证报文来源并核实报文是否发生变化的一个字母数字串。数据加密是保护数据的最基本方法,它可以防止他人对传输的文件进行破坏。而数字签名则可以解决否认、伪造、篡改及冒充等问题,保护数据的完整性。对网络信息安全方面,本系统采用基于RSA和MD5的数字签名体制,充分地发挥了SSH体系结构的优势,为当前的网络信息安全提供了有力的技术保障。
[1]李景.基于数字签名技术的公文收发系统的设计与实现[D].北京:国防科学技术大学,2008:2.
[2]陆琳琳.MD5算法的技术研究及性能优化[D].长春:吉林大学,2006:13.
[3]廖思周.MD5算法防穷举(冲撞)破译的设计及其实现[J].五邑大学学报(自然科学版),2006,(04):33-37.
[4]游新娥.考试系统的身份认证研究与实现[D].长沙:湖南大学,2008:7-8.
[5]高静敏.几种常用的网络安全加密算法[J].黑龙江科技信息, 2007,(15):92.
Digital Certification Research and Implementation Based on MD5 and RSA Algorithm
Liao Shasha
(Modern Educational Technology Center,Huangshan University,Huangshan 245041,China)
In the paper,the digital certification technology is discussed.Combined with secure authentication system based on MD5 and RSA algorithm,detailed implementation methods and testing results are given,thus a useful reference scheme for network information security is provided.
information security;MD5;RSA;digital certification
TP391
A
1672-447X(2010)04-0080-03
2010-07-03
廖莎莎(1983-),安徽祁门人,黄山学院现代教育技术中心助理实验师,研究方向为信息安全。
胡德明