一種基于des、rsa、sha-1加密算法的通信數(shù)據(jù)加解密方法
【專利摘要】本發(fā)明公開(kāi)了一種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其步驟為:1)生成待加密發(fā)送的數(shù)據(jù);2)將待發(fā)送的數(shù)據(jù)進(jìn)行第一次加密,即進(jìn)行分組DES加密;3)對(duì)完成第一次加密的數(shù)據(jù)使用SHA-1加密算法生成摘要內(nèi)容;4)利用接收端提供的RSA加密公鑰對(duì)經(jīng)過(guò)SHA-1加密的數(shù)據(jù)以及摘要進(jìn)行加密;5)發(fā)送密文;6)接收端接收密文并利用自身的私鑰對(duì)密文進(jìn)行第一次解密;7)對(duì)接收到的數(shù)據(jù)進(jìn)行身份認(rèn)證;8)對(duì)完成身份認(rèn)證的數(shù)據(jù)進(jìn)行DES解密,讀取數(shù)據(jù)內(nèi)容。本發(fā)明利用三種加密算法的不同特點(diǎn),將待發(fā)送的消息分別經(jīng)過(guò)DES、SHA-1以及RSA算法的加密,使得用于通信的加密信息更加安全,并且實(shí)現(xiàn)數(shù)字簽名,用于保證收到的信息為發(fā)送端發(fā)送的原始信息,而沒(méi)有受到篡改。
【專利說(shuō)明】—種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)終端收發(fā)數(shù)據(jù)的加解密流程的【技術(shù)領(lǐng)域】,尤其是指一種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法。
【背景技術(shù)】
[0002]隨著社會(huì)的發(fā)展,移動(dòng)終端的功能越來(lái)越強(qiáng)悍,各種公司企業(yè)提供的業(yè)務(wù)也越來(lái)越多種多樣,大大的方便了人們的生活。但是,伴隨而來(lái)的就是信息安全的問(wèn)題。例如現(xiàn)在人們會(huì)通過(guò)移動(dòng)終端來(lái)傳送賬號(hào)密碼等信息,有許多的不法之徒就會(huì)采用惡意攻擊等手段來(lái)截獲用戶的有用信息以求牟利。本發(fā)明提出的移動(dòng)終端的加密流程是基于以下三種現(xiàn)在的技術(shù)的。
[0003]DES加密算法:DES算法是一種分組加密算法。該算法將要加密的數(shù)據(jù)按64位進(jìn)行分組,使用的密鑰也是64位,但因?yàn)槊?位作為一個(gè)奇偶校驗(yàn)位,所以實(shí)際上只有56位密鑰。使用DES加密首先將64位明文進(jìn)行初始變換,然后用64位的初始密鑰產(chǎn)生16組子密鑰,對(duì)初始變換后的明文進(jìn)行16層的加密變換,產(chǎn)生64位輸出,然后進(jìn)行逆初始變換產(chǎn)生64位密文。
[0004]SHA-1加密算法:SHA是美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)局發(fā)布的國(guó)家標(biāo)準(zhǔn)。SHA-1是SHA家族中應(yīng)用最為廣泛的一個(gè)算法。SHA-1算法對(duì)輸入的報(bào)文長(zhǎng)度不限,然后將輸入的明文按照512位(64個(gè)字節(jié))每組進(jìn)行分塊,經(jīng)過(guò)一種不可逆的散列運(yùn)算產(chǎn)生一組160位(20字節(jié))的報(bào)文摘要。由于SHA-1的散列算法有不可逆性和良好的雪崩效應(yīng),所以不可能從散列結(jié)果推導(dǎo)出任何的原始數(shù)據(jù),并且也原始數(shù)據(jù)任何的改變,哪怕一位,都會(huì)造成散列結(jié)果的差異。將要傳送的明文和報(bào)文摘要一起發(fā)送給接收方,接收方利用收到的明文產(chǎn)生相應(yīng)的報(bào)文摘要,將產(chǎn)生的報(bào)文摘要與接收到的報(bào)文摘要進(jìn)行比較,如果相同說(shuō)明明文沒(méi)有被篡改,否則就是中間被人篡改了。
[0005]RSA加密算法:RSA是一種非對(duì)稱加密算法,即有公鑰和私鑰兩種密鑰。發(fā)送方利用接收方提供的公共密鑰來(lái)對(duì)數(shù)據(jù)加密,接收方就用自己擁有的私鑰對(duì)信息進(jìn)行解密。因?yàn)楣€和私鑰是一一對(duì)應(yīng)的,所以只有擁有私鑰的接收方才能解密用它提供的公鑰加密的數(shù)據(jù)。并且RSA算法是一種“由已知加密密鑰推導(dǎo)出解密密鑰在計(jì)算上是不可行的”安全體制,這也保證了加密數(shù)據(jù)的安全性。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足與缺陷,提供一種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,不但使得移動(dòng)終端傳輸?shù)募用軘?shù)據(jù)更加安全,而且實(shí)現(xiàn)了數(shù)字簽名,使得數(shù)據(jù)更具有不可抵賴性。
[0007]為實(shí)現(xiàn)上述目的,本發(fā)明所提供的技術(shù)方案為:一種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,包括以下步驟:
[0008]I)獲取待加密發(fā)送的數(shù)據(jù);[0009]2)將待發(fā)送的數(shù)據(jù)進(jìn)行第一次加密,即進(jìn)行分組DES加密;
[0010]3)對(duì)完成第一次加密的數(shù)據(jù)使用SHA-1加密算法生成摘要內(nèi)容;
[0011]4)利用接收端提供的RSA加密公鑰對(duì)經(jīng)過(guò)SHA-1加密的數(shù)據(jù)以及摘要進(jìn)行加密;
[0012]5)發(fā)送密文;
[0013]6)接收端接收密文并利用自身的私鑰對(duì)密文進(jìn)行第一次解密;
[0014]7)對(duì)接收到的數(shù)據(jù)進(jìn)行身份認(rèn)證;
[0015]8)對(duì)完成身份認(rèn)證的數(shù)據(jù)進(jìn)行DES解密,讀取數(shù)據(jù)內(nèi)容。
[0016]在步驟4)中,在進(jìn)行RSA加密前,先查看發(fā)送端是否有接收端的含有RSA加密公鑰的數(shù)字證書(shū),有則進(jìn)行RSA加密,否則,則暫停加密,而改為向接收端發(fā)送數(shù)字證書(shū)請(qǐng)求消息。
[0017]在步驟7)中,對(duì)收到的數(shù)據(jù)進(jìn)行身份認(rèn)證的過(guò)程為:首先對(duì)進(jìn)行第一次解密后的數(shù)據(jù)中除開(kāi)摘要部分的其它所有數(shù)據(jù)進(jìn)行SHA-1運(yùn)算,形成新的一個(gè)摘要,然后將得到的摘要與接收到的摘要進(jìn)行對(duì)比,如有不同,則說(shuō)明數(shù)據(jù)被人篡改過(guò),丟棄數(shù)據(jù),否則,轉(zhuǎn)至步驟8)。
[0018]在步驟8 )中,在進(jìn)行DES解密前,先查看接收端是否有發(fā)送端的有效數(shù)字證書(shū),有則直接進(jìn)行DES解密,否則暫停解密,轉(zhuǎn)而向發(fā)送端發(fā)送數(shù)字證書(shū)請(qǐng)求消息,然后從數(shù)字證書(shū)中解密出DES密鑰來(lái)完成解密。
[0019]所述數(shù)字證書(shū)包含用戶ID、RSA公鑰對(duì)、DES密鑰、證書(shū)啟用時(shí)間、證書(shū)停用時(shí)間,其中,所述RSA公鑰對(duì)存放的是接收端自身的RSA公鑰對(duì);所述DES密鑰存放的是發(fā)送端自身的DES密鑰,所述DES密鑰是經(jīng)過(guò)SHA-1身份認(rèn)證加密以及使用接收端中所存儲(chǔ)的RSA公鑰對(duì)進(jìn)行RSA加密。
[0020]本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn)與有益效果:
[0021]1、對(duì)于一般的數(shù)據(jù)加密,基本都是只進(jìn)行分組加密或者非對(duì)稱加密中的一種,而本發(fā)明同時(shí)使用了分組加密和非對(duì)稱加密兩種形式的加密方法,所以使得數(shù)據(jù)具有更高的安全性;
[0022]2、本發(fā)明對(duì)數(shù)據(jù)進(jìn)行加密的同時(shí),還進(jìn)行了數(shù)字簽名,這樣在對(duì)數(shù)據(jù)加密的同時(shí),也保證了加入數(shù)據(jù)不行被篡改,也不會(huì)因?yàn)榇鄹牡男畔⒍馐軗p失,進(jìn)而很好地預(yù)防惡意篡改數(shù)據(jù)帶來(lái)的危害。
【專利附圖】
【附圖說(shuō)明】
[0023]圖1為本發(fā)明在加密階段的流程圖。
[0024]圖2為本發(fā)明在解密階段的流程圖。
【具體實(shí)施方式】
[0025]下面結(jié)合具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0026]本實(shí)施例所述的基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其具體情況如下:
[0027]I)獲取待加密發(fā)送的數(shù)據(jù);
[0028]2)將待發(fā)送的數(shù)據(jù)進(jìn)行第一次加密,即進(jìn)行分組DES加密;[0029]3)對(duì)完成第一次加密的數(shù)據(jù)使用SHA-1加密算法生成摘要內(nèi)容;
[0030]4)利用接收端提供的RSA加密公鑰對(duì)經(jīng)過(guò)SHA-1加密的數(shù)據(jù)以及摘要進(jìn)行加密;
[0031]5)發(fā)送密文;
[0032]6)接收端接收密文并利用自身的私鑰對(duì)密文進(jìn)行第一次解密;
[0033]7)對(duì)接收到的數(shù)據(jù)進(jìn)行身份認(rèn)證;
[0034]8)對(duì)完成身份認(rèn)證的數(shù)據(jù)進(jìn)行DES解密,讀取數(shù)據(jù)內(nèi)容。
[0035]在步驟4)中,在進(jìn)行RSA加密前,先查看發(fā)送端是否有接收端的含有RSA加密公鑰的數(shù)字證書(shū),有則進(jìn)行RSA加密,否則,則暫停加密,而改為向接收端發(fā)送數(shù)字證書(shū)請(qǐng)求消息。
[0036]在步驟7)中,對(duì)收到的數(shù)據(jù)進(jìn)行身份認(rèn)證的過(guò)程為:首先對(duì)進(jìn)行第一次解密后的數(shù)據(jù)中除開(kāi)摘要部分的其它所有數(shù)據(jù)進(jìn)行SHA-1運(yùn)算,形成新的一個(gè)摘要,然后將得到的摘要與接收到的摘要進(jìn)行對(duì)比,如有不同,則說(shuō)明數(shù)據(jù)被人篡改過(guò),丟棄數(shù)據(jù),否則,轉(zhuǎn)至步驟8)。
[0037]在步驟8)中,在進(jìn)行DES解密前,先查看接收端是否有發(fā)送端的有效數(shù)字證書(shū),有則直接進(jìn)行DES解密,否則暫停解密,轉(zhuǎn)而向發(fā)送端發(fā)送數(shù)字證書(shū)請(qǐng)求消息,然后從數(shù)字證書(shū)中解密出DES密鑰來(lái)完成解密。
[0038]由于本發(fā)明同時(shí)采用了 DES加密和RSA加密兩種方式,涉及到密鑰的傳送問(wèn)題,這里提出了一種新的數(shù)字證書(shū)內(nèi)容,如下表所示:
[0039]
【權(quán)利要求】
1.一種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于,包括以下步驟: 1)獲取待加密發(fā)送的數(shù)據(jù); 2)將待發(fā)送的數(shù)據(jù)進(jìn)行第一次加密,即進(jìn)行分組DES加密; 3)對(duì)完成第一次加密的數(shù)據(jù)使用SHA-1加密算法生成摘要內(nèi)容; 4)利用接收端提供的RSA加密公鑰對(duì)經(jīng)過(guò)SHA-1加密的數(shù)據(jù)以及摘要進(jìn)行加密; 5)發(fā)送密文; 6)接收端接收密文并利用自身的私鑰對(duì)密文進(jìn)行第一次解密; 7)對(duì)接收到的數(shù)據(jù)進(jìn)行身份認(rèn)證; 8)對(duì)完成身份認(rèn)證的數(shù)據(jù)進(jìn)行DES解密,讀取數(shù)據(jù)內(nèi)容。
2.根據(jù)權(quán)利要求1所述的一種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于:在步驟4)中,在進(jìn)行RSA加密前,先查看發(fā)送端是否有接收端的含有RSA加密公鑰的數(shù)字證書(shū),有則進(jìn)行RSA加密,否則,則暫停加密,而改為向接收端發(fā)送數(shù)字證書(shū)請(qǐng)求消息。
3.根據(jù)權(quán)利要求1所述的一種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于:在步驟7)中,對(duì)收到的數(shù)據(jù)進(jìn)行身份認(rèn)證的過(guò)程為:首先對(duì)進(jìn)行第一次解密后的數(shù)據(jù)中除開(kāi)摘要部分的其它所有數(shù)據(jù)進(jìn)行SHA-1運(yùn)算,形成新的一個(gè)摘要,然后將得到的摘要與接收到的摘要進(jìn)行對(duì)比,如有不同,則說(shuō)明數(shù)據(jù)被人篡改過(guò),丟棄數(shù)據(jù),否則,轉(zhuǎn)至步驟8)。
4.根據(jù)權(quán)利要求1所述的一種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于:在步驟8)中,在進(jìn)行DES解密前,先查看接收端是否有發(fā)送端的有效數(shù)字證書(shū),有則直接進(jìn)行DES解密,否則暫停解密,轉(zhuǎn)而向發(fā)送端發(fā)送數(shù)字證書(shū)請(qǐng)求消息,然后從數(shù)字證書(shū)中解密出DES密鑰來(lái)完成解密。
5.根據(jù)權(quán)利要求2或4所述的一種基于DES、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于:所述數(shù)字證書(shū)包含用戶ID、RSA公鑰對(duì)、DES密鑰、證書(shū)啟用時(shí)間、證書(shū)停用時(shí)間,其中,所述RSA公鑰對(duì)存放的是接收端自身的RSA公鑰對(duì);所述DES密鑰存放的是發(fā)送端自身的DES密鑰,所述DES密鑰是經(jīng)過(guò)SHA-1身份認(rèn)證加密以及使用接收端中所存儲(chǔ)的RSA公鑰對(duì)進(jìn)行RSA加密。
【文檔編號(hào)】H04L9/32GK103684794SQ201310733082
【公開(kāi)日】2014年3月26日 申請(qǐng)日期:2013年12月25日 優(yōu)先權(quán)日:2013年12月25日
【發(fā)明者】謝宗伯, 蔡琳琳, 馮久超 申請(qǐng)人:華南理工大學(xué)