(57)【要約】【課題】ノイズ発生器等の差分電力解析に対抗する手段は暗号回路の外部に実装されるため、暗号回路単体に対する差分電力解析への対抗する手段がない。また、暗号アルゴリズムに抜本的な差分電力解析対策を施す場合、必要なハードウェアコストが大きくなる。【解決手段】秘密鍵に対して部分鍵演算を１６回繰り返し実行して部分鍵Ｋ１〜Ｋ１６を生成し、部分鍵Ｋ１〜Ｋ１６および平分２Ｂを入力してラウンド演算を１６回繰り返すことにより、平分２Ｂを暗号化する。この場合、いずれかＤ回のラウンド演算によって得られた信号と部分鍵を入力してダミー演算をＤ回実行する。【選択図】  図１
2006081059.tif 000002
【特許請求の範囲】
【請求項１】
秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、前記部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
前記部分鍵生成手段は前記秘密鍵に対して部分鍵演算をＲ回繰り返して実行することによりＲ個の部分鍵を出力し、
前記ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより前記情報を暗号化するものであり、前記Ｒ回のラウンド演算の各々に対して前記Ｒ個の部分鍵を割り当てた暗号回路であって、
前記ラウンド演算手段は、いずれかＤ回のラウンド演算によって得られた信号と前記部分鍵を入力してダミー演算をＤ回実行するダミー演算手段を有することを特徴とする暗号回路。
【請求項２】
秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、前記部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
前記部分鍵生成手段は前記秘密鍵に対して部分鍵演算をＲ回繰り返して実行することによりＲ個の部分鍵を出力し、
前記ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより前記情報を暗号化するものであり、前記Ｒ回のラウンド演算の各々に対して前記Ｒ個の部分鍵を割り当てた暗号回路であって、
前記ラウンド演算手段は、乱数生成器と、ラウンド演算を行う対象となる、前記情報または直前に実行されたラウンド演算の結果と前記乱数生成器の出力信号とのいずれかを選択するセレクタと、前記乱数生成器の演算結果を格納するダミーレジスタと、ダミーラウンド選択信号を発生するダミーラウンド選択回路を有し、
前記セレクタは、前記ダミーラウンド選択回路より前記ダミーラウンド選択信号を入力して前記乱数生成器の出力信号を選択し、前記ダミーレジスタは前記ダミーラウンド選択回路より前記ダミーラウンド選択信号を入力して
ラウンド演算をダミー演算として演算結果を格納し、
前記ラウンド演算手段は、前記ラウンド演算をＲ回繰り返し、前記ダミー演算をＤ回実行することを特徴とする暗号回路。
【請求項３】
秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、前記部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
前記部分鍵生成手段は前記秘密鍵に対して部分鍵演算をＲ回繰り返して実行することによりＲ個の部分鍵を出力し、
前記ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより前記情報を暗号化するものであり、前記Ｒ回のラウンド演算の各々に対して前記Ｒ個の部分鍵を割り当てた暗号回路であって、
前記ラウンド演算手段は、乱数生成器と、この乱数生成器により生成される乱数と前記部分鍵を選択してラウンド演算させるセレクタと、ラウンド演算の結果を格納するダミーレジスタと、ダミーラウンド選択信号を発生するダミーラウンド選択回路を有し、
前記セレクタは前記ダミーラウンド選択信号を受けて前記乱数を選択し、前記ダミーレジスタは前記ダミーラウンド選択信号を受けて前記乱数のラウンド演算の結果をダミー演算の結果として格納し、
前記ラウンド演算手段は、前記ラウンド演算をＲ回繰り返し、前記ダミー演算をＤ回実行することを特徴とする暗号回路。
【請求項４】
秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、前記部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
前記部分鍵生成手段は前記秘密鍵に対して部分鍵演算をＲ回繰り返して実行することにより前記Ｒ個の部分鍵を出力し、
前記ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより前記情報を暗号化するものであり、前記Ｒ回のラウンド演算の各々に対して前記Ｒ個の部分鍵を割り当てた暗号回路であって、
前記ラウンド演算手段は、ダミーラウンド選択信号を発生するダミーラウンド選択回路と、ダミーラウンド選択信号を入力してラウンド演算の結果をダミー演算の結果として格納するダミーレジスタを有し、前記ラウンド演算をＲ回繰り返すとともに、前記ダミー演算をＤ回実行することを特徴とする暗号回路。
【請求項５】
ダミー演算の回数Ｄは一定である請求項１から請求項４までのいずれか一項記載の暗号回路。
【請求項６】
ダミー演算の回数Ｄは乱数生成器により生成される乱数によって毎回変化する請求項１から請求項４までのいずれか一項記載の暗号回路。
【請求項７】
Ｒ回のラウンド演算以外にＤ回のダミー演算を挿入した合計Ｒ＋Ｄ回の演算の内、どの回の演算を前記ダミー演算とするかの選択が固定である請求項１から請求項６までのいずれか一項記載の暗号回路。
【請求項８】
Ｒ回のラウンド演算以外にＤ回のダミー演算を挿入した合計Ｒ＋Ｄ回の演算の内、どの回の演算を前記ダミー演算とするかの選択が乱数生成器により生成される乱数によって毎回変化する請求項１から請求項６までのいずれか一項記載の暗号回路。
【請求項９】
秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、前記部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
前記部分鍵生成手段は前記秘密鍵に対して部分鍵演算をＲ回繰り返して実行することによりＲ個の部分鍵を出力し、
前記ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより前記情報を暗号化するものであり、前記Ｒ回のラウンド演算の各々に対して前記Ｒ個の部分鍵を割り当てた暗号回路であって、
前記ラウンド演算手段は、前記情報または前記ラウンド演算を実行した中間結果の下位半数のデータおよび前記部分鍵を入力して前記下位半数のデータに対して拡散を行う変換関数であるＦ関数を有し、
前記Ｆ関数は、前記データを分割して入力し前記データを攪拌する非線形置換手段を有し、前記非線形置換手段の各計算の実行タイミングを毎回変化させる乱数を生成する乱数生成器を有することを特徴とする暗号回路。
【請求項１０】
部分鍵生成手段の部分鍵演算とラウンド演算手段のラウンド演算を２段のパイプライン方式で並列に処理する請求項１から請求項９までのいずれか一項記載の暗号回路。
【請求項１１】
請求項１から請求項１０のいずれか一項記載の暗号回路を有する集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、スマートカードあるいはスマートカードを使用する情報処理端末の内部に実装され、スマートカード内部に記録される機密情報の保護を図る暗号回路、特に近年脅威となっている差分電力解析に対抗する手段を有する暗号回路および集積回路に関するものである。
【背景技術】
【０００２】
近年、従来よりも安全性の高いクレジットカードや電子マネーの実現手段であり、情報セキュリティのキーデバイスの一つとして期待が寄せられているスマートカードに対する需要が急速に高まっている。一方、スマートカードに記憶される機密情報を不正に取得する方法として、プローブ解析や故障利用解析、タイミング解析といった解析手法が発見されており、スマートカードを利用する上での脅威となっている。
【０００３】
特に入力データに依存して変化する消費電力を解析し、スマートカードに実装される暗号回路で使用される秘密鍵を推定する解析方法である差分電力解析は昨今の脅威となっている（非特許文献１参照）。差分電力解析は消費電力の測定およびその消費電力波形の差分に基づく鍵の解析の２つのステップで構成される。以下、差分電力解析による秘密鍵の推定方法について説明する。差分電力解析では、まずＮビットの未知の鍵Ｋ（｛Ｋｎ−１、・・・、Ｋ１、Ｋ０｝）を秘密鍵とする暗号回路に対して相異なる複数の平文を入力として与え、各平文を入力とした時のそれぞれの消費電力波形をオシロスコープ等により測定し、統計的に十分な数の消費電力波形を得る。この消費電力波形の集合をＧとする。次にＮビットの未知の鍵Ｋ（｛Ｋｎ−１、・・・、Ｋ１、Ｋ０｝）の一部であり、暗号文の第Ｅ桁の結果に関係するｉビットＫｉ（｛Ｋｍ−１、・・・Ｋｍ−ｉ｝）に対して｛Ｋｍ−１、・・・Ｋｍ−ｉ｝の値を推定し（推定したｉビットをＫｉ´とする）、上記で消費電力波形を得るために与えた相異なる複数の平文に対して、推定したＫｉ´を用いて暗号アルゴリズムを適用し、得られた各暗号文の結果から消費電力波形の集合Ｇを次の部分集合に分類する。
Ｇ１＝｛Ｇ｜暗号文の第Ｅ桁のビット値＝１｝
Ｇ０＝｛Ｇ｜暗号文の第Ｅ桁のビット値＝０｝
ここで、Ｇ１に属する消費電力波形の平均およびＧ０に属する消費電力波形の平均をそれぞれ計算し、その差分の消費電力波形を求める。
【０００４】
推定されたＫｉ´の値が実際のＫｉの値と等しい場合、上記で計算した差分の消費電力波形中にスパイクが現れる。逆に、推定されたＫｉ´の値が実際のＫｉの値と等しくない場合、上記で計算した差分の消費電力波形は平坦な曲線となる。以下、その理由について説明する。
【０００５】
推定されたＫｉ´の値が実際のＫｉの値と等しい場合、推定したＫｉ´に基づいて消費電力波形の集合Ｇから上記Ｇ１とＧ０へ分類した結果は、実際の鍵Ｋｉに基づく分類の結果と等しくなる。その結果、暗号文中のハミング重みに対して以下の式が成立する。ここでハミング重みとは、ある値を２進数で表現した時に２進数の中で１となるビットの個数である。
｛Ｇ１に属する暗号文の平均ハミング重み｝―｛Ｇ０に属する暗号文の平均ハミング重み｝＝１
一般に演算結果が１である方が０であるよりも消費電力の値が大きくなる。従ってＧ１に属する消費電力波形はＧ０に属する消費電力波形よりもハミング重みが平均して１大きい分消費電力が大きくなり、Ｇ１とＧ０の差分の消費電力波形中にスパイクが現れる。
【０００６】
一方、推定されたＫｉ´の値が実際のＫｉの値と等しくない場合、推定したＫｉ´に基づいて消費電力波形の集合Ｇから上記Ｇ１とＧ０へ分類した結果は、実際の鍵Ｋｉに基づく分類の結果と無関係になる。結果、Ｇ１とＧ０への分類はＧをランダムに２つの部分集合に分類したものとなり、暗号文中のハミング重みに対して以下の式が成立する。
｛Ｇ１に属する暗号文の平均ハミング重み｝―｛Ｇ０に属する暗号文の平均ハミング重み｝＝０
従ってＧ１とＧ０の差分の消費電力波形は平坦なものとなる。
【０００７】
以上のような手順を踏まえ、計算した差分の消費電力波形にスパイクが現れるか否かをチェックする事で、推定されたＫｉ´の値が実際のＫｉの値と等しいかどうかを判定する事ができ、これを繰り返す事でＮビットの未知の鍵Ｋを解析する事ができる。この原理を利用したのが差分電力解析である。
【０００８】
差分電力解析に対する従来の対応策としては、暗号処理の実行順序あるいは実行タイミングを乱数に応じて変化させる、暗号回路に供給されるクロックの発振周波数を乱数に応じて変化させる、電源線にノイズを発生させるノイズ発生手段を設置し乱数に応じてノイズを変化させる等の手段により、暗号回路動作時の消費電力の測定精度を落とし、秘密鍵の推定を困難にする事で差分電力解析を防ぐという方法が存在する（特許文献１参照）。あるいは暗号回路に実装される暗号アルゴリズム自体に抜本的な対策を施し、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係を完全に消失させる事により差分電力解析を防ぐという方法が存在する（特許文献２参照）。
【特許文献１】特開２００３−０１８１４３号公報
【特許文献２】特開２００２−３６６０２９号公報
【非特許文献１】“平成１１年度  スマートカードの安全性に関する調査  調査報告書”、[online]、[平成１５年８月５日検索]、インターネットURL:http://www.ipa.go.jp/security/fy11/report/contents/crypto/crypto/report/SmartCard/sc.html
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、上記特許文献１の発明において、クロックの発振周波数を変化させる手段やノイズを発生させる手段等の差分電力解析に対する対抗手段は、図１８に示されるシステムにおいて暗号回路２Ａの外部に実装されるため、何らかの方法で暗号回路２Ａの外部にある差分電力解析に対する対抗手段を無効化された場合、差分電力解析を防ぐ事ができないという課題がある。あるいは暗号回路２Ａ単体に対して差分電力解析を実施された場合、差分電力解析を防ぐ事ができないという課題がある。
【００１０】
また、上記特許文献２の発明において暗号回路に実装される暗号アルゴリズム自体に抜本的な対策を施す際、暗号アルゴリズム中の演算で用いる非線形置換テーブルを毎回計算するため、非線形置換テーブルを計算する回路および計算した非線形置換テーブルの内容を保持するＲＡＭを有する必要があり、ハードウェアコストが大きくなるという課題がある。
【００１１】
上記を踏まえ、本発明の目的は、差分電力解析に対する対抗手段を暗号回路の内部に実装し、差分電力解析に対抗する手段が暗号回路外部に実装された場合と比較してセキュリティを強化することができる暗号回路および集積回路を提供することにある。あるいは暗号回路に実装される暗号アルゴリズム自体に抜本的な対策を施す場合と比較して差分電力解析に対抗するために必要なハードウェアコストを抑えることができる暗号回路および集積回路を提供することにある。
【課題を解決するための手段】
【００１２】
上記のような課題を解決するため、本発明では暗号アルゴリズムの簡単な改良によって暗号回路における演算タイミングおよび消費電力に変化を与え、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係を消失させる事により差分電力解析への対抗手段を実現し、差分電力解析に対抗する手段が暗号回路外部に実装された場合と比較してセキュリティを強化する。あるいは暗号回路に実装される暗号アルゴリズム自体に抜本的な対策を施す場合と比較して差分電力解析に対抗するために必要なハードウェアコストを抑える。
【００１３】
本発明の暗号回路は、秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
部分鍵生成手段は秘密鍵に対して部分鍵演算をＲ回繰り返して実行することによりＲ個の部分鍵を出力し、
ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより情報を暗号化するものであり、Ｒ回のラウンド演算の各々に対してＲ個の部分鍵を割り当てた暗号回路であって、
ラウンド演算手段は、いずれかＤ回のラウンド演算によって得られた信号と部分鍵を入力してダミー演算をＤ回実行するダミー演算手段を有することを特徴とする。
【００１４】
本発明の別の暗号回路は、秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
部分鍵生成手段は秘密鍵に対して部分鍵演算をＲ回繰り返して実行することによりＲ個の部分鍵を出力し、
ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより情報を暗号化するものであり、Ｒ回のラウンド演算の各々に対してＲ個の部分鍵を割り当てた暗号回路であって、
ラウンド演算手段は、乱数生成器と、ラウンド演算を行う対象となる、情報または直前に実行されたラウンド演算の結果と乱数生成器の出力信号とのいずれかを選択するセレクタと、乱数生成器の演算結果を格納するダミーレジスタと、ダミーラウンド選択信号を発生するダミーラウンド選択回路を有し、
セレクタは、ダミーラウンド選択回路よりダミーラウンド選択信号を入力して乱数生成器の出力信号を選択し、ダミーレジスタはダミーラウンド選択回路よりダミーラウンド選択信号を入力して
ラウンド演算をダミー演算として演算結果を格納し、
ラウンド演算手段は、ラウンド演算をＲ回繰り返し、ダミー演算をＤ回実行することを特徴とする。
【００１５】
本発明の別の暗号回路は、秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
部分鍵生成手段は秘密鍵に対して部分鍵演算をＲ回繰り返して実行することによりＲ個の部分鍵を出力し、
ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより情報を暗号化するものであり、Ｒ回のラウンド演算の各々に対してＲ個の部分鍵を割り当てた暗号回路であって、
ラウンド演算手段は、乱数生成器と、この乱数生成器により生成される乱数と部分鍵を選択してラウンド演算させるセレクタと、ラウンド演算の結果を格納するダミーレジスタと、ダミーラウンド選択信号を発生するダミーラウンド選択回路を有し、
セレクタはダミーラウンド選択信号を受けて乱数を選択し、ダミーレジスタはダミーラウンド選択信号を受けて乱数のラウンド演算の結果をダミー演算の結果として格納し、
ラウンド演算手段は、ラウンド演算をＲ回繰り返し、ダミー演算をＤ回実行することを特徴とする。
【００１６】
本発明の別の暗号回路は、秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
部分鍵生成手段は秘密鍵に対して部分鍵演算をＲ回繰り返して実行することによりＲ個の部分鍵を出力し、
ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより情報を暗号化するものであり、Ｒ回のラウンド演算の各々に対してＲ個の部分鍵を割り当てた暗号回路であって、
ラウンド演算手段は、ダミーラウンド選択信号を発生するダミーラウンド選択回路と、ダミーラウンド選択信号を入力してラウンド演算の結果をダミー演算の結果として格納するダミーレジスタを有し、ラウンド演算をＲ回繰り返すとともに、ダミー演算をＤ回実行することを特徴とする。
【００１７】
上記構成において、ダミー演算の回数Ｄは一定である。
【００１８】
上記構成において、ダミー演算の回数Ｄは乱数生成器により生成される乱数によって毎回変化する。
【００１９】
上記構成において、Ｒ回のラウンド演算以外にＤ回のダミー演算を挿入した合計Ｒ＋Ｄ回の演算の内、どの回の演算をダミー演算とするかの選択が固定である。
【００２０】
上記構成において、Ｒ回のラウンド演算以外にＤ回のダミー演算を挿入した合計Ｒ＋Ｄ回の演算の内、どの回の演算をダミー演算とするかの選択が乱数生成器により生成される乱数によって毎回変化する。
【００２１】
本発明の別の暗号回路は、秘密鍵に対して部分鍵演算を実行して部分鍵を生成する部分鍵生成手段と、部分鍵を入力して暗号化対象となる情報をラウンド演算するラウンド演算手段とを備え、
部分鍵生成手段は秘密鍵に対して部分鍵演算をＲ回繰り返して実行することによりＲ個の部分鍵を出力し、
ラウンド演算手段はラウンド演算をＲ回繰り返し実行することにより情報を暗号化するものであり、Ｒ回のラウンド演算の各々に対してＲ個の部分鍵を割り当てた暗号回路であって、
ラウンド演算手段は、情報またはラウンド演算を実行した中間結果の下位半数のデータおよび部分鍵を入力して下位半数のデータに対して拡散を行う変換関数であるＦ関数を有し、
Ｆ関数は、データを分割して入力しデータを攪拌する非線形置換手段を有し、非線形置換手段の各計算の実行タイミングを毎回変化させる乱数を生成する乱数生成器を有することを特徴とする。
【００２２】
上記構成において、部分鍵生成手段の部分鍵演算とラウンド演算手段のラウンド演算を２段のパイプライン方式で並列に処理する。
【００２３】
本発明の集積回路は、上記構成の暗号回路を有する。
【発明の効果】
【００２４】
本発明の暗号回路によれば、規定のＲ回のラウンド演算以外にダミー演算をＤ回挿入することにより、暗号アルゴリズムの簡単な改良によって暗号回路における演算タイミングおよび演算にかかる消費電力を変化させ、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係を消失させる事により、差分電力解析を防ぐ対抗手段を実現する。その結果、差分電力解析に対抗する手段が暗号回路外部に実装された場合と比較してセキュリティを強化する事ができる。あるいは暗号回路に実装される暗号アルゴリズム自体に抜本的な対策を施す場合と比較して差分電力解析に対抗するために必要なハードウェアコストを抑える事ができる。
【００２５】
本発明の別の暗号回路によれば、ダミー演算の内容は、情報例えば平文に対して繰り返しラウンド演算を実行した結果である正規の中間結果および秘密鍵に対してＲ回部分鍵演算を実行する事によって得られる正規の部分鍵を入力とした正規のラウンド演算と同様のものであるが、その演算結果は正規の中間結果を格納するレジスタではなくダミーレジスタに格納される事により規定のＲ回のラウンド演算の繰り返しに影響を与えないとし、アルゴリズムを改良する事により演算タイミングおよび演算にかかる消費電力を変化させ、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係を消失させる事により、差分電力解析を防ぐ。
【００２６】
本発明の集積回路によれば、暗号アルゴリズムを一つの集積回路に実装することにより、差分電力解析に対抗する手段が暗号回路外部に実装された場合と比較してセキュリティを強化する。
【発明を実施するための最良の形態】
【００２７】
図２は本発明で対象とする秘密鍵暗号方式のアルゴリズムを実装した暗号回路を示す図である。図２において暗号回路２Ａは、暗号化を行う対象である平文２Ｂ、および平文２Ｂを暗号化するための鍵である秘密鍵２Ｃを入力とし、暗号アルゴリズムで規定される所定の演算を行い、暗号文２Ｄを出力する。図３は暗号回路２Ａで実現される秘密鍵暗号方式のアルゴリズムの一例として、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）と呼ばれるアルゴリズムを図示したものである。図３において図２と同じ構成要素については同じ符号を用い、説明を省略する。秘密鍵暗号方式のアルゴリズムＤＥＳにおいて、平文２Ｂは初期転置３Ａを行った後、Ｌ０上位３２ビット、Ｒ０下位３２ビットに分割し、Ｌ０およびＲ０に対して１６段のラウンド演算を繰り返してＬ１６およびＲ１６を計算する。図４は、Ｌｎ−１、Ｒｎ−１からＬｎ、Ｒｎを得る手順であるラウンド演算を図示したものであり、ＬｎおよびＲｎはＦ関数４Ａを用いて以下の式で与えられる（Ｆ関数の内容については後述）。
【００２８】
Ｌｎ＝Ｒｎ−１
Ｒｎ＝Ｌｎ−１  ＸＯＲ  Ｆ（Ｒｎ−１、Ｋｎ）
ここでＫｎは部分鍵と呼ばれるものであり、秘密鍵２Ｃに初期転置３Ｂを行った後、Ｃ０上位２８ビット、Ｄ０下位２８ビットに分割し、Ｃ０およびＤ０に対して左シフトをｎ回繰り返した後、転置３Ｃを行って得られたものである。４Ｂは排他的論理和（ＸＯＲ）である。上記の式で示されるラウンド演算を１６段繰り返した後に得られるＬ１６、Ｒ１６をＲ１６、Ｌ１６の順で連結し、最終転置３Ｄを行う事で暗号文２Ｄが得られる。初期転置３Ａ、初期転置３Ｂ、転置３Ｃおよび最終転置３Ｄの詳細については、ＤＥＳアルゴリズム自体が公開された周知のアルゴリズムであり、ここではその説明を割愛する。
【００２９】
以下、本発明の実施の形態において、暗号回路２ＡはＤＥＳアルゴリズムを改良して実装したものであるとする。
（実施の形態１）
図１は本発明の第１の実施の形態におけるＤＥＳアルゴリズムの概要を示す図である。図１において、図２および図３と同じ構成要素については同じ符号を用い、説明を省略する。本発明の第１の実施の形態において、図１のＤＥＳアルゴリズムは図３と同様に平文２Ｂに対して初期転置３Ａを行った後、Ｌ０上位３２ビット、Ｒ０下位３２ビットに分割し、Ｌ０およびＲ０に対して１６段のラウンド演算を実行する事によりＬ１６およびＲ１６を計算するが、その途中に挿入されるＤ回のダミー演算を実行する。例えば、ダミー演算回数の増加による演算タイミングおよび消費電力のランダム度の増加と、アルゴリズム実行サイクル数の増加のトレードオフを考慮して、Ｄ＝８とする。図１において、ラウンドｉ−１とラウンドｉの間に挿入されるダミー演算ｎはラウンドｉ―１の結果であるＬｉ―１、Ｒｉ―１およびラウンドｉで使用する部分鍵Ｋｉを入力とした演算を行っているが、入力とするデータの内容や実行するダミー演算の内容は任意であって構わない。また、ラウンドｉ−１の次に実行されるダミー演算ｎの結果はラウンドｉには入力されず、ラウンドｉの計算に影響を与えない。この事により、図１のＤＥＳアルゴリズムは挿入されるＤ回のダミー演算の内容に関わらず、Ｌ１６およびＲ１６の値を正しく計算する事ができる。ＤＥＳアルゴリズムで規定される１６回のラウンド演算以外にダミー演算をＤ回挿入するようにアルゴリズムを改良する事により、演算タイミングおよび演算にかかる消費電力を変化させ、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係を消失させる事により差分電力解析を防ぐ。
（実施の形態２）
図５は本発明の第２の実施の形態における暗号回路２Ａのラウンド演算の内容を示す図である。図５において図４と同じ構成要素については同じ符号を用い、説明を省略する。本発明の第２の実施の形態において、図５のラウンド演算は図４と同様にＬｎ−１、Ｒｎ−１および部分鍵Ｋｎを入力、ＬｎおよびＲｎを出力とするが、その他にセレクタ５Ａ、セレクタ５Ｂ、ダミーレジスタ５Ｃ、ダミーレジスタ５Ｄ、乱数生成器５Ｅおよび乱数生成器５Ｆを有し、ダミーラウンド選択信号を入力とする。図８はダミーラウンド選択信号を生成するダミーラウンド選択信号生成器について示した図である。ダミーラウンド選択信号生成器はダミーラウンド数Ｄおよびダミーラウンド選択用変数を入力とし、ダミーラウンド選択信号を出力する回路であるダミーラウンド選択回路８Ａからなる。ダミーラウンド選択回路８Ａはラウンド演算中に挿入するダミー演算の回数をＤとし、正規のラウンド演算にダミー演算を加えた計１６＋Ｄ回の演算の内、どの回でダミー演算を実行するのか（あるいはどの回で正規のラウンド演算を実行するのか）を、入力されるダミーラウンド選択用変数を基に決定し、ダミー演算を実行するタイミングでダミーラウンド選択信号を出力する。
【００３０】
図５のラウンド演算において、セレクタ５Ａには乱数生成器５Ｅによって生成される３２ビットの乱数およびＬｎ−１を入力する。ダミーラウンド選択信号が出力されている時セレクタ５Ａは乱数を出力し、ダミーラウンド選択信号が出力されていない時セレクタ５ＡはＬｎ−１を出力し、Ｒｎを生成する際の排他的論理和（ＸＯＲ）４Ｂの入力とする。セレクタ５Ｂには乱数生成器５Ｆによって生成される３２ビットの乱数およびＲｎ−１を入力する。ダミーラウンド選択信号が出力されている時セレクタ５Ｂは乱数を出力、ダミーラウンド選択信号が出力されていない時セレクタ５ＢはＲｎ−１を出力し、Ｆ関数４Ａの入力およびＬｎを生成する際の入力とする。また、ダミーラウンド選択信号が出力されている時、生成されるＬｎおよびＲｎはダミーレジスタ５Ｃおよびダミーレジスタ５Ｄに格納される。
【００３１】
以上の構成により、ダミーラウンド選択信号が出力されていない時、図５のラウンド演算は正規のＬｎ、Ｒｎの値を計算するが、ダミーラウンド選択信号が出力されている時、図５のラウンド演算はダミー演算として乱数生成器によって生成された乱数に基づくランダムなＬｎ、Ｒｎの値を計算し、その結果をダミーレジスタ５Ｃ、５Ｄに格納する。ダミー演算を実行するタイミングおよびダミー演算の実行により消費電力がランダムに変化するため、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係が消失し、差分電力解析を防ぐ事ができる。あるいは暗号アルゴリズムに電力解析に対する抜本的な対策を施す場合と比較して、ラウンド演算を実現するために必要なハードウェアコストを抑える事ができる。
（実施の形態３）
図６は本発明の第３の実施の形態における暗号回路２Ａのラウンド演算の内容を示す図である。図６において、図５および図４と同じ構成要素については同じ符号を用い、説明を省略する。本発明の第３の実施の形態において、図６のラウンド演算は図４と同様にＬｎ−１、Ｒｎ−１および部分鍵Ｋｎを入力とし、ＬｎおよびＲｎを出力とするが、その他にセレクタ６Ａ、ダミーレジスタ５Ｄおよび乱数生成器６Ｂを有し、ダミーラウンド選択信号を入力とする。ダミーラウンド選択信号、およびダミーラウンド選択信号を生成するダミーラウンド選択信号生成器については前述の図８と同様であり、説明を省略する。
【００３２】
図６のラウンド演算において、セレクタ６Ａには乱数生成器６Ｂによって生成される４８ビットの乱数および部分鍵Ｋｎを入力する。ダミーラウンド選択信号が出力されている時セレクタ６Ａは乱数を出力し、ダミーラウンド選択信号が出力されていない時セレクタ６ＡはＫｎを出力し、Ｆ関数４Ａの入力とする。また、ダミーラウンド選択信号が出力されている時、生成されるＲｎはダミーレジスタ５Ｄに格納される。
【００３３】
以上の構成により、ダミーラウンド選択信号が出力されていない時、図６のラウンド演算は正規のＲｎの値を計算するが、ダミーラウンド選択信号が出力されている時、図６のラウンド演算はダミー演算として生成された乱数に基づくランダムなＲｎの値を計算し（図５とは異なり、ダミーラウンド選択信号が出力されているか否かに関わらずＬｎは常に正規の値が計算される）、その結果をダミーレジスタ５Ｄに格納する。ダミー演算を実行するタイミングおよびダミー演算の実行により消費電力がランダムに変化するため、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係が消失し、差分電力解析を防ぐ事ができる。あるいは暗号アルゴリズムに電力解析に対する抜本的な対策を施す場合と比較して、ラウンド演算を実現するために必要なハードウェアコストを抑える事ができる。
（実施の形態４）
図７は、本発明の第４の実施の形態における暗号回路２Ａのラウンド演算の内容を示す図である。図７において、図５および図４と同じ構成要素については同じ符号を用い、説明を省略する。本発明の第４の実施の形態において、図７のラウンド演算は図４と同様にＬｎ−１、Ｒｎ−１および部分鍵Ｋｎを入力とし、ＬｎおよびＲｎを出力とするが、その他にダミーレジスタ５Ｃおよびダミーレジスタ５Ｄを有し、ダミーラウンド選択信号を入力とする。ダミーラウンド選択信号、およびダミーラウンド選択信号を生成するダミーラウンド選択信号生成器については前述の図８と同様であり、説明を省略する。
【００３４】
図７のラウンド演算において、ダミーラウンド選択信号が出力されている時、Ｌｎ、Ｒｎはダミーレジスタ５Ｃおよびダミーレジスタ５Ｄに格納される。
【００３５】
以上の構成により、ダミーラウンド選択信号が出力されているか否かに関わらず、図７のラウンド演算は正規のＬｎ、Ｒｎの値を計算するが、ダミーラウンド選択信号が出力されている時、その結果はダミーレジスタ５Ｃおよびダミーレジスタ５Ｄに格納され、本来Ｌｎ、Ｒｎを格納すべき場所に格納されない。結果としてダミーラウンド選択信号が出力されている時に実行した演算は無効となり、ダミー演算となる。ダミー演算を実行するタイミングはランダムに変化するため、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係が消失し、差分電力解析を防ぐ事ができる。あるいは暗号アルゴリズムに電力解析に対する抜本的な対策を施す場合と比較して、ラウンド演算を実現するために必要なハードウェアコストを抑える事ができる。
（実施の形態５）
図９は、本発明の第５の実施の形態におけるダミーラウンド数Ｄの生成回路の内容を示す図である。第１の実施の形態から第４の実施の形態のいずれかの実施の形態において、図８におけるダミーラウンド選択回路８Ａは、ラウンド演算中に挿入するダミー演算の回数Ｄを図９に示される固定値９Ａとする。図８において、ダミーラウンド選択回路８Ａは正規のラウンド演算にダミー演算を加えた計１６＋Ｄ回の演算の内、どの回でダミー演算を実行するのか（どの回で正規のラウンド演算を実行するのか）を、乱数生成器により生成される乱数を基にランダムに決定しても良い。あるいはどの回でダミー演算を実行するのか（どの回で正規のラウンド演算を実行するのか）は固定であっても良い。ＤＥＳアルゴリズムで規定される１６回のラウンド演算以外にダミー演算をＤ回挿入するようにアルゴリズムを改良する事により、演算タイミングおよび演算にかかる消費電力を変化させ、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係を消失させる事により差分電力解析を防ぐ事ができる。あるいは暗号アルゴリズムに電力解析に対する抜本的な対策を施す場合と比較して、ラウンド演算を実現するために必要なハードウェアコストを抑える事ができる。
（実施の形態６）
図１０は本発明の第６の実施の形態におけるダミーラウンド数Ｄの生成回路の内容を示す図である。第１の実施の形態から第４の実施の形態のいずれかの実施の形態において、図８におけるダミーラウンド選択回路８Ａはラウンド演算中に挿入するダミー演算の回数Ｄを乱数生成器１０Ａにより生成される乱数を基にランダムに決定する。図８においてダミーラウンド選択回路８Ａは正規のラウンド演算にダミー演算を加えた計１６＋Ｄ回の演算の内、どの回でダミー演算を実行するのか（どの回で正規のラウンド演算を実行するのか）を乱数生成器により生成される乱数を基にランダムに決定しても良い。あるいはどの回でダミー演算を実行するのか（どの回で正規のラウンド演算を実行するのか）は固定であっても良い。ＤＥＳアルゴリズムで規定される１６回のラウンド演算以外にダミー演算をＤ回挿入するようにアルゴリズムを改良する事により、演算タイミングおよび演算にかかる消費電力を変化させ、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係を消失させる事により差分電力解析を防ぐ事ができる。あるいは暗号アルゴリズムに電力解析に対する抜本的な対策を施す場合と比較して、ラウンド演算を実現するために必要なハードウェアコストを抑える事ができる。
（実施の形態７）
図１１は、本発明の第７の実施の形態におけるダミーラウンド選択用変数生成回路の内容を示す図である。第１の実施の形態から第６の実施の形態のいずれかの実施の形態において、図８における、ダミーラウンド選択回路８Ａは正規のラウンド演算にダミー演算を加えた計１６＋Ｄ回の演算の内、どの回でダミー演算を実行するのか（どの回で正規のラウンド演算を実行するのか）を定数列１１Ａにより決定する。定数列１１Ａはダミー演算を実行する演算の番号を並べたものであり、定数列１１Ａ（｛Ｃ１、Ｃ２、…、ＣＤ｝）に対し、Ｃｉ（１≦ｉ≦Ｄ）番目の演算がダミー演算となる。
【００３６】
図８においてダミーラウンド選択回路８Ａはラウンド演算中に挿入するダミー演算の回数Ｄを乱数生成器により生成される乱数を基にランダムに決定しても良い。あるいはラウンド演算中に挿入するダミー演算の回数Ｄは固定であっても良い。ＤＥＳアルゴリズムで規定される１６回のラウンド演算以外にダミー演算をＤ回挿入するようにアルゴリズムを改良する事により、演算タイミングおよび演算にかかる消費電力を変化させ、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係を消失させる事により差分電力解析を防ぐ事ができる。あるいは暗号アルゴリズムに電力解析に対する抜本的な対策を施す場合と比較して、ラウンド演算を実現するために必要なハードウェアコストを抑える事ができる。
（実施の形態８）
図１２は、本発明の第８の実施の形態におけるダミーラウンド選択用変数生成回路の内容を示す図である。第１の実施の形態から第６の実施の形態のいずれかの実施の形態において、図８におけるダミーラウンド選択回路８Ａは正規のラウンド演算にダミー演算を加えた計１６＋Ｄ回の演算の内、どの回でダミー演算を実行するのか（どの回で正規のラウンド演算を実行するのか）を乱数生成器１２Ａにより生成される乱数を基にランダムに決定する。図８において、ダミーラウンド選択回路８Ａはラウンド演算中に挿入するダミー演算の回数Ｄを乱数生成器により生成される乱数を基にランダムに決定しても良い。あるいはラウンド演算中に挿入するダミー演算の回数Ｄは固定であっても良い。ＤＥＳアルゴリズムで規定される１６回のラウンド演算以外にダミー演算をＤ回挿入するようにアルゴリズムを改良する事により、演算タイミングおよび演算にかかる消費電力を変化させ、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係を消失させる事により差分電力解析を防ぐ事ができる。あるいは暗号アルゴリズムに電力解析に対する抜本的な対策を施す場合と比較して、ラウンド演算を実現するために必要なハードウェアコストを抑える事ができる。
（実施の形態９）
図１３は、本発明の第９の実施の形態における暗号回路２Ａ（図４）のＦ関数４Ａの内容を示す図である。ＤＥＳで使用されるＦ関数４Ａの詳細について図１５に示す。Ｆ関数４ＡはＲｎ−１および部分鍵Ｋｎを入力とする。Ｒｎ−１は拡大置換１５Ａを行った後、拡大置換１５Ａの結果とＫｎとの排他的論理和１５Ｄを６ビットずつ８つのデータに分割する。分割した各データはＳＢＯＸと呼ばれる非線形置換１５Ｂ（Ｓ１からＳ８）にそれぞれ入力され、非線形置換１５Ｂ（Ｓ１からＳ８）の出力を連結した３２ビットのデータを置換１５Ｃに入力する事によりＦ関数４Ａの出力Ｆ（Ｒｎ−１、Ｋｎ）を得る。拡大置換１５Ａ、非線形置換１５Ｂ（Ｓ１からＳ８）および置換１５Ｃの詳細については、ＤＥＳアルゴリズム自体が公開された周知のアルゴリズムであり、ここではその説明を割愛する。
【００３７】
図１３においてＦ関数４Ａを実現する回路は、図１５においてＦ関数４Ａを実現する回路の他に、非線形置換１５Ｂ（Ｓ１からＳ８）の出力を格納するレジスタ１３Ａ（Ｒｅｇ１からＲｅｇ８）を有する。レジスタ１３Ａ（Ｒｅｇ１からＲｅｇ８）にはタイミング調整信号生成器から出力されるタイミング調整信号Ｔ１からＴ８がそれぞれ入力される。タイミング調整信号生成器の概略を図１４に示す。図１４において、タイミング調整信号生成器は乱数生成器１４Ａおよびタイミング調整回路１４Ｂからなり、タイミング調整回路１４Ｂは乱数生成器１４Ａから生成される乱数を用いてタイミング調整信号Ｔ１からＴ８の出力タイミングをランダムに決定し、決定した各タイミングでタイミング調整信号Ｔ１からＴ８を出力する。レジスタ１３Ａ（Ｒｅｇ１からＲｅｇ８）は非線形置換Ｓ１からＳ８の結果をそれぞれの入力とし、タイミング調整信号Ｔ１からＴ８が出力されるタイミングで非線形置換１５Ｂ（Ｓ１からＳ８）の結果を格納する。レジスタ１３Ａ（Ｒｅｇ１からＲｅｇ８）の全レジスタに非線形置換の出力が格納された後各レジスタの値を連結し、置換１５Ｃに入力する事によりＦ関数４Ａの出力Ｆ（Ｒｎ−１、Ｋｎ）を得る。
【００３８】
以上の構成により、図１３におけるＦ関数４Ａの計算において、分割したＦ関数を計算するタイミングおよび分割計算により消費電力がランダムに変化するため、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係が消失し、差分電力解析を防ぐ事ができる。あるいは暗号アルゴリズムに電力解析に対する抜本的な対策を施す場合と比較して、ラウンド演算を実現するために必要なハードウェアコストを抑える事ができる。
（実施の形態１０）
本発明の第１０の実施の形態を図１６および図１７により説明する。
【００３９】
秘密鍵暗号方式のアルゴリズムを部分鍵演算とラウンド演算を２段のステージとしたパイプライン方式で処理する場合の一般的なシーケンスを図１７に示す。まずステップ１において部分鍵Ｋ１を計算する。次にステップ２において、ステップ１で計算したＫ１を用いてＬ１およびＲ１を計算すると同時に部分鍵Ｋ２の計算を行う。ステップ３ではステップ２で計算したＫ２を用いてＬ２およびＲ２を計算すると同時に部分鍵Ｋ３の計算を行う。以下、ステップｎにおいてステップｎ−１で求めた部分鍵Ｋｎ−１を用いてＬｎ−1およびＲｎ−１を計算すると同時に部分鍵Ｋｎを計算する処理を繰り返す事により部分鍵演算とラウンド演算を並列実行する。秘密鍵暗号方式のアルゴリズムを部分鍵演算とラウンド演算を２段のステージとしたパイプライン方式で処理する際の制約条件として、任意のｎについてラウンドｎのラウンド演算を実行する以前に部分鍵Ｋｎが求まっている事が要求されるが、逆にその制約を満足している限り、部分鍵演算およびラウンド演算を実行するタイミングを自由に選択する事ができる。
【００４０】
図１６は、本発明の第１０の実施の形態における暗号アルゴリズムの処理シーケンスである。まずステップ１において部分鍵Ｋ１６を、ステップ２において部分鍵Ｋ１を求める。次にステップ３においてステップ２で計算したＫ１を用いてＬ１およびＲ１を計算すると同時に部分鍵Ｋ２の計算を行う。ステップ４ではステップ３で計算したＫ２を用いてＬ２およびＲ２を計算すると同時に部分鍵Ｋ３の計算を行う。以下、ステップｎにおいてステップｎ−１で求めた部分鍵Ｋｎ−２を用いてＬｎ−２およびＲｎ−２を計算すると同時に部分鍵Ｋｎ−１を計算する処理を繰り返す。ステップ１、ステップ２ステップ１７およびステップ１８については部分鍵演算あるいはラウンド演算のみが実行されるため、電力解析への対策としてステップ１およびステップ２ではラウンド演算に対して、ステップ１７およびステップ１８では部分鍵演算に対してダミー演算を挿入する。
【００４１】
図１６では図１７の方式に対して部分鍵Ｋ１６の演算順序のみを変更しているが、上記の暗号アルゴリズムのパイプライン処理に関する制約を満足している限り、部分鍵演算およびラウンド演算を実行するタイミングを自由に選択する事ができる。よって、部分鍵演算およびラウンド演算を実行するタイミングをランダムに選択し、正規の演算を実行しないステップでは電力解析への対策としてダミー演算を挿入する事により、部分鍵演算あるいはラウンド演算を実行するタイミングおよび各ステップでの消費電力をランダムに変化させる事ができる。その結果、秘密鍵の値と暗号回路動作時の消費電力との間にある因果関係が消失し、差分電力解析を防ぐ事ができる。あるいは暗号アルゴリズムに電力解析に対する抜本的な対策を施す場合と比較して、ラウンド演算を実現するために必要なハードウェアコストを抑える事ができる。
【００４２】
この発明において、上記各実施の形態の暗号回路を一つの集積回路に実装
することができる。
【産業上の利用可能性】
【００４３】
本発明の暗号回路および集積回路は、電力解析への対抗手段を暗号回路内部に有し、スマートカードあるいはスマートカードを使用する情報処理端末の実現に対して有効である。また暗号アルゴリズム自体に電力解析に対する抜本的な対策を施す場合と比較して、暗号回路を実現するために必要なハードウェアコストを抑える事ができるという効果があり、暗号回路およびそれを実装した集積回路として有用である。
【図面の簡単な説明】
【００４４】
【図１】本発明の第１の実施の形態におけるＤＥＳアルゴリズムの概要を示す説明図である。
【図２】本発明で対象とする秘密鍵暗号方式のアルゴリズムを実装した暗号回路を示すブロック図である。
【図３】ＤＥＳアルゴリズムの内容を示す説明図である。
【図４】ＤＥＳアルゴリズムにおけるラウンド演算の内容を示す説明図である。
【図５】本発明の第２の実施の形態における暗号回路２Ａのラウンド演算の内容を示す説明図である。
【図６】本発明の第３の実施の形態における暗号回路２Ａのラウンド演算の内容を示す説明図である。
【図７】本発明の第４の実施の形態における暗号回路２Ａのラウンド演算の内容を示す説明図である。
【図８】ダミーラウンド選択信号生成器を示す説明図である。
【図９】本発明の第５の実施の形態におけるダミーラウンド数Ｄ生成回路を示す説明図である。
【図１０】本発明の第６の実施の形態におけるダミーラウンド数Ｄ生成回路を示す説明図である。
【図１１】本発明の第７の実施の形態におけるダミーラウンド選択用変数生成回路を示す説明図である。
【図１２】本発明の第８の実施の形態におけるダミーラウンド選択用変数生成回路を示す説明図である。
【図１３】本発明の第９の実施の形態における暗号回路２ＡのＦ関数の内容を示す説明図である。
【図１４】タイミング調整信号生成器を示すブロック図である。
【図１５】ＤＥＳアルゴリズムにおけるＦ関数の内容を示す説明図である。
【図１６】本発明の第１０の実施の形態における暗号アルゴリズムの処理シーケンスを示す説明図である。
【図１７】パイプライン方式での暗号アルゴリズムの処理シーケンスを示す説明図である。
【図１８】暗号回路を含む従来システムの概略を示すブロック図である。
【符号の説明】
【００４５】
２Ａ：秘密鍵暗号回路
２Ｂ：平文
２Ｃ：秘密鍵
２Ｄ：暗号文
３Ａ：初期転置
３Ｂ：初期転置
３Ｃ：転置
３Ｄ：最終転置
４Ａ：Ｆ関数
４Ｂ：排他的論理和
５Ａ：セレクタ
５Ｂ：セレクタ
５Ｃ：ダミーレジスタ
５Ｄ：ダミーレジスタ
５Ｅ：乱数生成器
５Ｆ：乱数生成器
６Ａ：セレクタ
６Ｂ：乱数生成器
８Ａ：ダミーラウンド選択回路
９Ａ：固定値
１０Ａ：乱数生成器
１１Ａ：定数列
１２Ａ：乱数生成器
１３Ａ：レジスタ（Ｒｅｇ１からＲｅｇ８）
１４Ａ：乱数生成器
１４Ｂ：タイミング調整回路
１５Ａ：拡大置換
１５Ｂ：非線形置換（Ｓ１からＳ８）
１５Ｃ：置換
１５Ｄ：排他的論理和
１８Ａ：インタフェース回路
１８Ｂ：ＣＰＵ
１８Ｃ：ＲＯＭ
１８Ｄ：ＲＡＭ
【図１】
2006081059.tif 000003
【図２】
2006081059.tif 000004
【図３】
2006081059.tif 000005
【図４】
2006081059.tif 000006
【図５】
2006081059.tif 000007
【図６】
2006081059.tif 000008
【図７】
2006081059.tif 000009
【図８】
2006081059.tif 000010
【図９】
2006081059.tif 000011
【図１０】
2006081059.tif 000012
【図１１】
2006081059.tif 000013
【図１２】
2006081059.tif 000014
【図１３】
2006081059.tif 000015
【図１４】
2006081059.tif 000016
【図１５】
2006081059.tif 000017
【図１６】
2006081059.tif 000018
【図１７】
2006081059.tif 000019
【図１８】
2006081059.tif 000020