(57)【要約】【課題】  高速に暗号化処理および復号処理を行う通信装置を提供する。【解決手段】  ホスト１０において生成されたデータは、ホストインターフェースモジュール３０によって共有メモリ４０に転送される。この転送されたデータを暗号化すべき要求が制御部２０から暗号復号モジュールＡ５０および暗号復号モジュールＢ６０に出される。この要求を受けた後、アービタ８０から共有メモリ４０にアクセスする許可を受けた暗号復号モジュールＡ５０および暗号復号モジュールＢ６０はデータを暗号化して共有メモリ４０に保持させる。その後アービタ８０から共有メモリ４０にアクセスする許可を受けた物理層インターフェースモジュール７０は共有メモリ４０から暗号化されたデータを物理層モジュール９０に転送させ、物理層モジュール９０から送信先の通信装置に暗号化されたデータが送信される。【選択図】      図１
2006295330.tif 000002
【特許請求の範囲】
【請求項１】
第１の共有メモリと、
前記第１の共有メモリへのアクセスに対し優先順位に基づいてアクセスさせる第１のアクセス調停手段と、
前記第１のアクセス調停手段にしたがって前記第１の共有メモリにアクセスし前記第１の共有メモリに保持されたデータを暗号化して前記データを前記第１の共有メモリに保持させる少なくとも２つの暗号化手段と、
暗号化するのに用いられた前記暗号手段の数に相当する情報を前記データのヘッダとして生成するヘッダ情報生成手段と、
前記データに前記ヘッダを付加して送信する送信手段と
を備えた第１の通信装置と、
第２の共有メモリと、
前記第２の共有メモリへのアクセスに対し優先順位に基づいてアクセスさせる第２のアクセス調停手段と、
前記ヘッダが付加された前記データを受信して前記第２のアクセス調停手段にしたがって前記第２の共有メモリに前記データを保持させる受信手段と、
前記ヘッダに基づいて前記第１の暗号手段の数を判断する暗号化手段数判断手段と、
前記第２のアクセス調停手段にしたがって前記第２の共有メモリにアクセスし前記第２の共有メモリに保持された前記データを復号して前記データを前記第２の共有メモリに保持させる少なくとも２つの復号手段と、
前記暗号化手段数判断手段によって判断された数と同数の前記復号手段に対し前記データを復号すべき要求を出す復号処理要求発行手段と
を備えた第２の通信装置と
を具備することを特徴とする通信システム。
【請求項２】
共有メモリと、
前記共有メモリへのアクセスに対し優先順位に基づいてアクセスさせるアクセス調停手段と、
前記アクセス調停手段にしたがって前記共有メモリにアクセスし前記共有メモリに保持されたデータを暗号化して前記データを前記共有メモリに保持させる少なくとも２つの暗号化手段と、
を具備することを特徴とする通信装置。
【請求項３】
前記データの暗号化に用いた前記暗号手段の数に相当する情報を前記データのヘッダとして生成するヘッダ情報生成手段をさらに具備することを特徴とする請求項２記載の通信装置。
【請求項４】
他の通信装置に備えられたデータを復号する復号手段の数を前記他の通信装置のアドレス毎に保持する送信先情報保持手段と、
送信先通信装置のアドレスに基づいて前記送信先通信装置に備えられた前記復号手段の数を前記送信先情報保持手段から検索する復号手段数検索手段と、
前記復号手段の数と同数の前記暗号化手段に対し前記データを暗号化すべき要求を出す暗号化処理要求発行手段と
をさらに具備することを特徴とする請求項２記載の通信装置。
【請求項５】
前記暗号化手段は、前記データを所定の容量のデータブロックに分割し前記データブロックごとに暗号化することを特徴とする請求項２記載の通信装置。
【請求項６】
共有メモリと、
前記共有メモリへのアクセスに対し優先順位に基づいてアクセスさせるアクセス調停手段と、
前記アクセス調停手段にしたがって前記共有メモリにアクセスし前記共有メモリに保持されたデータを復号して前記データを前記共有メモリに保持させる少なくとも２つの復号手段と、
を具備することを特徴とする通信装置。
【請求項７】
他の通信装置においてデータの暗号化に用いられた前記データを暗号化する暗号化手段の数を含んだ情報を受信して前記共有メモリに保持させる受信手段と、
前記受信手段によって受信した前記情報に基づいて前記暗号化に用いられた前記暗号化手段の数を判断する暗号化手段数判断手段と、
前記暗号化手段数判断手段によって判断された数と同数の前記復号手段に対し前記データを復号すべき要求を出す復号処理要求発行手段と
をさらに具備することを特徴とする請求項７記載の通信装置。
【請求項８】
共有メモリと、
前記共有メモリへのアクセスに対し優先順位に基づいてアクセスさせるアクセス調停手段と、
他の通信装置においてデータの暗号化に用いられた前記データを暗号化する暗号化手段の数を含んだ情報および所定容量のデータブロックを順に並べて構成された前記データを受信して前記共有メモリに保持させる受信手段と、
前記アクセス調停手段にしたがって前記共有メモリにアクセスし前記共有メモリに保持された前記データを復号して前記データを前記共有メモリに保持させる復号手段と、
前記受信手段によって受信した前記情報に基づいて前記暗号化に用いられた前記暗号化手段の数を判断する暗号化手段数判断手段と、
前記復号手段に対し前記データブロックを前記暗号化手段数判断手段によって判断された数に応じて復号すべき要求を出す復号処理要求発行手段と
を具備することを特徴とする通信装置。
【請求項９】
共有メモリとデータを暗号化する少なくとも２つの暗号化手段とを備えた通信装置における処理方法であって、
前記暗号化手段に対しデータを暗号化すべき要求を出す第１の暗号化処理要求手順と、
前記要求を受けて前記データを暗号化する暗号化手順と、
全てのデータに対し前記要求を出したか否かを判断する暗号化終了判断手順と、
全てのデータに対し前記要求を出していないと判断された場合に他の暗号化手段に対し残りのデータを暗号化すべき要求を出す第２の暗号化処理要求手順と
を具備することを特徴とする処理方法。
【請求項１０】
共有メモリとデータを復号する少なくとも２つの復号手段とを備えた通信装置における処理方法であって、
他の通信装置においてデータの暗号化に用いられた前記データを暗号化する暗号化手段の数を含んだ情報を受信して前記共有メモリに保持させる受信手順と、
前記暗号化手段の数を判断する暗号化手段数判断手順と、
前記暗号化手段数判断手順によって判断された数と同数の前記復号手段に対して前記データを復号すべき要求を発行する復号処理要求発行手順と
を具備することを特徴とする処理方法。
【請求項１１】
共有メモリとデータを暗号化する少なくとも２つの暗号化手段とを備えた通信装置に、
前記暗号化手段に対しデータを暗号化すべき要求を出す第１の暗号化処理要求ステップと、
前記要求を受けて前記データを暗号化する暗号化ステップと、
全てのデータに対し前記要求を出したか否かを判断する暗号化終了判断ステップと、
全てのデータに対し前記要求を出していないと判断された場合に他の暗号化手段に対し残りのデータを暗号化すべき要求を出す第２の暗号化処理要求ステップと
を実行させることを特徴とするプログラム。
【請求項１２】
共有メモリとデータを復号する少なくとも２つの復号手段とを備えた通信装置に、
他の通信装置においてデータの暗号化に用いられた前記データを暗号化する暗号化手段の数を含んだ情報を受信して前記共有メモリに保持させる受信ステップと、
前記暗号化手段の数を判断する暗号化手段数判断ステップと、
前記暗号化手段数判断ステップによって判断された数と同数の前記復号手段に対して前記データを復号すべき要求を発行する復号処理要求発行ステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化機能を備えた通信システムに関し、特に共有メモリと２以上の暗号化モジュールおよび復号モジュールを備えた通信システム、当該通信システムに用いられる通信装置、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを通じて文書や画像など様々な情報のやりとりが活性化してきている。また、ビジネスモデルの変化によりインターネットは、商取引などにも利用されるようになった。商取引における情報には、機密性の高い個人情報や財物性の高い情報など様々である。このような機密性の高い情報や財物性の高い情報は、インターネットにおいては、通信過程においてで第三者に盗み見られたり改竄されたりする危険性が伴う。このため、インターネットなどのネットワークを通じてやりとりする情報を暗号化する技術の重要性が高まってきている。
【０００３】
暗号復号方式において、暗号化および復号化には暗号表に当たる「鍵」が用いられるが、対になる２つの鍵を使う公開鍵暗号と、どちらにも同じ鍵を用いる秘密鍵暗号がある。この２つの暗号アルゴリズムに基づいてさまざまな暗号化方式が提案されている。公開鍵暗号においては、ＲＳＡ（Rivest Shamir Adleman）暗号、楕円曲線暗号、エルガマル（ElGamal）暗号などがあり、秘密鍵暗号においては、ＤＥＳ（Data Encryption Standard）、３ＤＥＳ（Triple Data Encryption Standard）またはＡＥＳ（Advanced Encryption Standard）などがある。
【０００４】
以上のような暗号化方式が様々な通信機器において用いられ通信が行われている。これらの通信機器において、従来は、暗号化機能を有する１つのハードウェアに対し専用のメモリを設ける構成が一般的だった（例えば、特許文献１参照。）。また、暗号化機能および復号機能を有する１つのハードウェアに対し専用メモリを設けず、共有メモリを利用する通信機器も考えられる。
【特許文献１】特開２００２−２８７６２０号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、暗号化機能を有する１つのハードウェアに対し専用のメモリを設ける構成では、暗号化機能を有する１つのハードウェアに対し専用のメモリを設けるので暗号化機能を有するハードウェアを複数設けたときに暗号化機能を有するハードウェアと同数の専用メモリが必要となるため、スペースをとるといった問題があった。特に近年、携帯電話を代表する小型の通信機器においては、スペースを取らない回路構成をすべき要請がある。
【０００６】
また、暗号化機能および復号機能を有する１つのハードウェアに対し専用メモリを設けず、共有メモリを利用する構成において、共有メモリに対し暗号化機能および復号機能を有するハードウェアを１つ設けただけでは、動画情報など情報量の多い情報に対する暗号化処理において処理遅延が発生し、スループットが低下するという問題があった。
【０００７】
そこで、本発明は、動画情報など情報量の多い情報に対する暗号化処理における処理遅延を防止し、高速に暗号化処理および復号処理を行う通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、第１の共有メモリと、上記第１の共有メモリへのアクセスに対し優先順位に基づいてアクセスさせる第１のアクセス調停手段と、上記第１のアクセス調停手段にしたがって上記第１の共有メモリにアクセスし上記第１の共有メモリに保持されたデータを暗号化して上記データを上記第１の共有メモリに保持させる少なくとも２つの暗号化手段と、暗号化するのに用いられた上記暗号手段の数に相当する情報を上記データのヘッダとして生成するヘッダ情報生成手段と、上記データに上記ヘッダを付加して送信する送信手段とを備えた第１の通信装置と、第２の共有メモリと、上記第２の共有メモリへのアクセスに対し優先順位に基づいてアクセスさせる第２のアクセス調停手段と、上記ヘッダが付加された上記データを受信して上記第２のアクセス調停手段にしたがって上記第２の共有メモリに上記データを保持させる受信手段と、上記ヘッダに基づいて上記第１の暗号手段の数を判断する暗号化手段数判断手段と、上記第２のアクセス調停手段にしたがって上記第２の共有メモリにアクセスし上記第２の共有メモリに保持された上記データを復号して上記データを上記第２の共有メモリに保持させる少なくとも２つの復号手段と、上記暗号化手段数判断手段によって判断された数と同数の上記復号手段に対し上記データを復号すべき要求を出す復号処理要求発行手段とを備えた第２の通信装置とを具備することを特徴とする通信システムである。これにより、送信側においてデータを暗号化する際に用いた暗号化モジュールの数を受信側において認識させ、受信側でも暗号化に用いた暗号化モジュールと同数の復号モジュールで暗号化されたデータを復号させるという作用をもたらす。
【０００９】
また、本発明の第２の側面は、共有メモリと、上記共有メモリへのアクセスに対し優先順位に基づいてアクセスさせるアクセス調停手段と、上記アクセス調停手段にしたがって上記共有メモリにアクセスし上記共有メモリに保持されたデータを暗号化して上記データを上記共有メモリに保持させる少なくとも２つの暗号化手段と、を具備することを特徴とする通信装置である。これにより、送信側において２以上の暗号化モジュールを用いてデータを高速に暗号化させ、スループットを向上させるという作用をもたらす。
【００１０】
また、本発明の第２の側面において、上記通信装置は、上記データの暗号化に用いた上記暗号手段の数に相当する情報を上記データのヘッダとして生成するヘッダ情報生成手段をさらに具備することを特徴とするものである。これにより、送信側でデータを暗号化する際に用いた暗号化モジュールの数を受信側に伝達させるという作用をもたらす。
【００１１】
また、本発明の第２の側面において、上記通信装置は、他の通信装置に備えられたデータを復号する復号手段の数を上記他の通信装置のアドレス毎に保持する送信先情報保持手段と、送信先通信装置のアドレスに基づいて上記送信先通信装置に備えられた上記復号手段の数を上記送信先情報保持手段から検索する復号手段数検索手段と、上記復号手段の数と同数の上記暗号化手段に対し上記データを暗号化すべき要求を出す暗号化処理要求発行手段とをさらに具備することを特徴とするものである。これにより、送信側において受信側の復号モジュールの個数と同数の暗号化モジュールを用いてデータを暗号化させるという作用をもたらす。
【００１２】
また、本発明の第２の側面において、上記通信装置は、上記暗号化手段は、上記データを所定の容量のデータブロックに分割し上記データブロックごとに暗号化することを特徴とするものである。これにより、例えば、ＤＥＳ、３ＤＥＳまたはＡＥＳなどの暗号化方式を用いてデータを暗号化させるという作用をもたらす。
【００１３】
また、本発明の第３の側面は、共有メモリと、上記共有メモリへのアクセスに対し優先順位に基づいてアクセスさせるアクセス調停手段と、上記アクセス調停手段にしたがって上記共有メモリにアクセスし上記共有メモリに保持されたデータを復号して上記データを上記共有メモリに保持させる少なくとも２つの復号手段とを具備することを特徴とする通信装置である。これにより、送信側において２以上の復号モジュールを用いてデータを高速に復号させ、スループットを向上させるという作用をもたらす。
【００１４】
また、本発明の第３の側面において、上記通信装置は、他の通信装置においてデータの暗号化に用いられた上記データを暗号化する暗号化手段の数を含んだ情報を受信して上記共有メモリに保持させる受信手段と、上記受信手段によって受信した上記情報に基づいて上記暗号化に用いられた上記暗号化手段の数を判断する暗号化手段数判断手段と、上記暗号化手段数判断手段によって判断された数と同数の上記復号手段に対し上記データを復号すべき要求を出す復号処理要求発行手段とをさらに具備することを特徴とするものである。これにより、送信側においてデータの暗号化の際に用いられた暗号モジュールの数と同数の復号モジュールを用いてデータを復号させるという作用をもたらす。
【００１５】
また、本発明の第４の側面は、共有メモリと、上記共有メモリへのアクセスに対し優先順位に基づいてアクセスさせるアクセス調停手段と、他の通信装置においてデータの暗号化に用いられた上記データを暗号化する暗号化手段の数を含んだ情報および所定容量のデータブロックを順に並べて構成された上記データを受信して上記共有メモリに保持させる受信手段と、上記アクセス調停手段にしたがって上記共有メモリにアクセスし上記共有メモリに保持された上記データを復号して上記データを上記共有メモリに保持させる復号手段と、上記受信手段によって受信した上記情報に基づいて上記暗号化に用いられた上記暗号化手段の数を判断する暗号化手段数判断手段と、上記復号手段に対し上記データブロックを上記暗号化手段数判断手段によって判断された数に応じて復号すべき要求を出す復号処理要求発行手段とを具備することを特徴とする通信装置である。これにより、受信側において復号モジュールを１つしか備えていなくとも複数の暗号化モジュールを用いて暗号化されたデータを復号させるという作用をもたらす。
【００１６】
また、本発明の第５の側面は、共有メモリとデータを暗号化する少なくとも２つの暗号化手段とを備えた通信装置における処理方法であって、上記暗号化手段に対しデータを暗号化すべき要求を出す第１の暗号化処理要求手順と、上記要求を受けて上記データを暗号化する暗号化手順と、全てのデータに対し上記要求を出したか否かを判断する暗号化終了判断手順と、全てのデータに対し上記要求を出していないと判断された場合に他の暗号化手段に対し残りのデータを暗号化すべき要求を出す第２の暗号化処理要求手順とを具備することを特徴とするものである。これにより、送信側において２以上の暗号化モジュールを用いてデータを高速に暗号化させ、スループットを向上させるという作用をもたらす。
【００１７】
また、本発明の第６の側面は、共有メモリとデータを復号する少なくとも２つの復号手段とを備えた通信装置における処理方法であって、他の通信装置においてデータの暗号化に用いられた上記データを暗号化する暗号化手段の数を含んだ情報を受信して上記共有メモリに保持させる受信手順と、上記暗号化手段の数を判断する暗号化手段数判断手順と、上記暗号化手段数判断手順によって判断された数と同数の上記復号手段に対して上記データを復号すべき要求を発行する復号処理要求発行手順とを具備することを特徴とするものである。これにより、送信側において２以上の復号モジュールを用いてデータを高速に復号させ、スループットを向上させるという作用をもたらす。
【発明の効果】
【００１８】
本発明によれば、動画情報など情報量の多い情報に対する暗号化処理における処理遅延を防止し、高速に暗号化処理および復号処理を行うことが可能となるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１９】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００２０】
図１は、本発明の実施の形態における通信装置１００の構成の一例を示す図である。通信装置１００は、制御部２０と、ホストインターフェースモジュール３０と、共有メモリ４０と、暗号復号モジュールＡ５０と、暗号復号モジュールＢ６０と、物理層インターフェースモジュール７０と、アービタ８０と、物理層モジュール９０とを備える。
【００２１】
制御部２０は、通信装置１００の各部を制御するものである。ホストインターフェースモジュール３０は、ホスト１０および共有メモリ４０間のデータの転送処理を行うものである。共有メモリ４０は、ホストインターフェースモジュール３０、暗号復号モジュールＡ５０、暗号復号モジュールＢ６０および物理層インターフェースモジュール７０から転送されたデータを保持するものである。なお、共有メモリ４０の容量は、例えば約２メガビットとすることが想定される。
【００２２】
暗号復号モジュールＡ５０および暗号復号モジュールＢ６０は、共有メモリ４０に保持されたデータの暗号化処理および復号処理を行うものである。また、暗号復号モジュールＡ５０および暗号復号モジュールＢ６０は、暗号化処理および復号処理を終了するとその旨の通知を発行する。なお、暗号復号モジュールＡ５０および暗号復号モジュールＢ６０で用いられる暗号復号方式は、例えば、ＤＥＳ、３ＤＥＳまたはＡＥＳが想定される。
【００２３】
物理層インターフェースモジュール７０は、物理層モジュール９０および共有メモリ４０間のデータの転送処理を行うものである。アービタ８０は、ホストインターフェースモジュール３０、暗号復号モジュールＡ５０、暗号復号モジュールＢ６０および物理層インターフェースモジュール７０が共有メモリ４０にアクセスする際にあらかじめ設定されたアクセスに関する優先順位にしたがって優先順位の高いものを優先的にアクセスさせるものである。
【００２４】
物理層モジュール９０は、物理層インターフェースモジュール７０を介して転送されたデータを電気信号にしてネットワーク上に送り出す処理を行う。また、ネットワーク上から送られてきた電気信号の形式のデータを受信する処理を行うものである。なお、本発明の実施の形態における通信形態は有線を用いるものでも無線を用いるものでもよい。
【００２５】
ホスト１０は、データの生成やデータの処理などを行うものである。また、ホスト１０は、パケットの生成も行う。なお、パケットの生成をホスト１０で行わず、制御部２０において行うような構成とすることも可能である。制御部２０において生成されたパケットは共有メモリ４０に転送され保持される。
【００２６】
図２は、本発明の実施の形態における制御部２０を構成する機能の一例を示す図である。制御部２０は、送信先情報保持部２０１と、復号器数検索部２０２と、ヘッダ情報解析部２０３と、処理要求発行部２０４と、処理終了通知受信部２０５と、ヘッダ情報生成部２０６とを備える。
【００２７】
送信先情報保持部２０１は、他の通信装置に備えられている暗号復号モジュールの個数についての情報を保持するものである。通信装置と暗号復号モジュールの個数の対応づけは、例えば通信装置のアドレスと暗号復号モジュールの個数を対応づけて保持させればよい。
【００２８】
復号器数検索部２０２は、ホスト１０で生成されたデータ中に含まれる送信先の通信装置のアドレスに基づいて送信先情報保持部２０１からそのアドレスに対応する暗号復号モジュールの個数を検索するものである。復号器数検索部２０２は、検索結果を処理要求発行部２０４に通知する。
【００２９】
ヘッダ情報解析部２０３は、他の通信装置から送信されてきたデータ中に暗号復号モジュールの個数を示す情報が入っている場合にその個数を処理要求発行部２０４に通知するものである。
【００３０】
処理要求発行部２０４は、復号器数検索部２０２およびヘッダ情報解析部２０３から通知された暗号復号モジュールの個数と同数の暗号復号モジュールに対して暗号化すべき要求および復号すべき要求（以下、それぞれ暗号化処理要求および復号処理要求と呼ぶ。）を発行するものである。また、処理要求発行部２０４は、暗号化または復号すべきデータ全てに対して暗号化処理要求および復号処理要求を出したか否かを判断する。また、処理要求発行部２０４は、暗号化処理または復号処理を終了した後に、ホストインターフェースモジュール３０および物理インターフェースモジュール７０に対し共有メモリ４０に保持されたデータを転送すべき要求を行う。
【００３１】
処理終了通知受信部２０５は、暗号復号モジュールＡ５０および暗号復号モジュールＢ６０から暗号化処理または復号処理が終了した旨の通知（以下、処理終了通知と呼ぶ。）を受信し、受信した旨を処理要求発行部２０４に通知するものである。この通知によって、処理要求発行部２０４は、暗号化処理および復号処理が終了したことを認識する。
【００３２】
ヘッダ情報生成部２０６は、本発明の実施の形態における通信装置１００においてデータを暗号化する際に用いた暗号復号モジュールの個数に相当する情報を共有メモリ４０へ供給するものである。暗号復号モジュールの個数に相当する情報とは、暗号復号モジュールの個数そのものであってもよいし、暗号復号モジュールの個数を含めたデータ信号に付加するヘッダであってもよい。
【００３３】
図３は、本発明の実施の形態における通信装置１００のアービタ８０によって共有メモリ４０へのアクセスが制御されている様子を示すタイミングチャート図である。アービタ８０は、上述のようにホストインターフェースモジュール３０、暗号復号モジュールＡ５０、暗号復号モジュールＢ６０および物理層インターフェースモジュール７０が共有メモリ４０にアクセスする際に各部にあらかじめ優先順位を設定して優先順位の高いものへ優先的にアクセスさせるものである。本発明の実施の形態においては、データの送信の際は、優先順位は、ホストインターフェースモジュール３０、物理層インターフェースモジュール７０、暗号復号モジュールＡ５０、暗号復号モジュールＢ６０の順とする。
【００３４】
ホストインターフェースモジュール３０、暗号復号モジュールＡ５０、暗号復号モジュールＢ６０および物理層インターフェースモジュール７０が共有メモリ４０にアクセスする際には上記各モジュールは、まずアービタ８０に対しアクセス要求（ＲＥＱ）を行う。アービタ８０は、アクセス要求（ＲＥＱ）を受け取ると上述の優先順位にしたがってアクセス許可（ＲＤＹ）を行う。このアクセス許可（ＲＤＹ）を受けとったモジュールのみが共有メモリ４０にアクセスできる。
【００３５】
なお、一旦、共有メモリ４０へのアクセスを許可されるとアクセス許可（ＲＤＹ）はアサートされ、アクセス許可（ＲＤＹ）がデアサートされるまでは、優先順位に関係なく他のモジュールは共有メモリ４０へのアクセスを許可されない。
【００３６】
図３においては、時刻Ｔ１において暗号復号モジュールＢ６０がアービタ８０に対しアクセス要求（ＲＥＱ）を行っている。時刻Ｔ１において暗号復号モジュールＢ６０以外にアービタ８０にアクセス要求（ＲＥＱ）を行っているモジュールはないので、アービタ８０は、時刻Ｔ２に暗号復号モジュールＢ６０に対しアクセス許可（ＲＤＹ）を行いアサートする。時刻Ｔ５まで暗号復号モジュールＢ６０のアクセス要求（ＲＥＱ）はアサートされ、それに伴ってアクセス許可（ＲＤＹ）もアサートされている。この間は、暗号復号モジュールＢ６０よりも優先順位の低い暗号復号モジュールＡ５０はもちろん暗号復号モジュールＢ６０よりも優先順位の高い物理層インターフェースモジュール７０がアービタ８０にアクセス要求（ＲＥＱ）を行っても（時刻Ｔ４）、物理層インターフェースモジュール７０に対しアクセス許可（ＲＤＹ）は行われない。
【００３７】
暗号復号モジュールＢ６０のアクセス要求（ＲＥＱ）がデアサートした時刻Ｔ５以降は、暗号復号モジュールＡ５０と物理層インターフェースモジュール７０のアクセス要求（ＲＥＱ）が競合しているが、アービタ８０は、優先順位にしたがって物理層インターフェースモジュール７０にアクセス許可（ＲＤＹ）を行う。
【００３８】
物理層インターフェースモジュール７０のアクセス要求（ＲＥＱ）は、時刻Ｔ７までアサートされそれに伴い物理層インターフェースモジュール７０に対するアクセス許可（ＲＤＹ）もアサートされている。時刻Ｔ７までは、物理層インターフェースモジュール７０よりも優先順位の高いホストインターフェースモジュール３０からのアクセス要求（ＲＥＱ）があってもアービタ８０は、ホストインターフェースモジュール３０に対しアクセス許可（ＲＤＹ）を行わない。
【００３９】
物理層インターフェースモジュール７０のアクセス要求（ＲＥＱ）がデアサートした時刻Ｔ７以降は、暗号復号モジュールＡ５０とホストインターフェースモジュール３０のアクセス要求（ＲＥＱ）が競合しているが、アービタ８０は、優先順位にしたがってホストインターフェースモジュール３０にアクセス許可（ＲＤＹ）を行う。
【００４０】
ホストインターフェースモジュール３０のアクセス要求（ＲＥＱ）がデアサートする時刻Ｔ８以降はアクセス要求（ＲＥＱ）が競合しないため、暗号復号モジュールＡ５０のアクセス要求（ＲＥＱ）がアービタ８０において許可され、暗号復号モジュールＡ５０はアクセス許可（ＲＤＹ）を受け共有メモリ４０にアクセスできる。
【００４１】
なお、データを受信する際の優先順位は、物理層インターフェースモジュール７０、ホストインターフェースモジュール３０、暗号復号モジュールＡ５０、暗号復号モジュールＢ６０の順とすることが想定される。この場合、上記説明において物理層インターフェースモジュール７０とホストインターフェースモジュール３０の共有メモリ４０に対するアクセスの優先順位が入れ替わっただけである。したがって、共有メモリ４０へのアクセスに関する動作については、上記説明において物理層インターフェースモジュール７０とホストインターフェースモジュール３０を入れ替えて説明すれば足りるため、説明を省略する。
【００４２】
図４は、本発明の実施の形態における通信装置１００を用いて暗号化処理を行う際のデータの流れを示す図である。暗号復号方式として、例えばＤＥＳ、３ＤＥＳまたはＡＥＳを用い、データを所定容量（例えば、１２８ビット）のデータブロックに分割して暗号化処理を行うことを想定する。
【００４３】
図４（ａ）は、通信装置１００において暗号復号モジュールを１つしか使用していない場合のデータを暗号化する際の流れを示す図である。暗号復号モジュールを１つしか使用していない場合、まず、ホストインターフェースモジュール３０から共有メモリ４０へデータブロックＰ１乃至Ｐ４が転送される。制御部２０から暗号化処理要求を受けた暗号復号モジュールＡ５０は、共有メモリ４０にアクセスしデータブロックＰ１を暗号復号モジュールＡ５０に転送させる。暗号復号モジュールＡ５０は、自身へのデータブロックＰ１の転送が完了するとデータブロックＰ１に対し暗号化処理を行う。
【００４４】
暗号化処理を完了すると、暗号復号モジュールＡ５０は、暗号化したデータブロックＰ１を共有メモリ４０へ転送する。次にデータブロックＰ２乃至Ｐ４に対してもデータブロックＰ１における処理と同様の処理を行う。暗号化されたデータブロックＰ１乃至Ｐ４は、共有メモリ４０から物理層インターフェースモジュール７０に転送され、物理層モジュール９０を介して送信先の通信装置に暗号化されたデータが送信される。
【００４５】
図４（ｂ）は、本発明の実施の形態における通信装置１００において暗号復号モジュールを２つ使用した場合のデータを暗号化する際の流れを示す図である。まず、ホストインターフェースモジュール３０から共有メモリ４０へデータブロックＰ１乃至Ｐ４が供給される。制御部２０から暗号化処理要求を受けた暗号復号モジュールＡ５０は、共有メモリ４０のアクセスしデータブロックＰ１を暗号復号モジュールＡ５０に転送させる。暗号復号モジュールＡ５０は、自身へのデータブロックＰ１の転送が完了するとデータブロックＰ１に対し暗号化処理を行う。暗号化処理が終了すると暗号復号モジュールＡ５０から共有メモリ４０へ暗号化されたデータブロックＰ１が転送される。
【００４６】
また、共有メモリ４０から暗号復号モジュールＡ５０へのデータブロックＰ１の転送が完了すると制御部２０から暗号化処理要求を受けた暗号復号モジュールＢ６０は、共有メモリ４０のアクセスしデータブロックＰ２を暗号復号モジュールＢ６０に転送させる。暗号復号モジュールＢ６０は、自身へのデータブロックＰ２の転送が完了するとデータブロックＰ２に対し暗号化処理を行う。暗号化処理が終了すると暗号復号モジュールＢ６０から共有メモリ４０へ暗号化されたデータブロックＰ２が転送される。
【００４７】
図４（ｂ）に示すように共有メモリ４０から暗号復号モジュールＡ５０へのデータブロックＰ１の転送が完了すると同時に、共有メモリ４０から暗号復号モジュールＢ６０へのデータブロックＰ２の転送が開始され、データブロックＰ１およびデータブロックＰ２に対する暗号化処理は平行して行われる。暗号復号モジュールを１つしか使用していない場合と比較して暗号化処理が完了するまでに要する時間が短い。
【００４８】
データブロックＰ３およびデータブロックＰ４においても上記と同様に暗号復号モジュールＡ５０および暗号復号モジュールＢ６０を用いて同様の暗号化処理が行われる。図４（ａ）と図４（ｂ）を比較するとデータブロックＰ１乃至Ｐ４までを暗号化するのに要する時間は格段に図４（ｂ）の場合の方が短い。本発明の実施の形態においては、暗号復号モジュールを２つ用いる場合について示したが暗号復号モジュールの個数を増やせばさらに短い時間で暗号化処理を終了することが可能である。これによりデータを暗号化する処理が高速化し、スループットの向上に資する。
【００４９】
なお、図４においては、データの暗号化について説明したが、図４はデータを復号する際にも当てはまることであり、暗号化を復号と読み替えれば、データを復号する際の流れを示す図になるため復号については説明を省略する。
【００５０】
図５は、本発明の実施の形態における発明におけるパケットのフォーマットの一例を示す図である。パケットはヘッダ（Header）と、ペイロード（Payload）と、ＭＩＣ（Message Integrity Code）とを備える。
【００５１】
ペイロードは、パケットのうちヘッダ部分を除いた、本来転送したいデータ本体を収めた部分を言う。ＭＩＣは、データの改ざんを確認する機能を持つ。
【００５２】
ヘッダは、タイプ（Type）と、ＭＣフラグ（MC_Flag:Multi-Crypto Flag）と、送信元アドレス（SRCADDR:Source Address）と、宛先アドレス（DSTADDR:Destination Address）と、生存時間（TTL:Time To Live）と、シーケンス番号（SEQNo.:Sequence Number）などを備える。
【００５３】
タイプは、そのパケットの役割を指定するものである。ＭＣフラグは、本発明の実施の形態に特有の情報であり、データを暗号化する際に用いた暗号復号モジュールの個数を示すものである。本発明の実施の形態においては暗号復号モジュールが２つ備えられているので、例えば暗号復号モジュールを１つ用いたときはＭＣフラグを「０」とし、暗号復号モジュールを２つ用いたときはＭＣフラグを「１」とするように１ビットの情報に収めることが可能である。この場合は、タイプフィールドにおける使用されていないフィールドに上記情報を入れることが想定される。暗号復号モジュールが３つ以上あるときは、暗号復号モジュールの個数に合わせてビット数を増やしてもよい。
【００５４】
このＭＣフラグにおいてデータを暗号化する際に用いた暗号復号モジュールの個数を送信先の通信装置に報知することによって、送信先の通信装置において暗号化されたデータを復号することが容易になる。このことについて以下説明する。
【００５５】
例えば暗号復号方式としてＤＥＳ、３ＤＥＳまたはＡＥＳを用いた場合は、上述のようにデータを所定容量のデータブロックに分けて暗号化する。この暗号化されたデータを復号するときは、暗号化されたデータブロックを順番に復号することが必要となる。
【００５６】
ここで図５のように通信装置１００において暗号復号モジュールを２つ用いてデータブロックＰ１乃至Ｐ４に対し暗号化処理を行った場合、一方の暗号復号モジュールＡ５０においてはデータブロックＰ１およびＰ３に対し暗号化処理を行い、他方の暗号復号モジュールＢ６０においてはデータブロックＰ２およびＰ４に対し暗号化処理を行うことになる。この場合、データブロックＰ１乃至Ｐ４を復号するには、データブロックＰ１を復号した後にデータブロックＰ３を復号し、データブロックＰ２を復号した後にデータブロックＰ４を復号しないとデータを復号できない。
【００５７】
このため、送信先で暗号化されたデータに対し復号を行う際にはデータブロックが暗号化された順番が必要となってくる。この順番は、データを暗号化する際に用いられた暗号復号モジュールの個数で把握できる。例えば、データブロックＰ１乃至Ｐ６が３つの暗号復号モジュールによって暗号化されていた場合、データブロックＰ１を復号した後にデータブロックＰ３を復号し、データブロックＰ２を復号した後にデータブロックＰ５を復号し、データブロックＰ３を復号した後にデータブロックＰ６を復号しないとデータの復号ができないと判断できる。
【００５８】
したがって、本発明の実施の形態における発明のように暗号復号モジュールを少なくとも２つ備えている場合に送信先の通信装置において送信されてきたデータを復号するには、このＭＣフラグにおける情報は必要になる。
【００５９】
送信元アドレスは、データを送信しようとする通信装置のアドレスを示すものである。また、宛先アドレスは、データの送信先の通信装置のアドレスを示すものである。この  送信元アドレスおよび宛先アドレスは、例えばＭＡＣ（Media Access Control address）アドレスまたはＩＰ（Internet Protocol）アドレスを用いることが想定される。
【００６０】
また、生存時間は、パケットの有効期間を表す値である。最大２５５までの整数値で表され、ルータなどを１回経由されるたびに値が１減少する。生存時間が０になったパケットはその時点で廃棄され、廃棄通知がパケットの送信元に届くようになっている。
【００６１】
シーケンス番号は、データを分割した際に割り振られる通し番号であり、この番号によって分割されたデータを順番通りに並べることができる。
【００６２】
次に本発明の実施の形態における通信装置の動作について図面を参照して説明する。
【００６３】
図６は、本発明の実施の形態におけるアービタ８０での処理の流れを示す図である。任意のモジュールからアービタ８０に共有メモリ４０に対するアクセス要求（ＲＥＱ）があると（Ｓ９１１）、アービタ８０は、他のモジュールにアクセス許可（ＲＤＹ）をアサートしているか否かを判断する（Ｓ９１２）。
【００６４】
アクセス許可（ＲＤＹ）がデアサートになった後、アービタ８０に複数のモジュールからのアクセス要求（ＲＥＱ）が競合していた場合、アクセスについての優先順位が高いモジュールを抽出し（Ｓ９１３）、優先順位の最も高いモジュールに対しアクセス許可（ＲＤＹ）を行う（Ｓ９１４）。ここでアクセス許可（ＲＤＹ）を受けたモジュールが所定レングスのデータの転送処理を行う（Ｓ９２５）。アクセス許可（ＲＤＹ）を受けたモジュールがデータの転送処理を終了すると、アクセス許可（ＲＤＹ）はデアサートになる。
【００６５】
図７は、各モジュールおよび共有メモリ４０間におけるデータの転送処理における流れを示す図である。あるモジュールに転送データがある場合（Ｓ９２１）、そのモジュールは、アービタ８０にアクセス要求（ＲＥＱ）を行う（Ｓ９２２）。このアクセス要求（ＲＥＱ）に対しアービタ８０からアクセス許可（ＲＤＹ）を受けるまでモジュールはアクセス要求（ＲＥＱ）をアサートする（Ｓ９２３）。
【００６６】
アクセス要求（ＲＥＱ）に対しアービタ８０がアクセス許可（ＲＤＹ）を行うと、アクセス許可（ＲＤＹ）を受けたモジュールはデータの転送処理を開始する（Ｓ９２４）。データ転送処理が終了するとアクセス許可（ＲＤＹ）はデアサートになる。
【００６７】
図８は、本発明の実施の形態における通信装置１００において、データを暗号化して他の通信装置に送信するまでの流れを示す図である。なお、図８においては、送信先の通信装置に備えられている暗号復号モジュールの個数は１つまたは２つのいずれかであるものとして説明する。
【００６８】
ホストインターフェースモジュール３０から制御部２０に共有メモリ４０に対しデータの転送が完了した旨の通知が来ると（Ｓ９３１）、データの送信先の通信装置に備えられている暗号復号モジュールの個数について判断する（Ｓ９３２）。本発明の実施の形態においては、復号器数検索部２０２は、データの送信先の通信装置のアドレスに基づいて備えられている暗号復号モジュールの個数を送信先情報保持部２０１から検索することによってデータの送信先の通信装置に備えられている暗号復号モジュールの個数を判断できる。
【００６９】
ここでデータの送信先の通信装置に備えられている暗号復号モジュールの個数が２つある場合、ヘッダ情報生成部２０６においてＭＣフラグを「１」とするヘッダ情報が生成される（Ｓ９３３）。次に暗号復号モジュールＡ５０に対し、処理要求発行部２０４は、暗号化処理要求を発行する（Ｓ９３４）。暗号化処理要求が発行された後、処理要求発行部２０４において暗号化されるべきデータ全てに対し暗号化処理要求が発行されたか否かが判断される（Ｓ９３５）。暗号化されるべきデータ全てに対し暗号化処理要求が発行されたと判断されると全てのデータの暗号化処理が終了したか否かが判断される（Ｓ９４０）。
【００７０】
暗号化されるべきデータ全てに対し暗号化処理要求が発行されていないと判断されると処理要求発行部２０４は、暗号復号モジュールＢ６０に対し暗号化処理要求を発行する（Ｓ９３６）。暗号化処理要求が発行された後、処理要求発行部２０４において暗号化されるべきデータ全てに対し暗号化処理要求が発行されたか否かが判断される（Ｓ９３７）。暗号化されるべきデータ全てに対し暗号化処理要求が発行されたと判断されると全てのデータの暗号化処理が終了したか否かが判断される（Ｓ９４０）。
【００７１】
暗号化されるべきデータ全てに対し暗号化処理要求が発行されていないと判断された後、処理終了通知受信部２０５は、暗号復号モジュールＡ５０および暗号復号モジュールＢ６０から処理終了通知を待つ（Ｓ９３８）。ここで処理終了通知とは、暗号復号モジュールＡ５０および暗号復号モジュールＢ６０などの各モジュールにおいてデータに対する所定の処理が終了した後に発行される通知である。
【００７２】
処理終了通知受信部２０５は、処理発行通知を受け取るとその旨を処理要求発行部２０４に通知する。処理要求発行部２０４は、その通知を受けて暗号復号モジュールＡ５０または暗号復号モジュールＢ６０のどちらに暗号化処理要求を発行すべきか判断する（Ｓ９３９）。ステップＳ９３９において、暗号復号モジュールＡ５０に暗号化処理要求を発行すべきと判断された場合ステップＳ９３４に戻る。一方、ステップＳ９３９において、暗号復号モジュールＢ６０に暗号化処理要求を発行すべきと判断された場合ステップＳ９３６に戻る。
【００７３】
ステップＳ９３２において、データの送信先の通信装置に備えられている暗号復号モジュールの個数が１つしかないという場合、ヘッダ情報生成部２０６においてＭＣフラグを「０」とするヘッダ情報が生成される（Ｓ９４４）。次に暗号復号モジュールＡ５０に対し、処理要求発行部２０４は、暗号化処理要求を発行する（Ｓ９４５）。
【００７４】
処理終了通知受信部２０５は、暗号復号モジュールＡ５０から処理終了通知を待つ（Ｓ９４６）。処理終了通知受信部２０５は、処理終了通知を受け取るとその旨を処理要求発行部２０４に通知する。この通知を受けると処理要求発行部２０４は、全てのデータに対して暗号化処理要求を発行したか否かを判断する（Ｓ９４７）。
【００７５】
処理要求発行部２０４において全てのデータに対して暗号化処理要求を発行していないと判断されるとステップＳ９４５に戻る。一方、処理要求発行部２０４において全てのデータに対して暗号化処理要求を発行したと判断されると全てのデータの暗号化処理が完了したか否かが判断される（Ｓ９４０）。この判断は、処理終了通知受信部２０５において暗号復号モジュールＡ５０または暗号復号モジュールＢ６０からの処理終了通知を受け取った後、処理要求発行部２０４において判断される。
【００７６】
全てのデータについて暗号化処理が終了したと判断されるとヘッダ情報生成部２０６において生成されたヘッダ情報が共有メモリ４０へ転送される（Ｓ９４１）。次に処理要求発行部２０４は、物理層インターフェースモジュール７０に対しデータを物理層モジュール９０に転送すべき要求を行う（Ｓ９４２）。物理層インターフェースモジュール７０から物理層モジュール９０へ送信データの転送を終了した旨の処理終了通知を処理終了通知受信部２０５が受け取ることによってデータの他の通信装置へ送信処理が終了する。
【００７７】
図９は、本発明の実施の形態における通信装置１００において、データを復号してホスト１０に転送するまでの流れを示す図である。データを受信し、物理層インターフェースモジュール７０から制御部２０に共有メモリ４０に対しデータの転送が完了した旨の通知が来ると（Ｓ９５１）、ヘッダ情報解析部２０３においてデータの中に含まれているＭＣフラグが「１」であるか「０」であるかが判断される（Ｓ９５２）。
【００７８】
ＭＣフラグが「１」であると判断されると、ヘッダ情報解析部２０３はその旨を処理要求発行部２０４に通知する。この通知を受けると処理要求発行部２０４は、暗号復号モジュールＡ５０に対し、復号処理要求を発行する（Ｓ９５３）。復号処理要求を発行すると、処理要求発行部２０４は、全てのデータに対して復号処理要求を発行したかどうか判断する（Ｓ９５４）。
【００７９】
処理要求発行部２０４において全てのデータに対して復号処理要求を発行したと判断された場合、処理要求発行部２０４は、全てのデータの復号処理が完了したか否かを判断する（Ｓ９５９）。一方、処理要求発行部２０４において全てのデータに対して復号処理要求を発行していないと判断された場合、処理要求発行部２０４は、暗号復号モジュールＢ６０に対し、復号処理要求を発行する（Ｓ９５５）。復号処理要求を発行すると、処理要求発行部２０４は、全てのデータに対して復号処理要求を発行したかどうかを判断する（Ｓ９５６）。
【００８０】
処理要求発行部２０４において全てのデータに対して復号処理要求を発行したと判断された場合、処理要求発行部２０４は、全てのデータの復号処理が完了したか否かを判断する（Ｓ９５９）。一方、処理要求発行部２０４において全てのデータに対して復号処理要求を発行していないと判断された場合、処理終了通知受信部２０５は、暗号復号モジュールＡ５０および暗号復号モジュールＢ６０から復号処理が終了した旨の処理終了通知を待つ（Ｓ９５７）。処理終了通知受信部２０５は、処理終了通知を受け取ると受け取った旨を処理要求発行部２０４に通知する。処理終了通知受信部２０５からの通知を受け取ると、処理要求発行部２０４は、次のデータを暗号復号モジュールＡ５０または暗号復号モジュールＢ６０のいずれに行わせるべきかを判断する（Ｓ９５８）。
【００８１】
ここでデータの復号処理を暗号復号モジュールＡ５０に行わせると判断された場合は、ステップＳ９５３から処理が行われる。一方、データの複合処理を暗号復号モジュールＢ６０に行わせると判断された場合は、ステップＳ９５５から処理が行われる。
【００８２】
ステップＳ９５２において、ＭＣフラグが「０」であると判断されると、ヘッダ情報解析部２０３は、処理要求発行部２０４にその旨を通知する。その通知を受け取った処理要求発行部２０４は、暗号復号モジュールＡ５０に対し暗号化処理要求を発行する（Ｓ９６２）。暗号復号モジュールＡ５０は、１つのデータに対し暗号処理を終了すると、暗号処理が終了した旨の処理終了通知を処理終了通知受信部２０５に対して行う。処理終了通知受信部２０５は、処理終了通知を受け取ると（Ｓ９６３）、処理要求発行部２０４に対し処理要求通知を受け取った旨の通知をする。処理要求発行部２０４は、処理要求通知を受け取った旨の通知を受け取ると復号すべき全てのデータに対し復号処理要求を発行したか否かを判断する（Ｓ９６４）。
【００８３】
処理要求発行部２０４において復号すべき全てのデータに対し復号処理要求を発行していないと判断されると、ステップＳ９６２から処理が行われる。なお、ＭＣフラグが「０」であると判断された場合は、暗号復号モジュール１つで復号処理を行うことになるので、暗号復号モジュールＢ６０は用いられない。一方、処理要求発行部２０４において全てのデータに対して復号処理要求を発行したと判断された場合、処理要求発行部２０４は、全てのデータの復号処理が完了したか否かを判断する（Ｓ９５９）。
【００８４】
処理要求発行部２０４は、全てのデータの復号処理が完了したと判断した場合、ホストインターフェースモジュール３０に対し復号したデータをホスト１０に転送すべき旨の処理要求を発行する（Ｓ９６０）。これを受けてホストインターフェースモジュール３０は、復号されたデータをホスト１０に転送する。データの転送を終了すると、ホストインターフェースモジュール３０は、データの転送が終了した旨の処理終了通知を発行する（Ｓ９６１）。これを処理終了通知受信部２０５において受け取るとホスト１０への復号したデータの転送処理終了である。
【００８５】
図１０は、本発明の実施の形態における通信装置１００において暗号復号モジュールＡ５０および暗号復号モジュールＢ６０を用いて暗号化されたデータを、１つの暗号復号モジュールＡ５０しか備えていない図示しない通信装置２００において復号する際のデータの流れを示す図である。なお、暗号復号モジュールＡ５０および暗号復号モジュールＢ６０で用いられる暗号復号方式は、例えばＤＥＳ、３ＤＥＳまたはＡＥＳを想定している。
【００８６】
暗号復号方式としてＤＥＳ、３ＤＥＳまたはＡＥＳを用いた場合は、上述のようにデータを所定容量のデータブロックに分けて暗号化する。この暗号化されたデータを復号するときは、暗号化されたデータブロックを順番に復号することが必要となる。この順番は、データを暗号化する際に用いられた暗号復号モジュールの個数で把握できる。このため、本発明の実施の形態においては、パケットのフォーマットにＭＣフラグを設けている。
【００８７】
１つの暗号復号モジュールしか備えていない通信装置は、受信したパケットのＭＣフラグを見てデータの復号の順番を判断する。例えば、ＭＣフラグが「１」となっている場合は、通信装置１００において暗号復号モジュールＡ５０および暗号復号モジュールＢ６０を用いてデータは暗号化されたことがわかる。一方、ＭＣフラグが「０」となっている場合は、通信装置１００において暗号復号モジュールＡ５０または暗号復号モジュールＢ６０のいずれか一方のみを用いてデータは暗号化されたことがわかる。
【００８８】
ＭＣフラグが「０」となっている場合は、図４（ａ）に示したような流れでデータの復号処理が行われることになる。ＭＣフラグが「１」となっている場合は、図１０に示す流れでデータの復号が行われることになる。
【００８９】
ＭＣフラグが「１」となっている場合は、データの復号の順番としてデータブロックＰ１を復号した後にデータブロックＰ３を復号し、データブロックＰ２を復号した後にデータブロックＰ４を復号しないとデータの復号ができない。図９においては、データブロックＰ１を復号した後にデータブロックＰ３を復号し、データブロックＰ２を復号した後にデータブロックＰ４を復号している流れになっている。なお、データブロックＰ２を復号した後にデータブロックＰ４を復号し、その後、データブロックＰ１を復号した後にデータブロックＰ３を復号してもよい。
【００９０】
このＭＣフラグがあることによって、備えられている暗号復号モジュールの個数が通信装置間において異なることがあってもデータブロックを復号する順番を把握できる。また、ＭＣフラグを解析できる機能を備えていない通信装置に対しては、本発明の実施の形態においては、通信装置１００中の送信先情報保持部２０１に予め送信先の暗号復号モジュールの個数を記憶させておくことによって、その相手の暗号復号モジュールの個数と同数の暗号復号モジュールを用いてデータを暗号化させることができるので従来からある復号機能を備えた通信装置との互換性を保つことも可能である。
【００９１】
図１１は、本発明の実施の形態における通信装置１００において暗号復号モジュールＡ５０および暗号復号モジュールＢ６０を用いて暗号化されたデータを、１つの暗号復号モジュールＡ５０しか備えていない図示しない通信装置２００において復号する際の処理の流れを示す図である。なお、各機能における名称および符号は通信装置１００におけるものと同一のものを用いることとする。
【００９２】
データを受信し、物理層インターフェースモジュール７０から制御部２０に共有メモリ４０に対しデータの転送が完了した旨の通知が来ると（Ｓ９７１）、ヘッダ情報解析部２０３においてデータの中に含まれているＭＣフラグが「１」であるか「０」であるかが判断される（Ｓ９７２）。
【００９３】
ＭＣフラグが「１」であると判断されると、ヘッダ情報解析部２０３はその旨の通知を処理要求発行部２０４に行う。この通知を受けた処理要求発行部２０４は、暗号復号モジュールＡ５０に対し複数のデータブロックから構成されるデータのうち奇数番目に並んだデータブロックを復号すべき旨の復号処理要求を発行する（Ｓ９７３）。この復号処理要求を受けた暗号復号モジュールＡ５０は、最初の奇数番目に並んだデータブロックに対し復号処理を行い、復号処理が終了すると処理終了通知受信部２０５に対し処理終了通知を行う（Ｓ９７４）。
【００９４】
処理終了通知受信部２０５は、処理終了通知を受け取ると受け取った旨を処理要求発行部２０４に通知する。この通知を受け取った処理要求発行部２０４は、全ての奇数番目のデータブロックに対し復号処理要求を発行したか否かを判断する（Ｓ９７５）。処理要求発行部２０４において全ての奇数番目のデータブロックに対し復号処理要求を発行していないと判断された場合、処理要求発行部２０４は、暗号復号モジュールＡ５０に対し複数のデータブロックから構成されるデータのうち奇数番目に並んだデータブロックを復号すべき旨の復号処理要求を発行する（ステップＳ９７３）。この奇数番目に並んだデータブロックの復号処理は暗号化された順番と同様の順番で行われる。
【００９５】
処理要求発行部２０４において全ての奇数番目のデータブロックに対し復号処理要求を発行したと判断された場合、処理要求発行部２０４は、暗号復号モジュールＢ６０に対し複数のデータブロックから構成されるデータのうち偶数番目に並んだデータブロックを復号すべき旨の復号処理要求を発行する（Ｓ９７６）。この復号処理要求を受けた暗号復号モジュールＢ６０は、最初の偶数番目に並んだデータブロックに対し復号処理を行い、復号処理が終了すると処理終了通知受信部２０５に対し処理終了通知を行う（Ｓ９７７）。
【００９６】
処理終了通知受信部２０５は、処理終了通知を受け取ると受け取った旨を処理要求発行部２０４に通知する。この通知を受け取った処理要求発行部２０４は、全ての偶数番目のデータブロックに対し復号処理要求を発行したか否かを判断する（Ｓ９７８）。処理要求発行部２０４において全ての偶数番目のデータブロックに対し復号処理要求を発行していないと判断された場合、処理要求発行部２０４は、暗号復号モジュールＢ６０に対し複数のデータブロックから構成されるデータのうち偶数番目に並んだデータブロックを復号すべき旨の復号処理要求を発行する（ステップＳ９７６）。この偶数番目に並んだデータブロックの復号処理は暗号化された順番と同様の順番で行われる。
【００９７】
処理要求発行部２０４において全ての偶数番目のデータブロックに対し復号処理要求を発行したと判断された場合、処理要求発行部２０４は、ホストインターフェースモジュール３０に対し復号したデータをホスト１０に転送すべき旨の処理要求を発行する（Ｓ９７９）。これを受けたホストインターフェースモジュール３０は、共有メモリ４０にアクセスし復号されたデータをホスト１０へ転送する。転送が終了するとホストインターフェースモジュール３０は、転送が終了した旨の処理終了通知を発行する（Ｓ９８０）。これを処理終了通知受信部２０５において受け取るとホスト１０へ復号されたデータの転送処理が終了する。
【００９８】
ＭＣフラグが「０」であると判断されると、ヘッダ情報解析部２０３はその旨の通知を処理要求発行部２０４に行う。この通知を受けた処理要求発行部２０４は、暗号復号モジュールＡ５０に対し複数のデータブロックから構成されるデータを復号すべき旨の復号処理要求を発行する（Ｓ９８１）。この復号処理要求を受けた暗号復号モジュールＡ５０は、復号処理を行い、復号処理が終了すると処理終了通知受信部２０５に対し処理終了通知を行う（Ｓ９８２）。
【００９９】
処理要求発行部２０４は、全てのデータブロックに対して復号処理要求を発行したか否かを判断する（Ｓ９８３）。処理要求発行部２０４において全てのデータブロックに対して復号処理要求を発行したと判断されると、ステップＳ９７９の処理が行われる。一方、処理要求発行部２０４において全てのデータブロックに対して復号処理要求を発行していないと判断されると、ステップＳ９８１に戻って処理が行われる。
【０１００】
なお、図１０および図１１においては、データの暗号化において２つの暗号復号モジュールを用いて暗号化されたデータを暗号復号モジュール１つで復号する場合について説明したが、データの暗号化において２つ以上の暗号復号モジュールを用いて暗号化されたデータを暗号復号モジュール１つで復号することも可能である。例えば、データブロックＰ１乃至Ｐ６を３つの暗号復号モジュールで暗号化した場合、データブロックＰ１を復号した後にデータブロックＰ４を復号し、データブロックＰ２を復号した後にデータブロックＰ５を復号し、データブロックＰ３を復号した後にデータブロックＰ６を復号するようにすることによって１つの暗号復号モジュールで復号することが可能である。暗号復号モジュールの個数が増えても同様の考え方を適用して復号すればよい。
【０１０１】
以上、本発明の実施の形態においては、暗号復号モジュールが２つの場合について説明したが、暗号復号モジュールが３つ以上であっても同様の効果を実現することは可能である。
【０１０２】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【０１０３】
すなわち、請求項１において、第１の共有メモリおよび第２の共有メモリは、例えば共有メモリ４０に対応する。また、第１のアクセス調停手段および第２のアクセス調停手段は、例えばアービタ８０に対応する。また、暗号化手段は、例えば暗号復号モジュールＡ５０および暗号復号モジュールＢ６０に対応する。また、ヘッダ情報生成手段は、例えばヘッダ情報生成部２０６に対応する。また、送信手段および受信手段は、例えば物理層インターフェースモジュール７０および物理層モジュール９０に対応する。また、暗号化手段数判断手段は、例えばヘッダ情報解析部２０３に対応する。また、復号手段は、例えば暗号復号モジュールＡ５０および暗号復号モジュールＢ６０に対応する。また、復号処理要求発行手段は、例えば処理要求発行部２０４に対応する。
【０１０４】
また、請求項２において、共有メモリは、例えば共有メモリ４０に対応する。また、アクセス調停手段は、例えばアービタ８０に対応する。また、暗号化手段は、例えば暗号復号モジュールＡ５０および暗号復号モジュールＢ６０に対応する。
【０１０５】
また、請求項３において、ヘッダ情報生成手段は、例えばヘッダ情報生成部２０６に対応する。
【０１０６】
また、請求項４において、送信先情報保持手段は、例えば送信先情報保持部２０１に対応する。また、復号手段数検索手段は、例えば復号器数検索部２０２に対応する。また、暗号化処理要求発行手段は、例えば、処理要求発行部２０４に対応する。
【０１０７】
また、請求項６において、共有メモリは、例えば共有メモリ４０に対応する。また、アクセス調停手段は、例えばアービタ８０に対応する。また、復号手段は、例えば暗号復号モジュールＡ５０および暗号復号モジュールＢ６０に対応する。
【０１０８】
また、請求項７において、受信手段は、例えば物理層インターフェースモジュール７０および物理層モジュール９０に対応する。また、暗号化手段数判断手段は、例えばヘッダ情報解析部２０３に対応する。また、復号処理要求発行手段は、例えば処理要求発行部２０４に対応する。
【０１０９】
また、請求項８において、共有メモリは、例えば共有メモリ４０に対応する。また、アクセス調停手段は、例えばアービタ８０に対応する。また、受信手段は、例えば物理層インターフェースモジュール７０および物理層モジュール９０に対応する。また、復号手段は、例えば暗号復号モジュールＡ５０または暗号復号モジュールＢ６０のいずれか一方に対応する。また、暗号化手段数判断手段は、ヘッダ情報解析部２０３に対応する。また、復号処理要求発行手段は、例えば処理要求発行部２０４に対応する。
【０１１０】
また、請求項９において、第１の暗号化処理要求手順は、例えばステップＳ９３４に対応する。また、暗号化手順は、例えばステップＳ９３８に対応する。また、暗号化終了判断手順は、例えばステップＳ９３５およびステップＳ９３７に対応する。また、第２の暗号化処理要求手順は、例えばステップＳ９３６に対応する。
【０１１１】
また、請求項１０において、受信手順は、例えばステップＳ９５１に対応する。また、暗号化手段数判断手順は、例えばステップＳ９５２に対応する。また、復号処理要求発行手順は、例えばステップＳ９５３およびステップＳ９５５に対応する。
【０１１２】
また、請求項１１において、第１の暗号化処理要求ステップは、例えばステップＳ９３４に対応する。また、暗号化ステップは、例えばステップＳ９３８に対応する。また、暗号化終了判断ステップは、例えばステップＳ９３５およびステップＳ９３７に対応する。また、第２の暗号化処理要求ステップは、例えばステップＳ９３６に対応する。
【０１１３】
また、請求項１２において、受信ステップは、例えばステップＳ９５１に対応する。また、暗号化手段数判断ステップは、例えばステップＳ９５２に対応する。また、復号処理要求発行ステップは、例えばステップＳ９５３およびステップＳ９５５に対応する。
【０１１４】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【０１１５】
【図１】本発明の実施の形態における通信装置１００の構成の一例を示す図である。
【図２】本発明の実施の形態における制御部２０を構成する機能の一例を示す図である。
【図３】本発明の実施の形態における通信装置１００のアービタ８０によって共有メモリ４０へのアクセスが制御されている様子を示すタイミングチャート図である。
【図４】本発明の実施の形態における通信装置１００を用いて暗号化処理を行う際のデータの流れを示す図である。
【図５】本発明の実施の形態における発明におけるパケットのフォーマットの一例を示す図である。
【図６】本発明の実施の形態におけるアービタ８０での処理の流れを示す図である。
【図７】各モジュールおよび共有メモリ４０間におけるデータの転送処理における流れを示す図である。
【図８】本発明の実施の形態における通信装置１００において、データを暗号化して他の通信装置に送信するまでの流れを示す図である。
【図９】本発明の実施の形態における通信装置１００において、データを復号してホスト１０に転送するまでの流れを示す図である。
【図１０】本発明の実施の形態における通信装置１００において暗号復号モジュールＡ５０および暗号復号モジュールＢ６０を用いて暗号化されたデータを、１つの暗号復号モジュールＡ５０しか備えていない図示しない通信装置２００において復号する際のデータの流れを示す図である。
【図１１】本発明の実施の形態における通信装置１００において暗号復号モジュールＡ５０および暗号復号モジュールＢ６０を用いて暗号化されたデータを、１つの暗号復号モジュールＡ５０しか備えていない図示しない通信装置２００において復号する際の処理の流れを示す図である。
【符号の説明】
【０１１６】
１０  ホスト
２０  制御部
３０  ホストインターフェースモジュール
４０  共有メモリ
５０、６０  暗号復号モジュール
７０  物理層インターフェースモジュール
８０  アービタ
９０  物理層モジュール
１００、２００  通信装置
２０１  送信先情報保持部
２０２  復号器数検索部
２０３  ヘッダ情報解析部
２０４  処理要求発行部
２０５  処理終了通知受信部
２０６  ヘッダ情報生成部
【図１】
2006295330.tif 000003
【図２】
2006295330.tif 000004
【図３】
2006295330.tif 000005
【図４】
2006295330.tif 000006
【図５】
2006295330.tif 000007
【図６】
2006295330.tif 000008
【図７】
2006295330.tif 000009
【図８】
2006295330.tif 000010
【図９】
2006295330.tif 000011
【図１０】
2006295330.tif 000012
【図１１】
2006295330.tif 000013