(57)【特許請求の範囲】
【請求項１】
ハッシュ演算を利用した認証を実施する情報処理システムであって、
暗号化される平文は、ｎ（ｎは自然数）個の平文ブロックにブロック暗号モード利用手段によって分割され、
前記暗号化される平文には、平文毎に異なる第一の設定値が前記ブロック暗号モード利用手段によって設定され、
前記第一の設定値と暗号鍵とを鍵オーバレイ手段による第一の演算方式により演算した第一の演算結果に対し、一方向ハッシュ演算手段によってハッシュ演算を行い、１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力し、
ｉ番目（ｉ≦ｎを満たす自然数）のハッシュ演算結果とｉ番目の平文ブロックとを第二の演算方式により演算した結果を、暗号化されたｉ番目の暗号文ブロックとして前記ブロック暗号モード利用手段が出力し、
前記ｉ番目のハッシュ演算結果と暗号鍵とを前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力することを特徴とする情報処理システム。
【請求項２】
前記平文として、暗号化された暗号文を採用することで、暗号化結果として、元の平文を得ることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
ハッシュ演算を利用した認証を実施する情報処理システムであって、
暗号化される平文は、ｎ（ｎは自然数）個の平文ブロックにブロック暗号モード利用手段によって分割され、
前記暗号化される平文には、平文毎に異なる第一の設定値が前記ブロック暗号モード利用手段によって設定され、
前記第一の設定値と暗号鍵とを鍵オーバレイ手段による第一の演算方式により演算した第一の演算結果に対し、一方向ハッシュ演算手段によってハッシュ演算を行い、１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力し、
ｉ番目（ｉ≦ｎを満たす自然数）のハッシュ演算結果とｉ番目の平文ブロックとを第二の演算方式により演算した結果を、暗号化されたｉ番目の暗号文ブロックとして前記ブロック暗号モード利用手段が出力し、
前記ｉ番目の暗号文ブロックと暗号鍵とを前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力することを特徴とする情報処理システム。
【請求項４】
前記平文として、暗号化された暗号文を採用し、かつ前記ｉ番目の暗号文ブロックと暗号鍵とを前記鍵オーバレイ手段による前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を出力する代わりに、前記ｉ番目の平文ブロックと暗号鍵とを前記鍵オーバレイ手段による前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を出力するように変更して、元の平文を得ることを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記ｉ番目のハッシュ演算結果と暗号鍵、または前記ｉ番目の暗号文ブロックと暗号鍵とを前記第一の演算方式により演算した第二の演算結果に対し、ハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を出力する際に、前記第一の演算方式で演算する被演算子を選択及び設定する前記ブロック暗号モード利用手段と、
前記ブロック暗号モード利用手段におけるハッシュ演算を実施する前記一方向ハッシュ演算手段と、
前記平文毎に異なる第一の設定値および暗号化に使用する暗号鍵を保持するパラメタ記憶手段と、
を有することを特徴とする請求項１から４のいずれかに記載の情報処理システム。
【請求項６】
前記パラメタ記憶手段により記憶される前記第一の設定値は、前記一方向ハッシュ演算手段の実施毎ではなく、平文毎にユニークとなるように管理される初期化ベクトルと、初期化ベクトルが重複しない期間において、同じ暗号鍵を記憶することを特徴とする請求項１から５のいずれかに記載の情報処理システム。
【請求項７】
前記第一の演算方式は、ビット連結演算、あるいは排他的論理和演算、あるいはビット連結演算及び排他的論理和演算を交互に混ぜ込む演算のいずれかで合成するものであることを特徴とする請求項１から６のいずれかに記載の情報処理システム。
【請求項８】
前記第二の演算方式は、排他的論理和演算で合成するものであることを特徴とする請求項１から７のいずれかに記載の情報処理システム。
【請求項９】
ハッシュ演算を利用した認証を実施する情報処理方法であって、
暗号化される平文は、ｎ（ｎは自然数）個の平文ブロックにブロック暗号モード利用手段によって分割され、
前記暗号化される平文には、平文毎に異なる第一の設定値が前記ブロック暗号モード利用手段によって設定され、
前記第一の設定値と暗号鍵とを鍵オーバレイ手段による第一の演算方式により演算した第一の演算結果に対し、一方向ハッシュ演算手段によってハッシュ演算を行い、１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力し、
ｉ番目（ｉ≦ｎを満たす自然数）のハッシュ演算結果とｉ番目の平文ブロックとを第二の演算方式により演算した結果を、暗号化されたｉ番目の暗号文ブロックとして前記ブロック暗号モード利用手段が出力し、
前記ｉ番目のハッシュ演算結果と暗号鍵とを前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力することを特徴とする情報処理方法。
【請求項１０】
前記平文として、暗号化された暗号文を採用することで、暗号化結果として、元の平文を得ることを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
ハッシュ演算を利用した認証を実施する情報処理方法であって、
暗号化される平文は、ｎ（ｎは自然数）個の平文ブロックにブロック暗号モード利用手段によって分割され、
前記暗号化される平文には、平文毎に異なる第一の設定値が前記ブロック暗号モード利用手段によって設定され、
前記第一の設定値と暗号鍵とを鍵オーバレイ手段による第一の演算方式により演算した第一の演算結果に対し、一方向ハッシュ演算手段によってハッシュ演算を行い、１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力し、
ｉ番目（ｉ≦ｎを満たす自然数）のハッシュ演算結果とｉ番目の平文ブロックとを第二の演算方式により演算した結果を、暗号化されたｉ番目の暗号文ブロックとして前記ブロック暗号モード利用手段が出力し、
前記ｉ番目の暗号文ブロックと暗号鍵とを前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力することを特徴とする情報処理方法。
【請求項１２】
前記平文として、暗号化された暗号文を採用し、かつ前記ｉ番目の暗号文ブロックと暗号鍵とを前記鍵オーバレイ手段による前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を出力する代わりに、前記ｉ番目の平文ブロックと暗号鍵とを前記鍵オーバレイ手段による前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を出力するように変更して、元の平文を得ることを特徴とする請求項１１に記載の情報処理方法。
【請求項１３】
前記ｉ番目のハッシュ演算結果と暗号鍵、または前記ｉ番目の暗号文ブロックと暗号鍵とを前記第一の演算方式により演算した第二の演算結果に対し、ハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を出力する際に、前記第一の演算方式で演算する被演算子を前記ブロック暗号モード利用手段によって選択及び設定するブロック暗号モード利用ステップと、
前記ブロック暗号モード利用ステップにおけるハッシュ演算を前記一方向ハッシュ演算手段によって実施する一方向ハッシュ演算ステップと、
前記平文毎に異なる第一の設定値および暗号化に使用する暗号鍵をパラメタ記憶手段によって保持するパラメタ記憶ステップと、
を有することを特徴とする請求項９から１２のいずれかに記載の情報処理方法。
【請求項１４】
前記パラメタ記憶ステップにて記憶される前記第一の設定値は、前記一方向ハッシュ演算手段の実施毎ではなく、平文毎にユニークとなるように管理される初期化ベクトルと、初期化ベクトルが重複しない期間において、同じ暗号鍵を記憶することを特徴とする請求項９から１３のいずれかに記載の情報処理方法。
【請求項１５】
前記第一の演算方式は、ビット連結演算、あるいは排他的論理和演算、あるいはビット連結演算及び排他的論理和演算を交互に混ぜ込む演算のいずれかで合成するものであることを特徴とする請求項９から１４のいずれかに記載の情報処理方法。
【請求項１６】
前記第二の演算方式は、排他的論理和演算で合成するものであることを特徴とする請求項９から１５のいずれかに記載の情報処理方法。
【請求項１７】
ハッシュ演算を利用した認証を実施する情報処理プログラムであって、
暗号化される平文は、ｎ（ｎは自然数）個の平文ブロックにブロック暗号モード利用手段によって分割され、
前記暗号化される平文には、平文毎に異なる第一の設定値が前記ブロック暗号モード利用手段によって設定され、
前記第一の設定値と暗号鍵とを鍵オーバレイ手段による第一の演算方式により演算した第一の演算結果に対し、一方向ハッシュ演算手段によってハッシュ演算を行い、１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力し、
ｉ番目（ｉ≦ｎを満たす自然数）のハッシュ演算結果とｉ番目の平文ブロックとを第二の演算方式により演算した結果を、暗号化されたｉ番目の暗号文ブロックとして前記ブロック暗号モード利用手段が出力し、
前記ｉ番目のハッシュ演算結果と暗号鍵とを前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力する、
各処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項１８】
前記平文として、暗号化された暗号文を採用することで、暗号化結果として、元の平文を得ることを特徴とする請求項１７に記載の情報処理プログラム。
【請求項１９】
ハッシュ演算を利用した認証を実施する情報処理プログラムであって、
暗号化される平文は、ｎ（ｎは自然数）個の平文ブロックにブロック暗号モード利用手段によって分割され、
前記暗号化される平文には、平文毎に異なる第一の設定値が前記ブロック暗号モード利用手段によって設定され、
前記第一の設定値と暗号鍵とを鍵オーバレイ手段による第一の演算方式により演算した第一の演算結果に対し、一方向ハッシュ演算手段によってハッシュ演算を行い、１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力し、
ｉ番目（ｉ≦ｎを満たす自然数）のハッシュ演算結果とｉ番目の平文ブロックとを第二の演算方式により演算した結果を、暗号化されたｉ番目の暗号文ブロックとして前記ブロック暗号モード利用手段が出力し、
前記ｉ番目の暗号文ブロックと暗号鍵とを前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を前記ブロック暗号モード利用手段に出力する、
各処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項２０】
前記平文として、暗号化された暗号文を採用し、かつ前記ｉ番目の暗号文ブロックと暗号鍵とを前記鍵オーバレイ手段による前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を出力する処理の代わりに、前記ｉ番目の平文ブロックと暗号鍵とを前記鍵オーバレイ手段による前記第一の演算方式により演算した第二の演算結果に対し、前記一方向ハッシュ演算手段によってハッシュ演算を行って、ｉ＋１番目のハッシュ演算結果を出力する処理を用いることで、元の平文を得ることを特徴とする請求項１９に記載の情報処理プログラム。
【請求項２１】
前記ｉ番目のハッシュ演算結果と暗号鍵、または前記ｉ番目の暗号文ブロックと暗号鍵とを前記第一の演算方式により演算した第二の演算結果に対し、ハッシュ演算を行い、ｉ＋１番目のハッシュ演算結果を出力する際に、前記第一の演算方式で演算する被演算子を前記ブロック暗号モード利用手段によって選択及び設定するブロック暗号モード利用ステップと、
前記ブロック暗号モード利用ステップにおけるハッシュ演算を前記一方向ハッシュ演算手段によって実施する一方向ハッシュ演算ステップと、
前記平文毎に異なる第一の設定値および暗号化に使用する暗号鍵をパラメタ記憶手段によって保持するパラメタ記憶ステップと、
を有することを特徴とする請求項１７から２０のいずれかに記載の情報処理プログラム。
【請求項２２】
前記パラメタ記憶ステップにて記憶される前記第一の設定値は、前記一方向ハッシュ演算手段の実施毎ではなく、平文毎にユニークとなるように管理される初期化ベクトルと、初期化ベクトルが重複しない期間において、同じ暗号鍵を記憶することを特徴とする請求項１７から２１のいずれかに記載の情報処理プログラム。
【請求項２３】
前記第一の演算方式は、ビット連結演算、あるいは排他的論理和演算、あるいはビット連結演算及び排他的論理和演算を交互に混ぜ込む演算のいずれかで合成するものであることを特徴とする請求項１７から２２のいずれかに記載の情報処理プログラム。
【請求項２４】
前記第二の演算方式は、排他的論理和演算で合成するものであることを特徴とする請求項１７から２３のいずれかに記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法および情報処理プログラムに関し、秘密情報のセキュリティを確保する技術として、特に、回路規模を縮小することが望ましいようなセンサネットワーク構成ノードで、暗号化処理およびメッセージ認証を同時に実現する場合に好適な技術である。
【背景技術】
【０００２】
近年の通信網の発達に伴い、暗号化処理アルゴリズムやプロトコルにより、セキュリティ機能を実現する研究（情報セキュリティ）が盛んに行われている。従来の暗号化処理アルゴリズムには、様々なものがあるが、大きく分類すると、公開鍵暗号方式と、共通鍵暗号鍵方式とに分類される。非特許文献１にも記載があるように、実装の簡便さ、処理速度を重視する場合、公開鍵暗号方式よりも共通鍵暗号方式が一般に用いられる。共通鍵暗号方式のアルゴリズムとして、共通鍵ブロック暗号(例ＤＥＳ(Data Encryption Standard))がよく知られている。共通鍵ブロック暗号は、暗号化Ｅと復号Ｅ^{−１}との２つのアルゴリズムからなる。任意の鍵ｋについて、復号Ｅ^{−１}は暗号化Ｅの逆関数になっていて、
Ｅ^{−１}(Ｅ(ｍ))＝ｍ
の関係（ｍは任意のブロック）を満たすようになっている。【０００３】
暗号化アルゴリズムの入力ブロック、復号アルゴリズムの出力ブロックは平文、暗号化アルゴリズムの出力ブロック、復号アルゴリズムの入力ブロックは暗号文という。ブロック長よりも長い平文を暗号化する際のメカニズムとして、特許文献１の特開２００４−４５６４１号公報「暗号処理装置およびその方法」等で公知として扱われている暗号利用モードがある。【０００４】
例えば、前記特許文献１によると、暗号利用モードの中の１モードであるＣＦＢ（ｃｉｐｈｅｒ  ｆｅｅｄｂａｃｋ）モードは、図５に示す構造を持つ。すなわち、初期状態においてＩＶ（ｉｎｉｔｉａｌ  ｖｅｃｔｏｒ）データがレジスタ２ａに保持され、このＩＶデータがＤＥＳ暗号演算部１ａにおいて暗号化されて、暗号化データＥが出力される。
次いで、暗号化データＥの上位ｋビット分のデータから乱数データＲが抽出され、これとｋビットのメッセージＭとの排他的論理和演算によって、ｋビットの暗号文Ｃが生成される。生成されたｋビットの暗号文Ｃは、レジスタ２ａに保持されたＩＶデータの下位ビット側に付加され、その上位ｋビット分のデータが棄却されて、レジスタ２ａに保持される。次回、送信される暗号文の乱数データは、この更新されたデータを用いて生成される。【０００５】
暗号文Ｃの受信側では、初期状態において、ＩＶデータがレジスタ２ｂに保持され、このＩＶデータがＤＥＳ暗号演算部１ｂにおいて暗号化されて、暗号化データＥが出力される。次いで、暗号化データＥの上位のｋビット分のデータから乱数データＲが抽出され、これとｋビットの暗号文Ｃとの排他的論理和演算によって、ｋビットのメッセージＭが復元される。受信されたｋビットの暗号文Ｃは、レジスタ２ｂに保持されたＩＶデータの下位ビット側に付加され、その上位ｋビット分のデータが棄却されて、レジスタ２ｂに保持される。次回受信する暗号文との排他的論理和演算が行われる乱数データは、この更新されたデータを用いて生成される。【０００６】
同様に、前記特許文献１によると、暗号利用モードの中の１モードであるＯＦＢ（ｏｕｔｐｕｔ  ｆｅｅｄｂａｃｋ）モードは、図６に示す構造を持つ。すなわち、ＯＦＢモードでは、初期状態において６４ビットのＩＶデータがレジスタ２ａに保持され、このＩＶデータがＤＥＳ暗号演算部１ａにおいて暗号化されて、暗号化データＥが出力される。次いで、暗号化データＥの上位ｋ（ただしｋは１≦ｋ≦６４の整数を示す）ビット分のデータからデータ抽出部４ａにより乱数データＲが抽出され、これとメッセージＭとの排他的論理和が演算回路３ａにおいて演算される。この演算結果からｋビットの暗号文Ｃが得られる。【０００７】
また、乱数データＲは、レジスタ２ａに保持されたＩＶデータの下位ビット側に付加され、その上位ｋビット分のデータが棄却される。こうしてできる６４ビットのデータがレジスタ２ａにおいて新たに保持されて、次回送信される暗号文の乱数データを生成するために用いられる。【０００８】
暗号文Ｃの受信側でも、送信側と同様な構成によって同一の乱数データＲが生成され、これと暗号文Ｃの排他的論理和の演算結果から、元のメッセージＭが復元される。【０００９】
また、メッセージ認証は、メッセージすなわち送受信されるデータの、送信元と受信元とにおける同一性の保証であり、コンピュータウイルス、不正侵入等を使った破壊行為によりメッセージが変更されていないことを保証するための手続きである。メッセージ認証の従来の代表的な方式は、一方向ハッシュ演算により生成するメッセージ認証子(ＭＡＣ)を用いたものである。メッセージｍに対しその一方向ハッシュ演算値
ｘ＝Ｈ(ｍ)
を計算し、ｘを保管する。ｍが改竄されて、別のメッセージｍ'になっていた場合、
ｘ≠Ｈ(ｍ')
となるので、メッセージが改竄されたことが分かる。【００１０】
ここで、一方向ハッシュ演算とは、任意の長さのメッセージを、決められた長さのメッセージに圧縮する演算のことを言い、圧縮されたメッセージから元のメッセージには二度と復元が不可能な特徴を持つ。
【特許文献１】特開２００４−４５６４１号公報（第２９−３１頁）
【非特許文献１】大塚浩昭、植田広樹(ＮＴＴ)「ＦＥＡＬ−ＮＸのソフトウェア実装」
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来は、暗号化処理とメッセージ認証（改竄検知処理）とは、独立して実施されていた。この結果、暗号方式および認証方式を共に必要とする場合、独立な機構として実装することが必要なために、回路規模が大きく複雑になり、不都合が生じる場合があった。特に、センサネットワークに適用される装置(センサノード)においては、回路の実装可能な規模が制限されるため、全ての機構を実装することが困難な状況が生じている。また、回路の消費電流や製造コストは、回路規模に比例するので、低消費電力化や低コスト化のためには、回路規模を小さくするアーキテクチャが必要とされている。【００１２】
本発明は、このような状況を鑑みてなされたものであり、できる限り実装する機構を共用化し、シンプル化しつつも、暗号化処理とメッセージ認証とを同時に実現する情報処理システム、情報処理方法および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
前述の課題を解決するため、本発明による情報処理システム、情報処理方法および情報処理プログラムは、次のような特徴的な構成を採用している。【００１４】
（１）メッセージ認証の実現技術である一方向ハッシュ演算を、共通鍵ブロック暗号演算の代わりに、ＣＦＢ（ｃｉｐｈｅｒ  ｆｅｅｄｂａｃｋ）モードおよび／またはＯＦＢ（ｏｕｔｐｕｔ  ｆｅｅｄｂａｃｋ）モードとして実行可能な共通鍵用のブロック暗号に入力データを変換する演算に用いる情報処理システム。
（２）暗号化利用モードのＣＦＢおよび／またはＯＦＢモードとして暗号化処理および／または復号処理を実施するブロック暗号モード利用手段と、前記ブロック暗号モード利用手段における暗号演算部として共通鍵ブロック暗号演算の代わりに機能する一方向ハッシュ演算手段と、前記ブロック暗号モード利用手段における連鎖の開始ブロックとして使用する初期化ベクトルおよび暗号化に使用する暗号鍵を保持するパラメタ記憶手段と、前記ブロック暗号モード利用手段における暗号演算部に入力されるデータに、前記パラメタ記憶手段に保持する暗号鍵をオーバレイ演算する鍵オーバレイ演算手段と、を少なくとも
含む構成を有する上記（１）の情報処理システム。
（３）前記ブロック暗号モード利用手段は、前記一方向ハッシュ演算手段の出力サイズ長でブロック分割され、必要があれば、最終ブロックにパディング処理が施された平文の各ブロックをＰ［ｉ］（１≦ｉ≦ｎ）、平文のブロックＰ［ｉ］に対応する暗号文の各ブロックをＣ［ｉ］（１≦ｉ≦ｎ）、前記パラメタ記憶手段で保持する初期化ベクトル、暗号鍵をそれぞれＩＶ、ｋ、前記一方向ハッシュ演算手段における演算をｈ(・)、排他的論理和を○、前記鍵オーバレイ演算手段における演算を◎と表現したとき、Ｃ［ｉ］＝Ｐ［ｉ］○ｈ（ｋ◎Ｃ［ｉ−１］）
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
Ｐ［ｉ］＝Ｃ［ｉ］○ｈ（ｋ◎Ｃ[ｉ−１]）
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
のように、暗号化および復号をＣＦＢモードに準じて実施する上記（２）の情報処理システム。
（４）前記ブロック暗号モード利用手段は、前記一方向ハッシュ演算手段の出力サイズ長でブロック分割され、必要があれば、最終ブロックにパディング処理が施された平文の各ブロックをＰ［ｉ］（１≦ｉ≦ｎ）、平文のブロックＰ［ｉ］に対応する暗号文の各ブロックをＣ［ｉ］（１≦ｉ≦ｎ）、前記パラメタ記憶手段で保持する初期化ベクトル、暗号鍵をそれぞれＩＶ、ｋ、前記一方向ハッシュ演算手段における演算をｈ(・)、排他的論理和を○、前記鍵オーバレイ演算手段における演算を◎、平文および暗号文のどちらからも独立している状態をＳ［ｉ］（１≦ｉ≦ｎ）と表現したとき、
Ｃ［ｉ］＝Ｐ［ｉ］○Ｓ［ｉ］  ;  Ｓ［ｉ］＝ｈ（ｋ◎Ｓ［ｉ−１]）
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
Ｐ［ｉ］＝Ｃ［ｉ］○Ｓ［ｉ］  ;  Ｓ［ｉ］＝ｈ（ｋ◎Ｓ［ｉ−１]) 
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
のように、暗号化および復号をＯＦＢモードに準じて実施する上記（２）の情報処理システム。
（５）前記一方向ハッシュ演算手段は、任意長の入力データから、固定長のハッシュ値を出力するハッシュ関数を備え、かつ、入力データに１ビットの変化があると、平均して、ハッシュ値の中の半分のビットが変化し、ハッシュ値から元の平文を生成することができない一方向性のハッシュ値を演算する上記（２）ないし（４）のいずれかの情報処理システム。
（６）前記パラメタ記憶手段は、前記ブロック暗号モード利用手段に入力する初期化ベクトルと前記鍵オーバレイ演算手段に入力する暗号鍵とを記憶する上記（２）ないし（５）のいずれかの情報処理システム。
（７）前記鍵オーバレイ演算手段は、前記ブロック暗号モード利用手段から入力されるデータと前記パラメタ記憶手段から入力される暗号鍵とを、少なくとも、ビット連結あるいは排他的論理和あるいはｎビット(１≦ｎ)ずつを交互に混ぜ込む演算のいずれかで合成する上記（２）ないし（６）のいずれかの情報処理システム。
（８）メッセージ認証の実現技術である一方向ハッシュ演算を、共通鍵ブロック暗号演算の代わりに、ＣＦＢ（ｃｉｐｈｅｒ  ｆｅｅｄｂａｃｋ）モードおよび／またはＯＦＢ（ｏｕｔｐｕｔ  ｆｅｅｄｂａｃｋ）モードとして実行可能な共通鍵用のブロック暗号に入力データを変換する演算に用いる情報処理方法。
（９）暗号化利用モードのＣＦＢおよび／またはＯＦＢモードとして暗号化処理および／または復号処理を実施するブロック暗号モード利用ステップと、前記ブロック暗号モード利用ステップにおける暗号演算処理として共通鍵ブロック暗号演算の代わりに機能する一方向ハッシュ演算ステップと、前記ブロック暗号モード利用ステップにおける連鎖の開始ブロックとして使用する初期化ベクトルおよび暗号化に使用する暗号鍵を保持するパラメタ記憶ステップと、前記ブロック暗号モード利用ステップにおける暗号演算処理に入力されるデータに、前記パラメタ記憶ステップにて保持する暗号鍵をオーバレイ演算する鍵オーバレイ演算ステップと、を少なくとも含む構成を有する上記（８）の情報処理方法。
（１０）前記ブロック暗号モード利用ステップは、前記一方向ハッシュ演算ステップの出力サイズ長でブロック分割され、必要があれば、最終ブロックにパディング処理が施された平文の各ブロックをＰ［ｉ］（１≦ｉ≦ｎ）、平文のブロックＰ［ｉ］に対応する暗号文の各ブロックをＣ［ｉ］（１≦ｉ≦ｎ）、前記パラメタ記憶ステップで保持する初期化ベクトル、暗号鍵をそれぞれＩＶ、ｋ、前記一方向ハッシュ演算ステップにおける演算をｈ(・)、排他的論理和を○、前記鍵オーバレイ演算ステップにおける演算を◎と表現したとき、
Ｃ［ｉ］＝Ｐ［ｉ］○ｈ（ｋ◎Ｃ［ｉ−１])
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
Ｐ［ｉ］＝Ｃ［ｉ］○ｈ（ｋ◎Ｃ[ｉ−１]）
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
のように、暗号化および復号をＣＦＢモードに準じて実施する上記（９）の情報処理方法。
（１１）前記ブロック暗号モード利用ステップは、前記一方向ハッシュ演算ステップの出力サイズ長でブロック分割され、必要があれば、最終ブロックにパディング処理が施された平文の各ブロックをＰ［ｉ］（１≦ｉ≦ｎ）、平文のブロックＰ［ｉ］に対応する暗号文の各ブロックをＣ［ｉ］（１≦ｉ≦ｎ）、前記パラメタ記憶ステップで保持する初期化ベクトル、暗号鍵をそれぞれＩＶ、ｋ、前記一方向ハッシュ演算ステップにおける演算をｈ(・)、排他的論理和を○、前記鍵オーバレイ演算ステップにおける演算を◎、平文および暗号文のどちらからも独立している状態をＳ［ｉ］（１≦ｉ≦ｎ）と表現したとき、Ｃ［ｉ］＝Ｐ［ｉ］○Ｓ［ｉ］  ;  Ｓ［ｉ］＝ｈ（ｋ◎Ｓ［ｉ−１]）
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
Ｐ［ｉ］＝Ｃ［ｉ］○Ｓ［ｉ］  ;  Ｓ［ｉ］＝ｈ（ｋ◎Ｓ［ｉ−１]) 
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
のように、暗号化および復号をＯＦＢモードに準じて実施する上記（９）の情報処理方法。
（１２）前記一方向ハッシュ演算ステップは、任意長の入力データから、固定長のハッシュ値を出力するハッシュ関数を備え、かつ、入力データに１ビットの変化があると、平均して、ハッシュ値の中の半分のビットが変化し、ハッシュ値から元の平文を生成することができない一方向性のハッシュ値を演算する上記（９）ないし（１１）のいずれかの情報処理方法。
（１３）前記パラメタ記憶ステップは、前記ブロック暗号モード利用ステップに入力する初期化ベクトルと前記鍵オーバレイ演算ステップに入力する暗号鍵とを記憶する上記（９）ないし（１２）のいずれかの情報処理方法。
（１４）前記鍵オーバレイ演算ステップは、前記ブロック暗号モード利用ステップから入力されるデータと前記パラメタ記憶ステップから入力される暗号鍵とを、少なくとも、ビット連結あるいは排他的論理和あるいはｎビット(１≦ｎ)ずつを交互に混ぜ込む演算のいずれかで合成する上記（９）ないし（１３）のいずれかの情報処理方法。
（１５）メッセージ認証の実現技術である一方向ハッシュ演算を、共通鍵ブロック暗号演算の代わりに、ＣＦＢ（ｃｉｐｈｅｒ  ｆｅｅｄｂａｃｋ）モードおよび／またはＯＦＢ（ｏｕｔｐｕｔ  ｆｅｅｄｂａｃｋ）モードとして実行可能な共通鍵用のブロック暗号に入力データを変換する演算に用いる情報処理プログラム。
（１６）暗号化利用モードのＣＦＢおよび／またはＯＦＢモードとして暗号化処理および／または復号処理を実施するブロック暗号モード利用ステップと、前記ブロック暗号モード利用ステップにおける暗号演算処理として共通鍵ブロック暗号演算の代わりに機能する一方向ハッシュ演算ステップと、前記ブロック暗号モード利用ステップにおける連鎖の開始ブロックとして使用する初期化ベクトルおよび暗号化に使用する暗号鍵を保持するパラメタ記憶ステップと、前記ブロック暗号モード利用ステップにおける暗号演算処理に入力されるデータに、前記パラメタ記憶ステップにて保持する暗号鍵をオーバレイ演算する鍵オーバレイ演算ステップと、を少なくとも含む構成を有する上記（１５）の情報処理プログラム。
（１７）前記ブロック暗号モード利用ステップは、前記一方向ハッシュ演算ステップの出力サイズ長でブロック分割され、必要があれば、最終ブロックにパディング処理が施された平文の各ブロックをＰ［ｉ］（１≦ｉ≦ｎ）、平文のブロックＰ［ｉ］に対応する暗号文の各ブロックをＣ［ｉ］（１≦ｉ≦ｎ）、前記パラメタ記憶ステップで保持する初期化ベクトル、暗号鍵をそれぞれＩＶ、ｋ、前記一方向ハッシュ演算ステップにおける演算をｈ(・)、排他的論理和を○、前記鍵オーバレイ演算ステップにおける演算を◎と表現したとき、
Ｃ［ｉ］＝Ｐ［ｉ］○ｈ（ｋ◎Ｃ［ｉ−１])
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
Ｐ［ｉ］＝Ｃ［ｉ］○ｈ（ｋ◎Ｃ[ｉ−１]）
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
のように、暗号化および復号をＣＦＢモードに準じて実施する上記（１６）の情報処理プログラム。
（１８）前記ブロック暗号モード利用ステップは、前記一方向ハッシュ演算ステップの出力サイズ長でブロック分割され、必要があれば、最終ブロックにパディング処理が施された平文の各ブロックをＰ［ｉ］（１≦ｉ≦ｎ）、平文のブロックＰ［ｉ］に対応する暗号文の各ブロックをＣ［ｉ］（１≦ｉ≦ｎ）、前記パラメタ記憶ステップで保持する初期化ベクトル、暗号鍵をそれぞれＩＶ、ｋ、前記一方向ハッシュ演算ステップにおける演算をｈ(・)、排他的論理和を○、前記鍵オーバレイ演算ステップにおける演算を◎、平文および暗号文のどちらからも独立している状態をＳ［ｉ］（１≦ｉ≦ｎ）と表現したとき、
Ｃ［ｉ］＝Ｐ［ｉ］○Ｓ［ｉ］  ;  Ｓ［ｉ］＝ｈ（ｋ◎Ｓ［ｉ−１]）
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
Ｐ［ｉ］＝Ｃ［ｉ］○Ｓ［ｉ］  ;  Ｓ［ｉ］＝ｈ（ｋ◎Ｓ［ｉ−１]) 
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
のように、暗号化および復号をＯＦＢモードに準じて実施する上記（１６）の情報処理プログラム。
（１９）前記一方向ハッシュ演算ステップは、任意長の入力データから、固定長のハッシュ値を出力するハッシュ関数を備え、かつ、入力データに１ビットの変化があると、平均して、ハッシュ値の中の半分のビットが変化し、ハッシュ値から元の平文を生成することができない一方向性のハッシュ値を演算する上記（１６）ないし（１８）のいずれかの情報処理プログラム。
（２０）前記パラメタ記憶ステップは、前記ブロック暗号モード利用ステップに入力する初期化ベクトルと前記鍵オーバレイ演算ステップに入力する暗号鍵とを記憶する上記（１６）ないし（１９）のいずれかの情報処理プログラム。
（２１）前記鍵オーバレイ演算ステップは、前記ブロック暗号モード利用ステップから入力されるデータと前記パラメタ記憶ステップから入力される暗号鍵を、少なくとも、ビット連結あるいは排他的論理和あるいはｎビット(１≦ｎ)ずつを交互に混ぜ込む演算のいずれかで合成する上記（１６）ないし（２０）のいずれかの情報処理プログラム。
【発明の効果】
【００１５】
本発明の情報処理システム、情報処理方法および情報処理プログラムによれば、以下のような効果を奏することができる。【００１６】
第１の効果は、一方向ハッシュ演算器のみで暗号化と復号とを実現できるため、暗号化処理およびメッセージ認証を同時に実現する際に、共通鍵暗号演算に使用する暗号化と復号との両アルゴリズムを追加実装する必要がなく、回路規模の増加を抑止でき、総合的な回路規模の縮小効果による低消費電力化・低コスト化が可能となることである。【００１７】
第２の効果は、一方向ハッシュ演算の方が、共通鍵暗号演算と比較して、一般的に総計算量が少ないことが多く、かつ、使用するアルゴリズムによっては、軽量化を図れる場合が多く、その結果として、暗号通信におけるスループットの上昇、および、処理時間の短縮による低消費電力化が可能となることである。
【図面の簡単な説明】
【００１８】
【図１】本発明の最良の形態の情報処理システムの全体構成の一例を示すシステム構成図である。
【図２】本発明における一方向ハッシュ演算をＣＦＢモードとして実行可能な共通鍵用のブロック暗号に変換する演算に用いる機構を説明する概念図である。
【図３】本発明における一方向ハッシュ演算をＯＦＢモードとして実行可能な共通鍵用のブロック暗号に変換する演算に用いる機構を説明する概念図である。
【図４】本発明による情報処理システムを実施するための最良の形態の動作を示す流れ図である。
【図５】ＣＦＢ（ｃｉｐｈｅｒ  ｆｅｅｄｂａｃｋ）モードの概要を説明するための概念図である。
【図６】ＯＦＢ（ｏｕｔｐｕｔ  ｆｅｅｄｂａｃｋ）モードの概要を説明するための概念図である。
【符号の説明】
【００１９】
１−１〜１−ｎ  ノード
１ａ、１ｂ      ＤＥＳ暗号演算部
１０            情報処理システム
１１            パラメタ記憶部
１２            ブロック暗号モード利用部
１２１          鍵オーバレイ演算部
１２２          一方向ハッシュ演算部
１３            送受信部
１４            平文入出力部
２              ネットワーク
２ａ、２ｂ      レジスタ
３ａ、３ｂ      演算回路
４ａ、４ｂ      データ抽出部
【発明を実施するための最良の形態】
【００２０】
以下、本発明による情報処理システム、情報処理方法および情報処理プログラムの好適実施形態例について添付図を参照して説明する。【００２１】
図１に、本発明の最良の形態の情報処理システムの全体構成の一例を示す。図１を参照すると、本実施の形態の情報処理システム１０は、１ないしｎ台のノード１−ｉ(１≦ｉ≦ｎ)が、ネットワーク２で接続され、各ノード１−ｉ間で暗号通信が実施される。ノード１−１は、パラメタ記憶手段であるパラメタ記憶部１１と、ブロック暗号モード利用手段であるブロック暗号モード利用部１２と、鍵オーバレイ手段である鍵オーバレイ演算部１２１と、一方向ハッシュ演算手段である一方向ハッシュ演算部１２２と、無線あるいは有線のネットワーク２とのインタフェースである送受信部１３とを少なくとも有し、さらに、外部とのデータ入出力手段である平文入出力部１４を備えていても良い。以降、各ノード１−ｊ（２≦ｊ≦ｎ)に関しては、構成は全て等しいので、ノード１−１を参照して説明することにする。【００２２】
ノード１−１に関して、パラメタ記憶部１１に格納する初期化ベクトル（ＩＶ：ｉｎｉｔｉａｌ  ｖｅｃｔｏｒ）および暗号鍵ｋは、以下の動作の開始前において予め記憶させておくか、平文入出力部１４からそれぞれについて入力を受け付けて記憶しておく。なお、初期化ベクトルＩＶに関しては、ネットワーク２を介して、送受信部１３で受信したデータを記憶しても良い。暗号鍵ｋに関しても、ネットワーク２を通過した際に外部に漏洩の危険性がなければ、ネットワーク２を介して送受信部１３で受信したデータを記憶、あるいは、そのデータを基に演算した結果を暗号鍵ｋとみなして記憶しても良い。【００２３】
ここで、初期化ベクトルＩＶに関しては、重複しないユニークなものでなければならないが、特に秘密にしておく必要はなく、シリアル番号のように暗号化するデータ１つずつに対応してカウントアップされるものであっても良く、暗号鍵の寿命が尽きるまでに、同じ番号が出現しないようなものが望ましい。本実施の形態においては、２つのノード間で送受信した暗号文の個数を双方でカウントし、その２ノード間での暗号通信の暗号化・復号の際には、その値を初期化ベクトルＩＶとしても良い。もちろん、ネットワーク２上に流す暗号文全てに初期化ベクトルＩＶを付加して送信しても良い。通常は、暗号文の個数のカウント値を初期化ベクトルＩＶとし、ネットワーク２の通信障害等の原因で、２ノード間のカウント値の同期がとれなくなった場合にのみ、ネットワーク２上に流す通信データに初期化ベクトルＩＶを付加して同期をとるようにしても良い。【００２４】
また、ブロック暗号モード利用部１２は、ＣＦＢモードおよび／またはＯＦＢモードとしての暗号化処理および／または復号処理を実行するものであり、従来の共通鍵ブロック暗号（ＤＥＳ暗号）演算部の代わりに機能する一方向ハッシュ演算部１２２と暗号鍵をオーバレイする演算を行う鍵オーバレイ演算部１２１と連携して動作する。【００２５】
すなわち、ブロック暗号モード利用部１２では、まず、一方向ハッシュ演算部１２２の出力サイズ長でブロック分割され、必要があれば、最終ブロックは、パディング処理が施される。次いで、平文の各ブロックをＰ[ｉ]（１≦ｉ≦ｎ）、平文のブロックＰ［ｉ］に対応する暗号文の各ブロックをＣ［ｉ］(１≦ｉ≦ｎ)、一方向ハッシュ演算部１２２における演算をｈ（・）、排他的論理和を○、鍵オーバレイ演算部１２１における演算を◎と表現すると、図２に示すように
Ｃ［ｉ］＝Ｐ［ｉ］○ｈ（ｋ◎Ｃ［ｉ−１])
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
Ｐ［ｉ］＝Ｃ［ｉ］○ｈ（ｋ◎Ｃ[ｉ−１]）
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）のように、平文の各ブロックの暗号化のために、従来のような暗号化アルゴリズムを用いる代わりに、一方向ハッシュ演算を利用すること以外については、暗号化利用モードのＣＦＢ（ｃｉｐｈｅｒ  ｆｅｅｄｂａｃｋ）モードに準じた処理を実施する。暗号文の復号時においても同様に、一方向ハッシュ演算を利用してＣＦＢモードに準じた処理を行う。ここに、図２は、本発明における一方向ハッシュ演算をＣＦＢモードとして実行可能な共通鍵用のブロック暗号に変換する演算に用いる機構を説明する概念図である。  【００２６】
あるいは、平文および暗号文のどちらからも独立している状態をＳ［ｉ］（１≦ｉ≦ｎ）と表現すると、図３に示すように
Ｃ［ｉ］＝Ｐ［ｉ］○Ｓ［ｉ］  ;  Ｓ［ｉ］＝ｈ（ｋ◎Ｓ［ｉ−１］）            ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
Ｐ［ｉ］＝Ｃ［ｉ］○Ｓ［ｉ］  ;  Ｓ［ｉ］＝ｈ（ｋ◎Ｓ［ｉ−１])
ただし、Ｐ［０］＝Ｃ［０］＝ＩＶ、１≦ｉ≦ｎ（ｎ，ｉ：整数）
のように、平文の各ブロックの暗号化のために、従来のような暗号化アルゴリズムを用いる代わりに、一方向ハッシュ演算を利用すること以外については、暗号化利用モードのＯＦＢ（ｏｕｔｐｕｔ  ｆｅｅｄｂａｃｋ）モードに準じた処理を実施する。暗号文の復号時においても同様に、一方向ハッシュ演算を利用してＯＦＢモードに準じた処理を行う。
ここに、図３は、本発明における一方向ハッシュ演算をＯＦＢモードとして実行可能な共通鍵用のブロック暗号に変換する演算に用いる機構を説明する概念図である。【００２７】
ここで、暗号化時に、ブロック暗号モード利用部１２に入力される平文は、平文入出力部１４から入力される。平文入出力部１４の例としては、温度計や湿度計、カメラ画像センサ、音センサ、振動センサ、圧力センサ等に代表される外部センサが考えられ、それらの計測結果が平文として扱われる。また、復号時に、ブロック暗号モード利用部１２に入力される暗号文は、送受信部１３で受信したデータが入力される。送受信部１３で受信した暗号文が、ブロック暗号モード利用部１２にて復号され、復号結果である平文は、平文入出力部１４から出力される。この時、元の平文の最終ブロックがパディングされている場合は、ブロック暗号モード利用部１２において、適宜、パディング部分を削除する。【００２８】
また、鍵オーバレイ演算部１２１は、暗号鍵を入力データにオーバレイする処理を行うものであり、ブロック暗号モード利用部１２から入力されるデータとパラメタ記憶部１１から入力される暗号鍵を、少なくとも、ビット連結あるいは排他的論理和あるいはｎビット（１≦ｎ）ずつを交互に混ぜ込む演算等のいずれかで合成し、合成結果をブロック暗号モード利用部１２に出力する。ここで、排他的論理和のように、入力と出力とが同じビット数になるような演算よりも、ビット連結のような一方向ハッシュ演算における定義域の空間を広げるような演算を用いれば、ハッシュ関数への入力の衝突確率が減り、安全性を
向上することが可能である。【００２９】
また、一方向ハッシュ演算部１２２は、任意長の入力データの入力を得て、固定長のハッシュ値を出力するハッシュ関数を備え、かつ、入力データに１ビットの変化があると、平均してハッシュ値の中の半分のビットが変化し、ハッシュ値から元の平文を生成することはできないような一方向性を持つ。ここで、ハッシュ関数として、「SECURE HASH STANDARD」（Federal Information Processing Standards Publication 180-2，2002 August 1）に示されるＳＨＡ−１、ＳＨＡ−２５６、ＳＨＡ−３８４、ＳＨＡ−５１２、あるいは、「The MD5 Message-Digest Algorithm」（Network Working Group Request for Comments:1321,April 1992）に示されるＭＤ５に代表されるような既存のアルゴリズムを利用することができる。【００３０】
また、ネットワーク２は、無線あるいは有線での通信が可能で、全てのノード１−１〜１−ｎが自由にデータを送受信可能なネットワークである。【００３１】
次に、図１に示す本実施の形態の情報処理システム１０の全体の動作について、図４の流れ図を参照して説明する。図４は、本発明による情報処理システムを実施するための最良の形態の動作を示す流れ図である。ここで、暗号通信元としてノード１−Ａを、暗号通信先としてノード１−Ｂを用いて説明する。【００３２】
まず、ノード１−Ａは、外部センサ等の平文入出力部１４から暗号化対象である平文を入力されると（ステップＳ１０２）、ブロック暗号モード利用部１２において、入力された平文を、一方向ハッシュ演算部１２２の出力ビット数毎のブロックＰ［ｉ］（１≦ｉ≦ｎ）に分割し、かつ、最終ブロックＰ［ｎ］に関しては、必要に応じて、パディング処理を施した後（ステップＳ１０３）、暗号文の各ブロックＣ［ｊ］（１≦ｊ≦ｎ）を計算する（ステップＳ１０４〜Ｓ１０７）。その後、送受信部１３を介して、暗号文を送信する(ステップＳ１０８)。【００３３】
次に、ノード１−Ｂは、ノード１−Ａからの暗号文を受信すると(ステップＳ２０２)、暗号文を一方向ハッシュ演算部１２２の出力ビット数毎のブロックＣ［ｉ］（１≦ｉ≦ｎ）に分割し（ステップＳ２０３）、平文の各ブロックＰ［ｊ］を計算し、最終ブロックＰ［ｎ］に関しては、パディング部分を削除する（ステップＳ２０４〜Ｓ２０７）。結果、ノード１−Ａで暗号化した平文を復号することができる（ステップＳ２０８）。【００３４】
以上、本発明の好適実施例の構成を説明した。しかし、斯かる実施例は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることは、当業者には容易に理解できよう。
【図１】
0005131187.tif 000002
【図２】
0005131187.tif 000003
【図３】
0005131187.tif 000004
【図４】
0005131187.tif 000005
【図５】
0005131187.tif 000006
【図６】
0005131187.tif 000007