器執(zhí)行時,產(chǎn)生了實現(xiàn)流程 圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0028] 也可W把該些計算機程序指令存儲在計算機可讀介質中,該些指令使得計算機、 其它可編程數(shù)據(jù)處理裝置、或其他設備W特定方式工作,從而,存儲在計算機可讀介質中的 指令就產(chǎn)生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令 的制造品(articleofmanufacture)。
[0029] 計算機程序指令還可被裝載到計算機、其它可編程數(shù)據(jù)處理裝置或其它設備上, W使得在計算機、其它可編程裝置或其它設備上執(zhí)行一系列操作步驟,W產(chǎn)生W計算機實 現(xiàn)的處理,W使得在計算機或其它可編程裝置上執(zhí)行的指令提供用于實現(xiàn)流程圖和/或方 框圖的一個或多個方框中指定的功能/動作的處理。
[0030] 另外,根據(jù)各種實施例的系統(tǒng)可W包括處理器和與處理器集成在一起和/或可 由處理器執(zhí)行的邏輯部件,所述邏輯部件被配置為執(zhí)行此處記載的一個或多個處理步驟。 集成意指該邏輯部件被作為硬件邏輯部件,諸如專用集成電路(ASIC)、現(xiàn)場可編程口陣列 (FPGA)等等嵌入處理器。可由處理器執(zhí)行意指所述邏輯部件是硬件邏輯部件、軟件邏輯部 件(諸如固件)、操作系統(tǒng)等等,或者可由處理器訪問的硬件邏輯部件和軟件邏輯部件的某 種組合,并且被配置為在被處理器執(zhí)行時,使得所述處理器執(zhí)行某些功能。軟件邏輯部件可 被存儲在本領域已知的任意存儲器類型的本地和/或遠程存儲器上??蒞使用本領域已 知的任意處理器,諸如軟件處理器模塊和/或硬件處理器,諸如ASIC、FPGA、中央處理單元 (CPU)、集成電路(1C)等等。
[003。 圖1說明了根據(jù)一個實施例的架構100。如圖1所示,提供多個遠程網(wǎng)絡(remote network) 102,包括第一遠程網(wǎng)絡104和第二遠程網(wǎng)絡106。網(wǎng)關101可被禪連在遠程網(wǎng)絡 102和附近網(wǎng)絡(proximatenetwork) 108之間。在當前架構100的背景下,網(wǎng)絡104、106 中的每一個可W采取任意形式,包括但不限于,LAN、WAN(諸如互聯(lián)網(wǎng))、公用交換電話網(wǎng) (PSTN)、內(nèi)部電話網(wǎng)等等。
[0032] 在使用中,網(wǎng)關101作為遠程網(wǎng)絡102到附近網(wǎng)絡108的進入點。因而,網(wǎng)關101 可W作為路由器,其能夠引導到達網(wǎng)關101的數(shù)據(jù)的給定分組,并且可W作為交換機,其提 供給定分組進出網(wǎng)關101的實際路徑。
[0033] 另外,包括禪連到附近網(wǎng)絡108的至少一個數(shù)據(jù)服務器114,并且可W通過網(wǎng)關 101從遠程網(wǎng)絡102訪問數(shù)據(jù)服務器114。應當注意,(一個或多個)數(shù)據(jù)服務器114可W 包括任意類型的計算設備/群組(groupware)。多個用戶設備116禪連到每一個數(shù)據(jù)服務 器114。該些用戶設備116可W包括臺式計算機、膝上計算機、手持式計算機、打印機或者任 意其它類型的邏輯部件。應當注意,在一個實施例中,用戶設備111還可W直接禪連到任意 網(wǎng)絡。
[0034] 外設120或者一系列外設120,例如,傳真機、打印機、聯(lián)網(wǎng)的和/或本地存儲單元 或者系統(tǒng)等等可被禪連到一個或多個網(wǎng)絡104、106、108。應當注意,數(shù)據(jù)庫和/或附加組件 可與禪連到網(wǎng)絡104、106、108的任意類型的網(wǎng)絡元件一起使用,或集成到禪連到網(wǎng)絡104、 106U08的任意類型的網(wǎng)絡元件內(nèi)。在本說明書的上下文中,網(wǎng)絡元件可W指網(wǎng)絡的任意組 件。
[0035] 根據(jù)某些方案,此處描述的方法和系統(tǒng)可利用和/或在虛擬系統(tǒng)和/或模擬一 個或多個其它系統(tǒng)的系統(tǒng)(諸如模擬IBMz/OS環(huán)境的UNIX系統(tǒng)、虛擬地巧管MICROSOFT WINDOWS環(huán)境的UNIX系統(tǒng)、模擬IBMz/OS環(huán)境的MICROSOFTWINDOWS系統(tǒng)等等)上實現(xiàn)。 在某些實施例中,可W通過使用VMWARE軟件增強該種虛擬化和/或模擬。
[0036] 在更多方法中,一個或多個網(wǎng)絡104、106、108可W表示通常被稱為"云"的系統(tǒng) 集群。在云計算中,共享的資源,諸如處理能力、外圍設備、軟件、數(shù)據(jù)、服務器等等被W按需 的關系提供給云內(nèi)的任意系統(tǒng),從而允許跨許多計算系統(tǒng)的服務訪問和分布。云計算一般 涉及在云中操作的系統(tǒng)之間的互聯(lián)網(wǎng)連接,但是還可W使用連接系統(tǒng)的其它技術。
[0037] 圖2示出了根據(jù)一個實施例,與圖1的用戶設備116和/或服務器114相關聯(lián)的 代表性的硬件環(huán)境。該圖示出了具有中央處理單元210 (諸如微處理器),W及通過系統(tǒng)總 線212互連的若干其它單元的工作站的典型硬件配置。
[0038] 圖2所示的工作站包括隨機訪問存儲器(RAM)214、只讀存儲器(R0M)216、用于將 外圍設備(諸如盤存儲單元220)連接到總線212的1/0適配器218、用于將鍵盤224、鼠標 226、揚聲器228、麥克風232和/或其它用戶接口設備(諸如觸摸屏和數(shù)字照相機(未示 出))連接到總線212的用戶接口適配器222、用于將工作站連接到通信網(wǎng)絡235 (例如,數(shù) 據(jù)處理網(wǎng)絡)的通信適配器234、W及用于將總線212連接到顯示設備238的顯示器適配器 236。
[0039] 該工作站可W具有駐留在其上的操作系統(tǒng),諸如MicrosoftWindows⑩操作系 統(tǒng)(0S)、MC0S、UNIX0S等等。應當理解,還可W在除提及的操作系統(tǒng)W外的平臺和操作 系統(tǒng)上實現(xiàn)優(yōu)選的實施例??蒞使用JAVA、XML、C和/或C++語言或者其它編程語言W及 面向對象的編程方法來編寫優(yōu)選的實施例??蒞使用被越來越多地用于開發(fā)復雜應用的面 向對象編程(OOP)。
[0040] 現(xiàn)在參考圖3,示出了根據(jù)一個實施例的系統(tǒng)300。作為一種選擇,可W結合來自 此處列舉的任意其它實施例(諸如,參考其它附圖描述的那些)的特征來實現(xiàn)當前系統(tǒng) 300。然而,當然該系統(tǒng)300及此處給出的其它系統(tǒng)可被用于可能或者可能未在此處列舉的 說明性實施例中特別描述的各種應用和/或置換中。另外,可W在任意所希望的環(huán)境中使 用此處給出的系統(tǒng)300。
[0041] 系統(tǒng)300被配置為W數(shù)據(jù)流308中的數(shù)據(jù)塊302,將數(shù)據(jù)存儲到一個或多個存儲 介質304和/或存儲介質306。一個或多個存儲介質304和/或存儲介質306可W是本 領域已知的任意類型的存儲介質,諸如RAM、EEPR0M、閃速存儲器W及其它類型的非易失 RAM(NVRAM)、硬盤、光盤、磁帶等等。另外,一個或多個存儲介質304和/或存儲介質306可 被分離(S巧arate)、分開(partition)、或者W某些其它方式劃分(divide)為緩沖區(qū),W存 儲彼此分離的單獨的數(shù)據(jù)塊302。
[0042] 系統(tǒng)300被配置為從某外部設備、系統(tǒng)、應用等等接收流308,并且從流308產(chǎn)生數(shù) 據(jù)塊302。在一個實施例中,數(shù)據(jù)流308被發(fā)送給系統(tǒng)300,W準備將存儲到最終的存儲介 質330 (諸如硬盤、磁帶、光盤等等)的數(shù)據(jù),并且在準備將數(shù)據(jù)存儲到最終的存儲介質330 時,一個或多個存儲介質304和/或存儲介質306被用作臨時緩沖。
[0043]數(shù)據(jù)流308 -旦被系統(tǒng)300接收到,可被從最終的存儲介質330或者某其它所希 望的數(shù)據(jù)源讀取的該數(shù)據(jù)流308被分割為數(shù)據(jù)塊302,并且被存儲在一個或多個存儲介質 304和/或存儲介質306內(nèi)。根據(jù)一個實施例,數(shù)據(jù)塊302具有該樣的大小,從而使得一個 塊302納入前面所述的一個或多個存儲介質304和/或存儲介質306的一個部分中。在其 它實施例中,多于或少于一個數(shù)據(jù)塊302可W納入一個或多個存儲介質304和/或存儲介 質306的每一個部分中,諸如2個塊302、4個塊302、8個塊302等等。
[0044] 然后使用加密模塊或者引擎310對每個數(shù)據(jù)塊302進行加密,W產(chǎn)生加密數(shù)據(jù)塊 312。加密模塊310是多頻帶(multiband)獨立流水線加密模塊,并且配置為運行多個獨立 的流水線加密運算,從而使得每個數(shù)據(jù)塊302被與任意其它數(shù)據(jù)塊302無關地加密和/或 解密。該些加密數(shù)據(jù)塊312可在被存儲到存儲介質306之前,暫時被寫入到一個或多個存 儲介質304、在被寫入到一個或多個存儲介質304之前,被寫入到存儲介質306、被存儲在一 個或多個存儲介質304和/或存儲介質306任意其中之一內(nèi)等等。為了描述的變化,加密 數(shù)據(jù)塊312被示出為被存儲到存儲介質306,而解密數(shù)據(jù)塊324被示出為被存儲到一個或多 個存儲介質304。當然,如本領域技術人員理解的,可W使用任意特定的布置,而不限于圖3 所示的布置。
[0045] 在一個其它實施例中,僅僅存在一個存儲介質306,并且一個或多個存儲介質304 實際上可W是存儲介質306的部分,從而加密數(shù)據(jù)塊312 (并且可能地某些加密測試向量 318)被存儲到與解密數(shù)據(jù)塊324(并且可能地解密測試向量320)相同的存儲介質306。在 另一個替換實施例中,最終的存儲介質330可W包括存儲介質306和/或一個或多個存儲 介質304,從而在加密/解密循環(huán)的每一個級期間,僅僅使用一個存儲介質330來進行數(shù)據(jù) 和測試向量的存儲。
[0046] 根據(jù)一個實施例,解密模塊或者引擎314被配置為接收包括加密數(shù)據(jù)塊312 (并且 可能地某些加密測試向量318)的加密數(shù)據(jù)流328。根據(jù)另一個實施例,解密模塊或者引擎 314被配置為根據(jù)該加密數(shù)據(jù)流328提供解密數(shù)據(jù)塊324 (并且可能地某些解密測試向量 320)。
[0047] 如圖3所示的具有獨立流水線級的高效多級流水線加密與解密允許使能XTS的流 式(streamed)多頻帶加密和/或多頻帶AES類加密方案(等等),W及允許給加密/解密 循環(huán)添加少于大約10yS的延遲開銷的近線數(shù)據(jù)傳輸速度。每一個流水線級在加密模塊 310和解密模塊314兩者中獨立地操作,每一級表示加密處理中的單個回合(round)。
[00