廖莎莎
(黃山學(xué)院 現(xiàn)代教育技術(shù)中心,安徽 黃山 245041)
基于MD5與RSA算法的數(shù)字認(rèn)證研究與實現(xiàn)
廖莎莎
(黃山學(xué)院 現(xiàn)代教育技術(shù)中心,安徽 黃山 245041)
分析數(shù)字認(rèn)證技術(shù),結(jié)合基于MD5和RSA算法的安全認(rèn)證體制,給出詳細(xì)的實現(xiàn)方法與測試結(jié)果,為網(wǎng)絡(luò)信息安全提供了一套實用的參考方案。
信息安全;MD5;RSA;數(shù)字認(rèn)證
2000年6月,美國國會在“全球和國家商務(wù)法(ESIGN法)”中批準(zhǔn)了電子簽名。這一立法避免了對僅僅基于電子形式的合同或者簽名的爭論,從而賦予電子簽名以新的合法性。2005年4月1日《電子簽名法》在我國開始正式實施,這部法律規(guī)定,可靠的電子簽名與手寫簽名或蓋章具有同等的法律效力。[1]電子簽名技術(shù)有很多種,但目前比較成熟以及普遍被使用的電子簽名技術(shù)是基于MD5與RSA算法數(shù)字簽名技術(shù)。
MD5算法可以簡要的描述為MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個32位分組組成,將這4個32位分組串聯(lián)后將生成一個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.每執(zhí)行完上述四輪一次后,執(zhí)行下面運算
7.對每個GroupContest[i]重復(fù)5,6操作,直到N+1個GroupContest[i]都完成,最終輸出128位字符串ABCD作為數(shù)字指紋。
盡管公鑰加密算法的種類有很多,但RSA對目前為止已知的所有密碼攻擊幾乎都具備抵抗力。RSA算法的安全性基于分解大整數(shù)的困難性。計算兩個大素數(shù)的乘積是容易的,但是把一個大合數(shù)分解成兩個素數(shù)的積卻是特別困難的。[5]利用目前已經(jīng)掌握的知識和理論,RSA算法分解2048bit的大整數(shù)已經(jīng)超過了64位計算機(jī)的運算能力,因此在目前和預(yù)見的將來,它是足夠安全的。[6]
RSA算法步驟:
1.產(chǎn)生2個隨機(jī)的互異的素數(shù)P和Q;
2.計算N=P*Q;
3.隨機(jī)產(chǎn)生一個的數(shù)E,且1<E<M,
其中M=(P-1)*(Q-1),E與M互素;
4.根據(jù)E產(chǎn)生F,其中F由公式(E*F)mod(E)=1計算得出;
到此,RSA的2對密鑰就產(chǎn)生了,產(chǎn)生密鑰對(N, E)和(N,F),使用者可以選取其中一個做公鑰,一個做私鑰,進(jìn)行加密運算。
5.用私鑰(N,E)對消息Context產(chǎn)生數(shù)字簽名,用于身份驗證,產(chǎn)生數(shù)字簽名的公式如DS=(Context)EMod(N);
6.接收數(shù)字簽名方可以根據(jù)發(fā)生簽名方提供的公鑰進(jìn)行解密,還原原來的信息Context,驗證公式為Context'=(DS)FMod(N)。
如果Context=Context',則表明數(shù)字簽名是有效的,否則認(rèn)為網(wǎng)絡(luò)安全存在隱患,數(shù)字認(rèn)證過程如圖1。
圖1 數(shù)字認(rèn)證過程
本文定義了MD5和RSA兩個類對上述算法進(jìn)行描述并實現(xiàn)。
RSA算法類如下:
2 CA認(rèn)證軟件效果圖
數(shù)字認(rèn)證效果如圖2,在實際使用中,用戶需要先點擊制作密鑰,點擊后會在系統(tǒng)C盤根目錄下生成PrivateKey.xml和PublicKey.xml文件。密鑰和用戶一一對應(yīng),每個用戶擁有自己的密鑰,除非用戶申請更換,否則永遠(yuǎn)有效。PrivateKey.xml發(fā)放給其用戶,PublicKey.xml由CA服務(wù)器持有。
數(shù)字簽名是通過一個單向函數(shù)對要傳送的報文進(jìn)行處理得到的用以認(rèn)證報文來源并核實報文是否發(fā)生變化的一個字母數(shù)字串。數(shù)據(jù)加密是保護(hù)數(shù)據(jù)的最基本方法,它可以防止他人對傳輸?shù)奈募M(jìn)行破壞。而數(shù)字簽名則可以解決否認(rèn)、偽造、篡改及冒充等問題,保護(hù)數(shù)據(jù)的完整性。對網(wǎng)絡(luò)信息安全方面,本系統(tǒng)采用基于RSA和MD5的數(shù)字簽名體制,充分地發(fā)揮了SSH體系結(jié)構(gòu)的優(yōu)勢,為當(dāng)前的網(wǎng)絡(luò)信息安全提供了有力的技術(shù)保障。
[1]李景.基于數(shù)字簽名技術(shù)的公文收發(fā)系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:國防科學(xué)技術(shù)大學(xué),2008:2.
[2]陸琳琳.MD5算法的技術(shù)研究及性能優(yōu)化[D].長春:吉林大學(xué),2006:13.
[3]廖思周.MD5算法防窮舉(沖撞)破譯的設(shè)計及其實現(xiàn)[J].五邑大學(xué)學(xué)報(自然科學(xué)版),2006,(04):33-37.
[4]游新娥.考試系統(tǒng)的身份認(rèn)證研究與實現(xiàn)[D].長沙:湖南大學(xué),2008:7-8.
[5]高靜敏.幾種常用的網(wǎng)絡(luò)安全加密算法[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-),安徽祁門人,黃山學(xué)院現(xiàn)代教育技術(shù)中心助理實驗師,研究方向為信息安全。
胡德明