(57)【特許請求の範囲】
【請求項１】
直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を有し、二値論理の「０」と「１」とが交互に繰り返される出力値を出力する発振回路と、
前記発振回路の出力値を所定のタイミングでサンプリングすることにより、乱数を生成する乱数生成回路と、
前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出する検出回路と、
を備え、
前記検出回路は、前記論理ゲート列に含まれる複数の論理ゲートの各々について、論理ゲートの出力値が所定方向にトグルしていないことを検出することにより、論理ゲートの故障を検出する、乱数生成装置。
【請求項２】
直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を有し、二値論理の「０」と「１」とが交互に繰り返される出力値を出力する発振回路と、
前記発振回路の出力値を所定のタイミングでサンプリングすることにより、乱数を生成する乱数生成回路と、
前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出する検出回路と、
前記検出回路がいずれかの論理ゲートの故障を検出した場合に、前記乱数生成装置の出力値が無効であることを示す通知信号を出力する故障通知部と、
を備える、乱数生成装置。
【請求項３】
直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を有し、二値論理の「０」と「１」とが交互に繰り返される出力値を出力する発振回路と、
前記発振回路の出力値を所定のタイミングでサンプリングすることにより、乱数を生成する乱数生成回路と、
前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出する検出回路と、
前記検出回路がいずれかの論理ゲートの故障を検出した場合に、その故障を補正する故障補正回路と、
を備える、乱数生成装置。
【請求項４】
直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を有し、二値論理の「０」と「１」とが交互に繰り返される出力値を出力する発振回路と、
前記発振回路の出力値を所定のタイミングでサンプリングすることにより、乱数を生成する乱数生成回路と、
前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を補正する故障補正回路と、
を備える、乱数生成装置。
【請求項５】
前記故障補正回路は、故障論理ゲートを含む偶数個の論理ゲートを前記論理ゲート列から除外することにより、故障を補正する、請求項３又は４に記載の乱数生成装置。
【請求項６】
前記発振回路は、複数の予備論理ゲートをさらに有し、
前記故障補正回路が前記論理ゲート列から除外した論理ゲートの個数と同数の予備論理ゲートを、前記論理ゲート列に追加する、周波数補正回路をさらに備える、請求項５に記載の乱数生成装置。
【請求項７】
（Ａ）直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を用いて、二値論理の「０」と「１」とが交互に繰り返される出力値を生成するステップと、
（Ｂ）前記ステップ（Ａ）で生成された出力値を所定のタイミングでサンプリングすることにより、乱数を生成するステップと、
（Ｃ）前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出するステップと、
を備え、
前記ステップ（Ｃ）においては、前記論理ゲート列に含まれる複数の論理ゲートの各々について、論理ゲートの出力値が所定方向にトグルしていないことを検出することにより、論理ゲートの故障が検出される、乱数生成方法。
【請求項８】
（Ａ）直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を用いて、二値論理の「０」と「１」とが交互に繰り返される出力値を生成するステップと、
（Ｂ）前記ステップ（Ａ）で生成された出力値を所定のタイミングでサンプリングすることにより、乱数を生成するステップと、
（Ｃ）前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出するステップと、
（Ｄ）前記ステップ（Ｃ）においていずれかの論理ゲートの故障が検出された場合に、前記ステップ（Ｂ）で生成された出力値が無効であることを示す通知信号を出力するステップと、
を備える、乱数生成方法。
【請求項９】
（Ａ）直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を用いて、二値論理の「０」と「１」とが交互に繰り返される出力値を生成するステップと、
（Ｂ）前記ステップ（Ａ）で生成された出力値を所定のタイミングでサンプリングすることにより、乱数を生成するステップと、
（Ｃ）前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を補正するステップと、
を備える、乱数生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、乱数生成装置及び乱数生成方法に関し、特に、真性乱数の生成装置及び生成方法に関する。
【背景技術】
【０００２】
近年における情報技術の発達に伴い、第三者による盗聴、改ざん、なりすまし等の犯罪が増加する傾向にある。そのため、暗号化による情報セキュリティが重要になってきており、暗号化において乱数の利用は不可欠である。
【０００３】
従来は、関数の組み合わせによる計算式を用いた演算によって生成される擬似乱数が多く使用されていたが、関数や初期設定が人為的に漏洩する危険性や、第三者によって乱数生成パターンが予測され得る可能性があった。そのため、擬似乱数に代えて、再現不可能性及び予測不可能性の高い真性乱数が求められるようになった。
【０００４】
一般的な真性乱数生成器では、二値論理の「０」と「１」とが交互に繰り返される出力値をリング発振器から出力し、その出力値をシフトレジスタで所定のサンプリングクロックを用いてサンプリングすることによって、真性乱数が生成される。
【０００５】
なお、下記特許文献１には、乱数出力レジスタから出力された乱数出力に基づいてシステムクロックの整数倍のサンプリングクロックを生成し、当該サンプリングクロックを用いて発振器の出力値をサンプリングすることにより、乱数出力レジスタで乱数を生成する真性乱数生成装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１７４２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の通り一般的な真性乱数生成器では、リング発振器からの出力値をシフトレジスタでサンプリングすることによって、真性乱数が生成される。しかし、リング発振器を構成する複数の論理ゲートのうちのいずれかの論理ゲートが故障すれば、リング発振器は発振しなくなり、リング発振器からの出力値は「０」又は「１」に固定される。従って、そのような出力値をサンプリングしても乱数の生成は不可能であるため、論理ゲートが故障した状態で乱数生成器の使用を継続するのは、セキュリティ上、深刻な脅威になるおそれがある。
【０００８】
本発明はかかる事情に鑑みて成されたものであり、適正な乱数を生成し得ない状態で継続して使用されることを回避することが可能な、乱数生成装置及び乱数生成方法を得ることを目的とするものである。
【課題を解決するための手段】
【０００９】
本発明の第１の態様に係る乱数生成装置は、直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を有し、二値論理の「０」と「１」とが交互に繰り返される出力値を出力する発振回路と、前記発振回路の出力値を所定のタイミングでサンプリングすることにより、乱数を生成する乱数生成回路と、前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出する検出回路と、を備え、前記検出回路は、前記論理ゲート列に含まれる複数の論理ゲートの各々について、論理ゲートの出力値が所定方向にトグルしていないことを検出することにより、論理ゲートの故障を検出することを特徴とするものである。
【００１０】
第１の態様に係る乱数生成装置によれば、検出回路は、論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出する。従って、検出回路がいずれかの論理ゲートの故障を検出した場合には、乱数を使用する外部装置に対してその旨を通知することにより、あるいは、乱数生成装置内でその故障を補正することにより、適正な乱数を生成し得ない状態で乱数生成装置が継続して使用されることを回避できる。
【００１２】
また、第１の態様に係る乱数生成装置によれば、検出回路は、論理ゲート列に含まれる複数の論理ゲートの各々について、論理ゲートの出力値が所定方向にトグルしていないことを検出することにより、論理ゲートの故障を検出する。これにより、論理ゲートの故障を簡易かつ確実に検出することが可能となる。
【００１３】
本発明の第２の態様に係る乱数生成装置は、直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を有し、二値論理の「０」と「１」とが交互に繰り返される出力値を出力する発振回路と、前記発振回路の出力値を所定のタイミングでサンプリングすることにより、乱数を生成する乱数生成回路と、前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出する検出回路と、前記検出回路がいずれかの論理ゲートの故障を検出した場合に、前記乱数生成装置の出力値が無効であることを示す通知信号を出力する故障通知部と、を備えることを特徴とするものである。
【００１４】
第２の態様に係る乱数生成装置によれば、検出回路は、論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出する。従って、検出回路がいずれかの論理ゲートの故障を検出した場合には、乱数を使用する外部装置に対してその旨を通知することにより、あるいは、乱数生成装置内でその故障を補正することにより、適正な乱数を生成し得ない状態で乱数生成装置が継続して使用されることを回避できる。
また、第２の態様に係る乱数生成装置によれば、故障通知部は、検出回路がいずれかの論理ゲートの故障を検出した場合に、乱数生成装置の出力値が無効であることを示す通知信号を出力する。従って、乱数を使用する外部装置は、故障通知部から当該通知信号が入力されることにより、乱数の使用を直ちに停止することが可能となる。
【００１５】
本発明の第３の態様に係る乱数生成装置は、直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を有し、二値論理の「０」と「１」とが交互に繰り返される出力値を出力する発振回路と、前記発振回路の出力値を所定のタイミングでサンプリングすることにより、乱数を生成する乱数生成回路と、前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出する検出回路と、前記検出回路がいずれかの論理ゲートの故障を検出した場合に、その故障を補正する故障補正回路と、を備えることを特徴とするものである。
【００１６】
第３の態様に係る乱数生成装置によれば、検出回路は、論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出する。従って、検出回路がいずれかの論理ゲートの故障を検出した場合には、乱数を使用する外部装置に対してその旨を通知することにより、あるいは、乱数生成装置内でその故障を補正することにより、適正な乱数を生成し得ない状態で乱数生成装置が継続して使用されることを回避できる。
また、第３の態様に係る乱数生成装置によれば、故障補正回路は、検出回路がいずれかの論理ゲートの故障を検出した場合に、その故障を補正する。従って、故障補正回路が論理ゲートの故障を補正することによって発振回路は適正な出力値を出力するため、乱数生成回路は当該適正な出力値に基づいて適正な乱数を生成できる。その結果、適正な乱数を生成し得ない状態で乱数生成装置が継続して使用されることを回避できる。
【００１７】
本発明の第４の態様に係る乱数生成装置は、直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を有し、二値論理の「０」と「１」とが交互に繰り返される出力値を出力する発振回路と、前記発振回路の出力値を所定のタイミングでサンプリングすることにより、乱数を生成する乱数生成回路と、前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を補正する故障補正回路と、を備えることを特徴とするものである。
【００１８】
第４の態様に係る乱数生成装置によれば、故障補正回路は、論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を補正する。従って、故障補正回路が論理ゲートの故障を補正することによって発振回路は適正な出力値を出力するため、乱数生成回路は当該適正な出力値に基づいて適正な乱数を生成できる。その結果、適正な乱数を生成し得ない状態で乱数生成装置が継続して使用されることを回避できる。
【００１９】
本発明の第５の態様に係る乱数生成装置は、第３又は第４の態様に係る乱数生成装置において特に、前記故障補正回路は、故障論理ゲートを含む偶数個の論理ゲートを前記論理ゲート列から除外することにより、故障を補正することを特徴とするものである。
【００２０】
第５の態様に係る乱数生成装置によれば、故障補正回路は、故障論理ゲートを含む偶数個の論理ゲートを論理ゲート列から除外することにより、故障を補正する。このように、バイパスにより故障論理ゲートを論理ゲート列から除外するという簡易な手法によって、論理ゲートの故障を簡易に補正することが可能となる。また、偶数個の論理ゲートを除外することにより、除外後の論理ゲート列は奇数個の論理ゲートによって構成されるため、発振回路の出力値を正しく発振させることが可能となる。
【００２１】
本発明の第６の態様に係る乱数生成装置は、第５の態様に係る乱数生成装置において特に、前記発振回路は、複数の予備論理ゲートをさらに有し、前記故障補正回路が前記論理ゲート列から除外した論理ゲートの個数と同数の予備論理ゲートを、前記論理ゲート列に追加する、周波数補正回路をさらに備えることを特徴とするものである。
【００２２】
第６の態様に係る乱数生成装置によれば、周波数補正回路は、故障補正回路が論理ゲート列から除外した論理ゲートの個数と同数の予備論理ゲートを、論理ゲート列に追加する。従って、論理ゲート列を構成する論理ゲートの段数は除外処理の前後で変わらないため、発振回路の発振周波数を維持することが可能となる。
【００２３】
本発明の第７の態様に係る乱数生成方法は、（Ａ）直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を用いて、二値論理の「０」と「１」とが交互に繰り返される出力値を生成するステップと、（Ｂ）前記ステップ（Ａ）で生成された出力値を所定のタイミングでサンプリングすることにより、乱数を生成するステップと、（Ｃ）前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出するステップと、を備え、前記ステップ（Ｃ）においては、前記論理ゲート列に含まれる複数の論理ゲートの各々について、論理ゲートの出力値が所定方向にトグルしていないことを検出することにより、論理ゲートの故障が検出されることを特徴とするものである。
【００２４】
第７の態様に係る乱数生成方法によれば、ステップ（Ｃ）では、論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障が検出される。従って、ステップ（Ｃ）においていずれかの論理ゲートの故障が検出された場合には、乱数を使用する外部装置に対してその旨を通知することにより、あるいは、乱数生成装置内でその故障を補正することにより、適正な乱数を生成し得ない状態で乱数生成装置が継続して使用されることを回避できる。
また、第７の態様に係る乱数生成方法によれば、ステップ（Ｃ）においては、論理ゲート列に含まれる複数の論理ゲートの各々について、論理ゲートの出力値が所定方向にトグルしていないことを検出することにより、論理ゲートの故障が検出される。これにより、論理ゲートの故障を簡易かつ確実に検出することが可能となる。
本発明の第８の態様に係る乱数生成方法は、（Ａ）直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を用いて、二値論理の「０」と「１」とが交互に繰り返される出力値を生成するステップと、（Ｂ）前記ステップ（Ａ）で生成された出力値を所定のタイミングでサンプリングすることにより、乱数を生成するステップと、（Ｃ）前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を検出するステップと、（Ｄ）前記ステップ（Ｃ）においていずれかの論理ゲートの故障が検出された場合に、前記ステップ（Ｂ）で生成された出力値が無効であることを示す通知信号を出力するステップと、を備えることを特徴とするものである。
第８の態様に係る乱数生成方法によれば、ステップ（Ｃ）では、論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障が検出される。従って、ステップ（Ｃ）においていずれかの論理ゲートの故障が検出された場合には、乱数を使用する外部装置に対してその旨を通知することにより、あるいは、乱数生成装置内でその故障を補正することにより、適正な乱数を生成し得ない状態で乱数生成装置が継続して使用されることを回避できる。
また、第８の態様に係る乱数生成方法によれば、ステップ（Ｄ）では、ステップ（Ｃ）においていずれかの論理ゲートの故障が検出された場合に、ステップ（Ｂ）で生成された出力値が無効であることを示す通知信号が出力される。従って、乱数を使用する外部装置は、ステップ（Ｄ）で出力された当該通知信号が入力されることにより、乱数の使用を直ちに停止することが可能となる。
【００２５】
本発明の第９の態様に係る乱数生成方法は、（Ａ）直列に接続された複数奇数個の論理ゲートを含む論理ゲート列を用いて、二値論理の「０」と「１」とが交互に繰り返される出力値を生成するステップと、（Ｂ）前記ステップ（Ａ）で生成された出力値を所定のタイミングでサンプリングすることにより、乱数を生成するステップと、（Ｃ）前記論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障を補正するステップと、を備えることを特徴とするものである。
【００２６】
第９の態様に係る乱数生成方法によれば、ステップ（Ｃ）では、論理ゲート列に含まれる複数の論理ゲートのうちいずれかの論理ゲートが故障している場合に、その故障が補正される。従って、ステップ（Ｃ）で論理ゲートの故障を補正することによってステップ（Ａ）で適正な出力値を出力できるため、ステップ（Ｂ）では当該適正な出力値に基づいて適正な乱数を生成できる。その結果、適正な乱数を生成し得ない状態で乱数生成装置が継続して使用されることを回避できる。
【発明の効果】
【００２７】
本発明によれば、適正な乱数を生成し得ない状態で乱数生成装置が継続して使用されることを回避することが可能となる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施の形態１に係る乱数生成装置の構成を示す図である。
【図２】発振回路の構成を示す図である。
【図３】サンプリング回路の構成を示す図である。
【図４】故障処理部の構成を示す図である。
【図５】検出回路の具体的な構成を示す図である。
【図６】故障補正回路の具体的な構成を示す図である。
【図７】判定回路の具体的な構成を示す図である。
【図８】検出回路によるトグルの検出結果を示す図である。
【図９】故障補正回路によって生成された故障補正信号を示す図である。
【図１０】検出回路によるトグルの検出結果を示す図である。
【図１１】本発明の実施の形態２に係る乱数生成装置の構成を示す図である。
【図１２】発振回路の構成を示す図である。
【図１３】故障処理部の構成を示す図である。
【図１４】周波数補正回路の具体的な構成を示す図である。
【図１５】検出回路によるトグルの検出結果を示す図である。
【図１６】故障補正回路によって生成された故障補正信号を示す図である。
【図１７】周波数補正回路によって生成された周波数補正信号を示す図である。
【図１８】検出回路によるトグルの検出結果を示す図である。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相応する要素を示すものとする。
【００３０】
＜実施の形態１＞
図１は、本発明の実施の形態１に係る乱数生成装置１の構成を示す図である。図１の接続関係で示すように、乱数生成装置１は、発振回路２、サンプリング回路３、及び故障処理部４を備えて構成されている。
【００３１】
発振回路２は、二値論理の「０」と「１」とが交互に繰り返される出力値Ｓ２を出力する。サンプリング回路３は、乱数生成回路として機能し、システムクロックＳＣをサンプリングクロックとして用いて発振回路２の出力値Ｓ２をサンプリングすることにより、真性乱数Ｓ３を生成する。
【００３２】
図２は、発振回路２の構成を示す図である。図２の接続関係で示すように、発振回路２は、複数の論理ゲートＧ０〜Ｇ１０と複数のセレクタＬ１〜Ｌ９とを備えて構成されている。発振回路２は、複数の奇数個の論理ゲートが直列に接続された論理ゲート列を有している。本実施の形態の例では、９個の論理ゲートＧ１〜Ｇ９がセレクタＬ１〜Ｌ８を介して直列に接続されており、最終段の論理ゲートＧ９の出力は、セレクタＬ９及び論理ゲートＧ０を介して初段の論理ゲートＧ１に入力されている。これにより、９段の論理ゲートＧ１〜Ｇ９によってリングオシレータが構成されている。セレクタＬ９からの出力値として、発振回路２の出力値Ｓ２が得られる。
【００３３】
論理ゲートＧ１０は、論理ゲートＧ１の故障時にそれを代替するための論理ゲートである。セレクタＬ１の入力端子Ｔ０には論理ゲートＧ１の出力が接続されており、入力端子Ｔ１には論理ゲートＧ１０の出力が接続されている。セレクタＬ１が故障補正値Ｓ５０に基づいて入力端子Ｔ０，Ｔ１の一方を選択することにより、論理ゲートＧ１，Ｇ１０が切り替えられる。
【００３４】
セレクタＬ２〜Ｌ９は、入力端子Ｔ０，Ｔ１をそれぞれ有している。論理ゲートＧ２〜Ｇ９の出力は、対応するセレクタＬ２〜Ｌ９の入力端子Ｔ０にそれぞれ接続されている。セレクタＬ２〜Ｌ９の入力端子Ｔ１には、対応する論理ゲートＧ２〜Ｇ９をバイパスするための配線がそれぞれ接続されている。
【００３５】
セレクタＬ２，Ｌ３は故障補正値Ｓ５１に基づいて、セレクタＬ４，Ｌ５は故障補正値Ｓ５２に基づいて、セレクタＬ６，Ｌ７は故障補正値Ｓ５３に基づいて、セレクタＬ８，Ｌ９は故障補正値Ｓ５４に基づいて、それぞれ入力端子Ｔ０，Ｔ１の一方を選択する。例えば、セレクタＬ２，Ｌ３が入力端子Ｔ０を選択した場合には、上記論理ゲート列内に論理ゲートＧ２，Ｇ３が含まれ、一方、入力端子Ｔ１を選択した場合には、バイパスによって上記論理ゲート列から論理ゲートＧ２，Ｇ３が除外される。
【００３６】
図３は、サンプリング回路３の構成を示す図である。サンプリング回路３は、複数Ｍ個のフリップフロップ５（１）〜５（Ｍ）が直列に接続された構成を有している。各フリップフロップ５には、システムクロックＳＣが共通に入力される。
【００３７】
初段のフリップフロップ５（１）のＤ端子には、発振回路２から出力値Ｓ２が入力される。二段目以降のフリップフロップ５（２）〜５（Ｍ）のＤ端子には、前段のフリップフロップ５（１）〜５（Ｍ−１）のＱ端子からの出力が入力される。Ｍ個のフリップフロップ５（１）〜５（Ｍ）が直列に接続され、各フリップフロップ５からの出力が配列されることによって、合計Ｍビットの真性乱数Ｓ３がサンプリング回路３から出力される。
【００３８】
図４は、故障処理部４の構成を示す図である。故障処理部４は、検出回路１１、故障補正回路１２、及び判定回路１３を有している。検出回路１１は、論理ゲートＧ１〜Ｇ９のいずれかが故障している場合に、その故障を検出する。故障補正回路１２は、検出回路１１が論理ゲートＧ１〜Ｇ９のいずれかの故障を検出した場合に、その故障を補正する。判定回路１３は、故障通知部として機能し、検出回路１１が論理ゲートＧ１〜Ｇ９のいずれかの故障を検出した場合に、乱数生成装置１の出力値（乱数Ｓ３）が無効であることを示す通知信号Ｓ６を出力する。
【００３９】
図５は、検出回路１１の具体的な構成を示す図である。図５の接続関係で示すように、検出回路１１は、フリップフロップＦ１〜Ｆ９を備えて構成されている。
【００４０】
図６は、故障補正回路１２の具体的な構成を示す図である。図６の接続関係で示すように、故障補正回路１２は、論理ゲートＡ１〜Ａ８，Ｂ１〜Ｂ９，Ｃ１〜Ｃ４及び補正値出力回路１５を備えて構成されている。
【００４１】
図７は、判定回路１３の具体的な構成を示す図である。図７の接続関係で示すように、判定回路１３は、レジスタ２１，２２及び比較器２３を備えて構成されている。
【００４２】
以下、本実施の形態１に係る乱数生成装置１の動作について説明する。以下の例では、３段目の論理ゲートＧ３が故障している場合の動作について説明する。なお、故障補正値Ｓ５０〜Ｓ５４の初期値はいずれも「０」に設定されている。また、レジスタ２１の初期値はオール「０」に設定されており、レジスタ２２の初期値はオール「１」に設定されている。
【００４３】
図１を参照して、まず、イネーブル信号Ｓ１をアサートすることにより、発振回路２は発振動作を開始する。これにより、発振回路２から出力値Ｓ２が出力される。出力値Ｓ２は、サンプリング回路３に入力される。
【００４４】
サンプリング回路３は、システムクロックＳＣに同期して出力値Ｓ２をサンプリングする。図３を参照して、サンプリングされた出力値Ｓ２は初段のフリップフロップ５（１）に入力され、保持される。サンプリング回路３は、次のシステムクロックＳＣが入力されることにより、その時点で発振回路２が出力している出力値Ｓ２をサンプリングする。サンプリングされた出力値Ｓ２は初段のフリップフロップ５（１）に入力され、保持される。また、初段のフリップフロップ５（１）がそれまで保持していた出力値Ｓ２（前回のシステムクロックＳＣに基づいてサンプリングした出力値Ｓ２）は、初段のフリップフロップ５（１）から二段目のフリップフロップ５（２）にシフトされる。上記と同様の動作をＭ回繰り返すことにより、Ｍ個のフリップフロップ５（１）〜５（Ｍ）の各々に出力値Ｓ２が保持される。そして、各フリップフロップ５（１）〜５（Ｍ）が保持している出力値Ｓ２を各々のＱ端子から出力し、これらＭ個の出力値Ｓ２を配列することによって、合計Ｍビットの乱数Ｓ３がサンプリング回路３から出力される。なお、サンプリング回路３は、システムクロックＳＣに代えて、所定のサンプリングイネーブル信号（図示しない）が入力されたタイミングで出力値Ｓ２をサンプリングしても良い。
【００４５】
また、図１を参照して、イネーブル信号Ｓ１がアサートされることにより、故障処理部４は故障診断を開始する。図５を参照して、発振回路２の論理ゲートＧ１〜Ｇ９からの出力値Ｓ４１〜Ｓ４９は、検出回路１１のフリップフロップＦ１〜Ｆ９にそれぞれ入力される。ここでは、出力値Ｓ４１，Ｓ４３，Ｓ４５，Ｓ４７，Ｓ４９がＨレベルからＬレベルへトグルし、出力値Ｓ４２，Ｓ４４，Ｓ４６，Ｓ４８がＬレベルからＨレベルへトグルするタイミングで、出力値Ｓ４１〜Ｓ４９がフリップフロップＦ１〜Ｆ９に入力される。検出回路１１は、出力値Ｓ４１〜Ｓ４９が上記の所定方向にトグルしているか否かを検出する。
【００４６】
図８は、検出回路１１によるトグルの検出結果を示す図である。フリップフロップＦ１，Ｆ３，Ｆ５，Ｆ７，Ｆ９は、出力値Ｓ４１，Ｓ４３，Ｓ４５，Ｓ４７，Ｓ４９に関して、ＨレベルからＬレベルへのトグル方向（Ｎ）を検出した場合には、「１」の検出結果を検出信号Ｓ７１，Ｓ７３，Ｓ７５，Ｓ７７，Ｓ７９としてそれぞれ出力する。また、フリップフロップＦ２，Ｆ４，Ｆ６，Ｆ８は、出力値Ｓ４２，Ｓ４４，Ｓ４６，Ｓ４８に関して、ＬレベルからＨレベルへのトグル方向（Ｐ）を検出した場合には、「１」の検出結果を検出信号Ｓ７２，Ｓ７４，Ｓ７６，Ｓ７８としてそれぞれ出力する。この例では論理ゲートＧ３が故障しているため、論理ゲートＧ３の出力値Ｓ４３以降の出力値Ｓ４３〜Ｓ４９に関しては、所定方向のトグルが検出されず、検出結果は「０」となっている。
【００４７】
図５，６を参照して、検出信号Ｓ７１〜Ｓ７９は、検出回路１１から故障補正回路１２に入力される。故障補正回路１２は、検出信号Ｓ７１〜Ｓ７９のうち最初に値が「０」となる検出信号に対応する論理ゲートを、故障論理ゲートと特定する。この例では、最初に値が「０」となる検出信号Ｓ７３に対応する論理ゲートＧ３を、故障論理ゲートと特定する。故障補正回路１２は、故障論理ゲートの特定結果に基づいて、故障補正信号Ｓ５を生成する。
【００４８】
図９は、故障補正回路１２によって生成された故障補正信号Ｓ５（故障補正値Ｓ５０〜Ｓ５４）を示す図である。故障補正回路１２は、論理ゲートＧ１〜Ｇ９がいずれも故障していない場合には、故障補正値Ｓ５０〜Ｓ５４を全て「０」に設定する。また、論理ゲートＧ１が故障している場合には、故障補正値Ｓ５０を「１」に設定する。同様に、論理ゲートＧ２又はＧ３が故障している場合には故障補正値Ｓ５１を、論理ゲートＧ４又はＧ５が故障している場合には故障補正値Ｓ５２を、論理ゲートＧ６又はＧ７が故障している場合には故障補正値Ｓ５３を、論理ゲートＧ８又はＧ９が故障している場合には故障補正値Ｓ５４を、それぞれ「１」に設定する。この例では論理ゲートＧ３が故障しているため、故障補正値Ｓ５１は「１」に設定され、故障補正値Ｓ５０，Ｓ５２〜Ｓ５４は「０」に設定される。
【００４９】
図７を参照して、故障補正値Ｓ５０〜Ｓ５４を含む故障補正信号Ｓ５は、故障補正回路１２から判定回路１３に入力される。故障補正信号Ｓ５は、レジスタ２１に入力され、保持される。また、判定回路１３は、故障補正値Ｓ５０〜Ｓ５４のいずれかが「１」に設定されている場合には、上記論理ゲート列内に故障論理ゲートが含まれていると判定し、乱数生成装置１の出力値（乱数Ｓ３）が無効であることを示す通知信号Ｓ６を出力する。この例では故障補正値Ｓ５１が「１」に設定されているため、出力値の無効を示す通知信号Ｓ６が出力される。具体的には、通知信号Ｓ６をネゲートすることにより、値が「０」の通知信号Ｓ６を出力する。なお、故障補正値Ｓ５０〜Ｓ５４がいずれも「０」に設定されている場合には、判定回路１３は、通知信号Ｓ６をアサートすることにより、値が「１」の通知信号Ｓ６を出力する。
【００５０】
また、図２，６を参照して、故障補正値Ｓ５０〜Ｓ５４を含む故障補正信号Ｓ５は、補正値出力回路１５から発振回路２に入力される。図２を参照して、セレクタＬ１〜Ｌ９は、故障補正値Ｓ５０〜Ｓ５４に基づいて入力端子Ｔ０，Ｔ１の一方をそれぞれ選択する。この例では、故障補正値Ｓ５１は「１」に設定され、故障補正値Ｓ５０，Ｓ５２〜Ｓ５４は「０」に設定されているため、セレクタＬ２，Ｌ３は入力端子Ｔ１を選択し、セレクタＬ１，Ｌ４〜Ｌ９は入力端子Ｔ０を選択する。セレクタＬ２，Ｌ３が入力端子Ｔ１を選択したことにより、バイパスによって論理ゲートＧ２，Ｇ３は上記論理ゲート列から除外される。その結果、故障補正後は、７段の論理ゲートＧ１，Ｇ４〜Ｇ９によってリングオシレータが構成される。
【００５１】
論理ゲートＧ３より後段の論理ゲートＧ４〜Ｇ９が故障しているか否かを判定するために、論理ゲートＧ３の故障補正後も故障処理部４による故障診断は継続される。上記と同様に、論理ゲートＧ１〜Ｇ９からの出力値Ｓ４１〜Ｓ４９は、検出回路１１のフリップフロップＦ１〜Ｆ９にそれぞれ入力される。検出回路１１は、上記と同様に、出力値Ｓ４１〜Ｓ４９が所定方向にトグルしているか否かを検出する。
【００５２】
図１０は、検出回路１１によるトグルの検出結果を示す図である。故障補正によって論理ゲートＧ３を論理ゲート列から除外したことにより、図８に示した状態から、出力値Ｓ４４〜Ｓ４９に関する検出結果が「１」に変化している。
【００５３】
図５，６を参照して、検出信号Ｓ７１〜Ｓ７９は、検出回路１１から故障補正回路１２に入力される。故障補正回路１２は、上記と同様に、検出信号Ｓ７１〜Ｓ７９に基づいて故障補正信号Ｓ５を生成する。この例では、論理ゲートＧ３は故障しており、その他の論理ゲートＧ１，Ｇ２，Ｇ４〜Ｇ９は故障していないため、故障補正値Ｓ５１は「１」に設定され、故障補正値Ｓ５０，Ｓ５２〜Ｓ５４は「０」に設定される。
【００５４】
図７を参照して、故障補正値Ｓ５０〜Ｓ５４を含む故障補正信号Ｓ５は、故障補正回路１２から判定回路１３に入力される。故障補正信号Ｓ５は、レジスタ２１に入力され、保持される。また、それまでレジスタ２１が保持していた前回の故障補正信号Ｓ５は、レジスタ２１からレジスタ２２にシフトされる。比較器２３は、レジスタ２１に格納されている今回の故障補正信号Ｓ５と、レジスタ２２に格納されている前回の故障補正信号Ｓ５とを比較する。そして、両者が同一である場合には、通知信号Ｓ６をアサートすることにより、値が「１」の通知信号Ｓ６を出力し、一方、両者が同一でない場合には、通知信号Ｓ６のネゲートを維持することにより、値が「０」の通知信号Ｓ６を出力する。なお、両者が同一でない場合に、別途エラー信号を出力しても良い。この例では、両者は同一となるため、値が「１」の通知信号Ｓ６が比較器２３から出力される。つまり、乱数生成装置１の出力値（乱数Ｓ３）が有効であることを示す通知信号Ｓ６が出力される。
【００５５】
このように本実施の形態に係る乱数生成装置１によれば、検出回路１１は、論理ゲート列に含まれる複数の論理ゲートＧ１〜Ｇ９のうちいずれかの論理ゲートが故障している場合に、その故障を検出する。従って、検出回路１１がいずれかの論理ゲートの故障を検出した場合には、乱数Ｓ３を使用する外部装置に対してその旨を通知することにより、あるいは、乱数生成装置１内でその故障を補正することにより、適正な乱数Ｓ３を生成し得ない状態で乱数生成装置１が継続して使用されることを回避できる。
【００５６】
また、本実施の形態に係る乱数生成装置１によれば、検出回路１１は、論理ゲート列に含まれる複数の論理ゲートＧ１〜Ｇ９の各々について、論理ゲートの出力値Ｓ４１〜Ｓ４９が所定方向にトグルしていないことを検出することにより、論理ゲートの故障を検出する。これにより、論理ゲートの故障を簡易かつ確実に検出することが可能となる。
【００５７】
また、本実施の形態に係る乱数生成装置１によれば、判定回路１３（故障通知部）は、検出回路１１がいずれかの論理ゲートの故障を検出した場合に、乱数生成装置１の出力値（乱数Ｓ３）が無効であることを示す通知信号Ｓ６を出力する。従って、乱数Ｓ３を使用する外部装置は、判定回路１３から当該通知信号Ｓ６が入力されることにより、乱数Ｓ３の使用を直ちに停止することが可能となる。
【００５８】
また、本実施の形態に係る乱数生成装置１によれば、故障補正回路１２は、検出回路１１がいずれかの論理ゲートの故障を検出した場合に、その故障を補正する。従って、故障補正回路１２が論理ゲートの故障を補正することによって発振回路２は適正な出力値Ｓ２を出力するため、サンプリング回路３は当該適正な出力値Ｓ２に基づいて適正な乱数Ｓ３を生成できる。その結果、適正な乱数Ｓ３を生成し得ない状態で乱数生成装置１が継続して使用されることを回避できる。
【００５９】
また、本実施の形態に係る乱数生成装置１によれば、故障補正回路１２は、故障論理ゲートＧ３を含む偶数個の論理ゲート（上記の例では２個の論理ゲートＧ２，Ｇ３）を論理ゲート列から除外することにより、故障を補正する。このように、バイパスにより故障論理ゲートＧ３を論理ゲート列から除外するという簡易な手法によって、論理ゲートＧ３の故障を簡易に補正することが可能となる。また、偶数個の論理ゲートを除外することにより、除外後の論理ゲート列は奇数個の論理ゲートによって構成されるため、発振回路２の出力値Ｓ２を正しく発振させることが可能となる。
【００６０】
＜実施の形態２＞
図１１は、本発明の実施の形態２に係る乱数生成装置１の構成を示す図である。図１１の接続関係で示すように、乱数生成装置１は、発振回路２、サンプリング回路３、及び故障処理部４を備えて構成されている。故障補正信号Ｓ５に加えて周波数補正信号Ｓ１０が、故障処理部１０から発振回路２に入力される。
【００６１】
図１２は、発振回路２の構成を示す図である。図２に示した構成に、セレクタ３０が追加されている。セレクタ３０は、入力端子Ｔ０〜Ｔ３を有している。入力端子Ｔ０はセレクタＬ３の出力に、入力端子Ｔ１はセレクタＬ５の出力に、入力端子Ｔ２はセレクタＬ７の出力に、入力端子Ｔ３はセレクタＬ９の出力に、それぞれ接続されている。
【００６２】
セレクタ３０は、周波数補正信号Ｓ１０に基づいて入力端子Ｔ０〜Ｔ３を切り替える。具体的にセレクタ３０は、周波数補正信号Ｓ１０の値が「００」である場合には入力端子Ｔ０を、「０１」である場合には入力端子Ｔ１を、「１０」である場合には入力端子Ｔ２を、「１１」である場合には入力端子Ｔ３を、それぞれ選択する。セレクタ３０の出力は、論理ゲートＧ０を介して論理ゲートＧ１，Ｇ１０の入力に接続されている。
【００６３】
初期状態では周波数補正信号Ｓ１０の値は「００」に設定されており、セレクタ３０は入力端子Ｔ０を選択する。これにより、３段の論理ゲートＧ１〜Ｇ３を含む論理ゲート列によって、リングオシレータが構成される。論理ゲートＧ４〜Ｇ９は、予備論理ゲートとして機能する。
【００６４】
図１３は、故障処理部４の構成を示す図である。図４に示した構成に、周波数補正回路３１が追加されている。周波数補正回路３１は、故障補正回路１２が故障補正時に上記論理ゲート列から除外した論理ゲートの個数と同数の予備論理ゲートを、上記論理ゲート列に追加する。検出回路１１、故障補正回路１２、及び判定回路１３の構成は、図５〜７に示した上記実施の形態１と同様である。
【００６５】
図１４は、周波数補正回路３１の具体的な構成を示す図である。周波数補正回路３１は、故障補正信号Ｓ５に含まれる故障補正値Ｓ５１〜Ｓ５４を加算するビット加算器３２を有している。
【００６６】
以下、本実施の形態２に係る乱数生成装置１の動作について説明する。以下の例では、３段目の論理ゲートＧ３が故障している場合の動作について説明する。なお、故障補正値Ｓ５０〜Ｓ５４の初期値はいずれも「０」に設定されている。また、レジスタ２１の初期値はオール「０」に設定されており、レジスタ２２の初期値はオール「１」に設定されている。
【００６７】
図１１を参照して、まず、イネーブル信号Ｓ１をアサートすることにより、発振回路２は発振動作を開始する。これにより、発振回路２から出力値Ｓ２が出力される。出力値Ｓ２は、サンプリング回路３に入力される。
【００６８】
サンプリング回路３は、システムクロックＳＣ（又は図示しないサンプリングイネーブル信号）に同期して出力値Ｓ２をサンプリングする。
【００６９】
また、イネーブル信号Ｓ１がアサートされることにより、故障処理部４は故障診断を開始する。図５を参照して、初期状態の上記論理ゲート列を構成する論理ゲートＧ１〜Ｇ３からの出力値Ｓ４１〜Ｓ４３は、検出回路１１のフリップフロップＦ１〜Ｆ３にそれぞれ入力される。ここでは、出力値Ｓ４１，Ｓ４３がＨレベルからＬレベルへトグルし、出力値Ｓ４２がＬレベルからＨレベルへトグルするタイミングで、出力値Ｓ４１〜Ｓ４３がフリップフロップＦ１〜Ｆ３に入力される。検出回路１１は、出力値Ｓ４１〜Ｓ４３が上記の所定方向にトグルしているか否かを検出する。
【００７０】
図１５は、検出回路１１によるトグルの検出結果を示す図である。フリップフロップＦ１，Ｆ３は、出力値Ｓ４１，Ｓ４３に関して、ＨレベルからＬレベルへのトグル方向（Ｎ）を検出した場合には、「１」の検出結果を検出信号Ｓ７１，Ｓ７３としてそれぞれ出力する。また、フリップフロップＦ２は、出力値Ｓ４２に関して、ＬレベルからＨレベルへのトグル方向（Ｐ）を検出した場合には、「１」の検出結果を検出信号Ｓ７２として出力する。この例では論理ゲートＧ３が故障しているため、論理ゲートＧ３の出力値Ｓ４３に関しては、所定方向のトグルが検出されず、検出結果は「０」となっている。
【００７１】
図５，６を参照して、検出信号Ｓ７１〜Ｓ７３は、検出回路１１から故障補正回路１２に入力される。故障補正回路１２は、検出信号Ｓ７１〜Ｓ７３のうち最初に値が「０」となる検出信号に対応する論理ゲートを、故障論理ゲートと特定する。この例では、最初に値が「０」となる検出信号Ｓ７３に対応する論理ゲートＧ３を、故障論理ゲートと特定する。故障補正回路１２は、故障論理ゲートの特定結果に基づいて、故障補正信号Ｓ５を生成する。
【００７２】
図１６は、故障補正回路１２によって生成された故障補正信号Ｓ５（故障補正値Ｓ５０〜Ｓ５４）を示す図である。この例では、論理ゲートＧ１は故障していないため、故障補正値Ｓ５０は「０」に設定される。また、論理ゲートＧ３は故障しているため、故障補正値Ｓ５１は「１」に設定される。また、故障補正値Ｓ５２〜Ｓ５４は初期値の「０」に設定される。
【００７３】
図７を参照して、故障補正値Ｓ５０〜Ｓ５４を含む故障補正信号Ｓ５は、故障補正回路１２から判定回路１３に入力される。故障補正信号Ｓ５は、レジスタ２１に入力され、保持される。また、判定回路１３は、故障補正値Ｓ５０，Ｓ５１のいずれかが「１」に設定されている場合には、初期状態の上記論理ゲート列内に故障論理ゲートが含まれていると判定し、乱数生成装置１の出力値（乱数Ｓ３）が無効であることを示す通知信号Ｓ６を出力する。この例では故障補正値Ｓ５１が「１」に設定されているため、出力値の無効を示す通知信号Ｓ６が出力される。
【００７４】
また、図１４を参照して、故障補正値Ｓ５０〜Ｓ５４を含む故障補正信号Ｓ５は、故障補正回路１２から周波数補正回路３１に入力される。
【００７５】
図１７は、周波数補正回路３１によって生成された周波数補正信号Ｓ１０を示す図である。周波数補正回路３１は、ビット加算器３２によって故障補正値Ｓ５１〜Ｓ５４を加算することにより、周波数補正値を生成する。この例では、故障補正値Ｓ５１は「１」であり、故障補正値Ｓ５２〜Ｓ５４は「０」であるため、周波数補正値は２ビットの「０１」となる。周波数補正値「０１」を含む周波数補正信号Ｓ１０は、周波数補正回路３１から発振回路２に入力される。
【００７６】
また、図１２，６を参照して、故障補正値Ｓ５０〜Ｓ５４を含む故障補正信号Ｓ５は、補正値出力回路１５から発振回路２に入力される。図１２を参照して、セレクタＬ１〜Ｌ９は、故障補正値Ｓ５０〜Ｓ５４に基づいて入力端子Ｔ０，Ｔ１の一方をそれぞれ選択する。この例では、故障補正値Ｓ５１は「１」に設定され、故障補正値Ｓ５０，Ｓ５２〜Ｓ５４は「０」に設定されているため、セレクタＬ２，Ｌ３は入力端子Ｔ１を選択し、セレクタＬ１，Ｌ４〜Ｌ９は入力端子Ｔ０を選択する。セレクタＬ２，Ｌ３が入力端子Ｔ１を選択したことにより、バイパスによって論理ゲートＧ２，Ｇ３は初期状態の上記論理ゲート列から除外される。また、周波数補正値「０１」を含む周波数補正信号Ｓ１０が入力されることにより、セレクタ３０は入力端子Ｔ１を選択する。その結果、３段の論理ゲートＧ１，Ｇ４，Ｇ５によってリングオシレータが構成される。つまり、初期状態の論理ゲート列から故障補正によって論理ゲートＧ２，Ｇ３が除外され、代わりに周波数補正によって論理ゲートＧ４，Ｇ５が追加されることにより、リングオシレータの段数及び発振周波数が維持される。
【００７７】
追加された論理ゲートＧ４，Ｇ５が故障しているか否かを判定するために、故障補正及び周波数補正後も故障処理部４による故障診断は継続される。上記と同様に、論理ゲートＧ１〜Ｇ５からの出力値Ｓ４１〜Ｓ４５が、検出回路１１のフリップフロップＦ１〜Ｆ５にそれぞれ入力される。検出回路１１は、上記と同様に、出力値Ｓ４１〜Ｓ４５が所定方向にトグルしているか否かを検出する。
【００７８】
図１８は、検出回路１１によるトグルの検出結果を示す図である。この例では、論理ゲートＧ４，Ｇ５は故障していないため、出力値Ｓ４４，Ｓ４５に関する検出結果は「１」となっている。
【００７９】
図５，６を参照して、検出信号Ｓ７１〜Ｓ７５は、検出回路１１から故障補正回路１２に入力される。故障補正回路１２は、上記と同様に、検出信号Ｓ７１〜Ｓ７５に基づいて故障補正信号Ｓ５を生成する。この例では、論理ゲートＧ３は故障しており、その他の論理ゲートＧ１，Ｇ２，Ｇ４，Ｇ５は故障していないため、故障補正値Ｓ５１は「１」に設定され、故障補正値Ｓ５０，Ｓ５２は「０」に設定される。また、故障補正値Ｓ５３，Ｓ５４は初期値の「０」に設定される。
【００８０】
図７を参照して、故障補正値Ｓ５０〜Ｓ５４を含む故障補正信号Ｓ５は、故障補正回路１２から判定回路１３に入力される。故障補正信号Ｓ５は、レジスタ２１に入力され、保持される。また、それまでレジスタ２１が保持していた前回の故障補正信号Ｓ５は、レジスタ２１からレジスタ２２にシフトされる。比較器２３は、レジスタ２１に格納されている今回の故障補正信号Ｓ５と、レジスタ２２に格納されている前回の故障補正信号Ｓ５とを比較する。そして、両者が同一である場合には、通知信号Ｓ６をアサートすることにより、値が「１」の通知信号Ｓ６を出力し、一方、両者が同一でない場合には、通知信号Ｓ６のネゲートを維持することにより、値が「０」の通知信号Ｓ６を出力する。この例では、両者は同一となるため、値が「１」の通知信号Ｓ６が比較器２３から出力される。つまり、乱数生成装置１の出力値（乱数Ｓ３）が有効であることを示す通知信号Ｓ６が出力される。
【００８１】
このように本実施の形態に係る乱数生成装置１によれば、周波数補正回路３１は、故障補正回路４が論理ゲート列から除外した論理ゲート（上記の例では論理ゲートＧ２，Ｇ３）の個数と同数の予備論理ゲート（上記の例では論理ゲートＧ４，５）を、論理ゲート列に追加する。従って、論理ゲート列を構成する論理ゲートの段数は除外処理の前後で変わらないため、発振回路２の発振周波数を維持することが可能となる。
【符号の説明】
【００８２】
１  乱数生成装置
２  発振回路
３  サンプリング回路
４  故障処理部
１１  検出回路
１２  故障補正回路
１３  判定回路
３１  周波数補正回路
【図１】
0006423277.tif 000002
【図２】
0006423277.tif 000003
【図３】
0006423277.tif 000004
【図４】
0006423277.tif 000005
【図５】
0006423277.tif 000006
【図６】
0006423277.tif 000007
【図７】
0006423277.tif 000008
【図８】
0006423277.tif 000009
【図９】
0006423277.tif 000010
【図１０】
0006423277.tif 000011
【図１１】
0006423277.tif 000012
【図１２】
0006423277.tif 000013
【図１３】
0006423277.tif 000014
【図１４】
0006423277.tif 000015
【図１５】
0006423277.tif 000016
【図１６】
0006423277.tif 000017
【図１７】
0006423277.tif 000018
【図１８】
0006423277.tif 000019