(57)【要約】【課題】キースケジューリングのオーバーヘッドをなくす。【解決手段】暗号化用あるいは復号化用のキーデータからラウンドキーデータを形成するキースケジューリング回路１２と、このキースケジューリング回路１２により形成されたラウンドキーデータを所定のバンクに保存するバンクメモリ１３とを設ける。バンクに保存されたラウンドキーデータと、平文データあるいは暗号文データとが１ブロック分ずつ供給されて平文データあるいは暗号文データの暗号化処理あるいは復号化処理を実行する暗号化回路１１を設ける。暗号化回路１１から暗号化処理あるいは復号化処理の結果を取り出す。【選択図】　　　　図１
2004133087.tif 000002
【特許請求の範囲】
【請求項１】
暗号化用あるいは復号化用のキーデータをキースケジューリング回路に供給してラウンドキーデータを形成し、
この形成されたラウンドキーデータをバンクメモリの所定のバンクに保存し、このバンクに保存されたラウンドキーデータを暗号化回路に供給するとともに、
平文データあるいは暗号文データを１ブロックずつ上記暗号化回路に供給して暗号化処理あるいは復号化処理を実行し、
この実行結果を取り出す
ようにしたブロック暗号方法。
【請求項２】
復号化用のキーデータをキースケジューリング回路に供給してラウンドキーデータを形成し、
この形成されたラウンドキーデータをバンクメモリの第１のバンクに保存し、暗号化用のキーデータを上記キースケジューリング回路に供給してラウンドキーデータを形成し、
この形成されたラウンドキーデータを上記バンクメモリの第２のバンクに保存し、
上記第１のバンクに保存されたラウンドキーデータを暗号化回路に供給するとともに、
暗号文データの１ブロックを上記暗号化回路に供給して平文データの１ブロックを復号化し、
この復号化された平文データの１ブロックと、上記第２のバンクに保存されたラウンドキーデータの１ラウンド分とを上記暗号化回路に供給して再暗号化された暗号文データの１ブロックを取り出し、
以後、上記復号化と、上記再暗号化とを１ブロックごとに繰り返す
ようにしたブロック暗号方法。
【請求項３】
暗号化用あるいは復号化用のキーデータからラウンドキーデータを形成するキースケジューリング回路と、
このキースケジューリング回路により形成された上記ラウンドキーデータを所定のバンクに保存するバンクメモリと、
上記バンクに保存されたラウンドキーデータと、平文データあるいは暗号文データとが１ブロック分ずつ供給されて上記平文データあるいは暗号文データの暗号化処理あるいは復号化処理を実行する暗号化回路と
を有し、
この暗号化回路から上記暗号化処理あるいは復号化処理の結果を取り出す
ようにしたブロック暗号回路。
【請求項４】
請求項３に記載のブロック暗号回路において、
復号化用のキーデータを上記キースケジューリング回路に供給して復号化用のラウンドキーデータを形成し、
この形成された復号化用のラウンドキーデータを上記バンクメモリの第１のバンクに保存し、
暗号化用のキーデータを上記キースケジューリング回路に供給して暗号化用のラウンドキーデータを形成し、
この形成された暗号化用のラウンドキーデータを上記バンクメモリの第２のバンクに保存し、
上記第１のバンクに保存された復号化用のラウンドキーデータを上記暗号化回路に供給するとともに、
暗号文データの１ブロックを上記暗号化回路に供給して平文データの１ブロックを復号化し、
この復号化された平文データの１ブロックと、上記第２のバンクに保存された暗号化用のラウンドキーデータの１ラウンド分とを上記暗号化回路に供給して再暗号化された暗号文データの１ブロックを取り出し、
以後、上記復号化と、上記再暗号化とを１ブロックごとに繰り返す
ようにしたブロック暗号回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ブロック暗号方法およびブロック暗号回路に関する。
【０００２】
【従来の技術】
平文データを暗号化する暗号回路の１つとして、ＡＥＳ方式のブロック暗号回路がある。このＡＥＳブロック暗号回路は、平文データを例えば１２８ビットごとに１ブロックとし、その１ブロックごとにラウンドキーデータにより暗号化を行うように構成されている。なお、このとき、ラウンドキーデータは、暗号化用のキーデータからキースケジューリングにより形成される（例えば、非特許文献１参照）。
【０００３】
したがって、暗号文データを再暗号化（もとの暗号文データを、対応するラウンドキーデータにより平文データに復号化し、その平文データを、別のラウンドキーデータにより再び暗号文データに暗号化すること）する場合には、以下に示すような処理の流れとなる。
【０００４】
すなわち、図４に示すように、
１　ホストコンピュータ１に、もとの暗号文データと、復号化用のキーデータと、暗号化用のキーデータとを用意する。
２　ホストコンピュータ１からキースケジューリング回路２に、復号化用のキーデータを転送してキースケジューリング処理を行い、復号化用のラウンドキーデータを作成する。
３　ホストコンピュータ１から暗号回路３に暗号文データの１ブロックを転送し、２項で作成したラウンドキーデータにより平文データに復号化する。
４　ホストコンピュータ１からキースケジューリング回路２に、暗号化用のキーデータを転送してキースケジューリング処理を行い、暗号化用のラウンドキーデータを作成する。
５　３項で作成された平文データを、４項で作成したラウンドキーデータにより暗号文データに暗号化する。
６　５項で得られた再暗号文データをホストコンピュータ１に返送する。
７　２〜６項の処理を、もとの暗号文データの１ブロックごとに繰り返す。
【０００５】
また、マルチタスクＯＳなどにおいて、１つの暗号回路を２つのタスクから利用する場合も、同様にキースケジューリング処理により各タスクごとにそれぞれのラウンドキーデータを作成して暗号化処理や復号化処理を行う必要がある。
【０００６】
【非特許文献１】
「ＡＥＳ　概説」、［ｏｎｌｉｎｅ］、２００２年６月１１日、名古屋工業大学電気情報工学科岩田研究室、［２００２年１０月８日検索］、インターネット〔ＵＲＬ：ｈｔｔｐ：／／ｍａｒｓ．ｅｌｃｏｍ．ｎｉｔｅｃｈ．ａｃ．ｊｐ／ｓｅｃｕｒｉｔｙ／ａｅｓ．ｈｔｍｌ〕
【０００７】
【発明が解決しようとする課題】
ところが、一般に、キースケジューリング処理は、暗号化や復号化の２倍程度の処理時間を必要とするので、２項や４項のように、各ブロックごとにキースケジューリング処理を実行したり、マルチタスクにおいて、各タスクごとにキースケジューリング処理を実行したりすると、かなりのオーバーヘッドになってしまい、全体として暗号化や復号化の速度が低下してしまう。
【０００８】
この発明は、このような問題点を解決しようとするものである。
【０００９】
【課題を解決するための手段】
この発明においては、例えば、
暗号化用あるいは復号化用のキーデータをキースケジューリング回路に供給してラウンドキーデータを形成し、
この形成されたラウンドキーデータをバンクメモリの所定のバンクに保存し、このバンクに保存されたラウンドキーデータを１ラウンド分ずつ暗号化回路に供給するとともに、
平文データあるいは暗号文データを１ブロックずつ上記暗号化回路に供給して暗号化処理あるいは復号化処理を実行し、
この実行結果を取り出す
ようにしたブロック暗号方法
とするものである。
したがって、キースケジューリングによるオーバーヘッドがなくなり、全体として高速となる。
【００１０】
【発明の実施の形態】
▲１▼−１　ブロック暗号回路１０の構成
図１において、符号１０は、この発明によるブロック暗号回路を全体として示し、符号２０は、暗号回路１０を使用するホストコンピュータを示す。そして、この例における暗号回路１０は、暗号文データの再暗号化を高速に実行できるようにした場合である。
【００１１】
このため、ホストコンピュータ２０のメモリ２３には、再暗号化される暗号文データと、その暗号文データを平文データに復号化するためのキーデータと、その平文データを再び暗号文データに暗号化するための別のキーデータとが用意されている。なお、例えば、もとの暗号文データの１ブロックは１２８ビットであり、暗号化用および復号化用の各キーデータも１２８ビットである。
【００１２】
そして、暗号回路１０には、２つのモードが用意され、その第１のモードでは、復号化用のキーデータから復号化用のラウンドキーデータが形成されてメモリに保存されるとともに、暗号化用のキーデータから暗号化用のラウンドキーデータが形成されてメモリに保存される。さらに、第２のモードでは、第１のモードでメモリに保存されたラウンドキーデータを使用して暗号文データの平文データへの復号化と、その平文データの再暗号化とが、１ブロックずつ交互に実行される。
【００１３】
すなわち、暗号回路１０は、暗号化回路１１と、キースケジューリング回路１２とを有する。この場合、暗号化回路１１は、暗号文データの１ブロックを復号化用のラウンドキーデータにより平文データに復号化する処理と、平文データの１ブロックを暗号化用のラウンドキーデータにより暗号文データに暗号化する処理とを実行するものである。さらに、キースケジューリング回路１２は、復号化用のキーデータから復号化用のラウンドキーデータを作成し、また、暗号化用のキーデータから暗号化用のラウンドキーデータを作成するものである。
【００１４】
そして、これら暗号化回路１１およびキースケジューリング回路１２は、ブロック暗号回路１０の内部バス１９に接続され、このバス１９はホストコンピュータ２０に接続される。
【００１５】
さらに、暗号回路１０において、バス１９にレジスタ１５が接続され、このレジスタ１５にモードフラグＭＦＬＧが用意される。このモードフラグＭＦＬＧは、コンピュータ２０により設定されるとともに、暗号化回路１１およびキースケジューリング回路１２にそれらの動作の制御信号として供給され、暗号化回路１１およびキースケジューリング回路１２は、
ＭＦＬＧ＝“０”のとき、暗号化回路１１の動作を禁止、かつ、キースケジューリング回路１２の動作を許可
ＭＦＬＧ＝“１”のとき、暗号化回路１１の動作を許可、かつ、キースケジューリング回路１２の動作を禁止
のように制御される。
【００１６】
また、暗号回路１０は、バンクメモリ１３と、レジスタ１４とを有する。この場合、バンクメモリ１３は、２つのバンク＃０、＃１を有し、キースケジューリング回路１２の形成した暗号化用および復号化用のラウンドキーデータを、バンク＃０および＃１にそれぞれ保存するものである。このため、レジスタ１５に切り換えフラグＢＮＫＦが用意され、この切り換えフラグＢＮＫＦが、コンピュータ２０により設定されるとともに、メモリ１３にバンク切り換えの制御信号として供給され、メモリ１３は、
ＢＮＫＦ＝“０”のとき、バンク＃０が有効、かつ、バンク＃１が無効
ＢＮＫＦ＝“１”のとき、バンク＃０が無効、かつ、バンク＃１が有効
のように制御される。
【００１７】
さらに、暗号回路１０には、メモリコントロール回路１６が設けられ、このメモリコントロール回路１６により、バンクメモリ１３に対するラウンドキーデータの書き込み・読み出しおよびそのアドレスなどが制御される。
【００１８】
そして、このバンクメモリ１３の出力がレジスタ１４にいったん保持されてから暗号化回路１１にラウンドキーデータとして供給される。
【００１９】
さらに、レジスタ１５の切り換えフラグＢＮＫＦが、暗号化回路１１に、暗号化処理と復号化処理の切り換え制御信号として供給され、暗号化回路１１は、
ＢＮＫＦ＝“０”のとき、復号化処理
ＢＮＫＦ＝“１”のとき、暗号化処理
を実行するように制御される。
【００２０】
そして、暗号回路１０は、ホストコンピュータ２０に用意されている暗号文データを再暗号化処理するとき、例えば図２のフローチャート１００に示すような流れで、その処理を実行するものである。これを以下に説明する。
【００２１】
▲１▼−２　ブロック暗号回路１０による再暗号化処理
暗号文データを再暗号化する場合には、処理はフローチャート１００のステップ１０１からスタートし、次にステップ１０２として示すように、コンピュータ２０によりレジスタ１６のフラグＭＦＬＧ、ＢＮＫＦは“０”レベルにセットされる。したがって、モードフラグＭＦＬＧによりキースケジューリング回路１２の動作は許可、暗号化回路１１の動作は禁止とされるとともに、切り換えフラグＢＮＫＦによりバンク＃０が有効、バンク＃１が無効とされる。
【００２２】
次に、コンピュータ２０は、モードフラグＭＦＬＧを“０”レベルにセットしているので、ステップ１０３として示すように、コンピュータ２０は、メモリ２３に用意されているキーデータのうち、復号化用のキーデータをキースケジューリング回路１２に転送する。続いて、ステップ１０４として示すように、キースケジューリング回路１２において、ステップ１０３により転送されたキーデータからラウンドキーデータが形成される。今の場合は、ＢＮＫＦ＝“０”なので、復号用のラウンドキーデータが形成される。
【００２３】
そして、ステップ１０５として示すように、ステップ１０４で形成されたラウンドキーデータが、メモリコントロール回路１６によりメモリ１３に転送され、今の場合、ステップ１０２によりメモリ１３はバンク＃０が有効とされているので、バンク＃０に書き込まれる。続いて、ステップ１０６として示すように、切り換えフラグＢＮＫＦのレベルが判別され、今の場合、ＢＮＫＦ＝“０”なので、処理の流れはステップ１０６からステップ１０７に進み、このステップ１０７において、レジスタ１５の切り換えフラグＢＮＫＦは、コンピュータ２０により“１”レベルにセットされ、その後、処理の流れはステップ１０３に戻る。
【００２４】
したがって、以後、ＢＮＫＦ＝“１”に対応して、メモリ２３のキーデータのうち、暗号化用のキーデータがキースケジューリング回路１２に転送され（ステップ１０３）、このキーデータから暗号化用のラウンドキーデータが形成され（ステップ１０４）、このラウンドキーデータがメモリ１３のバンク＃１に書き込まれる（ステップ１０５）。そして、ステップ１０６において、ＢＮＫＦ＝“１”なので、処理の流れはステップ１０６からステップ１１１に進む。このとき、メモリ１３のバンク＃０には復号用化のラウンドキーデータが用意され、＃１には再暗号化用のラウンドキーデータが用意されていることになる。
【００２５】
そして、ステップ１１１において、レジスタ１５のモードフラグＭＦＬＧが“１”レベルにセットされ、したがって、モードフラグＭＦＬＧによりキースケジューリング回路１２の動作は禁止、暗号化回路１１の動作は許可とされる。次にステップ１１２として示すように、切り換えフラグＢＮＫＦが“０”レベルにセットされてバンク＃０が有効、バンク＃１が無効とされるとともに、暗号化回路１１は復号化処理を実行するように設定される。
【００２６】
続いて、ステップ１１３として示すように、バンク＃０、＃１のうち、有効とされているバンクのラウンドキーデータ、今の場合、バンク＃０のラウンドキーデータがレジスタ１４を通じて暗号化回路１１に供給される。さらに、ステップ１１４として示すように、コンピュータ２０のメモリ２３に用意されている暗号文データのうち、第ｎ番目のブロック、今の場合、第１番目のブロックが暗号化回路１１に転送される。したがって、このとき、ＢＮＫＦ＝“０”なので、ステップ１１５として示すように、暗号化回路１１において、ステップ１１３で供給されたラウンドキーデータによりステップ１１４で転送された暗号文データのブロックが平文データに復号化される。
【００２７】
次に、ステップ１１６として示すように、ステップ１１５により復号化された平文データのブロックがコンピュータ２０のメモリ２３に返送され、続いて、ステップ１１７として示すように、メモリ２３のすべての暗号文データの処理を終了したかどうかが判別され、今の場合、終了していないので、処理の流れはステップ１１７からステップ１１８に進む。
【００２８】
そして、ステップ１１８においては、切り換えフラグＢＮＫＦがチェックされ、今の場合、ステップ１１２によりＢＮＫＦ＝“０”なので、処理の流れはステップ１１８からステップ１１９に進み、このステップ１１９において、レジスタ１５の切り換えフラグＢＮＫＦは“１”レベルにセットされ、その後、処理の流れはステップ１１３に戻る。
【００２９】
したがって、再びステップ１１３〜１１６が繰り返されるが、今の場合、ＢＮＫＦ＝“１”なので、メモリ１３はバンク＃１が有効であり、復号用のラウンドキーデータが取り出されて暗号化回路１１に供給される（ステップ１１３）。また、コンピュータ２０のメモリ２３からは直前にステップ１１５で復号化された平文データのブロックが暗号化回路１１に供給される（ステップ１１４）。そして、ＢＮＫＦ＝“１”なので、暗号化回路１１においては、暗号化が実行される（ステップ１１５）。したがって、もとの暗号文データの第１のブロックが再暗号化されたことになり、この再暗号化された暗号文データのブロックがコンピュータ２０に返送されてメモリ２３に書き込まれる（ステップ１１６）。
【００３０】
そして、今の場合、まだ、１ブロックしか再暗号化がされていないので、処理の流れはステップ１１７からステップ１１８に進むが、ＢＮＫＦ＝“１”なので、処理の流れはステップ１１８からステップ１１２に戻る。
【００３１】
したがって、以後、ステップ１１１〜１１９により、上述のように、メモリ２３の暗号文データの第２番目のブロックに対して、平文データへの復号化および平文データから暗号分データへの再暗号化が、ブロック単位で実行されることになる。また、そのとき、平文データへの復号化および平文データから暗号分データへの再暗号化は、ステップ１０１〜１０５によりメモリ１３のバンク＃０、＃１に用意された復号化用のラウンドキーデータおよび暗号化用のラウンドキーデータを使用して実行される。
【００３２】
そして、メモリ２３のすべての暗号文データが再暗号化されると、処理の流れはステップ１１７からステップ１２１に進み、フローチャート１００の処理を終了する。
【００３３】
こうして、メモリ２３に用意された暗号文データは再暗号化される。そして、この場合、その再暗号化には、復号化用のラウンドキーデータおよび暗号化用のラウンドキーデータが必要であるが、そのラウンドキーデータは、メモリ１３のバンク＃０、＃１にあらかじめ用意するので、キースケジューリングは復号化用および再暗号化用にそれぞれ１回実行するだけでよく、したがって、暗号文データの再暗号化に必要な時間を大幅に短縮することができ、全体としての速度を向上させることができる。
【００３４】
▲２▼　記録再生装置
図３は、この発明をＣＤ−Ｒ／ＲＷ記録再生装置に適用した場合の一形態を示す。
【００３５】
すなわち、符号３１はオーディオ信号の信号源、例えばマイクロフォン、符号３２はオーディオ信号の出力先、例えばスピーカ３２を示し、これらはオーディオインターフェイス回路３３を通じて後述するマイクロコンピュータ４０のシステムバス４９に接続される。さらに、このシステムバス４９には、ディスクインターフェイス回路３４を通じてディスクドライブ装置３５が接続され、このドライブ装置３５に、ＣＤ−ＲあるいはＣＤ−ＲＷなどのディスク３６がセットされる。
【００３６】
そして、マイクロコンピュータ４０は、▲１▼におけるコンピュータ２０に対応するとともに、この記録再生装置全体の動作を制御するシステムコントロール回路を構成するものである。そして、このマイクロコンピュータ４０は、ＣＰＵ４１、各種のプログラムおよびデータの書き込まれたＲＯＭ４２、ワークエリア用のＲＡＭ４３を有し、これらがシステムバス４９に接続される。さらに、▲１▼において説明した暗号回路１０が、その内部バス１９を通じてシステムバス４９に接続される。なお、ＲＡＭ４３は、その一部のアドレスエリアがメモリ２３として使用される。
【００３７】
さらに、ユーザインターフェイスとして、各種の操作キー４４およびディスプレイ、例えばＬＣＤ４５もシステムバス４９に接続される。また、システムバス４９には、外部インターフェイスとしてＵＳＢインターフェイス回路４６が接続され、このＵＳＢインターフェイス回路４６に、外部機器として例えばパーソナルコンピュータ５０が接続される。
【００３８】
そして、記録時および再生時には、暗号化処理あるいは復号化処理の有無に対応して以下のような処理が実行される。
【００３９】
▲２▼−１　通常の記録
暗号化を必要としない記録時には、マイクロフォン３１からのオーディオ信号がインターフェイス回路３３に供給されてデジタルオーディオデータにＡ／Ｄ変換され、このデジタルオーディオデータが、システムバス４９を通じてディスクインターフェイス回路３４に供給されてエラー訂正用のエンコード処理および記録用のＥＦＭ変調処理が行われる。そして、このエンコード処理および変調処理の行われた信号が、ディスクドライブ装置３５に供給され、ディスク３６に記録される。
【００４０】
▲２▼−２　通常の再生
ドライブ装置３５によりディスク３６から信号が再生され、この再生信号がディスクインターフェイス回路３４に供給されて記録時とは相補の処理、すなわち、ＥＦＭ復調処理およびエラー訂正用のデコード処理が行われ、もとのデジタルオーディオデータが取り出される。そして、このデジタルオーディオデータが、システムバス４９を通じてインターフェイス回路３３に供給されてアナログのオーディオ信号にＤ／Ａ変換され、このオーディオ信号がスピーカ３２に供給される。
【００４１】
なお、デジタルオーディオデータ以外のデジタルデータをディスク３６に対して記録あるいは再生する場合には、そのためのエンコード処理やデコード処理などが必要となるが、それらの処理もディスクインターフェイス回路３４において実行される。
【００４２】
▲２▼−３　オーディオ信号の暗号化および記録
オーディオ信号を暗号化してディスク３６に記録する場合には、マイクロフォン３１からのオーディオ信号がインターフェイス回路３３に供給されてデジタルオーディオデータにＡ／Ｄ変換され、このデジタルオーディオデータがＲＡＭ４３にいったんバッファリングされてから暗号回路１０に供給される。こうして、ＲＡＭ４３のデジタルオーディオデータは、暗号回路１０により例えば２Ｋバイトごとに▲１▼において説明したように暗号文データにブロック暗号化される。
【００４３】
そして、このＲＡＭ４３の暗号文データが、ディスクインターフェイス回路３４に供給されてエラー訂正用のエンコード処理および記録用のＥＦＭ変調処理が行われ、その後、ディスクドライブ装置３５に供給され、ディスク３６に記録される。
【００４４】
▲２▼−４　オーディオ信号の再生および復号化
ディスク３６に記録されているオーディオ信号を復号化して再生する場合には、ドライブ装置３５によりディスク３６から信号が再生され、この再生信号がディスクインターフェイス回路３４に供給されてもとの暗号データがデコードされて取り出される。そして、この暗号データが、ＲＡＭ４３にいったんバッファリングされてから例えば２Ｋバイトずつ暗号回路１０に供給され、▲１▼において説明したように、もとのデジタルオーディオデータにブロック復号化される。
【００４５】
そして、この復号化されたデジタルオーディオデータが、ＲＡＭ４３からインターフェイス回路３３に供給されてもとのアナログのオーディオ信号にＤ／Ａ変換され、このオーディオ信号がスピーカ３２に供給される。
【００４６】
▲２▼−５　オーディオ信号の再暗号化
これは、ディスク３６に暗号化されて記録されているオーディオ信号を再暗号化し、その再暗号化したデジタルオーディオデータを例えばパーソナルコンピュータ５０に出力する場合である。
【００４７】
すなわち、ディスク３６の再生が開始されると、▲２▼−４と同様、ディスク３６からの再生信号が、ディスクインターフェイス回路３４によりもとの暗号文データにデコードされて出力されるが、その暗号文データがＲＡＭ４３に順次書き込まれていく。そして、ディスク３６の例えば１セクタ分の暗号文データがＲＡＭ４３に書き込まれると、フローチャート１００の処理が実行されてＲＡＭ４３の暗号文データは再暗号化され、この再暗号文データがＵＳＢインターフェイス回路４６を通じてパーソナルコンピュータ５０が供給される。そして、以後、このような処理が、ディスク３６から１セクタ分の暗号文データが再生されるごとに繰り返される。
【００４８】
こうして、ディスク３６に暗号化されて記録されているオーディオ信号は再暗号化されてパーソナルコンピュータ５０に出力されるが、この場合、フローチャート１００の処理は、上述のように再暗号化をオーバーヘッドがないので、上記のようにディスク３６を再生しながらリアルタイムで処理を実行することができる。
【００４９】
▲３▼　その他
上述においては、暗号文データを再暗号化する場合であるが、マルチタスクＯＳなどにおいて、１つの暗号回路１０を２つのタスクから利用する場合には、ステップ１０２において、実行するタスクに対応して切り換えフラグＢＮＫＦを“０”レベルあるいは“１”レベルにセットしてステップ１０３〜１０５を実行し、続いてステップ１１１、１１３〜１１７を実行し、ステップ１１７からステップ１１３に戻るとともに、それらのステップにおいて、暗号化あるいは復号化に対応した処理を実行すればよい。さらに、３つ以上のタスクの場合も同様に、タスクごとにバンクメモリ１３のバンクを切り換えてステップ１０３〜１０５、１１１、１１３〜１１７を実行すればよい。
【００５０】
また、上述においては、暗号文データあるいは復号文データが１つのキーデータを持つ場合であるが、複数のキーデータを持ってもよい。さらに、暗号化回路１１は汎用のブロック暗号化回路であってもよく、暗号化回路１１にキースケジューリング回路１２が一体化されていてもよい。
【００５１】
〔この明細書で使用している略語の一覧〕
Ａ／Ｄ　　：Ａｎａｌｏｇ　ｔｏ　Ｄｉｇｉｔａｌ
ＡＥＳ　　：Ａｄｖａｎｃｅｄ　Ｅｎｃｒｙｐｔｉｏｎ　Ｓｔａｎｄａｒｄ
ＣＤ　　　：Ｃｏｍｐａｃｔ　Ｄｉｓｃ
ＣＤ−Ｒ　：ＣＤ　Ｒｅｃｏｒｄａｂｌｅ
ＣＤ−ＲＷ：ＣＤ　ＲｅＷｒｉｔａｂｌｅ
ＣＰＵ　　：Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ
Ｄ／Ａ　　：Ｄｉｇｉｔａｌ　ｔｏ　Ａｎａｌｏｇ
ＥＦＭ　　：Ｅｉｇｈｔ　ｔｏ　Ｆｏｕｒｔｅｅｎ　Ｍｏｄｕｌａｔｉｏｎ
Ｋ　　　　：１０２４
ＬＣＤ　　：Ｌｉｑｕｉｄ　Ｃｒｙｓｔａｌ　Ｄｉｓｐｌａｙ
ＯＳ　　　：Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ
ＲＡＭ　　：Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ
ＲＯＭ　　：Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ
ＵＲＬ　　：Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ
ＵＳＢ　　：Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ
【００５２】
【発明の効果】
この発明によれば、１つの暗号回路により複数の暗号化処理あるいは復号化処理を実行するとき、暗号化用あるいは復号化用のラウンドキーデータをバンクメモリの各バンクにあらかじめ用意しているので、キースケジューリングは１回実行するだけでよく、したがって、平文データあるいは暗号文データのブロックごとにキースケジューリングを実行する場合に比べ、オーバーヘッドをなくすことができるので、暗号化あるいは復号化に必要な時間を大幅に短縮することができ、全体としての速度を向上させることができる。
【図面の簡単な説明】
【図１】この発明の一形態を示す系統図である。
【図２】図１の回路の処理の流れを示すフローチャートである。
【図３】この発明の一形態を示す系統図である。
【図４】この発明を説明するための系統図である。
【符号の説明】
１０…ブロック暗号回路、１１…暗号化回路、１２…キースケジューリング回路、１３…バンクメモリ、１５…レジスタ、１６…メモリコントロール回路
【図１】
2004133087.tif 000003
【図２】
2004133087.tif 000004
【図３】
2004133087.tif 000005
【図４】
2004133087.tif 000006