(57)【要約】【課題】暗号処理に必要なコンテキストを切り替えながらストリームの暗号化・復号化を行う機密情報処理装置において、同一暗号アルゴリズムの処理を要求するストリームが輻輳した際にスループットが著しく低下してしまう。【解決手段】暗号演算処理のリクエストを行うストリーム解析回路２ａ，２ｂと、どのリクエストかを決定するリクエスト選択回路３ａ，３ｃと、複数の暗号演算回路６ａ1 ，６ａ2 ，６ｃと、データ中継回路４ａ1 ，４ａ2 ，４ｃと、ストリーム解析回路と外部のデータパスを制御するストリーム制御回路１と、コンテキスト保存部８と、暗号演算の実施順序と実施回数とそれぞれの演算で使用するコンテキストを指定するコンテキスト対応テーブルと連携し、対応したコンテキストを退避・復帰するコンテキスト制御回路７と、選択された処理リクエストをどの暗号演算回路で処理するかを決定する処理部選択回路５を備える。【選択図】図２
2008306642.tif 000002
【特許請求の範囲】
【請求項１】
入力されてくるストリームから秘密鍵暗号演算を行うデータを選択し処理リクエストを行う複数のストリーム解析回路と、
処理リクエストを行っている前記ストリーム解析回路のうちどのストリーム解析回路からの処理リクエストを処理するかを決定する複数のリクエスト選択回路と、
入力されたデータに対して秘密鍵暗号演算を行う複数の暗号演算回路と、
前記リクエスト選択回路によって決定された前記ストリーム解析回路により選択されたデータを対象となる前記暗号演算回路に出力する一方、前記暗号演算回路による演算処理結果を受け取って前記ストリーム解析回路に出力する複数のデータ中継回路と、
前記ストリーム解析回路と外部のデータパスを制御するストリーム制御回路と、
秘密鍵暗号演算に必要となる情報を１組のコンテキストとして格納するコンテキスト保存部と、
入力されたストリームに対して秘密鍵暗号演算の実施順序と実施回数とそれぞれの演算で使用する前記コンテキストを指定するコンテキスト対応テーブルと連携し、前記コンテキスト対応テーブルの情報に基づき入力されたストリームに対応した前記コンテキストを、前記ストリーム解析回路・前記暗号演算回路のそれぞれと前記コンテキスト保存部との間で退避・復帰するコンテキスト制御回路と、
前記秘密鍵暗号演算に対応した前記リクエスト選択回路により選択された処理リクエストを複数の前記暗号演算回路のうちどの暗号演算回路で処理するかを決定する処理部選択回路とを備えた機密情報処理装置。
【請求項２】
さらに、秘密鍵暗号演算を行う暗号演算回路に加えて、ハッシュ演算を行う暗号演算回路を備えている請求項１に記載の機密情報処理装置。
【請求項３】
前記各暗号演算回路は、暗号演算回路ＩＤをもち、そのＩＤによって識別される請求項１または請求項２に記載の機密情報処理装置。
【請求項４】
前記各暗号演算回路は、それぞれの対応する暗号演算の種類を示す暗号アルゴリズムＩＤをもつ請求項３に記載の機密情報処理装置。
【請求項５】
前記処理部選択回路は、前記リクエスト選択回路によって選択された前記ストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、対応する暗号演算を行う複数の前記暗号演算回路のうち、その時点で他のストリームの処理を行っていない暗号演算回路を優先して選択する請求項４に記載の機密情報処理装置。
【請求項６】
前記処理部選択回路は、その時点で他のストリームの処理を行っていない暗号演算回路が複数ある場合、暗号演算回路ＩＤの小さいものを優先して選択する請求項５に記載の機密情報処理装置。
【請求項７】
前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、その時点で他のストリームの処理を行っていない暗号演算回路が複数ある場合、前記選択されたストリーム解析回路から入力されたストリームに対応したコンテキストＩＤに基づいて暗号演算回路を選択する請求項５に記載の機密情報処理装置。
【請求項８】
前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、対応する暗号演算を行う２つ以上の暗号演算回路の中に、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在する場合、その暗号演算回路を優先して選択する請求項７に記載の機密情報処理装置。
【請求項９】
前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在しなかった場合、最も長い間処理を行っていない暗号演算回路を優先して選択する請求項８に記載の機密情報処理装置。
【請求項１０】
前記処理部選択回路は、コンテキストＩＤと暗号演算回路ＩＤの対応を定めた回路ＩＤ対応テーブルをもち、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、前記回路ＩＤ対応テーブルに基づいて暗号演算回路を選択する請求項７に記載の機密情報処理装置。
【請求項１１】
前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、前記ストリームが以前に処理したストリームの続きである場合に、以前に前記ストリームを処理したのと同じ暗号演算回路を選択する請求項５に記載の機密情報処理装置。
【請求項１２】
前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、前記ストリーム解析回路に応じて暗号演算回路を選択する請求項５に記載の機密情報処理装置。
【請求項１３】
前記ストリーム制御回路の制御により、あるストリーム解析回路による演算処理済みのストリームを別のストリーム解析回路に出力して処理することにより同一の暗号演算を２回行う請求項１から請求項１２までのいずれかに記載の機密情報処理装置。
【請求項１４】
請求項１から請求項１３までのいずれかに記載の機密情報処理装置と、
機器外部からデータを受信する受信部と、
前記受信部から受信し、前記機密情報処理装置を用いて処理したデータを表示する表示部とを備えた機密情報処理機器。
【請求項１５】
請求項１から請求項１３までのいずれかに記載の機密情報処理装置と、
前記機密情報処理装置を用いて処理したデータを機器外部へデータを送信する送信部を備えた機密情報処理機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化・復号化する機密情報処理装置において、複数のストリームを高速に処理するための技術に関する。また、機密情報処理機器に関する。
【背景技術】
【０００２】
複数の暗号化されたストリームを復号化する、あるいは平文ストリームを暗号化する装置として、鍵や中間値など暗号処理の際に必要となるデータをコンテキストとして管理し、メモリに記憶したコンテキストと暗号演算回路がもつコンテキストとを適宜切り替えることにより、異なるストリームを切り替えながら処理を行う機密情報処理装置がある（例えば特許文献１参照）。
【０００３】
図２４に先行技術の機密情報処理装置Ｂ１の構成を示す。図２４において、１はストリーム解析回路２ａ，２ｂと外部のデータパスを制御するストリーム制御回路、２ａ，２ｂは入力されてくるストリームから秘密鍵暗号演算を行うデータを選択し処理リクエストを行うストリーム解析回路、３ａ，３ｂ，３ｃは対応する秘密鍵暗号演算に対する処理リクエストを行っているストリーム解析回路２ａ，２ｂのうちどのストリーム解析回路からの処理リクエストを処理するかを決定するリクエスト選択回路、４ａ，４ｂ，４ｃはリクエスト選択回路３ａ，３ｂ，３ｃによって決定されたストリーム解析回路２ａ，２ｂにより選択されたデータを対象となる暗号演算回路６ａ，６ｂ，６ｃに出力し、また暗号演算回路６ａ，６ｂ，６ｃによる演算処理結果を受け取って対応するストリーム解析回路に出力するデータ中継回路、６ａ，６ｂ，６ｃは入力されたデータに対して秘密鍵暗号演算を行う暗号演算回路、７はストリーム解析回路２ａ／２ｂにおけるコンテキスト対応テーブルの情報に基づき入力されたストリームに対応したコンテキストを、暗号演算回路６ａ，６ｂ，６ｃとコンテキスト保存部８との間で退避・復帰するコンテキスト制御回路、８は鍵・初期値・演算途中の中間情報等の秘密鍵暗号演算に必要となる情報を１組のコンテキストとして格納するコンテキスト保存部である。
【０００４】
機密情報処理装置Ｂ１は、複数の暗号アルゴリズムに対応させるために複数の暗号演算回路６ａ，６ｂ，６ｃを並べているが、暗号演算回路６ａ，６ｂ，６ｃには互いに別々の暗号アルゴリズムＡ，Ｂ，Ｃが１対１に対応している。すなわち、暗号演算回路６ａには暗号アルゴリズムＡが対応し、暗号演算回路６ｂには暗号アルゴリズムＢが対応し、暗号演算回路６ｃには暗号アルゴリズムＣが対応している。要求する暗号アルゴリズムが互いに異なる複数のストリームが輻輳して入力された場合、各暗号アルゴリズムに専用の暗号演算回路で処理するので、高速処理が可能である。一方、要求する暗号アルゴリズムが同一である複数のストリームが輻輳して入力されたときには、コンテキストを切り替えて交互に処理を行う。
【特許文献１】特願２００７−５６３８号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来の機密情報処理装置Ｂ１において、要求する暗号アルゴリズムが同一である複数のストリームが輻輳して入力された場合、同一の暗号演算回路を複数のストリームに対して切り替えながら処理する。その結果として、そのストリームに対する処理速度は大幅に低下してしまう。ｎ本のストリームが輻輳する場合、１ストリーム当たりの処理速度は計算上１／ｎに低下する。ところが、実際には、コンテキストの切り替えに要するサイクルタイムが大きいため、１／ｎよりかなり低い処理速度となる。このため、特定の暗号アルゴリズム（例えばＤＥＳ（Data Encryption Standard）に代わってＡＥＳ（Advanced Encryption Standard））を用いるストリームが増えた場合、それぞれのストリームで必要となるスループットを満たせなくなる可能性がある。
【０００６】
この対策として、図２５に示す構成の機密情報処理装置Ｂ２が考えられる。図２４との比較において、符号の３ａ1 ，３ａ2 ，４ａ1 ，４ａ2 ，６ａ1 ，６ａ2 が相違する。同一の暗号アルゴリズムＡを処理する複数（図示例では２つ）の暗号演算回路６ａ1 ，６ａ2 をもたせ、これに対応してリクエスト選択回路３ａ1 ，３ａ2 およびデータ中継回路４ａ1 ，４ａ2 を同一の暗号アルゴリズムＡに個別的に対応させている。これにより、処理の高速化を図ろうとしている。
【０００７】
しかし、２つの暗号演算回路６ａ1 ，６ａ2 は完全に別のものとして扱われる。そのため、２つの暗号演算回路６ａ1 ，６ａ2 間で処理を適切に割り振ることが困難である。暗号アルゴリズムＡによる処理を行うストリームを入力する時点で、２つの暗号演算回路６ａ1 ，６ａ2 のどちらで処理するかがあらかじめ指定されていなければならない。これでは、図２４の機密情報処理装置Ｂ１で用いていたソフトウェアは使うことができない。
【０００８】
どのようなストリームがどのようなタイミングで入力されるかが予測できれば適切なプログラムを作成できるかもしれない。しかし、機密情報処理装置が搭載される携帯機器やレコーダ・プレーヤ、ＴＶ受像機などにおいては、そのような予測は不可能である。
【０００９】
機密情報処理装置Ｂ２へストリーム入力を行うマスタが１つであれば、そのマスタでどちらを使用するかを管理することは可能である。しかし、マスタが複数の場合には、２つの暗号演算回路６ａ1 ，６ａ2 の処理状況を総合的に管理することは非常に難しく、実現が不可能である。仮に実現できるとしても、ハードウェア・ソフトウェアともに開発コスト、規模が大きくなってしまう。
【００１０】
本発明は、このような事情に鑑みて創作したものであり、暗号アルゴリズムが同一の複数のストリームが輻輳した場合に、同一のインタフェース・操作手順で対応することができながら、処理速度の低下を抑制することができる機密情報処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１１】
（１）本発明による機密情報処理装置は、
入力されてくるストリームから秘密鍵暗号演算を行うデータを選択し処理リクエストを行う複数のストリーム解析回路と、
処理リクエストを行っている前記ストリーム解析回路のうちどのストリーム解析回路からの処理リクエストを処理するかを決定する複数のリクエスト選択回路と、
入力されたデータに対して秘密鍵暗号演算を行う複数の暗号演算回路と、
前記リクエスト選択回路によって決定された前記ストリーム解析回路により選択されたデータを対象となる前記暗号演算回路に出力する一方、前記暗号演算回路による演算処理結果を受け取って前記ストリーム解析回路に出力する複数のデータ中継回路と、
前記ストリーム解析回路と外部のデータパスを制御するストリーム制御回路と、
秘密鍵暗号演算に必要となる情報を１組のコンテキストとして格納するコンテキスト保存部と、
入力されたストリームに対して秘密鍵暗号演算の実施順序と実施回数とそれぞれの演算で使用する前記コンテキストを指定するコンテキスト対応テーブルと連携し、前記コンテキスト対応テーブルの情報に基づき入力されたストリームに対応した前記コンテキストを、前記ストリーム解析回路・前記暗号演算回路のそれぞれと前記コンテキスト保存部との間で退避・復帰するコンテキスト制御回路と、
前記秘密鍵暗号演算に対応した前記リクエスト選択回路により選択された処理リクエストを複数の前記暗号演算回路のうちどの暗号演算回路で処理するかを決定する処理部選択回路とを備えたものである。
【００１２】
この構成においては、少なくとも１つのある暗号アルゴリズムについて複数の暗号演算回路を用意し、前記のある暗号アルゴリズムのストリームが輻輳して入力される場合に、複数の暗号演算回路を用いて演算処理を行うため、高速処理の機能は確保されている。加えて、ストリームが入力された時点で、同一の暗号アルゴリズムで処理を行う複数の暗号演算回路のうちどの暗号演算回路を使用するかを決定する処理部選択回路が設けられているので、機密情報処理装置にストリームを入力するマスタやそのマスタを制御するソフトウェアにおいて暗号演算回路の数を認識する必要がなく、特別なソフトウェア改変の必要性がない。換言すれば、ある暗号アルゴリズムによる処理を要求するストリームが輻輳した場合の処理速度を向上させながら、その暗号アルゴリズムの暗号演算回路の数に影響されることなく同一のインタフェース・操作手順で対応することが可能となる。
【００１３】
（２）上記（１）の構成の機密情報処理装置において、さらに、秘密鍵暗号演算を行う暗号演算回路に加えて、ハッシュ演算を行う暗号演算回路を備えているという態様がある。この構成によれば、ハッシュ演算を要求するストリームの入力が輻輳した場合にも、特別なソフトウェア改変を行うことなく、ハッシュ演算を高速処理することが可能となる。
【００１４】
（３）また上記（１），（２）の構成の機密情報処理装置において、前記各暗号演算回路は、暗号演算回路ＩＤをもち、その暗号演算回路ＩＤによって識別されるという態様がある。この構成によれば、コンテキストの退避元や復帰先を暗号演算回路ＩＤによって管理することが可能となる。
【００１５】
（４）上記（３）の構成の機密情報処理装置において、前記各暗号演算回路は、それぞれの対応する暗号演算の種類を示す暗号アルゴリズムＩＤをもつという態様がある。この構成によれば、同一の暗号アルゴリズムに対応した暗号演算回路を暗号アルゴリズムＩＤによってまとめて管理することが可能となる。
【００１６】
（５）上記（４）の構成の機密情報処理装置において、前記処理部選択回路は、前記リクエスト選択回路によって選択された前記ストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、対応する暗号演算を行う複数の前記暗号演算回路のうち、その時点で他のストリームの処理を行っていない暗号演算回路を優先して選択するという態様がある。この構成によれば、他のストリームの処理を行っていない暗号演算回路を用いることにより、ストリームの処理待ち時間を減らし、暗号演算回路を効率的に使用して処理速度を向上させることが可能となる。
【００１７】
（６）上記（５）の構成の機密情報処理装置において、前記処理部選択回路は、その時点で他のストリームの処理を行っていない暗号演算回路が複数ある場合、暗号演算回路ＩＤの小さいものを優先して選択するという態様がある。この構成によれば、処理部選択回路の構成が簡易なものとなり、面積を削減することが可能となる。
【００１８】
（７）また上記（５）の構成の機密情報処理装置において、前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、その時点で他のストリームの処理を行っていない暗号演算回路が複数ある場合、前記選択されたストリーム解析回路から入力されたストリームに対応したコンテキストＩＤに基づいて暗号演算回路を選択するという態様がある。この構成によれば、処理部選択回路は、コンテキストに応じた処理を行うことが可能となる。
【００１９】
（８）また上記（７）の構成の機密情報処理装置において、前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、対応する暗号演算を行う２つ以上の暗号演算回路の中に、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在する場合、その暗号演算回路を優先して選択するという態様がある。この構成によれば、コンテキスト切換を必要としない暗号演算回路の割り当てを行うことができ、コンテキスト切換の発生頻度を下げ、コンテキスト切換に伴う処理速度の低下を防ぐことが可能となる。
【００２０】
（９）また上記（８）の構成の機密情報処理装置において、前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在しなかった場合、最も長い間処理を行っていない暗号演算回路を優先して選択するという態様がある。この構成によれば、最近ストリーム処理を行った暗号演算回路のコンテキストが前記暗号演算回路内部に残されるため、前記ストリームの続きが入力された場合に、コンテキスト切換を行うことなく処理できることが期待される。結果、コンテキスト切換を減らすことにより、処理速度の向上・消費電力の削減を行うことが可能となる。
【００２１】
（１０）また上記（７）の構成の機密情報処理装置において、前記処理部選択回路は、コンテキストＩＤと暗号演算回路ＩＤの対応を定めた回路ＩＤ対応テーブルをもち、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、前記回路ＩＤ対応テーブルに基づいて暗号演算回路を選択するという態様がある。この構成によれば、入力されたストリームを使用するアプリケーションとコンテキストＩＤ、あるいは前記ストリームを入力したマスタとコンテキストＩＤが対応づけられていた場合、アプリケーションやマスタによって使用する暗号演算回路を決定することが可能となり、コンテキスト切換の発生頻度を抑えることによる処理の高速化や、処理の分散の適正化による処理の高速化や、特定のアプリケーション・マスタを優先して処理することが可能となる。
【００２２】
（１１）また上記（５）の構成の機密情報処理装置において、前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、前記ストリームが以前に処理したストリームの続きである場合に、以前に前記ストリームを処理したのと同じ暗号演算回路を選択するという態様がある。この構成によれば、暗号演算回路と処理するストリームとの間に一定の関連づけが行われるため、コンテキスト切換の発生頻度を抑えることにより処理の高速化が可能となる。
【００２３】
（１２）また上記（５）の構成の機密情報処理装置において、前記処理部選択回路は、前記リクエスト選択回路によって選択されたストリーム解析回路から入力されたストリームを処理する暗号演算回路を決定する際に、前記ストリーム解析回路に応じて暗号演算回路を選択するという態様がある。この構成によれば、入力されたストリームを使用するアプリケーションとストリーム解析回路、あるいは前記ストリームを入力したマスタとストリーム解析回路が対応づけられていた場合、アプリケーションやマスタによって使用する暗号演算回路を決定することが可能となり、コンテキスト切換の発生頻度を抑えることによる高速化や、処理の分散の適正化による高速化や、特定のアプリケーション・マスタを優先して処理することが可能となる。
【００２４】
（１３）また上記（１）〜（１２）の構成の機密情報処理装置において、前記ストリーム制御回路の制御により、あるストリーム解析回路による演算処理済みのストリームを別のストリーム解析回路に出力して処理することにより同一の暗号演算を２回行うという態様がある。この構成によれば、複数の暗号演算回路を用いることにより、ストリームの再入力あるいはデータを保存しておくためのバッファを必要とせずに、同一アルゴリズムによる２回の処理を高速に行うことが可能となる。
【００２５】
（１４）本発明による機密情報処理機器は、
上記（１）〜（１３）の構成の機密情報処理装置と、
機器外部からデータを受信する受信部と、
前記受信部から受信し、前記機密情報処理装置を用いて処理したデータを表示する表示部とを備えたものである。この構成によれば、ＴＶや携帯機器、レコーダ・プレーヤなど、著作権保護されたデータを処理して表示する機器において、輻輳したストリームを高速に処理することが可能となる。
【００２６】
（１５）また、本発明による機密情報処理機器は、
上記（１）〜（１３）の構成の機密情報処理装置と、
前記機密情報処理装置を用いて処理したデータを機器外部へデータを送信する送信部を備えたものである。この構成によれば、ＴＶや携帯機器、レコーダ・プレーヤなど、著作権保護されたデータを受信して処理し、送信する機器において、輻輳したストリームを高速に処理することが可能となる。
【発明の効果】
【００２７】
本発明によれば、暗号アルゴリズムが同一の複数のストリームが輻輳した場合に、同一のインタフェース・操作手順で対応することができながら、処理速度の低下を抑制することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明にかかわる機密情報処理装置の実施の形態を図面を用いて詳細に説明する。
【００２９】
（実施の形態１）
図１は本発明の実施の形態１における機密情報処理装置Ａ１の構成を示すブロック図である。この機密情報処理装置Ａ１は、ストリーム制御回路１、ストリーム解析回路２ａ，２ｂ、リクエスト選択回路３ａ，３ｃ、データ中継回路４ａ1 ，４ａ2 ，４ｃ、処理部選択回路５、暗号演算回路６ａ1 ，６ａ2 ，６ｃ、コンテキスト制御回路７およびコンテキスト保存部８から構成されている。先行技術の場合の図２５との対比では、暗号アルゴリズムを同じくする２つの暗号演算回路６ａ1 ，６ａ2 に対して１つのリクエスト選択回路３ａを共通化し、代わりに処理部選択回路５を追加している。
【００３０】
図２は図１の具体例に相当し、暗号演算回路としてＡＥＳ（Advanced EncryptionStandard）に対応した２つの暗号演算回路６ａ1 ，６ａ2 と、ＤＥＳ（Data EncryptionStandard）に対応した１つの暗号演算回路６ｃを備えている。
【００３１】
図３は本実施の形態の機密情報処理装置Ａ１における暗号アルゴリズムＩＤテーブルの構成図である。暗号アルゴリズムとしてＡＥＳ、ＤＥＳ、Ｃａｍｅｌｌｉａ、ＳＨＡ（Secure Hash Algorithm）などがあり、それぞれに暗号アルゴリズムＩＤが割り振られている。
【００３２】
図４は本実施の形態の機密情報処理装置Ａ１における暗号演算回路ＩＤテーブルの構成図である。第１の暗号演算回路６ａ1 には暗号演算回路ＩＤの“０”が割り振られ、第２の暗号演算回路６ａ2 には暗号演算回路ＩＤの“１”が割り振られ、第３の暗号演算回路６ｃには暗号演算回路ＩＤの“２”が割り振られている（９ａ1 ，９ａ2 ，９ｃ）。
【００３３】
図５は図３の関係と図４の関係をまとめた第１のテーブルＴ１の構成図である。この第１のテーブルＴ１はコンテキスト制御回路７に保持されている。
【００３４】
図１、図２において、ストリーム制御回路１は、外部のデータパスとストリーム解析回路２ａ，２ｂとを制御する。ストリーム制御回路１は、外部から入力されたストリームに対して、内蔵の第２のテーブルＴ２を検索し、検索結果に従ってそのストリームをストリーム解析回路２ａ，２ｂのいずれか一方に出力する。また、ストリーム解析回路２ａ，２ｂから入力されてくる処理済みのストリームを、そのストリームが、１回の暗号処理のみを指定されたストリームであれば外部に出力する。あるいは、同一の暗号演算を繰り返し２回以上行う場合には、処理済みのストリームをストリーム解析回路２ａ／２ｂから別のストリーム解析回路２ｂ／２ａに出力する。これは、バッファの追加やストリームの再入力を必要とすることなく、高速に処理するためである。
【００３５】
ストリーム解析回路２ａ，２ｂは、あらかじめコンテキストを設定しており、外部から入力されてくるストリームに対してコンテキストを用いて入力ストリームのうち秘密鍵暗号演算（暗号化または復号化）の対象となるデータを特定し、コンテキスト対応テーブルＴＣで特定された暗号アルゴリズムに対応したリクエスト選択回路３ａ／３ｃに処理リクエストを行う。ストリームに割当てられているストリームＩＤからコンテキスト対応テーブルＴＣを引き、そのストリームに対して行うべき処理、暗号アルゴリズム、およびその処理に利用するコンテキストＩＤを判別する。指定されたコンテキストＩＤをストリーム解析回路２ａ，２ｂが現在保持しているコンテキストのＩＤと比較し、一致すれば、そのコンテキストを使用して入力されたストリームの解析を行う。ここで、コンテキストは、ストリーム解析を行うために必要な情報であり、具体的には例えばフォーマットの種類、ヘッダ長、フレーム長、フッタ長などである。一方、コンテキストＩＤが不一致の場合には、コンテキスト制御回路７に対してコンテキスト退避・復帰のリクエストを行い、それまで保持していたコンテキストをコンテキスト保存部８に退避し、指定されたものであってコンテキスト保存部８に保存されていたコンテキストＩＤのコンテキストを設定する。つまり、コンテキスト一致なら継続し、不一致ならコンテキストを更新する。
【００３６】
ストリーム解析回路２ａ，２ｂは、データ中継回路４ａ1 ，４ａ2 ，４ｃとの間でストリームのやり取りを行う。ストリーム解析回路２ａ，２ｂには、相互間に優先順位が設けられている。ストリーム解析回路２ａ，２ｂは、リクエスト選択回路３ａ，３ｃによって選択され、処理済みのストリームをストリーム制御回路１へ出力する。
【００３７】
リクエスト選択回路３ａ，３ｃは、ストリーム解析回路２ａ，２ｂからの処理リクエストを受けると、リクエスト選択アルゴリズムに従って、対応する秘密鍵暗号演算に対する処理リクエストを行っているストリーム解析回路２ａ，２ｂのうちどのストリーム解析回路からの処理リクエストを処理するかを決定する。リクエスト選択アルゴリズムは、例えばストリーム解析回路２ａ，２ｂに付けられた優先順位に従うものとする。なお、リクエスト選択アルゴリズムとしては、ラウンドロビン方式など他のアルゴリズムを用いても構わない。
【００３８】
暗号アルゴリズムがＤＥＳであるときは、リクエスト選択回路３ｃが活性化され、このリクエスト選択回路３ｃで選択された結果はデータ中継回路４ｃに伝えられる。この場合、データ中継回路４ｃは、リクエスト選択回路３ｃで選択されたストリーム解析回路２ａ／２ｂからの入力ストリームを暗号演算回路６ｃに出力する。
【００３９】
一方、暗号アルゴリズムがＡＥＳであるときは、リクエスト選択回路３ａが活性化され、このリクエスト選択回路３ａで選択された結果は処理部選択回路５に送られる。この場合、処理部選択回路５では、リクエスト選択回路３ａで選択されたリクエストを暗号演算回路６ａ1 ，６ａ2 のどちらで処理するかを決定する。具体的には、暗号演算回路６ａ1 ，６ａ2 の状態を確認し、他のストリームを処理していないかどうかを確認し、選択決定した暗号演算回路６ａ1 ／６ａ2 に対応したデータ中継回路４ａ1 ／４ａ2 に対して、リクエスト選択回路３ａで選択されたストリーム解析回路２ａ／２ｂからの入力を受け付けて、暗号演算回路６ａ1 ／６ａ2 に出力するように指示を行う。
【００４０】
処理部選択回路５は、秘密鍵暗号演算に対応してリクエスト選択回路３ａ／３ｃで選択された処理リクエストを２つの暗号演算回路６ａ1 ，６ａ2 のどちらで処理するかを決定する。その決定に際して、暗号演算回路６ａ1 ，６ａ2 のうち、その時点で他のストリームの処理を行っていない方を選択する。あるいは、暗号演算回路６ａ1 ，６ａ2 の中に、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶しているものが存在すれば、その暗号演算回路６ａ1 ／６ａ2 を選択する。選択決定した暗号演算回路６ａ1 ／６ａ2 に対応するデータ中継回路４ａ1 ／４ａ2 に、リクエスト選択回路３ａで選択されたストリーム解析回路２ａ，２ｂからの入力を受け付けて、暗号演算回路６ａ1 ／６ａ2 に出力するように指示を行う。その後の処理は、前述したＤＥＳに対応した暗号演算回路６ｃによるストリーム処理の場合と同様である。
【００４１】
処理部選択回路５は、各暗号アルゴリズムごとに暗号アルゴリズムＩＤを有するとともに、各暗号演算回路ごとに暗号演算回路ＩＤを有することにより、処理部選択回路５およびコンテキスト制御回路７において暗号アルゴリズム・暗号演算回路の識別を確実なものとし、必要となる暗号アルゴリズム・暗号演算回路を確認するとともに、暗号アルゴリズムに応じたコンテキストの制御が可能になる。
【００４２】
データ中継回路４ｃは、指定された暗号アルゴリズムがＤＥＳである場合、リクエスト選択回路３ｃによって決定されたストリーム解析回路２ａ／２ｂで選択されたデータを対象となる暗号演算回路６ｃに出力し、また暗号演算回路６ｃから演算処理結果を受け取り、該当のストリーム解析回路２ａ／２ｂに出力する。また、データ中継回路４ａ1 ，４ａ2 は、指定された暗号アルゴリズムがＡＥＳである場合、処理部選択回路５によって決定されたストリーム解析回路２ａ／２ｂで選択されたデータを対象となる暗号演算回路６ａ1 ，６ａ2 に出力し、また暗号演算回路６ａ1 ，６ａ2 から演算処理結果を受け取り、該当のストリーム解析回路２ａ／２ｂに出力する。
【００４３】
暗号演算回路６ａ1 ，６ａ2 ／６ｃは、入力されたデータに対して秘密鍵暗号演算を行う。暗号演算回路６ａ1 ，６ａ2 ／６ｃのそれぞれは暗号演算回路ＩＤをもち、その暗号演算回路ＩＤによって識別される。また、それぞれの対応する暗号演算の種類を示す暗号アルゴリズムＩＤをもつ。暗号演算回路６ｃでは、入力ストリームに対応したコンテキストＩＤのコンテキストを保持しているかを確認し、保持していなかった場合、コンテキスト制御回路７にコンテキスト退避・復帰のリクエストを行い、現在保持しているコンテキストをコンテキスト保存部８に退避し、該当のコンテキストＩＤであってコンテキスト保存部８に保存されていたもののコンテキストを設定する。暗号演算回路６ｃでは、入力されたデータに対して、コンテキストの鍵・中間値・初期値などを用いてコンテキストで指定されたモードの暗号処理を行う。暗号演算回路６ｃは、演算処理結果のデータをデータ中継回路４ｃに出力する。
【００４４】
次に、上記のように構成された本実施の形態の機密情報処理装置Ａ１の動作を説明する。
【００４５】
機密情報処理装置Ａ１は、ストリーム制御回路１を通して外部と接続されている。外部から入力されたストリームは、ストリーム制御回路１がもつ第２のテーブルＴ２に従ってストリーム解析回路２ａ／２ｂに出力され、また、暗号演算処理を終えてストリーム解析回路２ａ／２ｂからストリーム制御回路１に入力されてくるストリームは、ストリーム制御回路１によって外部に出力、または別のストリーム解析回路２ｂ／２ａに出力される。
【００４６】
ストリーム解析回路２ａ，２ｂは、ストリームに割当てられているストリームＩＤからコンテキスト対応テーブルＴＣを引き、そのストリームに対して行うべき処理、暗号アルゴリズム、およびその処理に利用するコンテキストＩＤを判別する。指定されたコンテキストＩＤ（ストリーム解析を行うために必要な情報。例えばフォーマットの種類、ヘッダ長、フレーム長、フッタ長など）がストリーム解析回路２ａ，２ｂが現在保持しているコンテキストのＩＤと一致すれば、そのコンテキストを使用して入力されたストリームの解析を行う。
【００４７】
また、指定されたコンテキストＩＤが、ストリーム解析回路２ａ，２ｂが現在保持しているコンテキストのＩＤと異なっていた場合、コンテキスト制御回路７にコンテキスト退避・復帰のリクエストを行い、現在保持しているコンテキストをコンテキスト保存部８に退避し、コンテキスト保存部８に保存されていた前記指定されたコンテキストＩＤのコンテキストをストリーム解析回路２ａ，２ｂに設定する。
【００４８】
ストリーム解析回路２ａ，２ｂは、設定されたコンテキストを用いて、入力されたストリームのうち暗号化または復号化される対象となるデータを特定し、コンテキスト対応テーブルＴＣで特定された暗号アルゴリズムに対応したリクエスト選択回路３ａ，３ｃに処理リクエストを行うとともに、データ中継回路４ａ1 ／４ａ2 ，４ｃに出力する。
【００４９】
ストリーム解析回路２ａ，２ｂからの処理リクエストを受けたリクエスト選択回路３ａ，３ｃは、リクエスト選択アルゴリズムに従って処理するリクエストを決定する。リクエスト選択アルゴリズムは、同時に複数のストリーム解析回路２ａ，２ｂから処理リクエストが入力された場合にどのストリーム解析回路２ａ，２ｂからの処理リクエストを処理するかを決定するアルゴリズムである。例えばストリーム解析回路２ａ，２ｂごとに優先順位が設けられており、それに従うことなどが考えられる。なお、リクエスト選択アルゴリズムとしては、ラウンドロビン方式など他のアルゴリズムを用いても構わない。
【００５０】
暗号アルゴリズムに対応する暗号演算回路が１つの場合（指定の暗号アルゴリズムがＤＥＳの場合）、リクエスト選択回路３ｃで選択された結果はデータ中継回路４ｃに伝えられる。データ中継回路４ｃは、リクエスト選択回路３ｃで選択されたストリーム解析回路２ａ，２ｂから入力されたストリームを暗号演算回路６ｃに出力する。
【００５１】
暗号演算回路６ｃでは、入力されたストリームに対応したコンテキストＩＤのコンテキストを保持しているかを確認し、そのコンテキストＩＤのコンテキストを保持していなかった場合、コンテキスト制御回路７にコンテキスト退避・復帰のリクエストを行い、暗号演算回路６ｃで現在保持しているコンテキストをコンテキスト保存部８に退避し、指定されコンテキスト保存部８に保存されていたコンテキストＩＤのコンテキストを暗号演算回路６ｃに設定する。
【００５２】
この際、コンテキスト制御回路７において、暗号演算回路６ｃに割当てられた暗号アルゴリズムＩＤおよび暗号演算回路ＩＤと、それらの対応関係を示した第１のテーブルＴ１を用いることにより、コンテキスト退避・復帰のあった暗号演算回路６ｃの識別と、その暗号演算回路の対応している暗号アルゴリズムを識別し、暗号アルゴリズムに応じたコンテキストの退避・復帰を行う。
【００５３】
暗号演算回路６ｃでは、前記コンテキストを用いて入力されたデータに対してコンテキストで指定されたモードの暗号処理をコンテキストの鍵・中間値・初期値などを用いて行う。
【００５４】
暗号演算回路６ｃで演算処理されたデータはデータ中継回路４ｃに出力され、データ中継回路４ｃは、そのデータを入力したストリーム解析回路２ａ／２ｂに対して、暗号演算回路６ｃから入力したデータを出力する。
【００５５】
ストリーム解析回路２ａ／２ｂは、データ中継回路４ｃからの出力を受け、暗号処理対象外であったデータと合わせてストリーム制御回路１に出力する。ストリーム制御回路１は、そのストリームが１回の暗号処理のみを指定されたストリームであれば外部に出力し、複数回の暗号処理を指定されたストリームであれば、ストリーム解析回路２ａ／２ｂとは別のストリーム解析回路２ｂ／２ａに出力し、処理を繰り返す。
【００５６】
次に、ストリームの処理に指定の暗号アルゴリズムに対応する暗号演算回路が複数ある場合（指定の暗号アルゴリズムがＡＥＳである場合）、リクエスト選択回路３ａで選択された結果は処理部選択回路５に送られる。
【００５７】
処理部選択回路５では、図６に示すフローチャートに従い、リクエスト選択回路３ａで選択されたリクエストをどの暗号演算回路で処理するかを決定する。すなわち、処理リクエストの有無を確認し（ステップＳ１）、次いで、指定の暗号アルゴリズムに対応した暗号アルゴリズムＩＤ（この場合、ＩＤ＝“０”）をもつ暗号演算回路６ａ1 ，６ａ2 の状態を確認し、暗号演算回路６ａ1 ，６ａ2 の中に他のストリームを処理していない暗号演算回路があるかどうかを確認する（ステップＳ２）。他のストリームを処理していない暗号演算回路があった場合、その中から１つを選択する（ステップＳ３）。次いで、その暗号演算回路６ａ1 ／６ａ2 に対応したデータ中継回路４ａ1 ／４ａ2 に、リクエスト選択回路３ａで選択されたストリーム解析回路２ａまたは２ｂからの入力を受け付けて、暗号演算回路６ａ1 ／６ａ2 に出力するように指示を行う（ステップＳ４）。
【００５８】
この際、他のストリームを処理していない暗号演算回路が複数ある場合、その中から１つを選ばなければならない。その選択方法を図７のフローチャートに示す。ステップＳ１１はステップＳ１に相当し、ステップＳ１５はステップＳ４に相当する。処理リクエストがあった場合（ステップＳ１１）、対象となる暗号アルゴリズムに対応した暗号アルゴリズムＩＤを保持している暗号演算回路のＩＤを取得する（ステップＳ１２）。本実施の形態では、図５に示す第１のテーブルＴ１より、ＡＥＳの暗号アルゴリズムＩＤであるＩＤ＝“０”を保持している暗号演算回路ＩＤであるＩＤ＝“０”，ＩＤ＝“１”を取得する。
【００５９】
次に、暗号演算回路ＩＤの小さい方から順に暗号演算回路の状態を確認していく（ステップＳ１３）。ＩＤ＝“０”の暗号演算回路６ａ1 、ＩＤ＝“１”の暗号演算回路６ａ2 の状態を順に確認し、他のストリームを処理しておらずストリームの入力が可能である暗号演算回路が見つかった時点で確認を終え、その暗号演算回路を前記ストリームを処理する暗号演算回路として選択する（ステップＳ１４）。処理部選択回路５は、選択された暗号演算回路に対応したデータ中継回路（暗号演算回路６ａ1 が選択された場合はデータ中継回路４ａ1 、暗号演算回路６ａ2 が選択された場合はデータ中継回路４ａ2 ）に、リクエスト選択回路３ａで選択されたストリーム解析回路２ａまたは２ｂからの入力を受け付けて、前記暗号演算回路に出力するように指示を行う（ステップＳ１５）。その後の処理は、前述したＤＥＳに対応した暗号演算回路６ｃによるストリーム処理の場合と同様である。
【００６０】
本実施の形態においては、ＡＥＳの処理を行う暗号演算回路を２個とＤＥＳの処理を行う暗号演算回路を１個備えているが、機密情報処理装置Ａ１にストリームを入力するマスタ、あるいはそのマスタを制御するソフトウェアは、ＡＥＳとＤＥＳとで暗号演算回路の個数が異なることによる処理手順・インタフェースの変更を必要としない。すなわち、同一の暗号アルゴリズムの処理を行う暗号演算回路の数を機密情報処理装置の外部に対して隠蔽していることになる。これにより、暗号演算回路の数によらず同一のインタフェース・処理手順を提供しながら、同一の暗号アルゴリズムの処理を要求する輻輳したストリームを高速に処理することが可能となる。
【００６１】
また、各暗号アルゴリズムごとに暗号アルゴリズムＩＤを有するとともに、各暗号演算回路ごとに暗号演算回路ＩＤを有することにより、処理部選択回路５およびコンテキスト制御回路７において暗号アルゴリズム・暗号演算回路の識別を確実なものとし、必要となる暗号アルゴリズム・暗号演算回路を確認することができ、暗号アルゴリズムに応じたコンテキストの制御が可能になる。また、暗号アルゴリズムＩＤと暗号演算回路ＩＤを別に割り振ることにより、図５の第１のテーブルＴ１に示したように、同一暗号アルゴリズムを処理する暗号演算回路が複数ある場合に、暗号アルゴリズムと暗号演算回路との対応を管理することが容易になる。
【００６２】
また、処理部選択回路５で暗号演算回路６ａ1 ，６ａ2 を選択する際、その時点で他のストリームの処理を行っていない暗号演算回路を優先して選択することにより処理速度を向上させるとともに、上記で示したような簡素な選択方法をとることにより、処理部選択回路５の規模を小さくすることが可能となる。
【００６３】
また、ＡＥＳによる処理を複数回必要とするストリームを処理する場合、図８に示すように、ストリーム制御回路１で一方のストリーム解析回路２ａ／２ｂから出力されたストリームを、もう一方のストリーム解析回路２ｂ／２ａに出力して処理することにより、バッファの追加やストリームの再入力を必要とせずに、高速に処理することが可能となる。
【００６４】
（実施の形態２）
本発明の実施の形態２における機密情報処理装置Ａ１の構成については、実施の形態１の場合の図２が援用される。各構成要素は、実施の形態１と同じであり、処理部選択回路５の動作のみが異なる。本実施の形態においては、処理部選択回路５は、その時点で他のストリームの処理を行っていない暗号演算回路が複数ある場合、選択されたストリーム解析回路から入力されたストリームに対応したコンテキストＩＤに基づいて暗号演算回路を選択するものである。
【００６５】
機密情報処理装置Ａ１において、複数の暗号演算回路６ａ1 ，６ａ2 を備えた暗号アルゴリズムでの処理を要求するストリームが入力された場合（ＡＥＳによる処理を要求するストリームが入力された場合）、リクエスト選択回路３ａによってどのストリーム解析回路からの入力が処理されるかが決定された後、処理部選択回路５によって、複数の暗号演算回路６ａ1 ，６ａ2 のうちどの暗号演算回路によって前記ストリームを処理するかが決定される。その際、前記暗号アルゴリズムに対応した暗号演算回路のうち、他のストリームの処理を行っていない暗号演算回路が１つだけであれば、その暗号演算回路によって前記ストリームが処理されることになるが、複数の暗号演算回路が他のストリームの処理を行っていなかった場合、前記複数の暗号演算回路の中から１つを選択しなければならない。
【００６６】
図９のフローチャートに示すように、本実施の形態では、処理を要求しているストリームに対応したコンテキストＩＤに基づいて暗号演算回路を選択し（ステップＳ２３）、選択された暗号演算回路に対応したデータ中継回路に指示を行うことにより、前記データ中継回路が前記選択された暗号演算回路にストリームを入力しストリームの処理が行われる。なお、暗号演算回路選択後の動作は、実施の形態１に示したものと同様である。
【００６７】
コンテキストＩＤに基づいて暗号演算回路を選択する（ステップＳ２３）際には、図１０に示すように、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在する場合、その暗号演算回路を優先して選択する（ステップＳ３４）。また、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在しなかった場合は、暗号演算回路ＩＤの最も小さい暗号演算回路を選択する（ステップＳ３５）。
【００６８】
コンテキストＩＤに基づいて暗号演算回路を選択することにより、コンテキストの特徴に応じた暗号演算回路の選択が可能となり、アプリケーションによって使用するコンテキストが限定されている場合、そのアプリケーションの特徴に応じた暗号演算回路の選択が可能となる。
【００６９】
また、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在する場合、その暗号演算回路を優先して選択することにより、コンテキストの切り換えを減らすことができ、これにより処理の高速化を図ることができる。
【００７０】
図１１に本実施の形態の処理を適用しない比較例の場合の２つの暗号演算回路の処理の割り当て・動作例を示す。図は右向きに時間の経過を表し、「処理中」と表記しているところ（Ｐ１，Ｐ３，Ｐ６，Ｐ９）は、暗号演算回路がストリームの暗号処理を行っている期間であることを、「受け付け可能」と表記しているところ（Ｐ２，Ｐ４，Ｐ５，Ｐ７，Ｐ８）は、暗号演算回路がストリームの暗号処理を行っておらず、データ中継回路からのストリーム入力が可能な期間であることを示す。また、それぞれの期間中に「コンテキスト＊」（アスタリスク＊は、任意の記号）として表記しているのは、その暗号演算回路が保持しているコンテキストを示す。このことは、以下の図１２、図１３、図１５、図１６、図１８、図１９、図２１、図２２で共通である。
【００７１】
図１１に示すように、各暗号演算回路が保持しているコンテキストＩＤに関わらず暗号演算回路の選択を行った場合、コンテキスト切換が多発することが予想される。
【００７２】
一方、図１２は本実施の形態の動作例である。処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在する場合、その暗号演算回路を優先して選択するようにした場合の２つの暗号演算回路の処理の割り当てを示す。同一のコンテキストを保持している暗号演算回路が選択されるため、コンテキスト切換回数を削減し（Ｐ９′，Ｐ３′）、処理速度を向上させることが可能となっている。
【００７３】
（実施の形態３）
本発明の実施の形態３における機密情報処理装置Ａ１の構成については、実施の形態１の場合の図２が援用される。各構成要素は、実施の形態１と同じであり、処理部選択回路５の動作のみが異なる。
【００７４】
機密情報処理装置Ａ１において、複数の暗号演算回路を備えた暗号アルゴリズムでの処理を要求するストリームが入力された場合（ＡＥＳによる処理を要求するストリームが入力された場合）、リクエスト選択回路３ａによってどのストリーム解析回路からの入力が処理されるかが決定された後、処理部選択回路５によって、複数の暗号演算回路６ａ1 ，６ａ2 のうちどの暗号演算回路によって前記ストリームを処理するかが決定される。
【００７５】
このとき、実施の形態２に示したように、その時点で入力可能な暗号演算回路の中から、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在する場合、その暗号演算回路を優先して選択する（ステップＳ３３）。
【００７６】
さらに、処理しようとしているストリームに対応したコンテキストＩＤのコンテキストを記憶している暗号演算回路が存在しなかった場合、実施の形態３においては、前記複数の暗号演算回路の中から、最も長い間ストリームの処理を行っていない暗号演算回路を優先して選択することとする。
【００７７】
図１３に、本実施の形態３における２つの暗号演算回路の処理の割り当て・動作例を示す。時刻ｔ１にコンテキストＢに対応したストリームの処理リクエストがあった場合、処理部選択回路５は、コンテキストＢを保持している暗号演算回路が存在しないため、それぞれの暗号演算回路が処理を行っていない期間ａ１，ｂ１の関係が、ａ１＜ｂ１なので、暗号演算回路＃１を選択し、暗号演算回路＃１で処理が行われる（Ｐ６）。一方、時刻ｔ２においてコンテキストＣに対応したストリームの処理リクエストがあった場合、処理部選択回路５は、コンテキストＣを保持している暗号演算回路が存在しないため、それぞれの暗号演算回路が処理を行っていない期間ａ２，ｂ２の関係が、ａ２＞ｂ２なので、暗号演算回路＃０を選択し、暗号演算回路＃０で処理が行われる（Ｑ３）。さらに、時刻ｔ３にコンテキストＢに対応したストリームの処理リクエストがあった場合、処理部選択回路５は、暗号演算回路＃１がコンテキストＢを保持しているため、暗号演算回路＃１を選択する。この際、暗号演算回路＃１では同一のコンテキストにより処理を行えるため、コンテキスト切換が発生しない。
【００７８】
あるストリームが、断続的だが時間を空けずに入力されることが想定される場合、本実施の形態に示した暗号演算回路の選択方法をとることにより、最近に使用したコンテキストを暗号演算回路に保持したままにしておくことができるため、コンテキスト切換回数を削減し、処理の高速化を図ることができる。
【００７９】
（実施の形態４）
本発明の実施の形態４における機密情報処理装置Ａ１の構成については、実施の形態１の場合の図２が援用される。各構成要素は、実施の形態１と同じであり、処理部選択回路５の動作のみが異なる。
【００８０】
機密情報処理装置Ａ１において、複数の暗号演算回路を備えた暗号アルゴリズムでの処理を要求するストリームが入力された場合（ＡＥＳによる処理を要求するストリームが入力された場合）、リクエスト選択回路３ａによってどのストリーム解析回路からの入力が処理されるかが決定された後、処理部選択回路５によって、複数の暗号演算回路６ａ1 ，６ａ2 のうちどの暗号演算回路によって前記ストリームを処理するかが決定される。
【００８１】
この際、本実施の形態においては、図１４に示すように、コンテキストＩＤと前記コンテキストＩＤに対応したストリームを処理する暗号演算回路の暗号演算回路ＩＤとの対応を示した回路ＩＤ対応テーブルＴ１１を処理部選択回路５が保持し、処理を要求しているストリームに対応したコンテキストのＩＤによって回路ＩＤ対応テーブルＴ１１を引くことにより、処理を行う暗号演算回路を決定するものとする。
【００８２】
図１５に本実施の形態の処理を適用しない比較例の場合の２つの暗号演算回路の処理の割り当て・動作例を示す。この場合、時刻ｔ１，ｔ２，ｔ３のリクエストのたびに、コンテキスト切換が生じている。
【００８３】
一方、図１６に本実施の形態における２つの暗号演算回路の処理の割り当て・動作例を示す。図１６においては、時刻ｔ１のリクエストの際は、ストリームに対応したコンテキストのＩＤが“１”であり、回路ＩＤ対応テーブルＴ１１より、暗号演算回路ＩＤ＝“１”の暗号演算回路で処理が行われ、時刻ｔ２におけるリクエストの際は、ストリームに対応したコンテキストＩＤが“３”であり、回路ＩＤ対応テーブルＴ１１より、暗号演算回路ＩＤ＝“１”の暗号演算回路で処理が行われ、時刻ｔ３におけるリクエストの際は、ストリームに対応したコンテキストＩＤが“０”であり、回路ＩＤ対応テーブルＴ１１より、暗号演算回路ＩＤ＝“０”の暗号演算回路で処理が行われる。この際、暗号演算回路＃０においては、同一のコンテキストを使用することが可能となるため、コンテキスト切換が起こらず、処理の高速化が可能となる。
【００８４】
ある３つのコンテキストを使用するストリームが、交互に入力されることが想定される場合や、特定のコンテキスト間に相関がある場合などは、本実施の形態に示した暗号演算回路の選択方法を用いることにより、コンテキスト切換回数を削減し、処理の高速化を図ることが可能となる。
【００８５】
（実施の形態５）
本発明の実施の形態５における機密情報処理装置Ａ１の構成については、実施の形態１の場合の図２が援用される。各構成要素は、実施の形態１と同じであり、処理部選択回路５の動作のみが異なる。
【００８６】
機密情報処理装置Ａ１において、複数の暗号演算回路を備えた暗号アルゴリズムでの処理を要求するストリームが入力された場合（ＡＥＳによる処理を要求するストリームが入力された場合）、リクエスト選択回路３ａによってどのストリーム解析回路からの入力が処理されるかが決定された後、処理部選択回路５によって、複数の暗号演算回路６ａ1 ，６ａ2 のうちどの暗号演算回路によって前記ストリームを処理するかが決定される。
【００８７】
この際、本実施の形態においては、図１７に示すように、コンテキストＩＤと前回そのコンテキストＩＤに対応したストリームを処理した暗号演算回路の暗号演算回路ＩＤとの対応を示した処理回路履歴テーブルＴ１２を処理部選択回路５が保持し、処理を要求しているストリームに対応したコンテキストのＩＤによって処理回路履歴テーブルＴ１２を引くことにより、処理を行う暗号演算回路を決定するものとする。
【００８８】
図１８に本実施の形態の処理を適用しない比較例の場合の２つの暗号演算回路の処理の割り当て・動作例を示す。この場合、時刻ｔ１，ｔ２，ｔ３，ｔ４のリクエストのたびに、コンテキスト切換が生じている。
【００８９】
一方、図１９に本実施の形態における２つの暗号演算回路の処理の割り当て・動作例を示す。図１９においては、時刻ｔ１のリクエストの際は、ストリームに対応したコンテキストのＩＤが“１”であり、処理回路履歴テーブルＴ１２より、暗号演算回路ＩＤ＝“１”の暗号演算回路で処理が行われ、時刻ｔ２におけるリクエストの際は、ストリームに対応したコンテキストＩＤが“２”であり、処理回路履歴テーブルＴ１２より、暗号演算回路ＩＤ＝“０”の暗号演算回路で処理が行われ、時刻ｔ３におけるリクエストの際は、ストリームに対応したコンテキストＩＤが“０”であり、処理回路履歴テーブルＴ１２より、暗号演算回路ＩＤ＝“０”の暗号演算回路で処理が行われ、時刻ｔ４におけるリクエストの際は、ストリームに対応したコンテキストＩＤが“１”であり、処理回路履歴テーブルＴ１２より、暗号演算回路ＩＤ＝“１”の暗号演算回路で処理が行われる。この際、暗号演算回路＃１においては、同一のコンテキストを使用することが可能となるため、コンテキスト切換が起こらず、処理の高速化が可能となる。
【００９０】
輻輳するストリームの数が少ない場合や、断続的に入力されるストリームの間隔が短い場合などに、本実施の形態に示した暗号演算回路の選択方法を用いることにより、コンテキスト切換回数を削減し、処理の高速化を図ることが可能となる。
【００９１】
（実施の形態６）
本発明の実施の形態６における機密情報処理装置Ａ１の構成については、実施の形態１の場合の図２が援用される。各構成要素は、実施の形態１と同じであり、処理部選択回路５の動作のみが異なる。
【００９２】
機密情報処理装置Ａ１において、複数の暗号演算回路を備えた暗号アルゴリズムでの処理を要求するストリームが入力された場合（ＡＥＳによる処理を要求するストリームが入力された場合）、リクエスト選択回路３ａによってどのストリーム解析回路からの入力が処理されるかが決定された後、処理部選択回路５によって、複数の暗号演算回路６ａ1 ，６ａ2 のうちどの暗号演算回路によって前記ストリームを処理するかが決定される。
【００９３】
この際、本実施の形態においては、図２０に示すように、リクエスト選択回路によって選択されたリクエストを行っているストリーム解析回路とそのリクエストを処理する暗号演算回路の暗号演算回路ＩＤとの対応を示した解析回路対応テーブルＴ１３を処理部選択回路５が保持し、処理を要求しているストリーム解析回路によって解析回路対応テーブルＴ１３を引くことにより、処理を行う暗号演算回路を決定するものとする。
【００９４】
ここでコンテキストＩＤ＝“０”、コンテキストＩＤ２に対応するストリームがストリーム解析回路２ａから、コンテキストＩＤ＝“１”、コンテキストＩＤ３に対応するストリームがストリーム解析回路２ｂから入力されるものとする。
【００９５】
図２１に本実施の形態の処理を適用しない比較例の場合の２つの暗号演算回路の処理の割り当て・動作例を示す。この場合、時刻ｔ１，ｔ２，ｔ３，ｔ４のリクエストのたびに、コンテキスト切換が生じている。
【００９６】
一方、図２２に本実施の形態における２つの暗号演算回路の処理の割り当て・動作例を示す。図２２においては、時刻ｔ１のリクエストの際は、ストリーム解析回路２ａのリクエストが選択されており、解析回路対応テーブルＴ１３より、暗号演算回路ＩＤ＝“１”の暗号演算回路で処理が行われ、時刻ｔ２におけるリクエストの際は、ストリーム解析回路２ｂのリクエストが選択されており、解析回路対応テーブルＴ１３より、暗号演算回路ＩＤ＝“０”の暗号演算回路で処理が行われ、時刻ｔ３におけるリクエストの際は、ストリーム解析回路２ａのリクエストが選択されており、解析回路対応テーブルＴ１３より、暗号演算回路ＩＤ＝“０”の暗号演算回路で処理が行われ、時刻ｔ４におけるリクエストの際は、ストリーム解析回路２ｂのリクエストが選択されており、解析回路対応テーブルＴ１３より、暗号演算回路ＩＤ＝“１”の暗号演算回路で処理が行われる。この際、暗号演算回路＃１においては、同一のコンテキストを使用することが可能となるため、コンテキスト切換が起こらず、処理の高速化が可能となる。
【００９７】
特定のマスタからのストリームが特定のストリーム解析回路に出力される場合や、特定のアプリケーションで使用されるストリームが特定のストリーム解析回路に出力される場合など、ストリームの特徴と入力されるストリーム解析回路との間に相関がある場合は、本実施の形態に示した暗号演算回路の選択方法を用いることにより、コンテキスト切換回数を削減し、処理の高速化を図ることが可能となる。
【００９８】
（実施の形態７）
図２３は、本発明の実施の形態７における機密情報処理機器Ａ２の構成を示したものである。
【００９９】
機密情報処理機器Ａ２は、送信部１１、受信部１２、機密情報処理装置１３、表示部１４を備える。ここに示す機密情報処理装置１３は、例えば実施の形態１〜実施の形態６に示した機密情報処理装置Ａ１である。
【０１００】
機密情報処理機器Ａ２は、ネットワーク、放送、ＤＶＤやＳＤカードやＨＤＤなどの各種記憶媒体から受信部１２においてストリームを受信し、機密情報処理装置１３で暗号処理を行い、結果を表示部１４によって表示あるいは、送信部１１によってネットワーク、放送、各種記憶媒体へ送信する。
【０１０１】
機密情報処理機器Ａ２を用いることにより、著作権保護されたストリームなど、暗号処理を必要とするストリームが輻輳した場合にも、高速に処理をすることが可能な機器を実現することが可能となる。
【０１０２】
なお、各実施の形態では、暗号演算回路としてＡＥＳに対応したものを２個と、ＤＥＳに対応したもの１個を備えたが、これは一例であり、他の秘密鍵暗号アルゴリズムに対応する暗号演算回路を備えていても構わないし、他の秘密鍵暗号アルゴリズムに対応する暗号演算回路を複数個備えていても構わない。
【０１０３】
また、秘密鍵暗号アルゴリズムでなく、ＳＨＡ（Secure Hash Algorithm）などのハッシュアルゴリズムに対応した暗号演算回路を備えていても構わない。この場合、ハッシュ演算を要求するストリームの入力が輻輳したときに、特別なソフトウェア改変を行うことなく、ハッシュ演算を高速処理することが可能である。なお、複数の暗号演算回路が対応した暗号アルゴリズムが複数ある場合は、処理部選択回路５をその暗号アルゴリズムの数に合わせて備えるものとする。
【０１０４】
なお、各暗号演算回路で行う暗号処理のモードは、ＣＢＣ、ＥＣＢ、Ｘ−ＣＢＣ-ＭＡＣ、ＯＦＢ、ＣＴＲなど任意のものであっても構わない。
【０１０５】
なお、各実施の形態では、ストリーム解析回路の数を２個としているが、３個以上あっても構わない。
【０１０６】
なお、各実施の形態では、リクエスト選択回路、処理部選択回路、データ中継回路をそれぞれ専用ハードウェアとしているが、コントローラとμコードおよびバスによってこれらの機能を実現しても構わない。
【産業上の利用可能性】
【０１０７】
本発明にかかる機密情報処理装置は、暗号化・復号化を要求するストリームが輻輳した場合でも高速に処理することが可能であるため、著作権保護されたストリームを処理する携帯機器、ＴＶ、レコーダー、プレーヤなどに有用である。
【図面の簡単な説明】
【０１０８】
【図１】本発明の実施の形態１における機密情報処理装置の構成を示すブロック図
【図２】本発明の実施の形態１における機密情報処理装置の具体例での構成を示すブロック図
【図３】本発明の実施の形態１における機密情報処理装置の暗号アルゴリズムＩＤテーブルの構成図
【図４】本発明の実施の形態１における機密情報処理装置の暗号演算回路ＩＤテーブルの構成図
【図５】本発明の実施の形態１における機密情報処理装置の暗号アルゴリズムＩＤ・暗号演算回路ＩＤテーブルの構成図
【図６】本発明の実施の形態１における機密情報処理装置の動作を示すフローチャート（その１）
【図７】本発明の実施の形態１における機密情報処理装置の動作を示すフローチャート（その２）
【図８】本発明の実施の形態１におけるストリームの流れを示す図
【図９】本発明の実施の形態２における機密情報処理装置の動作を示すフローチャート（その１）
【図１０】本発明の実施の形態２における機密情報処理装置の動作を示すフローチャート（その２）
【図１１】本発明の実施の形態２の処理を適用しない比較例の場合の処理状況を示す図
【図１２】本発明の実施の形態２における機密情報処理装置の処理状況を示す図
【図１３】本発明の実施の形態３における機密情報処理装置の処理状況を示す図
【図１４】本発明の実施の形態４における回路ＩＤ対応テーブル
【図１５】本発明の実施の形態４の処理を適用しない比較例の場合の処理状況を示す図
【図１６】本発明の実施の形態４における機密情報処理装置の処理状況を示す図
【図１７】本発明の実施の形態５における処理回路履歴テーブル
【図１８】本発明の実施の形態５の処理を適用しない比較例の場合の処理状況を示す図
【図１９】本発明の実施の形態５における機密情報処理装置の処理状況を示す図
【図２０】本発明の実施の形態６における解析回路対応テーブル
【図２１】本発明の実施の形態６の処理を適用しない比較例の場合の処理状況を示す図
【図２２】本発明の実施の形態６における機密情報処理装置の処理状況を示す図
【図２３】本発明の実施の形態７における機密情報処理機器Ａ２の構成を示すブロック図
【図２４】先行技術の機密情報処理装置の構成を示すブロック図
【図２５】先行技術の改善案における機密情報処理装置の構成を示すブロック図
【符号の説明】
【０１０９】
１  ストリーム制御回路
２ａ，２ｂ  ストリーム解析回路
３ａ，３ｂ，３ｃ  リクエスト選択回路
４ａ1 ，４ａ2，４ｃ  データ中継回路
５  処理部選択回路
６ａ1 ，６ａ2 ，６ｃ  暗号演算回路
７  コンテキスト制御回路
８  コンテキスト保存部
Ａ１  機密情報処理装置
Ａ２  機密情報処理機器
ＴＣ  コンテキスト対応テーブル
【図１】
2008306642.tif 000003
【図２】
2008306642.tif 000004
【図３】
2008306642.tif 000005
【図４】
2008306642.tif 000006
【図５】
2008306642.tif 000007
【図６】
2008306642.tif 000008
【図７】
2008306642.tif 000009
【図８】
2008306642.tif 000010
【図９】
2008306642.tif 000011
【図１０】
2008306642.tif 000012
【図１１】
2008306642.tif 000013
【図１２】
2008306642.tif 000014
【図１３】
2008306642.tif 000015
【図１４】
2008306642.tif 000016
【図１５】
2008306642.tif 000017
【図１６】
2008306642.tif 000018
【図１７】
2008306642.tif 000019
【図１８】
2008306642.tif 000020
【図１９】
2008306642.tif 000021
【図２０】
2008306642.tif 000022
【図２１】
2008306642.tif 000023
【図２２】
2008306642.tif 000024
【図２３】
2008306642.tif 000025
【図２４】
2008306642.tif 000026
【図２５】
2008306642.tif 000027