(57)【要約】【課題】  暗号文Ｃをモジュラー乗算し、中間平文Ｉとする。中間平文Ｉに対し法ｂiに対する剰余Ｔを求めて、ｂi以下のビット数を一括して復号する。中間平文ＩからＴを引き、法ｂiで除算して、次の法に対する剰余を求める。【解決手段】  ナップザック暗号の新たなトラップドアを提供できる。【選択図】    図６
2008158457.tif 000002
【特許請求の範囲】
【請求項１】
ナップザック暗号を復号するための、コンピュータからなる復号装置において、
暗号文Ｃと数Ｗ-1の積の法Ｎに関する剰余  ＣＷ-1modＮ を中間平文として求めるためのモジュラー乗算部と、
該中間平文を法ｂi(ここにｂiは自然数で，i＝１−t)で剰余演算して剰余Ｔを求めるための剰余演算部と、
剰余Ｔと平文Ｍのデータが重ならないように、剰余Ｔと平文Ｍの一方をビットシフトして、ビットシフト後の剰余を平文に、もしくはビットシフト後の平文を剰余に加算する加算部と、
中間平文からＴを引いたものを前記の法ｂiで除算し、新たな中間平文を求めるための除算部とを設けて、
前記剰余演算部、加算部、除算部を、法ｂiと自然数qiを、ｂi＝ｂ1〜ｂt，qi＝q1〜qtの範囲で変えながら繰り返し動作させて、平文Ｍを求めるようにしたことを特徴とする、復号装置。
【請求項２】
前記モジュラー乗算部では、前記数Ｗi−１をＷ1−１〜Ｗe−１までe(eは２以上の自然数)回変化させ、法ＮをＮ1〜Ｎeまでe回変化させてモジュラー乗算をe回繰り返し、e回目のモジュラー乗算で得られた剰余を中間平文とすることを特徴とする、請求項１の復号装置。
【請求項３】
ナップザック暗号を復号するための、コンピュータからなる復号装置において、
暗号文Ｃと数Ｗ-1の積の法Ｎに関する剰余  ＣＷ-1modＮ を中間平文として求めるためのモジュラー乗算部と、
該中間平文を法ｂ(ここにｂは自然数)で剰余演算して平文Ｍを求めるための剰余演算部とを設けたことを特徴とする、復号装置。
【請求項４】
ナップザック暗号を復号するコンピュータのための復号プログラムにおいて、
暗号文Ｃと数Ｗ-1の積の法Ｎに関する剰余  ＣＷ-1modＮ を中間平文として求めるためのモジュラー乗算命令と、
中間平文を法ｂi(ここにｂiは自然数で，i＝１−t)で剰余演算して剰余Ｔを求めるための剰余演算命令と、
剰余Ｔと平文Ｍのデータが重ならないように、剰余Ｔと平文Ｍの一方をビットシフトして、ビットシフト後の剰余を平文に、もしくはビットシフト後の平文を剰余に加算するビットシフト加算命令と、
中間平文からＴを引いたものを前記の法ｂiで除算し、新たな中間平文を求めるための除算命令とを設けて、
前記剰余演算命令、加算命令、除算命令を、法ｂiと自然数qiを、ｂi＝ｂ1〜ｂt，qi＝q1〜qtの範囲で変えながら繰り返し実行させて、平文Ｍを求めるようにしたことを特徴とする、復号プログラム。
【請求項５】
ナップザック暗号用の鍵を生成するための、コンピュータからなる鍵生成装置において、
qi(i＝1〜tで、qiは自然数)をパラメータ，n＝Σ1〜t qi，Ｂ(Ｂは自然数)として、復号用の秘密鍵の法ｂi(ｂiは自然数で、i＝1〜t)を、２進法でqiビット以上の数として生成するためのパラメータ生成部と、
各法ｂi(i＝1〜t)に対し、qi個のパラメータｃij(j＝1〜qi)を  ｃij≡２j−１  modｂi  として生成するためのパラメータ生成部と、
生成したパラメータｃijのＢ倍(ｃij×Ｂ)を秘密鍵Ｓの成分として記憶する秘密鍵記憶部と、
iの値を変更する毎にＢの値をｂi倍だけ変更するための演算部、とを設けて、
iの値を1〜tの範囲で変更しながらパラメータｃijを発生させ、パラメータｃijのＢ倍を秘密鍵Ｓの成分とすることにより、n個の成分から成る公開鍵生成用の秘密鍵Ｓを生成するように構成し、  かつ
秘密鍵の各成分に対し、数Ｗと法Ｎによるモジュラー乗算を行って、n個の成分から成る公開鍵ａの各成分を求めるためのモジュラー乗算部を設けたことを特徴とする、鍵生成装置。
【請求項６】
ナップザック暗号用の鍵を生成するコンピュータのための鍵生成プログラムにおいて、
qi(i＝1〜tで、qiは自然数)をパラメータ，n＝Σi＝1〜t qi，Ｂ(Ｂは自然数)として、復号用の秘密鍵の法ｂi(ｂiは自然数で、i＝1〜t)を、２進法でqiビット以上の数として生成するためのパラメータ生成命令と、
各法ｂi(i＝1〜t)に対し、qi個のパラメータｃij(j＝1〜qi)をｃij≡２j−１  modｂi  として生成するためのパラメータ生成命令と、
生成したパラメータｃijのＢ倍(ｃij×Ｂ)を秘密鍵Ｓの成分として記憶する秘密鍵記憶命令と、
Ｂの値をiを変更する毎にｂi倍だけ変更するための演算命令とを設けて、
iの値を1〜tの範囲で変更しながら、パラメータｃijを発生させ、そのＢ倍を秘密鍵Ｓの成分とすることにより、n個の成分から成る公開鍵生成用の秘密鍵Ｓを生成し、かつ
秘密鍵の各成分に対し、数Ｗと法Ｎによるモジュラー乗算を行って、n個の成分から成る公開鍵ａの各成分を求めるためのモジュラー乗算命令を設けたことを特徴とする、鍵生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ナップザック暗号での新規なトラップドアに関する。
【背景技術】
【０００２】
発明者らは安全なナップザック暗号を開発してきた(非特許文献1〜４)。ナップザック暗号のトラップドアとしては、超増加数列や下位ビットの偶奇性を用いることが知られている。しかしながらこれらのトラップドアでは、鍵の１成分で復号できるのは１ビットに限られ、また公開鍵と秘密鍵はモジュラー乗算で結ばれている。これに対して発明者は、鍵の１成分で複数ビットを復号でき、かつ公開鍵とモジュラー乗算で直接結ばれていない秘密鍵を復号に用いる、新たなトラップドアを開発し、この発明に到った。
【非特許文献１】M.Kasahara and Y.Murakami: "New product-sum type public-key cryptosystems" Proc. of SCIS'90, p.p.15-20,1999.
【非特許文献２】R. Sakai,M.Kasahara and Y.Murakami: "Notes on product-sum type public-key cryptosystems" Technical Report of IEICE,ISEC90-46, p.p.61-66,1999.
【非特許文献３】K.Katayanagi,Y.Murakami and M.Kasahara: "New product-sum type public-key cryptosystems with selectable encryption key based on chineseremainder theorem" IEICE Trans. on Fundamentals,vol.E85-A,No.2,p.p.472-480,2002.
【非特許文献４】T.Nasako and Y.Murakami: "A high-density MH type knapsack cryptosystem secure against Shamir's attack" The 28th symposium on informationtheory and its application, p.p.287-290,2005
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この発明の課題は、ナップザック暗号の新たなトラップドアを用いた鍵生成装置や鍵生成プログラム、復号装置、復号プログラムを提供することにある。
【課題を解決するための手段】
【０００４】
この発明は、ナップザック暗号を復号するための、コンピュータからなる復号装置において、
暗号文Ｃと数Ｗ-1の積の法Ｎに関する剰余  ＣＷ-1modＮ を中間平文として求めるためのモジュラー乗算部と、
該中間平文を法ｂi(ここにｂiは自然数で，i＝１−t)で剰余演算して剰余Ｔを求めるための剰余演算部と、
剰余Ｔと平文Ｍのデータが重ならないように、剰余Ｔと平文Ｍの一方をビットシフトして、ビットシフト後の剰余を平文に、もしくはビットシフト後の平文を剰余に加算する加算部と、
中間平文からＴを引いたものを前記の法ｂiで除算し、新たな中間平文を求めるための除算部とを設けて、
前記剰余演算部、加算部、除算部を、法ｂiと自然数qiを、ｂi＝ｂ1〜ｂt，qi＝q1〜qtの範囲で変えながら繰り返し動作させて、平文Ｍを求めるようにしたことを特徴とする。
好ましくは、前記モジュラー乗算部では、前記数Ｗi−１をＷ1−１〜Ｗe−１までe(eは２以上の自然数)回変化させ、法ＮをＮ1〜Ｎeまでe回変化させてモジュラー乗算をe回繰り返し、e回目のモジュラー乗算で得られた剰余を中間平文とする。
【０００５】
またこの発明は、ナップザック暗号を復号するための、コンピュータからなる復号装置において、
暗号文Ｃと数Ｗ-1の積の法Ｎに関する剰余  ＣＷ-1modＮ を中間平文として求めるためのモジュラー乗算部と、
該中間平文を法ｂ(ここにｂは自然数)で剰余演算して平文Ｍを求めるための剰余演算部とを設けたことを特徴とする。
【０００６】
この発明は、ナップザック暗号を復号するコンピュータのための復号プログラムにおいて、
暗号文Ｃと数Ｗ-1の積の法Ｎに関する剰余  ＣＷ-1modＮ を中間平文として求めるためのモジュラー乗算命令と、
中間平文を法ｂi(ここにｂiは自然数で，i＝１−t)で剰余演算して剰余Ｔを求めるための剰余演算命令と、
剰余Ｔと平文Ｍのデータが重ならないように、剰余Ｔと平文Ｍの一方をビットシフトして、ビットシフト後の剰余を平文に、もしくはビットシフト後の平文を剰余に加算するビットシフト加算命令と、
中間平文からＴを引いたものを前記の法ｂiで除算し、新たな中間平文を求めるための除算命令とを設けて、
前記剰余演算命令、加算命令、除算命令を、法ｂiと自然数qiを、ｂi＝ｂ1〜ｂt，qi＝q1〜qtの範囲で変えながら繰り返し実行させて、平文Ｍを求めるようにしたことを特徴とする。
【０００７】
この発明は、ナップザック暗号用の鍵を生成するための、コンピュータからなる鍵生成装置において、
qi(i＝1〜tで、qiは自然数)をパラメータ，n＝Σ1〜t qi，Ｂ(Ｂは自然数)として、復号用の秘密鍵の法ｂi(ｂiは自然数で、i＝1〜t)を、２進法でqiビット以上の数として生成するためのパラメータ生成部と、
各法ｂi(i＝1〜t)に対し、qi個のパラメータｃij(j＝1〜qi)を  ｃij≡２j−１  modｂi  として生成するためのパラメータ生成部と、
生成したパラメータｃijのＢ倍(ｃij×Ｂ)を秘密鍵Ｓの成分として記憶する秘密鍵記憶部と、
iの値を変更する毎にＢの値をｂi倍だけ変更するための演算部、とを設けて、
iの値を1〜tの範囲で変更しながらパラメータｃijを発生させ、パラメータｃijのＢ倍を秘密鍵Ｓの成分とすることにより、n個の成分から成る公開鍵生成用の秘密鍵Ｓを生成するように構成し、  かつ
秘密鍵の各成分に対し、数Ｗと法Ｎによるモジュラー乗算を行って、n個の成分から成る公開鍵ａの各成分を求めるためのモジュラー乗算部を設けたことを特徴とする。
【０００８】
この発明は、ナップザック暗号用の鍵を生成するコンピュータのための鍵生成プログラムにおいて、
qi(i＝1〜tで、qiは自然数)をパラメータ，n＝Σi＝1〜t qi，Ｂ(Ｂは自然数)として、復号用の秘密鍵の法ｂi(ｂiは自然数で、i＝1〜t)を、２進法でqiビット以上の数として生成するためのパラメータ生成命令と、
各法ｂi(i＝1〜t)に対し、qi個のパラメータｃij(j＝1〜qi)をｃij≡２j−１  modｂi  として生成するためのパラメータ生成命令と、
生成したパラメータｃijのＢ倍(ｃij×Ｂ)を秘密鍵Ｓの成分として記憶する秘密鍵記憶命令と、
Ｂの値をiを変更する毎にｂi倍だけ変更するための演算命令とを設けて、
iの値を1〜tの範囲で変更しながら、パラメータｃijを発生させ、そのＢ倍を秘密鍵Ｓの成分とすることにより、n個の成分から成る公開鍵生成用の秘密鍵Ｓを生成し、かつ        秘密鍵の各成分に対し、数Ｗと法Ｎによるモジュラー乗算を行って、n個の成分から成る公開鍵ａの各成分を求めるためのモジュラー乗算命令を設けたことを特徴とする。
【発明の効果】
【０００９】
この発明では、ナップザック暗号、即ち、複数成分から成る平文の各成分と、複数成分から成る公開鍵の各成分とのアンド値を加算して暗号文とする暗号において、新たなトラップドアを提供できる。特に復号用の秘密鍵の１成分で多数ビットを一括して復号できるので効率的に復号でき、復号用の秘密鍵と公開鍵とが直接には対応しないので安全である。
請求項１〜３の発明では新たなトラップドアを用いた復号装置を提供し、請求項４の発明では新たなトラップドアを用いた復号装置を提供する。請求項５の発明では新たなトラップドアのための鍵生成装置を提供し、請求項６の発明では新たなトラップドアのための鍵生成プログラムを提供する。
【発明を実施するための最良の形態】
【００１０】
以下に本発明を実施するための最適実施例を示す。
【実施例】
【００１１】
図1〜図７に実施例とその特性を示し、図1〜図３に鍵の生成を、図４〜図６に暗号通信装置や復号プログラムを、図７に低密度攻撃への安全性を示す。図1〜図３において、２は鍵生成装置で、パラメータ生成部３，４，７と秘密鍵記憶部５並びに汎用演算部６，モジュラー乗算部８，鍵記憶部９及びディスクドライブ１０を備えている。鍵生成装置２は適宜のコンピュータにより実現され、パラメータ生成部３，４，７，モジュラー乗算部８，汎用演算部６は専用の演算装置や汎用の演算装置で構成され、秘密鍵記憶部５は単なるメモリの他に乗算器を備えている。鍵記憶部９はメモリで構成され、ディスクドライブ１０はＣＤ−ＲＯＭなどのディスクやＵＳＢメモリなどに生成した鍵を書き込む。
【００１２】
鍵生成プログラム１２について説明する。システムパラメータ生成部１４では、e個のiについて法Ｎiと数Ｗiとを生成し、t個のiについてパラメータqiを生成する。なおiやeやt並びにＮi，Ｗi，qiはそれぞれ自然数である。eの値は1〜３程度とし、tの値は1〜１００程度とする。またＷiを生成した際に、Ｎiを法とするその逆元Ｗi-1を生成する。法ｂiの生成命令１５では、パラメータqiの値以上のビット数の法ｂiを生成する。特に法ｂiは２を底とする対数において、整数部分がqiと一致することが好ましい。秘密鍵生成命令１６ではｃijを生成し、これを公開鍵ａの生成用の秘密鍵Ｓのk番目の成分とする。公開鍵生成命令１７では、公知のモジュラー変換により、秘密鍵Ｓを公開鍵ａに変換する。
【００１３】
図３に鍵生成アルゴリズムを示す。ステップ１でシステムパラメータを生成し、具体的には１以上の数tと、t個のパラメータqiとを生成し、t個のパラメータqiの和をnとする。またeセットのパラメータ(Ｎi，Ｗi，Ｗi-1)を生成する。ここにＷi-1  は、法Ｎiに関するＷiの逆元で、これらのパラメータは全て自然数である。
【００１４】
ステップ２で、t個のパラメータqiを用いてt個の法ｂiを生成し、Log2ｂiの整数部分がqiとなるようにする。
ステップ３で、｛qi｝と｛ｂi｝とを用いて、n成分の秘密鍵Ｓを生成する。補助的な変数としてkとＢを用い、各iにつき、j＝1〜qiまでｃij≡２j−１  modｂiとして、｛ｃij｝を生成する。そしてＢ(初期値は１)をｃijに乗算したものを秘密鍵Ｓのk番目の成分とし、１成分発生させる毎にkの値を１増加させる。qiまでの各jについてｃijを発生させると、Ｂの値をｂi倍し、iの値をtまでの範囲で１増加させる。次のqiについて、j＝1〜qi  の範囲でｃijを発生させる。なおステップ２，ステップ３では、iを１からtへと増加させ、jを１からqiへと増加させて｛ｂi｝や｛ｃij｝を発生させているが、iをtから１の順で、jをqiから１への順で処理しても良い。
【００１５】
ステップ４では、秘密鍵Ｓを公開鍵ａに変換する。公開鍵ａの初期値をＳとし、法Ｎiに関するＷiとの公開鍵の各成分とのモジュラー乗算の結果を、公開鍵ａの各成分の新たな値とする。このステップをe回繰り返す。生成した鍵ａの各成分をさらに置換して公開しても良い。生成した主な秘密鍵は｛ｂi｝とＳで、公開鍵ａと直接結ばれているのはＳであり、公開鍵ａと法ｂiは直接には結びつけられていない。
【００１６】
図４〜図６に、暗号通信装置２０や復号プログラム５０等を示す。図において、２０は暗号通信装置で、２０'は同様の暗号通信装置、２１は通信環境としてのインターネット、２２は通信部である。２４は鍵記憶部で、自己の公開鍵aと秘密鍵{ｂi}，{Ｗi-1  ，Ｎi}，{qi}，t, eを記憶する。受信データ記憶部２６は暗号処理装置２０'の公開鍵ａ'、並びに暗号処理装置２０'から受信した暗号文Ｃを記憶する。復号プログラム記憶部２８は、図５の復号プログラム５０を記憶する。
【００１７】
アンドゲート３０は、送信する平文ｍ'の各成分と受信した公開鍵ａ'の各成分とのアンド演算により得られた値を加算することにより、送信する暗号文Ｃ'を生成する。平文ｍ'並びに公開鍵ａ'はいずれもn個の成分から成るベクトルで、平文ｍ'の各成分ｍ'iや公開鍵ａ'の各成分ａ'iは０または１とする。暗号文Ｃ'は  Ｃ'＝Σk=1qiｍ'k・ａ'k・２ｋ−１   で与えられ、ここにｍ'kは平文ｍ'のｋ番目の成分、ａ'kは公開鍵ａ'のｋ番目の成分である。モジュラー乗算部３２は、受信した暗号文Ｃに対しモジュラー乗算を行って、中間平文Ｉを生成する。この処理をe回実行し、eは例えば1〜３である。剰余算部３４では、中間平文Ｉに対するｂiを法とする剰余Ｔを求める。アンドゲート３５では、ｑiビットのデータである剰余Ｔの各成分Ｔkと、秘密鍵  ｃij（j=１〜ｑi）のｋ番目の成分ｃikとのアンド値を合成し、値Ｖとする。  
Ｖ＝Σｋ＝１ｑiＴｋ・ｃik・２ｋ−１  で、ここにj=１〜ｑiのｑiビットの成分からなる秘密鍵をｃiと記載した。ビットシフター３６では剰余Ｔを２のq乗倍し、除算部３８では中間平文Ｉから値Ｖを引いたものを法ｂiで除算する。この除算では中間平文Ｉから剰余Ｖを引く処理自体は必須ではない。例えば中間平文Ｉをｂiで除算した整数部分が求まればよい。加算部４０では、ビットシフター３６で２q倍した剰余Ｔを平文Ｍに加算して新たな平文Ｍとし、qの値にqiを加算する。そして剰余算部３４〜加算部４０での処理は、i＝1〜tの範囲で繰り返し実行する。なおt＝１の場合、剰余算部３４を設ければ良く、ビットシフター３６〜加算部４０は不要である。またビットシフター３６や加算部３８は、例えば、ｑ＋ｑiの加算を行う加算器と、ＴをＭに対してｑビット上位ビット側へシフトして、ＴとＭとをパラレル入力した後にシリアル出力する、パラレル−シリアル変換形のシフトレジスタで構成できる。もちろんこれらの処理は、任意のプロセッサで実行できる。
【００１８】
平文Ｍはnビットの{０，１}から成るベクトルで、平文ＭはΣｍi・２i-1(i＝1〜n)で与えられる。暗号処理装置２０，２０'は適宜のコンピュータで実現され、記憶部２４〜２８は適宜のメモリで、演算部３０〜４０は専用の演算プロセッサもしくは汎用の演算プロセッサで実現される。
【００１９】
図５に復号プログラム５０を示すと、モジュラー乗算命令５１は暗号文Ｃに対し常数をＷi-1 、法をＮiとするモジュラー乗算をe回実行し、剰余算命令５２では得られた中間平文に対する法をｂiとする剰余算をt回実行する。ビットシフト命令５３では、剰余Ｔに対する２のq乗倍をt−１回実行し、加算命令５４ではＭとＴ×２ｑとの加算をt−１回実行する。除算命令５５では、中間平文ＩからＴを引いたものに対する、ｂiによる除算をt−１回実行する。
【００２０】
図６に復号アルゴリズムを示す。ステップ１１でモジュラー乗算を行い、中間平文Ｉの初期値を暗号文Ｃとし、eから１への順でパラメータiを１ずつ減少させながら、
Ｉ＝Ｃ・Ｗi-1 modＮiを実行する。ステップ１２では、平文Ｍ及びパラメータqの初期値を０とし、i＝１からtへの順で、Ｔ＝Ｉ modｂi，Ｖ＝Ｔ・ｃi＝Σｋ＝１ｑiＴｋ・ｃik・２ｋ−１，
Ｍ＝Ｍ＋Ｔ×２ｑ，q＝q＋qi，Ｉ＝(Ｉ−Ｖ)／ｂiの処理を繰り返し実行する。なおt＝１の場合、先頭のＴ＝Ｉ modｂiのみを実行すればよい。またステップ１２に代えて、ステップ１３のように平文Ｍを２qi乗ビットシフトとしても良い。これらは剰余Ｔと平文Ｍのデータが重ならないようにする処理である。
【００２１】
実施例では新たなトラップドアを提供できる。特に公開鍵ａと秘密鍵Ｓはモジュラー乗算で結ばれているものの、法ｂiは公開鍵ａと直接的には結ばれていない。また法ｂiを用いることによりqiビットずつ一括して復号できる。
【００２２】
図７にt＝１とt＝２の２つの場合につき、低密度攻撃への耐性を示す。なおｃijのビット数は最大で６４とし、nの値は２４〜２００の範囲で変化させ、各nに対して１００の平文を作成し、LenstraらによるＬＬＬアルゴリズムによる低密度攻撃を行って、露呈率を求めた。また密度ｄはｄ＝n({log２max {a1，…，an})-1で与えられる。密度ｄはt＝1の場合もt＝2の場合も重なって見える。露呈率はt＝1の場合、n＝１３０以上で０となり、t＝2の場合、７０程度で０となる。このためnを例えば５００以上、好ましくは１０００以上とすると、充分安全なナップザック暗号が得られる。
【００２３】
プログラム１２，５０はコンピュータで読み取り可能な記録媒体に記憶させて提供し、あるいは搬送波によりインターネット２１等から提供する。
【図面の簡単な説明】
【００２４】
【図１】実施例の鍵生成装置のブロック図
【図２】実施例の鍵生成プログラムのブロック図
【図３】実施例での鍵生成方法を示すフローチャート
【図４】実施例の暗号通信装置のブロック図
【図５】実施例の復号プログラムのブロック図
【図６】実施例の復号方法を示すフローチャート
【図７】実施例での鍵の次元と、低密度攻撃での密度及び露呈率を示す特性図
【符号の説明】
【００２５】
２            鍵生成装置
３，４        パラメータ生成部
５            秘密鍵記憶部
６            汎用演算部
７            パラメータ生成部
８            モジュラー乗算部
９            鍵記憶部
１０          ディスクドライブ
１２          鍵生成プログラム
１４          パラメータ生成命令
１５          法ｂiの生成命令
１６          秘密鍵生成命令
１７          公開鍵生成命令
２０，２０'  暗号通信装置
２１          インターネット
２２          通信部
２４          鍵記憶部
２６          受信データ記憶部
２８          復号プログラム記憶部
３０          アンドゲート
３２          モジュラー乗算部
３４          剰余算部
３５          アンドゲート
３６          ビットシフター
３８          除算部
４０          加算部
５０          復号プログラム
５１          モジュラー乗算命令
５２          剰余算命令
５３          ビットシフト命令
５４          加算命令
５５          除算命令
【図１】
2008158457.tif 000003
【図２】
2008158457.tif 000004
【図３】
2008158457.tif 000005
【図４】
2008158457.tif 000006
【図５】
2008158457.tif 000007
【図６】
2008158457.tif 000008
【図７】
2008158457.tif 000009