一種基于bss、rsa、sha-1加密算法的通信數(shù)據(jù)加解密方法
【專利摘要】本發(fā)明公開了一種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其步驟為:1)生成待加密發(fā)送的數(shù)據(jù);2)將待發(fā)送的數(shù)據(jù)進行第一次加密,即進行BSS加密;3)對完成第一次加密的數(shù)據(jù)使用SHA-1加密算法生成摘要內(nèi)容;4)利用接收端提供的RSA加密公鑰對經(jīng)過SHA-1加密的數(shù)據(jù)以及摘要進行加密;5)發(fā)送密文;6)接收端接收密文并利用自身的私鑰對密文進行第一次解密;7)對接收到的數(shù)據(jù)進行身份認證;8)對完成身份認證的數(shù)據(jù)進行BSS解密,讀取數(shù)據(jù)內(nèi)容。本發(fā)明利用三種加密算法的不同特點,將待發(fā)送的消息分別經(jīng)過BSS、SHA-1以及RSA算法的加密,使得用于通信的加密信息更加安全,并且實現(xiàn)數(shù)字簽名,用于保證收到的信息為發(fā)送端發(fā)送的原始信息,而沒有受到篡改。
【專利說明】—種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動終端收發(fā)數(shù)據(jù)的加解密流程的【技術(shù)領(lǐng)域】,尤其是指一種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法。
【背景技術(shù)】
[0002]隨著社會的發(fā)展,移動終端的功能越來越強悍,各種公司企業(yè)提供的業(yè)務也越來越多種多樣,大大的方便了人們的生活。但是,伴隨而來的就是信息安全的問題。例如現(xiàn)在人們會通過移動終端來傳送賬號密碼等信息,有許多的不法之徒就會采用惡意攻擊等手段來截獲用戶的有用信息以求牟利。本發(fā)明提出的移動終端的加密流程是基于以下三個的技術(shù)的。
[0003]BSS加密方法:1)BSS (盲源分離)及其欠定問題:假設(shè)存在M個獨立的源信號S1, S2,...,SM,以及N個可觀察的混合信號X1, X2,...,Xn,(一般N≥M),線性BSS混合模型混合方程為X=AS,其中S=〔 S1, S2, - ,Sm ) T,A為一個NXM矩陣。BSS的目的就是尋找一個MXN矩陣恢復出一個MX I信號矩陣。當源信號大于觀察混合信號,即NS M時,BSS就變成了一個困難的欠定問題,此時想要源信號完全分離是不可能的。2) BSS加密方法是基于解決欠定BSS問題的困難性來實現(xiàn)的。將要加密的數(shù)據(jù)分幀進行加密,每一幀信號分成P段為S1, S2,…,sp,每段長度為Τ。利用參數(shù)密鑰種子I生成P個獨立的密鑰信號Snl, Sn2,…,snp。然后生成2P欠定混合矩陣A f。然后P個源信號段和P個密鑰信號一起在欠定混合矩陣的作用下,生成P個加密了的信號Xl,X2,…,xp。生成方程為X=A# XS,其中S=〔 S1, S2,…,sp, snl, sn2,…,snp〕T, X=〔 X1, x2,...,xp ) τ??梢钥闯觯?2Ρ 個源信號,但是只有P個混合信號,這樣的加密過程就把BSS問題變成了欠定的BSS問題。在解密端,只有在知道密鑰種子I,生成P個獨立密鑰snl,sn2,…,snp,與X聯(lián)合變成用于解密的Xd=〔Xl,X2,…,xp,snl,Sn2,…,Snp ) '那么&=、父5(1,其中、為2?\2?矩陣。可以看出,在解密階段,由于有了密鑰,源信號和混合信號數(shù)量相等了,則把加密階段產(chǎn)生的BSS欠定問題變成了正常的BSS問題,那么就可以用BSS將源信號給恢復出來。
[0004]SHA-1加密算法:SHA是美國國家標準和技術(shù)局發(fā)布的國家標準。SHA-1是SHA家族中應用最為廣泛的一個算法。SHA-1算法對輸入的報文長度不限,然后將輸入的明文按照512位(64個字節(jié))每組進行分塊,經(jīng)過一種不可逆的散列運算產(chǎn)生一組160位(20字節(jié))的報文摘要。由于SHA-1的散列算法有不可逆性和良好的雪崩效應,所以不可能從散列結(jié)果推導出任何的原始數(shù)據(jù),并且也原始數(shù)據(jù)任何的改變,哪怕一位,都會造成散列結(jié)果的差異。將要傳送的明文和報文摘要一起發(fā)送給接收方,接收方利用收到的明文產(chǎn)生相應的報文摘要,將產(chǎn)生的報文摘要與接收到的報文摘要進行比較,如果相同說明明文沒有被篡改,否則就是中間被人篡改了。
[0005]RSA加密算法:RSA是一種非對稱加密算法,即有公鑰和私鑰兩種密鑰。發(fā)送方利用接收方提供的公共密鑰來對數(shù)據(jù)加密,接收方就用自己擁有的私鑰對信息進行解密。因為公鑰和私鑰是一一對應的,所以只有擁有私鑰的接收方才能解密用它提供的公鑰加密的數(shù)據(jù)。并且RSA算法是一種“由已知加密密鑰推導出解密密鑰在計算上是不可行的”安全體制,這也保證了加密數(shù)據(jù)的安全性。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足與缺陷,提供一種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,不但使得移動終端傳輸?shù)募用軘?shù)據(jù)更加安全,而且實現(xiàn)了數(shù)字簽名,使得數(shù)據(jù)更具有不可抵賴性。
[0007]為實現(xiàn)上述目的,本發(fā)明所提供的技術(shù)方案為:一種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,包括以下步驟:
[0008]I)獲取待加密發(fā)送的數(shù)據(jù);
[0009]2)將待發(fā)送的數(shù)據(jù)進行第一次加密,即進行BSS加密;
[0010]3)對完成第一次加密的數(shù)據(jù)使用SHA-1加密算法生成摘要內(nèi)容;
[0011]4)利用接收端提供的RSA加密公鑰對經(jīng)過SHA-1加密的數(shù)據(jù)以及摘要進行加密;
[0012]5)發(fā)送密文;
[0013]6)接收端接收密文并利用自身的私鑰對密文進行第一次解密;
[0014]7)對接收到的數(shù)據(jù)進行身份認證;
[0015]8)對完成身份認證的數(shù)據(jù)進行BSS解密,讀取數(shù)據(jù)內(nèi)容。
[0016]在步驟4)中,在進行RSA加密前,先查看發(fā)送端是否有接收端的含有RSA加密公鑰的數(shù)字證書,有則進行RSA加密,否則,則暫停加密,而改為向接收端發(fā)送數(shù)字證書請求消息。
[0017]在步驟7)中,對收到的數(shù)據(jù)進行身份認證的過程為:首先對進行第一次解密后的數(shù)據(jù)中除開摘要部分的其它所有數(shù)據(jù)進行SHA-1運算,形成新的一個摘要,然后將得到的摘要與接收到的摘要進行對比,如有不同,則說明數(shù)據(jù)被人篡改過,丟棄數(shù)據(jù),否則,轉(zhuǎn)至步驟8)。
[0018]在步驟8 )中,在進行BSS解密前,先查看接收端是否有發(fā)送端的有效數(shù)字證書,有則直接進行BSS解密,否則暫停解密,轉(zhuǎn)而向發(fā)送端發(fā)送數(shù)字證書請求消息,然后從數(shù)字證書中解密出BSS密鑰種子,生成BSS解密密鑰信號來完成解密。
[0019]所述數(shù)字證書包含用戶ID、RSA公鑰對、BSS密鑰種子、證書啟用時間、證書停用時間,其中,所述RSA公鑰對存放的是接收端自身的RSA公鑰對;所述BSS密鑰種子存放的是發(fā)送端自身的密鑰種子,所述BSS密鑰種子是經(jīng)過SHA-1身份認證加密以及使用接收端中所存儲的RSA公鑰對進行RSA加密。
[0020]本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點與有益效果:
[0021]1、對于一般的數(shù)據(jù)加密,基本都是只進行對稱加密或者非對稱加密中的一種,而本發(fā)明同時使用了對稱加密和非對稱加密兩種形式的加密方法,所以使得數(shù)據(jù)具有更高的安全性;
[0022]2、本發(fā)明對數(shù)據(jù)進行加密的同時,還進行了數(shù)字簽名,這樣在對數(shù)據(jù)加密的同時,也保證了加入數(shù)據(jù)不行被篡改,也不會因為篡改的信息而遭受損失,進而很好地預防惡意篡改數(shù)據(jù)帶來的危害。【專利附圖】
【附圖說明】
[0023]圖1為本發(fā)明在加密階段的流程圖。
[0024]圖2為本發(fā)明在解密階段的流程圖。
【具體實施方式】
[0025]下面結(jié)合具體實施例對本發(fā)明作進一步說明。
[0026]本實施例所述的基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其具體情況如下:
[0027]I)獲取待加密發(fā)送的數(shù)據(jù);
[0028]2)將待發(fā)送的數(shù)據(jù)進行第一次加密,即進行BSS加密;
[0029]3)對完成第一次加密的數(shù)據(jù)使用SHA-1加密算法生成摘要內(nèi)容;
[0030]4)利用接收端提供的RSA加密公鑰對經(jīng)過SHA-1加密的數(shù)據(jù)以及摘要進行加密;
[0031]5)發(fā)送密文;
[0032]6)接收端接收密文并利用自身的私鑰對密文進行第一次解密;
[0033]7)對接收到的數(shù)據(jù)進行身份認證;
[0034]8)對完成身份認證的數(shù)據(jù)進行BSS解密,讀取數(shù)據(jù)內(nèi)容。
`[0035]在步驟4)中,在進行RSA加密前,先查看發(fā)送端是否有接收端的含有RSA加密公鑰的數(shù)字證書,有則進行RSA加密,否則,則暫停加密,而改為向接收端發(fā)送數(shù)字證書請求消息。
[0036]在步驟7)中,對收到的數(shù)據(jù)進行身份認證的過程為:首先對進行第一次解密后的數(shù)據(jù)中除開摘要部分的其它所有數(shù)據(jù)進行SHA-1運算,形成新的一個摘要,然后將得到的摘要與接收到的摘要進行對比,如有不同,則說明數(shù)據(jù)被人篡改過,丟棄數(shù)據(jù),否則,轉(zhuǎn)至步驟8)。
[0037]在步驟8)中,在進行BSS解密前,先查看接收端是否有發(fā)送端的有效數(shù)字證書,有則直接進行BSS解密,否則暫停解密,轉(zhuǎn)而向發(fā)送端發(fā)送數(shù)字證書請求消息,然后從數(shù)字證書中解密出BSS密鑰種子,生成BSS解密密鑰信號來完成解密。
[0038]由于本發(fā)明同時采用了 DES加密和RSA加密兩種方式,涉及到密鑰的傳送問題,這里提出了一種新的數(shù)字證書內(nèi)容,如下表所示:
[0039]
用戶ID |RSA公鑰對|BSS密鑰種子I證書啟用時間I證書停用時間
[0040]其中,RSA公鑰對存放的是接收端自身的RSA公鑰對,BSS密鑰種子存放的是發(fā)送端自身的密鑰種子。數(shù)字證書中存儲的BSS密鑰種子并非直接的BSS密鑰種子而是經(jīng)過了SHA-1身份認證加密以及使用接收端數(shù)字證書中所存儲的RSA公鑰對進行了 RSA加密,這樣就保證了 BSS密鑰種子的安全。所以接收端要使用BSS密鑰種子時,必須先用自身的RSA密鑰進行解密以及身份驗證后才可以使用。
[0041]本實施例所述的發(fā)送端包括有加密模塊、密鑰存儲模塊、發(fā)送模塊,所述的接收端包括有數(shù)據(jù)獲取模塊、顯示模塊、緩存模塊、接收模塊。其中,所述密鑰存儲模塊里存放著自身的用于BSS加密的密鑰種子、RSA解密私鑰對,其它終端的數(shù)字證書。[0042]如圖1所示,在加密階段,數(shù)據(jù)獲取模塊得到數(shù)據(jù)后,首先將數(shù)據(jù)分成一幀一幀的,然后將每一幀分成P段,以及得到段長T,提取出P和T。從密鑰存儲模塊得到密鑰種子,與P、T相結(jié)合生成BSS加密密鑰,然后對數(shù)據(jù)進行BSS加密,每一幀得到的密文結(jié)果先緩存在緩存模塊中,然后將所有明文產(chǎn)生的總的密文進行SHA-1加密得到一個摘要。
[0043]得到報文摘要的密文和摘要一起進行RSA加密,在進行RSA加密前,發(fā)送端先檢查自己的密鑰存儲模塊是否有接收端的數(shù)字證書以及數(shù)字證書是否過期,如果有且在使用期內(nèi),則繼續(xù)進行,如果沒有所需數(shù)字證書或者已經(jīng)過期,則把密文和摘要放到緩存模塊中,轉(zhuǎn)而向接收端發(fā)送數(shù)字證書請求消息。得到接收端的數(shù)字證書后,利用其中的RSA加密公鑰對,對經(jīng)過一輪加密的密文和摘要進行RSA加密,得到最終的密文,然后從發(fā)送模塊發(fā)送出去。
[0044]如圖2所示,在解密階段,接收模塊接受到密文后,首先對其進行RSA解密。進行RSA解密時,接收端調(diào)用自己RSA私鑰對,只有和發(fā)送端使用的公鑰對是適配的私鑰對才可以正確地對密文進行解密。
[0045]完成RSA解密的數(shù)據(jù)分為兩個部分:一部分是報文摘要SI,另一部分是進過了 BSS加密的密文。對密文進行重新一輪的SHA-1運算,得到另外一個報文摘要S2,然后將得到的報文摘要S2與原來的報文摘要SI進行比較,如果完全一致,則說明數(shù)據(jù)沒有被篡改,可以繼續(xù)下面的解密,如果有任何出入,則說明有被改動,把得到的數(shù)據(jù)丟棄,并且向發(fā)送端發(fā)送警報信號。
[0046]完成身份認證的數(shù)據(jù)將進行最后的BSS解密,在BSS解密前,接收端先檢查自己的密鑰存儲模塊是否有發(fā)送端的數(shù)字證書并且是否在使用期內(nèi)。如果有且在有效期內(nèi),則直接進行BSS解密,如果沒有需要的數(shù)字證書或者已經(jīng)過期,則將數(shù)據(jù)暫時放入緩存模塊,轉(zhuǎn)而向發(fā)送端發(fā)送數(shù)字證書請求消息。得到發(fā)送端的數(shù)字證書后,利用其中的BSS密鑰種子生成BSS解密密鑰,然后對數(shù)據(jù)進行最后的解密,得到最后所需的明文。
[0047]以上所述之實施例子只為本發(fā)明之較佳實施例,并非以此限制本發(fā)明的實施范圍,故凡依本發(fā)明之形狀、原理所作的變化,均應涵蓋在本發(fā)明的保護范圍內(nèi)。
【權(quán)利要求】
1.一種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于,包括以下步驟: 1)獲取待加密發(fā)送的數(shù)據(jù); 2)將待發(fā)送的數(shù)據(jù)進行第一次加密,即進行BSS加密; 3)對完成第一次加密的數(shù)據(jù)使用SHA-1加密算法生成摘要內(nèi)容; 4)利用接收端提供的RSA加密公鑰對經(jīng)過SHA-1加密的數(shù)據(jù)以及摘要進行加密; 5)發(fā)送密文; 6)接收端接收密文并利用自身的私鑰對密文進行第一次解密; 7)對接收到的數(shù)據(jù)進行身份認證; 8)對完成身份認證的數(shù)據(jù)進行BSS解密,讀取數(shù)據(jù)內(nèi)容。
2.根據(jù)權(quán)利要求1所述的一種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于:在步驟4)中,在進行RSA加密前,先查看發(fā)送端是否有接收端的含有RSA加密公鑰的數(shù)字證書,有則進行RSA加密,否則,則暫停加密,而改為向接收端發(fā)送數(shù)字證書請求消息。
3.根據(jù)權(quán)利要求1所述的一種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于:在步驟7)中,對收到的數(shù)據(jù)進行身份認證的過程為:首先對進行第一次解密后的數(shù)據(jù)中除開摘要部分的其它所有數(shù)據(jù)進行SHA-1運算,形成新的一個摘要,然后將得到的摘要與接收到的摘要進行對比,如有不同,則說明數(shù)據(jù)被人篡改過,丟棄數(shù)據(jù),否則,轉(zhuǎn)至步驟8)。
4.根據(jù)權(quán)利要求1所述的一種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于:在步驟8)中,在進行BSS解密前,先查看接收端是否有發(fā)送端的有效數(shù)字證書,有則直接進行BSS解密,否則暫停解密,轉(zhuǎn)而向發(fā)送端發(fā)送數(shù)字證書請求消息,然后從數(shù)字證書中解密出BSS密鑰種子,生成BSS解密密鑰信號來完成解密。
5.根據(jù)權(quán)利要求2或4所述的一種基于BSS、RSA、SHA-1加密算法的通信數(shù)據(jù)加解密方法,其特征在于:所述數(shù)字證書包含用戶ID、RSA公鑰對、BSS密鑰種子、證書啟用時間、證書停用時間,其中,所述RSA公鑰對存放的是接收端自身的RSA公鑰對;所述BSS密鑰種子存放的是發(fā)送端自身的密鑰種子,所述BSS密鑰種子是經(jīng)過SHA-1身份認證加密以及使用接收端中所存儲的RSA公鑰對進行RSA加密。
【文檔編號】H04L9/32GK103731270SQ201310737247
【公開日】2014年4月16日 申請日期:2013年12月25日 優(yōu)先權(quán)日:2013年12月25日
【發(fā)明者】謝宗伯, 蔡琳琳, 馮久超 申請人:華南理工大學