專利名稱:用于密碼加密處理數(shù)據(jù)的方法和設備的制作方法
技術領域:
本發(fā)明涉及密碼學和密碼體制。本發(fā)明尤其涉及一種用于密碼加密處理包括多個數(shù)據(jù)段的數(shù)據(jù)的方法和設備。
背景技術:
目前在各個領域中使用多種加密方法和密碼體制(cryptosystem)。例如,存在對稱密碼體制和非對稱密碼體制。對稱密碼學,也被稱為秘密密鑰密碼學,使用單個密鑰(秘密密鑰)來加密并解密信息。非對稱密碼學,也被稱為公開密鑰密碼學,使用一對密鑰一個(公鑰)來加密數(shù)據(jù),并且使用另一個(私鑰)來解密數(shù)據(jù)。當前可用的加密算法例如包括數(shù)據(jù)加密標準(Data Encryption Standard,DES),這是使用具有單個56位密鑰的分組密碼的對稱算法;三重DES,這是使用168位密鑰的DES的安全形式;國際數(shù)據(jù)加密算法(International DataEncryption Algorithm,IDEA),這是使用128位密鑰的塊模式秘密密鑰加密算法;RC4,這是廣泛使用的對稱密鑰算法;高級加密標準(Advanced Encryption Standard,AES),它利用128位、192位或256位的三種候選密鑰長度提供了更強的加密方案,等等。
許多公司采用對稱密碼體制來進行安全通信,使用具有固定秘密密鑰的預定加密算法,諸如三重DES或AES。隨著基于計算機的技術的持續(xù)發(fā)展,原來看來牢不可破的安全方法已變得難以勝任了,例如已不再認為56位密鑰大小的DES能夠防范蠻力攻擊。長期使用相同的加密算法和相同的秘密密鑰進行通信可能會增加密碼體制被蠻力攻擊的風險。然而,通常在已實現(xiàn)的密碼體制中更換一次加密算法和/或秘密密鑰成本非常昂貴,這是因為它要求在使用所述密碼體制的所有實體之間由信使等親自進行某種形式的密鑰交換,并且在所述實體之間也必須同步所述算法中的任何變化。固定算法/密鑰密碼體制與其它利用不同的加密算法和/或不同的秘密密鑰的密碼體制也缺乏兼容性。
據(jù)此,希望提供一種用于實現(xiàn)安全通信和事務的密碼體制,它不太容易被蠻力及其它攻擊所破壞并且還具有很高的靈活性和兼容性。
發(fā)明內(nèi)容
一種方法和設備密碼加密處理包括多個數(shù)據(jù)段的數(shù)據(jù)。密碼加密處理包括(a)接收多個數(shù)據(jù)段,(b)為每個數(shù)據(jù)段根據(jù)待加密的該數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來選擇加密信息集,和(c)對每個數(shù)據(jù)段使用為該數(shù)據(jù)段選擇的加密信息集來進行加密。可以根據(jù)在預定部分中所包含的數(shù)據(jù)為每個數(shù)據(jù)段改變加密算法、加密密鑰和加密參數(shù)中的至少一個。預定部分可以包括用于選擇第一加密信息集的第一預定部分和用于選擇第二加密信息集的第二預定部分,加密信息包括加密算法、加密密鑰以及可選地還有加密參數(shù)。
依照本發(fā)明的一個方面,一種用于加密數(shù)據(jù)的方法包括(a)接收多個數(shù)據(jù)段,(b1)根據(jù)在所述數(shù)據(jù)段的第一預定部分中所包含的數(shù)據(jù)來為每個分組選擇第一加密信息集,(b2)根據(jù)在所述數(shù)據(jù)段的第二預定部分中所包含的數(shù)據(jù)來為每個分組選擇第二加密信息集,(c1)對每個數(shù)據(jù)段的第二預定部分使用為該數(shù)據(jù)段所選擇的第一加密信息集來加密,(c2)對每個數(shù)據(jù)段的其余部分使用為該數(shù)據(jù)段所選擇的第二加密信息來加密,并且(d)為每個原始數(shù)據(jù)段產(chǎn)生加密數(shù)據(jù)段,所述加密數(shù)據(jù)段具有第一預定部分、第二預定部分和其余部分,所述第一預定部分包含在原始數(shù)據(jù)段的相應第一預定部分中的原始數(shù)據(jù),所述第二預定部分包含所述原始數(shù)據(jù)段的相應第二預定部分的加密數(shù)據(jù),并且所述其余部分包含所述原始數(shù)據(jù)段的相應其余部分的加密數(shù)據(jù)。
依照本發(fā)明的一個方面,一種用于解密數(shù)據(jù)的方法包括(a)接收包括多個加密數(shù)據(jù)段的加密數(shù)據(jù),每個加密數(shù)據(jù)段具有第一預定部分、第二預定部分和其余部分,所述第一預定部分包含在原始數(shù)據(jù)段的相應第一預定部分中的原始數(shù)據(jù),所述第二預定部分包含所述原始數(shù)據(jù)段的相應第二預定部分的加密數(shù)據(jù),并且所述其余部分包含所述原始數(shù)據(jù)段的相應其余部分的加密數(shù)據(jù),(b1)為每個加密數(shù)據(jù)段根據(jù)在該加密數(shù)據(jù)段的第一預定部分中所包含的原始數(shù)據(jù)來選擇第一加密信息集,(c1)對每個加密數(shù)據(jù)段的第二預定部分中包含的加密數(shù)據(jù)使用為該加密數(shù)據(jù)段所選擇的第一加密信息集來解密,(b2)為每個加密數(shù)據(jù)段根據(jù)第二預定部分的解密數(shù)據(jù)來選擇第二加密信息集,(c2)對每個加密數(shù)據(jù)段的其余部分使用為該加密數(shù)據(jù)段所選擇的第二加密信息集來解密。
依照本發(fā)明的一個方面,一種用于密碼加密處理數(shù)據(jù)的設備,包括(a)用于接收多個數(shù)據(jù)段的裝置,(b)用于為每個數(shù)據(jù)段根據(jù)待加密的該數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來選擇加密信息集的裝置,和(c)對每個數(shù)據(jù)段用于使用為該數(shù)據(jù)段所選擇的加密信息集來加密的裝置。用于選擇的裝置可以根據(jù)在預定部分中所包含的數(shù)據(jù)來改變每個數(shù)據(jù)段的加密算法、加密密鑰和加密參數(shù)中的至少一個。
依照本發(fā)明的一個方面,用于選擇的裝置包括(e)用于為每個數(shù)據(jù)段根據(jù)在該數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來產(chǎn)生值的裝置,和(f)用于選擇與所產(chǎn)生值相關聯(lián)的加密信息集的裝置,所述加密信息集包括加密算法、加密密鑰以及可選地還包括加密參數(shù)。用于產(chǎn)生值的裝置可以包括用于使用散列(hash,哈希)關鍵字來散列在所述預定部分中所包含的數(shù)據(jù)的裝置。
依照本發(fā)明的一個方面,所述設備還可以包括裝置,用于提供加密表,所述加密表對與所產(chǎn)生值相關聯(lián)的每個表目包含加密類型標識符、用于該加密類型的加密密鑰以及加密參數(shù)。
依照本發(fā)明的一個方面,所述預定部分包括用于選擇第一加密信息集的第一預定部分和用于選擇第二加密信息集的第二預定部分。每個加密信息集包括加密算法、加密密鑰以及可選地還包括加密參數(shù)。
依照本發(fā)明的一個方面,所述設備還可以包括用于使用第一加密信息集來加密第二預定部分的裝置和用于使用第二加密信息集來加密數(shù)據(jù)段的其余部分的裝置。
依照本發(fā)明的一個方面,所述設備還可以包括用于為每個原始數(shù)據(jù)段產(chǎn)生加密數(shù)據(jù)段的裝置,所述加密數(shù)據(jù)段具有第一預定部分、第二預定部分和其余部分,所述第一預定部分包含在所述原始數(shù)據(jù)段的相應第一預定部分中的原始數(shù)據(jù),所述第二預定部分包含所述原始數(shù)據(jù)段的相應第二預定部分的加密數(shù)據(jù),并且所述其余部分包含所述原始數(shù)據(jù)段的相應其余部分的加密數(shù)據(jù)。
依照本發(fā)明的一個方面,所述設備還可以包括用于把多個加密數(shù)據(jù)段作為加密數(shù)據(jù)流發(fā)送的裝置。所述設備還可以包括用于把多個加密數(shù)據(jù)段存儲在數(shù)據(jù)存儲設備上的裝置,每個加密數(shù)據(jù)段對應于所述數(shù)據(jù)存儲設備各個數(shù)據(jù)扇區(qū)。
依照本發(fā)明的一個方面,所述設備還可以包括(a)用于接收包括多個加密數(shù)據(jù)段的加密數(shù)據(jù)的裝置,(b1)用于為每個加密數(shù)據(jù)段根據(jù)在該加密數(shù)據(jù)段的第一預定部分中所包含的數(shù)據(jù)來選擇第一加密信息集的裝置,(c1)用于對每個加密數(shù)據(jù)段的第二預定部分中包含的加密數(shù)據(jù)使用為該加密數(shù)據(jù)段選擇的第一加密信息集來解密的裝置,(b2)根據(jù)所述第二預定部分的解密數(shù)據(jù)來為每個加密數(shù)據(jù)段選擇第二加密信息集,和(c2)對每個加密數(shù)據(jù)段的其余部分使用為該加密數(shù)據(jù)段所選擇的第二加密信息集來解密。
依照本發(fā)明的一個方面,用于選擇第一加密信息的裝置可以包括根據(jù)在加密數(shù)據(jù)段的第一預定部分中所包含的原始數(shù)據(jù)來產(chǎn)生第一值的裝置。用于產(chǎn)生第一值的裝置可以包括用于使用第一散列關鍵字來散列在第一預定部分中所包含的數(shù)據(jù)的裝置。
依照本發(fā)明的一個方面,用于選擇第二加密信息的裝置可以包括用于根據(jù)在加密數(shù)據(jù)段的第二預定部分的解密數(shù)據(jù)來產(chǎn)生第二值的裝置。用于產(chǎn)生第二值的裝置可以包括用于使用第二散列關鍵字來散列在第二預定部分的解密數(shù)據(jù)的裝置。
依照本發(fā)明的一個方面,一種用于解密數(shù)據(jù)的設備包括(a)用于接收多個加密數(shù)據(jù)段的裝置,每個加密數(shù)據(jù)段具有預定部分,(b)用于為每個加密數(shù)據(jù)段根據(jù)在所述加密數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來選擇加密信息集的裝置,和(c)用于使用為所述加密數(shù)據(jù)段所選擇的加密信息來解密每個加密數(shù)據(jù)段的裝置。
依照本發(fā)明的一個方面,用于選擇的裝置可以包括用于為每個加密數(shù)據(jù)段根據(jù)在加密數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來產(chǎn)生值的裝置,和用于選擇與所產(chǎn)生值相關聯(lián)的加密信息集的裝置,所述加密信息集包括加密算法、加密密鑰以及可選地還包括加密參數(shù)。用于產(chǎn)生值的裝置可以包括用于使用散列關鍵字來散列在預定部分中所包含的數(shù)據(jù)的裝置。
依照本發(fā)明的一個方面,所述設備還可以包括用于提供與所產(chǎn)生值相關聯(lián)的加密類型標識符、用于該加密類型的加密密鑰和與加密參數(shù)。
依照本發(fā)明的一個方面,預定部分可以包括用于選擇第一加密信息集的第一預定部分和用于選擇第二加密信息集的第二預定部分。每個加密信息集可以包括加密算法、加密密鑰以及可選地還包括加密參數(shù)。
依照本發(fā)明的一個方面,第一預定部分包含用于第一協(xié)議層的數(shù)據(jù),并且第二預定部分包含用于第二協(xié)議層的數(shù)據(jù),其中所述第一協(xié)議層低于所述第二協(xié)議層。第一預定部分可以是數(shù)據(jù)分組的網(wǎng)際協(xié)議(Internet Protocol,IP)首部(header)。第二預定部分可以是所選擇的數(shù)據(jù)字段部分、數(shù)據(jù)分組的傳輸控制協(xié)議(Transmission ControlProtocol,TCP)首部或用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)首部。
依照本發(fā)明的一個方面,第一預定部分是在數(shù)據(jù)存儲設備的扇區(qū)中的第一選定部分,并且第二預定部分是所述扇區(qū)中的第二選定部分。
依照本發(fā)明的一個方面,在加密數(shù)據(jù)段的第二預定部分中所包含的數(shù)據(jù)已經(jīng)使用第一加密信息集來加密,并且在所述加密數(shù)據(jù)段的其余部分中所包含的數(shù)據(jù)已經(jīng)使用第二加密信息集來加密。
包含在說明書值并構成該說明書一部分的附示了本發(fā)明的一個或多個實施例,并且連同具體實施方式
一起用來解釋本發(fā)明的原理和實現(xiàn)方式。
在附圖中圖1A是示意性圖示依照本發(fā)明一個實施例的加密/解密數(shù)據(jù)的設備的加密部分的框圖。
圖1B是示意性圖示依照本發(fā)明一個實施例的加密/解密數(shù)據(jù)的設備的解密部分的框圖。
圖2是示意性圖示依照本發(fā)明一個實施例的加密表的例子的圖表。
圖3是示意性圖示依照本發(fā)明一個實施例的加密/解密數(shù)據(jù)的方法的過程流程圖。
圖4是示意性圖示數(shù)據(jù)分組的例子的圖表,其中第一預定部分是網(wǎng)際協(xié)議(IP)首部,并且第二預定部分是傳輸控制協(xié)議(TCP)首部。
圖5是示意性圖示數(shù)據(jù)分組的例子的圖表,其中第一預定部分是網(wǎng)際協(xié)議(IP)首部,并且第二預定部分是用戶數(shù)據(jù)報協(xié)議(UDP)首部。
圖6是示意性圖示數(shù)據(jù)分組的例子的圖表,其中第一預定部分是網(wǎng)際協(xié)議(IP)首部,并且第二預定部分是所選擇的數(shù)據(jù)字段部分。
圖7是示意性圖示在數(shù)據(jù)存儲設備的扇區(qū)中的第一和第二預定部分的例子的圖。
圖8是示意性圖示在存儲卡中所存儲數(shù)據(jù)段的第一和第二預定部分的例子的圖,其中所述數(shù)據(jù)段對應于在每個地址所存儲的數(shù)據(jù)。
圖9是示意性圖示依照本發(fā)明一個實施例的加密數(shù)據(jù)方法的過程流程圖,其中預定部分包括第一預定部分和第二預定部分。
圖10是示意性圖示使用在圖9中所示出的方法來加密數(shù)據(jù)分組的例子的圖。
圖11是示意性圖示依照本發(fā)明一個實施例的解密所加密數(shù)據(jù)的方法的過程流程圖,其中預定部分包括第一預定部分和第二預定部分。
圖12是示意性圖示使用在圖11中所示出的方法來解密數(shù)據(jù)分組的例子的圖。
圖13是示意性圖示依照本發(fā)明一個實施例的數(shù)據(jù)加密器/解密器的框圖。
圖14是示意性圖示依照本發(fā)明一個實施例的把加密/解密設備應用于經(jīng)由因特網(wǎng)進行安全通信的例子的圖。
具體實施例方式
這里在用于加密和解密包括多個數(shù)據(jù)段的數(shù)據(jù)的方法和設備的環(huán)境中描述本發(fā)明的實施例。本領域普通技術人員應當認識到本發(fā)明的以下詳細描述僅僅是說明性的而無意以任何方式進行限定。本發(fā)明的其它實施例對于受益于本公開的技術人員來說是顯而易見的?,F(xiàn)在詳細地參考如附圖中所圖示的本發(fā)明的實現(xiàn)方式。整個附圖及其后的具體實施方式
使用相同的附圖標記來指代相同或相似的部分。
為了清楚起見,這里并沒有示出和描述實現(xiàn)方式的所有常規(guī)特征。當然應當理解,在任何這種實際實現(xiàn)方式的研發(fā)中,必須決定許多具體實現(xiàn)方式以便達到開發(fā)者的特殊目標,諸如與應用和商業(yè)相關的約束相適應,還應當理解這些特殊目標可能因實現(xiàn)方式和開發(fā)者的不同而不同。此外應當理解,這種開發(fā)工作量可能是復雜且費時的,但是盡管如此受益于本公開的本領域普通技術人員來說也只是常規(guī)的設計任務。
依照本發(fā)明一個實施例,組件、過程步驟和/或數(shù)據(jù)結構可以使用各種類型的硬接線器件、包括現(xiàn)場可編程門陣列(field programmablegate arrays,F(xiàn)PGA)和復雜可編程邏輯器件(complex programmable logicdevices,CPLD)的現(xiàn)場可編程邏輯器件(field programmable logicdevices,F(xiàn)PLD)、專用集成電路(application specific integrated circuits,ASIC)等來實現(xiàn),并且可以在不脫離這里所公開的發(fā)明原理的范圍和精神的情況下使用。
在本發(fā)明的范圍內(nèi),術語“網(wǎng)絡”包括局域網(wǎng)(local area networksLAN)、廣域網(wǎng)(wide area networks WAN)、因特網(wǎng)、電纜電視系統(tǒng)、電話系統(tǒng)、無線電信系統(tǒng)、光纖網(wǎng)、ATM網(wǎng)、幀中繼網(wǎng)絡、衛(wèi)星通信系統(tǒng)等。這些網(wǎng)絡在本領域中是公知的從而這里不再進一步地描述。
圖1A示意性圖示了依照本發(fā)明一個實施例的用于加密/解密數(shù)據(jù)的設備10。如圖1A所示,設備10包括輸入緩沖器12、加密模塊14、耦合到所述輸入緩沖器12和加密模塊14的控制器16以及耦合到所述控制器16和加密模塊14的輸出緩沖器18。輸入緩沖器12適于接收包括多個數(shù)據(jù)段的數(shù)據(jù)。例如,這種數(shù)據(jù)可以是包括多個數(shù)據(jù)分組的數(shù)據(jù)流。數(shù)據(jù)段還可以從記錄介質或數(shù)據(jù)存儲設備的相應扇區(qū)中讀取,所述記錄介質或數(shù)據(jù)存儲設備諸如硬盤、CD ROM、DVD、存儲卡等。加密模塊14適于加密每個數(shù)據(jù)段。輸出緩沖器18緩沖來自加密模塊14的加密數(shù)據(jù)段,并且輸出包括多個加密數(shù)據(jù)段的加密數(shù)據(jù)。
例如如圖1A所示,設備10可以在通用串行總線(USB)端口11和以太網(wǎng)端口13之間使用,在這種情況下主機計算機經(jīng)由LAN通信。設備10還可以用于經(jīng)由WAN、因特網(wǎng)、無線網(wǎng)絡等安全通信。此外,設備10可以與小型計算機系統(tǒng)接口(SCSI)、智能/集成驅動器電子電路(IDE)接口、增強IDE接口等一起使用以便把安全數(shù)據(jù)存儲在海量存儲設備中。所述設備還可以用于其它類型的數(shù)字數(shù)據(jù)轉送。
控制器16適于為每個數(shù)據(jù)段根據(jù)待加密的該數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來選擇加密信息集。例如,加密信息包括加密算法、加密密鑰和諸如初始向量之類的加密參數(shù)。加密參數(shù)可以用來把加密過程設置或初始化為特殊狀態(tài)。由于典型情況下根據(jù)待加密數(shù)據(jù)段的特殊部分中的數(shù)據(jù)來選擇加密信息,所以為每個數(shù)據(jù)段改變加密算法、加密密鑰和加密參數(shù)中的至少一個。換句話說,加密信息是“自確定的”,因對于每個數(shù)據(jù)段來說,是使用在數(shù)據(jù)段本身所包含的數(shù)據(jù)。數(shù)據(jù)段的預定部分可以是每個數(shù)據(jù)分組的首部、數(shù)據(jù)分組的數(shù)據(jù)字段的選定部分,例如從所述數(shù)據(jù)字段開頭起始的預定數(shù)目字節(jié)的特殊數(shù)據(jù)長度。預定部分可以是在數(shù)據(jù)存儲設備中所選擇的扇區(qū)部分,在數(shù)據(jù)存儲設備中每個扇區(qū)的扇區(qū)號或地址字段等。
加密模塊14包括多個加密引擎20(20a,20b,20c,...),每個加密引擎20對應于待由控制器16選擇的加密算法。加密模塊14還可以包括耦合到多個加密引擎20中的每個的數(shù)據(jù)緩沖器22。
依照本發(fā)明一個實施例,如圖1A所示,控制器16包括數(shù)據(jù)選擇器24、與所述數(shù)據(jù)選擇器24耦合的加密選擇器26以及加密控制器28。數(shù)據(jù)選擇器24適于選擇來自每個數(shù)據(jù)段的預定部分。加密選擇器26適于依照在由數(shù)據(jù)選擇器24所選擇的預定部分中所包含的數(shù)據(jù)來選擇加密信息集。所述加密信息集例如包括加密算法、加密密鑰以及可選地還包括加密參數(shù)。加密控制器28適于根據(jù)加密信息來選擇并激活一個加密引擎20。例如,如果由加密選擇器26選擇加密算法A,那么加密控制器28選擇相應的加密引擎(A)20a并且使用加密參數(shù)來激活或初始化加密引擎20a。由加密引擎20a使用所選擇的密鑰來加密所述數(shù)據(jù)。應當注意,即便使用相同的加密算法并且因而使用相同的加密引擎,不同的密鑰和/或不同的加密參數(shù)也會產(chǎn)生不同的加密數(shù)據(jù)。
依照本發(fā)明一個實施例,控制器16還包括耦合到數(shù)據(jù)選擇器24的值產(chǎn)生器30。值產(chǎn)生器適于根據(jù)在預定部分中所包含的數(shù)據(jù)來產(chǎn)生值。例如,值產(chǎn)生器30可以包括散列函數(shù)并且使用散列關鍵字散列所述數(shù)據(jù)以便生成該值。散列關鍵字可以在值產(chǎn)生器30中預設,或者可以當控制器16被首次編程時選擇。
依照本發(fā)明一個實施例,加密控制器26包括加密表32。加密表32對與值產(chǎn)生器30所產(chǎn)生的值相關聯(lián)的每個表目包含加密類型標識符、用于該加密類型的加密密鑰以及諸如初始向量之類的加密參數(shù),所述初始向量用于指定加密引擎的初始加密狀態(tài)。圖2示意地圖示了加密表32的例子。如圖2所示,加密表32的每個表目具有對應于產(chǎn)生值的索引,例如散列值,以及加密算法(加密類型)、用于該加密算法的密鑰和初始向量(加密參數(shù))的相應集合。表目的數(shù)目取決于根據(jù)預定部分所產(chǎn)生的值。在本發(fā)明的一個實施例中,加密表大約具有1000個表目。典型情況下,根據(jù)不同數(shù)據(jù)段的預定部分導出不同的索引值,并且因而使用不同的加密信息來加密每個數(shù)據(jù)段。
以上描述是相對于設備10的加密部分的。圖1B依照本發(fā)明一個實施例示意地圖示了設備10相應的解密部分10’。如圖1B所示,可以與設備10的加密部分(圖1A)對稱地構造解密部分10’,包括解密引擎20a’、20b’和20c’來代替加密引擎20a、20b和20c,無需進一步解釋也可以被本領域普通技術人員較好地理解。
圖3依照本發(fā)明一個實施例示意地圖示用于加密/解密數(shù)據(jù)的方法。所述方法可以由加密/解密設備10執(zhí)行。例如通過接收包括多個數(shù)據(jù)分組的數(shù)據(jù)流或者從包括多個數(shù)據(jù)扇區(qū)或地址的數(shù)據(jù)存儲設備進行讀取來接收多個數(shù)據(jù)段。所接收的數(shù)據(jù)段可以由輸入緩沖器來緩存。逐段地加密數(shù)據(jù)段。如圖3所示,接收每個數(shù)據(jù)段(100),并且選擇每個數(shù)據(jù)段的預定部分(102),并且根據(jù)在待加密的數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來選擇加密信息集(104)。使用所選擇的加密信息集來加密數(shù)據(jù)段(106)。依照相同的方式處理下一數(shù)據(jù)段直到輸入緩沖器中的所有數(shù)據(jù)段都被處理(108)。如上所述,加密信息集可以包括加密算法、加密密鑰以及可選地還包括加密參數(shù),并且典型情況下根據(jù)在預定部分中所包含的數(shù)據(jù)來為每個數(shù)據(jù)段改變加密算法、加密密鑰和加密參數(shù)中的至少一個。
如上所述,在加密信息的選擇當中,可以根據(jù)在數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來產(chǎn)生值(諸如散列值),并且可以使用所產(chǎn)生值來選擇加密信息集??梢砸勒罩T如上述加密表32(圖2)之類的加密表的形式提供加密信息集。
依照本發(fā)明一個實施例,預定部分包括第一預定部分和第二預定部分。在數(shù)據(jù)段是數(shù)據(jù)分組的情況下,第一預定部分可以包含用于第一協(xié)議層的數(shù)據(jù),并且第二預定部分可以包含用于第二協(xié)議層的數(shù)據(jù),所述第二協(xié)議層在協(xié)議層次中高于所述第一協(xié)議層。第一協(xié)議層可以是網(wǎng)絡層(或因特網(wǎng)層),并且第二協(xié)議層可以是傳輸層。
圖4示意地圖示了數(shù)據(jù)分組34的例子,其中第一預定部分是網(wǎng)際協(xié)議(IP)首部36,并且第二預定部分是數(shù)據(jù)分組34的傳輸控制協(xié)議(TCP)首部38。圖5示意地圖示了數(shù)據(jù)分組40的例子,其中第一預定部分是網(wǎng)際協(xié)議(IP)首部36,并且第二預定部分是數(shù)據(jù)分組40的用戶數(shù)據(jù)報協(xié)議(UDP)首部42。應當注意,盡管在圖4中獨立地圖示了IP首部36、TCP首部38和隨后的TCP數(shù)據(jù)字段44,然而它們在數(shù)據(jù)分組34中是連續(xù)的。類似地,盡管在圖5中獨立地圖示了IP首部36、UDP首部38和隨后的UDP數(shù)據(jù)字段46,然而它們在數(shù)據(jù)分組40中是連續(xù)的。另外,在每個首部中所圖示的信息是以舉例形式而不是按任何方式來限定??梢允褂檬撞恐械乃行畔韺С?散列)值,或者可以選擇信息的某些部分來產(chǎn)生值。
依照本發(fā)明一個實施例,第二預定部分不局限于TCP或UDP首部,而是可以從數(shù)據(jù)字段中選擇。圖6示意地圖示了數(shù)據(jù)分組48的例子,其中第一預定部分是網(wǎng)際協(xié)議(IP)首部36,并且第二預定部分是所選擇的數(shù)據(jù)分組48的數(shù)據(jù)字段50的部分52(52a,52b,和52c)。如圖6所示,所選擇的部分52可以在數(shù)據(jù)字段50中劃分和分布,并且由根據(jù)從數(shù)據(jù)字段50開頭的預定字節(jié)數(shù)目和預定數(shù)據(jù)長度指定??梢赃x擇一個單個部分。
依照本發(fā)明一個實施例,數(shù)據(jù)段可以是數(shù)據(jù)存儲設備中的扇區(qū),所述數(shù)據(jù)存儲設備諸如硬盤、CD ROM、DVD、存儲卡或其它海量存儲設備。在這種情況下,第一預定部分是在數(shù)據(jù)存儲設備的扇區(qū)中的第一選定部分,并且第二預定部分是所述扇區(qū)中的第二選定部分。圖7示意地圖示了這種例子。在圖7中,第一預定部分是在數(shù)據(jù)存儲設備的扇區(qū)54中的第一選定部分56,并且第二預定部分是所述扇區(qū)54中的第二選定部分58(58a,58b)。圖8示意地圖示了存儲卡的例子,其中數(shù)據(jù)段對應于在每個地址中所存儲的數(shù)據(jù)。在這種情況下,可以逐個地址地加密數(shù)據(jù),并且第一預定部分是存儲器地址60中的第一選定部分62(62a,63b),并且第二預定部分是所述地址60中的第二選定部分64。如圖7和8所示,第一和/或第二預定部分可以在存儲器地址的扇區(qū)或數(shù)據(jù)中劃分和分布,或者可以是單個部分。
圖9示意地圖示了依照本發(fā)明一個實施例的用于加密數(shù)據(jù)的方法,其中預定部分包括如上所述的第一預定部分和第二預定部分。圖10示意地圖示了使用在圖9中所示出的方法來加密數(shù)據(jù)分組70的例子,其中所述數(shù)據(jù)分組70包括第一預定部分72(諸如IP首部)和第二預定部分74(諸如TCP首部或所選擇的數(shù)據(jù)字段部分)。
如圖9所示,為所接收的每個數(shù)據(jù)段(110)選擇第一預定部分和第二預定部分(112,114)。同樣參照圖10,根據(jù)在第一預定部分72中所包含的數(shù)據(jù)來選擇第一加密信息78(116)。如上所述,該選擇116例如可以包括根據(jù)第一預定部分72導出散列值并且使用把散列值與各自的加密信息集相關聯(lián)的加密表來選擇第一加密信息。類似地,根據(jù)在第二預定部分74中所包含的數(shù)據(jù)來選擇第二加密信息79(118)。該選擇118例如可以包括根據(jù)第二預定部分74導出散列值并且使用把散列值與各自的加密信息集相關聯(lián)的加密表來選擇第二加密信息??梢詾檫x擇過程116和118提供各自的散列關鍵字和各自的加密表。例如,加密/解密設備10的控制器16(圖1)可以包括用于第一預定部分的第一組散列關鍵字和加密表,以及用于第二預定部分的第二組散列關鍵字和加密表。
然后,使用第一加密信息78來加密第二預定部分74(120),并且使用第二加密信息79來加密數(shù)據(jù)段76的其余部分(122)。其余部分76是在數(shù)據(jù)段中除第一和第二預定部分之外的所有其余數(shù)據(jù)。如圖10所示,組合包含原始數(shù)據(jù)(也被稱為“明文”)的第一預定部分82、包含加密數(shù)據(jù)(也被稱為“密文”)的第二預定部分84和包含加密數(shù)據(jù)的其余部分86來產(chǎn)生對應于原始數(shù)據(jù)段(分組)70的加密數(shù)據(jù)段(分組)80(124)。例如參照圖1,可以使用加密引擎20a來加密第二預定部分,并且使用加密引擎20b來加密其余部分,并且各自的加密數(shù)據(jù)與第一預定部分組合到數(shù)據(jù)緩沖器22中的加密數(shù)據(jù)段中,并且被發(fā)送到輸出緩沖器18。
執(zhí)行過程110至124,直到加密了所有數(shù)據(jù)段(126)。應當注意,控制選擇和加密過程,使得在加密包含在第二預定部分74中的數(shù)據(jù)之前選擇第二加密信息79,并且按照這種次序來把第一預定部分84的明文數(shù)據(jù)、第二預定部分84的密文和其余部分86的密文發(fā)送到數(shù)據(jù)緩沖器22。
對于安全數(shù)據(jù)通信來說,加密數(shù)據(jù)段可以作為加密數(shù)據(jù)流發(fā)送,或者可以被存儲在數(shù)據(jù)存儲設備上以便例如防止敏感或受保護信息被未授權的人讀取。
圖11示意地圖示了依照本發(fā)明一個實施例的用于解密所加密數(shù)據(jù)的方法,其中預定部分包括第一預定部分和第二預定部分。圖12示意地圖示了用于使用在圖11中所示出的方法來解密所加密數(shù)據(jù)分組80的例子,其中加密數(shù)據(jù)分組80包括第一預定部分82(諸如IP首部)和第二預定部分84(諸如TCP首部或所選擇的數(shù)據(jù)字段部分)。如上所述,第一預定部分82包含明文,并且第二預定部分和其余部分86包含密文。
如圖11所示,為所接收的每個加密數(shù)據(jù)段(130)選擇第一預定部分和第二預定部分(132,134)。在安全通信中加密數(shù)據(jù)段可以作為加密數(shù)據(jù)流來接收,或者可以從數(shù)據(jù)存儲設備中讀取。同樣參照圖12,根據(jù)在第一預定部分82中所包含的數(shù)據(jù)來選擇第一加密信息88(136)。類似于上述加密過程,該選擇136例如可以包括根據(jù)第一預定部分82導出散列值并且使用加密表來選擇第一加密信息,所述加密表用于把所述散列值與各自的加密信息集相關聯(lián)。由于第一預定部分包含明文,所以第一加密信息與原始數(shù)據(jù)段相同。
然后,使用第一加密信息88來解密包含密文的第二預定部分84(138)。根據(jù)在第二預定部分84中所包含的解密數(shù)據(jù)85來選擇第二加密信息89(140)。該選擇138例如可以包括根據(jù)解密數(shù)據(jù)85導出散列值并且使用把散列值與各自的加密信息集相關聯(lián)的加密表來選擇第二加密信息89。可以為選擇過程136和138中的每個提供各自的散列關鍵字和各自的加密表。
然后,使用第二加密信息89(142)來解密數(shù)據(jù)段的其余部分86。其余部分86是數(shù)據(jù)段除第一和第二預定部分之外的所有其余數(shù)據(jù)。組合第一預定部分92、第二預定部分94和其余部分96來產(chǎn)生與原始數(shù)據(jù)段(分組)70相同的解密數(shù)據(jù)段(分組)90(144)。執(zhí)行過程130到144,直到解密了所有加密數(shù)據(jù)段(146)。
圖13示意地圖示了依照本發(fā)明一個實施例的數(shù)據(jù)加密器/解密器150。如圖13所示,數(shù)據(jù)加密器/解密器包括發(fā)送部分152和接收部分162。發(fā)送部分152包括第一計時分析器154、加密模塊(T)156和第一數(shù)據(jù)緩沖器158。類似地,接收部分162包括第二計時分析器164、解密模塊(R)166和第二數(shù)據(jù)緩沖器168。加密模塊156可以是上述加密/解密設備10的加密部分(加密模塊14和控制器16),并且解密模塊166可以是上述加密/解密設備10的解密部分10’。例如在發(fā)送部分中,依照特殊實現(xiàn)方式(圖1A中的)輸入緩沖器12可以被集成在計時分析器154內(nèi)。依照特殊實現(xiàn)方式,(圖1A中的)輸出緩沖器18也可以被集成在數(shù)據(jù)緩沖器158內(nèi)。對接收部分154來說也是一樣。
由于數(shù)據(jù)加密器/解密器150典型情況下發(fā)送并接收數(shù)據(jù)流(Tx和Rx),計時分析器154和164為相應的數(shù)據(jù)流同步加密/解密過程,以使得加密/解密數(shù)據(jù)被適當?shù)亟M合到各自的加密/解密數(shù)據(jù)段(數(shù)據(jù)分組)并且分別向數(shù)據(jù)緩沖器158和168發(fā)送或從其輸出。
依照本發(fā)明一個實施例,可以依照用于計算機的插卡的形式來實現(xiàn)數(shù)據(jù)加密器/解密器150(和加密/解密設備10)。由于在數(shù)據(jù)加密器/解密器(加密/解密卡)中提供了用于加密/解密所有必要的組件,所以只要計算機可以使用加密/解密卡(即,可端口兼容的),那么用戶/計算機就不必為加密/解密安裝任何特殊的軟件程序。通過經(jīng)由加密/解密卡簡單地發(fā)送或存儲數(shù)據(jù),數(shù)據(jù)被自動加密并因而通過網(wǎng)絡安全地發(fā)送或者安全地存儲在存儲設備中。可以使用相同的加密/解密卡來接收安全發(fā)送的數(shù)據(jù)或讀取安全存儲的數(shù)據(jù)。
為了接收或讀取加密數(shù)據(jù),必須使用相同的加密/解密卡或設備來解密所述加密數(shù)據(jù)?!跋嗤摹币庵缚ɑ蛟O備能夠根據(jù)數(shù)據(jù)段選擇相同的預定第一和第二部分,并且如果在預定部分中所包含的數(shù)據(jù)是相同的,那么選擇/導出相同的第一和第二加密信息。例如典型情況下,相應的(通信)加密/解密卡具有完全相同的散列關鍵字和完全相同的加密表。
依照本發(fā)明一個實施例,在制造或初始編程時可以按照用戶要求來定制(圖13中的)加密/解密模塊部分170。例如,由于可以在諸如FPGA和CPLD之類的現(xiàn)場可編程邏輯器件(FPLD)中實現(xiàn)加密/解密卡,所以可以按照用戶規(guī)定(例如,安全度、傳輸速度、所要求的協(xié)議或標準、要使用的具體存儲介質和/或格式等)來利用散列關鍵字和加密表(加密信息)的特殊設置來編程加密/解密卡或設備。
另外,用戶和計算機不必知道設置,并且所述設置對用戶和計算機是不可訪問的,這種信息無法從用戶或計算機中被偷竊以用來“破解代碼”。此外,實際上為每個數(shù)據(jù)段改變加密算法、加密密鑰以及可選地還有加密參數(shù),并且只有待加密的數(shù)據(jù)段本身“知道”將使用的所述算法、密鑰和參數(shù)。由于根據(jù)在數(shù)據(jù)段本身中所包含的確定數(shù)據(jù)來自動改變加密算法、密鑰和/或參數(shù),在發(fā)送端和接收端之間的同步是不必要的。
圖14示意地圖示了把本發(fā)明應用于經(jīng)由因特網(wǎng)進行安全通信的例子。如圖14所示,根據(jù)本發(fā)明一個實施例,用戶l80、182、184可以使用各自的加密/解密設備190、192和194。加密/解密設備190、192和194可以是如上所述的加密/解密設備10或加密器/解密器150。所有加密/解密設備190、192和194被完全相同地編程并且提供有相同的設置,例如相同的散列關鍵字和加密表。如圖14所示,加密/解密設備可以由一個以上的計算機184和186來使用。例如,加密/解密設備194可以與LAN內(nèi)的集線器一起使用,以使得加密從連接到集線器的計算機或主機的所有數(shù)據(jù)傳輸。
依照本發(fā)明一個實施例,由于沒有加密每個數(shù)據(jù)分組的IP首部,所以本發(fā)明一個實施例的加密/解密模式并不影響經(jīng)由因特網(wǎng)或其它網(wǎng)絡路由或交換數(shù)據(jù)分組(即,在網(wǎng)絡協(xié)議層中的操作)。另外,在某些路由器可能在路由操作中查看除IP首部之外的分組字段的情況下,可以選擇第一預定部分以使得它包括IP首部以及要由路由器所使用的這種數(shù)據(jù)字段部分。
如上所述,依照本發(fā)明一個實施例,使用二級加密來加密每個數(shù)據(jù)段。即,使用在第二預定部分中所包含的信息來加密除第一和第二預定部分之外的數(shù)據(jù)段。然后,使用在第一預定部分中所包含的信息來加密第二預定部分。因而,盡管第一預定部分包含明文,不過包含加密數(shù)據(jù)(密文)的第二預定部分提供附加的安全級別,這是由于第二預定部分和其余部分通常情況下借助不同的加密算法、不同的加密密鑰和/或不同的加密參數(shù)來加密。另外,由于為每個數(shù)據(jù)段改變加密算法、加密密鑰和/或加密參數(shù),所以駭客實際不可能破解代碼。
雖然已經(jīng)示出并描述了本發(fā)明的實施例和應用,然而對那些受益于本公開的本領域內(nèi)技術人員來說顯而易見的是在不脫離本發(fā)明原理的情況下可以做出與上述不同的許多改變。因此,本發(fā)明只由權利要求書的精神來限定。
權利要求
1.一種用于密碼加密處理數(shù)據(jù)的方法,所述方法包括接收多個數(shù)據(jù)段;對每個數(shù)據(jù)段,根據(jù)在待加密的該數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來選擇加密信息集;以及對每個數(shù)據(jù)段,使用為該數(shù)據(jù)段選擇的加密信息集來進行加密。
2.如權利要求1所述的方法,其中所述選擇包括根據(jù)在所述預定部分中包含的數(shù)據(jù)為每個數(shù)據(jù)段改變加密算法、加密密鑰和加密參數(shù)中的至少一個。
3.如權利要求1所述的方法,其中所述選擇包括對每個數(shù)據(jù)段,根據(jù)該數(shù)據(jù)段的所述預定部分中包含的數(shù)據(jù)來產(chǎn)生值;并且選擇與所產(chǎn)生值相關聯(lián)的加密信息集,所述加密信息集包括加密算法、加密密鑰以及可選地還包括加密參數(shù)。
4.如權利要求3所述的方法,其中所述產(chǎn)生值包括使用散列關鍵字來散列在所述預定部分中所包含的數(shù)據(jù)。
5.如權利要求3所述的方法,還包括提供加密表,所述加密表對與產(chǎn)生值相關聯(lián)的每個表目包含加密類型標識符;用于所述加密類型的加密密鑰;和加密參數(shù)。
6.如權利要求1所述的方法,其中所述預定部分包括用于選擇第一加密信息集的第一預定部分,該第一集包括第一加密算法、第一加密密鑰以及可選地還包括第一加密參數(shù);和用于選擇第二加密信息集的第二預定部分,該第二集包括第二加密算法、第二加密密鑰以及可選地還包括第二加密參數(shù)。
7.如權利要求6所述的方法,其中所述接收包括接收包括多個數(shù)據(jù)分組的數(shù)據(jù)流,每個數(shù)據(jù)分組對應于數(shù)據(jù)段。
8.如權利要求7所述的方法,其中所述第一預定部分包含用于第一協(xié)議層的數(shù)據(jù),并且所述第二預定部分包含用于第二協(xié)議層的數(shù)據(jù),其中所述第一協(xié)議層低于所述第二協(xié)議層。
9.如權利要求7所述的方法,其中所述第一預定部分是數(shù)據(jù)分組的網(wǎng)際協(xié)議(IP)首部。
10.如權利要求9所述的方法,其中所述第二預定部分是數(shù)據(jù)分組的數(shù)據(jù)字段的選定部分。
11.如權利要求9所述的方法,其中所述第二預定部分是數(shù)據(jù)分組的傳輸控制協(xié)議(TCP)首部。
12.如權利要求9所述的方法,其中所述第二預定部分是數(shù)據(jù)分組的用戶數(shù)據(jù)報協(xié)議(UDP)首部。
13.如權利要求6所述的方法,其中所述接收包括從數(shù)據(jù)存儲設備中的相應扇區(qū)讀取多個數(shù)據(jù)段。
14.如權利要求13所述的方法,其中所述第一預定部分是在數(shù)據(jù)存儲設備的扇區(qū)中的第一選定部分,并且所述第二預定部分是所述扇區(qū)中的第二選定部分。
15.如權利要求6所述的方法,還包括使用所述第一加密信息集來加密所述第二預定部分。
16.如權利要求15所述的方法,還包括使用所述第二加密信息集來加密所述數(shù)據(jù)段的其余部分。
17.如權利要求16所述的方法,還包括為每個原始數(shù)據(jù)段產(chǎn)生加密數(shù)據(jù)段,所述加密數(shù)據(jù)段具有第一預定部分、第二預定部分和其余部分,所述第一預定部分包含所述原始數(shù)據(jù)段的相應第一預定部分中的原始數(shù)據(jù),所述第二預定部分包含所述原始數(shù)據(jù)段的相應第二預定部分的加密數(shù)據(jù),并且所述其余部分包含所述原始數(shù)據(jù)段的相應其余部分的加密數(shù)據(jù)。
18.如權利要求17所述的方法,還包括把多個加密數(shù)據(jù)段作為加密數(shù)據(jù)流發(fā)送。
19.如權利要求17所述的方法,還包括把多個加密數(shù)據(jù)段存儲在數(shù)據(jù)存儲設備上,每個加密數(shù)據(jù)段對應于所述數(shù)據(jù)存儲設備的各個數(shù)據(jù)扇區(qū)。
20.如權利要求17所述的方法,還包括接收包括多個加密數(shù)據(jù)段的加密數(shù)據(jù);對每個加密數(shù)據(jù)段,根據(jù)在該加密數(shù)據(jù)段的第一預定部分中包含的數(shù)據(jù)來選擇第一加密信息集;使用為加密數(shù)據(jù)段選擇的第一加密信息集來解密在每個加密數(shù)據(jù)段的第二預定部分中包含的加密數(shù)據(jù);對每個加密數(shù)據(jù)段,根據(jù)所述第二預定部分的解密數(shù)據(jù)來選擇第二加密信息集;并且使用為加密數(shù)據(jù)段選擇的所述第二加密信息集來解密每個加密數(shù)據(jù)段的其余部分。
21.如權利要求20所述的方法,其中所述選擇第一加密信息包括根據(jù)在所述加密數(shù)據(jù)段的第一預定部分中所包含的原始數(shù)據(jù)來產(chǎn)生第一值。
22.如權利要求21所述的方法,其中所述產(chǎn)生第一值包括使用第一散列關鍵字來散列在所述第一預定部分中包含的數(shù)據(jù)。
23.如權利要求20所述的方法,其中所述選擇第二加密信息包括根據(jù)所述加密數(shù)據(jù)段的第二預定部分的解密數(shù)據(jù)來產(chǎn)生第二值。
24.如權利要求23所述的方法,其中所述產(chǎn)生第二值包括使用第二散列關鍵字來散列所述第二預定部分的解密數(shù)據(jù)。
25.一種用于密碼加密處理數(shù)據(jù)的方法,所述方法包括接收多個加密數(shù)據(jù)段,每個加密數(shù)據(jù)段具有預定部分;對每個加密數(shù)據(jù)段,根據(jù)在該加密數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來選擇加密信息集;以及對每個加密數(shù)據(jù)段,使用為該加密數(shù)據(jù)段選擇的加密信息來進行解密。
26.如權利要求25所述的方法,其中所述選擇包括對每個加密數(shù)據(jù)段,根據(jù)在該加密數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來產(chǎn)生值;并且選擇與所產(chǎn)生值相關聯(lián)的加密信息集,所述加密信息集包括加密算法、加密密鑰以及可選地還包括加密參數(shù)。
27.如權利要求26所述的方法,其中所述產(chǎn)生值包括使用散列關鍵字來散列在所述預定部分中包含的數(shù)據(jù)。
28.如權利要求27所述的方法,還包括提供加密表,所述加密表對每個與所產(chǎn)生值相關聯(lián)的表目包含加密類型標識符;用于所述加密類型的加密密鑰;和加密參數(shù)。
29.如權利要求25所述的方法,其中所述預定部分包括用于選擇第一加密信息集的第一預定部分,該第一集包括第一加密算法、第一加密密鑰以及可選地還包括第一加密參數(shù);和用于選擇第二加密信息集的第二預定部分,該第二集包括第二加密算法、第二加密密鑰以及可選地還包括第二加密參數(shù)。
30.如權利要求29所述的方法,其中所述接收包括接收包括多個加密數(shù)據(jù)分組的加密數(shù)據(jù)流,每個加密數(shù)據(jù)分組對應于加密數(shù)據(jù)段。
31.如權利要求30所述的方法,其中所述第一預定部分包含用于第一協(xié)議層的數(shù)據(jù),并且所述第二預定部分包含用于第二協(xié)議層的數(shù)據(jù),其中所述第一協(xié)議層低于所述第二協(xié)議層。
32.如權利要求30所述的方法,其中所述第一預定部分是數(shù)據(jù)分組的網(wǎng)際協(xié)議(IP)首部。
33.如權利要求32所述的方法,其中所述第二預定部分是數(shù)據(jù)分組的數(shù)據(jù)字段的選定部分。
34.如權利要求32所述的方法,其中所述第二預定部分是所述數(shù)據(jù)分組的傳輸控制協(xié)議(TCP)首部。
35.如權利要求32所述的方法,其中所述第二預定部分是所述數(shù)據(jù)分組的用戶數(shù)據(jù)報協(xié)議(UDP)首部。
36.如權利要求29所述的方法,其中所述接收包括從數(shù)據(jù)存儲設備中的相應扇區(qū)讀取多個加密數(shù)據(jù)段。
37.如權利要求36所述的方法,其中所述第一預定部分是在數(shù)據(jù)存儲設備的扇區(qū)中的第一選定部分,并且所述第二預定部分是所述扇區(qū)中的第二選定部分。
38.如權利要求29所述的方法,其中已經(jīng)使用所述第一加密信息集加密了在所述加密數(shù)據(jù)段的第二預定部分中所包含的數(shù)據(jù)。
39.如權利要求38所述的方法,其中已經(jīng)使用所述第二加密信息集加密了在所述加密數(shù)據(jù)段的其余部分中所包含的數(shù)據(jù)。
40.一種用于密碼加密處理數(shù)據(jù)的設備,包括輸入緩沖器,適于接收包括多個數(shù)據(jù)段的數(shù)據(jù);加密模塊,適于加密每個數(shù)據(jù)段;耦合到所述輸入緩沖器和所述加密模塊的控制器,所述控制器適于為每個數(shù)據(jù)段根據(jù)待加密的該數(shù)據(jù)段的預定部分中包含的數(shù)據(jù)來選擇加密信息集;和耦合到所述控制器和所述加密模塊的輸出緩沖器,所述輸出緩沖器適于輸出包括多個加密數(shù)據(jù)段的加密數(shù)據(jù)。
41.如權利要求40所述的設備,其中所述控制器為每個數(shù)據(jù)段改變加密算法、加密密鑰和加密參數(shù)中的至少一個。
42.如權利要求40所述的設備,其中所述加密模塊包括多個加密引擎,每個加密引擎對應于各自的加密算法。
43.如權利要求40所述的設備,其中所述加密模塊還包括耦合到所述多個加密引擎中的每個的數(shù)據(jù)緩沖器。
44.如權利要求40所述的設備,其中所述控制器包括數(shù)據(jù)選擇器,適于選擇每個數(shù)據(jù)段的預定部分;與所述數(shù)據(jù)選擇器耦合的加密選擇器,適于根據(jù)在所述預定部分中包含的數(shù)據(jù)來選擇加密信息集,所述加密信息集包括加密算法、加密密鑰以及可選地還包括加密參數(shù);和加密控制器,適于根據(jù)加密信息來選擇并激活加密引擎。
45.如權利要求40所述的設備,其中所述控制器還包括耦合到所述數(shù)據(jù)選擇器的值產(chǎn)生器,適于根據(jù)所述預定部分中包含的數(shù)據(jù)來產(chǎn)生值。
46.如權利要求45所述的設備,其中所述值產(chǎn)生器適于使用散列關鍵字來散列所述預定部分中包含的數(shù)據(jù)。
47.如權利要求45所述的設備,其中所述加密控制器包括加密表,所述加密表對每個與產(chǎn)生值相關聯(lián)的表目包含加密類型標識符;用于所述加密類型的加密密鑰;和加密參數(shù)。
48.如權利要求40所述的設備,其中每個數(shù)據(jù)段的所述預定部分包括第一預定部分;和第二預定部分。
49.如權利要求48所述的設備,其中所述多個數(shù)據(jù)段是數(shù)據(jù)流中的數(shù)據(jù)分組。
50.如權利要求49所述的設備,其中所述第一預定部分包含用于第一協(xié)議層的數(shù)據(jù),并且所述第二預定部分包含用于第二協(xié)議層的數(shù)據(jù),其中所述第一協(xié)議層低于所述第二協(xié)議層。
51.如權利要求49所述的設備,其中所述第一預定部分是數(shù)據(jù)分組的網(wǎng)際協(xié)議(IP)首部。
52.如權利要求51所述的設備,其中所述第二預定部分是數(shù)據(jù)分組的數(shù)據(jù)字段的選定部分。
53.如權利要求51所述的設備,其中所述第二預定部分是數(shù)據(jù)分組的傳輸控制協(xié)議(TCP)首部。
54.如權利要求51所述的設備,其中所述第二預定部分是數(shù)據(jù)分組的用戶數(shù)據(jù)報協(xié)議(UDP)首部。
55.如權利要求48所述的設備,其中所述多個數(shù)據(jù)段是數(shù)據(jù)存儲設備中的扇區(qū)。
56.如權利要求55所述的設備,其中所述第一預定部分是在數(shù)據(jù)存儲設備的扇區(qū)中的第一選定部分,并且所述第二預定部分是所述扇區(qū)中的第二選定部分。
57.如權利要求48所述的設備,其中所述控制器包括第一加密表,用于根據(jù)在所述第一預定部分中所包含的數(shù)據(jù)來選擇第一加密信息集;和第二加密表,用于根據(jù)在所述第二預定部分中所包含的數(shù)據(jù)來選擇第二加密信息集。
58.一種用于密碼加密處理數(shù)據(jù)的設備,包括輸入緩沖器,適于接收多個加密數(shù)據(jù)段,每個加密數(shù)據(jù)段具有預定部分;解密模塊,適于解密每個加密數(shù)據(jù)段;耦合到所述輸入緩沖器和所述解密模塊的控制器,所述控制器適于為每個加密數(shù)據(jù)段根據(jù)該加密數(shù)據(jù)段的預定部分中包含的數(shù)據(jù)來選擇加密信息集;和耦合到所述控制器和所述解密模塊的輸出緩沖器,所述輸出緩沖器適于輸出包括多個解密數(shù)據(jù)段的解密數(shù)據(jù)。
59.如權利要求58所述的設備,其中所述解密模塊包括多個解密引擎,每個解密引擎對應于各自的加密算法。
60.如權利要求58所述的設備,其中所述解密模塊還包括耦合到所述多個解密引擎中的每個的數(shù)據(jù)緩沖器。
61.如權利要求58所述的設備,其中所述控制器包括數(shù)據(jù)選擇器,適于選擇每個加密數(shù)據(jù)段的預定部分;與所述數(shù)據(jù)選擇器耦合的解密選擇器,適于根據(jù)所述預定部分中包含的數(shù)據(jù)來選擇解密信息集,所述解密信息集包括加密算法、加密密鑰以及可選地還包括加密參數(shù);和解密控制器,適于根據(jù)所述加密信息來選擇并激活解密引擎。
62.如權利要求58所述的設備,其中所述控制器還包括耦合到所述數(shù)據(jù)選擇器的值產(chǎn)生器,適于根據(jù)在所述預定部分中包含的數(shù)據(jù)來產(chǎn)生值。
63.如權利要求62所述的設備,其中所述值產(chǎn)生器適于使用散列關鍵字來散列所述預定部分中包含的數(shù)據(jù)。
64.如權利要求62所述的設備,其中所述解密控制器包括加密表,所述加密表對每個與產(chǎn)生值相關聯(lián)的表目包含加密類型標識符;用于所述加密類型的加密密鑰;和加密參數(shù)。
65.如權利要求58所述的設備,其中每個數(shù)據(jù)段的所述預定部分包括第一預定部分;和第二預定部分。
66.如權利要求65所述的設備,其中所述多個數(shù)據(jù)段是數(shù)據(jù)流中的數(shù)據(jù)分組。
67.如權利要求66所述的設備,其中所述第一預定部分包含用于第一協(xié)議層的數(shù)據(jù),并且所述第二預定部分包含用于第二協(xié)議層的數(shù)據(jù),其中所述第一協(xié)議層低于所述第二協(xié)議層。
68.如權利要求66所述的設備,其中所述第一預定部分是數(shù)據(jù)分組的網(wǎng)際協(xié)議(IP)首部。
69.如權利要求68所述的設備,其中所述第二預定部分是數(shù)據(jù)分組的數(shù)據(jù)字段的選定部分。
70.如權利要求68所述的設備,其中所述第二預定部分是數(shù)據(jù)分組的傳輸控制協(xié)議(TCP)首部。
71.如權利要求68所述的設備,其中所述第二預定部分是數(shù)據(jù)分組的用戶數(shù)據(jù)報協(xié)議(UDP)首部。
72.如權利要求58所述的設備,其中所述多個數(shù)據(jù)段是數(shù)據(jù)存儲設備中的扇區(qū)。
73.如權利要求72所述的設備,其中所述第一預定部分是在數(shù)據(jù)存儲設備的扇區(qū)中的第一選定部分,并且所述第二預定部分是所述扇區(qū)中的第二選定部分。
74.如權利要求58所述的設備,其中所述控制器包括第一加密表,用于根據(jù)所述第一預定部分中包含的數(shù)據(jù)來選擇第一解密信息集;和第二加密表,用于根據(jù)所述第二預定部分中包含的數(shù)據(jù)來選擇第二解密信息集。
75.一種用于密碼加密處理數(shù)據(jù)的設備,所述設備包括用于接收多個數(shù)據(jù)段的裝置;用于對每個數(shù)據(jù)段根據(jù)待加密的該數(shù)據(jù)段的預定部分中包含的數(shù)據(jù)來選擇加密信息集的裝置;和用于對每個數(shù)據(jù)段使用為該數(shù)據(jù)段選擇的加密信息集來進行加密的裝置。
76.如權利要求75所述的設備,其中所述用于選擇的裝置根據(jù)在所述預定部分中包含的數(shù)據(jù)來為每個數(shù)據(jù)段改變加密算法、加密密鑰和加密參數(shù)中的至少一個。
77.如權利要求75所述的設備,其中所述用于選擇的裝置包括用于對每個數(shù)據(jù)段根據(jù)該數(shù)據(jù)段的預定部分中包含的數(shù)據(jù)來產(chǎn)生值的裝置;和用于選擇與所產(chǎn)生值相關聯(lián)的加密信息集的裝置,所述加密信息集包括加密算法、加密密鑰以及可選地還包括加密參數(shù)。
78.如權利要求77所述的設備,其中所述用于產(chǎn)生值的裝置包括用于使用散列關鍵字來散列在所述預定部分中包含的數(shù)據(jù)的裝置。
79.如權利要求77所述的設備,還包括用于提供與產(chǎn)生值相關聯(lián)的加密類型標識符、用于所述加密類型的加密密鑰和加密參數(shù)的裝置。
80.如權利要求75所述的設備,其中所述預定部分包括用于選擇第一加密信息集的第一預定部分,該第一集包括第一加密算法、第一加密密鑰以及可選地還包括第一加密參數(shù);和用于選擇第二加密信息集的第二預定部分,該第二集包括第二加密算法、第二加密密鑰以及可選地還包括第二加密參數(shù)。
81.如權利要求80所述的設備,還包括用于使用所述第一加密信息集來加密所述第二預定部分的裝置。
82.如權利要求81所述的設備,還包括用于使用所述第二加密信息集來加密所述數(shù)據(jù)段的其余部分的裝置。
83.如權利要求82所述的設備,還包括用于為每個原始數(shù)據(jù)段產(chǎn)生加密數(shù)據(jù)段的裝置,所述加密數(shù)據(jù)段具有第一預定部分、第二預定部分和其余部分,所述第一預定部分包含所述原始數(shù)據(jù)段的相應第一預定部分中的原始數(shù)據(jù),所述第二預定部分包含所述原始數(shù)據(jù)段的相應第二預定部分的加密數(shù)據(jù),并且所述其余部分包含所述原始數(shù)據(jù)段的相應其余部分的加密數(shù)據(jù)。
84.如權利要求83所述的設備,還包括用于把多個加密數(shù)據(jù)段作為加密數(shù)據(jù)流發(fā)送的裝置。
85.如權利要求83所述的設備,還包括用于把多個加密數(shù)據(jù)段存儲在數(shù)據(jù)存儲設備上的裝置,每個加密數(shù)據(jù)段對應于所述數(shù)據(jù)存儲設備的各個數(shù)據(jù)扇區(qū)。
86.如權利要求83所述的設備,還包括用于接收包括多個加密數(shù)據(jù)段的加密數(shù)據(jù)的裝置;用于對每個加密數(shù)據(jù)段根據(jù)該加密數(shù)據(jù)段的第一預定部分中包含的數(shù)據(jù)來選擇第一加密信息集的裝置;用于使用為加密數(shù)據(jù)段選擇的第一加密信息集來解密每個加密數(shù)據(jù)段的第二預定部分中所包含的加密數(shù)據(jù)的裝置;用于對每個加密數(shù)據(jù)段根據(jù)所述第二預定部分的解密數(shù)據(jù)來選擇第二加密信息集的裝置;和用于對每個加密數(shù)據(jù)段的其余部分使用為該加密數(shù)據(jù)段選擇的第二加密信息集來進行解密的裝置。
87.如權利要求86所述的設備,其中所述用于選擇第一加密信息的裝置包括用于根據(jù)在所述加密數(shù)據(jù)段的第一預定部分中所包含的原始數(shù)據(jù)來產(chǎn)生第一值的裝置。
88.如權利要求87所述的設備,其中所述用于產(chǎn)生第一值的裝置包括用于使用第一散列關鍵字來散列所述第一預定部分中包含的數(shù)據(jù)的裝置。
89.如權利要求86所述的設備,其中所述用于選擇第二加密信息的裝置包括用于根據(jù)所述加密數(shù)據(jù)段的第二預定部分的解密數(shù)據(jù)來產(chǎn)生第二值的裝置。
90.如權利要求89所述的設備,其中所述用于產(chǎn)生第二值的裝置包括用于使用第二散列關鍵字來散列所述第二預定部分的解密數(shù)據(jù)的裝置。
91.一種用于密碼加密處理數(shù)據(jù)的設備,所述設備包括用于接收多個加密數(shù)據(jù)段的裝置,每個加密數(shù)據(jù)段具有預定部分;用于對每個加密數(shù)據(jù)段根據(jù)該加密數(shù)據(jù)段的預定部分中包含的數(shù)據(jù)來選擇加密信息集的裝置;和用于對每個加密數(shù)據(jù)段使用為該加密數(shù)據(jù)段選擇的加密信息來進行解密的裝置。
92.如權利要求91所述的設備,其中所述用于選擇的裝置包括用于為每個加密數(shù)據(jù)段根據(jù)該加密數(shù)據(jù)段的預定部分中包含的數(shù)據(jù)來產(chǎn)生值的裝置;和用于選擇與所產(chǎn)生值相關聯(lián)的加密信息集的裝置,所述加密信息集包括加密算法、加密密鑰以及可選地還包括加密參數(shù)。
93.如權利要求92所述的設備,其中所述用于產(chǎn)生值的裝置包括用于使用散列關鍵字來散列在所述預定部分中包含的數(shù)據(jù)的裝置。
94.如權利要求93所述的設備,還包括用于提供與產(chǎn)生值相關聯(lián)的加密類型標識符、用于所述加密類型的加密密鑰和加密參數(shù)的裝置。
95.如權利要求91所述的設備,其中所述預定部分包括用于選擇第一加密信息集的第一預定部分,該第一集包括第一加密算法、第一加密密鑰以及可選地還包括第一加密參數(shù);和用于選擇第二加密信息集的第二預定部分,該第二集包括第二加密算法、第二加密密鑰以及可選地還包括第二加密參數(shù)。
96.如權利要求95所述的設備,其中,已經(jīng)使用所述第一加密信息集加密了所述加密數(shù)據(jù)段的第二預定部分中包含的數(shù)據(jù)。
97.如權利要求96所述的設備,其中,已經(jīng)使用所述第二加密信息集加密了所述加密數(shù)據(jù)段的其余部分中包含的數(shù)據(jù)。
全文摘要
一種方法和設備密碼加密處理包括多個數(shù)據(jù)段的數(shù)據(jù)。密碼加密處理包括(a)接收多個數(shù)據(jù)段(100),(b)為每個數(shù)據(jù)段根據(jù)待加密的該數(shù)據(jù)段的預定部分中所包含的數(shù)據(jù)來選擇加密信息集(102,104),和(c)使用為數(shù)據(jù)段選擇的加密信息集來加密每個數(shù)據(jù)段(106)??梢愿鶕?jù)在所述預定部分中所包含的數(shù)據(jù)來為每個數(shù)據(jù)段改變加密算法、加密密鑰和加密參數(shù)中的至少一個。預定部分可以包括用于選擇第一加密信息集的第一預定部分和用于選擇第二加密信息集的第二預定部分,加密信息包括加密算法、加密密鑰以及可選地還有加密參數(shù)。
文檔編號H04L9/00GK1938980SQ200480042733
公開日2007年3月28日 申請日期2004年2月13日 優(yōu)先權日2004年2月13日
發(fā)明者尚志渡邊 申請人:Ivi斯馬特技術公司