本發(fā)明涉及一種加密算法的加密方法,具體為一種基于DES加密算法的加密方法,屬于文件加密方法應(yīng)用技術(shù)領(lǐng)域。
背景技術(shù):
處在信息時代的今天,我們享受著網(wǎng)絡(luò)帶給我們的便利和快捷的同時,也同時面臨著巨大的威脅,特別是在電子商務(wù)大行其道的今天,數(shù)據(jù)安全問題顯得更加嚴(yán)峻,計算機(jī)保證數(shù)據(jù)在傳輸過程中的數(shù)據(jù)安全采用的辦法就是使用加密技術(shù)。
目前主要加密方法如下:
1)單向加密法;單向加密又叫非可逆加密,準(zhǔn)確的說他不是一種加密技術(shù),而是一種信息摘要技術(shù)。他是通過安全的單向散列函數(shù)作用于一段數(shù)據(jù)來提取該段數(shù)據(jù)的特征碼從而驗證數(shù)據(jù)的完整性。常用的信息摘要算法有MD5、SHA-1等。
2)對稱加密方法;對稱密鑰加密又被稱為私鑰加密,它使用同一組鑰匙對消息進(jìn)行加密和解密,因此消息的接收者和發(fā)送者必須擁有一組相同的密鑰。比如DES、3DES、AES等。
3)非對稱加密方法;非對稱密鑰加密又被稱為公開密鑰加密體制,其加密機(jī)制是,每個人擁有一對密鑰,一個稱為公開密鑰,另一個稱為秘密密鑰。這兩個密鑰是數(shù)學(xué)相關(guān)的,公開密鑰是公開信息,秘密密鑰由用戶自己保存。在這種體制中,加密和解密使用不同的密鑰,因此,發(fā)送者和接收者不再需要共享一個秘密,即在通信的全部過程中不需要傳送秘密密鑰。
而目前的加密方法存在很多不足之處,數(shù)據(jù)在網(wǎng)上傳遞的時候為了防止被別人篡改,發(fā)送方可以使用單項加密算法提取數(shù)據(jù)的特征碼,并將數(shù)據(jù)特征碼和數(shù)據(jù)本身一起發(fā)送給接收方,接收到接收到只需要將接收到的數(shù)據(jù)使用發(fā)送方相同的方法提取特征碼與發(fā)送方發(fā)送過來的特征碼進(jìn)行比較,一致就可說明數(shù)據(jù)完整。但是這里有個潛在的漏洞,如果有黑客截獲了這段完整的數(shù)據(jù),篡改數(shù)據(jù)的內(nèi)容,又重新計算生成特征碼,替換掉原有特征碼在發(fā)送過去,接收方就無從驗證真?zhèn)瘟耍粸榱藦浹a(bǔ)單向加密的漏洞,我們就需要對整段數(shù)據(jù)進(jìn)行加密了。由非對稱加密的原理我們可知其公鑰與私鑰之間是數(shù)學(xué)相關(guān)的,算法的復(fù)雜度要比對稱加密高出很多,因此相同硬件環(huán)境下的效率也會低很多。對于對稱加加密來說加密和解密的密鑰是相同的,如果整個通信過程中始終使用統(tǒng)一個密鑰,那么通信中的密文被破解的幾率就會很高,而一旦破解整個通信就再無安全性可言;單純的對稱加密和非對稱加密產(chǎn)生的密文可能含有特殊符號不適合網(wǎng)絡(luò)傳輸。因此,針對上述問題提出一種基于DES加密算法的加密方法。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的就在于為了解決上述問題而提供一種基于DES加密算法的加密方法。
本發(fā)明通過以下技術(shù)方案來實現(xiàn)上述目的,一種基于DES加密算法的加密方法,其加密方法采用服務(wù)端與客戶端共享密鑰集文件,實現(xiàn)通信過程中使用動態(tài)密鑰的對稱加密方法,具體步驟如下:
步驟A、建立密鑰集文件,密鑰集文件由三個互相垂直方向的X、Y、Z組成的長方體形的三維模型,X、Y為密鑰分布坐標(biāo),Z為一組密鑰,密鑰總數(shù)就等于X與Y的乘積;
步驟B、服務(wù)器端在步驟A中的X、Y有效值范圍內(nèi)隨機(jī)一個坐標(biāo),確定一組密鑰,并用該密鑰對要發(fā)送的原始數(shù)據(jù)進(jìn)行DES加密;
步驟C、將步驟B選取的X、Y分別值轉(zhuǎn)換為4位16進(jìn)制數(shù),與步驟B中的DES加密結(jié)果進(jìn)行組合;
步驟D、將步驟C組合結(jié)果進(jìn)行BASE64加密發(fā)送給客戶端;
步驟E、客戶端接收到步驟D發(fā)送的BASE64加密的數(shù)據(jù)后,進(jìn)行BASE64數(shù)據(jù)解密,然后根據(jù)XY坐標(biāo)值從密鑰集中獲取密鑰解析加密數(shù)據(jù)。
優(yōu)選的,步驟B中的DES加密數(shù)據(jù)長度為XHYHDATA,XH為X坐標(biāo)的16進(jìn)制值,YH為Y坐標(biāo)的16進(jìn)制值。
優(yōu)選的,步驟B中的加密流程如下:
1)、在三維模型里面的坐標(biāo)進(jìn)行隨機(jī)密鑰集坐標(biāo),取密鑰;
2)、對明文數(shù)據(jù)進(jìn)行DES加密處理,加密處理之后的數(shù)據(jù)組合密鑰坐標(biāo)與加密結(jié)果;
3)、對組合結(jié)果BASE64形成加密數(shù)據(jù)。
優(yōu)選的,步驟E中的解密流程如下:
1)、將加密流程加密的數(shù)據(jù)進(jìn)行BASE64解密處理,解析密鑰坐標(biāo)及des加密數(shù)據(jù)段;
2)、根據(jù)坐標(biāo)密鑰集獲取密鑰;
3)、使用獲取到的密鑰對數(shù)據(jù)des解密,獲得明文數(shù)據(jù)。
本發(fā)明的有益效果是:本發(fā)明相較于單項傳輸,增加了數(shù)據(jù)段加密;相較于單純的對稱加密,增加密鑰集,方便傳輸對DES加密結(jié)果進(jìn)行BASE64加密;對數(shù)據(jù)段進(jìn)行加密增加數(shù)據(jù)在網(wǎng)路中傳輸?shù)陌踩?,單純DES加密結(jié)果含有特殊符號不適合網(wǎng)絡(luò)傳輸,進(jìn)行base64可保證數(shù)據(jù)的完整性;DES被證明是可以破解的,明文+密鑰=密文,這個公式只要知道任何兩個,就可以推導(dǎo)出第三個;加入密鑰集之后,每個數(shù)據(jù)包的密鑰是從密鑰集隨機(jī)獲取的,黑客在每個時間段截獲的大量數(shù)據(jù)包是有不同的密鑰產(chǎn)生,相同的明文使用不同的密鑰生成的密文也各不相同,即使某一個數(shù)據(jù)包被破解,其他數(shù)據(jù)包的安全性也不會受到影響,破解難度大大增加;加密本質(zhì)上還是對稱加密,還是相較于非對稱加密復(fù)雜數(shù)學(xué)相關(guān),加密效率要高,即使相較于同為對稱加密的3DES等多次加密算法效率也要高;密鑰集擴(kuò)展性好,根據(jù)安全性要求的不同可以任意定義密鑰集的大??;傳輸中之傳輸密鑰坐標(biāo),既能保證密鑰的安全性,又能給密鑰集本身的更新升級帶來方便。
附圖說明
圖1為本發(fā)明的加解密流程圖;
圖2為本發(fā)明建立密鑰集文件三維模型圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1-2所示,一種基于DES加密算法的加密方法,其加密方法采用服務(wù)端與客戶端共享密鑰集文件,實現(xiàn)通信過程中使用動態(tài)密鑰的對稱加密方法,具體步驟如下:
步驟A、建立密鑰集文件,密鑰集文件由三個互相垂直方向的X、Y、Z組成的長方體形的三維模型,X、Y為密鑰分布坐標(biāo),Z為一組密鑰,密鑰總數(shù)就等于X與Y的乘積;
步驟B、服務(wù)器端在步驟A中的X、Y有效值范圍內(nèi)隨機(jī)一個坐標(biāo),確定一組密鑰,并用該密鑰對要發(fā)送的原始數(shù)據(jù)進(jìn)行DES加密;
步驟C、將步驟B選取的X、Y分別值轉(zhuǎn)換為4位16進(jìn)制數(shù),與步驟B中的DES加密結(jié)果進(jìn)行組合;
步驟D、將步驟C組合結(jié)果進(jìn)行BASE64加密發(fā)送給客戶端;
步驟E、客戶端接收到步驟D發(fā)送的BASE64加密的數(shù)據(jù)后,進(jìn)行BASE64數(shù)據(jù)解密,然后根據(jù)XY坐標(biāo)值從密鑰集中獲取密鑰解析加密數(shù)據(jù)。
本發(fā)明中,步驟B中的DES加密數(shù)據(jù)長度為XHYHDATA,XH為X坐標(biāo)的16進(jìn)制值,YH為Y坐標(biāo)的16進(jìn)制值。
其中,步驟B中的加密流程如下:
1)、在三維模型里面的坐標(biāo)進(jìn)行隨機(jī)密鑰集坐標(biāo),取密鑰;
2)、對明文數(shù)據(jù)進(jìn)行DES加密處理,加密處理之后的數(shù)據(jù)組合密鑰坐標(biāo)與加密結(jié)果;
3)、對組合結(jié)果BASE64形成加密數(shù)據(jù)。
其中,步驟E中的解密流程如下:
1)、將加密流程加密的數(shù)據(jù)進(jìn)行BASE64解密處理,解析密鑰坐標(biāo)及des加密數(shù)據(jù)段;
2)、根據(jù)坐標(biāo)密鑰集獲取密鑰;
3)、使用獲取到的密鑰對數(shù)據(jù)des解密,獲得明文數(shù)據(jù)。
實施例一:
步驟A、建立密鑰集文件,密鑰集文件由三個互相垂直方向的X、Y、Z組成的長方體形的三維模型,X、Y為密鑰分布坐標(biāo),Z為一組密鑰,密鑰總數(shù)就等于X與Y的乘積;取X=2,Y=4,密鑰總數(shù)為8;
步驟B、服務(wù)器端在步驟A中的2、4有效值范圍內(nèi)隨機(jī)一個坐標(biāo),確定一組密鑰3,6,并用該密鑰對要發(fā)送的原始數(shù)據(jù)進(jìn)行DES加密;
步驟C、將步驟B選取的2、4分別值轉(zhuǎn)換為4位16進(jìn)制數(shù),與步驟B中的DES加密結(jié)果進(jìn)行組合;
步驟D、將步驟C組合結(jié)果進(jìn)行BASE64加密發(fā)送給客戶端;
步驟E、客戶端接收到步驟D發(fā)送的BASE64加密的數(shù)據(jù)后,進(jìn)行BASE64數(shù)據(jù)解密,然后根據(jù)XY坐標(biāo)值從密鑰集中獲取密鑰解析加密數(shù)據(jù)。
其中,步驟B中的加密流程如下:
1)、在三維模型里面的坐標(biāo)進(jìn)行隨機(jī)密鑰集坐標(biāo),取密鑰,為3,6;
2)、對明文數(shù)據(jù)進(jìn)行DES加密處理,加密處理之后的數(shù)據(jù)組合密鑰坐標(biāo)與加密結(jié)果;
3)、對組合結(jié)果BASE64形成加密數(shù)據(jù)。
其中,步驟E中的解密流程如下:
1)、將加密流程加密的數(shù)據(jù)進(jìn)行BASE64解密處理,解析密鑰坐標(biāo)及des加密數(shù)據(jù)段;
2)、根據(jù)坐標(biāo)密鑰集獲取密鑰,3,6;
3)、使用獲取到密鑰3,6對數(shù)據(jù)des解密,獲得明文數(shù)據(jù)2,4。
實施例二:
步驟A、建立密鑰集文件,密鑰集文件由三個互相垂直方向的X、Y、Z組成的長方體形的三維模型,X、Y為密鑰分布坐標(biāo),Z為一組密鑰,密鑰總數(shù)就等于X與Y的乘積;取X=1,Y=4,密鑰總數(shù)為4;
步驟B、服務(wù)器端在步驟A中的1、4有效值范圍內(nèi)隨機(jī)一個坐標(biāo),確定一組密鑰2,3,并用該密鑰對要發(fā)送的原始數(shù)據(jù)進(jìn)行DES加密;
步驟C、將步驟B選取的、4分別值轉(zhuǎn)換為4位16進(jìn)制數(shù),與步驟B中的DES加密結(jié)果進(jìn)行組合;
步驟D、將步驟C組合結(jié)果進(jìn)行BASE64加密發(fā)送給客戶端;
步驟E、客戶端接收到步驟D發(fā)送的BASE64加密的數(shù)據(jù)后,進(jìn)行BASE64數(shù)據(jù)解密,然后根據(jù)XY坐標(biāo)值從密鑰集中獲取密鑰解析加密數(shù)據(jù)。
其中,步驟B中的加密流程如下:
1)、在三維模型里面的坐標(biāo)進(jìn)行隨機(jī)密鑰集坐標(biāo),取密鑰,為2,3;
2)、對明文數(shù)據(jù)進(jìn)行DES加密處理,加密處理之后的數(shù)據(jù)組合密鑰坐標(biāo)與加密結(jié)果;
3)、對組合結(jié)果BASE64形成加密數(shù)據(jù)。
其中,步驟E中的解密流程如下:
1)、將加密流程加密的數(shù)據(jù)進(jìn)行BASE64解密處理,解析密鑰坐標(biāo)及des加密數(shù)據(jù)段;
2)、根據(jù)坐標(biāo)密鑰集獲取密鑰,2,3;
3)、使用獲取到密鑰2,3對數(shù)據(jù)des解密,獲得明文數(shù)據(jù)1,4。
實施例一和實施例二就能快速通過密鑰加密和解密快速安全的找到加密文件。
本發(fā)明相較于單項傳輸,增加了數(shù)據(jù)段加密;相較于單純的對稱加密,增加密鑰集,方便傳輸對DES加密結(jié)果進(jìn)行BASE64加密;對數(shù)據(jù)段進(jìn)行加密增加數(shù)據(jù)在網(wǎng)路中傳輸?shù)陌踩?,單純DES加密結(jié)果含有特殊符號不適合網(wǎng)絡(luò)傳輸,進(jìn)行base64可保證數(shù)據(jù)的完整性;DES被證明是可以破解的,明文+密鑰=密文,這個公式只要知道任何兩個,就可以推導(dǎo)出第三個;加入密鑰集之后,每個數(shù)據(jù)包的密鑰是從密鑰集隨機(jī)獲取的,黑客在每個時間段截獲的大量數(shù)據(jù)包是有不同的密鑰產(chǎn)生,相同的明文使用不同的密鑰生成的密文也各不相同,即使某一個數(shù)據(jù)包被破解,其他數(shù)據(jù)包的安全性也不會受到影響,破解難度大大增加;加密本質(zhì)上還是對稱加密,還是相較于非對稱加密復(fù)雜數(shù)學(xué)相關(guān),加密效率要高,即使相較于同為對稱加密的3DES等多次加密算法效率也要高;密鑰集擴(kuò)展性好,根據(jù)安全性要求的不同可以任意定義密鑰集的大??;傳輸中之傳輸密鑰坐標(biāo),既能保證密鑰的安全性,又能給密鑰集本身的更新升級帶來方便。
對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本發(fā)明。因此,無論從哪一點(diǎn)來看,均應(yīng)將實施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。
此外,應(yīng)當(dāng)理解,雖然本說明書按照實施方式加以描述,但并非每個實施方式僅包含一個獨(dú)立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個整體,各實施例中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實施方式。