專利名稱:機密信息處理機器、機密信息處理裝置及機密信息處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的機密信息處理裝置,以容易的控制,可以將流輸入一次來進行多種且多次加密運算。并且,本發(fā)明涉及的機密信息處理機器是一種機密信息處理機器, 對數(shù)據(jù)流所包含的不同對象數(shù)據(jù)進行多次加密運算,包括接收部, 接收從外部機器發(fā)送的數(shù)據(jù)流;至少一個流分析部,通過分析由所述 接收部接收的數(shù)據(jù)流,從而判別所述對象數(shù)據(jù);至少一個加密運算部, 保持上下文,并使用所保持的所述上下文對數(shù)據(jù)流所包含的所述對象 數(shù)據(jù)進行加密運算,所述上下文包含加密運算中使用的密鑰、初始值 以及加密運算中途的中間信息中的一個以上;上下文存儲部,存儲多 個所述上下文;對應(yīng)表存儲部,存儲對應(yīng)表,該對應(yīng)表示出對數(shù)據(jù)流 進行加密運算的次數(shù)和每次加密運算中使用的上下文;上下文控制部, 在所述加密運算部所保持的所述上下文與所述對應(yīng)表所示的加密運算 中使用的上下文不一致的情況下,使所述加密運算部所保持的上下文 退避到所述上下文存儲部,并且使所述上下文存儲部所存儲的所述多 個上下文中的、所述對應(yīng)表所示的加密運算中使用的上下文返回到所 述加密運算部;顯示部,再生并顯示數(shù)據(jù)流;以及流控制部,將由所 述加密運算部進行了所述對應(yīng)表所示的次數(shù)的加密運算的數(shù)據(jù)流輸出 到所述顯示部,將從所述外部裝置輸入的數(shù)據(jù)流以及由所述加密運算 部進行了加密運算的次數(shù)未滿所述對應(yīng)表所示的次數(shù)的加密運算的數(shù) 據(jù)流,輸出到所述流分析部。根據(jù)該結(jié)構(gòu),在接收、再生以及顯示加密后的數(shù)據(jù)的機密信息處 理裝置中,可以實現(xiàn)對一個流進行運算方法不是唯一的多次加密運算, 并且可以容易地進行由軟件的控制。并且,本發(fā)明涉及的機密信息處理機器是一種機密信息處理機器, 對數(shù)據(jù)流所包含的不同對象數(shù)據(jù)進行多次加密運算,包括至少一個 流分析部,通過分析數(shù)據(jù)流,從而判別所述對象數(shù)據(jù);至少一個加密運算部,保持上下文,并使用所保持的所述上下文對數(shù)據(jù)流所包含的 所述對象數(shù)據(jù)進行加密運算,所述上下文包含加密運算中使用的密鑰、初始值以及加密運算中途的中間信息中的一個以上;上下文存儲部, 存儲多個所述上下文;對應(yīng)表存儲部,存儲對應(yīng)表,該對應(yīng)表示出對 數(shù)據(jù)流進行加密運算的次數(shù)和每次加密運算中使用的上下文;上下文 控制部,在所述加密運算部所保持的所述上下文與所述對應(yīng)表所示的 加密運算中使用的上下文不一致的情況下,使所述加密運算部所保持 的上下文退避到所述上下文存儲部,并且使所述上下文存儲部所存儲 的所述多個上下文中的、所述對應(yīng)表所示的加密運算中使用的上下文 返回到所述加密運算部;發(fā)送部,將數(shù)據(jù)流發(fā)送到外部機器;以及流 控制部,將由所述加密運算部進行了所述對應(yīng)表所示的次數(shù)的加密運 算的數(shù)據(jù)流輸出到所述發(fā)送部,將從外部裝置輸入的數(shù)據(jù)流以及由所 述加密運算部進行了加密運算的次數(shù)未滿所述對應(yīng)表所示的次數(shù)的加 密運算的數(shù)據(jù)流,輸出到所述流分析部。根據(jù)該結(jié)構(gòu),在加密并發(fā)送明文數(shù)據(jù)的機密信息處理裝置中,可 以實現(xiàn)對一個流進行運算方法不是唯一的多次加密運算,并且可以容 易地進行由軟件的控制。并且,本發(fā)明涉及的機密信息處理方法是一種機密信息處理裝置 中的機密信息處理方法,所述機密信息處理裝置對從外部裝置輸入的第一數(shù)據(jù)流所包含的不同對象數(shù)據(jù)進行多次加密運算,所述機密信息 處理裝置,包括至少一個流分析部,通過分析數(shù)據(jù)流,從而判別所 述對象數(shù)據(jù);至少一個加密運算部,保持上下文,并使用所保持的所 述上下文對數(shù)據(jù)流所包含的所述對象數(shù)據(jù)進行加密運算,所述上下文 包含加密運算中使用的密鑰、初始值以及加密運算中途的中間信息中 的一個以上;上下文存儲部,存儲多個所述上下文;對應(yīng)表存儲部, 存儲對應(yīng)表,該對應(yīng)表示出對數(shù)據(jù)流進行加密運算的次數(shù)、和每次加 密運算中使用的上下文;上下文控制部,在所述加密運算部所保持的 所述上下文與所述對應(yīng)表所示的加密運算中使用的上下文不一致的情 況下,使所述加密運算部所保持的上下文退避到所述上下文存儲部, 并且使所述上下文存儲部所存儲的所述多個上下文中的、所述對應(yīng)表 所示的加密運算中使用的上下文返回到所述加密運算部;以及流控制 部,將由所述加密運算部進行加密運算的數(shù)據(jù)流輸出到所述外部裝置 或所述流分析部,并且,在所述對應(yīng)表示出對所述第一數(shù)據(jù)流進行兩 次以上的加密運算的情況下所述流分析部,從所述第一數(shù)據(jù)流判別 出第一對象數(shù)據(jù),所述加密運算部,通過對所述第一數(shù)據(jù)流所包含的 所述第一對象數(shù)據(jù)進行加密運算,從而生成第二數(shù)據(jù)流,所述流控制 部,將所述第二數(shù)據(jù)流輸出到所述流分析部,所述流分析部,從所述 第二數(shù)據(jù)流判別出第二對象數(shù)據(jù),所述加密運算部,通過對所述第二 數(shù)據(jù)流所包含的所述第二對象數(shù)據(jù)進行加密運算,從而生成第三數(shù)據(jù) 流,所述流控制部,將所述第三數(shù)據(jù)流輸出到所述外部裝置。據(jù)此,上下文控制部,根據(jù)對應(yīng)表所示的進行加密運算的次數(shù),將加密運算后的流輸出到外部裝置或其它流分析部。因此,通過在對 應(yīng)表設(shè)定進行加密運算的次數(shù),從而可以設(shè)定任意的運算次數(shù)。因此, 本發(fā)明涉及的機密信息處理裝置,可以對一個流進行任意的次數(shù)的加 密運算。而且,即使在每次結(jié)束加密運算時不向外部輸出流,也可以 將流輸入一次來進行多次加密運算。并且,通過在對應(yīng)表設(shè)定進行加 密運算的次數(shù),從而可以容易地變更進行加密運算的次數(shù)。而且,在上下文存儲部存儲多個上下文。并且,上下文控制部, 進行加密運算中使用的上下文的保存以及返回。據(jù)此,通過從上下文 存儲部讀出對應(yīng)的上下文,從而可以容易地對應(yīng)多種運算方法。并且, 加密運算部包括可以存儲至少一個上下文的寄存器等即可,因此可以 減少加密運算部的電路規(guī)模。并且,設(shè)定針對多種運算方法的上下文, 并且將所設(shè)定的上下文存儲到上下文控制部,從而可以容易地設(shè)定運 算方法的變更以及追加等。如此,本發(fā)明涉及的機密信息處理裝置,可以對一個流迸行運算 方法不是唯一的、多種且多次加密運算,并且可以容易地進行由軟件 的控制。根據(jù)所述內(nèi)容,可以提供一種機密信息處理裝置、機密信息處理 機器以及機密信息處理方法,其可以對一個流進行運算方法不是唯一 的、多次加密運算,并且可以容易地進行由軟件的控制。
圖1是本發(fā)明的實施方式涉及的機密信息處理機器的外觀圖。圖2是本發(fā)明的實施方式涉及的機密信息處理機器的結(jié)構(gòu)框圖。 圖3是本發(fā)明的實施方式涉及的機密信息處理裝置的結(jié)構(gòu)框圖。 圖4是示出本發(fā)明的實施方式涉及的上下文對應(yīng)表的結(jié)構(gòu)的一個 例子的圖。圖5是本發(fā)明的實施方式涉及的流控制部的結(jié)構(gòu)框圖。 圖6是本發(fā)明的實施方式涉及的上下文存儲表的結(jié)構(gòu)的一個例子 的圖。圖7是本發(fā)明的實施方式涉及的機密信息處理裝置的處理的流程圖。圖8是示出由本發(fā)明的實施方式涉及的機密信息處理裝置對第一 運算例中的流ID "0"的流進行的處理的圖。圖9是示出由本發(fā)明的實施方式涉及的機密信息處理裝置對第一 運算例中的流ID "1"的流進行的處理的圖。圖IO是本發(fā)明的實施方式涉及的機密信息處理裝置的第二運算例 中的流的結(jié)構(gòu)圖。圖11是示出由本發(fā)明的實施方式涉及的機密信息處理裝置對第二 運算例中的流進行的處理的圖。圖12是本發(fā)明的實施方式涉及的機密信息處理裝置的第三運算例 中的流的結(jié)構(gòu)圖。圖13是示出由本發(fā)明的實施方式涉及的機密信息處理裝置對第三 運算例中的流進行的處理的圖。圖14是示出由本發(fā)明的實施方式涉及的機密信息處理裝置對第五運算例中的流進行的處理的圖。圖15是本發(fā)明的實施方式涉及的流控制部的變形例的結(jié)構(gòu)框圖。 圖16是本發(fā)明的實施方式涉及的機密信息處理機器的變形例的結(jié) 構(gòu)框圖。
具體實施方式
下面,對于本發(fā)明涉及的機密信息處理裝置的實施例,參照附圖 進行詳細說明。首先,說明包括本發(fā)明的實施例涉及的機密信息處理裝置的機密 信息處理機器的結(jié)構(gòu)。圖1是示出包括本發(fā)明的實施例涉及的機密信息處理裝置的機密 信息處理機器的外觀的一個例子的圖。如圖1所示,機密信息處理機 器100是例如移動電話。圖2是機密信息處理機器100的結(jié)構(gòu)框圖。圖2所示的機密信息 處理機器100可以對一個流所包含的不同對象數(shù)據(jù)進行多次加密運算。 并且,機密信息處理機器100可以對輻輳的多個流進行加密運算。機密信息處理機器100包括天線101;接收部102;發(fā)送部103、顯示部104;記憶部105以及機密信息處理裝置200。 天線101是用于發(fā)送或接收的天線。接收部102使用天線101接收從外部機器發(fā)送來的運動圖像流或 聲音流等流。記憶部105記憶由接收部102接收的流。并且,記憶部105記憶-由機密信息處理機器100生成的運動圖像數(shù)據(jù)等。例如,記憶部105 記憶由機密信息處理機器100具有的攝像器(圖中不示出)攝像的運動 圖像數(shù)據(jù)。例如,記憶部105是RAM(隨機存儲器)、硬盤或非易失性 存儲器等。機密信息處理裝置200是本發(fā)明的實施例涉及的機密信息處理裝 置。機密信息處理裝置200,對由接收部102接收的流所包含的加密后 的數(shù)據(jù)進行解密。并且,機密信息處理裝置200,對由接收部102接收 的流所包含的明文數(shù)據(jù)、以及記憶部105所保持的運動圖像數(shù)據(jù)等進 行加密。發(fā)送部103,使用天線101將由機密信息處理裝置200加密的流發(fā) 送到外部機器。顯示部104,再生并顯示由機密信息處理裝置200解密的流。 而且,機密信息處理裝置200,可以對記錄在存儲介質(zhì)(SD存儲器 等)的數(shù)據(jù)進行加密運算。并且,機密信息處理裝置200,可以對在通 過網(wǎng)絡(luò)相連接的外部機器之間被發(fā)送以及接收的數(shù)據(jù)進行加密運算。并且,接收部102以及發(fā)送部103的功能,可以由專用電路來實 現(xiàn),也可以通過CPU等執(zhí)行程序來實現(xiàn)。其次,說明機密信息處理裝置200的結(jié)構(gòu)。 圖3是本發(fā)明的實施例涉及的機密信息處理裝置200的結(jié)構(gòu)框圖。 機密信息處理裝置200,可以對一個流所包含的不同對象數(shù)據(jù)進行 兩次加密運算。并且,機密信息處理裝置200,可以對輻輳的兩個流進 行加密運算。機密信息處理裝置200包括上下文控制部210;上下文存儲部211;流控制部220以及221;流分析部230、 231、 232以及233; 調(diào)解部240; AES運算部250; DES運算部251以及SHA1運算部252。上下文存儲部211存儲上下文對應(yīng)表212和上下文存儲表213。例 如,上下文存儲部211由RAM構(gòu)成。而且,上下文存儲部211可以由 硬盤或非易失性存儲器等構(gòu)成。上下文對應(yīng)表212是一種表,示出流的類別、對該流進行加密運 算的次數(shù)以及與該各個加密運算對應(yīng)的上下文的類別。在此,上下文 是對加密運算需要的信息。上下文存儲表213存儲上下文,該上下文即是對流的加密運算需 要的信息。即,上下文存儲部211存儲多個上下文。上下文存儲表213 所包含的多個上下文中分別包含,各個上下文的類別(上下文ID)、以 及對與各個上下文的類別對應(yīng)的加密運算需要的信息。具體而言,上 下文包含加密運算中使用的密鑰、初始值以及在加密運算中途的中間 信息(在CBC模式運算中的前塊的運算結(jié)果等)等。并且,上下文包含 示出在流所包含的數(shù)據(jù)中進行加密運算的區(qū)域的信息。而且,在輸入進行加密運算的流之前,由外部裝置202設(shè)定,上 下文存儲部211所存儲的上下文對應(yīng)表212以及上下文存儲表213。流控制部220,將從外部裝置201輸入的流(以下,稱為"輸入流 ")輸出到流分析部230或231。并且,流控制部220,將由流分析部230 或231輸出的加密運算后的流(以下,稱為"輸出流"),按照上下文對 應(yīng)表212,輸出到外部裝置201、其它流分析部230或231。并且,流控制部220,識別從外部裝置201輸入的輸入流的屬性。流控制部220,根據(jù)識別結(jié)果即流ID、和上下文對應(yīng)表212,構(gòu)成并控 制外部裝置201、流分析部230以及流分析部231之間的數(shù)據(jù)通路。圖4是示出上下文對應(yīng)表212的結(jié)構(gòu)的一個例子的圖。上下文對應(yīng)表212存儲與對輸入流的運算方法和運算順序有關(guān)的 信息。如圖4所示,在上下文對應(yīng)表212中記載,對流標(biāo)識符(流ID) 執(zhí)行的加密運算的上下文的標(biāo)識符(上下文ID)。在上下文對應(yīng)表212 中按每個流ID記載,對應(yīng)第一次的加密運算的上下文ID、和對應(yīng)第二 次的加密運算的上下文ID。流控制部220,在上下文對應(yīng)表212中,對輸入流的流ID指定了 第二段的上下文ID的情況下,判斷為對輸入流連續(xù)進行兩次加密運算, 而在對輸入流的流ID沒有指定第二段的上下文ID的情況下,判斷為 對輸入流只進行一次加密運算。例如,在圖4所示的例子中,對流ID "2"的流進行使用上下文ID "2"的加密運算,對進行使用上下文ID "2"的加密運算后的流進行使用上下文ID "3"的加密運算。并且, 對流ID"O"的流,只進行對應(yīng)上下文ID"O"的加密運算,而不進行 第二次的加密運算。例如,在輸入流之前,預(yù)先由外部裝置202設(shè)定上下文對應(yīng)表212 的內(nèi)容。圖5是流控制部220的結(jié)構(gòu)圖。流控制部220包括選擇器301以及緩沖器302。選擇器301,選擇 由流分析部230或231輸出的輸出流,而輸出到外部裝置201。緩沖器 302,保持由流分析部230輸出的輸出流,并且將所保持的輸出流輸出到流分析部231。并且,流控制部220,將從外部裝置201輸入的輸入 流輸出到流分析部230。具體而言,在對輸入流進行一次加密運算的情況下,選擇器301, 選擇由流分析部230輸出的輸出流,而輸出到外部裝置201。在對輸入 流進行兩次加密運算的情況下,選擇器301,選擇由流分析部231輸出 的輸出流,而輸出到外部裝置201。艮P,在對從外部裝置201輸入的輸入流進行一次加密運算的情況 下,流控制部220,將從外部裝置201輸入的輸入流輸出到流分析部 230,并且將由流分析部230輸出的輸出流輸出到外部裝置201。并且,在對從外部裝置201輸入的輸入流進行兩次加密運算的情 況下,流控制部220,將從外部裝置201輸入的輸入流輸出到流分析部 230,并且將由流分析部231輸出的、進行兩次加密運算后的流輸出到 外部裝置201 。再者,流控制部220,使緩沖部302保持由流分析部230 輸出的進行一次加密運算后的流,緩沖部302將所保持的流輸出到流 分析部231。在此,外部裝置202是例如機密信息處理機器100包括的CPU。 并且,外部裝置201是例如機密信息處理機器100包括的CPU、 DMA 控制器或DSP(Digital Signal Processor:數(shù)字信號處理器)。外部裝置201以及202,通過上下文控制部210,可以改寫上下文 存儲部211所存儲的上下文對應(yīng)表212以及上下文存儲表213。并且, 外部裝置201以及202,通過上下文控制部210,可以讀出上下文對應(yīng) 表212以及上下文存儲表213。而且,機密信息處理機器200可以包括外部裝置201以及202。流控制部221,將從外部裝置202輸入的輸入流輸出到流分析部 232或233。并且,流控制部221,將由流分析部232或233輸出的加 密運算后的輸出流輸出到外部裝置202、其它流分析部232或233。而且,對于流控制部221的結(jié)構(gòu)以及詳細工作,由于與流控制部 220相同,因此省略說明。流分析部230以及231,根據(jù)上下文存儲表213所包含的對應(yīng)流的 上下文,從由流控制部220輸出的輸入流中判別出成為加密運算的對 象的對象數(shù)據(jù)。流分析部230以及231,將用于確定對象數(shù)據(jù)的信息、 和輸入流輸出到調(diào)解部240。具體而言,流分析部230以及231,保持對應(yīng)輸入流的一組上下文。 流分析部230以及231,將所保持的上下文所包含的信息所示的區(qū)域的 數(shù)據(jù)判別為對象數(shù)據(jù),所述信息示出進行加密運算的區(qū)域。并且,流 分析部230以及231,將由調(diào)解部240輸出的輸出流輸出到流控制部 220。流分析部232以及233,根據(jù)上下文存儲表213所包含的對應(yīng)流的 上下文,從由流控制部221輸出的輸入流中判別出成為加密運算的對 象的對象數(shù)據(jù)。流分析部232以及233,將用于確定對象數(shù)據(jù)的信息、 和輸入流輸出到調(diào)解部240。具體而言,流分析部232以及233,保持對應(yīng)輸入流的一組上下文。 流分析部232以及233,將所保持的上下文所包含的信息所示的區(qū)域的 數(shù)據(jù)判別為對象數(shù)據(jù),所述信息示出進行加密運算的區(qū)域。。并且,流分析部232以及233,將由調(diào)解部240輸出的輸出流輸出到流控制部 221。調(diào)解部240,調(diào)解由流分析部230、 231、 232以及233輸出的輸入 流。具體而言,調(diào)解部240,在由多個流分析部230、 231、 232以及 233同時輸入應(yīng)當(dāng)以同一加密算法進行處理的輸入流的情況下,決定對 由流分析部230、 231、 232以及233中的哪個輸入流進行處理。即, 調(diào)解部240,根據(jù)適當(dāng)?shù)恼{(diào)解次序來依次處理輸入流。例如,調(diào)解部 240,根據(jù)由流分析部230、 231、 232以及233設(shè)定的優(yōu)先次序來決定 要處理的輸入請求。而且,調(diào)解部240,可以使用循環(huán)(round-robin)方 式等其它算法,來決定要處理的輸入請求。并且,調(diào)解部240,在接收由流分析部230、 231、 232以及233 輸出的輸入流的情況下,根據(jù)上下文存儲表來決定處理時的加密算法。 調(diào)解部240,將輸入流和用于確定對象數(shù)據(jù)的信息,輸出到對應(yīng)決定的 加密算法的運算部250、 251或252。并且,調(diào)解部240,將來自運算部250、 251或252的輸出流,輸 出到輸入流的輸出源的流分析部230、 231、 232或233。AES運算部250,對由調(diào)解部240輸入的輸入流所包含的運算對 象部分即對象數(shù)據(jù),進行使用密鑰加密算法AES(Advanced Encryption Standard:高級加密標(biāo)準(zhǔn))的加密運算。DES運算部251,對由調(diào)解部240輸入的輸入流所包含的運算對 象部分即對象數(shù)據(jù),進行使用密鑰加密算法DES(Data Encryption Standard:數(shù)據(jù)加密標(biāo)準(zhǔn))的加密運算。艮口, AES運算部250以及DES運算部251,根據(jù)由調(diào)解部240輸 出的、用于確定對象數(shù)據(jù)的信息,對由流分析部230、 231、 232或233 判別的對象數(shù)據(jù)進行加密運算。具體而言,AES運算部250以及DES運算部251,通過對對象數(shù) 據(jù)進行ECB(Electronic Codebook:電子密碼本)模式以及CBC(Cipher Block Chain:密碼分組鏈接)模式等機密模式運算,從而對對象數(shù)據(jù)進 行加密或解密。并且,AES運算部250以及DES運算部251 ,通過對對象數(shù)據(jù)進 行CBC-MAC(Message Authentication Code:消息驗證代碼)模式以及 CMAC(Cipher-based Message Authentication Code:基于密碼的消息驗證 代碼)等認證模式運算,從而生成消息認證符(MAC值)。并且,AES運算部250以及DES運算部251 ,通過對對象數(shù)據(jù)進 行CCM(Counter-mode with CBC-MAC:計數(shù)器模式和密碼分組鏈接消 息驗證代碼)模式、GCM(Galois/Counter Mode:伽羅瓦計數(shù)器模式)等 附帶認證的機密模式運算,從而對對象數(shù)據(jù)進行加密或解密,并且生 成MAC值。AES運算部250以及DES運算部251,在實施機密模式運算的情 況下,將針對由調(diào)解部240輸入的輸入流、使運算對象部分以外的所 輸入的數(shù)據(jù)不變、以運算對象部分替換為機密模式運算的運算結(jié)果的 輸出流,輸出到調(diào)解部240。并且,AES運算部250以及DES運算部 251,在實施認證模式的情況下,將由調(diào)解部240輸入的輸入流作為輸 出流,原封不動地輸出到調(diào)解部240。并且,AES運算部250以及DES運算部251,將對運算對象部分 使用認證模式的運算結(jié)果即MAC值,作為上下文輸出到上下文控制部 210。并且,AES運算部250以及DES運算部251,在實施附帶認證的 機密模式的情況下,將針對由調(diào)解部240輸入的輸入流、使運算對象 部分以外的所輸入的數(shù)據(jù)不變、以運算對象部分替換為附帶認證的機 密模式所包含的機密模式的運算結(jié)果的輸出流,輸出到調(diào)解部240。再 者,AES運算部250以及DES運算部251,將附帶認證的機密模式所 包含的機密模式的的運算結(jié)果即MAC值,作為上下文輸出到上下文控 制部210。并且,AES運算部250以及DES運算部251,按照上下文存儲表 213的設(shè)定,將由調(diào)解部240輸入的輸入流中所指定的部分替換為MAC 值,并作為輸出流輸出到調(diào)解部240。并且,AES運算部250以及DES運算部251,按照上下文存儲表 213的設(shè)定,對由調(diào)解部240輸入的輸入流中所指定的部分和MAC值 進行比較。SHA1運算部252,對由調(diào)解部240輸入的輸入流中的運算對象部 分,執(zhí)行使用散列算法SHA(Secure Hash Algorithm:安全散列算法)的 運算。具體而言,SHA1運算部252,實施普通的散列運算以及 HMAC(Keyed陽Hashing for Message Authentication Code:鍵入-散歹!j 去用 于消息驗證代碼)模式等的運算,從而生成散列值以及MAC值。SHA1運算部252,在實施普通的散列運算或HMAC模式等的運 算的情況下,將由調(diào)解部240輸入的輸入流原封不動地輸出到調(diào)解部 240。并且,SHA1運算部252,將對運算對象部分的普通的散列運算 或HMAC模式等的運算結(jié)果即散列值或MAC值,作為上下文輸出到 上下文控制部210。并且,SHA1運算部252,按照上下文存儲表213的設(shè)定,將由調(diào) 解部240輸入的輸入流中的所指定的部分替換為散列值或MAC值,并 作為輸出流輸出到調(diào)解部240。并且,SHA1運算部252,按照上下文存儲表213的設(shè)定,對由調(diào) 解部240輸入的輸入流中的所指定的部分和散列值或MAC值進行比 較。如上所述,AES運算部250以及DES運算部251,在認證模式以 及附帶認證的機密模式中,也與機密模式相同輸出與輸入流的長度相 同的輸出流。并且,SHA1運算部252,輸出與輸入流的長度相同的輸 出流。因此,與密鑰加密算法以及散列算法的算法以及模式無關(guān),可 以以同一方法輸出并輸入流。據(jù)此,本發(fā)明的實施例涉及的機密信息 處理裝置200,可以對輸入流以容易的控制來進行多次運算。并且,AES運算部250、 DES運算部251以及SHA1運算部252, 分別保持一組上下文260、 261以及262。 AES運算部250、 DES運算 部251以及SHA1運算部252,分別使用所保持的上下文260、 261以 及262進行加密運算。上下文控制部210,在運算部250、 251以及252不保持對應(yīng)輸入流的上下文的情況下,使運算部250、251以及252所保持的上下文260、 261以及262保存到上下文存儲部211,并且使上下文存儲部211所存 儲的多個上下文中的、運算部250、 251以及252的加密運算中使用的 上下文寫入到運算部250、 251以及252,從而返回上下文。并且,上下文控制部210,在流分析部230、 231、 232以及233 不保持對應(yīng)輸入流的上下文的情況下,使流分析部230、 231、 232以 及233所保持的上下文保存到上下文存儲部211,并且使上下文存儲部 211所存儲的多個上下文中的、對應(yīng)輸入流的上下文寫入到流分析部 230、 231、 232以及233。并且,由專用電路(硬件)構(gòu)成上下文控制部210;流控制部220以 及221;流分析部230、 231、 232以及233;調(diào)解部240; AES運算部 250; DES運算部251; SHA1運算部252。圖6是示出上下文存儲表213的結(jié)構(gòu)的一個例子的圖。上下文存儲表213存儲多個上下文,使用上下文ID來區(qū)別各個上 下文。上下文存儲表213所包含的各個上下文包含上下文ID;算法;模式;首部(header)長度;有效負載長度;尾部(footer)長度;尾數(shù)輸出 標(biāo)記;有效負載連續(xù)次數(shù);流非輸出標(biāo)記;散列值替換位置;散列值 比較位置;密鑰以及初始值;中間信息;散列值。上下文所包含的算法是,輸入流的加密運算中使用的加密算法。 上下文所包含的模式是,對輸入流的加密運算的加密模式。例如,在 上下文存儲表213中示出,對于上下文ID"O",使用密鑰加密算法AES、且以CBC模式對輸入流進行解密。并且,上下文所包含的算法,分別對應(yīng)機密信息處理裝置200包 括的多個運算部250、251以及252。在圖6所示的例子中,算法"AES"、 "DES"以及"SHA1",分別對應(yīng)AES運算部250、 DES運算部251 以及SHA1運算部252。調(diào)解部240,將由流分析部230、 231、 232或233輸出的輸入流輸 出到對應(yīng)上下文所包含的算法的運算部250、 251或252。并且,多個運算部250、 251以及252,對輸入流執(zhí)行按照上下文 所包含的模式的加密運算。輸入流,從開頭依次包含加密運算的非對象數(shù)據(jù)即首部;加密 運算的對象數(shù)據(jù)即有效負載;加密運算的非對象數(shù)據(jù)即尾部。上下文所包含的首部長度、有效負載長度以及尾部長度分別是, 輸入流所包含的首部、有效負載以及尾部的長度。并且,上下文所包 含的首部長度、有效負載長度以及尾部長度是,示出流所包含的數(shù)據(jù) 中進行加密運算的區(qū)域的信息。在此,流分析部230、 231、 232以及233所保持的上下文是,上 下文存儲表213所包含的信息中的上下文ID、首部長度、有效負載長 度以及尾部長度。流分析部230、 231、 232以及233,使用所保持的上下文所包含的 首部長度、有效負載長度以及尾部長度,以首部、有效負載以及尾部 的順序分割流,并且將有效負載判別為對象數(shù)據(jù)。在此,由流分析部 230、 231、 232以及233參照的上下文包含,在上下文對應(yīng)表212中的、與輸入流的流ID對應(yīng)的上下文ID。而且,在流長度長于首部長度、有效負載長度以及尾部長度的共 計的情況下,流分析部230、 231、 232以及233,對過長的部分,再次, 以首部、有效負載以及尾部的順序分割流,從而判別有效負載。例如,在輸入流的流長度是512字節(jié)、并且在該輸入流的運算中 使用的上下文中設(shè)定首部長度是32字節(jié)、有效負載長度是128字節(jié)以 及尾部長度是96字節(jié)的情況下,流分析部230、 231、 232以及233判 斷為從輸入流的開頭32字節(jié)是首部、下面的128字節(jié)是有效負載、下 面的96字節(jié)是尾部、下面的32字節(jié)是首部、下面的128字節(jié)是有效 負載、下面的96字節(jié)是尾部。上下文所包含的尾數(shù)輸出標(biāo)記是一種標(biāo)記在從外部裝置201以 及202輸入流的中途被中斷、并且被中斷前已經(jīng)輸入的有效負載長度 不是所適用的加密算法的運算單位的整數(shù)倍的情況下,規(guī)定對存在于 輸入末尾的未滿運算單位的有效負載即尾數(shù)有效負載(尾數(shù)數(shù)據(jù))的處 理方法。運算部250、 251以及252,根據(jù)上下文所包含的尾數(shù)輸出標(biāo)記, 將尾數(shù)有效負載輸出到外部裝置201以及202或上下文存儲部211。在尾數(shù)輸出標(biāo)記是ON的情況下,運算部250、 251以及252將因 未滿運算單位而未進行加密運算的有效負載,通過調(diào)解部240、流分析 部230、 231、 232或233、流控制部220或221來輸出到外部裝置201 或202。在此情況下,為了再開始處理,外部裝置201或202,在輸入 后續(xù)的流時,需要將暫時輸出的尾數(shù)有效負載結(jié)合在流的開頭,從而輸入到機密信息處理裝置200。在尾數(shù)輸出標(biāo)記是OFF的情況下,運算部250、 251以及252將尾 數(shù)數(shù)據(jù)輸出到上下文存儲部211。由運算部250、 251以及252輸出的 尾數(shù)有效負載,通過上下文控制部210被保存到上下文存儲部211。上 下文存儲部211,將尾數(shù)有效負載作為上下文所包含的中間信息存儲。在從外部裝置201或202輸入后續(xù)的流的情況下,運算部250、251 以及252,通過上下文控制部210讀出上下文存儲部211所存儲的尾數(shù) 數(shù)據(jù)。運算部250、 251以及252,對后續(xù)的流進行加密運算時,進行 包含尾數(shù)有效負載的數(shù)據(jù)的加密運算。如上所述,在尾數(shù)輸出標(biāo)記是OFF的情況下,運算部250、 251 以及252將尾數(shù)數(shù)據(jù)結(jié)合在后續(xù)的流的開頭,而進行加密運算。艮P, 在機密信息處理裝置200內(nèi)自動地進行尾數(shù)有效負載的處理。據(jù)此, 外部裝置201以及202不需要進行將暫時輸出的尾數(shù)有效負載結(jié)合在 流的開頭的處理等。即,通過使用機密信息處理裝置200,從而可以減 少外部裝置201以及202的處理量。即,本發(fā)明的實施例涉及的機密 信息處理裝置200,可以以容易的軟件控制來進行尾數(shù)數(shù)據(jù)的處理。通常,在密鑰加密運算以及散列運算中,各個有效負載作為連續(xù) 運算的單位被處理。例如,在密鑰加密運算中,按每個有效負載實施 CBC模式等運算。并且,在散列運算中,按每個有效負載求出散列值。 另外,也存在下列情況,即,將由首部以及尾部分割而分散存在的多 個有效負載作為較長的一個有效負載來進行運算。上下文所包含的有效負載連續(xù)次數(shù),用于將分散存在的多個有效負載作為較長的一個有效負載來進行運算。有效負載連續(xù)次數(shù)是一種 信息,示出是否將流中的分散的區(qū)域的數(shù)據(jù)作為一個數(shù)據(jù)來進行加密運算。例如,在有效負載連續(xù)次數(shù)是2以上的情況下,將2以上的有 效負載作為較長的一個有效負載來進行運算。并且,有效負載連續(xù)次 數(shù)是一種信息,示出將幾個有效負載作為較長的一個有效負載來進行 運算。運算部250、 251以及252,在有效負載連續(xù)次數(shù)是2以上的情況 下,將流中的分散的區(qū)域的數(shù)據(jù)作為一個數(shù)據(jù)來進行加密運算。并且, 運算部250、 251以及252,將有效負載連續(xù)次數(shù)所示的數(shù)字的區(qū)域的 數(shù)據(jù)作為一個數(shù)據(jù)來進行加密運算。艮P,運算部250、 251以及252,從輸入流的開頭,按有效負載連 續(xù)次數(shù)所指定的次數(shù),以多個有效負載為加密運算的單位進行加密運 算。例如,在輸入流的流長度是1024字節(jié)、并且在該輸入流的運算中 使用的上下文設(shè)定;首部長度是32字節(jié)、有效負載長度128字節(jié)、尾 部長度96字節(jié)以及有效負載連續(xù)次數(shù)是2次的情況下,運算部250、 251以及252,將從輸入流的開頭第33字節(jié)開始128個字節(jié)的數(shù)據(jù)和 從開頭第289字節(jié)開始128個字節(jié)的數(shù)據(jù)的共計256字節(jié)作為一個數(shù) 據(jù)來實施加密運算。再者,運算部250、 251以及252,對從流的開頭 第545字節(jié)開始128個字節(jié)的數(shù)據(jù)和從開頭第801字節(jié)開始128個字 節(jié)的數(shù)據(jù)的共計256字節(jié)實施加密運算。上下文所包含的流非輸出標(biāo)記是一種標(biāo)記,用于設(shè)定不將輸出流向外部裝置201以及202輸出。在流非輸出標(biāo)記是OFF的情況下,流 控制部220以及221將輸出流輸出到外部裝置201、 202。在流非輸出 標(biāo)記是ON的情況下,流控制部220以及221不將輸出流向外部裝置 201、 202輸出。例如,在對流只進行散列運算的情況下等,流非輸出 標(biāo)記被設(shè)定為ON。上下文所包含的散列值替換位置是示出輸入流所包含的數(shù)據(jù)的規(guī) 定位置的信息。運算部250、 251以及252,將對應(yīng)流的散列值替換位 置所示的規(guī)定位置的數(shù)據(jù)替換為散列值或MAC值。具體而言,AES運算部250以及DES運算部251,在對輸入流執(zhí) 行認證模式以及附帶認證的機密模式的情況下,將散列值替換位置所 示的規(guī)定位置的數(shù)據(jù)替換為運算結(jié)果即MAC值,并作為輸出流輸出到 調(diào)解部240。并且,SHA1運算部252,在對輸入流執(zhí)行散列運算的情況下,將 散列值替換位置所示的規(guī)定位置的數(shù)據(jù)替換為運算結(jié)果即散列值或 MAC值,并作為輸出流輸出到調(diào)解部240。例如,在算法示出SHA1、散列值替換位置是200的情況下,SHA1 運算部252,將從流的開頭第200字節(jié)開始20個字節(jié)的數(shù)據(jù)替換為SHA 的運算結(jié)果即散列值。而且,在散列值替換位置示出0的情況下,運 算部250、 251以及252,不進行散列值或MAC值的替換,而將散列 值或MAC值輸出到上下文控制部210。上下文控制部210,將由運算 部250、 251以及252輸出的散列值以及MAC值作為上下文存儲。例如,在對輸入流進行使用SHA1的散列運算的情況下,將流非輸出標(biāo)記設(shè)定為ON、將散列值替換位置設(shè)定為0,從而機密信息處理 裝置200將運算結(jié)果即散列值存儲到上下文存儲部211,并且不將輸入 流(輸出流)向外部裝置201以及202輸出。
上下文所包含的散列值比較位置是示出輸入流所包含的數(shù)據(jù)的規(guī) 定位置的信息。運算部250、 251以及252,判斷對應(yīng)輸入流的散列值 比較位置所示的規(guī)定位置的數(shù)據(jù)和運算結(jié)果即散列值或MAC值是否 一致。并且,運算部250、 251以及252的判斷結(jié)果被輸出到外部裝置 201以及202。
具體而言,AES運算部250以及DES運算部251,在對輸入流執(zhí) 行認證模式以及附帶認證的機密模式的情況下,對散列值比較位置所 示的規(guī)定位置的數(shù)據(jù)和運算結(jié)果即MAC值進行比較,并將比較結(jié)果輸 出到外部裝置201或202。
并且,SHA1運算部252,在對輸入流執(zhí)行散列運算的情況下,對 散列值比較位置所示的規(guī)定位置的數(shù)據(jù)和運算結(jié)果即散列值或MAC 值進行比較,并將比較結(jié)果輸出到外部裝置201或202。
例如,在設(shè)定為算法是SHA1、首部長度是0、有效負載長度是200、 尾部長度是50、以及散列值比較位置是200的情況下,SHA1運算部 252,對有效負載部分的200字節(jié)的SHA1的運算結(jié)果即散列值和從流 的開頭第200字節(jié)開始20個字節(jié)的數(shù)據(jù)進行比較,所述20個字節(jié)即 是由SHA1的散列值的長度。據(jù)此,機密信息處理裝置200在流中包 含散列值的期望值的情況下,在進行運算的同時可以檢測竄改。而且, 在散列值比較位置是O的情況下,運算部250、 251以及252不進行比較。
上下文所包含的密鑰以及初始值是按照算法以及模式需要的密鑰 以及初始值。上下文所包含的密鑰以及初始值按照算法以及模式及時 被設(shè)定。
上下文所包含的中間信息是運算中途的結(jié)果、未滿運算單位的有 效負載(尾數(shù)有效負載)、以及各種內(nèi)部狀態(tài)等。
上下文所包含的散列值是由運算部250、 251以及252生成的散列 值或MAC值。
在輸入流的輸入之前,預(yù)先由外部裝置202設(shè)定上下文存儲表213 中的中間信息以及散列值以外的內(nèi)容。
而且,對于在上下文存儲表213中以"","所示的密鑰、初始值、 中間值以及散列值,按照運算存儲適當(dāng)?shù)闹怠?br>
并且,運算部250、 251以及252所保持的上下文260、 261以及 262包含:上下文存儲表213所包含的上下文中的模式、尾數(shù)輸出標(biāo)記、 有效負載連續(xù)次數(shù)、散列值替換位置、散列值比較位置、密鑰以及初 始值、中間信息、散列值。
其次,說明機密信息處理裝置200的工作。
圖7是示出機密信息處理裝置200的加密運算處理的順序的流程 圖。而且,以流從外部裝置201被輸入到機密信息處理裝置200的情 況為例子進行說明。
如圖7所示,首先,流控制部220,對所輸入的流(以下,稱為"第 一流")進行識別(SIOI)。具體而言,流控制部220獲得第一流的流ID。例如,流控制部220,參照第一流所包含的的流ID,從而獲得流ID。 流控制部220,參照上下文對應(yīng)表212,來判斷對第一流的流ID的加 密運算的實施次數(shù)、和各個加密運算中使用的上下文ID。然后,流控 制部220,將第一流輸出到流分析部230。
并且,流控制部220,在流分析部230不保持對應(yīng)第一流的上下文 的情況下,向上下文控制部210發(fā)送上下文的保存以及返回的請求。 上下文控制部210,接收來自流控制部220的請求后,使流分析部230 所保持的上下文保存到上下文存儲部211,并且使上下文存儲部211所 存儲的上下文中的對應(yīng)第一流的上下文返回到流分析部230。例如,流 控制部220,流分析部230所保持的上下文所包含的上下文ID和對應(yīng) 所判斷的第一流的上下文ID不一致的情況下,發(fā)送上下文的保存以及 返回的請求。并且,上下文控制部210,參照保存以及返回的請求所包 含的上下文ID,從而決定寫入到流分析部230的上下文。
其次,流分析部230,參照所保持的上下文,使用第一次的加密運 算中使用的上下文所包含的首部長度、有效負載長度以及尾部長度, 從第一流中將有效負載判別為對象數(shù)據(jù)(以下,稱為"第一對象數(shù) 據(jù)")(S102)。其次,流分析部230將第一流輸出到調(diào)解部240。
其次,調(diào)解部240,參照上下文存儲表213,判斷對第一流的加密 運算的加密算法(S103)。調(diào)解部240,將第一流輸出到對應(yīng)所判斷的加 密算法的運算部250、 251或252。在此,第一流被輸出到AES運算部 250。
并且,調(diào)解部240,在從多個流分析部230、 231、 232以及233同時輸入應(yīng)當(dāng)在同一運算部250、 251或252處理的輸入流的情況下, 決定對哪個輸入流進行處理。
調(diào)解部240,判斷是否需要將AES運算部250所保持的上下文260 切換(S104)。具體而言,調(diào)解部240,判斷在AES運算部250是否保持 第一流的加密運算中使用的上下文。例如,調(diào)解部240,在第一流的加 密運算中使用的上下文的上下文ID和上下文260的上下文ID —致的 情況下判斷為不需要上下文的切換(在S104否),在不一致的情況下判 斷為需要上下文的切換(在S104是)。
在需要上下文的切換的情況下(在S104是),調(diào)解部240,向上下 文控制部210發(fā)送上下文260的保存以及返回的請求(S105)。上下文控 制部210,接收上下文的保存以及返回的請求后,進行上下文的保存以 及返回(S106)。具體而言,上下文控制部210,使AES運算部250所保 持的上下文260保存到上下文存儲部211。其次,上下文控制部210, 將向上下文存儲部211存儲的第一流的加密運算中使用的上下文寫入 到AES運算部250。
在進行上下文260的保存以及返回后、或不需要上下文的切換的 情況下(在S104否),其次,AES運算部250,對在S102判別出的第一 數(shù)據(jù)進行上下文260的模式所指定的加密運算(S107)。在此,AES運算 部250,使用上下文260所包含的密鑰、初始值以及中間信息等進行加 密運算。
AES運算部250,將加密運算后的第一流(以下,稱為"第二流") 輸出到調(diào)解部240。調(diào)解部240,將第二流輸出到第一流的輸出源即流分析部230。流分析部230,將第二流輸出到流控制部220。 通過如上處理,結(jié)束第一次的加密運算。
在對輸入流只進行一次加密運算、或結(jié)束了設(shè)定在上下文對應(yīng)表 212的所有的加密運算的情況下(在S108是),流控制部220將第二流 輸出到外部裝置201(S109)。
另一方面,在對輸入流進行兩次加密運算、并且未進行所有的加 密運算的情況下(在S108否),流控制部220將第二流輸出到其它流分 析部231。并且,流控制部220,與第一次的處理相同,在流分析部231 不保持對應(yīng)第二流的上下文的情況下,向上下文控制部210發(fā)送上下 文的保存以及返回的請求。
流分析部231,參照所保持的上下文,使用第二次的加密運算中使 用的上下文所包含的首部長度、有效負載長度以及尾部長度,從第二 流中將有效負載判別為對象數(shù)據(jù)(以下,稱為"第二對象數(shù)據(jù)")(S102)。 其次,流分析部231將第二流輸出到調(diào)解部240。
其次,調(diào)解部240,參照上下文存儲表213,判斷對第二流的加密 運算的加密算法(S103)。調(diào)解部240,將第二流輸出到對應(yīng)所判斷的加 密算法的運算部250、 251或252。在此,第二流被輸出到SHA1運算 部252。
而且,對于S104至S107的處理,由于與上述第一次的加密運算 的處理相同,因此省略說明。
SHA1運算部252,將加密運算后的第二流(以下,稱為"第三流") 輸出到調(diào)解部240。調(diào)解部240,將第三流輸出到第二流的輸出源即流分析部231。流分析部231,將第三流輸出到流控制部220。 通過如上處理,結(jié)束第二次的加密運算。
在上下文對應(yīng)表212設(shè)定有兩次加密運算的情況下,由于結(jié)束了 兩次加密運算(在S108是),因此流控制部220,將第三流輸出到外部 裝置201(S109)。
而且,在從外部裝置202輸入流的情況下的處理的順序也與圖7 相同。
并且,在圖7中,在結(jié)束第一次的加密運算后進行對第二次的加 密運算的上下文的保存以及返回等處理,但是,在第一次的加密運算 和第二次的加密運算使用不同運算部250、 251以及252的情況下,可 以在結(jié)束第一次的加密運算之前進行對第二次的加密運算的上下文的 保存以及返回等處理。
下面,說明機密信息處理裝置200的具體運算例子。
首先,作為第一運算例,說明輻輳的兩個流被輸入的例子。具體 而言,流ID "0"以及流ID "1"的兩種流,經(jīng)過外部裝置201被輸入。
假設(shè),流ID "0"以及流ID "1"的兩種流的長度均為256字節(jié)。 假設(shè),對流ID "0"以及流ID "1"的加密運算處理,按流ID "0"的 前半部分128字節(jié)、流ID "1"的前半部分128字節(jié)、流ID "0"的后 半部分128字節(jié)、以及流ID "1"的后半部分128字節(jié)的順序,被進行 分時處理。
如圖4所示,對流ID "0"的流進行使用上下文ID "0"的上下文 的加密運算,對流ID"1"的流進行使用上下文ID"1"的上下文的加密運算。并且,如圖6所示,在上下文ID"0"的上下文中,預(yù)先由外部裝 置202設(shè)定有使用AES的CBC解密;首部長度為7字節(jié);有效負 載長度為240字節(jié);尾部長度為9字節(jié);尾數(shù)輸出標(biāo)記為ON;有效負 載連續(xù)次數(shù)為l;以及流非輸出標(biāo)記為OFF。并且,如圖6所示,在上下文ID"1"的上下文中,預(yù)先由外部裝 置202設(shè)定有HMAC-SHA1;首部長度為5字節(jié);有效負載長度為251字節(jié);尾部長度為0字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效負載連續(xù)次 數(shù)為l;流非輸出標(biāo)記為ON;散列值替換位置為0;以及散列值比較位置為o。圖8是示出由機密信息處理裝置200對第一運算例中的流ID "0" 的流進行的處理的圖。圖9是示出由機密信息處理裝置200對第一運 算例中的流ID "1"的流進行的處理的圖。機密信息處理裝置200,將流ID "0"的流分割為128字節(jié)的前半 部分的流500和后半部分的流501來分別進行處理。并且,機密信息 處理裝置200,將流ID"1"的流分割為128字節(jié)的前半部分的流520 和后半部分的流521來分別進行處理。機密信息處理裝置200,首先,對流ID"0"的前半部分部的流500 進行處理。若外部裝置201開始向流控制部220輸入流,則流控制部220參 照上下文存儲部211所存儲的上下文對應(yīng)表212來確認,將對流ID"O" 進行使用上下文ID "0"的上下文的一次加密運算。據(jù)此,流控制部220控制內(nèi)部通路以使將流ID "0"的流輸出到流分析部230;將由 流分析部230輸出的、加密運算后的流ID "0"的流輸出到外部裝置 201。并且,流控制部220,向上下文控制部210發(fā)送對流分析部230 的上下文的保存以及返回的請求。接收請求后,上下文控制部210,使 流分析部230所保持的上下文保存到上下文存儲部211,使上下文ID "0"的上下文返回到流分析部230。若對應(yīng)上下文ID "0"的上下文被保持到流分析部230,流控制部 220,開始向流分析部230輸入流ID "0"的流。流分析部230,根據(jù)所保持的上下文,對流ID"O"的流進行對象 數(shù)據(jù)的判別。流分析部230,將用于確定對象數(shù)據(jù)的信息、和流ID"O" 的流輸出到調(diào)解部240。調(diào)解部240,流ID "0"根據(jù)對應(yīng)上下文存儲表213的流ID "0" 的上下文所包含的算法來確認將對流進行AES運算。調(diào)解部240,向 上下文控制部210發(fā)送對AES運算部250所保持的上下文260的保存 以及返回的請求。若對應(yīng)上下文ID "0"的上下文290被保持到AES運算部250, 則調(diào)解部240,開始向AES運算部250輸入流。AES運算部250,對于首部部分的7字節(jié),不進行運算而原封不 動地輸出到調(diào)解部240,對于有效負載部分,依次進行加密運算而輸出 到調(diào)解部240。AES運算結(jié)果,被輸入到調(diào)解部240后,經(jīng)過流分析部230以及流控制部220被輸出到外部裝置201。在此,流500中包含121字節(jié)的有效負載。由于AES的運算單位 是16字節(jié),因此121字節(jié)除以16后剩下的最后9字節(jié)成為未滿運算 單位的尾數(shù)有效負載502。對于上下文ID"O",由于尾數(shù)輸出標(biāo)記為ON,因此流分析部230 通過流控制部220將尾數(shù)有效負載502輸出到外部裝置201 。因此,向外部裝置201輸出的流510是,首部為7字節(jié)、有效負 載中的AES運算結(jié)果為112字節(jié)、尾數(shù)有效負載為9字節(jié)的共計128 字節(jié)的流。其次,如圖9所示,機密信息處理裝置200,對流ID"1"的前半 部分的流520進行處理。從外部裝置201輸入的流ID"1"的流,經(jīng)過 流控制部220、流分析部231以及調(diào)解部240被輸入到SHA1運算部 252。并且,與對流ID "0"的流500的處理相同,進行流分析部231 以及SHA1運算部252所保持的上下文的保存以及返回。流520中包含123字節(jié)的有效負載,由于SHA的運算單位是64 字節(jié),因此123字節(jié)除以64后剩下的最后59字節(jié)成為未滿運算單位 的尾數(shù)有效負載522。由于上下文ID "1"的上下文所包含的尾數(shù)輸出標(biāo)記為OFF,因 此SHA1運算部252將尾數(shù)有效負載522作為上下文保存到上下文存 儲部2U。并且,由于上下文ID"l"的上下文所包含的流非輸出標(biāo)記為ON, 因此流控制部220不將流向外部裝置202輸出。其次,機密信息處理裝置200,對流ID"O"的后半部分的流501 進行處理。在此,由于在對流500進行處理時尾數(shù)有效負載502被輸出到機 密信息處理裝置200外部,外部裝置201,在對流501進行處理時,應(yīng) 當(dāng)輸入向流501的開頭連接尾數(shù)有效負載502后的共計137字節(jié)的流。機密信息處理裝置200,對所輸入的流及時實施AES運算,將由 AES運算結(jié)果128字節(jié)和尾部9字節(jié)構(gòu)成的流511輸出到外部裝置201 。最后,機密信息處理裝置200,對流ID"1"的后半部分的流521 進行處理。由于在對流520進行處理時尾數(shù)有效負載522作為上下文被保存, 因此在對流521進行處理時,SHA1運算部252連接尾數(shù)有效負載522 和流521。 g卩,由于在機密信息處理裝置200內(nèi)部對尾數(shù)有效負載522 進行處理,因此外部裝置201不需要對尾數(shù)有效負載522進行處理。對251字節(jié)的有效負載的、使用HMAC-SHA1的運算結(jié)果即MAC 值523,被保存到上下文存儲部211,作為上下文ID "1"所包含的散 列值被存儲。據(jù)此,外部裝置202,可以讀出存儲在上下文存儲部211 的散列值。如上所述,機密信息處理裝置200,可以對輻輳的兩個流進行不同 加密運算。其次,作為第二運算例說明,對一個流進行兩次加密運算的例子。 具體而言,作為第一次的加密運算進行HMAC-SHA1運算,而通過運 算所生成的MAC值被編入到流中。作為第二次的加密運算進行AES加密。假設(shè),流ID"2"的流,經(jīng)過外部裝置201被輸入。假設(shè),流ID "2"的流的長度是256字節(jié)。假設(shè),對于流ID "2"的流的加密運算 處理,以前半部分128字節(jié)、后半部分128字節(jié)的順序分割兩次進行 處理。如圖4所示,對流ID "2"的流進行使用上下文ID "2"的上下文 的第一次的加密運算,進一步,對進行了第一次的加密運算的流進行 使用上下文ID "3"的上下文的第二次的加密運算。并且,如圖6所示,在上下文ID "2"的上下文中,由外部裝置 202預(yù)先設(shè)定有HMAC-SHA1;首部長度為4字節(jié);有效負載長度為 196字節(jié);尾部長度為56字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效負載連續(xù) 次數(shù)為l;流非輸出標(biāo)記為OFF;散列值替換位置為201;以及散列值 比較位置為0。并且,在上下文ID"3"的上下文中,預(yù)先由外部裝置202設(shè)定有 使用AES的CBC加密;首部長度為32字節(jié);有效負載長度為224字 節(jié);尾部長度為O字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效負載連續(xù)次數(shù)為1;以及流非輸出標(biāo)記為OFF。圖10是在機密信息處理裝置200的第二運算例中的流的結(jié)構(gòu)圖。 圖11是示出由機密信息處理裝置200對第二運算例中的流進行的處理 的圖。圖10所示的流600是,從外部裝置201輸入到機密信息處理裝置 200的256字節(jié)的流。在HMAC-SHA1中,在流600中數(shù)據(jù)A為首部;將數(shù)據(jù)B和數(shù)據(jù)C合并為有效負載;將數(shù)據(jù)D和數(shù)據(jù)E合并為尾 部。并且,在AES運算中,在流600中:將數(shù)據(jù)A和數(shù)據(jù)B合并為首 部;將數(shù)據(jù)C、數(shù)據(jù)D和數(shù)據(jù)E合并為有效負載。下面,對于處理順序,以與第一運算例不同之處為中心進行說明, 而省略重復(fù)說明。首先,說明對流ID"2"的流的前半部分的流610進行的處理。流控制部220,參照上下文對應(yīng)表212來確認,將對流ID"2"進 行使用上下文ID "2"的上下文的第一次的加密運算、和使用上下文 ID "3"的上下文的第二次的加密運算。據(jù)此,流控制部220控制內(nèi)部 通路以使將流ID "2"的流輸出到流分析部230;將由流分析部230 輸出的、進行了第一次的加密運算的流輸出到流分析部231;將由流分 析部231輸出的、進行了第二次的加密運算的流輸出到外部裝置201。流分析部230,參照上下文ID "2"的上下文所包含的首部長度、 有效負載長度以及尾部長度,將數(shù)據(jù)B和數(shù)據(jù)C判別為HMAC-SHA1 運算的對象數(shù)據(jù)。SHA1運算部252,對有效負載即數(shù)據(jù)B和數(shù)據(jù)C的共計124字節(jié) 中的、運算單位的整數(shù)倍的64字節(jié)進行運算。B卩,SHA1運算部252, 對將數(shù)據(jù)B和從數(shù)據(jù)C的開頭36字節(jié)合并后的64字節(jié)進行 HMAC-SHA1運算。SHA1運算部252,存儲運算結(jié)果即中間結(jié)果。SHA1運算部252,將除了未滿運算單位的60字節(jié)的尾數(shù)有喊負 載612以外的流原封不動地輸出。即,SHA1運算部252,將連接數(shù)據(jù)A、數(shù)據(jù)B和從數(shù)據(jù)C的開頭36字節(jié)后的流620輸出。并且,SHA1 運算部252,將尾數(shù)有效負載612作為上下文ID"2"的上下文保存到 上下文存儲部211。流620,通過調(diào)解部240以及流分析部230被輸入到流分析部231 。流分析部231,參照上下文ID"3"的上下文中的首部長度、有效 負載長度以及尾部長度,將數(shù)據(jù)C判別為AES運算的對象數(shù)據(jù)。AES運算部250,對流620所包含的數(shù)據(jù)C的36字節(jié)中的、作為 運算對象的從開頭32字節(jié)進行加密運算。AES運算部250,將運算結(jié) 果即加密數(shù)據(jù)C替換為對象數(shù)據(jù)。AES運算部250,將由數(shù)據(jù)A、數(shù) 據(jù)B以及加密數(shù)據(jù)C構(gòu)成的流630輸出。流630,通過調(diào)解部240、流分析部231以及流控制部220被輸出 到外部裝置201。并且,AES運算部250,將數(shù)據(jù)C的剩余4字節(jié)即尾數(shù)有效負載 622作為上下文ID "3"的上下文保存到上下文存儲部211。其次,說明對流ID "2"的流的后半部分的流611進行的處理。從外部裝置201輸入的流611,通過流控制部220、流分析部230 以及調(diào)解部240被輸入到SHA1運算部252。SHA1運算部252,向流611的開頭連接作為上下文ID "2"的上 下文所存儲的尾數(shù)有效負載612。 SHA1運算部252,對連接后的數(shù)據(jù) 中的有效負載部分即132字節(jié)進行HMAC-SHA1運算。并且,在SHA1運算部252中,由于在上下文ID"2"中散列值替換位置為201,因此將從流的開頭第201字節(jié)的數(shù)據(jù)iy替換為HMAC-SHA1運算結(jié)果即MAC值。因此,SHAl運算部252,將連接 數(shù)據(jù)C中的132字節(jié)、MAC值和數(shù)據(jù)E后的流621輸出。流621,通過調(diào)解部240、流分析部230、流控制部220、流分析 部231以及調(diào)解部240被輸入到AES運算部250。AES運算部250,向流621的開頭連接作為上下文ID "3"的上下 文所存儲的尾數(shù)有效負載622。 AES運算部250,對連接后的數(shù)據(jù)192 字節(jié)進行AES運算。AES運算部250,將連接AES運算結(jié)果即加密數(shù) 據(jù)C、加密MAC值以及加密數(shù)據(jù)E后的流631輸出。流631,通過調(diào)解部240、流分析部231以及流控制部220被輸出 到外部裝置201。如上所述,機密信息處理裝置200,可以對一個流進行不同兩次加 密運算。并且,可以將運算結(jié)果即MAC值編入到流中。其次,作為第三運算例說明,對一個流進行兩次加密運算的例子。 具體而言,作為第一次的加密運算進行AES解密。作為第二次的加密 運算進行HMAC-SHA1運算。并且,對由HMAC-SHA1運算生成的 MAC值、和流所包含的規(guī)定區(qū)域的數(shù)據(jù)進行比較。假設(shè),流ID"3"的流,經(jīng)過外部裝置201被輸入。并且,假設(shè), 流ID "3"的流的長度是256字節(jié)。并且,假設(shè),機密信息處理裝置 200,以前半部分128字節(jié)、后半部分128字節(jié)的順序分割兩次進行處 理。如圖4所示,對流ID "3"的流進行使用上下文ID "4"的上下文 的加密運算,進一步,對進行了第一次的加密運算的流進行使用上下文ID "5"的上下文的第二次的加密運算。并且,如圖6所示,在上下文ID"4"的上下文中,預(yù)先由外部裝 置202設(shè)定有使用AES的CBC解密;首部長度為32字節(jié);有效負載長度為224字節(jié);尾部長度為0字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效 負載連續(xù)次數(shù)為l;以及流非輸出標(biāo)記為OFF。并且,在上下文ID"5"的上下文中,預(yù)先由外部裝置202設(shè)定有: MAC-SHA1;首部長度為4字節(jié);有效負載長度為196字節(jié);尾部長 度為56字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效負載連續(xù)次數(shù)為l;流非輸 出標(biāo)記為OFF;散列值替換位置為201;以及散列值比較位置為201。圖12是在機密信息處理裝置200的第三運算例中的流的結(jié)構(gòu)圖。 圖13是示出由機密信息處理裝置200對第三運算例中的流進行的處理 的圖。圖12所示的流700是,從外部裝置201輸入到機密信息處理裝置 200的256字節(jié)的流。在AES運算中,在流700中將數(shù)據(jù)A和數(shù)據(jù) B合并為首部;將加密數(shù)據(jù)C、加密MAC值和加密數(shù)據(jù)E合并為有效 負載。并且,在MAC-SHA1中,在流700中:數(shù)據(jù)A為首部;將數(shù)據(jù) B和加密數(shù)據(jù)C合并為有效負載;將加密MAC值和加密數(shù)據(jù)E合并 為尾部。下面,對于處理順序,以與第一以及第二運算例不同之處為中心 進行說明,而省略重復(fù)說明。首先,說明對流ID"3"的流的前半部分的流710進行的處理。 從外部裝置201輸入的流710,通過流控制部220、流分析鈿230以及調(diào)解部240被輸入到AES運算部250。AES運算部250,對加密數(shù)據(jù)C中流710所包含的96字節(jié)進行解 密。AES運算部250,將加密數(shù)據(jù)C替換為解密后的數(shù)據(jù)C,并將其 輸出。流720,通過調(diào)解部240、流分析部230、流控制部220、流分析 部231以及調(diào)解部240被輸出到SHAl運算部252。SHAl運算部252,對于有效負載即數(shù)據(jù)B以及數(shù)據(jù)C,對在共計 124字節(jié)中的、將數(shù)據(jù)B和從數(shù)據(jù)C的開頭36字節(jié)合并后的64字節(jié) 進行HMAC-SHAl運算。SHAl運算部252,將連接數(shù)據(jù)A、數(shù)據(jù)B 和從數(shù)據(jù)C的開頭36字節(jié)后的流730輸出。SHAl運算部252,存儲運算結(jié)果即中間結(jié)果。并且,SHAl運算 部252,將數(shù)據(jù)C的剩余60字節(jié)即尾數(shù)有效負載722作為上下文ID"5" 的上下文存儲。流730,通過調(diào)解部240、流分析部231以及流控制部220被輸出 到外部裝置201。其次,說明對流ID"3"的流的后半部分的流711進行的處理。從外部裝置201輸入的流711,通過流控制部220、流分析部230 以及調(diào)解部240被輸入到AES運算部250。AES運算部250,由于流711的全部是有效負載,因此對流711 整體進行解密。AES運算部250,將連接運算結(jié)果即數(shù)據(jù)C、 MAC值 以及數(shù)據(jù)E后的流721輸出。流721,通過調(diào)解部240、流分析部230、流控制部220、流分析部231以及調(diào)解部240被輸出到SHA1運算部252。SHA1運算部252,向流721的開頭連接尾數(shù)有效負載722。 SHAl 運算部252,對連接后的數(shù)據(jù)中的有效負載部分即132字節(jié)進行 HMAC-SHA1運算,從而生成MAC值732。SHAl運算部252,將連接數(shù)據(jù)C中的132字節(jié)、MAC值以及數(shù) 據(jù)E后的流731輸出。流731,通過調(diào)解部240、流分析部231以及流 控制部220被輸出到外部裝置201。并且,由于在上下文ID"5"中散列值比較位置是201,因此SHA1 運算部252,對從流的開頭第201字節(jié)的、流721所包含的MAC值和 MAC值732進行比較。SHA1運算部252,將比較結(jié)果保存到上下文 存儲部211。據(jù)此,外部裝置202可以確認比較結(jié)果。據(jù)此,機密信息處理裝置200,可以對一個流進行不同的兩次加密 運算。并且,可以對運算結(jié)果即MAC值和流的規(guī)定區(qū)域的數(shù)據(jù)進行比 較。其次,作為第四運算例說明,同時輸入兩個流的例子。并且,對 兩個流分別進行兩次加密運算。流ID "4"的流經(jīng)過外部裝置201被輸入,流ID "5"的流經(jīng)過外 部裝置202被輸入。假設(shè),流ID "4"和流ID "5"的兩種流的長度均為256字節(jié)。并 且,假設(shè),機密信息處理裝置200,對流ID "4"和流ID "5"同時進 行處理。如圖4所示,對流ID "4"的流進行使用上下文ID "6"的上下文的加密運算,進一步,對進行了第一次的加密運算的流進行使用上下文ID "7"的上下文的第二次的加密運算。對流ID "5"的流進行使用 上下文ID"8"的上下文的加密運算,進一步,對進行了第一次的加密 運算的流進行使用上下文ID "9"的上下文的第二次的加密運算。并且,如圖6所示,在上下文ID"6"的上下文中,預(yù)先由外部裝 置202設(shè)定有使用AES的CBC解密;首部長度為0字節(jié);有效負 載長度為128字節(jié);尾部長度為0字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效 負載連續(xù)次數(shù)為l;以及流非輸出標(biāo)記為OFF。在上下文ID"7"的上下文中,預(yù)先由外部裝置202設(shè)定有使用 AES的CBC加密;首部長度為0字節(jié);有效負載長度為128字節(jié);尾 部長度為0字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效負載連續(xù)次數(shù)為l;以及 流非輸出標(biāo)記為OFF。并且,在上下文ID"8"的上下文中,預(yù)先由外部裝置202設(shè)定有 HMAC-SHA1;首部長度為20字節(jié);有效負載長度為200字節(jié);尾部 長度為36字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效負載連續(xù)次數(shù)為l;流非輸出標(biāo)記為OFF;散列值替換位置為221;以及散列值比較位置為0。 在上下文ID"9"的上下文中,預(yù)先由外部裝置202設(shè)定有使用DES的CBC加密;首部長度為0字節(jié);有效負載長度為128字節(jié);尾部長度為128字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效負載連續(xù)次數(shù)為l;以及流非輸出標(biāo)記為OFF。在此,由外部裝置202對上下文ID "6"和上下文ID "7"艱定其它密鑰的情況下,對流lt)"4"的流的運算是,對流進行解密后重新用不同密鑰進行加密的處理。下面,對于處理順序,以與第一至第三運算例不同之處為中心進 行說明,而省略重復(fù)說明。在對流ID "4"的流進行的第一次的運算中,流,通過流控制部220、 流分析部230、調(diào)解部240被輸入到AES運算部250。 AES運算 部250對流進行解密。解密后的流,通過調(diào)解部240以及流分析部230 被輸入到流控制部220。在對流ID"4"的流進行的第二次的運算中,流控制部220,將進 行了第一次的運算的流,通過流分析部231以及調(diào)解部240輸出到AES 運算部250。 AES運算部250對流進行加密。加密后的流,通過調(diào)解 部240以及流分析部231被輸出到外部裝置201。在對流ID "5"的流進行的第一次的運算中,流,通過流控制部221、 流分析部232、調(diào)解部240被輸入到SHA1運算部252。 SHA1 運算部252對流進行第一次的加密運算。進行了第一次的加密運算的 流,通過調(diào)解部240以及流分析部232被輸入到流控制部221 。在對流ID"5"的流進行的第二次的運算中,流控制部221,將進 行了第一次的運算的流,通過流分析部233以及調(diào)解部240輸出到DES 運算部251。 DES運算部250對流進行第二次的加密運算。進行了第 二次的加密運算的流,通過調(diào)解部240、流分析部233以及流控制部 221被輸出到外部裝置202。此時,對流ID "4"的流進行的第一次的運算以及第二次的運算, 都由DES運算部250進行。因此,需要以分時來進行第一次的運算和第二次的運算。
為此,調(diào)解部240,檢驗來自流分析部230、 231、 232以及233 的流的運算請求來進行控制。調(diào)解部240,在向相同算法的運算請求沖 突的情況下,對沖突的流,優(yōu)先接受來自優(yōu)先級高的流分析部230、231、 232以及233的運算請求。調(diào)解部240,進行對接受的運算請求的上下 文保存以及返回請求、和流的輸出入處理。例如,按照流分析部233、 232、 231以及230的順序,依次決定高優(yōu)先級。
調(diào)解部240,對預(yù)先接受的運算請求的加密運算在對應(yīng)的運算部 250、 251或252結(jié)束后,接收加密運算后的輸出流。調(diào)解部240,將 所接收的輸出流輸出到流分析部230、 231、 232或233。調(diào)解部240, 將輸出流輸出到流分析部后,再次檢驗運算請求,并進行與上述相同 的處理。
因此,對流ID "4"的流進行的運算中,首先,AES運算部250 進行使用上下文ID"6"的運算。該運算結(jié)果,被存儲到流控制部220 內(nèi)的緩沖器302。
由于流分析部231的優(yōu)先次序高于流分析部230的優(yōu)先次序,因 此在存儲在緩沖器302的流通過流分析部231被輸入到調(diào)解部240時, 變更調(diào)解次序。據(jù)此,調(diào)解部240,將對AES運算部250的上下文保 存以及返回的請求發(fā)送到上下文控制部210。據(jù)此,上下文ID"7"的 上下文被存儲到AES運算部250。
AES運算部250執(zhí)行使用上下文ID "7"的運算。
如此,多次進行對AES運算部250的上下文ID "6"以及上下文ID "7"的上下文的保存以及返回,從而結(jié)束流整體的運算。在此,通過流控制部221包括緩沖器302,從而可以以一堆數(shù)據(jù)單 位來進行由流分析部231向調(diào)解部240的處理請求。據(jù)此,機密信息 處理裝置200,可以減少AES運算部250的上下文保存以及返回次數(shù)。 并且,第二次的加密運算中使用的流分析部231的優(yōu)先級,被設(shè) 定為高于第一次的加密運算中使用的流分析部230的優(yōu)先級。據(jù)此, 結(jié)束了第一次的加密運算的流,被優(yōu)先進行加密運算。即,存儲在緩 沖器302的流,被優(yōu)先加密運算,且被輸出到外部裝置201。據(jù)此,可以減少緩沖器302所存儲的流的數(shù)據(jù)量。即,可以減少緩沖器302的命"^ 合里。而且,對流ID "5"的流進行的運算是,使用HMAC-SHA1以及 DES的運算。艮卩,在流ID "5"的流進行的運算中使用與流ID "4"不 同的算法。因此,對DES運算部251以及SHA1運算部252的上下文 的保存以及返回,在最初只被進行一次。并且,由于在上下文ID"8"的上下文中設(shè)定有,流非輸出標(biāo)記為 OFF以及散列值替換位置為221,因此SHA1運算部252,將從外部裝 置202輸入的流中從開頭第221字節(jié)的20字節(jié),替換為對流的有效負 載部分進行HMAC-SHA1運算的運算結(jié)果即散列值。并且,DES運算 部251,將從替換后的流的開頭128字節(jié)的部分替換為DES運算結(jié)果, 并將其輸出。DES運算部251所輸出的流,被輸出到外部裝置201。如上所述,機密信息處理裝置200,可以對同時輸入的兩個流,分 別進行兩次加密運算。并且,即使在對第一次的加密運算和第二次的加密運算使用相同運算部的情況下,也可以將流輸入一次來進行兩次 加密運算。其次,作為第五運算例說明,將流中的分散的區(qū)域的數(shù)據(jù)作為一 個數(shù)據(jù)來進行加密運算的例子。流ID "6"的流,經(jīng)過外部裝置201被輸入。假設(shè),流ID "6"的 流的長度為512字節(jié)。并且,假設(shè),在對流ID"6"的流整體進行處理 時,在中途不對其它流進行處理而以一次被處理。如圖4所示,流ID "6"的流,使用上下文ID "10"的上下文被 進行加密運算。并且,如圖6所示,在上下文ID "10"的上下文中預(yù)先由外部 裝置202設(shè)定有HMAC-SHA1;首部長度為32字節(jié);有效負載長度 為128字節(jié);尾部長度為96字節(jié);尾數(shù)輸出標(biāo)記為OFF;有效負載連 續(xù)次數(shù)為2;以及流非輸出標(biāo)記為ON。圖14是示出由機密信息處理裝置200對第五運算例中的流進行的 處理的圖。第五運算例的處理流程,除了有效負載連續(xù)次數(shù)為2之處以外, 與流ID "1"的情況相同。從外部裝置201輸入的流800,通過流控制部220、流分析部230、 調(diào)解部240被輸入到SHA1運算部252。由于有效負載連續(xù)次數(shù)為2,因此SHA1運算部252,對于512字 節(jié)的流800,將從第33字節(jié)的128個字節(jié)的有效負載1和從第289字 節(jié)的128個字節(jié)的有效負載2的共計即256字節(jié)作為連續(xù)的一個有效負載801。 SHA1運算部252,對256字節(jié)的有效負載801進行 HMAC-SHA1運算。SHA1運算部252,將運算結(jié)果即MAC值802作為上下文保存到 上下文存儲部211。 MAC值802,作為上下文存儲表213所包含的上 下文ID "10"的上下文的散列值被存儲。據(jù)此,外部裝置202,可以 從上下文存儲表213中讀出MAC值802。如上所述,機密信息處理裝置200,可以將流中的分散的區(qū)域的數(shù) 據(jù)作為 一個數(shù)據(jù)進行加密運算。據(jù)此,機密信息處理裝置200,在對一個輸入流進行多次加密運算 的情況下,針對每個加密運算,不同流分析部230、 231、 232以及233 判別輸入流的不同區(qū)域的對象數(shù)據(jù)。據(jù)此,即使在多次加密運算中輸 入流內(nèi)的加密運算對象的數(shù)據(jù)不同的情況下,也可以以容易的軟件控 制來從輸入流中判別出任意的區(qū)域中包含的加密運算對象的數(shù)據(jù)。具體而言,通過由外部裝置201以及202設(shè)定上下文對應(yīng)表212 的內(nèi)容,可以對一個流設(shè)定任意的次數(shù)、以及使用任意的上下文的加 密運算。再者,通過包括多個流分析部230、 231、 232以及233,不需要將 對流分析部230、 231、 232以及233的上下文的保存以及返回,在每 次第一次的加密運算時和第二次的加密運算時進行切換。據(jù)此,可以 減少上下文的保存以及返回的頻度。同樣,機密信息處理裝置200,即使在同時輸入多個流的情^1下, 也可以以容易的軟件控制來從輸入流中判別出任意的區(qū)域中包含的加密運算對象的數(shù)據(jù)。再者,流控制部220,將進行了一次加密運算的流輸入到其它流分 析部230、 231、 232或233。據(jù)此,即使在每次加密運算結(jié)束時不將流 向外部裝置201以及202輸出,也可以將流輸入一次來進行多次加密 運算。再者,利用調(diào)解部240來可以在多個流分析部230、 231、 232以 及233和運算部250、 251以及252之間形成任意的通路。據(jù)此,可以 將流輸入一次來進行使用同一算法的多次加密運算(例如,進行解密后 進行加密)。同樣,可以對多個流進行使用同一算法的加密運算。再者,在機密信息處理裝置200中,多個上下文被存儲到上下文 存儲部211。并且,利用上下文控制部210來可以進行加密運算中使用 的上下文的保存以及返回。據(jù)此,通過從上下文存儲部211讀出對應(yīng)的上下文,從而可以容 易地對應(yīng)多種運算方法。并且,由于運算部250、 251以及252包括寄 存器等即可,因此可以減少運算部250、 251以及252的電路規(guī)模,所 述寄存器可以存儲至少一個上下文。并且,通過設(shè)定對多種運算方法 的上下文、且將設(shè)定后的上下文存儲到上下文存儲部211,從而可以容易地設(shè)定運算方法的變更以及追加等。再者,機密信息處理裝置200包括,分別對應(yīng)不同加密算法的多 個運算部250、 251以及252。據(jù)此,在對一個流進行使用不同加密算 法的多次加密運算的情況下,利用不同運算部250、 251以及252來可 以進行每個加密運算。同樣,在對多個流進行使用不同加密算法的加密運算的情況下,利用不同運算部250、 251以及252來可以進行每個 加密運算。據(jù)此,即使在各個運算部250、 251以及252只保持一個上下文的 情況下,也不需要在每次進行加密運算時進行上下文的保存以及返回。 據(jù)此,由于可以減少進行上下文的保存以及返回的頻度,因此機密信 息處理裝置200可以高速地進行加密運算處理。再者,機密信息處理裝置200,將運算結(jié)果即散列值以及MAC值 存儲到上下文存儲部211。據(jù)此,外部裝置201以及202,可以讀出運 算結(jié)果即散列值以及MAC值。并且,機密信息處理裝置200,即使進行使用散列運算以及密鑰加 密算法的認證處理的情況下,也將輸入流輸出到外部裝置201或其它 流分析部230、 231、 232以及233。據(jù)此,可以對流進行與進行加密以 及解密的情況相同的處理。再者,機密信息處理裝置200,將尾數(shù)有效負載存儲到上下文存儲 部211。據(jù)此,在所輸入的流的對象數(shù)據(jù)不是運算單位的整數(shù)倍的情況 下,即使不向外部裝置201以及202輸出尾數(shù)有效負載,也可以在機 密信息處理裝置200內(nèi)進行尾數(shù)有效負載的處理。再者,機密信息處理裝置200,將上下文存儲到上下文存儲部211, 該上下文包含有效負載連續(xù)次數(shù)。據(jù)此,機密信息處理裝置200,可以 將流中的分散的區(qū)域的數(shù)據(jù)作為一個數(shù)據(jù)進行加密運算。再者,機密信息處理裝置200,將上下文存儲到上下文存儲部211, 該上下文包含散列值替換位置。據(jù)此,機密信息處理裝置200,可以將運算結(jié)果即散列值以及MAC值編入到流中的任意的位置。再者,機密信息處理裝置200,將上下文存儲到上下文存儲部211, 該上下文包含散列值比較位置。據(jù)此,機密信息處理裝置200,可以對 運算結(jié)果即散列值以及MAC值和流中的任意的位置的數(shù)據(jù)進行比較。 并且,機密信息處理裝置200,將上下文存儲到上下文存儲部211, 該上下文包含數(shù)輸出標(biāo)記;有效負載連續(xù)次數(shù);流非輸出標(biāo)記;散 列值替換位置;散列值比較位置。據(jù)此,通過設(shè)定上下文存儲部211 所存儲的上下文,從而可以對應(yīng)多種加密運算。如上所述,根據(jù)本發(fā)明涉及的機密信息處理裝置200,可以對一個 流進行運算方法不是唯一的、多種且多次加密運算,并且可以容易地 進行由軟件的控制。并且,根據(jù)本發(fā)明涉及的機密信息處理裝置200, 即使在進行多種運算方法的加密運算的情況下,也可以容易地進行由 軟件的控制。在上面,對本發(fā)明的實施例涉及的機密信息處理裝置進行了說明, 但是,本發(fā)明不僅限于該實施例。例如,在上述說明中,對機密信息處理裝置200包括三個運算部 250、 251以及252的例子進行了說明,但是,運算部的數(shù)量不僅限于 此。例如,機密信息處理裝置200,可以只包括對應(yīng)密鑰加密算法的運 算部,也可以只包括對應(yīng)散列算法的運算部。并且,也可以機密信息 處理裝置200包括二個或四個以上的運算部。并且,在上述說明中,運算部對應(yīng)的加密算法是AES、 bES以及 SHA,但是,也可以是Multi2、 Camellia、 MD5(Message Digest5)等其它加密算法。并且,由各個運算部進行的加密運算模式,也可以是CBC、 ECB(Electronic Codebook)、 XCBC-MAC、 OFB(Output Feedback:輸出 反饋)、CTR(Counter)等任意的模式。并且,在上述說明中,機密信息處理裝置200包括兩個以上的流 控制部220以及221,但是,包括一個以上的任意的數(shù)量的流控制部即 可。并且,在上述說明中,機密信息處理裝置200,對流控制部220 以及221分別包括兩個流分析部,但是,也可以對流控制部220以及 221分別包括一個或三個以上的流分析部。再者,在此情況下,也可以 在上下文對應(yīng)表212中設(shè)定對應(yīng)一個流ID的三個以上的上下文ID。據(jù) 此,對一個流可以進行三次以上的加密運算。并且,機密信息處理裝置200,可以對流控制部220以及221分別 包括不同數(shù)量的流分析部。并且,在上述說明中,上下文存儲部211存儲上下文對應(yīng)表212, 但是,也可以流控制部220以及221等存儲上下文對應(yīng)表212。并且,在上述說明中,AES運算部250以及DES運算部251進行 加密以及解密,但是,也可以只進行加密以及解密中的任一個。并且,在上述說明中,在上下文對應(yīng)表212存儲7個流ID,但是, 也可以所存儲的流ID的數(shù)量是任意的。并且,在上述說明中,在上下文存儲表213存儲ll個上下klD, 但是,也可以所存儲的上下文ID的數(shù)量是任意的。并且,在上述說明中,在尾數(shù)輸出標(biāo)記為OFF的情況下,運算部 250、 251以及252進行尾數(shù)有效負載的保存以及返回;基于有效負 載連續(xù)次數(shù)的運算對象的抽取;基于散列值替換位置的散列值或MAC 值的替換;基于散列值比較位置的散列值或MAC值的比較;但是,也 可以流分析部230、 231、 232以及233進行上述處理中的一個以上的 處理。并且,在上述說明中,流分析部230、 231、 232以及233,通過調(diào) 解部240將用于確定對象數(shù)據(jù)的信息和流輸出到運算部250、 251以及 252,但是,也可以只將對象數(shù)據(jù)輸出到運算部250、 251以及252。并且,在上述說明中,運算部250、 251以及252,將所生成的 MAC值、散列值以及尾數(shù)有效負載存儲到上下文存儲部211,但是, 也可以運算部250、 251以及252本身保持,作為上下文260、 261以 及262所生成的MAC值、散列值以及尾數(shù)有效負載。在該情況下,在 進行上下文的保存時等,MAC值、散列值以及尾數(shù)有效負載被存儲到 上下文存儲部211。并且,在上述說明中,由專用電路(硬件)構(gòu)成上下文控制部210; 流控制部220以及221;流分析部230、 231 、 232以及233;調(diào)解部240; AES運算部250; DES運算部251; SHA1運算部252,但是,也可以 通過CPU等執(zhí)行程序(軟件)來實現(xiàn)由上述處理部實現(xiàn)的功能的一部分。并且,在上述說明中,作為流控制部220以及221的結(jié)構(gòu)示出了 圖5所示的結(jié)構(gòu),但是,流控制部220以及221的結(jié)構(gòu)不僅限于此。圖15是流控制部220以及221的變形例的結(jié)構(gòu)圖。圖15所示的流控制部220,將從外部裝置201輸入的輸入流輸出到流分析部230 或231。并且,流控制部220,將由流分析部230輸出的輸出流,通過 緩沖器302輸出到流分析部231,并且,將由流分析部231輸出的輸出 流輸出到外部裝置201。再者,也可以是,流控制部220的結(jié)構(gòu)為可以以任意的組合來 連接外部裝置201、流分析部230以及流分析部231之間的通路。艮卩, 流控制部220也可以,將從外部裝置201輸入的輸入流選擇性地輸出 到流分析部230或231 ,并且將由流分析部230以及231輸出的輸出流 分別選擇性地輸出到外部裝置201、其它流分析部230或231。并且,在上述說明中,對將本發(fā)明涉及的機密信息處理裝置200 適用于移動電話的例子進行了說明,但是,也可以適用于數(shù)字電視機、 STB、 DVD刻錄機、DVD播放器、HD刻錄機、PC以及移動信息終端 (PDA:個人數(shù)字助理)等。圖16是本發(fā)明的實施例涉及的機密信息處理機器100的變形例的 結(jié)構(gòu)圖。如圖16所示,機密信息處理機器IOO,也可以對由外部機器 109以數(shù)字廣播等發(fā)送的加密數(shù)據(jù)進行解密,從而在顯示部104顯示。 并且,機密信息處理機器IOO,也可以對存儲介質(zhì)(CD、 DVD、存儲卡 以及USB存儲器等)106所存儲的加密數(shù)據(jù)進行解密。并且,機密信息 處理機器100,也可以將由機密信息處理裝置200加密后的數(shù)據(jù)存儲到 存儲介質(zhì)106。并且,機密信息處理機器100,也可以對由外部機器108 通過網(wǎng)絡(luò)107發(fā)送的加密數(shù)據(jù)進行解密。并且,機密信息處理機器100, 也可以將由機密信息處理裝置200加密后的數(shù)據(jù)通過網(wǎng)絡(luò)107發(fā)送到外部機器108。本發(fā)明可以適用于機密信息處理裝置,尤其可以適用于與需要加 密通信的網(wǎng)絡(luò)連接的機密信息處理機器、以及對保護板權(quán)的流進行處 理的機密信息處理機器。例如,本發(fā)明可以適用于移動電話、數(shù)字電 視機、STB(Set Top Box:機頂盒)、DVD刻錄機、DVD播放器、HD 刻錄機、PC以及PDA等。
權(quán)利要求
1、一種機密信息處理裝置,對從外部裝置輸入的數(shù)據(jù)流所包含的不同對象數(shù)據(jù)進行多次加密運算,其特征在于,包括至少一個流分析部,通過分析數(shù)據(jù)流,從而判別所述對象數(shù)據(jù);至少一個加密運算部,保持上下文,并使用所保持的所述上下文對數(shù)據(jù)流所包含的所述對象數(shù)據(jù)進行加密運算,所述上下文包含加密運算中使用的密鑰、初始值以及加密運算中途的中間信息中的一個以上;上下文存儲部,存儲多個所述上下文;對應(yīng)表存儲部,存儲對應(yīng)表,該對應(yīng)表示出對數(shù)據(jù)流進行加密運算的次數(shù)和每次加密運算中使用的上下文;上下文控制部,在所述加密運算部所保持的所述上下文與所述對應(yīng)表所示的加密運算中使用的上下文不一致的情況下,使所述加密運算部所保持的上下文退避到所述上下文存儲部,并且使所述上下文存儲部所存儲的所述多個上下文中的、所述對應(yīng)表所示的加密運算中使用的上下文返回到所述加密運算部;以及流控制部,將由所述加密運算部進行了所述對應(yīng)表所示的次數(shù)的加密運算的數(shù)據(jù)流輸出到所述外部裝置,將從所述外部裝置輸入的數(shù)據(jù)流以及由所述加密運算部進行了加密運算的次數(shù)未滿所述對應(yīng)表所示的次數(shù)的加密運算的數(shù)據(jù)流,輸出到所述流分析部。
2、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于,所述至少一個流分析部,包含通過分析數(shù)據(jù)流來判別所述對象數(shù) 據(jù)的第一流分析部以及第二流分析部,在所述對應(yīng)表示出對數(shù)據(jù)流進行兩次以上的加密運算的情況下, 所述流控制部,將該數(shù)據(jù)流輸出到所述第一流分析部,將由所述加密 運算部進行了第一次加密運算的數(shù)據(jù)流輸出到所述第二流分析部。
3、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于,所述至少一個加密運算部,包含第一運算部,對所述對象數(shù)據(jù)進行使用了第一加密算法的加密運 算;以及第二運算部,對所述對象數(shù)據(jù)進行使用了與所述第一加密算法不 同的第二加密算法的加密運算,所述第一運算部以及所述第二運算部,分別保持至少一個所述上 下文。
4、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于, 所述至少一個加密運算部,包含散列運算部,該散列運算部通過對所述對象數(shù)據(jù)進行散列運算,從而生成散列值,所述上下文,包含由所述散列運算部生成的散列值, 所述流控制部,將所述散列運算部進行了散列加密運算的數(shù)據(jù)流,以從所述外部裝置輸入的狀態(tài),直接輸出到所述外部裝置或所述流分析部。
5、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于, 所述至少一個加密運算部,包含散列運算部,該散列運算部通過對所述對象數(shù)據(jù)進行散列運算,從而生成散列值,所述上下文,包含散列值替換位置信息,該散列值替換位置信息 是示出數(shù)據(jù)流所包含的數(shù)據(jù)的規(guī)定位置的信息,所述散列運算部,將對應(yīng)于數(shù)據(jù)流的所述散列值替換位置信息所 示的所述規(guī)定位置的數(shù)據(jù)替換為所述散列值,所述流控制部,將所述規(guī)定位置的數(shù)據(jù)通過所述散列運算部被替 換為所述散列值的數(shù)據(jù)流,輸出到所述外部裝置或所述流分析部。
6、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于, 所述至少一個加密運算部,包含散列運算部,該散列運算部通過對所述對象數(shù)據(jù)進行散列運算,從而生成散列值,所述上下文,包含散列值比較位置信息,該散列值比較位置信息 是示出數(shù)據(jù)流所包含的數(shù)據(jù)的規(guī)定位置的信息,所述散列運算部,判斷對應(yīng)于數(shù)據(jù)流的所述散列值比較位置信息 所示的所述規(guī)定位置的數(shù)據(jù)和所述散列值是否一致。
7、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于, 所述至少一個加密運算部,包含密鑰加密運算部,該密鑰加密運算部通過對所述對象數(shù)據(jù)進行使用密鑰加密算法的認證模式運算,從而生成消息認證符,所述上下文,包含由所述密鑰加密運算部生成的消息認證符, 所述流控制部,將所述密鑰加密運算部進行了認證模式運算的數(shù)據(jù)流,以從所述外部裝置輸入的狀態(tài),直接輸出到所述外部裝置或所述流分析部。
8、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于, 所述至少一個加密運算部,包含密鑰加密運算部,該密鑰加密運算部通過對所述對象數(shù)據(jù)進行使用密鑰加密算法的認證模式運算,從 而生成消息認證符,所述上下文,包含消息認證符替換位置信息,該消息認證符替換 位置信息是示出數(shù)據(jù)流所包含的數(shù)據(jù)的規(guī)定位置的信息,所述密鑰加密運算部,將對應(yīng)于數(shù)據(jù)流的所述消息認證符替換位 置信息所示的所述規(guī)定位置的數(shù)據(jù)替換為所述消息認證符,所述流控制部,將所述規(guī)定位置的數(shù)據(jù)通過所述密鑰加密運算部 被替換為所述消息認證符的數(shù)據(jù)流,輸出到所述外部裝置或所述流分 析部。
9、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于, 所述至少一個加密運算部,包含密鑰加密運算部,該密鑰加密運算部通過對所述對象數(shù)據(jù)進行使用密鑰加密算法的認證模式運算,從 而生成消息認證符,所述上下文,包含消息認證符比較位置信息,該消息認證符比較 位置信息是示出數(shù)據(jù)流所包含的數(shù)據(jù)的規(guī)定位置的信息,所述密鑰加密運算部,判斷對應(yīng)于數(shù)據(jù)流的所述消息認證符比較 位置信息所示的所述規(guī)定位置的數(shù)據(jù)和所述消息認證符是否一致。
10、 如權(quán)利要求l所述的機密信息處理裝置,其特征在于, 所述上下文,在所述對象數(shù)據(jù)的數(shù)據(jù)量不是加密運算中的運算單位的整數(shù)倍的情況下,包含未滿所述運算單位的對象數(shù)據(jù)即尾數(shù)數(shù)據(jù),所述加密運算部,在對后續(xù)的數(shù)據(jù)流進行加密運算時,對包含所 述上下文所包含的所述尾數(shù)數(shù)據(jù)的對象數(shù)據(jù)進行加密運算。
11、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于, 所述上下文,包含連續(xù)處理信息,該連續(xù)處理信息示出數(shù)據(jù)流中的多個分散的區(qū)域,所述加密運算部,將所述連續(xù)處理信息所示的所述多個分散的區(qū) 域的數(shù)據(jù)作為一個數(shù)據(jù)進行加密運算。
12、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于, 所述上下文,包含區(qū)域信息,該區(qū)域信息是示出數(shù)據(jù)流所包含的數(shù)據(jù)中的、進行加密運算的區(qū)域的信息,所述流分析部,將所述區(qū)域信息所示的區(qū)域的數(shù)據(jù)判別為所述對象數(shù)據(jù)。
13、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于, 所述流控制部,包括緩沖器,該緩沖器保持由所述加密運算部進行了加密運算的數(shù)據(jù)流,并且將所保持的數(shù)據(jù)流輸出到所述流分析部。
14、 如權(quán)利要求2所述的機密信息處理裝置,其特征在于, 所述機密信息處理裝置,還包括調(diào)解部,該調(diào)解部在由所述第一流分析部以及所述第二流分析部判別出所述對象數(shù)據(jù)的數(shù)據(jù)流中選擇 任一個,將所選擇的數(shù)據(jù)流輸出到所述加密運算部,所述加密運算部,對由所述調(diào)解部輸出的數(shù)據(jù)流所包含的所述對 象數(shù)據(jù),使用所保持的所述上下文進行加密運算。
15、 如權(quán)利要求1所述的機密信息處理裝置,其特征在于,所述至少一個加密運算部,包含密鑰加密運算部,對所述對象數(shù)據(jù)進行密鑰加密運算;以及散列運算部,對所述對象數(shù)據(jù)進行散列運算。
16、 一種機密信息處理機器,對數(shù)據(jù)流所包含的不同對象數(shù)據(jù)進 行多次加密運算,其特征在于,包括接收部,接收從外部機器發(fā)送的數(shù)據(jù)流;至少一個流分析部,通過分析由所述接收部接收的數(shù)據(jù)流,從而判別所述對象數(shù)據(jù);至少一個加密運算部,保持上下文,并使用所保持的所述上下文 對數(shù)據(jù)流所包含的所述對象數(shù)據(jù)進行加密運算,所述上下文包含加密 運算中使用的密鑰、初始值以及加密運算中途的中間信息中的一個以 上;上下文存儲部,存儲多個所述上下文;對應(yīng)表存儲部,存儲對應(yīng)表,該對應(yīng)表示出對數(shù)據(jù)流進行加密運 算的次數(shù)和每次加密運算中使用的上下文;上下文控制部,在所述加密運算部所保持的所述上下文與所述對 應(yīng)表所示的加密運算中使用的上下文不一致的情況下,使所述加密運 算部所保持的上下文退避到所述上下文存儲部,并且使所述上下文存 儲部所存儲的所述多個上下文中的、所述對應(yīng)表所示的加密運算中使 用的上下文返回到所述加密運算部;顯示部,再生并顯示數(shù)據(jù)流;以及流控制部,將由所述加密運算部進行了所述對應(yīng)表所示的次數(shù)的加密運算的數(shù)據(jù)流輸出到所述顯示部,將從所述外部裝置輸入的數(shù)據(jù) 流以及由所述加密運算部進行了加密運算的次數(shù)未滿所述對應(yīng)表所示 的次數(shù)的加密運算的數(shù)據(jù)流,輸出到所述流分析部。
17、 一種機密信息處理機器,對數(shù)據(jù)流所包含的不同對象數(shù)據(jù)進行多次加密運算,其特征在于,包括至少一個流分析部,通過分析數(shù)據(jù)流,從而判別所述對象數(shù)據(jù); 至少一個加密運算部,保持上下文,并使用所保持的所述上下文對數(shù)據(jù)流所包含的所述對象數(shù)據(jù)進行加密運算,所述上下文包含加密運算中使用的密鑰、初始值以及加密運算中途的中間信息中的一個以上;上下文存儲部,存儲多個所述上下文;對應(yīng)表存儲部,存儲對應(yīng)表,該對應(yīng)表示出對數(shù)據(jù)流進行加密運 算的次數(shù)和每次加密運算中使用的上下文;上下文控制部,在所述加密運算部所保持的所述上下文與所述對 應(yīng)表所示的加密運算中使用的上下文不一致的情況下,使所述加密運 算部所保持的上下文退避到所述上下文存儲部,并且使所述上下文存 儲部所存儲的所述多個上下文中的、所述對應(yīng)表所示的加密運算中使 用的上下文返回到所述加密運算部;發(fā)送部,將數(shù)據(jù)流發(fā)送到外部機器;以及流控制部,將由所述加密運算部進行了所述對應(yīng)表所示的次數(shù)的 加密運算的數(shù)據(jù)流輸出到所述發(fā)送部,將從外部裝置輸入的數(shù)據(jù)流以 及由所述加密運算部進行了加密運算的次數(shù)未滿所述對應(yīng)表所示的次數(shù)的加密運算的數(shù)據(jù)流,輸出到所述流分析部。
18、 一種機密信息處理裝置中的機密信息處理方法,所述機密信 息處理裝置對從外部裝置輸入的第一數(shù)據(jù)流所包含的不同對象數(shù)據(jù)進 行多次加密運算,其特征在于,所述機密信息處理裝置,包括至少一個流分析部,通過分析數(shù)據(jù)流,從而判別所述對象數(shù)據(jù); 至少一個加密運算部,保持上下文,并使用所保持的所述上下文 對數(shù)據(jù)流所包含的所述對象數(shù)據(jù)進行加密運算,所述上下文包含加密 運算中使用的密鑰、初始值以及加密運算中途的中間信息中的一個以上;上下文存儲部,存儲多個所述上下文;對應(yīng)表存儲部,存儲對應(yīng)表,該對應(yīng)表示出對數(shù)據(jù)流進行加密運 算的次數(shù)和每次加密運算中使用的上下文;上下文控制部,在所述加密運算部所保持的所述上下文與所述對 應(yīng)表所示的加密運算中使用的上下文不一致的情況下,使所述加密運 算部所保持的上下文退避到所述上下文存儲部,并且使所述上下文存 儲部所存儲的所述多個上下文中的、所述對應(yīng)表所示的加密運算中使 用的上下文返回到所述加密運算部;以及流控制部,將由所述加密運算部進行加密運算的數(shù)據(jù)流輸出到所 述外部裝置或所述流分析部,在所述對應(yīng)表示出對所述第一數(shù)據(jù)流進行兩次以上的加密運算的 情況下,所述流分析部,從所述第一數(shù)據(jù)流判別出第一對象數(shù)據(jù), 所述加密運算部,通過對所述第一數(shù)據(jù)流所包含的所述第一對象數(shù)據(jù)進行加密運算,從而生成第二數(shù)據(jù)流,所述流控制部,將所述第二數(shù)據(jù)流輸出到所述流分析部, 所述流分析部,從所述第二數(shù)據(jù)流判別出第二對象數(shù)據(jù), 所述加密運算部,通過對所述第二數(shù)據(jù)流所包含的所述第二對象數(shù)據(jù)進行加密運算,從而生成第三數(shù)據(jù)流,所述流控制部,將所述第三數(shù)據(jù)流輸出到所述外部裝置。
全文摘要
本發(fā)明提供機密信息處理機器、裝置及方法。機密信息處理裝置包括通過分析數(shù)據(jù)流判別對象數(shù)據(jù)的流分析部;加密運算部,保持上下文,使用上下文對對象數(shù)據(jù)加密運算,上下文包含加密運算中用的密鑰、初始值以及加密運算中途的中間信息中的一個以上;上下文存儲部;對應(yīng)表存儲部,存儲對應(yīng)表,示出對數(shù)據(jù)流進行加密運算的次數(shù)和加密運算中用的上下文;上下文控制部,使保持的上下文退避到上下文存儲部,使存儲的多個上下文中的、對應(yīng)表所示的加密運算中用的上下文返回到加密運算部;以及流控制部,將進行了對應(yīng)表所示次數(shù)的加密運算的數(shù)據(jù)流輸出到外部裝置,將外部裝置輸入的數(shù)據(jù)流以及進行了未滿對應(yīng)表所示次數(shù)的加密運算的數(shù)據(jù)流輸出到流分析部。
文檔編號H04L9/14GK101227274SQ20081000212
公開日2008年7月23日 申請日期2008年1月15日 優(yōu)先權(quán)日2007年1月15日
發(fā)明者佐野正宏, 栗木悟, 根本祐輔, 藤原睦, 鳥崎唯之 申請人:松下電器產(chǎn)業(yè)株式會社