本發(fā)明涉及數(shù)據(jù)報文安全加密技術(shù)領(lǐng)域,更具體地說,涉及一種基于二重鹽值的數(shù)據(jù)加密與解密方法及系統(tǒng)。
背景技術(shù):
隨著計算機與信息技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)傳輸?shù)陌踩珕栴}面臨著各種考驗。網(wǎng)絡(luò)安全涵蓋了用戶身份認證、數(shù)據(jù)加密解密、訪問控制、防抵賴、數(shù)據(jù)完成性問題和審計追蹤等各個方面。其中數(shù)據(jù)加密與解密在保證網(wǎng)絡(luò)數(shù)據(jù)傳輸安全中處于舉足輕重至關(guān)重要的地位,是整個網(wǎng)絡(luò)安全的基礎(chǔ),也是信息安全的問題根源。數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸,最主要的安全威脅來自于非法竊聽,將包含了重要信息并依據(jù)理解的明文使用密鑰進行加密,使用加密后的密文進行傳輸,已成為預(yù)防非法竊聽和用戶信息認證的主要手段。傳統(tǒng)的密鑰混合加密算法,即是對稱加密算法、非對稱加密算法的整合,主要是選定一種對稱加密算法為基礎(chǔ),而在網(wǎng)絡(luò)傳輸?shù)耐ㄐ啪€路上使用與之不同的非對稱加密算法,如對稱加密算法使用DES算法,而非對稱算法使用RSA算法,對這種算法的密鑰進行加密,使用經(jīng)過RAS算法加密密鑰產(chǎn)生的密文和DES算法加密明文產(chǎn)生的密文,在網(wǎng)絡(luò)上進行傳輸。在目標(biāo)主機接收到這兩份密文之后,相應(yīng)的使用RAS算法的私鑰和DES算法分別對接收到的密文進行解密。其中在加密過程中,算法的加密強度取決于DES算法的質(zhì)量,一旦攻擊者在截獲了密文并破解DES算法,那么在不需要密鑰的情形下,明文信息已完全能夠被獲悉。再者,DES算法的密鑰長度一般都較短,在當(dāng)今高性能計算和云計算盛行的情況下,有可能在較短時間內(nèi)破獲其密鑰??傊?,現(xiàn)有的數(shù)據(jù)傳輸安全性存在隱患,有被攻破的可能性,有必要進行改進。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種基于二重鹽值的數(shù)據(jù)加密與解密方法及系統(tǒng)。
本發(fā)明解決其技術(shù)問題所使用的技術(shù)方案是:構(gòu)造一種基于二重鹽值的數(shù)據(jù)加密與解密方法,數(shù)據(jù)加密方法包括如下步驟:
S1、將原始明文數(shù)據(jù)分割成第一片段和第二片段;
S2、對所述第一片段的行末添加第一鹽值,對所述第二片段的行末添加第二鹽值;
S3、分別對添加鹽值后的所述第一片段和所述第二片段使用第一種加密算法及相應(yīng)的密鑰進行第一次加密處理;
S4、對第一次加密處理后的所述第一片段和所述第二片段中的至少一種片段的行末添加第三鹽值;
S5、對添加所述第三鹽值后的片段使用第二種加密算法及相應(yīng)的密鑰進行第二次加密處理;
S6、組裝分別加密后的片段,形成密文數(shù)據(jù)。
在上述基于二重鹽值的數(shù)據(jù)加密與解密方法中,所述步驟S3中的密鑰由第三種加密算法的公鑰對所述第一種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成;所述步驟S5中的密鑰由第三種加密算法的公鑰對所述第二種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成。
在上述基于二重鹽值的數(shù)據(jù)加密與解密方法中,所述第一種加密算法為AES加密算法,所述第二種加密算法為DES加密算法,所述第三種加密算法為RSA加密算法。
在上述基于二重鹽值的數(shù)據(jù)加密與解密方法中,所述第一鹽值、第二鹽值以及第三鹽值分別依據(jù)當(dāng)前有效時間生成。
在上述基于二重鹽值的數(shù)據(jù)加密與解密方法中,數(shù)據(jù)解密方法包括:
S1’、將所述密文數(shù)據(jù)分割成第一片段和第二片段;
S2’、使用所述第二種加密算法及相應(yīng)的密鑰對行末添加了第三鹽值的片段進行第一次解密處理;
S3’、去除所述第三鹽值;
S4’、使用所述第一種加密算法及相應(yīng)的密鑰對去除第三鹽值后的片段和未使用第二種加密算法及相應(yīng)的密鑰進行加密處理的片段進行第二次解密處理;
S5’、去除經(jīng)第二次解密處理后的第一片段行末的第一鹽值和第二片段行末的第二鹽值;
S6’、組裝分別解密后的片段,形成所述原始明文數(shù)據(jù)。
在上述基于二重鹽值的數(shù)據(jù)加密與解密方法中,所述步驟S2’中的密鑰由第三種加密算法的公鑰對所述第一種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成;所述步驟S4’中的密鑰由第三種加密算法的公鑰對所述第二種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成。
在上述基于二重鹽值的數(shù)據(jù)加密與解密方法中,所述第一種加密算法為AES加密算法,所述第二種加密算法為DES加密算法,所述第三種加密算法為RSA加密算法。
還提供一種基于二重鹽值的數(shù)據(jù)加密與解密系統(tǒng),包括第一終端,所述第一終端又包括:
加密片段分割單元,將原始明文數(shù)據(jù)分割成第一片段和第二片段;
鹽值生成單元,生成第一鹽值和第二鹽值,并將所述第一片段和第二片段的行末分別對應(yīng)添加所述第一鹽值和所述第二鹽值;
第一加密單元,對添加鹽值后的所述第一片段和第二片段使用第一加密算法及相應(yīng)的密鑰進行第一次加密處理;
所述鹽值生成單元還用于生成第三鹽值,并將第一次加密處理后的所述第一片段和所述第二片段中的至少一種片段的行末添加所述第三鹽值;
第二加密單元,對添加第三鹽值后的片段使用第二種加密算法及相應(yīng)的密鑰進行第二次加密處理;
加密組裝單元,組裝加密后的片段,形成密文數(shù)據(jù)。
在上述基于二重鹽值的數(shù)據(jù)加密與解密系統(tǒng)中,還包括密鑰生成單元,用于使用第三種加密算法的公鑰對所述第一種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成所述第一加密單元中使用到的密鑰以及使用第三種加密算法的公鑰對所述第二種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成所述第二加密單元中使用到的密鑰。
在上述基于二重鹽值的數(shù)據(jù)加密與解密系統(tǒng)中,還包括用于從所述第一終端中接收所述密文數(shù)據(jù)的第二終端,所述第二終端又包括:
解密片段分割單元,將所述密文數(shù)據(jù)分割成第一片段和第二片段;
第一解密單元,使用所述第二種加密算法及相應(yīng)的密鑰對行末添加了第三鹽值的片段進行第一次解密處理;
鹽值去除單元,去除所述第三鹽值;
第二解密單元,使用所述第一種加密算法及相應(yīng)的密鑰對去除第三鹽值后的片段和未使用第二種加密算法及相應(yīng)的密鑰進行加密處理的片段進行第二次解密處理;
所述鹽值去除單元還用于去除經(jīng)第二次解密處理后的第一片段行末的第一鹽值和第二片段行末的第二鹽值;
解密組裝單元,組裝分別解密后的片段,形成所述原始明文數(shù)據(jù)。
實施本發(fā)明的基于二重鹽值的數(shù)據(jù)加密與解密方法及系統(tǒng),具有以下有益效果:在數(shù)據(jù)加密過程中通過將原始明文數(shù)據(jù)分割為第一片段和第二片段,在第一片段和第二片段的行末分別添加鹽值,經(jīng)鹽值處理后使用第一種加密算法即AES加密算法進行加密處理,產(chǎn)生AES加密算法中間密文。之后再對至少一種中間密文進行鹽值處理,并使用第二種加密算法即DES加密算法進行加密處理,最終產(chǎn)生二重鹽值混合加密算法加密后的密文數(shù)據(jù)。與之對應(yīng)的在解密過程中在獲得密文數(shù)據(jù)后首先使用DES加密算法及相應(yīng)的密鑰進行解密,并去除解密后在末尾添加的鹽值,于是就得到了首次加密后的密文數(shù)據(jù),對該密文數(shù)據(jù)再使用AES加密算法進行解密后,同樣的去除末尾增加的時間鹽值,最終將得到原始明文數(shù)據(jù)。這里在加密過程中最終獲得的密文數(shù)據(jù)與原始的明文數(shù)據(jù)并不存在明確的對應(yīng)關(guān)系,且需要攻擊者同時破解兩種加密算法,破解難度高,保證了網(wǎng)絡(luò)傳輸?shù)陌踩裕哂泻芎玫姆烙Ч?/p>
附圖說明
下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
圖1是本發(fā)明一種基于二重鹽值的數(shù)據(jù)加密方法的流程示意圖;
圖2是本發(fā)明一種基于二重鹽值的數(shù)據(jù)加密方法的加密過程示意圖;
圖3是本發(fā)明一種基于二重鹽值的數(shù)據(jù)解密方法的流程示意圖;
圖4是本發(fā)明一種基于二重鹽值的數(shù)據(jù)解密方法的解密過程示意圖。
具體實施方式
為了對本發(fā)明的技術(shù)特征、目的和效果有更加清楚的理解,現(xiàn)對照附圖詳細說明本發(fā)明的具體實施方式。
如圖1所示,為本發(fā)明一種基于二重鹽值的數(shù)據(jù)加密方法的流程示意圖,該數(shù)據(jù)加密方法包括如下步驟:
S1、將原始明文數(shù)據(jù)分割成第一片段和第二片段;
S2、對該第一片段的行末添加第一鹽值,對該第二片段的行末添加第二鹽值;
S3、分別對添加鹽值后的該第一片段和該第二片段使用第一種加密算法及相應(yīng)的密鑰進行第一次加密處理;
S4、對第一次加密處理后的該第一片段和該第二片段中的至少一種片段的行末添加第三鹽值;
S5、對添加該第三鹽值后的片段使用第二種加密算法及相應(yīng)的密鑰進行第二次加密處理;
S6、組裝分別加密后的片段,形成密文數(shù)據(jù)。
在上述基于二重鹽值的數(shù)據(jù)加密方法中,該第一種加密算法為AES加密算法,該第二種加密算法為DES加密算法,該第三種加密算法為RSA加密算法。另外,該步驟S3中的密鑰由第三種加密算法的公鑰對第一種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成;該步驟S5中的密鑰由第三種加密算法的公鑰對該第二種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成。
為了更好的說明本發(fā)明的數(shù)據(jù)加密過程,現(xiàn)以第二片段分別經(jīng)兩次加密處理為例。本實施例中的加密過程首先對原始明文數(shù)據(jù)進行分割,對分割后的數(shù)據(jù)報文進行處理,如圖2所示,原始明文數(shù)據(jù)D被分割為第一片段D1和第二片段D2,在兩個片段的行末分別對應(yīng)添加第一鹽值S1和第二鹽值S2,這里的第一鹽值S1和第二鹽值S2分別由系統(tǒng)當(dāng)前時間所決定。第一片段D1和第二片段D2經(jīng)過鹽值處理后首先使用第一種加密算法即AES加密算法以及相應(yīng)的密鑰E1和E2進行第一次加密處理,相應(yīng)產(chǎn)生中間密文C1和C2。這里可以選擇對中間密文C1和C2中至少一個進行二次加密處理,如選擇對中間密文C2進行二次加密,首先仍需對中間密文C2進行鹽值處理,即在中間密文C2的行末添加第三鹽值S3,該第三鹽值S3也是由系統(tǒng)當(dāng)前時間決定,對得到的新的密文使用第二種加密算法即DES加密算法及相應(yīng)的密鑰E3進行第二次加密處理,獲得第二次加密后的密文C3,最終組裝C1和C3產(chǎn)生二重鹽值混合加密算法加密后的密文數(shù)據(jù)。這樣所得到的密文數(shù)據(jù)與原始明文數(shù)據(jù)不存在明確的對應(yīng)關(guān)系,而是附加了一定的鹽值處理,并且鹽值不受加密操作者的控制,加密效果使原始明文數(shù)據(jù)更加隱秘不易被破解。
另外,上述加密過程中所使用的密鑰即密鑰E1、E2和E3均使用第三種加密算法即RSA加密算法的公鑰進行加密,也就是說,密鑰E1和密鑰E2分別是由RSA加密算法的公鑰對該AES加密算法隨機產(chǎn)生的密鑰進行加密處理后所生成的,相應(yīng)地密鑰E3是由RSA加密算法的公鑰對DES加密算法隨機產(chǎn)生的密鑰進行加密處理后所生成的,進一步發(fā)揮對稱加密算法速度快而公鑰加密算法安全性高的優(yōu)勢。
基于上述對第二片段D2有使用AES加密算法和DES加密算法,即使用該二重鹽值混合加密算法的密鑰的長度是使用192位,用于同時滿足AES加密算法的128位和DES加密算法的64位。在這192位的密鑰中每一位都是有效的,如果要破解該密鑰,其枚舉空間達到2的192次方,同時這一密鑰長度能夠有效保證加密構(gòu)成算法的高效性,保證網(wǎng)絡(luò)傳輸?shù)陌踩?。此外,在密鑰對明文的敏感性方面,二重鹽值混合加密算法對明文本身的微小差別在經(jīng)過分割為兩個片段、第一次加密和第二次加密以及組裝這四個過程的處理后被不斷放大,即本發(fā)明二重鹽值混合加密算法的明文敏感度表現(xiàn)較佳。除此次之外,兩次在片段的行末添加鹽值,這使得本發(fā)明加密算法的密鑰敏感度優(yōu)于一般的加密算法,在應(yīng)對攻擊方面,本發(fā)明的二重鹽值混合加密算法需要攻擊者同時破解DES加密算法和AES加密算法,搜索空間大時間復(fù)雜度高,密鑰攻擊的可行性小,而該算法的明文敏感度高,明文破解難度也非常大,因此具有很好的防御效果。
相應(yīng)地,本發(fā)明基于二重鹽值的數(shù)據(jù)解密方法流程圖如圖3所示,該數(shù)據(jù)解密方法包括如下步驟:
S1’、將該密文數(shù)據(jù)分割成第一片段和第二片段;
S2’、使用第二種加密算法及相應(yīng)的密鑰對添加第三鹽值的片段進行第一次解密處理;
S3’、去除第三鹽值;
S4’、使用第一種加密算法及相應(yīng)的密鑰對去除第三鹽值后的片段和未使用第二種加密算法及相應(yīng)的密鑰進行加密處理的片段進行第二次解密處理;
S5’、去除經(jīng)第二次解密處理后的第一片段行末的第一鹽值和第二片段行末的第二鹽值;
S6’、組裝分別解密后的片段,形成該原始明文數(shù)據(jù)。
在上述基于二重鹽值的數(shù)據(jù)解密方法中,該第一種加密算法為AES加密算法,該第二種加密算法為DES加密算法,該第三種加密算法為RSA加密算法。另外,該步驟S2’中的密鑰由第三種加密算法的公鑰對該第二種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成;該步驟S4’中的密鑰由第三種加密算法的公鑰對該第一種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成。
為了更好的說明本發(fā)明的數(shù)據(jù)解密過程,現(xiàn)以第二片段分別經(jīng)兩次解密處理為例。與圖2相對應(yīng),本實施例中的解密過程首先對密文數(shù)據(jù)進行分割,如圖4所示,密文數(shù)據(jù)被分割為第一片段C1和第二片段C3,在解密之前需先檢測某一片段是否進行了兩次加密處理,如上所述,本實施例中是對第二片段進行了兩次加密,因此下述的解密過程是先使用第二種加密算法即DES加密算法及相應(yīng)的密鑰E3對第二片段C3進行第一次解密處理,之后再去除經(jīng)第一次解密處理后的片段C2行末的第三鹽值S3,形成首次加密后的密文C1和C2,。之后再使用第一種加密算法即AES加密算法及相應(yīng)的密鑰E1和E2對密文C1及去除第三鹽值S3后的密文C2進行第二次解密處理,再去除第一鹽值S1和第二鹽值S2,最后得到分割開的明文數(shù)據(jù)D1和D2,經(jīng)組裝形成原始明文數(shù)據(jù)。
另外,上述加密過程中所使用的密鑰即密鑰E1、E2和E3均使用第三種加密算法即RSA加密算法的公鑰進行加密,也就是說,密鑰E1和密鑰E2分別是由RSA加密算法的公鑰對該AES加密算法隨機產(chǎn)生的密鑰進行加密處理后所生成的,相應(yīng)地密鑰E3是由RSA加密算法的公鑰對DES加密算法隨機產(chǎn)生的密鑰進行加密處理后所生成的,進一步發(fā)揮對稱加密算法速度快而公鑰加密算法安全性高的優(yōu)勢。
本發(fā)明還提供一種基于二重鹽值的數(shù)據(jù)加密與解密系統(tǒng),其中,數(shù)據(jù)加密系統(tǒng)包括第一終端,該第一終端又包括:
加密片段分割單元,將原始明文數(shù)據(jù)分割成第一片段和第二片段;
鹽值生成單元,生成第一鹽值和第二鹽值,并將該第一片段和第二片段的行末分別對應(yīng)添加該第一鹽值和該第二鹽值;
第一加密單元,對添加鹽值后的該第一片段和第二片段使用第一加密算法及相應(yīng)的密鑰進行第一次加密處理;
該鹽值生成單元還用于生成第三鹽值,并將第一次加密處理后的該第一片段和該第二片段中的至少一種片段的行末添加該第三鹽值;
第二加密單元,對添加第三鹽值后的片段使用第二種加密算法及相應(yīng)的密鑰進行第二次加密處理;
加密組裝單元,組裝加密后的片段,形成密文數(shù)據(jù)。
相應(yīng)地,數(shù)據(jù)解密系統(tǒng)包括用于從該第一終端中接收該密文數(shù)據(jù)的第二終端,該第二終端又包括:
解密片段分割單元,將該密文數(shù)據(jù)分割成第一片段和第二片段;
第一解密單元,使用第二種加密算法及相應(yīng)的密鑰對行末添加了第三鹽值的片段進行第一次解密處理;
鹽值去除單元,去除第三鹽值;
第二解密單元,使用第一種加密算法及相應(yīng)的密鑰對去除第三鹽值后的片段和未使用第二種加密算法及相應(yīng)的密鑰進行加密處理的片段進行第二次解密處理;
上述鹽值去除單元還用于去除經(jīng)第二次解密處理后的第一片段行末的第一鹽值和第二片段行末的第二鹽值;
解密組裝單元,組裝分別解密后的片段,形成原始明文數(shù)據(jù)。
在上述數(shù)據(jù)加密與解密系統(tǒng)中,第一終端相當(dāng)于發(fā)送方,對源IP和目的IP分別匹配己方內(nèi)網(wǎng)和對方內(nèi)網(wǎng)的IP數(shù)據(jù)包使用二重鹽值混合加密算法進行加密,并在加密后生成的IP數(shù)據(jù)包報文頭部TOS域中進行標(biāo)記;第二終端相當(dāng)于接收方,接收方對符合內(nèi)網(wǎng)IP作為目的地址的進行匹配,對報文頭部TOS域進行識別,并對IP數(shù)據(jù)包進行二重鹽值混合加密算法進行解密。主動加密對符合IP地址匹配條件的IP數(shù)據(jù)包進行加密處理并實施轉(zhuǎn)發(fā),被動加密對接收到的數(shù)據(jù)進行解密并轉(zhuǎn)發(fā),從而完成一次IP數(shù)據(jù)報文通道式的加密解密處理流程。
在上述基于二重鹽值的數(shù)據(jù)加密與解密系統(tǒng)中,還包括密鑰生成單元,與第二種加密算法相應(yīng)的密鑰由該密鑰生成單元使用第三種加密算法的公鑰對該第二種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成;與第一種加密算法相應(yīng)的密鑰由該密鑰生成單元使用第三種加密算法的公鑰對該第一種加密算法隨機產(chǎn)生的密鑰進行加密處理后生成。這里第一種加密算法為AES加密算法,該第二種加密算法為DES加密算法,該第三種加密算法為RSA加密算法。
相較于現(xiàn)有技術(shù),本發(fā)明一種基于二重鹽值的數(shù)據(jù)加密與解密方法及系統(tǒng)是一種集對稱加密和非對稱加密為一體,將兩種加密算法有機結(jié)合取長補短合為一體,既保持了對稱密碼加密效率高的優(yōu)點,又保證了密鑰在網(wǎng)絡(luò)上的安全傳輸,主要適用于因特網(wǎng)電子商務(wù)平臺、政務(wù)平臺和軍事網(wǎng)絡(luò)系統(tǒng)中,特別是用于云計算云服務(wù)網(wǎng)絡(luò)系統(tǒng)中,能夠有效保證數(shù)據(jù)在網(wǎng)絡(luò)中的安全傳輸。
具體地,在數(shù)據(jù)加密過程中通過將原始明文數(shù)據(jù)分割為第一片段和第二片段,在第一片段和第二片段的行末分別添加鹽值,經(jīng)鹽值處理后使用第一種加密算法即AES加密算法進行加密處理,產(chǎn)生AES加密算法中間密文。之后再對至少一種中間密文進行鹽值處理,并使用第二種加密算法即DES加密算法進行加密處理,最終產(chǎn)生二重鹽值混合加密算法加密后的密文數(shù)據(jù)。與之對應(yīng)的在解密過程中在獲得密文數(shù)據(jù)后首先使用DES加密算法及相應(yīng)的密鑰進行解密,并去除解密后在末尾添加的鹽值,于是就得到了首次加密后的密文數(shù)據(jù),對該密文數(shù)據(jù)再使用AES加密算法進行解密后,同樣的去除末尾增加的時間鹽值,最終將得到原始明文數(shù)據(jù)。這里在加密過程中最終獲得的密文數(shù)據(jù)與原始的明文數(shù)據(jù)并不存在明確的對應(yīng)關(guān)系,且需要攻擊者同時破解兩種加密算法,破解難度高,保證了網(wǎng)絡(luò)傳輸?shù)陌踩?,具有很好的防御效果?/p>
上面結(jié)合附圖對本發(fā)明的實施例進行了描述,但是本發(fā)明并不局限于上述的具體實施方式,上述的具體實施方式僅僅是示意性的,而不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護的范圍情況下,還可做出很多形式,這些均屬于本發(fā)明的保護之內(nèi)。