專利名稱:用于以太網(wǎng)數(shù)據(jù)的三重攪動方法
技術領域:
本發(fā)明涉及通信技術中的數(shù)據(jù)加密解密,尤其涉及用于以太網(wǎng)系統(tǒng)數(shù)據(jù)的加密方法。
背景技術:
隨著Internet的迅速發(fā)展和IPTV等新業(yè)務、新應用對寬帶接入網(wǎng)的接入寬帶提出了更高的要求,一些基于以太網(wǎng)的新的寬帶接入技術被提出,如以太網(wǎng)無源光網(wǎng)絡、點到點光纖以太網(wǎng)和點到點銅纜以太網(wǎng)等已經(jīng)被IEEE、ITU-T等組織標準化并迅速成熟。在這些基于以太網(wǎng)的系統(tǒng)中,存在數(shù)據(jù)安全性問題。尤其是在以太網(wǎng)無源光網(wǎng)絡(EPON)中,采用帶寬共享的點到多點的拓撲結(jié)構(gòu),每個光線路終端(OLT)通過光分配網(wǎng)絡連接多個光網(wǎng)絡單元(ONU),下行業(yè)務以廣播方式發(fā)送給所有ONU。因此,任何ONU都能接收到所有用戶的以太網(wǎng)數(shù)據(jù)幀,這就產(chǎn)生了數(shù)據(jù)安全性問題。在點到點以太網(wǎng)系統(tǒng)中也存在數(shù)據(jù)被竊取的可能性。
為了解決數(shù)據(jù)安全性問題,可以采用AES-128、攪動等方法對數(shù)據(jù)進行加密。AES-128等加密算法實現(xiàn)復雜,難度大。在寬帶無源光網(wǎng)絡(A/BPON,ITU-T G.983)系統(tǒng)中,采用攪動(Churning)方法進行下行數(shù)據(jù)加密。攪動方法的原理是打亂每個數(shù)據(jù)字節(jié)中比特的位置,因此實現(xiàn)比較簡單,技術成熟。
但是,當在以太網(wǎng)系統(tǒng)(如EPON、點到點以太網(wǎng)系統(tǒng))中采用攪動進行加密時,由于攪動的實現(xiàn)采用公開的標準,因此基于對以太網(wǎng)幀中特定字節(jié)的攪動圖案的分析,可以很容易地破譯出數(shù)據(jù)。惡意用戶可以通過檢測以太網(wǎng)幀中某些固定的字節(jié)而很容易破譯攪動加密數(shù)據(jù)。這些字節(jié)包括全為“0x00”的填充域、以太網(wǎng)類型域(EtherType)中表示承載IP包的“0x8000”、表示VLAN的“0x8100”、表示OAM幀的“0x8809”以及OAM幀中的子類型“0x03”、MAC地址(如表示組播地址的“0x01005e******”和表示以太網(wǎng)控制地址的“0x0180C2******”)以及IP幀頭的某些字段(如IP版本一般都是“0x04”、幀頭長度一般也都是固定的)。這使得惡意用戶可以在接收到幾個典型以太網(wǎng)幀以后就可以破譯其后的所有數(shù)據(jù)。根據(jù)分析,如果惡意用戶有足夠的專業(yè)知識,只需要1秒鐘就可以破譯攪動加密數(shù)據(jù)。因此,簡單的攪動機制不能達到所需要的安全性。
因此,需要一種改進的攪動加密方法,以便進一步提高數(shù)據(jù)的安全性。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術中的以上缺陷,針對點到多點的EPON系統(tǒng)、點到點的以太網(wǎng)系統(tǒng)等以太網(wǎng)系統(tǒng)中數(shù)據(jù)安全性,提供一種加密解密方法,以提高以太網(wǎng)數(shù)據(jù)的安全性。
根據(jù)本發(fā)明,在現(xiàn)有技術ITU-T G.983標準所規(guī)定的攪動方法的基礎上,提出一種三重攪動加密方法,通過增加攪動輸出數(shù)據(jù)間的時域關聯(lián)性,消除了現(xiàn)有單重攪動加密方法中存在的安全性不高、易于破譯的問題。
根據(jù)本發(fā)明的一個方面,提供了一種用于以太網(wǎng)數(shù)據(jù)的三重攪動加密方法,所述三重攪動加密方法對數(shù)據(jù)進行逐字節(jié)地加密,其中對數(shù)據(jù)中第N字節(jié)D_in[N]執(zhí)行以下步驟利用24比特的攪動密鑰K對輸入加密字節(jié)D_in[N]進行第一級攪動加密,其中N為自然數(shù);第一級攪動加密后的數(shù)據(jù)字節(jié)D_in[N]與i個字節(jié)前的三重攪動加密后的輸出數(shù)據(jù)字節(jié)D_out[N-i]以及前一個輸入加密字節(jié)D_in[N-1]異或,其中i為自然數(shù),i≥3,并且如果N≤i,則D_out[N-i]=00000000;對異或后的第一級攪動加密數(shù)據(jù)字節(jié)進行比特移位;將攪動密鑰K循環(huán)移位一個字節(jié),并利用循環(huán)移位一個字節(jié)后的攪動密鑰對比特移位后的異或第一級攪動加密數(shù)據(jù)字節(jié)進行第二級攪動加密;第二級攪動加密后的數(shù)據(jù)字節(jié)D_in[N]與i+1個字節(jié)前的三重攪動加密后的輸出數(shù)據(jù)字節(jié)D_out[N-i-1]以及兩個字節(jié)前的輸入加密字節(jié)D_in[N-2]異或,其中如果N≤i+1,則D_out[N-i-1]=00000000;對異或后的第二級攪動加密數(shù)據(jù)字節(jié)進行比特移位;將攪動密鑰K向相同方向循環(huán)移位兩個字節(jié),并利用循環(huán)移位兩個字節(jié)的攪動密鑰對比特移位后的異或第二級攪動加密數(shù)據(jù)字節(jié)進行第三級攪動加密,得到三重攪動加密后的數(shù)據(jù)字節(jié)D_out[N]。其中,如果當前攪動加密的數(shù)據(jù)字節(jié)D_in[N]為第一個加密字節(jié),則D_in[N-1]為所述攪動密鑰K的最低位字節(jié),D_in[N-2]為所述攪動密鑰K的第二低位字節(jié),如果當前攪動加密的數(shù)據(jù)字節(jié)D_in[N]為第二個加密字節(jié),則D_in[N-2]為所述攪動密鑰K的最低位字節(jié)。
優(yōu)選地,i=4。根據(jù)本發(fā)明的一個優(yōu)選實施例,對異或后的第一級攪動加密數(shù)據(jù)字節(jié)進行的比特移位和對異或后的第二級攪動加密數(shù)據(jù)字節(jié)進行的比特移位的規(guī)則相同。優(yōu)選地,攪動密鑰的循環(huán)移位操作為向右循環(huán)移位。
根據(jù)本發(fā)明另一方面,提供一種用于對以太網(wǎng)數(shù)據(jù)進行逐字節(jié)加密的裝置,所述加密裝置包括第一攪動加密單元,用于利用24比特的攪動密鑰K對輸入加密字節(jié)D_in[N]進行第一級攪動加密,其中N為自然數(shù);第一異或單元,用于將所述第一攪動加密單元的輸出與i個字節(jié)前的三重攪動加密后的輸出數(shù)據(jù)字節(jié)D_out[N-i]以及前一個輸入加密字節(jié)D_in[N-1]進行異或,其中i為自然數(shù),i≥3,并且如果N≤i,則D_out[N-i]=00000000;第一比特移位單元,用于對所述第一異或單元的輸出進行比特移位;第二攪動加密單元,用于利用第二攪動密鑰對所述第一比特移位單元的輸出進行第二級攪動加密,其中通過對所述攪動密鑰K循環(huán)移位一個字節(jié)而得到所述第二攪動密鑰;第二異或單元,用于將所述第二攪動加密單元的輸出與i+1個字節(jié)前的三重攪動加密后的輸出數(shù)據(jù)字節(jié)D_out[N-i-1]以及兩個字節(jié)前的輸入加密字節(jié)D_in[N-2]進行異或,其中如果N≤i+1,則D_out[N-i-1]=00000000;第二比特移位單元,用于對所述第二異或單元的輸出進行比特移位;第三攪動加密單元,用于利用第三攪動密鑰對所述第二比特移位單元的輸出進行第三級攪動加密,以輸出三重攪動加密后的數(shù)據(jù)字節(jié)D_out[N],其中通過在與所述第二攪動密鑰循環(huán)移位相同的方向上對所述攪動密鑰循環(huán)移位兩個字節(jié),而得到所述第三攪動密鑰;其中,如果當前攪動加密的數(shù)據(jù)字節(jié)D_in[N]為第一個加密字節(jié),則D_in[N-1]為攪動密鑰的最低位字節(jié),D_in[N-2]為所述攪動密鑰的第二低位字節(jié),如果當前攪動加密的數(shù)據(jù)字節(jié)D_in[N]為第二個加密字節(jié),則D_in[N-2]為所述攪動密鑰的最低位字節(jié)。
根據(jù)本發(fā)明的再一方面,提供一種用于以太網(wǎng)數(shù)據(jù)的三重解攪動解密方法,所述三重解攪動解密方法對數(shù)據(jù)進行逐字節(jié)地解密,其中對三重攪動加密數(shù)據(jù)中第N字節(jié)D_in[N]執(zhí)行以下步驟將24比特的解攪動密鑰K循環(huán)移位兩個字節(jié);用循環(huán)移位兩個字節(jié)后的解攪動密鑰對輸入解密字節(jié)D_in[N]進行第一級解攪動解密,其中N為自然數(shù);對第一級解攪動解密后的數(shù)據(jù)字節(jié)進行比特移位;將比特移位后的第一級解攪動解密數(shù)據(jù)字節(jié)與i+1個字節(jié)前的輸入解密字節(jié)D_in[N-i-1]以及兩個字節(jié)前的三重解攪動解密后的輸出數(shù)據(jù)字節(jié)D_out[N-2]異或,其中i為自然數(shù),i≥3,并且如果N≤i+1,則D_out[N-i-1]=00000000;將所述解攪動密鑰K向相同方向循環(huán)移位一個字節(jié),并利用循環(huán)移位一個字節(jié)后的解攪動密鑰對異或后的數(shù)據(jù)字節(jié)進行第二級解攪動解密;對第二級解攪動解密后的數(shù)據(jù)字節(jié)進行比特移位;將比特移位后的第二級解攪動解密數(shù)據(jù)字節(jié)與i個字節(jié)前的輸入解密字節(jié)D_in[N-i]以及一個字節(jié)前的三重解攪動解密后的輸出字節(jié)D_out[N-1]異或,其中如果N≤i,則D_out[N-i]=00000000;利用所述解攪動密鑰K對異或后的數(shù)據(jù)字節(jié)進行第三級解攪動解密,得到三重解攪動解密后的輸出字節(jié)D_out[N];其中,如果當前解攪動解密的數(shù)據(jù)字節(jié)D_in[N]為第一個解密字節(jié),則D_out[N-1]為所述解攪動密鑰K的最低位字節(jié),D_out[N-2]為所述解攪動密鑰K的第二低位字節(jié),如果當前解攪動解密的數(shù)據(jù)字節(jié)D_in[N]為第二個解密字節(jié),則D_out[N-2]為所述解攪動密鑰K的最低位字節(jié)。
根據(jù)本發(fā)明的另一方面,提供一種用于對三重攪動加密的以太網(wǎng)數(shù)據(jù)進行逐字節(jié)解密的裝置,所述解密裝置包括第一解攪動解密單元,用于利用第一解攪動密鑰對輸入解密字節(jié)D_in[N]進行第一級解攪動解密,其中N為自然數(shù),通過對24比特的解攪動密鑰K循環(huán)移位兩個字節(jié)而得到所述第一解攪動密鑰;第一比特移位單元,用于對所述第一解攪動解密單元的輸出進行比特移位;第一異或單元,用于將所述第一比特移位單元的輸出與i+1個字節(jié)前的輸入解密字節(jié)D_in[N-i-1]以及兩個字節(jié)前的三重解攪動解密后的輸出數(shù)據(jù)字節(jié)D_out[N-2]進行異或,其中i為自然數(shù),i≥3,并且如果N≤i+1,則D_out[N-i-1]=00000000;第二解攪動解密單元,用于利用第二解攪動密鑰對所述第一異或單元的輸出進行第二級解攪動解密,其中通過在與所述第一解攪動密鑰循環(huán)移位相同的方向上對所述解攪動密鑰K循環(huán)移位一個字節(jié)而得到所述第二解攪動密鑰;第二比特移位單元,用于對所述第二解攪動解密單元的輸出進行比特移位;第二異或單元,用于將所述第二比特移位單元的輸出與i個字節(jié)前的輸入解密字節(jié)D_in[N-i]以及一個字節(jié)前的三重解攪動解密后的輸出數(shù)據(jù)字節(jié)D_out[N-1]進行異或,其中如果N≤i,則D_out[N-i]=00000000;第三解攪動解密單元,用于利用所述解攪動密鑰K對所述第二異或單元的輸出進行第三級解攪動解密,以輸出三重解攪動解密后的數(shù)據(jù)字節(jié)D_out[N];其中,如果當前解攪動解密的數(shù)據(jù)字節(jié)D_in[N]為第一個解密字節(jié),則D_out[N-1]為所述解攪動密鑰K的最低位字節(jié),D_out[N-2]為所述解攪動密鑰K的第二低位字節(jié),如果當前解攪動解密的數(shù)據(jù)字節(jié)D_in[N]為第二個解密字節(jié),則D_out[N-2]為所述解攪動密鑰K的最低位字節(jié)。
以下結(jié)合附圖詳細介紹本發(fā)明,其中
圖1表示根據(jù)本發(fā)明的三重攪動加密方法的一種優(yōu)選實施方式;圖2表示根據(jù)本發(fā)明的三重攪動加密方法的數(shù)據(jù)輸入輸出關系;
圖3表示根據(jù)本發(fā)明的解三重攪動解密方法的一種優(yōu)選實施方式。
具體實施例方式
以下參照附圖對本發(fā)明的實施例進行更詳細的描述。
圖1表示了根據(jù)本發(fā)明的三重攪動加密方法的一個優(yōu)選實施例。根據(jù)本發(fā)明的方法采用三次攪動級聯(lián)的方式,使用三個級聯(lián)的攪動器,其中每個攪動器所執(zhí)行的操作與現(xiàn)有技術中單重攪動的操作相同,因此對于單重攪動的操作在這里省略,不再贅述。這三個攪動器所使用的攪動密鑰不相同,其中第一級攪動器所使用的攪動密鑰為原始的24比特攪動密鑰(X1-X8,P1-P16),第二級攪動器所使用的攪動密鑰為第一級攪動密鑰循環(huán)移位一個字節(jié)后所獲得的(向右P9-P16,X1-X8,P1-P8或者向左P1-P16,X1-X8),而第三級攪動器所使用的攪動密鑰為第一級攪動密鑰向與第二級密鑰循環(huán)移位相同的方向循環(huán)移位兩個字節(jié)所得到的(向右P1-P16,X1-X8或者向左P9-P16,X1-X8,P1-P8)。
如圖1所示,要進行三重攪動加密的數(shù)據(jù)的第N個字節(jié)Data_in[N]被輸入到第一級攪動器,其中利用第一級攪動密鑰K(X1-X8,P1-P16)對其進行攪動加密,所進行的攪動加密操作為現(xiàn)有技術中的單重攪動操作。被第一級攪動器進行攪動加密后的輸出與兩個8位矢量進行逐比特的異或運算(XOR),其中第一個矢量是前一個輸入加密字節(jié)Data_in[N-1],并且如果當前進行加密的字節(jié)為第一個輸入加密字節(jié),則這個第一個矢量為第一級攪動密鑰的最低字節(jié)(P9-P16);第二個矢量是i個字節(jié)前的三重攪動后的數(shù)據(jù)輸出Data_out[N-i],其中i≥3,并且如果當前進行加密的字節(jié)為前i個加密字節(jié),即N≤i,則用“00000000”代替Data_out[N-i]。優(yōu)選地,i=4。
異或后的輸出首先被比特移位,然后被輸入到第二級攪動器中。在第二級攪動器中,攪動密鑰是通過第一級攪動密鑰循環(huán)移位一個字節(jié)后所得到的。如圖1所示,優(yōu)選地,對第一攪動密鑰向右循環(huán)移位一個字節(jié),即第二級攪動密鑰K’為(P9-P16,X1-8,P1-8)。在第二級攪動器中,對所輸入的字節(jié)進行攪動加密。隨后,第二級攪動器的輸出也被輸入到異或器中,使其與另外兩個8位矢量進行逐比特的異或運算,其中第一個矢量是兩個字節(jié)前的輸入加密字節(jié),即Data_in[N-2],并且如果當前所加密的字節(jié)為第一個輸入加密字節(jié),則這個矢量為原始攪動密鑰(即第一級攪動密鑰)的第二低位字節(jié),即P1-P8,而如果當前所加密的字節(jié)為第二個輸入加密字節(jié),則這個矢量為原始攪動密鑰的最低位字節(jié),即P9-P16;第二個矢量是i+1個字節(jié)前的三重攪動加密后的數(shù)據(jù)輸出,即Data_out[N-i-1],并且如果當前進行加密的字節(jié)為前i+1個加密字節(jié),即N≤i+1,則用“00000000”代替Data_out[N-i-1]。
隨后,所得到的字節(jié)被比特移位。如圖所示,優(yōu)選地,這次比特移位的規(guī)則與先前的比特移位規(guī)則相同。根據(jù)本發(fā)明的一個優(yōu)選實施例,所進行的比特移位為比特2、4交換,比特3、5交換,比特0、1、6、7不變,如圖所示。
比特移位后所得到的字節(jié)被輸入到第三攪動器中進行第三級攪動加密,其中第三級攪動加密的攪動密鑰為原始攪動密鑰在與第二級攪動密鑰循環(huán)移位相同的方向上循環(huán)移位兩個字節(jié)而得到的。優(yōu)選地,根據(jù)圖示實施例,第三級攪動密鑰K”為(P1-P16,X1-X8)。最后,第三級攪動器輸出三重攪動加密后的輸出字節(jié)Data_out[N],三重攪動加密處理結(jié)束。
圖2示意性地表示了根據(jù)本發(fā)明的三重攪動加密方案的數(shù)據(jù)輸入與輸出之間的關系。如圖3所示,通過根據(jù)本發(fā)明的三重攪動加密方法,由第N、N-1、N-2個輸入加密字節(jié)以及第N-i、N-i-1個三重攪動加密后的輸出字節(jié)求得第N個字節(jié)的三重攪動加密后的輸出字節(jié)。
根據(jù)本發(fā)明的三重攪動加密方案,通過級聯(lián)三個單重攪動,從而增強了加密復雜性,提高了安全性。同時,通過在對第N個字節(jié)進行加密時,使用前一個和兩個字節(jié)前的輸入加密字節(jié)(即Data_in[N-1],Data_in[N-2])以及i個字節(jié)和i+1個字節(jié)前三重攪動加密后的輸出字節(jié)(即Data_out[N-i],Data_out[N-i-1]),從而使當前攪動加密輸出與先前攪動輸入和輸出相關聯(lián),增加了攪動輸出數(shù)據(jù)間的時域關聯(lián)性。因此,根據(jù)本發(fā)明的三重攪動加密方法消除了現(xiàn)有單重攪動加密方法所存在的安全性不高、易于破譯的問題,可以大幅度提高數(shù)據(jù)加密的安全性,從而降低密鑰交換的頻率。根據(jù)本發(fā)明的方法具有協(xié)議簡單、技術可靠、安全性高、開銷小、可擴展性強等優(yōu)點。
圖3中表示了根據(jù)本發(fā)明的三重解攪動解密方法的一個優(yōu)選實施例的示意圖,其為三重攪動加密方法的簡單鏡像。其中,輸入的三重攪動加密后的字節(jié)首先被輸入第一解攪動器中,其解攪動密鑰對應于三重攪動加密中第三級攪動加密器的攪動加密密鑰K”(其優(yōu)選為P1-P16,X1-X8),然后對輸出進行比特移位,比特移位規(guī)則與加密時第三級攪動加密前所進行的比特移位規(guī)則相對。隨后,將輸出與加密時進行第二次異或中的兩個矢量進行異或運算,所得到的輸出被輸入第二級解攪動器中進行解攪動解密,其中的解攪動密鑰對應于加密中第二級攪動加密密鑰K’(其優(yōu)選為P9-P16,X1-X8,P1-P9)。然后,對輸出進行與加密過程中第二級攪動器之前所進行的比特移位相對的比特移位,并將其與加密過程中第一次異或運算中的兩個矢量進行異或運算,所得到的輸出被輸入到第三級解攪動器中進行解攪動解密,其中的解攪動密鑰對應于加密過程中第一級攪動加密密鑰K,即原始攪動密鑰(X1-X8,P1-P16)。第三級解攪動器輸出三重解攪動解密后的輸出字節(jié)。
在根據(jù)本發(fā)明的三重攪動加密方法和三重解攪動解密方法中,每級攪動器或解攪動器所實現(xiàn)的攪動操作或解攪動操作完全與現(xiàn)有技術中的相同,即完全與G.983中規(guī)定的相同。
對于以太網(wǎng)幀而言,三重攪動加密的范圍為目前的MAC地址(DA)到幀校驗(FCS)字段。
本發(fā)明通過使當前攪動加密字節(jié)攪動加密后的輸出與先前的攪動加密輸入和輸出字節(jié)相關聯(lián),并通過將攪動密鑰循環(huán)移位以用作三級攪動器的攪動密鑰,使單重攪動加密中容易重復出現(xiàn)的某些圖案在三重攪動加密情況下無法被探測到,從而引入更大的攪動輸出隨機性,使得破譯難度大大增加。
采用根據(jù)本發(fā)明的三重攪動加密方法以后,由于增加了攪動輸出數(shù)據(jù)之間的關聯(lián)性,使得基于特征字節(jié)進行破譯的難度大大增加。在典型速率為1Gbps的EPON系統(tǒng)中,破譯三重攪動加密數(shù)據(jù)的最短時間也需要10秒種以上,因此密鑰的更換周期可以延長到10秒(現(xiàn)有技術中,G.983規(guī)定的密鑰周期為1秒),進而大大降低密鑰更換所導致的OAM消息開銷。根據(jù)本發(fā)明的三重攪動加密的實現(xiàn)復雜度為現(xiàn)有技術中單重攪動加密的3倍,但是破譯難度提高224以上,可以顯著地提高以太網(wǎng)的數(shù)據(jù)安全性。
權利要求
1.一種用于以太網(wǎng)數(shù)據(jù)的三重攪動加密方法,所述三重攪動加密方法對數(shù)據(jù)進行逐字節(jié)地加密,其中對數(shù)據(jù)中第N字節(jié)D_in[N]執(zhí)行以下步驟利用24比特的攪動密鑰K對輸入加密字節(jié)D_in[N]進行第一級攪動加密,其中N為自然數(shù);第一級攪動加密后的數(shù)據(jù)字節(jié)D_in[N]與i個字節(jié)前的三重攪動加密后的輸出數(shù)據(jù)字節(jié)D_out[N-i]以及前一個輸入加密字節(jié)D_in[N-1]異或,其中i為自然數(shù),i≥3,并且如果N≤i,則D_out[N-i]=00000000;對異或后的第一級攪動加密數(shù)據(jù)字節(jié)進行比特移位;將所述攪動密鑰K循環(huán)移位一個字節(jié),并利用循環(huán)移位一個字節(jié)后的攪動密鑰對比特移位后的異或第一級攪動加密數(shù)據(jù)字節(jié)進行第二級攪動加密;第二級攪動加密后的數(shù)據(jù)字節(jié)D_in[N]與i+1個字節(jié)前的三重攪動加密后的輸出數(shù)據(jù)字節(jié)D_out[N-i-1]以及兩個字節(jié)前的輸入加密字節(jié)D_in[N-2]異或,其中如果N≤i+1,則D_out[N-i-1]=00000000;對異或后的第二級攪動加密數(shù)據(jù)字節(jié)進行比特移位;將所述攪動密鑰K向相同方向循環(huán)移位兩個字節(jié),并利用循環(huán)移位兩個字節(jié)的攪動密鑰對比特移位后的異或第二級攪動加密數(shù)據(jù)字節(jié)進行第三級攪動加密,得到三重攪動加密后的輸出數(shù)據(jù)字節(jié)D_out[N];其中,如果當前攪動加密的數(shù)據(jù)字節(jié)D_in[N]為第一個加密字節(jié),則D_in[N-1]為所述攪動密鑰K的最低位字節(jié),D_in[N-2]為所述攪動密鑰K的第二低位字節(jié),如果當前攪動加密的數(shù)據(jù)字節(jié)D_in[N]為第二個加密字節(jié),則D_in[N-2]為所述攪動密鑰K的最低位字節(jié)。
2.根據(jù)權利要求1的方法,其特征在于,i=4。
3.根據(jù)權利要求1或2的方法,其中所述對異或后的第一級攪動加密數(shù)據(jù)字節(jié)進行的比特移位和對異或后的第二級攪動加密數(shù)據(jù)字節(jié)進行的比特移位的規(guī)則相同。
4.根據(jù)權利要求3的方法,其中所述比特移位的規(guī)則為比特2、4交換,比特3、5交換,比特0、1、6、7不變。
5.根據(jù)權利要求1或2的方法,其中所述對攪動密鑰K所執(zhí)行的循環(huán)移位操作為向右循環(huán)移位。
6.一種用于對以太網(wǎng)數(shù)據(jù)進行逐字節(jié)加密的裝置,所述加密裝置包括第一攪動加密單元,用于利用24比特的攪動密鑰K對輸入加密字節(jié)D_in[N]進行第一級攪動加密,其中N為自然數(shù);第一異或單元,用于將所述第一攪動加密單元的輸出與i個字節(jié)前的三重攪動加密后的輸出數(shù)據(jù)字節(jié)D_out[N-i]以及前一個輸入加密字節(jié)D_in[N-1]進行異或,其中i為自然數(shù),i≥3,并且如果N≤i,則D_out[N-i]=00000000;第一比特移位單元,用于對所述第一異或單元的輸出進行比特移位;第二攪動加密單元,用于利用第二攪動密鑰對所述第一比特移位單元的輸出進行第二級攪動加密,其中通過對所述攪動密鑰K循環(huán)移位一個字節(jié)而得到所述第二攪動密鑰;第二異或單元,用于將所述第二攪動加密單元的輸出與i+1個字節(jié)前的三重攪動加密后的輸出數(shù)據(jù)字節(jié)D_out[N-i-1]以及兩個字節(jié)前的輸入加密字節(jié)D_in[N-2]進行異或,其中如果N≤i+1,則D_out[N-i-1]=00000000;第二比特移位單元,用于對所述第二異或單元的輸出進行比特移位;第三攪動加密單元,用于利用第三攪動密鑰對所述第二比特移位單元的輸出進行第三級攪動加密,以輸出三重攪動加密后的數(shù)據(jù)字節(jié)D_out[N],其中通過在與所述第二攪動密鑰循環(huán)移位相同的方向上對所述攪動密鑰循環(huán)移位兩個字節(jié),而得到所述第三攪動密鑰;其中,如果當前攪動加密的數(shù)據(jù)字節(jié)D_in[N]為第一個加密字節(jié),則D_in[N-1]為所述攪動密鑰K的最低位字節(jié),D_in[N-2]為所述攪動密鑰K的第二低位字節(jié),如果當前攪動加密的數(shù)據(jù)字節(jié)D_in[N]為第二個加密字節(jié),則D_in[N-2]為所述攪動密鑰K的最低位字節(jié)。
7.根據(jù)權利要求6的方法,其特征在于,i=4。
8.根據(jù)權利要求6或7的方法,其中所述第一比特移位單元與第二比特移位單元相同。
9.根據(jù)權利要求8的方法,其中所述第一比特移位單元和第二比特移位單元的移位規(guī)則為比特2、4交換,比特3、5交換,比特0、1、6、7不變。
10.根據(jù)權利要求6或7的方法,其中通過對所述攪動密鑰K向右循環(huán)移位以獲得所述第二和第三攪動密鑰。
11.一種用于以太網(wǎng)數(shù)據(jù)的三重解攪動解密方法,所述三重解攪動解密方法對數(shù)據(jù)進行逐字節(jié)地解密,其中對三重攪動加密數(shù)據(jù)中第N字節(jié)D_in[N]執(zhí)行以下步驟將24比特的解攪動密鑰K循環(huán)移位兩個字節(jié);用循環(huán)移位兩個字節(jié)后的解攪動密鑰對輸入解密字節(jié)D_in[N]進行第一級解攪動解密,其中N為自然數(shù);對第一級解攪動解密后的數(shù)據(jù)字節(jié)進行比特移位;將比特移位后的第一級解攪動解密數(shù)據(jù)字節(jié)與i+1個字節(jié)前的輸入解密字節(jié)D_in[N-i-1]以及兩個字節(jié)前的三重解攪動解密后的輸出數(shù)據(jù)字節(jié)D_out[N-2]異或,其中i為自然數(shù),i≥3,并且如果N≤i+1,則D_out[N-i-1]=00000000;將所述解攪動密鑰K向相同方向循環(huán)移位一個字節(jié),并利用循環(huán)移位一個字節(jié)后的解攪動密鑰對異或后的數(shù)據(jù)字節(jié)進行第二級解攪動解密;對第二級解攪動解密后的數(shù)據(jù)字節(jié)進行比特移位;將比特移位后的第二級解攪動解密數(shù)據(jù)字節(jié)與i個字節(jié)前的輸入解密字節(jié)D_in[N-i]以及一個字節(jié)前的三重解攪動解密后的輸出字節(jié)D_out[N-1]異或,其中如果N≤i,則D_out[N-i]=00000000;利用所述解攪動密鑰K對異或后的數(shù)據(jù)字節(jié)進行第三級解攪動解密,得到三重解攪動解密后的輸出字節(jié)D_out[N];其中,如果當前解攪動解密的數(shù)據(jù)字節(jié)D_in[N]為第一個解密字節(jié),則D_out[N-1]為所述解攪動密鑰K的最低位字節(jié),D_out[N-2]為所述解攪動密鑰K的第二低位字節(jié),如果當前解攪動解密的數(shù)據(jù)字節(jié)D_in[N]為第二個解密字節(jié),則D_out[N-2]為所述解攪動密鑰K的最低位字節(jié)。
12.根據(jù)權利要求11的方法,其特征在于,i=4。
13.根據(jù)權利要求11或12的方法,其中所述對第一級解攪動解密后的數(shù)據(jù)字節(jié)進行的比特移位和對第二級解攪動解密后的數(shù)據(jù)字節(jié)進行的比特移位的規(guī)則相同。
14.根據(jù)權利要求13的方法,其中所述比特移位的規(guī)則為比特2、4交換,比特3、5交換,比特0、1、6、7不變。
15.根據(jù)權利要求11或12的方法,其中所述對解攪動密鑰K所執(zhí)行的循環(huán)移位操作為向右循環(huán)移位。
16.一種用于對三重攪動加密的以太網(wǎng)數(shù)據(jù)進行逐字節(jié)解密的裝置,所述解密裝置包括第一解攪動解密單元,用于利用第一解攪動密鑰對輸入解密字節(jié)D_in[N]進行第一級解攪動解密,其中N為自然數(shù),通過對24比特的解攪動密鑰K循環(huán)移位兩個字節(jié)而得到所述第一解攪動密鑰;第一比特移位單元,用于對所述第一解攪動解密單元的輸出進行比特移位;第一異或單元,用于將所述第一比特移位單元的輸出與i+1個字節(jié)前的輸入解密字節(jié)D_in[N-i-1]以及兩個字節(jié)前的三重解攪動解密后的輸出數(shù)據(jù)字節(jié)D_out[N-2]進行異或,其中i為自然數(shù),i≥3,并且如果N≤i+1,則D_out[N-i-1]=00000000;第二解攪動解密單元,用于利用第二解攪動密鑰對所述第一異或單元的輸出進行第二級解攪動解密,其中通過在與所述第一解攪動密鑰循環(huán)移位相同的方向上對所述解攪動密鑰K循環(huán)移位一個字節(jié)而得到所述第二解攪動密鑰;第二比特移位單元,用于對所述第二解攪動解密單元的輸出進行比特移位;第二異或單元,用于將所述第二比特移位單元的輸出與i個字節(jié)前的輸入解密字節(jié)D_in[N-i]以及一個字節(jié)前的三重解攪動解密后的輸出數(shù)據(jù)字節(jié)D_out[N-1]進行異或,其中如果N≤i,則D_out[N-i]=00000000;第三解攪動解密單元,用于利用所述解攪動密鑰K對所述第二異或單元的輸出進行第三級解攪動解密,以輸出三重解攪動解密后的數(shù)據(jù)字節(jié)D_out[N];其中,如果當前解攪動解密的數(shù)據(jù)字節(jié)D_in[N]為第一個解密字節(jié),則D_out[N-1]為所述解攪動密鑰K的最低位字節(jié),D_out[N-2]為所述解攪動密鑰K的第二低位字節(jié),如果當前解攪動解密的數(shù)據(jù)字節(jié)D_in[N]為第二個解密字節(jié),則D_out[N-2]為所述解攪動密鑰K的最低位字節(jié)。
17.根據(jù)權利要求16的方法,其特征在于,i=4。
18.根據(jù)權利要求16或17的方法,其中所述第一比特移位單元與第二比特移位單元相同。
19.根據(jù)權利要求18的方法,其中所述第一比特移位單元和第二比特移位單元的移位規(guī)則為比特2、4交換,比特3、5交換,比特0、1、6、7不變。
20.根據(jù)權利要求16或17的方法,其中通過對所述解攪動密鑰K向右循環(huán)移位以獲得所述第一和第二解攪動密鑰。
全文摘要
本發(fā)明提供一種三重攪動加密方法。本發(fā)明使用三次級聯(lián)的攪動加密來對輸入字節(jié)進行加密,并且在對字節(jié)加密時,引入前面的輸入加密字節(jié)和先前的三重攪動加密后的輸出字節(jié),以增加攪動加密后數(shù)據(jù)的時域關聯(lián)性。因此,本發(fā)明的三重攪動加密方法提高了現(xiàn)有技術中單重攪動加密的安全性。
文檔編號H04L9/28GK1897521SQ20061008875
公開日2007年1月17日 申請日期2006年6月5日 優(yōu)先權日2006年6月5日
發(fā)明者沈成彬, 余景文, 王作強, 王波 申請人:中國電信股份有限公司