管理系統(tǒng)中加密、解密數據的方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種管理系統(tǒng)中加密、解密數據的方法及裝置,其中的方法包括當用戶登錄管理系統(tǒng)上傳數據時,根據用戶的登錄密碼生成RSA算法的公鑰和私鑰;當用戶登錄管理系統(tǒng)上傳數據時,根據公鑰采用RSA算法對管理系統(tǒng)隨機生成的秘鑰進行加密生成秘鑰密文,并根據秘鑰密文對用戶上傳的數據采用可逆算法進行加密,對加密的數據進行保存,當用戶登錄管理系統(tǒng)下載加密后的數據時,根據私鑰采用RSA算法對秘鑰密文進行解密,獲得秘鑰;根據解密后的秘鑰采用可逆算法對加密的數據進行解密;獲得解密的數據后下載數據。利用本發(fā)明能夠提高數據加密的安全性,并且在數據加密過程中不需要客戶端的支持,用戶不需要多余的操作,就能對數據進行加密解密。
【專利說明】管理系統(tǒng)中加密、解密數據的方法及裝置
【技術領域】
[0001]本發(fā)明涉及數據加密【技術領域】,更為具體地,涉及一種管理系統(tǒng)中加密、解密數據的方法及裝置。
【背景技術】
[0002]隨著計算機網絡技術的發(fā)展和Internet技術的普及,Web管理系統(tǒng)結構得到廣泛應用,特別是在一些企業(yè)信息管理與政府政務管理系統(tǒng)中,已成為主要的管理方式;Web管理系統(tǒng)中的部分信息數據是絕對機密的,它關系到了企業(yè)的發(fā)展與存亡,一旦這些機密數據被竊取或惡意篡改,這勢必將給企業(yè)帶來巨大的經濟損失,因此,對Web管理系統(tǒng)的數據加密是保護數據安全的重要手段。
[0003]而對Web管理系統(tǒng)中的數據加密存在以下問題:
[0004]I)需要客戶端的支持,例如瀏覽器插件,客戶端程序,安裝證書或者U盾等,因此,還需要用戶對客戶端進行操作才能對數據進行加密。
[0005]2)加密算法容易被破解,導致重要數據的泄露。
[0006]因此,需要提供一種新的防止用戶隱私泄露的解決方案。
【發(fā)明內容】
[0007]鑒于上述問題,本發(fā)明的目的是提供一種管理系統(tǒng)中加密、解密數據的方法及裝置,以解決加密數據需要客戶端支持的問題,以及加密后的數據安全性不高的問題。
[0008]本發(fā)明提供一種管理系統(tǒng)中加密、解密數據的方法,包括:
[0009]在用戶創(chuàng)建登錄管理系統(tǒng)的登錄密碼后,對創(chuàng)建的登錄密碼采用MD5算法生成散列值;根據散列值的字符串長度將散列值均勻地截成三個字符串;分別對截成的三個字符串采用MD5算法生成三個散列值,根據生成的三個散列值分別獲取大于每個散列值的最小素數,根據獲取的三個大于散列值的最小素數采用Euclid算法生成RSA算法的公鑰,將生成的公鑰保存在數據庫中,數據庫存儲在管理系統(tǒng)的服務器上;
[0010]當用戶登錄管理系統(tǒng)上傳數據時,根據數據庫中的公鑰采用RSA算法對管理系統(tǒng)隨機生成的秘鑰進行加密生成秘鑰密文,將秘鑰密文保存在數據庫中,并根據秘鑰密文對用戶上傳的數據采用可逆算法進行加密,將加密的數據保存在管理系統(tǒng)的服務器中;
[0011]當用戶登錄管理系統(tǒng)下載加密后的數據時,對用戶的登錄密碼采用MD5算法生成散列值;根據散列值的字符串長度將散列值均勻地截成三個字符串;分別對截成的三個字符串采用MD5算法生成三個散列值,根據生成的三個散列值分別獲取大于每個散列值的最小素數,根據獲取的三個大于散列值的最小素數采用Euclid算法生成RSA算法的私鑰;根據私鑰采用RSA算法對數據庫中的秘鑰密文進行解密,獲得秘鑰;根據解密后的秘鑰采用可逆算法對管理系統(tǒng)的服務器中的加密的數據進行解密;獲得解密的數據后下載數據。
[0012]本發(fā)明還提供一種管理系統(tǒng)中加密、解密數據的裝置,包括:
[0013]散列值生成單元,用于在用戶創(chuàng)建登錄管理系統(tǒng)的登錄密碼后,對創(chuàng)建的所述登錄密碼采用MD5算法生成散列值;
[0014]散列值截取單元,用于根據散列值的字符串長度將散列值均勻地截成三個字符串;其中,散列值生成單元分別對散列值截取單元截成的三個字符串采用MD5算法生成三個散列值;
[0015]最小素數獲取單元,用于根據散列值截取單元生成的三個散列值分別獲取大于每個散列值的最小素數;
[0016]公鑰生成單元,用于根據最小素數獲取單元獲取的三個大于散列值的最小素數采用Euclid算法生成RSA算法的公鑰;
[0017]公鑰保存單元,用于將生成的公鑰保存在數據庫中,數據庫存儲在管理系統(tǒng)的服務器上;
[0018]數據加密單元,用于對用戶上傳的數據采用可逆算法進行加密;
[0019]數據保存單元,用于將加密的數據保存在管理系統(tǒng)的服務器中;
[0020]秘鑰生成單元,用于根據管理系統(tǒng)隨機生成秘鑰;
[0021]秘鑰加密單元,用于根據數據庫中的公鑰采用RSA算法對秘鑰進行加密生成秘鑰密文;
[0022]秘鑰密文保存單元,用于將秘鑰密文保存到數據庫中;
[0023]數據加密單元,用于根據秘鑰密文對用戶上傳的數據采用可逆算法進行加密;
[0024]數據保存單元,用于將加密的數據保存在管理系統(tǒng)的服務器中;
[0025]私鑰生成單元,用于根據最小素數獲取單元獲取的三個大于散列值的最小素數采用Euclid算法生成RSA算法的私鑰;
[0026]秘鑰解密單元,用于根據私鑰生成單元生成的私鑰采用RSA算法對數據庫中的秘鑰密文進行解密,獲得秘鑰;
[0027]數據解密單元,用于根據解密后的秘鑰采用可逆算法對管理系統(tǒng)的服務器中的加密的數據進行解密,獲得解密的數據;
[0028]數據下載單元,用于下載解密的數據。
[0029]利用上述根據本發(fā)明的管理系統(tǒng)中加密、解密數據的方法及裝置,能夠取得以下有益效果:
[0030]I)在數據加密過程中不需要客戶端的支持,跟瀏覽普通網站一樣,用戶不需要多余的操作,就能對數據進行加密解密。
[0031]2)支持數據的擁有者授予其他用戶下載文件的權限。
[0032]3)除用于數據的擁有者及擁有者授予下載權限的其他用戶外,即便是得知此加密方法并獲得操作程序服務器和數據庫服務器的IT人員,也無法對數據解密。
[0033]4)當用戶具有大量數據時,更換登錄密碼不需要對數據重新加密,不影響系統(tǒng)響應速度。
[0034]為了實現(xiàn)上述以及相關目的,本發(fā)明的一個或多個方面包括后面將詳細說明并在權利要求中特別指出的特征。下面的說明以及附圖詳細說明了本發(fā)明的某些示例性方面。然而,這些方面指示的僅僅是可使用本發(fā)明的原理的各種方式中的一些方式。此外,本發(fā)明旨在包括所有這些方面以及它們的等同物?!緦@綀D】
【附圖說明】
[0035]通過參考以下結合附圖的說明及權利要求書的內容,并且隨著對本發(fā)明的更全面理解,本發(fā)明的其它目的及結果將更加明白及易于理解。在附圖中:
[0036]圖1為根據本發(fā)明實施例的管理系統(tǒng)中加密、解密數據的方法的流程圖;
[0037]圖2為根據本發(fā)明實施例的管理系統(tǒng)中加密、解密數據的裝置的邏輯結構圖。
[0038]在所有附圖中相同的標號指示相似或相應的特征或功能。
【具體實施方式】
[0039]在下面的描述中,出于說明的目的,為了提供對一個或多個實施例的全面理解,闡述了許多具體細節(jié)。然而,很明顯,也可以在沒有這些具體細節(jié)的情況下實現(xiàn)這些實施例。在其它例子中,為了便于描述一個或多個實施例,公知的結構和設備以方框圖的形式示出。
[0040]為了解決上述問題,本發(fā)明采用三種加密方法對數據進行加密,當用戶上傳數據時,首先,采用可逆算法對用戶上傳的數據加密,然后,對用戶的登錄密碼采用不可逆算法生成非對稱算法的公鑰,采用非對稱加密算法的公鑰對解密數據的秘鑰進行加密形成密文;當用戶下載數據時,采用非對稱加密算法的私鑰對密文解密獲得解密數據的秘鑰,再用秘鑰對加密的數據進行解密,由于非對稱加密算法和不可逆加密算法無法被破解,所以采用這種三重加密算法加密的數據安全性非常高。
[0041]以下將結合附圖對本發(fā)明的具體實施例進行詳細描述。
[0042]圖1示出了根據本發(fā)明實施例的管理系統(tǒng)中加密、解密數據的方法的流程。
[0043]如圖1所示,本發(fā)明實施例的管理系統(tǒng)中加密、解密數據的方法,包括:
[0044]SlOO:在用戶創(chuàng)建管理系統(tǒng)的登錄密碼后,對創(chuàng)建的登錄密碼采用MD5算法生成散列值。
[0045]其中,管理系統(tǒng)可以文件管理系統(tǒng),或其他內容信息管理系統(tǒng);MD5算法為不可逆算法,該算法為公開的算法,本實施例不再復述。
[0046]SlOl:根據生成的散列值的字符串長度將散列值均勻地截成三個字符串。
[0047]S102:分別對截成的三個字符串采用MD5算法生成三個散列值。
[0048]S103:根據生成的三個散列值分別獲取大于每個散列值的最小素數。
[0049]例如三個散列值分別為6、20、35,對應大于三個散列值的最小素數分貝為7、23、37。
[0050]S104:根據獲取的三個大于散列值的最小素數采用Euclid算法生成RSA算法的公鑰,將生成的公鑰保存在數據庫中,該數據庫存儲在管理系統(tǒng)的服務器上。
[0051]其中,采用Euclid算法生成公鑰的過程為:
[0052]I)隨機取步驟S103中的三個素數中的兩個素數P和q ;
[0053]2)計算 n=p*q, f=(p-l)*(q_l);
[0054]3)取三個素數中的最后一個素數e,滿足條件gcd(e, (p_l) * (q_l)) =1,其中gcd為最大公約數,也就是說滿足e和f互素;
[0055]如果e和f不能互素,則將η中的P換成e,重新進行計算,直到滿足e和f互素。
[0056]4)計算d,滿足(e*d) mod((p_l) *(q_l)) =1,即乘積d*e對f求余的結果為I。
[0057]其中,e和η組成公鑰,d和η組成私鑰(為下述步驟S108的私鑰)。[0058]需要說明的是,當用戶修改登錄密碼時,根據修改后的登錄密碼對用戶所有的數據重新生成公鑰,不需要對數據進行操作,不影響管理系統(tǒng)的響應速度。
[0059]另一方面,生成公鑰的時機有兩個,一個是用戶在創(chuàng)建登錄密碼時;另一個是用戶修改密碼時,其它時間均不會生成公鑰,不論是數據的擁有者還是被授權者都是在創(chuàng)建登錄密碼或修改登錄密碼時根據各自的登錄密碼生成各自的公鑰。
[0060]S105:當用戶登錄管理系統(tǒng)上傳數據時,根據數據庫中的公鑰采用RSA算法對管理系統(tǒng)隨機生成的秘鑰進行加密生成秘鑰密文,將秘鑰密文保存在所述數據庫中。
[0061]其中,采用RSA算法對秘鑰進行加密的公式為b= (a*e) mod η ;
[0062]其中,b表示秘鑰密文;
[0063]a表不秘鑰;
[0064]η為Euclid算法中的η ;
[0065]e為公鑰中的e。
[0066]S106:根據秘鑰密文對用戶上傳的數據采用可逆算法進行加密,將加密的數據保存在管理系統(tǒng)的服務器中。
[0067]可逆算法包括DES、TripleDES, RC2、RC4、RC5和Blowfish等算法,本實施例優(yōu)選的實施方式才用DES算法對數據加密,由于DES算法為公知算法,故本實施例不再復述。
[0068]S107:當用戶登錄管理系統(tǒng)下載加密的數據時,根據步驟S100-S104生成RSA算法的私鑰。
[0069]需要說明的是,在SlOO中,用戶的登錄密碼已經創(chuàng)建完成,因此,在生成散列值的時候不需要重新創(chuàng)建密碼,而是根據創(chuàng)建的密碼生成散列值;而且,只有在用戶登錄管理系統(tǒng)后并進行下載動作時才會生成與公鑰對應的私鑰,其他時機均無法獲得私鑰。
[0070]數據的擁有者還可以對其他用戶授權下載權限,其他用戶在創(chuàng)建各自的登錄密碼或修改登錄密碼時生成公鑰,其他用戶利用各自生成的公鑰對該加密數據的秘鑰進行加
LU O
[0071]S108:根據私鑰采用RSA算法對數據庫中的秘鑰密文進行解密,獲得秘鑰。
[0072]私鑰為步驟S104中生成的私鑰,但與公鑰的生成時間不同,公鑰是在用戶創(chuàng)建登錄密碼或修改登錄密碼時生成,而私鑰是在用戶登錄管理系統(tǒng)后并進行下載動作時生成的,并不會保存在數據庫中,因為私鑰是不能被其他任何人知道的,如果保存在數據庫中就有被IT人員非法使用的可能。
[0073]S109:根據所述解密后的秘鑰采用可逆算法對所述管理系統(tǒng)的服務器中的加密的數據進行解密,獲得解密的數據。
[0074]由于本實施例對數據加密采用的是DES算法,所以本實施例對數據的解密同樣采用DES算法。
[0075]SllO:下載解密的數據。
[0076]上述詳細的描述了本發(fā)明的方法對數據進行加密解密的過程,本發(fā)明采用不可逆加密算法和非對稱加密算法間接的對數據進行加密,提高加密數據的安全性,并且在數據加密過程中不需要客戶端的支持,用戶不需要多余的操作,就能對數據進行加密解密。
[0077]與上述方法相對應,本發(fā)明還提供一種管理系統(tǒng)中加密、解密數據的裝置。
[0078]圖2示出了根據本發(fā)明實施例的管理系統(tǒng)中加密、解密數據的裝置的邏輯結構。[0079]如圖2所示,管理系統(tǒng)中加密、解密數據的裝置200包括:
[0080]散列值生成單元201,用于在用戶創(chuàng)建登錄管理系統(tǒng)的登錄密碼后,對創(chuàng)建的登錄密碼采用MD5算法生成散列值;
[0081]散列值截取單元202,用于根據散列值的字符串長度將散列值均勻地截成三個字符串;其中,散列值生成單元分別對散列值截取單元截成的三個字符串采用MD5算法生成三個散列值;
[0082]最小素數獲取單元203,用于根據生成的三個散列值分別獲取大于每個散列值的
最小素數;
[0083]公鑰生成單元204,用于根據獲取的三個大于散列值的最小素數采用Euclid算法生成RSA算法的公鑰;
[0084]公鑰保存單元205,用于將生成的公鑰保存在數據庫中,數據庫存儲在管理系統(tǒng)的服務器上;
[0085]秘鑰生成單元206,用于根據管理系統(tǒng)隨機生成秘鑰;
[0086]秘鑰加密單元207,用于根據數據庫中的公鑰采用RSA算法對秘鑰進行加密生成秘鑰密文;
[0087]秘鑰密文保存單元208,用于將秘鑰密文保存到數據庫中;
[0088]數據加密單元209,用于根據秘鑰密文對用戶上傳的數據采用可逆算法進行加密;
[0089]數據保存單元210,用于將加密的數據保存在管理系統(tǒng)的服務器中;
[0090]私鑰生成單元211,用于根據獲取的三個大于散列值的最小素數采用Euclid算法生成RSA算法的私鑰;
[0091]秘鑰解密單元212,用于根據生成的私鑰采用RSA算法對數據庫中的秘鑰密文進行解密,獲得秘鑰;
[0092]數據解密單元213,用于根據解密后的秘鑰采用可逆算法對管理系統(tǒng)的服務器中的加密的數據進行解密,獲得解密的數據;
[0093]數據下載單元214,用于下載解密的數據。
[0094]其中,該裝置還包括下載權限授予單元(圖未示出),用于在維護數據的使用權限時,授予其他用戶下載權限,其他用戶根據授權的下載權限下載數據。
[0095]其中,公鑰生成單元204包括公鑰重建模塊(圖未示出),用于在修改用戶登錄錄管理系統(tǒng)的登錄密碼時,根據修改后的登錄密碼重新生成RSA算法的公鑰,并保存在數據庫中。
[0096]其中,秘鑰加密單元209還根據新生成的RSA算法的公鑰采用RSA算法重新對秘鑰進行加密生成秘鑰密文。
[0097]如上參照附圖以示例的方式描述了根據本發(fā)明提出的管理系統(tǒng)中加密數的方法及裝置。但是,本領域技術人員應當理解,對于上述本發(fā)明所提出的管理系統(tǒng)中加密數的方法及裝置,還可以在不脫離本
【發(fā)明內容】
的基礎上做出各種改進。因此,本發(fā)明的保護范圍應當由所附的權利要求書的內容確定。
【權利要求】
1.一種管理系統(tǒng)中加密、解密數據的方法,包括: 在用戶創(chuàng)建管理系統(tǒng)的登錄密碼后,對創(chuàng)建的所述登錄密碼采用MD5算法生成散列值;根據所述散列值的字符串長度將所述散列值均勻地截成三個字符串;分別對截成的三個字符串采用所述MD5算法生成三個散列值,根據生成的三個散列值分別獲取三個大于每個散列值的最小素數,根據所述最小素數采用Euclid算法生成RSA算法的公鑰,將所述生成的公鑰保存在數據庫中,所述數據庫存儲在所述管理系統(tǒng)的服務器上; 當所述用戶登錄管理系統(tǒng)上傳數據時,根據所述數據庫中的公鑰采用RSA算法對所述管理系統(tǒng)隨機生成的秘鑰進行加密生成秘鑰密文,將所述秘鑰密文保存在所述數據庫中,并根據所述秘鑰密文對用戶上傳的數據采用可逆算法進行加密,將加密的數據保存在所述管理系統(tǒng)的服務器中; 當所述用戶登錄所述管理系統(tǒng)下載加密的數據時,對所述用戶的登錄密碼采用MD5算法生成散列值;根據所述散列值的字符串長度將所述散列值均勻地截成三個字符串;分別對截成的三個字符串采用所述MD5算法生成三個散列值,根據生成的三個散列值分別獲取三個大于每個散列值的最小素數,根據所述最小素數采用Euclid算法生成RSA算法的私鑰;根據所述私鑰采用RSA算法對所述數據庫中的秘鑰密文進行解密,獲得所述秘鑰;根據所述解密后的秘鑰采用可逆算法對所述管理系統(tǒng)的服務器中的加密的數據進行解密;獲得解密的數據后下載所述數據。
2.如權利要求1所述的管理系統(tǒng)中加密、解密數據的方法,其中, 在用戶維護數據的使用權限時,所述用戶對其他用戶授予下載權限,其他用戶根據所述用戶授權的下載權限下載數據。
3.如權利要求1所述的管理系統(tǒng)中加密、解密數據的方法,其中, 在修改用戶登錄所述錄管理系統(tǒng)的登錄密碼時,根據修改后的登錄密碼重新生成RSA算法的公鑰,并保存在所述數據庫中。`
4.如權利要求3所述的管理系統(tǒng)中加密、解密數據的方法,其中, 根據新生成的RSA算法的公鑰采用RSA算法重新對所述秘鑰進行加密生成秘鑰密文。
5.一種管理系統(tǒng)中加密、解密數據的裝置,包括: 散列值生成單元,用于在用戶創(chuàng)建登錄管理系統(tǒng)的登錄密碼后,對創(chuàng)建的所述登錄密碼采用MD5算法生成散列值; 散列值截取單元,用于根據所述散列值的字符串長度將所述散列值均勻地截成三個字符串;其中,散列值生成單元分別對散列值截取單元截成的三個字符串采用MD5算法生成三個散列值; 最小素數獲取單元,用于根據生成的三個散列值分別獲取大于每個散列值的最小素數; 公鑰生成單元,用于根據所述最小素數采用Euclid算法生成RSA算法的公鑰; 公鑰保存單元,用于將所述生成的公鑰保存在數據庫中,所述數據庫存儲在所述管理系統(tǒng)的服務器上; 秘鑰生成單元,用于根據所述管理系統(tǒng)隨機生成秘鑰; 秘鑰加密單元,用于根據所述數據庫中的公鑰采用RSA算法對所述秘鑰進行加密生成秘鑰密文;秘鑰密文保存單元,用于將所述秘鑰密文保存到數據庫中; 數據加密單元,用于根據所述秘鑰密文對用戶上傳的數據采用可逆算法進行加密; 數據保存單元,用于將加密的數據保存在所述管理系統(tǒng)的服務器中; 私鑰生成單元,用于根據獲取的三個大于散列值的最小素數采用Euclid算法生成RSA算法的私鑰; 秘鑰解密單元,用于根據所述私鑰采用RSA算法對所述數據庫中的秘鑰密文進行解密,獲得所述秘鑰; 數據解密單元,用于根據所述解密后的秘鑰采用可逆算法對所述管理系統(tǒng)的服務器中的加密的數據進行解密,獲得解密的數據; 數據下載單元,用于下載解密的數據。
6.如權利要求5所述的管理系統(tǒng)中加密、解密數據的裝置,其中, 所述裝置還包括下載權限授予單元,用于在維護數據的使用權限時,授予其他用戶下載權限,其他用戶根據授權的下載權限下載數據。
7.如權利要求6所述的管理系統(tǒng)中加密、解密數據的裝置,其中, 所述公鑰生成單元包括公鑰重建模塊,用于在修改用戶登錄所述錄管理系統(tǒng)的登錄密碼時,根據修改后的登錄密碼重新生成RSA算法的公鑰,并保存在所述數據庫中。
8.如權利要求7所述的管理系統(tǒng)中加密、解密數據的裝置,其中, 所述秘鑰加密單元還根據新生成的RSA算法的公鑰采用RSA算法重新對所述秘鑰進行加密生成秘鑰密文。
【文檔編號】H04L9/30GK103684765SQ201310721922
【公開日】2014年3月26日 申請日期:2013年12月24日 優(yōu)先權日:2013年12月24日
【發(fā)明者】尚晶文, 張廣平, 宋永國 申請人:歌爾聲學股份有限公司