CN101227274A - 机密信息处理机器、机密信息处理装置及机密信息处理方法 - Google Patents
机密信息处理机器、机密信息处理装置及机密信息处理方法 Download PDFInfo
- Publication number
- CN101227274A CN101227274A CNA2008100021233A CN200810002123A CN101227274A CN 101227274 A CN101227274 A CN 101227274A CN A2008100021233 A CNA2008100021233 A CN A2008100021233A CN 200810002123 A CN200810002123 A CN 200810002123A CN 101227274 A CN101227274 A CN 101227274A
- Authority
- CN
- China
- Prior art keywords
- cryptographic calculation
- context
- data
- flow
- stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明提供机密信息处理机器、装置及方法。机密信息处理装置包括:通过分析数据流判别对象数据的流分析部;加密运算部,保持上下文,使用上下文对对象数据加密运算,上下文包含加密运算中用的密钥、初始值以及加密运算中途的中间信息中的一个以上;上下文存储部;对应表存储部,存储对应表,示出对数据流进行加密运算的次数和加密运算中用的上下文;上下文控制部,使保持的上下文退避到上下文存储部,使存储的多个上下文中的、对应表所示的加密运算中用的上下文返回到加密运算部;以及流控制部,将进行了对应表所示次数的加密运算的数据流输出到外部装置,将外部装置输入的数据流以及进行了未满对应表所示次数的加密运算的数据流输出到流分析部。
Description
技术领域
本发明涉及,机密信息处理装置、机密信息处理机器、以及机密信息处理方法,尤其涉及一种机密信息处理装置,其对数据流所包含的不同对象数据进行多次加密运算。
背景技术
在数字电视机、DVD刻录机以及移动电话等机器中,为了加强安全等,对接收的数据流或将发送的数据流(以下,简称为“流”)实施密钥加密运算或散列运算(以下,也简称为“加密运算”。并且,加密后的数据的解密以及明文数据的加密中至少一个以上被称为“加密运算”)。即,数字电视机、DVD刻录机以及移动电话等机器包括对流进行加密运算的机密信息处理装置。
对于机密信息处理装置进行的加密运算,存在下列情况,即,对流整体以同一算法来进行加密运算的情况;对流所包含的数据的规定区域只实施一次加密运算的情况;以及对流所包含的数据的不同区域实施多次加密运算的情况。例如,机密信息处理装置,对流所包含的数据的第一区域执行密钥加密运算后,对该流所包含的数据的第二区域实施散列运算。即,存在的情况是:机密信息处理装置进行的运算方法不是唯一的、多次加密运算的情况。
而且,加密运算所进行的数据的区域、加密运算的次数、以及加密运算中使用的加密算法,由IPSec(Security Architecture for InternetProtocol:因特网协议安全)或数字广播标准等规定。
例如,在专利文献1中记载,对流进行运算方法不是唯一的、多次加密运算的机密信息处理装置。
专利文献1中所记载的以往的机密信息处理装置,可以对一个流并行进行认证处理和加密处理。
然而,专利文献1中所记载的以往的机密信息处理装置,在对流整体的运算方法不是唯一的情况下,需要将流分割为多个数据串,而将各个数据串分为多次来进行DMA(Direct Memory Access:直接内存存取)传输,从而对流整体进行加密运算。
再者,作为对流进行运算方法不是唯一的、多次加密运算的例子,可以设想下列情况等多种情况,即,对一个流,使用某密钥来进行解密后使用其它密钥来进行加密的情况等。在这些情况下,专利文献1的以往的机密信息处理装置,像第一次只进行解密、第二次只进行加密那样,需要实施两次以上的流的输出入。因此,对于以往的机密信息处理装置存在的问题是,由软件进行的控制很复杂。
发明内容
鉴于上述问题,本发明的目的在于提供一种机密信息处理装置、机密信息处理机器以及机密信息处理方法,其可以对一个流进行运算方法不是唯一的、多次加密运算,并且可以容易地进行由软件的控制。
专利文献1:日本国特开2006-41684号公报
为了实现所述目的,本发明涉及的机密信息处理装置是一种机密信息处理装置,对从外部装置输入的数据流所包含的不同对象数据进行多次加密运算,包括:至少一个流分析部,通过分析数据流,从而判别所述对象数据;至少一个加密运算部,保持上下文(context),并使用所保持的所述上下文对数据流所包含的所述对象数据进行加密运算,所述上下文包含加密运算中使用的密钥、初始值以及加密运算中途的中间信息中的一个以上;上下文存储部,存储多个所述上下文;对应表存储部,存储对应表,该对应表示出对数据流进行加密运算的次数和每次加密运算中使用的上下文;上下文控制部,在所述加密运算部所保持的所述上下文与所述对应表所示的加密运算中使用的上下文不一致的情况下,使所述加密运算部所保持的上下文退避到所述上下文存储部,并且使所述上下文存储部所存储的所述多个上下文中的、所述对应表所示的加密运算中使用的上下文返回到所述加密运算部;以及流控制部,将由所述加密运算部进行了所述对应表所示的次数的加密运算的数据流输出到所述外部装置,将从所述外部装置输入的数据流以及由所述加密运算部进行了加密运算的次数未满所述对应表所示的次数的加密运算的数据流,输出到所述流分析部。
根据该结构,上下文控制部,根据对应表所示的进行加密运算的次数,将加密运算后的流输出到外部装置或其它流分析部。因此,通过在对应表设定进行加密运算的次数,从而可以设定任意的运算次数。
因此,本发明涉及的机密信息处理装置,可以对一个流进行任意的次数的加密运算。而且,即使在每次结束加密运算时不向外部输出流,也可以将流输入一次来进行多次加密运算。并且,通过在对应表设定进行加密运算的次数,从而可以容易地变更进行加密运算的次数。
而且,在上下文存储部存储多个上下文。并且,上下文控制部,进行加密运算中使用的上下文的保存以及返回。据此,通过从上下文存储部读出对应的上下文,从而可以容易地对应多种运算方法。并且,加密运算部包括可以存储至少一个上下文的寄存器等即可,因此可以减少加密运算部的电路规模。并且,设定针对多种运算方法的上下文,并且将所设定的上下文存储到上下文控制部,从而可以容易地设定运算方法的变更以及追加等。
如此,本发明涉及的机密信息处理装置,可以对一个流进行运算方法不是唯一的、多种且多次加密运算,并且可以容易地进行由软件的控制。
并且,也可以是,所述至少一个流分析部,包含通过分析数据流来判别所述对象数据的第一流分析部以及第二流分析部,并且,在所述对应表示出对数据流进行两次以上的加密运算的情况下,所述流控制部,将该数据流输出到所述第一流分析部,将由所述加密运算部进行了第一次加密运算的数据流输出到所述第二流分析部。
根据该结构,在对一个输入流进行多次加密运算的情况下,针对每个加密运算,不同流分析部判别输入流的不同区域的数据。据此,即使在多次加密运算中流内的加密运算对象的数据不同的情况下,也可以以容易的软件控制来对流的任意的区域中包含的数据进行加密运算。
并且,也可以是,所述至少一个加密运算部,包含:第一运算部,对所述对象数据进行使用了第一加密算法的加密运算;以及第二运算部,对所述对象数据进行使用了与所述第一加密算法不同的第二加密算法的加密运算,并且,所述第一运算部以及所述第二运算部,分别保持至少一个所述上下文。
根据该结构,在对一个输入流进行多次加密运算的情况下,可以由不同运算部进行各个加密运算。据此,即使在各个运算部只保持一个上下文的情况下,也不需要在每次进行加密运算时进行上下文的保存以及返回。因此,本发明涉及的机密信息处理装置,可以高速地进行加密运算处理。而且,通过包括进行使用不同加密算法的加密运算的多个运算部,本发明涉及的机密信息处理装置,可以进行使用多个加密算法的加密运算。即,本发明涉及的机密信息处理装置,可以对应多中运算方法。
并且,也可以是,所述至少一个加密运算部,包含散列运算部,该散列运算部通过对所述对象数据进行散列运算,从而生成散列值,所述上下文,包含由所述散列运算部生成的散列值,并且,所述流控制部,将所述散列运算部进行了散列加密运算的数据流,以从所述外部装置输入的状态,直接输出到所述外部装置或所述流分析部。
根据该结构,由散列运算生成的散列值作为上下文被存储。并且,原来的流被输出到外部或其它流分析部。因此,进行散列运算后,可以对流继续进行其它加密运算。因此,本发明涉及的机密信息处理装置,以容易的控制,可以将流输入一次来进行多种且多次加密运算。
并且,也可以是,所述至少一个加密运算部,包含散列运算部,该散列运算部通过对所述对象数据进行散列运算,从而生成散列值,并且,所述上下文,包含散列值替换位置信息,该散列值替换位置信息是示出数据流所包含的数据的规定位置的信息,并且,所述散列运算部,将对应于数据流的所述散列值替换位置信息所示的所述规定位置的数据替换为所述散列值,并且,所述流控制部,将所述规定位置的数据通过所述散列运算部被替换为所述散列值的数据流,输出到所述外部装置或所述流分析部。
根据该结构,可以将散列值编入到流的任意的位置,并且将编入了散列值的流输出到外部装置或其它流分析部。并且,通过设定上下文所包含的散列值替换位置信息,从而可以容易地设定散列值的替换的执行的有无、以及替换到任意的位置。因此,本发明涉及的机密信息处理装置,以容易的控制,可以将流输入一次来进行多种且多次加密运算。
并且,也可以是,所述至少一个加密运算部,包含散列运算部,该散列运算部通过对所述对象数据进行散列运算,从而生成散列值,并且,所述上下文,包含散列值比较位置信息,该散列值比较位置信息是示出数据流所包含的数据的规定位置的信息,并且,所述散列运算部,判断对应于数据流的所述散列值比较位置信息所示的所述规定位置的数据和所述散列值是否一致。
根据该结构,通过对散列值和流的任意的位置中包含的数据进行比较,从而可以进行流的认证。并且,通过设定上下文所包含的散列值比较位置信息,从而可以容易地设定散列值的比较的执行的有无、以及与任意的位置的比较。因此,本发明涉及的机密信息处理装置,可以以容易的控制来进行多种加密运算。
并且,也可以是,所述至少一个加密运算部,包含密钥加密运算部,该密钥加密运算部通过对所述对象数据进行使用密钥加密算法的认证模式运算,从而生成消息认证符,并且,所述上下文,包含由所述密钥加密运算部生成的消息认证符,并且,所述流控制部,将所述密钥加密运算部进行了认证模式运算的数据流,以从所述外部装置输入的状态,直接输出到所述外部装置或所述流分析部。
根据该结构,由使用密钥加密算法的认证模式的运算生成的消息认证符作为上下文被存储。并且,原来的流被输出到外部或其它流分析部。因此,进行使用密钥加密算法的认证模式的运算后,可以对流继续进行其它加密运算。因此,本发明涉及的机密信息处理装置,以容易的控制,可以将流输入一次来进行多种且多次加密运算。
并且,也可以是,所述至少一个加密运算部,包含密钥加密运算部,该密钥加密运算部通过对所述对象数据进行使用密钥加密算法的认证模式运算,从而生成消息认证符,并且,所述上下文,包含消息认证符替换位置信息,该消息认证符替换位置信息是示出数据流所包含的数据的规定位置的信息,并且,所述密钥加密运算部,将对应于数据流的所述消息认证符替换位置信息所示的所述规定位置的数据替换为所述消息认证符,并且,所述流控制部,将所述规定位置的数据通过所述密钥加密运算部被替换为所述消息认证符的数据流,输出到所述外部装置或所述流分析部。
根据该结构,可以将消息认证符编入到流的任意的位置,并且将编入了消息认证符的流输出到外部装置或其它流分析部。并且,通过设定上下文所包含的消息认证符替换位置信息,从而可以容易地设定消息认证符的替换的执行的有无、以及替换到任意的位置。因此,本发明涉及的机密信息处理装置,以容易的控制,可以将流输入一次来进行多种且多次加密运算。
并且,也可以是,所述至少一个加密运算部,包含密钥加密运算部,该密钥加密运算部通过对所述对象数据进行使用密钥加密算法的认证模式运算,从而生成消息认证符,并且,所述上下文,包含消息认证符比较位置信息,该消息认证符比较位置信息是示出数据流所包含的数据的规定位置的信息,并且,所述密钥加密运算部,判断对应于数据流的所述消息认证符比较位置信息所示的所述规定位置的数据和所述消息认证符是否一致。
根据该结构,根据该结构,通过对消息认证符和流的任意的位置中包含的数据进行比较,从而可以进行流的认证。并且,通过设定上下文所包含的消息认证符比较位置信息,从而可以容易地设定消息认证符的比较的执行的有无、以及与任意的位置的比较。因此,本发明涉及的机密信息处理装置,可以以容易的控制来进行多种加密运算。
并且,也可以是,所述上下文,在所述对象数据的数据量不是加密运算中的运算单位的整数倍的情况下,包含未满所述运算单位的对象数据即尾数数据,并且,所述加密运算部,在对后续的数据流进行加密运算时,对包含所述上下文所包含的所述尾数数据的对象数据进行加密运算。
根据该结构,本发明涉及的机密信息处理装置,即使不将尾数数据向外部输出,也可以继续进行后续的流的处理。因此,外部装置(CPU等),不需要进行向后续的流连接未进行加密运算的尾数数据等处理。因此,本发明涉及的机密信息处理装置,可以减少外部装置的处理。
并且,也可以是,所述上下文,包含连续处理信息,该连续处理信息示出数据流中的多个分散的区域,并且,所述加密运算部,将所述连续处理信息所示的所述多个分散的区域的数据作为一个数据进行加密运算。
根据该结构,也可以对应将流中的分散的区域的数据作为一个数据来进行加密运算的情况。并且,通过设定上下文所包含的连续处理信息,从而可以容易地设定该处理的实施的有无。因此,本发明涉及的机密信息处理装置,可以以容易的控制来进行多种加密运算。
并且,也可以是,所述上下文,包含区域信息,该区域信息是示出数据流所包含的数据中的、进行加密运算的区域的信息,并且,所述流分析部,将所述区域信息所示的区域的数据判别为所述对象数据。
根据该结构,由流分析部,流所包含的任意的区域的数据判别为对象数据。据此,本发明涉及的机密信息处理装置,可以对流所包含的任意的区域的数据进行加密运算。并且,通过设定上下文所包含的区域信息,从而可以设定成为加密运算的对象的数据。因此,本发明涉及的机密信息处理装置,可以以容易的控制来进行多种加密运算。
并且,也可以是,所述流控制部,包括缓冲器,该缓冲器保持由所述加密运算部进行加密运算的数据流,并且将所保持的数据流输出到所述流分析部。
根据该结构,可以将进行了第一次的加密运算的流保持到缓冲器,对缓冲器所保持的流依次进行第二次的加密运算。
并且,也可以是,所述机密信息处理装置,还包括调解部,在由所述第一流分析部以及所述第二流分析部判别出所述对象数据的数据流中选择任一个,将所选择的数据流输出到所述加密运算部,并且,所述加密运算部,对由所述调解部输出的数据流所包含的所述对象数据,使用所保持的所述上下文进行加密运算。
根据该结构,由调解部在多个流分析部和加密运算部之间形成任意的通路。据此,可以将流输入一次来进行使用同一算法的多次加密运算(例如,进行解密后进行加密)。而且,在同时发生对同一加密运算部同时发生多个加密运算请求的情况下,调解部,可以根据优先级等来决定进行加密运算的流。
并且,也可以是,所述至少一个加密运算部,包含:密钥加密运算部,对所述对象数据进行密钥加密运算;以及散列运算部,对所述对象数据进行散列运算。
根据该结构,可以对一个流进行密钥加密运算和散列运算。因此,本发明涉及的机密信息处理装置,以容易的控制,可以将流输入一次来进行多种且多次加密运算。
并且,本发明涉及的机密信息处理机器是一种机密信息处理机器,对数据流所包含的不同对象数据进行多次加密运算,包括:接收部,接收从外部机器发送的数据流;至少一个流分析部,通过分析由所述接收部接收的数据流,从而判别所述对象数据;至少一个加密运算部,保持上下文,并使用所保持的所述上下文对数据流所包含的所述对象数据进行加密运算,所述上下文包含加密运算中使用的密钥、初始值以及加密运算中途的中间信息中的一个以上;上下文存储部,存储多个所述上下文;对应表存储部,存储对应表,该对应表示出对数据流进行加密运算的次数和每次加密运算中使用的上下文;上下文控制部,在所述加密运算部所保持的所述上下文与所述对应表所示的加密运算中使用的上下文不一致的情况下,使所述加密运算部所保持的上下文退避到所述上下文存储部,并且使所述上下文存储部所存储的所述多个上下文中的、所述对应表所示的加密运算中使用的上下文返回到所述加密运算部;显示部,再生并显示数据流;以及流控制部,将由所述加密运算部进行了所述对应表所示的次数的加密运算的数据流输出到所述显示部,将从所述外部装置输入的数据流以及由所述加密运算部进行了加密运算的次数未满所述对应表所示的次数的加密运算的数据流,输出到所述流分析部。
根据该结构,在接收、再生以及显示加密后的数据的机密信息处理装置中,可以实现对一个流进行运算方法不是唯一的多次加密运算,并且可以容易地进行由软件的控制。
并且,本发明涉及的机密信息处理机器是一种机密信息处理机器,对数据流所包含的不同对象数据进行多次加密运算,包括:至少一个流分析部,通过分析数据流,从而判别所述对象数据;至少一个加密运算部,保持上下文,并使用所保持的所述上下文对数据流所包含的所述对象数据进行加密运算,所述上下文包含加密运算中使用的密钥、初始值以及加密运算中途的中间信息中的一个以上;上下文存储部,存储多个所述上下文;对应表存储部,存储对应表,该对应表示出对数据流进行加密运算的次数和每次加密运算中使用的上下文;上下文控制部,在所述加密运算部所保持的所述上下文与所述对应表所示的加密运算中使用的上下文不一致的情况下,使所述加密运算部所保持的上下文退避到所述上下文存储部,并且使所述上下文存储部所存储的所述多个上下文中的、所述对应表所示的加密运算中使用的上下文返回到所述加密运算部;发送部,将数据流发送到外部机器;以及流控制部,将由所述加密运算部进行了所述对应表所示的次数的加密运算的数据流输出到所述发送部,将从外部装置输入的数据流以及由所述加密运算部进行了加密运算的次数未满所述对应表所示的次数的加密运算的数据流,输出到所述流分析部。
根据该结构,在加密并发送明文数据的机密信息处理装置中,可以实现对一个流进行运算方法不是唯一的多次加密运算,并且可以容易地进行由软件的控制。
并且,本发明涉及的机密信息处理方法是一种机密信息处理装置中的机密信息处理方法,所述机密信息处理装置对从外部装置输入的第一数据流所包含的不同对象数据进行多次加密运算,所述机密信息处理装置,包括:至少一个流分析部,通过分析数据流,从而判别所述对象数据;至少一个加密运算部,保持上下文,并使用所保持的所述上下文对数据流所包含的所述对象数据进行加密运算,所述上下文包含加密运算中使用的密钥、初始值以及加密运算中途的中间信息中的一个以上;上下文存储部,存储多个所述上下文;对应表存储部,存储对应表,该对应表示出对数据流进行加密运算的次数、和每次加密运算中使用的上下文;上下文控制部,在所述加密运算部所保持的所述上下文与所述对应表所示的加密运算中使用的上下文不一致的情况下,使所述加密运算部所保持的上下文退避到所述上下文存储部,并且使所述上下文存储部所存储的所述多个上下文中的、所述对应表所示的加密运算中使用的上下文返回到所述加密运算部;以及流控制部,将由所述加密运算部进行加密运算的数据流输出到所述外部装置或所述流分析部,并且,在所述对应表示出对所述第一数据流进行两次以上的加密运算的情况下:所述流分析部,从所述第一数据流判别出第一对象数据,所述加密运算部,通过对所述第一数据流所包含的所述第一对象数据进行加密运算,从而生成第二数据流,所述流控制部,将所述第二数据流输出到所述流分析部,所述流分析部,从所述第二数据流判别出第二对象数据,所述加密运算部,通过对所述第二数据流所包含的所述第二对象数据进行加密运算,从而生成第三数据流,所述流控制部,将所述第三数据流输出到所述外部装置。
据此,上下文控制部,根据对应表所示的进行加密运算的次数,将加密运算后的流输出到外部装置或其它流分析部。因此,通过在对应表设定进行加密运算的次数,从而可以设定任意的运算次数。因此,本发明涉及的机密信息处理装置,可以对一个流进行任意的次数的加密运算。而且,即使在每次结束加密运算时不向外部输出流,也可以将流输入一次来进行多次加密运算。并且,通过在对应表设定进行加密运算的次数,从而可以容易地变更进行加密运算的次数。
而且,在上下文存储部存储多个上下文。并且,上下文控制部,进行加密运算中使用的上下文的保存以及返回。据此,通过从上下文存储部读出对应的上下文,从而可以容易地对应多种运算方法。并且,加密运算部包括可以存储至少一个上下文的寄存器等即可,因此可以减少加密运算部的电路规模。并且,设定针对多种运算方法的上下文,并且将所设定的上下文存储到上下文控制部,从而可以容易地设定运算方法的变更以及追加等。
如此,本发明涉及的机密信息处理装置,可以对一个流进行运算方法不是唯一的、多种且多次加密运算,并且可以容易地进行由软件的控制。
根据所述内容,可以提供一种机密信息处理装置、机密信息处理机器以及机密信息处理方法,其可以对一个流进行运算方法不是唯一的、多次加密运算,并且可以容易地进行由软件的控制。
附图说明
图1是本发明的实施方式涉及的机密信息处理机器的外观图。
图2是本发明的实施方式涉及的机密信息处理机器的结构框图。
图3是本发明的实施方式涉及的机密信息处理装置的结构框图。
图4是示出本发明的实施方式涉及的上下文对应表的结构的一个例子的图。
图5是本发明的实施方式涉及的流控制部的结构框图。
图6是本发明的实施方式涉及的上下文存储表的结构的一个例子的图。
图7是本发明的实施方式涉及的机密信息处理装置的处理的流程图。
图8是示出由本发明的实施方式涉及的机密信息处理装置对第一运算例中的流ID“0”的流进行的处理的图。
图9是示出由本发明的实施方式涉及的机密信息处理装置对第一运算例中的流ID“1”的流进行的处理的图。
图10是本发明的实施方式涉及的机密信息处理装置的第二运算例中的流的结构图。
图11是示出由本发明的实施方式涉及的机密信息处理装置对第二运算例中的流进行的处理的图。
图12是本发明的实施方式涉及的机密信息处理装置的第三运算例中的流的结构图。
图13是示出由本发明的实施方式涉及的机密信息处理装置对第三运算例中的流进行的处理的图。
图14是示出由本发明的实施方式涉及的机密信息处理装置对第五运算例中的流进行的处理的图。
图15是本发明的实施方式涉及的流控制部的变形例的结构框图。
图16是本发明的实施方式涉及的机密信息处理机器的变形例的结构框图。
具体实施方式
下面,对于本发明涉及的机密信息处理装置的实施例,参照附图进行详细说明。
首先,说明包括本发明的实施例涉及的机密信息处理装置的机密信息处理机器的结构。
图1是示出包括本发明的实施例涉及的机密信息处理装置的机密信息处理机器的外观的一个例子的图。如图1所示,机密信息处理机器100是例如移动电话。
图2是机密信息处理机器100的结构框图。图2所示的机密信息处理机器100可以对一个流所包含的不同对象数据进行多次加密运算。并且,机密信息处理机器100可以对辐辏的多个流进行加密运算。机密信息处理机器100包括:天线101;接收部102;发送部103、显示部104;记忆部105以及机密信息处理装置200。
天线101是用于发送或接收的天线。
接收部102使用天线101接收从外部机器发送来的运动图像流或声音流等流。
记忆部105记忆由接收部102接收的流。并且,记忆部105记忆由机密信息处理机器100生成的运动图像数据等。例如,记忆部105记忆由机密信息处理机器100具有的摄像器(图中不示出)摄像的运动图像数据。例如,记忆部105是RAM(随机存储器)、硬盘或非易失性存储器等。
机密信息处理装置200是本发明的实施例涉及的机密信息处理装置。机密信息处理装置200,对由接收部102接收的流所包含的加密后的数据进行解密。并且,机密信息处理装置200,对由接收部102接收的流所包含的明文数据、以及记忆部105所保持的运动图像数据等进行加密。
发送部103,使用天线101将由机密信息处理装置200加密的流发送到外部机器。
显示部104,再生并显示由机密信息处理装置200解密的流。
而且,机密信息处理装置200,可以对记录在存储介质(SD存储器等)的数据进行加密运算。并且,机密信息处理装置200,可以对在通过网络相连接的外部机器之间被发送以及接收的数据进行加密运算。
并且,接收部102以及发送部103的功能,可以由专用电路来实现,也可以通过CPU等执行程序来实现。
其次,说明机密信息处理装置200的结构。
图3是本发明的实施例涉及的机密信息处理装置200的结构框图。
机密信息处理装置200,可以对一个流所包含的不同对象数据进行两次加密运算。并且,机密信息处理装置200,可以对辐辏的两个流进行加密运算。机密信息处理装置200包括:上下文控制部210;上下文存储部211;流控制部220以及221;流分析部230、231、232以及233;调解部240;AES运算部250;DES运算部25 1以及SHA1运算部252。
上下文存储部211存储上下文对应表212和上下文存储表213。例如,上下文存储部211由RAM构成。而且,上下文存储部211可以由硬盘或非易失性存储器等构成。
上下文对应表212是一种表,示出流的类别、对该流进行加密运算的次数以及与该各个加密运算对应的上下文的类别。在此,上下文是对加密运算需要的信息。
上下文存储表213存储上下文,该上下文即是对流的加密运算需要的信息。即,上下文存储部211存储多个上下文。上下文存储表213所包含的多个上下文中分别包含,各个上下文的类别(上下文ID)、以及对与各个上下文的类别对应的加密运算需要的信息。具体而言,上下文包含加密运算中使用的密钥、初始值以及在加密运算中途的中间信息(在CBC模式运算中的前块的运算结果等)等。并且,上下文包含示出在流所包含的数据中进行加密运算的区域的信息。
而且,在输入进行加密运算的流之前,由外部装置202设定,上下文存储部211所存储的上下文对应表212以及上下文存储表213。
流控制部220,将从外部装置201输入的流(以下,称为“输入流″)输出到流分析部230或231。并且,流控制部220,将由流分析部230或231输出的加密运算后的流(以下,称为“输出流″),按照上下文对应表212,输出到外部装置201、其它流分析部230或231。
并且,流控制部220,识别从外部装置201输入的输入流的属性。
流控制部220,根据识别结果即流ID、和上下文对应表212,构成并控制外部装置201、流分析部230以及流分析部231之间的数据通路。
图4是示出上下文对应表212的结构的一个例子的图。
上下文对应表212存储与对输入流的运算方法和运算顺序有关的信息。如图4所示,在上下文对应表212中记载,对流标识符(流ID)执行的加密运算的上下文的标识符(上下文ID)。在上下文对应表212中按每个流ID记载,对应第一次的加密运算的上下文ID、和对应第二次的加密运算的上下文ID。
流控制部220,在上下文对应表212中,对输入流的流ID指定了第二段的上下文ID的情况下,判断为对输入流连续进行两次加密运算,而在对输入流的流ID没有指定第二段的上下文ID的情况下,判断为对输入流只进行一次加密运算。例如,在图4所示的例子中,对流ID“2”的流进行使用上下文ID“2”的加密运算,对进行使用上下文ID“2”的加密运算后的流进行使用上下文ID“3”的加密运算。并且,对流ID“0”的流,只进行对应上下文ID“0”的加密运算,而不进行第二次的加密运算。
例如,在输入流之前,预先由外部装置202设定上下文对应表212的内容。
图5是流控制部220的结构图。
流控制部220包括选择器301以及缓冲器302。选择器301,选择由流分析部230或231输出的输出流,而输出到外部装置201。缓冲器302,保持由流分析部230输出的输出流,并且将所保持的输出流输出到流分析部231。并且,流控制部220,将从外部装置201输入的输入流输出到流分析部230。
具体而言,在对输入流进行一次加密运算的情况下,选择器301,选择由流分析部230输出的输出流,而输出到外部装置201。在对输入流进行两次加密运算的情况下,选择器301,选择由流分析部231输出的输出流,而输出到外部装置201。
即,在对从外部装置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:数字信号处理器)。
外部装置201以及202,通过上下文控制部210,可以改写上下文存储部211所存储的上下文对应表212以及上下文存储表213。并且,外部装置201以及202,通过上下文控制部210,可以读出上下文对应表212以及上下文存储表213。而且,机密信息处理机器200可以包括外部装置201以及202。
流控制部221,将从外部装置202输入的输入流输出到流分析部232或233。并且,流控制部221,将由流分析部232或233输出的加密运算后的输出流输出到外部装置202、其它流分析部232或233。
而且,对于流控制部221的结构以及详细工作,由于与流控制部220相同,因此省略说明。
流分析部230以及231,根据上下文存储表213所包含的对应流的上下文,从由流控制部220输出的输入流中判别出成为加密运算的对象的对象数据。流分析部230以及231,将用于确定对象数据的信息、和输入流输出到调解部240。
具体而言,流分析部230以及231,保持对应输入流的一组上下文。流分析部230以及231,将所保持的上下文所包含的信息所示的区域的数据判别为对象数据,所述信息示出进行加密运算的区域。并且,流分析部230以及231,将由调解部240输出的输出流输出到流控制部220。
流分析部232以及233,根据上下文存储表213所包含的对应流的上下文,从由流控制部221输出的输入流中判别出成为加密运算的对象的对象数据。流分析部232以及233,将用于确定对象数据的信息、和输入流输出到调解部240。
具体而言,流分析部232以及233,保持对应输入流的一组上下文。流分析部232以及233,将所保持的上下文所包含的信息所示的区域的数据判别为对象数据,所述信息示出进行加密运算的区域。。并且,流分析部232以及233,将由调解部240输出的输出流输出到流控制部221。
调解部240,调解由流分析部230、231、232以及233输出的输入流。具体而言,调解部240,在由多个流分析部230、231、232以及233同时输入应当以同一加密算法进行处理的输入流的情况下,决定对由流分析部230、231、232以及233中的哪个输入流进行处理。即,调解部240,根据适当的调解次序来依次处理输入流。例如,调解部240,根据由流分析部230、231、232以及233设定的优先次序来决定要处理的输入请求。而且,调解部240,可以使用循环(round-robin)方式等其它算法,来决定要处理的输入请求。
并且,调解部240,在接收由流分析部230、231、232以及233输出的输入流的情况下,根据上下文存储表来决定处理时的加密算法。调解部240,将输入流和用于确定对象数据的信息,输出到对应决定的加密算法的运算部250、251或252。
并且,调解部240,将来自运算部250、251或252的输出流,输出到输入流的输出源的流分析部230、231、232或233。
AES运算部250,对由调解部240输入的输入流所包含的运算对象部分即对象数据,进行使用密钥加密算法AES(Advanced EncryptionStandard:高级加密标准)的加密运算。
DES运算部251,对由调解部240输入的输入流所包含的运算对象部分即对象数据,进行使用密钥加密算法DES(Data EncryptionStandard:数据加密标准)的加密运算。
即,AES运算部250以及DES运算部251,根据由调解部240输出的、用于确定对象数据的信息,对由流分析部230、231、232或233判别的对象数据进行加密运算。
具体而言,AES运算部250以及DES运算部251,通过对对象数据进行ECB(Electronic Codebook:电子密码本)模式以及CBC(CipherBlock Chain:密码分组链接)模式等机密模式运算,从而对对象数据进行加密或解密。
并且,AES运算部250以及DES运算部251,通过对对象数据进行CBC-MAC(Message Authentication Code:消息验证代码)模式以及CMAC(Cipher-based Message Authentication Code:基于密码的消息验证代码)等认证模式运算,从而生成消息认证符(MAC值)。
并且,AES运算部250以及DES运算部251,通过对对象数据进行CCM(Counter-mode with CBC-MAC:计数器模式和密码分组链接消息验证代码)模式、GCM(Galois/Counter Mode:伽罗瓦计数器模式)等附带认证的机密模式运算,从而对对象数据进行加密或解密,并且生成MAC值。
AES运算部250以及DES运算部251,在实施机密模式运算的情况下,将针对由调解部240输入的输入流、使运算对象部分以外的所输入的数据不变、以运算对象部分替换为机密模式运算的运算结果的输出流,输出到调解部240。并且,AES运算部250以及DES运算部251,在实施认证模式的情况下,将由调解部240输入的输入流作为输出流,原封不动地输出到调解部240。
并且,AES运算部250以及DES运算部251,将对运算对象部分使用认证模式的运算结果即MAC值,作为上下文输出到上下文控制部210。
并且,AES运算部250以及DES运算部251,在实施附带认证的机密模式的情况下,将针对由调解部240输入的输入流、使运算对象部分以外的所输入的数据不变、以运算对象部分替换为附带认证的机密模式所包含的机密模式的运算结果的输出流,输出到调解部240。再者,AES运算部250以及DES运算部251,将附带认证的机密模式所包含的机密模式的的运算结果即MAC值,作为上下文输出到上下文控制部210。
并且,AES运算部250以及DES运算部251,按照上下文存储表213的设定,将由调解部240输入的输入流中所指定的部分替换为MAC值,并作为输出流输出到调解部240。
并且,AES运算部250以及DES运算部251,按照上下文存储表213的设定,对由调解部240输入的输入流中所指定的部分和MAC值进行比较。
SHA1运算部252,对由调解部240输入的输入流中的运算对象部分,执行使用散列算法SHA(Secure Hash Algorithm:安全散列算法)的运算。
具体而言,SHA1运算部252,实施普通的散列运算以及HMAC(Keyed-Hashing for Message Authentication Code:键入-散列法用于消息验证代码)模式等的运算,从而生成散列值以及MAC值。
SHA1运算部252,在实施普通的散列运算或HMAC模式等的运算的情况下,将由调解部240输入的输入流原封不动地输出到调解部240。并且,SHA1运算部252,将对运算对象部分的普通的散列运算或HMAC模式等的运算结果即散列值或MAC值,作为上下文输出到上下文控制部210。
并且,SHA1运算部252,按照上下文存储表213的设定,将由调解部240输入的输入流中的所指定的部分替换为散列值或MAC值,并作为输出流输出到调解部240。
并且,SHA1运算部252,按照上下文存储表213的设定,对由调解部240输入的输入流中的所指定的部分和散列值或MAC值进行比较。
如上所述,AES运算部250以及DES运算部251,在认证模式以及附带认证的机密模式中,也与机密模式相同输出与输入流的长度相同的输出流。并且,SHA1运算部252,输出与输入流的长度相同的输出流。因此,与密钥加密算法以及散列算法的算法以及模式无关,可以以同一方法输出并输入流。据此,本发明的实施例涉及的机密信息处理装置200,可以对输入流以容易的控制来进行多次运算。
并且,AES运算部250、DES运算部251以及SHA1运算部252,分别保持一组上下文260、261以及262。AES运算部250、DES运算部251以及SHA1运算部252,分别使用所保持的上下文260、261以及262进行加密运算。
上下文控制部210,在运算部250、251以及252不保持对应输入流的上下文的情况下,使运算部250、251以及252所保持的上下文260、261以及262保存到上下文存储部211,并且使上下文存储部211所存储的多个上下文中的、运算部250、251以及252的加密运算中使用的上下文写入到运算部250、251以及252,从而返回上下文。
并且,上下文控制部210,在流分析部230、231、232以及233不保持对应输入流的上下文的情况下,使流分析部230、231、232以及233所保持的上下文保存到上下文存储部211,并且使上下文存储部211所存储的多个上下文中的、对应输入流的上下文写入到流分析部230、231、232以及233。
并且,由专用电路(硬件)构成上下文控制部210;流控制部220以及221;流分析部230、231、232以及233;调解部240;AES运算部250;DES运算部251;SHA1运算部252。
图6是示出上下文存储表213的结构的一个例子的图。
上下文存储表213存储多个上下文,使用上下文ID来区别各个上下文。
上下文存储表213所包含的各个上下文包含:上下文ID;算法;模式;首部(header)长度;有效负载长度;尾部(footer)长度;尾数输出标记;有效负载连续次数;流非输出标记;散列值替换位置;散列值比较位置;密钥以及初始值;中间信息;散列值。
上下文所包含的算法是,输入流的加密运算中使用的加密算法。上下文所包含的模式是,对输入流的加密运算的加密模式。例如,在上下文存储表213中示出,对于上下文ID“0”,使用密钥加密算法AES、且以CBC模式对输入流进行解密。
并且,上下文所包含的算法,分别对应机密信息处理装置200包括的多个运算部250、251以及252。在图6所示的例子中,算法“AES”、“DES”以及“SHA1”,分别对应AES运算部250、DES运算部251以及SHA1运算部252。
调解部240,将由流分析部230、231、232或233输出的输入流输出到对应上下文所包含的算法的运算部250、251或252。
并且,多个运算部250、251以及252,对输入流执行按照上下文所包含的模式的加密运算。
输入流,从开头依次包含:加密运算的非对象数据即首部;加密运算的对象数据即有效负载;加密运算的非对象数据即尾部。
上下文所包含的首部长度、有效负载长度以及尾部长度分别是,输入流所包含的首部、有效负载以及尾部的长度。并且,上下文所包含的首部长度、有效负载长度以及尾部长度是,示出流所包含的数据中进行加密运算的区域的信息。
在此,流分析部230、231、232以及233所保持的上下文是,上下文存储表213所包含的信息中的上下文ID、首部长度、有效负载长度以及尾部长度。
流分析部230、231、232以及233,使用所保持的上下文所包含的首部长度、有效负载长度以及尾部长度,以首部、有效负载以及尾部的顺序分割流,并且将有效负载判别为对象数据。在此,由流分析部230、231、232以及233参照的上下文包含,在上下文对应表212中的、与输入流的流ID对应的上下文ID。
而且,在流长度长于首部长度、有效负载长度以及尾部长度的共计的情况下,流分析部230、231、232以及233,对过长的部分,再次,以首部、有效负载以及尾部的顺序分割流,从而判别有效负载。
例如,在输入流的流长度是512字节、并且在该输入流的运算中使用的上下文中设定首部长度是32字节、有效负载长度是128字节以及尾部长度是96字节的情况下,流分析部230、231、232以及233判断为从输入流的开头32字节是首部、下面的128字节是有效负载、下面的96字节是尾部、下面的32字节是首部、下面的128字节是有效负载、下面的96字节是尾部。
上下文所包含的尾数输出标记是一种标记:在从外部装置201以及202输入流的中途被中断、并且被中断前已经输入的有效负载长度不是所适用的加密算法的运算单位的整数倍的情况下,规定对存在于输入末尾的未满运算单位的有效负载即尾数有效负载(尾数数据)的处理方法。
运算部250、251以及252,根据上下文所包含的尾数输出标记,将尾数有效负载输出到外部装置201以及202或上下文存储部211。
在尾数输出标记是ON的情况下,运算部250、251以及252将因未满运算单位而未进行加密运算的有效负载,通过调解部240、流分析部230、231、232或233、流控制部220或221来输出到外部装置201或202。在此情况下,为了再开始处理,外部装置201或202,在输入后续的流时,需要将暂时输出的尾数有效负载结合在流的开头,从而输入到机密信息处理装置200。
在尾数输出标记是OFF的情况下,运算部250、251以及252将尾数数据输出到上下文存储部211。由运算部250、251以及252输出的尾数有效负载,通过上下文控制部210被保存到上下文存储部211。上下文存储部211,将尾数有效负载作为上下文所包含的中间信息存储。
在从外部装置201或202输入后续的流的情况下,运算部250、251以及252,通过上下文控制部210读出上下文存储部211所存储的尾数数据。运算部250、251以及252,对后续的流进行加密运算时,进行包含尾数有效负载的数据的加密运算。
如上所述,在尾数输出标记是OFF的情况下,运算部250、251以及252将尾数数据结合在后续的流的开头,而进行加密运算。即,在机密信息处理装置200内自动地进行尾数有效负载的处理。据此,外部装置201以及202不需要进行将暂时输出的尾数有效负载结合在流的开头的处理等。即,通过使用机密信息处理装置200,从而可以减少外部装置201以及202的处理量。即,本发明的实施例涉及的机密信息处理装置200,可以以容易的软件控制来进行尾数数据的处理。
通常,在密钥加密运算以及散列运算中,各个有效负载作为连续运算的单位被处理。例如,在密钥加密运算中,按每个有效负载实施CBC模式等运算。并且,在散列运算中,按每个有效负载求出散列值。另外,也存在下列情况,即,将由首部以及尾部分割而分散存在的多个有效负载作为较长的一个有效负载来进行运算。
上下文所包含的有效负载连续次数,用于将分散存在的多个有效负载作为较长的一个有效负载来进行运算。有效负载连续次数是一种信息,示出是否将流中的分散的区域的数据作为一个数据来进行加密运算。例如,在有效负载连续次数是2以上的情况下,将2以上的有效负载作为较长的一个有效负载来进行运算。并且,有效负载连续次数是一种信息,示出将几个有效负载作为较长的一个有效负载来进行运算。
运算部250、251以及252,在有效负载连续次数是2以上的情况下,将流中的分散的区域的数据作为一个数据来进行加密运算。并且,运算部250、251以及252,将有效负载连续次数所示的数字的区域的数据作为一个数据来进行加密运算。
即,运算部250、251以及252,从输入流的开头,按有效负载连续次数所指定的次数,以多个有效负载为加密运算的单位进行加密运算。
例如,在输入流的流长度是1024字节、并且在该输入流的运算中使用的上下文设定;首部长度是32字节、有效负载长度128字节、尾部长度96字节以及有效负载连续次数是2次的情况下,运算部250、25 1以及252,将从输入流的开头第33字节开始128个字节的数据和从开头第289字节开始128个字节的数据的共计256字节作为一个数据来实施加密运算。再者,运算部250、251以及252,对从流的开头第545字节开始128个字节的数据和从开头第801字节开始128个字节的数据的共计256字节实施加密运算。
上下文所包含的流非输出标记是一种标记,用于设定不将输出流向外部装置201以及202输出。在流非输出标记是OFF的情况下,流控制部220以及221将输出流输出到外部装置201、202。在流非输出标记是ON的情况下,流控制部220以及221不将输出流向外部装置201、202输出。例如,在对流只进行散列运算的情况下等,流非输出标记被设定为ON。
上下文所包含的散列值替换位置是示出输入流所包含的数据的规定位置的信息。运算部250、251以及252,将对应流的散列值替换位置所示的规定位置的数据替换为散列值或MAC值。
具体而言,AES运算部250以及DES运算部251,在对输入流执行认证模式以及附带认证的机密模式的情况下,将散列值替换位置所示的规定位置的数据替换为运算结果即MAC值,并作为输出流输出到调解部240。
并且,SHA1运算部252,在对输入流执行散列运算的情况下,将散列值替换位置所示的规定位置的数据替换为运算结果即散列值或MAC值,并作为输出流输出到调解部240。
例如,在算法示出SHA1、散列值替换位置是200的情况下,SHA1运算部252,将从流的开头第200字节开始20个字节的数据替换为SHA的运算结果即散列值。而且,在散列值替换位置示出0的情况下,运算部250、251以及252,不进行散列值或MAC值的替换,而将散列值或MAC值输出到上下文控制部210。上下文控制部210,将由运算部250、251以及252输出的散列值以及MAC值作为上下文存储。
例如,在对输入流进行使用SHA1的散列运算的情况下,将流非输出标记设定为ON、将散列值替换位置设定为0,从而机密信息处理装置200将运算结果即散列值存储到上下文存储部211,并且不将输入流(输出流)向外部装置201以及202输出。
上下文所包含的散列值比较位置是示出输入流所包含的数据的规定位置的信息。运算部250、251以及252,判断对应输入流的散列值比较位置所示的规定位置的数据和运算结果即散列值或MAC值是否一致。并且,运算部250、251以及252的判断结果被输出到外部装置201以及202。
具体而言,AES运算部250以及DES运算部251,在对输入流执行认证模式以及附带认证的机密模式的情况下,对散列值比较位置所示的规定位置的数据和运算结果即MAC值进行比较,并将比较结果输出到外部装置201或202。
并且,SHA1运算部252,在对输入流执行散列运算的情况下,对散列值比较位置所示的规定位置的数据和运算结果即散列值或MAC值进行比较,并将比较结果输出到外部装置201或202。
例如,在设定为算法是SHA1、首部长度是0、有效负载长度是200、尾部长度是50、以及散列值比较位置是200的情况下,SHA1运算部252,对有效负载部分的200字节的SHA1的运算结果即散列值和从流的开头第200字节开始20个字节的数据进行比较,所述20个字节即是由SHA1的散列值的长度。据此,机密信息处理装置200在流中包含散列值的期望值的情况下,在进行运算的同时可以检测窜改。而且,在散列值比较位置是0的情况下,运算部250、251以及252不进行比较。
上下文所包含的密钥以及初始值是按照算法以及模式需要的密钥以及初始值。上下文所包含的密钥以及初始值按照算法以及模式及时被设定。
上下文所包含的中间信息是运算中途的结果、未满运算单位的有效负载(尾数有效负载)、以及各种内部状态等。
上下文所包含的散列值是由运算部250、251以及252生成的散列值或MAC值。
在输入流的输入之前,预先由外部装置202设定上下文存储表213中的中间信息以及散列值以外的内容。
而且,对于在上下文存储表213中以“…”所示的密钥、初始值、中间值以及散列值,按照运算存储适当的值。
并且,运算部250、251以及252所保持的上下文260、261以及262包含:上下文存储表213所包含的上下文中的模式、尾数输出标记、有效负载连续次数、散列值替换位置、散列值比较位置、密钥以及初始值、中间信息、散列值。
其次,说明机密信息处理装置200的工作。
图7是示出机密信息处理装置200的加密运算处理的顺序的流程图。而且,以流从外部装置201被输入到机密信息处理装置200的情况为例子进行说明。
如图7所示,首先,流控制部220,对所输入的流(以下,称为“第一流”)进行识别(S101)。具体而言,流控制部220获得第一流的流ID。
例如,流控制部220,参照第一流所包含的的流ID,从而获得流ID。流控制部220,参照上下文对应表212,来判断对第一流的流ID的加密运算的实施次数、和各个加密运算中使用的上下文ID。然后,流控制部220,将第一流输出到流分析部230。
并且,流控制部220,在流分析部230不保持对应第一流的上下文的情况下,向上下文控制部210发送上下文的保存以及返回的请求。上下文控制部210,接收来自流控制部220的请求后,使流分析部230所保持的上下文保存到上下文存储部211,并且使上下文存储部211所存储的上下文中的对应第一流的上下文返回到流分析部230。例如,流控制部220,流分析部230所保持的上下文所包含的上下文ID和对应所判断的第一流的上下文ID不一致的情况下,发送上下文的保存以及返回的请求。并且,上下文控制部210,参照保存以及返回的请求所包含的上下文ID,从而决定写入到流分析部230的上下文。
其次,流分析部230,参照所保持的上下文,使用第一次的加密运算中使用的上下文所包含的首部长度、有效负载长度以及尾部长度,从第一流中将有效负载判别为对象数据(以下,称为“第一对象数据”)(S102)。其次,流分析部230将第一流输出到调解部240。
其次,调解部240,参照上下文存储表213,判断对第一流的加密运算的加密算法(S103)。调解部240,将第一流输出到对应所判断的加密算法的运算部250、251或252。在此,第一流被输出到AES运算部250。
并且,调解部240,在从多个流分析部230、231、232以及233同时输入应当在同一运算部250、251或252处理的输入流的情况下,决定对哪个输入流进行处理。
调解部240,判断是否需要将AES运算部250所保持的上下文260切换(S104)。具体而言,调解部240,判断在AES运算部250是否保持第一流的加密运算中使用的上下文。例如,调解部240,在第一流的加密运算中使用的上下文的上下文ID和上下文260的上下文ID一致的情况下判断为不需要上下文的切换(在S104否),在不一致的情况下判断为需要上下文的切换(在S104是)。
在需要上下文的切换的情况下(在S104是),调解部240,向上下文控制部210发送上下文260的保存以及返回的请求(S105)。上下文控制部210,接收上下文的保存以及返回的请求后,进行上下文的保存以及返回(S106)。具体而言,上下文控制部210,使AES运算部250所保持的上下文260保存到上下文存储部211。其次,上下文控制部210,将向上下文存储部211存储的第一流的加密运算中使用的上下文写入到AES运算部250。
在进行上下文260的保存以及返回后、或不需要上下文的切换的情况下(在S104否),其次,AES运算部250,对在S102判别出的第一数据进行上下文260的模式所指定的加密运算(S107)。在此,AES运算部250,使用上下文260所包含的密钥、初始值以及中间信息等进行加密运算。
AES运算部250,将加密运算后的第一流(以下,称为“第二流”)输出到调解部240。调解部240,将第二流输出到第一流的输出源即流分析部230。流分析部230,将第二流输出到流控制部220。
通过如上处理,结束第一次的加密运算。
在对输入流只进行一次加密运算、或结束了设定在上下文对应表212的所有的加密运算的情况下(在S108是),流控制部220将第二流输出到外部装置201(S109)。
另一方面,在对输入流进行两次加密运算、并且未进行所有的加密运算的情况下(在S108否),流控制部220将第二流输出到其它流分析部231。并且,流控制部220,与第一次的处理相同,在流分析部231不保持对应第二流的上下文的情况下,向上下文控制部210发送上下文的保存以及返回的请求。
流分析部231,参照所保持的上下文,使用第二次的加密运算中使用的上下文所包含的首部长度、有效负载长度以及尾部长度,从第二流中将有效负载判别为对象数据(以下,称为“第二对象数据”)(S102)。其次,流分析部231将第二流输出到调解部240。
其次,调解部240,参照上下文存储表213,判断对第二流的加密运算的加密算法(S103)。调解部240,将第二流输出到对应所判断的加密算法的运算部250、251或252。在此,第二流被输出到SHA1运算部252。
而且,对于S104至S107的处理,由于与上述第一次的加密运算的处理相同,因此省略说明。
SHA1运算部252,将加密运算后的第二流(以下,称为“第三流”)输出到调解部240。调解部240,将第三流输出到第二流的输出源即流分析部231。流分析部231,将第三流输出到流控制部220。
通过如上处理,结束第二次的加密运算。
在上下文对应表212设定有两次加密运算的情况下,由于结束了两次加密运算(在S108是),因此流控制部220,将第三流输出到外部装置201(S109)。
而且,在从外部装置202输入流的情况下的处理的顺序也与图7相同。
并且,在图7中,在结束第一次的加密运算后进行对第二次的加密运算的上下文的保存以及返回等处理,但是,在第一次的加密运算和第二次的加密运算使用不同运算部250、251以及252的情况下,可以在结束第一次的加密运算之前进行对第二次的加密运算的上下文的保存以及返回等处理。
下面,说明机密信息处理装置200的具体运算例子。
首先,作为第一运算例,说明辐辏的两个流被输入的例子。具体而言,流ID“0”以及流ID“1”的两种流,经过外部装置201被输入。
假设,流ID“0”以及流ID“1”的两种流的长度均为256字节。假设,对流ID“0”以及流ID“1”的加密运算处理,按流ID“0”的前半部分128字节、流ID“1”的前半部分128字节、流ID“0”的后半部分128字节、以及流ID“1”的后半部分128字节的顺序,被进行分时处理。
如图4所示,对流ID“0”的流进行使用上下文ID“0”的上下文的加密运算,对流ID“1”的流进行使用上下文ID“1”的上下文的加密运算。
并且,如图6所示,在上下文ID“0”的上下文中,预先由外部装置202设定有:使用AES的CBC解密;首部长度为7字节;有效负载长度为240字节;尾部长度为9字节;尾数输出标记为ON;有效负载连续次数为1;以及流非输出标记为OFF。
并且,如图6所示,在上下文ID“1”的上下文中,预先由外部装置202设定有:HMAC-SHA1; 首部长度为5字节;有效负载长度为251字节;尾部长度为0字节;尾数输出标记为OFF;有效负载连续次数为1;流非输出标记为ON;散列值替换位置为0;以及散列值比较位置为0。
图8是示出由机密信息处理装置200对第一运算例中的流ID“0”的流进行的处理的图。图9是示出由机密信息处理装置200对第一运算例中的流ID“1”的流进行的处理的图。
机密信息处理装置200,将流ID“0”的流分割为128字节的前半部分的流500和后半部分的流501来分别进行处理。并且,机密信息处理装置200,将流ID“1”的流分割为128字节的前半部分的流520和后半部分的流521来分别进行处理。
机密信息处理装置200,首先,对流ID“0”的前半部分部的流500进行处理。
若外部装置201开始向流控制部220输入流,则流控制部220参照上下文存储部211所存储的上下文对应表212来确认,将对流ID“0”进行使用上下文ID“0”的上下文的一次加密运算。据此,流控制部220控制内部通路:以使将流ID“0”的流输出到流分析部230;将由流分析部230输出的、加密运算后的流ID“0”的流输出到外部装置201。
并且,流控制部220,向上下文控制部210发送对流分析部230的上下文的保存以及返回的请求。接收请求后,上下文控制部210,使流分析部230所保持的上下文保存到上下文存储部211,使上下文ID“0”的上下文返回到流分析部230。
若对应上下文ID“0”的上下文被保持到流分析部230,流控制部220,开始向流分析部230输入流ID“0”的流。
流分析部230,根据所保持的上下文,对流ID“0”的流进行对象数据的判别。流分析部230,将用于确定对象数据的信息、和流ID“0”的流输出到调解部240。
调解部240,流ID“0”根据对应上下文存储表213的流ID“0”的上下文所包含的算法来确认将对流进行AES运算。调解部240,向上下文控制部210发送对AES运算部250所保持的上下文260的保存以及返回的请求。
若对应上下文ID“0”的上下文290被保持到AES运算部250,则调解部240,开始向AES运算部250输入流。
AES运算部250,对于首部部分的7字节,不进行运算而原封不动地输出到调解部240,对于有效负载部分,依次进行加密运算而输出到调解部240。
AES运算结果,被输入到调解部240后,经过流分析部230以及流控制部220被输出到外部装置201。
在此,流500中包含121字节的有效负载。由于AES的运算单位是16字节,因此121字节除以16后剩下的最后9字节成为未满运算单位的尾数有效负载502。
对于上下文ID“0”,由于尾数输出标记为ON,因此流分析部230通过流控制部220将尾数有效负载502输出到外部装置201。
因此,向外部装置201输出的流510是,首部为7字节、有效负载中的AES运算结果为112字节、尾数有效负载为9字节的共计128字节的流。
其次,如图9所示,机密信息处理装置200,对流ID“1”的前半部分的流520进行处理。从外部装置201输入的流ID“1”的流,经过流控制部220、流分析部231以及调解部240被输入到SHA1运算部252。并且,与对流ID“0”的流500的处理相同,进行流分析部231以及SHA1运算部252所保持的上下文的保存以及返回。
流520中包含123字节的有效负载,由于SHA的运算单位是64字节,因此123字节除以64后剩下的最后59字节成为未满运算单位的尾数有效负载522。
由于上下文ID“1”的上下文所包含的尾数输出标记为OFF,因此SHA1运算部252将尾数有效负载522作为上下文保存到上下文存储部211。
并且,由于上下文ID“1”的上下文所包含的流非输出标记为ON,因此流控制部220不将流向外部装置202输出。
其次,机密信息处理装置200,对流ID“0”的后半部分的流501进行处理。
在此,由于在对流500进行处理时尾数有效负载502被输出到机密信息处理装置200外部,外部装置201,在对流501进行处理时,应当输入向流501的开头连接尾数有效负载502后的共计137字节的流。
机密信息处理装置200,对所输入的流及时实施AES运算,将由AES运算结果128字节和尾部9字节构成的流511输出到外部装置201。
最后,机密信息处理装置200,对流ID“1”的后半部分的流521进行处理。
由于在对流520进行处理时尾数有效负载522作为上下文被保存,因此在对流521进行处理时,SHA1运算部252连接尾数有效负载522和流521。即,由于在机密信息处理装置200内部对尾数有效负载522进行处理,因此外部装置201不需要对尾数有效负载522进行处理。
对251字节的有效负载的、使用HMAC-SHA1的运算结果即MAC值523,被保存到上下文存储部211,作为上下文ID“1”所包含的散列值被存储。据此,外部装置202,可以读出存储在上下文存储部211的散列值。
如上所述,机密信息处理装置200,可以对辐辏的两个流进行不同加密运算。
其次,作为第二运算例说明,对一个流进行两次加密运算的例子。具体而言,作为第一次的加密运算进行HMAC-SHA1运算,而通过运算所生成的MAC值被编入到流中。作为第二次的加密运算进行AES加密。
假设,流ID“2”的流,经过外部装置201被输入。假设,流ID“2”的流的长度是256字节。假设,对于流ID“2”的流的加密运算处理,以前半部分128字节、后半部分128字节的顺序分割两次进行处理。
如图4所示,对流ID“2”的流进行使用上下文ID“2”的上下文的第一次的加密运算,进一步,对进行了第一次的加密运算的流进行使用上下文ID“3”的上下文的第二次的加密运算。
并且,如图6所示,在上下文ID“2”的上下文中,由外部装置202预先设定有:HMAC-SHA1;首部长度为4字节;有效负载长度为196字节;尾部长度为56字节;尾数输出标记为OFF;有效负载连续次数为1;流非输出标记为OFF;散列值替换位置为201;以及散列值比较位置为0。
并且,在上下文ID“3”的上下文中,预先由外部装置202设定有:使用AES的CBC加密;首部长度为32字节;有效负载长度为224字节;尾部长度为0字节;尾数输出标记为OFF;有效负载连续次数为1;以及流非输出标记为OFF。
图10是在机密信息处理装置200的第二运算例中的流的结构图。图11是示出由机密信息处理装置200对第二运算例中的流进行的处理的图。
图10所示的流600是,从外部装置201输入到机密信息处理装置200的256字节的流。在HMAC-SHA1中,在流600中:数据A为首部;将数据B和数据C合并为有效负载;将数据D和数据E合并为尾部。并且,在AES运算中,在流600中:将数据A和数据B合并为首部;将数据C、数据D和数据E合并为有效负载。
下面,对于处理顺序,以与第一运算例不同之处为中心进行说明,而省略重复说明。
首先,说明对流ID“2”的流的前半部分的流610进行的处理。
流控制部220,参照上下文对应表212来确认,将对流ID“2”进行使用上下文ID“2”的上下文的第一次的加密运算、和使用上下文ID“3”的上下文的第二次的加密运算。据此,流控制部220控制内部通路:以使将流ID“2”的流输出到流分析部230;将由流分析部230输出的、进行了第一次的加密运算的流输出到流分析部231;将由流分析部231输出的、进行了第二次的加密运算的流输出到外部装置201。
流分析部230,参照上下文ID“2”的上下文所包含的首部长度、有效负载长度以及尾部长度,将数据B和数据C判别为HMAC-SHA1运算的对象数据。
SHA1运算部252,对有效负载即数据B和数据C的共计124字节中的、运算单位的整数倍的64字节进行运算。即,SHA1运算部252,对将数据B和从数据C的开头36字节合并后的64字节进行HMAC-SHA1运算。
SHA1运算部252,存储运算结果即中间结果。
SHA1运算部252,将除了未满运算单位的60字节的尾数有效负载612以外的流原封不动地输出。即,SHA1运算部252,将连接数据A、数据B和从数据C的开头36字节后的流620输出。并且,SHA1运算部252,将尾数有效负载612作为上下文ID“2”的上下文保存到上下文存储部211。
流620,通过调解部240以及流分析部230被输入到流分析部231。
流分析部231,参照上下文ID“3”的上下文中的首部长度、有效负载长度以及尾部长度,将数据C判别为AES运算的对象数据。
AES运算部250,对流620所包含的数据C的36字节中的、作为运算对象的从开头32字节进行加密运算。AES运算部250,将运算结果即加密数据C替换为对象数据。AES运算部250,将由数据A、数据B以及加密数据C构成的流630输出。
流630,通过调解部240、流分析部231以及流控制部220被输出到外部装置201。
并且,AES运算部250,将数据C的剩余4字节即尾数有效负载622作为上下文ID“3”的上下文保存到上下文存储部211。
其次,说明对流ID“2”的流的后半部分的流611进行的处理。
从外部装置201输入的流611,通过流控制部220、流分析部230以及调解部240被输入到SHA1运算部252。
SHA1运算部252,向流611的开头连接作为上下文ID“2”的上下文所存储的尾数有效负载612。SHA1运算部252,对连接后的数据中的有效负载部分即132字节进行HMAC-SHA1运算。
并且,在SHA1运算部252中,由于在上下文ID“2”中散列值替换位置为201,因此将从流的开头第201字节的数据D替换为HMAC-SHA1运算结果即MAC值。因此,SHA1运算部252,将连接数据C中的132字节、MAC值和数据E后的流621输出。
流621,通过调解部240、流分析部230、流控制部220、流分析部231以及调解部240被输入到AES运算部250。
AES运算部250,向流621的开头连接作为上下文ID“3”的上下文所存储的尾数有效负载622。AES运算部250,对连接后的数据192字节进行AES运算。AES运算部250,将连接AES运算结果即加密数据C、加密MAC值以及加密数据E后的流631输出。
流631,通过调解部240、流分析部231以及流控制部220被输出到外部装置201。
如上所述,机密信息处理装置200,可以对一个流进行不同两次加密运算。并且,可以将运算结果即MAC值编入到流中。
其次,作为第三运算例说明,对一个流进行两次加密运算的例子。具体而言,作为第一次的加密运算进行AES解密。作为第二次的加密运算进行HMAC-SHA1运算。并且,对由HMAC-SHA1运算生成的MAC值、和流所包含的规定区域的数据进行比较。
假设,流ID“3”的流,经过外部装置201被输入。并且,假设,流ID“3”的流的长度是256字节。并且,假设,机密信息处理装置200,以前半部分128字节、后半部分128字节的顺序分割两次进行处理。
如图4所示,对流ID“3”的流进行使用上下文ID“4”的上下文的加密运算,进一步,对进行了第一次的加密运算的流进行使用上下文ID“5”的上下文的第二次的加密运算。
并且,如图6所示,在上下文ID“4”的上下文中,预先由外部装置202设定有:使用AES的CBC解密;首部长度为32字节;有效负载长度为224字节;尾部长度为0字节;尾数输出标记为OFF;有效负载连续次数为1;以及流非输出标记为OFF。
并且,在上下文ID“5”的上下文中,预先由外部装置202设定有:MAC-SHA1;首部长度为4字节;有效负载长度为196字节;尾部长度为56字节;尾数输出标记为OFF;有效负载连续次数为1;流非输出标记为OFF;散列值替换位置为201;以及散列值比较位置为201。
图12是在机密信息处理装置200的第三运算例中的流的结构图。图13是示出由机密信息处理装置200对第三运算例中的流进行的处理的图。
图12所示的流700是,从外部装置201输入到机密信息处理装置200的256字节的流。在AES运算中,在流700中:将数据A和数据B合并为首部;将加密数据C、加密MAC值和加密数据E合并为有效负载。并且,在MAC-SHA1中,在流700中:数据A为首部;将数据B和加密数据C合并为有效负载;将加密MAC值和加密数据E合并为尾部。
下面,对于处理顺序,以与第一以及第二运算例不同之处为中心进行说明,而省略重复说明。
首先,说明对流ID“3”的流的前半部分的流710进行的处理。
从外部装置201输入的流710,通过流控制部220、流分析部230以及调解部240被输入到AES运算部250。
AES运算部250,对加密数据C中流710所包含的96字节进行解密。AES运算部250,将加密数据C替换为解密后的数据C,并将其输出。
流720,通过调解部240、流分析部230、流控制部220、流分析部231以及调解部240被输出到SHA1运算部252。
SHA1运算部252,对于有效负载即数据B以及数据C,对在共计124字节中的、将数据B和从数据C的开头36字节合并后的64字节进行HMAC-SHA1运算。SHA1运算部252,将连接数据A、数据B和从数据C的开头36字节后的流730输出。
SHA1运算部252,存储运算结果即中间结果。并且,SHA1运算部252,将数据C的剩余60字节即尾数有效负载722作为上下文ID“5”的上下文存储。
流730,通过调解部240、流分析部231以及流控制部220被输出到外部装置201。
其次,说明对流ID“3”的流的后半部分的流711进行的处理。
从外部装置201输入的流711,通过流控制部220、流分析部230以及调解部240被输入到AES运算部250。
AES运算部250,由于流711的全部是有效负载,因此对流711整体进行解密。AES运算部250,将连接运算结果即数据C、MAC值以及数据E后的流721输出。
流721,通过调解部240、流分析部230、流控制部220、流分析部231以及调解部240被输出到SHA1运算部252。
SHA1运算部252,向流721的开头连接尾数有效负载722。SHA1运算部252,对连接后的数据中的有效负载部分即132字节进行HMAC-SHA1运算,从而生成MAC值732。
SHA1运算部252,将连接数据C中的132字节、MAC值以及数据E后的流731输出。流731,通过调解部240、流分析部231以及流控制部220被输出到外部装置201。
并且,由于在上下文ID“5”中散列值比较位置是201,因此SHA1运算部252,对从流的开头第201字节的、流721所包含的MAC值和MAC值732进行比较。SHA1运算部252,将比较结果保存到上下文存储部211。据此,外部装置202可以确认比较结果。
据此,机密信息处理装置200,可以对一个流进行不同的两次加密运算。并且,可以对运算结果即MAC值和流的规定区域的数据进行比较。
其次,作为第四运算例说明,同时输入两个流的例子。并且,对两个流分别进行两次加密运算。
流ID“4”的流经过外部装置201被输入,流ID“5”的流经过外部装置202被输入。
假设,流ID“4”和流ID“5”的两种流的长度均为256字节。并且,假设,机密信息处理装置200,对流ID“4”和流ID“5”同时进行处理。
如图4所示,对流ID“4”的流进行使用上下文ID“6”的上下文的加密运算,进一步,对进行了第一次的加密运算的流进行使用上下文ID“7”的上下文的第二次的加密运算。对流ID“5”的流进行使用上下文ID“8”的上下文的加密运算,进一步,对进行了第一次的加密运算的流进行使用上下文ID“9”的上下文的第二次的加密运算。
并且,如图6所示,在上下文ID“6”的上下文中,预先由外部装置202设定有:使用AES的CBC解密;首部长度为0字节;有效负载长度为128字节;尾部长度为0字节;尾数输出标记为OFF;有效负载连续次数为1;以及流非输出标记为OFF。
在上下文ID“7”的上下文中,预先由外部装置202设定有:使用AES的CBC加密;首部长度为0字节;有效负载长度为128字节;尾部长度为0字节;尾数输出标记为OFF;有效负载连续次数为1;以及流非输出标记为OFF。
并且,在上下文ID“8”的上下文中,预先由外部装置202设定有:HMAC-SHA1;首部长度为20字节;有效负载长度为200字节;尾部长度为36字节;尾数输出标记为OFF;有效负载连续次数为1;流非输出标记为OFF;散列值替换位置为221;以及散列值比较位置为0。
在上下文ID“9”的上下文中,预先由外部装置202设定有:使用DES的CBC加密;首部长度为0字节;有效负载长度为128字节;尾部长度为128字节;尾数输出标记为OFF;有效负载连续次数为1;以及流非输出标记为OFF。
在此,由外部装置202对上下文ID“6”和上下文ID“7”设定其它密钥的情况下,对流ID“4”的流的运算是,对流进行解密后重新用不同密钥进行加密的处理。
下面,对于处理顺序,以与第一至第三运算例不同之处为中心进行说明,而省略重复说明。
在对流ID“4”的流进行的第一次的运算中,流,通过流控制部220、流分析部230、调解部240被输入到AES运算部250。AES运算部250对流进行解密。解密后的流,通过调解部240以及流分析部230被输入到流控制部220。
在对流ID“4”的流进行的第二次的运算中,流控制部220,将进行了第一次的运算的流,通过流分析部231以及调解部240输出到AES运算部250。AES运算部250对流进行加密。加密后的流,通过调解部240以及流分析部231被输出到外部装置201。
在对流ID“5”的流进行的第一次的运算中,流,通过流控制部221、流分析部232、调解部240被输入到SHA1运算部252。SHA1运算部252对流进行第一次的加密运算。进行了第一次的加密运算的流,通过调解部240以及流分析部232被输入到流控制部221。
在对流ID“5”的流进行的第二次的运算中,流控制部221,将进行了第一次的运算的流,通过流分析部233以及调解部240输出到DES运算部251。DES运算部250对流进行第二次的加密运算。进行了第二次的加密运算的流,通过调解部240、流分析部233以及流控制部221被输出到外部装置202。
此时,对流ID“4”的流进行的第一次的运算以及第二次的运算,都由DES运算部250进行。因此,需要以分时来进行第一次的运算和第二次的运算。
为此,调解部240,检验来自流分析部230、231、232以及233的流的运算请求来进行控制。调解部240,在向相同算法的运算请求冲突的情况下,对冲突的流,优先接受来自优先级高的流分析部230、231、232以及233的运算请求。调解部240,进行对接受的运算请求的上下文保存以及返回请求、和流的输出入处理。例如,按照流分析部233、232、231以及230的顺序,依次决定高优先级。
调解部240,对预先接受的运算请求的加密运算在对应的运算部250、251或252结束后,接收加密运算后的输出流。调解部240,将所接收的输出流输出到流分析部230、231、232或233。调解部240,将输出流输出到流分析部后,再次检验运算请求,并进行与上述相同的处理。
因此,对流ID“4”的流进行的运算中,首先,AES运算部250进行使用上下文ID“6”的运算。该运算结果,被存储到流控制部220内的缓冲器302。
由于流分析部231的优先次序高于流分析部230的优先次序,因此在存储在缓冲器302的流通过流分析部231被输入到调解部240时,变更调解次序。据此,调解部240,将对AES运算部250的上下文保存以及返回的请求发送到上下文控制部210。据此,上下文ID“7”的上下文被存储到AES运算部250。
AES运算部250执行使用上下文ID“7”的运算。
如此,多次进行对AES运算部250的上下文ID“6”以及上下文ID“7”的上下文的保存以及返回,从而结束流整体的运算。
在此,通过流控制部221包括缓冲器302,从而可以以一堆数据单位来进行由流分析部231向调解部240的处理请求。据此,机密信息处理装置200,可以减少AES运算部250的上下文保存以及返回次数。
并且,第二次的加密运算中使用的流分析部231的优先级,被设定为高于第一次的加密运算中使用的流分析部230的优先级。据此,结束了第一次的加密运算的流,被优先进行加密运算。即,存储在缓冲器302的流,被优先加密运算,且被输出到外部装置201。据此,可以减少缓冲器302所存储的流的数据量。即,可以减少缓冲器302的容量。
而且,对流ID“5”的流进行的运算是,使用HMAC-SHA1以及DES的运算。即,在流ID“5”的流进行的运算中使用与流ID“4”不同的算法。因此,对DES运算部251以及SHA1运算部252的上下文的保存以及返回,在最初只被进行一次。
并且,由于在上下文ID“8”的上下文中设定有,流非输出标记为OFF以及散列值替换位置为221,因此SHA1运算部252,将从外部装置202输入的流中从开头第221字节的20字节,替换为对流的有效负载部分进行HMAC-SHA1运算的运算结果即散列值。并且,DES运算部251,将从替换后的流的开头128字节的部分替换为DES运算结果,并将其输出。DES运算部251所输出的流,被输出到外部装置201。
如上所述,机密信息处理装置200,可以对同时输入的两个流,分别进行两次加密运算。并且,即使在对第一次的加密运算和第二次的加密运算使用相同运算部的情况下,也可以将流输入一次来进行两次加密运算。
其次,作为第五运算例说明,将流中的分散的区域的数据作为一个数据来进行加密运算的例子。
流ID“6”的流,经过外部装置201被输入。假设,流ID“6”的流的长度为512字节。并且,假设,在对流ID“6”的流整体进行处理时,在中途不对其它流进行处理而以一次被处理。
如图4所示,流ID“6”的流,使用上下文ID“10”的上下文被进行加密运算。
并且,如图6所示,在上下文ID“10”的上下文中:预先由外部装置202设定有:HMAC-SHA1;首部长度为32字节;有效负载长度为128字节;尾部长度为96字节;尾数输出标记为OFF;有效负载连续次数为2;以及流非输出标记为ON。
图14是示出由机密信息处理装置200对第五运算例中的流进行的处理的图。
第五运算例的处理流程,除了有效负载连续次数为2之处以外,与流ID“1”的情况相同。
从外部装置201输入的流800,通过流控制部220、流分析部230、调解部240被输入到SHA1运算部252。
由于有效负载连续次数为2,因此SHA1运算部252,对于512字节的流800,将从第33字节的128个字节的有效负载1和从第289字节的128个字节的有效负载2的共计即256字节作为连续的一个有效负载801。SHA1运算部252,对256字节的有效负载801进行HMAC-SHA1运算。
SHA1运算部252,将运算结果即MAC值802作为上下文保存到上下文存储部211。MAC值802,作为上下文存储表213所包含的上下文ID“ 10”的上下文的散列值被存储。据此,外部装置202,可以从上下文存储表213中读出MAC值802。
如上所述,机密信息处理装置200,可以将流中的分散的区域的数据作为一个数据进行加密运算。
据此,机密信息处理装置200,在对一个输入流进行多次加密运算的情况下,针对每个加密运算,不同流分析部230、231、232以及233判别输入流的不同区域的对象数据。据此,即使在多次加密运算中输入流内的加密运算对象的数据不同的情况下,也可以以容易的软件控制来从输入流中判别出任意的区域中包含的加密运算对象的数据。
具体而言,通过由外部装置201以及202设定上下文对应表212的内容,可以对一个流设定任意的次数、以及使用任意的上下文的加密运算。
再者,通过包括多个流分析部230、231、232以及233,不需要将对流分析部230、231、232以及233的上下文的保存以及返回,在每次第一次的加密运算时和第二次的加密运算时进行切换。据此,可以减少上下文的保存以及返回的频度。
同样,机密信息处理装置200,即使在同时输入多个流的情况下,也可以以容易的软件控制来从输入流中判别出任意的区域中包含的加密运算对象的数据。
再者,流控制部220,将进行了一次加密运算的流输入到其它流分析部230、231、232或233。据此,即使在每次加密运算结束时不将流向外部装置201以及202输出,也可以将流输入一次来进行多次加密运算。
再者,利用调解部240来可以在多个流分析部230、231、232以及233和运算部250、251以及252之间形成任意的通路。据此,可以将流输入一次来进行使用同一算法的多次加密运算(例如,进行解密后进行加密)。同样,可以对多个流进行使用同一算法的加密运算。
再者,在机密信息处理装置200中,多个上下文被存储到上下文存储部211。并且,利用上下文控制部210来可以进行加密运算中使用的上下文的保存以及返回。
据此,通过从上下文存储部211读出对应的上下文,从而可以容易地对应多种运算方法。并且,由于运算部250、251以及252包括寄存器等即可,因此可以减少运算部250、251以及252的电路规模,所述寄存器可以存储至少一个上下文。并且,通过设定对多种运算方法的上下文、且将设定后的上下文存储到上下文存储部211,从而可以容易地设定运算方法的变更以及追加等。
再者,机密信息处理装置200包括,分别对应不同加密算法的多个运算部250、251以及252。据此,在对一个流进行使用不同加密算法的多次加密运算的情况下,利用不同运算部250、251以及252来可以进行每个加密运算。同样,在对多个流进行使用不同加密算法的加密运算的情况下,利用不同运算部250、251以及252来可以进行每个加密运算。
据此,即使在各个运算部250、251以及252只保持一个上下文的情况下,也不需要在每次进行加密运算时进行上下文的保存以及返回。据此,由于可以减少进行上下文的保存以及返回的频度,因此机密信息处理装置200可以高速地进行加密运算处理。
再者,机密信息处理装置200,将运算结果即散列值以及MAC值存储到上下文存储部211。据此,外部装置201以及202,可以读出运算结果即散列值以及MAC值。
并且,机密信息处理装置200,即使进行使用散列运算以及密钥加密算法的认证处理的情况下,也将输入流输出到外部装置201或其它流分析部230、231、232以及233。据此,可以对流进行与进行加密以及解密的情况相同的处理。
再者,机密信息处理装置200,将尾数有效负载存储到上下文存储部211。据此,在所输入的流的对象数据不是运算单位的整数倍的情况下,即使不向外部装置201以及202输出尾数有效负载,也可以在机密信息处理装置200内进行尾数有效负载的处理。
再者,机密信息处理装置200,将上下文存储到上下文存储部211,该上下文包含有效负载连续次数。据此,机密信息处理装置200,可以将流中的分散的区域的数据作为一个数据进行加密运算。
再者,机密信息处理装置200,将上下文存储到上下文存储部211,该上下文包含散列值替换位置。据此,机密信息处理装置200,可以将运算结果即散列值以及MAC值编入到流中的任意的位置。
再者,机密信息处理装置200,将上下文存储到上下文存储部211,该上下文包含散列值比较位置。据此,机密信息处理装置200,可以对运算结果即散列值以及MAC值和流中的任意的位置的数据进行比较。
并且,机密信息处理装置200,将上下文存储到上下文存储部211,该上下文包含:数输出标记;有效负载连续次数;流非输出标记;散列值替换位置;散列值比较位置。据此,通过设定上下文存储部211所存储的上下文,从而可以对应多种加密运算。
如上所述,根据本发明涉及的机密信息处理装置200,可以对一个流进行运算方法不是唯一的、多种且多次加密运算,并且可以容易地进行由软件的控制。并且,根据本发明涉及的机密信息处理装置200,即使在进行多种运算方法的加密运算的情况下,也可以容易地进行由软件的控制。
在上面,对本发明的实施例涉及的机密信息处理装置进行了说明,但是,本发明不仅限于该实施例。
例如,在上述说明中,对机密信息处理装置200包括三个运算部250、251以及252的例子进行了说明,但是,运算部的数量不仅限于此。例如,机密信息处理装置200,可以只包括对应密钥加密算法的运算部,也可以只包括对应散列算法的运算部。并且,也可以机密信息处理装置200包括二个或四个以上的运算部。
并且,在上述说明中,运算部对应的加密算法是AES、DES以及SHA,但是,也可以是Multi2、Camellia、MD5(Message Digest 5)等其它加密算法。
并且,由各个运算部进行的加密运算模式,也可以是CBC、ECB(Electronic Codebook)、XCBC-MAC、OFB(Output Feedback:输出反馈)、CTR(Counter)等任意的模式。
并且,在上述说明中,机密信息处理装置200包括两个以上的流控制部220以及221,但是,包括一个以上的任意的数量的流控制部即可。
并且,在上述说明中,机密信息处理装置200,对流控制部220以及221分别包括两个流分析部,但是,也可以对流控制部220以及221分别包括一个或三个以上的流分析部。再者,在此情况下,也可以在上下文对应表212中设定对应一个流ID的三个以上的上下文ID。据此,对一个流可以进行三次以上的加密运算。
并且,机密信息处理装置200,可以对流控制部220以及221分别包括不同数量的流分析部。
并且,在上述说明中,上下文存储部211存储上下文对应表212,但是,也可以流控制部220以及221等存储上下文对应表212。
并且,在上述说明中,AES运算部250以及DES运算部251进行加密以及解密,但是,也可以只进行加密以及解密中的任一个。
并且,在上述说明中,在上下文对应表212存储7个流ID,但是,也可以所存储的流ID的数量是任意的。
并且,在上述说明中,在上下文存储表213存储11个上下文ID,但是,也可以所存储的上下文ID的数量是任意的。
并且,在上述说明中,在尾数输出标记为OFF的情况下,运算部250、251以及252进行:尾数有效负载的保存以及返回;基于有效负载连续次数的运算对象的抽取;基于散列值替换位置的散列值或MAC值的替换;基于散列值比较位置的散列值或MAC值的比较;但是,也可以流分析部230、231、232以及233进行上述处理中的一个以上的处理。
并且,在上述说明中,流分析部230、231、232以及233,通过调解部240将用于确定对象数据的信息和流输出到运算部250、251以及252,但是,也可以只将对象数据输出到运算部250、251以及252。
并且,在上述说明中,运算部250、251以及252,将所生成的MAC值、散列值以及尾数有效负载存储到上下文存储部211,但是,也可以运算部250、251以及252本身保持,作为上下文260、261以及262所生成的MAC值、散列值以及尾数有效负载。在该情况下,在进行上下文的保存时等,MAC值、散列值以及尾数有效负载被存储到上下文存储部211。
并且,在上述说明中,由专用电路(硬件)构成上下文控制部210;流控制部220以及221;流分析部230、231、232以及233;调解部240;AES运算部250;DES运算部251;SHA1运算部252,但是,也可以通过CPU等执行程序(软件)来实现由上述处理部实现的功能的一部分。
并且,在上述说明中,作为流控制部220以及221的结构示出了图5所示的结构,但是,流控制部220以及221的结构不仅限于此。
图15是流控制部220以及221的变形例的结构图。图15所示的流控制部220,将从外部装置201输入的输入流输出到流分析部230或231。并且,流控制部220,将由流分析部230输出的输出流,通过缓冲器302输出到流分析部231,并且,将由流分析部231输出的输出流输出到外部装置201。
再者,也可以是,流控制部220的结构为:可以以任意的组合来连接外部装置201、流分析部230以及流分析部231之间的通路。即,流控制部220也可以,将从外部装置201输入的输入流选择性地输出到流分析部230或231,并且将由流分析部230以及231输出的输出流分别选择性地输出到外部装置201、其它流分析部230或231。
并且,在上述说明中,对将本发明涉及的机密信息处理装置200适用于移动电话的例子进行了说明,但是,也可以适用于数字电视机、STB、DVD刻录机、DVD播放器、HD刻录机、PC以及移动信息终端(PDA:个人数字助理)等。
图16是本发明的实施例涉及的机密信息处理机器100的变形例的结构图。如图16所示,机密信息处理机器100,也可以对由外部机器109以数字广播等发送的加密数据进行解密,从而在显示部104显示。并且,机密信息处理机器100,也可以对存储介质(CD、DVD、存储卡以及USB存储器等)106所存储的加密数据进行解密。并且,机密信息处理机器100,也可以将由机密信息处理装置200加密后的数据存储到存储介质106。并且,机密信息处理机器100,也可以对由外部机器108通过网络107发送的加密数据进行解密。并且,机密信息处理机器100,也可以将由机密信息处理装置200加密后的数据通过网络107发送到外部机器108。
本发明可以适用于机密信息处理装置,尤其可以适用于与需要加密通信的网络连接的机密信息处理机器、以及对保护板权的流进行处理的机密信息处理机器。例如,本发明可以适用于移动电话、数字电视机、STB(Set Top Box:机顶盒)、DVD刻录机、DVD播放器、HD刻录机、PC以及PDA等。
Claims (18)
1.一种机密信息处理装置,对从外部装置输入的数据流所包含的不同对象数据进行多次加密运算,其特征在于,包括:
至少一个流分析部,通过分析数据流,从而判别所述对象数据;
至少一个加密运算部,保持上下文,并使用所保持的所述上下文对数据流所包含的所述对象数据进行加密运算,所述上下文包含加密运算中使用的密钥、初始值以及加密运算中途的中间信息中的一个以上;
上下文存储部,存储多个所述上下文;
对应表存储部,存储对应表,该对应表示出对数据流进行加密运算的次数和每次加密运算中使用的上下文;
上下文控制部,在所述加密运算部所保持的所述上下文与所述对应表所示的加密运算中使用的上下文不一致的情况下,使所述加密运算部所保持的上下文退避到所述上下文存储部,并且使所述上下文存储部所存储的所述多个上下文中的、所述对应表所示的加密运算中使用的上下文返回到所述加密运算部;以及
流控制部,将由所述加密运算部进行了所述对应表所示的次数的加密运算的数据流输出到所述外部装置,将从所述外部装置输入的数据流以及由所述加密运算部进行了加密运算的次数未满所述对应表所示的次数的加密运算的数据流,输出到所述流分析部。
2.如权利要求1所述的机密信息处理装置,其特征在于,
所述至少一个流分析部,包含通过分析数据流来判别所述对象数据的第一流分析部以及第二流分析部,
在所述对应表示出对数据流进行两次以上的加密运算的情况下,所述流控制部,将该数据流输出到所述第一流分析部,将由所述加密运算部进行了第一次加密运算的数据流输出到所述第二流分析部。
3.如权利要求1所述的机密信息处理装置,其特征在于,
所述至少一个加密运算部,包含:
第一运算部,对所述对象数据进行使用了第一加密算法的加密运算;以及
第二运算部,对所述对象数据进行使用了与所述第一加密算法不同的第二加密算法的加密运算,
所述第一运算部以及所述第二运算部,分别保持至少一个所述上下文。
4.如权利要求1所述的机密信息处理装置,其特征在于,
所述至少一个加密运算部,包含散列运算部,该散列运算部通过对所述对象数据进行散列运算,从而生成散列值,
所述上下文,包含由所述散列运算部生成的散列值,
所述流控制部,将所述散列运算部进行了散列加密运算的数据流,以从所述外部装置输入的状态,直接输出到所述外部装置或所述流分析部。
5.如权利要求1所述的机密信息处理装置,其特征在于,
所述至少一个加密运算部,包含散列运算部,该散列运算部通过对所述对象数据进行散列运算,从而生成散列值,
所述上下文,包含散列值替换位置信息,该散列值替换位置信息是示出数据流所包含的数据的规定位置的信息,
所述散列运算部,将对应于数据流的所述散列值替换位置信息所示的所述规定位置的数据替换为所述散列值,
所述流控制部,将所述规定位置的数据通过所述散列运算部被替换为所述散列值的数据流,输出到所述外部装置或所述流分析部。
6.如权利要求1所述的机密信息处理装置,其特征在于,
所述至少一个加密运算部,包含散列运算部,该散列运算部通过对所述对象数据进行散列运算,从而生成散列值,
所述上下文,包含散列值比较位置信息,该散列值比较位置信息是示出数据流所包含的数据的规定位置的信息,
所述散列运算部,判断对应于数据流的所述散列值比较位置信息所示的所述规定位置的数据和所述散列值是否一致。
7.如权利要求1所述的机密信息处理装置,其特征在于,
所述至少一个加密运算部,包含密钥加密运算部,该密钥加密运算部通过对所述对象数据进行使用密钥加密算法的认证模式运算,从而生成消息认证符,
所述上下文,包含由所述密钥加密运算部生成的消息认证符,
所述流控制部,将所述密钥加密运算部进行了认证模式运算的数据流,以从所述外部装置输入的状态,直接输出到所述外部装置或所述流分析部。
8.如权利要求1所述的机密信息处理装置,其特征在于,
所述至少一个加密运算部,包含密钥加密运算部,该密钥加密运算部通过对所述对象数据进行使用密钥加密算法的认证模式运算,从而生成消息认证符,
所述上下文,包含消息认证符替换位置信息,该消息认证符替换位置信息是示出数据流所包含的数据的规定位置的信息,
所述密钥加密运算部,将对应于数据流的所述消息认证符替换位置信息所示的所述规定位置的数据替换为所述消息认证符,
所述流控制部,将所述规定位置的数据通过所述密钥加密运算部被替换为所述消息认证符的数据流,输出到所述外部装置或所述流分析部。
9.如权利要求1所述的机密信息处理装置,其特征在于,
所述至少一个加密运算部,包含密钥加密运算部,该密钥加密运算部通过对所述对象数据进行使用密钥加密算法的认证模式运算,从而生成消息认证符,
所述上下文,包含消息认证符比较位置信息,该消息认证符比较位置信息是示出数据流所包含的数据的规定位置的信息,
所述密钥加密运算部,判断对应于数据流的所述消息认证符比较位置信息所示的所述规定位置的数据和所述消息认证符是否一致。
10.如权利要求1所述的机密信息处理装置,其特征在于,
所述上下文,在所述对象数据的数据量不是加密运算中的运算单位的整数倍的情况下,包含未满所述运算单位的对象数据即尾数数据,
所述加密运算部,在对后续的数据流进行加密运算时,对包含所述上下文所包含的所述尾数数据的对象数据进行加密运算。
11.如权利要求1所述的机密信息处理装置,其特征在于,
所述上下文,包含连续处理信息,该连续处理信息示出数据流中的多个分散的区域,
所述加密运算部,将所述连续处理信息所示的所述多个分散的区域的数据作为一个数据进行加密运算。
12.如权利要求1所述的机密信息处理装置,其特征在于,
所述上下文,包含区域信息,该区域信息是示出数据流所包含的数据中的、进行加密运算的区域的信息,
所述流分析部,将所述区域信息所示的区域的数据判别为所述对象数据。
13.如权利要求1所述的机密信息处理装置,其特征在于,
所述流控制部,包括缓冲器,该缓冲器保持由所述加密运算部进行了加密运算的数据流,并且将所保持的数据流输出到所述流分析部。
14.如权利要求2所述的机密信息处理装置,其特征在于,
所述机密信息处理装置,还包括调解部,该调解部在由所述第一流分析部以及所述第二流分析部判别出所述对象数据的数据流中选择任一个,将所选择的数据流输出到所述加密运算部,
所述加密运算部,对由所述调解部输出的数据流所包含的所述对象数据,使用所保持的所述上下文进行加密运算。
15.如权利要求1所述的机密信息处理装置,其特征在于,
所述至少一个加密运算部,包含:
密钥加密运算部,对所述对象数据进行密钥加密运算;以及
散列运算部,对所述对象数据进行散列运算。
16.一种机密信息处理机器,对数据流所包含的不同对象数据进行多次加密运算,其特征在于,包括:
接收部,接收从外部机器发送的数据流;
至少一个流分析部,通过分析由所述接收部接收的数据流,从而判别所述对象数据;
至少一个加密运算部,保持上下文,并使用所保持的所述上下文对数据流所包含的所述对象数据进行加密运算,所述上下文包含加密运算中使用的密钥、初始值以及加密运算中途的中间信息中的一个以上;
上下文存储部,存储多个所述上下文;
对应表存储部,存储对应表,该对应表示出对数据流进行加密运算的次数和每次加密运算中使用的上下文;
上下文控制部,在所述加密运算部所保持的所述上下文与所述对应表所示的加密运算中使用的上下文不一致的情况下,使所述加密运算部所保持的上下文退避到所述上下文存储部,并且使所述上下文存储部所存储的所述多个上下文中的、所述对应表所示的加密运算中使用的上下文返回到所述加密运算部;
显示部,再生并显示数据流;以及
流控制部,将由所述加密运算部进行了所述对应表所示的次数的加密运算的数据流输出到所述显示部,将从所述外部装置输入的数据流以及由所述加密运算部进行了加密运算的次数未满所述对应表所示的次数的加密运算的数据流,输出到所述流分析部。
17.一种机密信息处理机器,对数据流所包含的不同对象数据进行多次加密运算,其特征在于,包括:
至少一个流分析部,通过分析数据流,从而判别所述对象数据;
至少一个加密运算部,保持上下文,并使用所保持的所述上下文对数据流所包含的所述对象数据进行加密运算,所述上下文包含加密运算中使用的密钥、初始值以及加密运算中途的中间信息中的一个以上;
上下文存储部,存储多个所述上下文;
对应表存储部,存储对应表,该对应表示出对数据流进行加密运算的次数和每次加密运算中使用的上下文;
上下文控制部,在所述加密运算部所保持的所述上下文与所述对应表所示的加密运算中使用的上下文不一致的情况下,使所述加密运算部所保持的上下文退避到所述上下文存储部,并且使所述上下文存储部所存储的所述多个上下文中的、所述对应表所示的加密运算中使用的上下文返回到所述加密运算部;
发送部,将数据流发送到外部机器;以及
流控制部,将由所述加密运算部进行了所述对应表所示的次数的加密运算的数据流输出到所述发送部,将从外部装置输入的数据流以及由所述加密运算部进行了加密运算的次数未满所述对应表所示的次数的加密运算的数据流,输出到所述流分析部。
18.一种机密信息处理装置中的机密信息处理方法,所述机密信息处理装置对从外部装置输入的第一数据流所包含的不同对象数据进行多次加密运算,其特征在于,
所述机密信息处理装置,包括:
至少一个流分析部,通过分析数据流,从而判别所述对象数据;
至少一个加密运算部,保持上下文,并使用所保持的所述上下文对数据流所包含的所述对象数据进行加密运算,所述上下文包含加密运算中使用的密钥、初始值以及加密运算中途的中间信息中的一个以上;
上下文存储部,存储多个所述上下文;
对应表存储部,存储对应表,该对应表示出对数据流进行加密运算的次数和每次加密运算中使用的上下文;
上下文控制部,在所述加密运算部所保持的所述上下文与所述对应表所示的加密运算中使用的上下文不一致的情况下,使所述加密运算部所保持的上下文退避到所述上下文存储部,并且使所述上下文存储部所存储的所述多个上下文中的、所述对应表所示的加密运算中使用的上下文返回到所述加密运算部;以及
流控制部,将由所述加密运算部进行加密运算的数据流输出到所述外部装置或所述流分析部,
在所述对应表示出对所述第一数据流进行两次以上的加密运算的情况下,
所述流分析部,从所述第一数据流判别出第一对象数据,
所述加密运算部,通过对所述第一数据流所包含的所述第一对象数据进行加密运算,从而生成第二数据流,
所述流控制部,将所述第二数据流输出到所述流分析部,
所述流分析部,从所述第二数据流判别出第二对象数据,
所述加密运算部,通过对所述第二数据流所包含的所述第二对象数据进行加密运算,从而生成第三数据流,
所述流控制部,将所述第三数据流输出到所述外部装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007005638 | 2007-01-15 | ||
JP005638/2007 | 2007-01-15 | ||
JP224262/2007 | 2007-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101227274A true CN101227274A (zh) | 2008-07-23 |
Family
ID=39758088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100021233A Pending CN101227274A (zh) | 2007-01-15 | 2008-01-15 | 机密信息处理机器、机密信息处理装置及机密信息处理方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5080908B2 (zh) |
CN (1) | CN101227274A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546151A (zh) * | 2012-03-22 | 2012-07-04 | 山东泰信电子有限公司 | 一种数据加密、解密方法 |
CN106656972A (zh) * | 2016-10-14 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种数据加密方法及装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2010055658A1 (ja) * | 2008-11-13 | 2012-04-12 | パナソニック株式会社 | コンテンツ復号処理装置、コンテンツ復号処理方法及び集積回路 |
KR101224021B1 (ko) * | 2011-04-29 | 2013-01-21 | (주)네오와인 | 암복호화 장치 및 방법 |
JP5853507B2 (ja) * | 2011-09-05 | 2016-02-09 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
JPWO2013137067A1 (ja) * | 2012-03-15 | 2015-08-03 | 日本電気株式会社 | 演算装置、演算方法及び演算プログラム |
CN107149695A (zh) * | 2016-03-03 | 2017-09-12 | 上海市农药研究所有限公司 | 一种复合微生物除臭剂及其制备方法与应用 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000022775A (ja) * | 1998-06-30 | 2000-01-21 | Canon Inc | 送信装置、受信装置、通信装置、通信システム、送信方法、受信方法、通信方法、及び記憶媒体 |
JP4391610B2 (ja) * | 1998-12-25 | 2009-12-24 | パナソニック株式会社 | トランスポートストリーム処理装置 |
JP2001292432A (ja) * | 2000-04-05 | 2001-10-19 | Mitsubishi Electric Corp | 限定受信制御方式 |
JP2003304235A (ja) * | 2002-04-10 | 2003-10-24 | Sony Corp | 無線通信装置、およびプログラム・ダウンロード方法、並びにコンピュータ・プログラム |
KR101088420B1 (ko) * | 2004-02-13 | 2011-12-08 | 아이비아이 스마트 테크놀로지스 인코포레이티드 | 데이터 암호 처리 방법 및 장치 |
GB2419762A (en) * | 2004-11-01 | 2006-05-03 | Sony Uk Ltd | Method of generating protected media signals by replacing data bits with hash values |
JP2006339988A (ja) * | 2005-06-01 | 2006-12-14 | Sony Corp | ストリーム制御装置、ストリーム暗号化/復号化装置、および、ストリーム暗号化/復号化方法 |
-
2007
- 2007-08-30 JP JP2007224262A patent/JP5080908B2/ja active Active
-
2008
- 2008-01-15 CN CNA2008100021233A patent/CN101227274A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546151A (zh) * | 2012-03-22 | 2012-07-04 | 山东泰信电子有限公司 | 一种数据加密、解密方法 |
CN106656972A (zh) * | 2016-10-14 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种数据加密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5080908B2 (ja) | 2012-11-21 |
JP2008199572A (ja) | 2008-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8077867B2 (en) | Confidential information processing apparatus, confidential information processing device, and confidential information processing method | |
CN100576196C (zh) | 内容加密方法、系统和利用该加密方法通过网络提供内容的方法 | |
CN1992589B (zh) | 加扰和解扰数据单元的方法 | |
US9584310B2 (en) | Protecting a white-box implementation against attacks | |
CN101227274A (zh) | 机密信息处理机器、机密信息处理装置及机密信息处理方法 | |
US5073934A (en) | Method and apparatus for controlling the use of a public key, based on the level of import integrity for the key | |
WO2006012363A1 (en) | Stream cipher combining system and method | |
US20080084995A1 (en) | Method and system for variable and changing keys in a code encryption system | |
EP2996278B1 (en) | Remapping constant points in a white-box implementation | |
CN107534558B (zh) | 用于保护经由数据总线传输的数据的信息安全的方法以及数据总线系统 | |
CN102411694A (zh) | 加密装置及存储器系统 | |
US7779272B2 (en) | Hardware cryptographic engine and encryption method | |
CN113098675B (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
US20150263858A1 (en) | Method and device for digital data blocks encryption and decryption | |
US7773753B2 (en) | Efficient remotely-keyed symmetric cryptography for digital rights management | |
US7945046B2 (en) | Decryption processing apparatus, decryption method and image forming apparatus | |
CN110149311B (zh) | 数据处理方法、装置、服务器及可读存储介质 | |
CN107278357A (zh) | 密码系统和方法 | |
CN111814175B (zh) | 一种区块链间跨链信息传输控制系统 | |
US9918143B2 (en) | Shuffled media content | |
US9223945B2 (en) | Code diversity method and system | |
CN114401148A (zh) | 一种通信数据加解密优化方法 | |
KR101548654B1 (ko) | 보안성이 있는 암호화 체계를 구비하고 순서 버킷을 이용하는 데이터베이스 쿼리 장치 및 방법 | |
CN117725605B (zh) | 一种远端自动编制电子档案文件信息保密的方法和系统 | |
US20090041245A1 (en) | Confidential information processing device,confidential information processing apparatus, and confidential information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080723 |