入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力するデジタル回路である出力値生成回路、前記出力値生成回路の出力値が一定であるか不定であるかを判定する出力値判定部、周囲温度と前記出力値生成回路の出力値に関する情報との関係を表したデータが記憶されている記憶部、及び前記出力値判定部による判定結果と前記記憶部に記憶されているデータとに基づいて、周囲温度を判定する温度判定部、を備える温度センサ。前記出力値生成回路として、メタスタビリティ型PUFを複数個備えており、前記記憶部には、周囲温度と前記複数個のメタスタビリティ型PUFのうちで出力値が不定であるものの個数との関係を表したデータが記憶されており、前記温度判定部は、前記複数個のメタスタビリティ型PUFのうちで出力値が不定であると前記出力値判定部が判定したものの個数と、前記記憶部に記憶されているデータとに基づいて、周囲温度を判定する、請求項1に記載の温度センサ。前記出力値生成回路として、遅延型PUFを備えており、前記記憶部には、周囲温度と前記遅延型PUFの出力値が一定の値であるか不定の値であるかを表している情報との関係が、該遅延型PUFへの入力値毎に記憶されており、前記温度判定部は、前記遅延型PUFの出力値が不定であると前記出力値判定部421が判定したときに該遅延型PUFに入力されていた入力値と、前記記憶部に記憶されているデータとに基づいて、周囲温度を判定する、請求項1に記載の温度センサ。前記温度判定部は、前記遅延型PUFへの入力として定義されている複数個の入力値に対する、該遅延型PUFの出力値を不定にすると前記出力値判定部により判定された入力値の個数の割合と、前記記憶部に記憶されているデータから周囲温度毎に算出される、該遅延型PUFへの入力として定義されている複数個の入力値に対する、該遅延型PUFの出力値を不定とする入力値の個数の割合とに基づいて、周囲温度を判定する請求項3に記載の温度センサ。入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力するデジタル回路である出力値生成回路と、前記出力値生成回路の出力値が一定であるか不定であるかを判定する出力値判定部と、周囲温度と前記出力値生成回路の出力値に関する情報との関係を表したデータが記憶されている記憶部と、前記出力値判定部による判定結果と前記記憶部に記憶されているデータとに基づいて、周囲温度を判定する温度判定部と、を備える温度センサ、前記出力値生成回路の出力値に基づいて暗号鍵を生成する暗号鍵生成部、前記暗号鍵生成部により生成された暗号鍵を用いて情報の暗号化処理を行う暗号化処理部、及び前記温度判定部により判定された周囲温度が所定範囲外である場合に、前記暗号化処理部を制御して前記暗号化処理の実行を禁止する暗号化処理制御部、を備える暗号化装置。前記暗号鍵生成部は、前記温度判定部により判定された周囲温度が所定範囲外である場合には、前記暗号鍵の出力を禁止する請求項5に記載の暗号化装置。通信ネットワークを介してサーバ装置とデータの授受を行う通信部を更に備え、前記記憶部が、前記サーバ装置に配置されている、請求項5に記載の暗号化装置。前記出力値生成回路は、前記記憶部に記憶されているデータを前記通信部が受け取らない場合には、前記出力値の生成動作を停止する請求項7に記載の暗号化装置。入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力するデジタル回路の出力値が一定であるか不定であるかを判定し、周囲温度と前記デジタル回路の出力値に関する情報との関係を表したデータが予め記憶されている記憶部に記憶されている該データと、前記デジタル回路の出力値についての前記判定の結果とに基づいて、周囲温度を判定し、前記デジタル回路の出力値に基づいて暗号鍵を生成し、前記暗号鍵を用いて情報の暗号化処理を行い、前記周囲温度の判定により判定された周囲温度が所定範囲内である場合には、前記暗号鍵を用いて情報の暗号化処理を行い、該周囲温度が該所定範囲外である場合には、該暗号化処理の実行を禁止する、暗号化方法。請求項1から4のうちのいずれか一項に記載の温度センサ、前記出力値生成回路の出力値に基づいて個体別情報を生成する個体別情報生成部、及び前記温度判定部により判定された周囲温度が所定範囲外である場合に、前記個体別情報生成部により生成される個体別情報の出力を禁止する個体別情報出力制御部、を備える個体別情報生成装置。前述したように、フォールト攻撃は、暗号化処理装置に意図的に異常を発生させることによって、装置内部に格納されている秘密情報を入手する攻撃である。PUFを用いて生成した秘密情報は、解析困難ではあるが、この秘密情報を用いて処理を行っている暗号機能に対してフォールト攻撃が行われた場合には、秘密情報が攻撃者に入手されてしまう可能性がある。そこで、暗号機能へのフォールト攻撃に対する対策が求められている。その対策のひとつに、装置の環境温度を監視して装置への温度ストレスの有無を検出するというものがある。また、クローン対策としてPUFが使用される製品例として前述したもののうちのひとつである電池は、発火事故を防止する安全上の観点から、温度の監視を行う場合がある。また、電池のクローン品には正規品に対して性能が劣っているものがあり、異常発熱による発火事故も懸念されており、温度監視が法律によって要求されている場合もある。このように、PUFが使用される場面において、併せて温度監視が求められる場合がある。温度監視に使用される温度センサはPUFとは全く異なるデバイスであるため、従来は、PUFと温度センサとは個別に実装されていた。特に、PUFは、一般的にはデジタル回路で構成されるのに対し、温度センサは一般的にはアナログ回路で構成されていた。アナログ回路はプロセスの微細化による小型化の恩恵を受けにくいと言われているため、デジタル回路であるPUFがプロセスの微細化に伴って小型化されても温度センサはそれほど小型化されず、全体としての実装コストの低下は抑制されてしまう。上述した問題に鑑み、本明細書で後述する温度センサは、デジタル回路を用いて周囲温度の検知を行えるようにする。本明細書で後述する温度センサのひとつに、出力値生成回路と、出力値判定部と、記憶部と、温度判定部とを備えるというものがある。ここで、出力値生成回路は、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力するデジタル回路である。出力値判定部は、出力値生成回路の出力値が一定であるか不定であるかを判定する。一方、記憶部には、周囲温度と出力値生成回路の出力値に関する情報との関係を表したデータが記憶されている。そして、温度判定部は、出力値判定部による判定結果と記憶部に記憶されているデータとに基づいて、周囲温度を判定する。また、本明細書で後述する暗号化装置のひとつに、上述した温度センサと共に、暗号鍵生成部と、暗号化処理部と、暗号化処理制御部とを備えるというものがある。ここで、暗号鍵生成部は、出力値生成回路の出力値に基づいて暗号鍵を生成する。暗号化処理部は、暗号鍵生成部により生成された暗号鍵を用いて情報の暗号化処理を行う。そして、暗号化処理制御部は、温度センサの温度判定部により判定された周囲温度が所定範囲外である場合に、暗号化処理部を制御して暗号化処理の実行を禁止する。また、本明細書で後述する個体別情報生成装置のひとつに、前述した温度センサと共に、個体別情報生成部と個体別情報出力制御部とを備えるものがある。ここで、個体別情報生成部は、出力値生成回路の出力値に基づいて個体別情報を生成する。そして、個体別情報出力制御部は、温度センサの温度判定部により判定された周囲温度が所定範囲外である場合に、個体別情報生成部により生成される個体別情報の出力を禁止する。本明細書で後述する温度センサは、周囲温度の検知がデジタル回路で行えるという効果を奏する。まず図10について説明する。図10は、暗号化装置の一実施例の機能ブロック図である。図10において、暗号化装置110は温度センサ100を備えている。この温度センサ100は、出力値生成回路101、出力値判定部102、記憶部103、及び温度判定部104を備えている。出力値生成回路101は、入力値に対して生成される出力値が一義的には定まらずに一定の値若しくは不定の値を出力するデジタル回路であり、より具体的には、例えば、前述した各種のPUFである。出力値判定部102は、出力値生成回路101の出力値が一定であるか不定であるかを判定する。記憶部103には、周囲温度と出力値生成回路101の出力値に関する情報との関係を表したデータが記憶されている。温度判定部104は、出力値判定部102による判定結果と記憶部に記憶されているデータとに基づいて、周囲温度を判定する。この温度センサ100は、出力値生成回路101として、例えば前述したメタスタビリティ型PUFを複数個備えるようにしてもよい。このように構成されている場合には、記憶部103には、周囲温度と、この複数個のメタスタビリティ型PUFのうちで出力値が不定であるものの個数との関係を表したデータが記憶されている。このように構成されている場合には、温度判定部104は、この複数個のメタスタビリティ型PUFのうちで出力値が不定であると出力値判定部102が判定したものの個数と、記憶部103に記憶されているデータとに基づいて、周囲温度を判定する。詳細は後述するが、乱数を出力するすなわち、出力値が不定であるPUFの個数は、周囲温度に対して単調に変化する。そこで、上述したようにすることで、デジタル回路であるメタスタビリティ型PUFを用いて周囲温度の検知を行うことができるようになる。また、この温度センサ100は、出力値生成回路101として、例えば遅延型PUFを備えるようにしてもよい。このように構成されている場合には、記憶部103には、周囲温度とこの遅延型PUFの出力値が一定の値であるか不定の値であるかを表している情報との関係が、当該遅延型PUFへの入力値毎に記憶されている。このように構成されている場合には、温度判定部104は、この遅延型PUFの出力値が不定であると出力値判定部102が判定したときに当該遅延型PUFに入力されていた入力値と、記憶部103に記憶されているデータとに基づいて、周囲温度を判定する。より具体的には、温度判定部104は、例えば次のようにして周囲温度の判定を行う。すなわち、温度判定部104は、遅延型PUFへの入力として定義されている複数個の入力値に対する、当該遅延型PUFの出力値を不定にすると出力値判定部102により判定された入力値の個数の割合を求める。また、温度判定部104は、記憶部103に記憶されているデータから、当該遅延型PUFへの入力として定義されている複数個の入力値に対する、当該遅延型PUFの出力値を不定とする入力値の個数の割合を、周囲温度毎に算出する。温度判定部104は、記憶部103の記録データから算出された周囲温度毎の割合から、出力値判定部102による判定に基づいて求められた前述の割合に近いものを特定し、特定された割合に対応する周囲温度を、その判定結果とする。このようにすることで、デジタル回路である遅延型PUFを用いて周囲温度の検知を行うことができる。このように、上記の構成を有する温度センサ100によれば、デジタル回路である出力値生成回路101を用いて周囲温度を検知することができる。暗号化装置110は、以上のように構成されている温度センサ100と共に、暗号鍵生成部111、暗号化処理部112、及び暗号化処理制御部113を備えている。暗号鍵生成部111は、出力値生成回路101の出力値に基づいて暗号鍵を生成する。暗号化処理部112は、暗号鍵生成部111により生成された暗号鍵を用いて情報の暗号化処理を行う。暗号化処理制御部113は、温度判定部104により判定された周囲温度が所定範囲外である場合に、暗号化処理部112を制御して暗号化処理の実行を禁止する。このような構成を備えている暗号化装置110は、周囲温度を所定範囲外とするような温度ストレスを検知して暗号化処理の実行を禁止することで、温度ストレスによる前述のフォールト攻撃を防護することができる。なお、暗号鍵生成部111は、温度判定部104により判定された周囲温度が所定範囲外である場合には、暗号鍵の出力を禁止するようにしてもよい。このようにすることで、フォールト攻撃に対する防護が更に強化される。また、図10において破線により表したように、暗号化装置110が、更に、通信ネットワークを介して不図示のサーバ装置とデータの授受を行う通信部114を備えるように構成してもよい。なお、このように構成する場合には、温度センサ100の記憶部103は、当該サーバ装置に配置するようにする。このようにして、暗号化装置110を構成する他の構成要素とは物理的に離れている別の場所に記憶部103を配置するように構成することで、顕微鏡等での記憶部103の観察による解析に基づいた暗号解読の可能性を低減することができる。なお、出力値生成回路101は、記憶部103に記憶されているデータを通信部114が受け取らない場合には、出力値の生成動作を停止させるようにしてもよい。このようにすることで、暗号解読のための攻撃に対する防護が更に強化される。次に図11について説明する。図11は、個体別情報生成装置の一実施例の機能ブロック図である。図11において、個体別情報生成装置120は、電子デバイスであるデバイス60に実装されて構成されており、デバイス60についての個体別情報を生成する。個体別情報生成装置120は温度センサ100を備えている。この温度センサ100は、図10の暗号化装置110が備えているものと同様に構成されており、出力値生成回路101、出力値判定部102、記憶部103、及び温度判定部104を備えている。また、個体別情報生成装置120は、温度センサ100と共に、個体別情報生成部121及び個体別情報生成制御部122を備えている。個体別情報生成部121は、出力値生成回路101の出力値に基づいて個体別情報を生成する。個体別情報生成制御部122は、温度判定部104により判定された周囲温度が所定範囲外である場合に、個体別情報生成部121により生成される個体別情報の出力を禁止する。このような構成を備えている個体別情報生成装置120は、周囲温度を所定範囲外とするような温度ストレスを検知して個体別情報の出力を禁止する。従って、この個体別情報を暗号鍵として用いて情報の暗号化処理を行う暗号化装置が個体別情報生成装置120に設けられていても、この暗号化装置に対する温度ストレスによる前述のフォールト攻撃を防護することができる。次に、暗号化装置110及び個体別情報生成装置120の具体的な構成について説明する。まず図12について説明する。図12は、個体別情報生成装置120を備えた暗号化装置110の構成例を図解したものである。暗号化装置110は、個体別情報生成装置120、CPU210、暗号演算器220、ROM230、RAM240、及び通信インタフェース部250を備えて構成されている。なお、これらの各構成要素はバスライン260にいずれも接続されており、CPU210による管理の下で各種のデータを相互に授受することができるように構成されている。個体別情報生成装置120は、半導体集積回路であるチップ200に実装されており、このチップ200についての個体別情報を生成する。この個体別情報生成装置120の具体的な構成については後述する。CPUCentralProcessingUnit210は、暗号化装置110の各構成要素の動作を管理する中央演算部であり、図10における暗号化処理制御部113の機能の提供も行う。暗号演算器220は、各種の情報の暗号化処理や、暗号化されているデータの復号処理を行うものであり、図10における暗号化処理部112の一例である。なお、本実施形態では、暗号演算器220は、公開鍵コプロセッサ221と共通鍵コプロセッサ222とを備えている。ここで、公開鍵コプロセッサ221は、代表的な公開鍵暗号方式であるRSA暗号や楕円曲線暗号等を用いて暗号化及び復号の処理を行う。また、共通鍵コプロセッサ222は、代表的な共通鍵暗号方式であるAES暗号等を用いて暗号化及び復号の処理を行う。なお、暗号演算器220を暗号化装置110に備える代わりに、暗号演算器220により行われる暗号化及び復号の処理を、CPU210に行わせるように構成してもよい。ROMReadOnlyMemory230には、CPU210により実行される制御プログラムや、暗号演算器220が暗号化や復号の処理において使用する固有のパラメータが予め格納されている不揮発性半導体メモリである。CPU210は、暗号化装置110への電力供給が開始されたときに、この制御プログラムをROM230から読み出してその実行を開始することで、暗号化装置110の各構成要素の動作管理を行えるようになる。RAMRandomAccessMemory240は、CPU210や暗号演算器220が各種の処理を行う際に、必要に応じて作業用記憶領域として使用する揮発性半導体メモリである。通信インタフェース部250は、サーバ装置300と通信ネットワーク310を介してデータの授受を行うものであり、図10における通信部114の一例である。つまり、通信インタフェース部250は、前述した温度センサ100の記憶部103がサーバ装置300に配置される場合に使用するものである。従って、記憶部103がチップ200上に配置される場合には、通信インタフェース部250は不要である。この暗号化装置110において、暗号演算器220は、個体別情報生成装置120が出力値生成回路101の出力値に基づいて生成した個体別情報を暗号鍵として用いて、情報の暗号化処理を行う。なお、この暗号化処理において暗号鍵として用いられた個体別情報は、この暗号化情報に対して行う復号処理にも使用される。なお、個体別情報生成装置120で生成される個体別情報を暗号鍵の生成に用いる際に、生成された個体別情報のエントロピを更に向上させるための後処理PostProcessingを行ってもよい。このために行われる後処理の一例として、線形フィードバックシフトレジスタLFSRの使用を挙げることができる。LFSRは、排他的論理和回路で帰還をかけたシフトレジスタによって構成されるカウンタであり、個体別情報のエントロピを向上させることができる。従って、LFSRから出力されるデータ列を用いて暗号鍵の生成を行うようにすることで、よりランダム性の高い暗号鍵を生成することが可能になる。なお、LFSRは、専用のハードウェアを構成して用いるようにしてもよく、また、CPU210を用いてソフトウェアにより実現するようにしてもよい。次に図13について説明する。図13は、個体別情報生成装置120の構成の第一の例を図解したものであり、前述したメタスタビリティ型PUFの一例であるバタフライ型PUFを用いて個体別情報の生成を行うものである。図13の個体別情報生成装置120は、バタフライ型PUF部410、オシレータ401、セレクタ402、PUF出力部420、及び温度検出部430を備えている。バタフライ型PUF部410は、図10及び図11における出力値生成回路101の一例であり、バタフライ型PUFを含むラッチ411を複数個備えている。なお、ここでは、個体別情報生成装置120に与えられたチャレンジによって、128個のラッチ411が選択されたものとする。オシレータ401は、ラッチ411に与えるクロック信号を生成する。生成されたクロック信号は、ラッチ411内のバタフライ型PUFへの入力信号図8における入力Aに相当する信号となる。セレクタ402は、チャレンジによって選択された128個のラッチ411の出力からサイクリックに1つずつ出力を選択してPUF出力部420へ入力する。次にPUF出力部420について説明する。PUF出力部420は、図11における個体別情報生成部121の一例であり、バタフライ型PUF部410の出力値に基づいて個体別情報を生成する。なお、前述したように、図12の暗号化装置110においては、PUF出力部420が生成した個体別情報を暗号鍵として用いるので、このPUF出力部420は、図10における暗号鍵生成部111の一例ともいえる。PUF出力部420は、ID判定回路421、シフトレジスタ422、及びエントロピ圧縮部423を備えている。ID判定回路421は、セレクタ402によって選択されたラッチ411の出力に基づいて所定の数値を出力する回路である。図9の個体別情報生成装置50では、符号誤り訂正回路を用いて出力の再現性を確保することを説明したが、本実施例では、このID判定回路421を用いることで、ラッチ411の出力が乱数であっても、個体別情報生成装置120の出力の再現性が確保される。本実施例では、ID判定回路421に入力されるラッチ411の出力値が一定の値固定値0である場合には、ID判定回路421は数値00を出力するようにする。また、ID判定回路421に入力されるラッチ411の出力値が固定値1である場合には、ID判定回路421は数値11を出力するようにする。更に、ID判定回路421に入力されるラッチ411の出力値が0と1との両方の値をとる不定値である場合すなわち、ラッチ411の出力値が乱数である場合には、ID判定回路421は数値10若しくは01を出力するようにする。但し、ここで、ラッチ411の出力値が1である頻度が0である頻度よりも高い場合すなわち、出力値が1である頻度が50パーセントよりも高い場合には、ID判定回路421は数値10を出力するようにする。また、ラッチ411の出力値が1である頻度が0である頻度よりも低い場合すなわち、出力値が0である頻度が50パーセントよりも高い場合には、ID判定回路421は数値01を出力するようにする。電源電圧及び周囲温度が一定の条件の下では、ラッチ411の出力値が乱数である場合に、そのラッチ411が出力する各値の出力頻度は、個々のラッチ411においてほぼ一定であり、再現性を有している。従って、このようにして、ラッチ411の出力値が1である頻度に応じて、ID判定回路421が、数値10若しくは01を出力するようにすることで、前述したような符号誤り訂正回路による個体別情報の再現性の確保が必須のものではなくなる。ここで図14について説明する。図14は、ID判定回路421の具体的構成例を図解したものである。図14のID判定回路421は、セレクタ402によって選択されたラッチ411からの連続する1023ビット分の出力値が全て0である場合には00を出力し、当該連続する1023ビット分の出力値が全て1である場合には11を出力する。また、このID判定回路421は、当該1023ビット分の出力値のうち、値が0である個数が512個以上である場合すなわち、出力値の50パーセント以上が0の場合には、01を出力する。更に、このID判定回路421は、当該1023ビット分の出力値のうち、値が1である個数が512個以上である場合すなわち、出力値の50パーセント以上が1の場合には、10を出力する。このID判定回路421は、ビット数変換器501、加算器502、レジスタ503、リダクション演算回路504及び506、AND論理積回路505及び508、NOT否定回路507、及びOR論理和回路509を備えて構成されている。ビット数変換器501は、ラッチ411から出力される1ビットの出力値を10ビットのデータに変換する変換器であり、当該1ビットの出力値を最下位ビットの値とし、当該最下位ビットに上位9ビット分の0を付加して得られるデータを出力する。加算器502は、ビット数変換器501から出力される10ビットのデータを、レジスタ503に格納されている10ビットのデータに加算し、その加算結果を出力する。レジスタ503は、加算器502から出力される10ビットの加算結果が格納される。従って、ビット数変換器501、加算器502、及びレジスタ503により、出力値生成回路101から出力される出力値が1であった個数を計数するカウンタ回路が構成されている。この個数が512個以上1023個以下の場合には、レジスタ503に格納される10ビットのデータのうちの最上位のビットの値が1となり、この個数が0個以上511個以下の場合には、当該最上位のビットの値が0となる。この最上位のビットの値が、ID判定回路421からの2ビットの出力のうちの上位ビットの出力ID[1]として導き出されると共に、AND回路505及び508各々への入力の1つとされる。なお、レジスタ503は、セレクタ402によって選択されたラッチ411から1023ビット分の値の出力を受け取る度に、格納されている全てのビットの値が0にリセットされる。また、このリセットの度に、セレクタ402には選択信号が送られて、ラッチ411の出力の選択が次のものに切り替えられる。リダクション演算回路504及び506は、どちらも、レジスタ503に格納されている10ビットのデータに対するリダクション演算を行う回路である。但し、リダクション演算回路504は、当該10ビットのデータに対して論理積のリダクション演算を行うのに対し、リダクション演算回路506は、当該10ビットのデータに対して論理和のリダクション演算を行う。従って、リダクション演算回路504は、当該10ビットのデータの全ての値が1である場合にのみ値1を出力し、当該10ビットのデータのうちで少なくとも1ビットの値が0である場合には値0を出力する。一方、リダクション演算回路506は、当該10ビットのデータのうちで少なくとも1ビットの値が1である場合には値1を出力し、当該10ビットのデータの全ての値が0である場合にのみ値0を出力する。AND回路505には、リダクション演算回路504の出力と、レジスタ503に格納されている10ビットのデータのうちの前述した最上位のビットの値とが入力される。従って、AND回路505は、選択されたラッチ411から出力される出力値が1であった個数が1023個の場合にのみすなわち、当該出力値が全て1であった場合にのみ値1を出力し、その他の場合には値0を出力する。一方、AND回路508には、リダクション演算回路506の出力と、レジスタ503に格納されている10ビットのデータのうちの前述した最上位のビットの値をNOT回路507によって反転した値とが入力される。従って、AND回路508は、選択されたラッチ411から出力される出力値が1であった個数が1個以上511個以下の場合には値1を出力する。そして、その他の場合、すなわち、選択されたラッチ411から出力される出力値が1であった個数が0個、若しくは、512個以上1023個以下の場合には、AND回路508は値0を出力する。OR回路509には、AND回路505及び508各々の出力が入力される。従って、OR回路509は、AND回路505及び508の出力のうちの少なくとも一方の値が1のとき、すなわち、選択されたラッチ411の出力値が1であった個数が1個以上511個以下の場合若しくは1023個の場合に、値1を出力する。一方、この他の場合、すなわち、選択されたラッチ411の出力値が1であった個数が0個の場合若しくは512個以上1022個以下の場合に、OR回路509は値0を出力する。このOR回路509の出力が、ID判定回路421からの2ビットの出力のうちの下位ビットの出力ID[0]として導き出される。以上の動作をまとめると、選択されたラッチ411からの1023ビット分の出力値のうちで値が1の個数が0個である場合すなわち、当該出力値が全て0であった場合には、ID判定回路421の出力は、上位ビット下位ビット共に0となる。また、この1023ビット分の出力値のうちで値が1の個数が1023個である場合すなわち、当該出力値が全て1であった場合には、ID判定回路421の出力は、上位ビット下位ビット共に1となる。更に、この1023ビット分の出力値のうちで値が1の個数が1個以上511個以下である場合すなわち、当該出力値の50パーセント以上が0の場合には、ID判定回路421の出力は、上位ビットが0となり、下位ビットが1となる。そして、この1023ビット分の出力値のうちで値が1の個数が512個以上1022個以下である場合すなわち、出力値の50パーセント以上が1の場合には、ID判定回路421の出力は、上位ビットが1となり、下位ビットが0となる。なお、ID判定回路421を図14の構成例のようなハードウェアのみで構成する代わりに、ID判定回路421の機能を演算処理装置で実現させるプログラムソフトウェアを作成し、当該プログラムを当該演算処理装置で実行させるようにして構成してもよい。図13の説明に戻る。シフトレジスタ422には、バタフライ型PUF部410の128個のラッチ411の出力のうちの1つが順にセレクタ402により選択されてID判定回路421に入力されたときにID判定回路421から出力される2ビットの数値が順次格納される。エントロピ圧縮部423は、シフトレジスタ422に並べられた256128×2ビットのビット列に対してエントロピ圧縮を行い、得られた値を、個体別情報レスポンスの生成結果として出力する。シフトレジスタ422に格納された値をそのままレスポンスとして使用すると、128個のラッチ411のセレクタ402による選択順序と、シフトレジスタ422に格納されているビット列の並び順とが1対1対応してしまう。従って、この対応関係を推測されてしまうと、チャレンジラッチ411の選択に対するレスポンスの値が推測できてしまう可能性がある。エントロピ圧縮部423は、この推測を困難なものとするためのものである。エントロピ圧縮部423としては、例えば一方向性関数回路を使用する。一方向性関数回路は、入力が一意であれば、出力が一意に定まるが、出力から入力を求めることは非常に困難な関数である。なお、本実施例では、エントロピ圧縮部423として、入力されたビット列に対するハッシュ関数値を得る回路を用いる。より具体的には、この回路として、米国連邦情報処理基準FederalInformationProcessingStandardFIPSに採用されているハッシュ関数であるSHA-256によるハッシュ関数値を得る回路を用いる。このエントロピ圧縮部423を用いることで、レスポンスからチャレンジを推測することが極めて困難なものとなり、安全性が向上する。図13の個体別情報生成装置120では、以上のようにして個体別情報が生成される。次に温度検出部430について説明する。温度検出部430は、温度判定シーケンサ431と不揮発性メモリ432とを備えている。温度判定シーケンサ431は、シフトレジスタ422に格納されている値と、不揮発性メモリ432に記憶されているデータとに基づいて、この個体別情報生成装置120が実装されているチップ200の周囲温度を判定する。ここで、この周囲温度の判定結果が所定の温度範囲外である場合には、暗号化処理停止信号を出力する。この暗号化処理停止信号がCPU210により受信されると、CPU210は、暗号演算器220を制御して、暗号演算器220による暗号化処理の実行を禁止する。また、この暗号化処理停止信号はエントロピ圧縮部423にも送られ、エントロピ圧縮部423は、暗号化処理停止信号を受信した場合には、個体別情報の出力を中止する。不揮発性メモリ432は、後述するテンプレート情報を記憶しておくものである。なお、テンプレート情報の漏出によって個体別情報生成装置120が生成する個体別情報が推定されることの防止のために、不揮発性メモリ432は耐タンパ性を有しているものを用いることが好ましい。ここで、温度検出部430による周囲温度の判定の手法について説明する。まず図15について説明する。図15は、所定数個のPUFを形成した半導体チップについての、周囲温度と乱数を出力するPUFの個数との関係を、実験によりチップ毎に求めたグラフの一例である。なお、ここでは、PUFとして、バタフライ型PUFを使用した。この図15より、電源電圧を一定とした場合には、乱数を出力するPUFの個数は、周囲温度に対してチップ毎にほぼ一定の傾きで単調に増加することが分かった。つまり、周囲温度が高くなると乱数を出力するPUFの個数が増加し、周囲温度が低くなると乱数を出力するPUFの個数が減少する。また、PUFを実装した半導体チップの個体毎に、グラフの直線の傾き及び切片が異なっていることも図15から分かった。つまり、チップによっては、周囲温度を低くしても多数のPUFが乱数を出力するものや、周囲温度の変化に対して乱数を出力するPUFの個数の変化の少ないものがある。これらは、十数個の実チップFPGAを用いて行った実験により確かめられたものである。温度判定シーケンサ431は、乱数を出力するPUFの個数が周囲温度に応じて単調増加するという上述の実験結果を利用して、以下に説明するようにして、チップ200の周囲温度を推定する。まず、図15で図解したような、チップ200の周囲温度と乱数を出力するラッチ411の個数との関係をチップ200毎に予め実測し、この関係を表しているテンプレート情報を生成して不揮発性メモリ432に記憶させておく。図16のテーブルは、このテンプレート情報の第一の例であり、図15のグラフで表した、チップA及びチップBについてのものである。周囲温度の検出時には、温度判定シーケンサ431は、まず、乱数を出力しているラッチ411の個数の計数を行う。そして、不揮発性メモリ432に記憶されている上述のテンプレート情報を参照してこの計数値に対応付けられている周囲温度を読み出し、読み出された周囲温度を、チップ200の周囲温度の判定結果とする。なお、温度判定シーケンサ431は、シフトレジスタ422に格納されている128個×2ビットの数値列に含まれている数値10若しくは01の個数を計数することによって、乱数を出力しているラッチ411の個数の計数を行う。このようにして、PUFを用いて温度の検出を行うようにすることで、オンチップ実装が可能となる。この結果、従来のアナログ温度センサを使用した場合のように、物理的に切断されてフォールト攻撃検知が無効化される危険性が低減するので、安全性が向上する。次に図17について説明する。図17は、個体別情報生成装置120の構成の第二の例を図解したものであり、前述したメタスタビリティ型PUFの一例であるバタフライ型PUFを用いて個体別情報の生成を行うものである。図17に図解した第二の例は、図13に示した第一の例とは、不揮発性メモリ432を備えていない点が相違している。ここでは、この相違点に関して説明する。図17の個体別情報生成装置120では、前述のテンプレート情報が、サーバ装置300の有している不図示の記憶装置に記憶されている。温度判定シーケンサ431は、テンプレート情報を参照する場合には、通信インタフェース部250及び通信ネットワーク310を介してサーバ装置300に問い合わせを行って、テンプレート情報を取得する。個体別情報生成装置120を図17のように構成することで、テンプレート情報の個体別情報生成装置120からの漏出が防止され、また、不揮発性メモリ432が不要となるので、個体別情報生成装置120の小型化が可能になる。なお、温度判定シーケンサ431は、サーバ装置300からテンプレート情報を取得することができなかった場合には、例えばオシレータ401の動作を停止させて、バタフライ型PUF部410の各ラッチ411の動作を停止させるようにしてもよい。次に図18について説明する。図18は、個体別情報生成装置120の構成の第三の例を図解したものであり、前述したメタスタビリティ型PUFの一例であるSRAM-PUFを用いて個体別情報の生成を行うものである。図18の個体別情報生成装置120は、SRAM-PUF部440、セレクタ402、PUF出力部420、及び温度検出部430を備えている。つまり、この第三の例は、図13に示した第一の例とは、バタフライ型PUF部410と、バタフライ型PUF部410のラッチ411に与えるクロック信号を生成するオシレータ401との代わりに、SRAM-PUF部440を備えている点が相違している。SRAM-PUF部440は、前述したように、メタスタビリティ型PUFの一例であり、SRAMへの電力供給を開始した直後のメモリセルの初期値のばらつきを利用したPUFである。ここでは、個体別情報生成装置120に与えられたチャレンジによって、SRAM-PUF部440が備えている多数のSRAMメモリセル441のうちから128個が選択されたものとする。セレクタ402は、チャレンジによって選択された128個のSRAMメモリセル441の出力からサイクリックに1つずつ出力を選択してPUF出力部420へ入力する。PUF出力部420及び温度検出部430は、図13の第一の例が備えているものと同様のものである。図18の個体別情報生成装置120では、SRAM-PUF部440への電力の供給及び停止が繰り返されることで、電力供給時の初期値がSRAMメモリセル441から順次得られる。ID判定回路421は、セレクタ402によって選択されたSRAMメモリセル441からの連続する1023ビット分の初期値が全て0である場合には00を出力し、当該連続する1023ビット分の初期値が全て1である場合には11を出力する。また、このID判定回路421は、当該1023ビット分の初期値のうち、値が0である個数が512個以上である場合すなわち、出力値の50パーセント以上が0の場合には、01を出力する。更に、このID判定回路421は、当該1023ビット分の初期値のうち、値が1である個数が512個以上である場合すなわち、出力値の50パーセント以上が1の場合には、10を出力する。シフトレジスタ422には、SRAM-PUF部440の128個のSRAMメモリセル441の出力のうちの1つが順にセレクタ402により選択されてID判定回路421に入力されたときにID判定回路421から出力される2ビットの数値が順次格納される。エントロピ圧縮部423は、シフトレジスタ422に並べられた256128×2ビットのビット列に対してエントロピ圧縮を行い、得られた値を、個体別情報レスポンスの生成結果として出力する。温度判定シーケンサ431は、シフトレジスタ422に格納されている値と、不揮発性メモリ432に記憶されているデータとに基づいて、この個体別情報生成装置120が実装されているチップ200の周囲温度を判定する。ここで、この周囲温度の判定結果が所定の温度範囲外である場合には、暗号化処理停止信号を出力する。この暗号化処理停止信号がCPU210により受信されると、CPU210は、暗号演算器220を制御して、暗号演算器220による暗号化処理の実行を禁止する。また、この暗号化処理停止信号はエントロピ圧縮部423にも送られ、エントロピ圧縮部423は、暗号化処理停止信号を受信した場合には、個体別情報の出力を中止する。この温度判定シーケンサ431による周囲温度の判定の手法も、図13の第一の例のものと同様である。すなわち、チップ200の周囲温度と乱数を出力するSRAMメモリセル441の個数との関係をチップ200毎に予め実測し、この関係を表しているテンプレート情報を生成して不揮発性メモリ432に記憶させておく。温度判定シーケンサ431は、周囲温度の検出時には、まず、乱数を出力しているSRAMメモリセル441の個数の計数を行う。そして、不揮発性メモリ432に記憶されている上述のテンプレート情報を参照してこの計数値に対応付けられている周囲温度を読み出し、読み出された周囲温度を、チップ200の周囲温度の判定結果とする。なお、図18に図解した個体別情報生成装置120の構成を変形して、図17に図解した第二の例のように構成してもよい。すなわち、チップ200の周囲温度と乱数を出力するSRAMメモリセル441の個数との関係を表しているテンプレート情報を、サーバ装置300の有している記憶装置に記憶させておくようにしてもよい。このように構成する場合には、温度判定シーケンサ431は、テンプレート情報を参照するときは、第二の例の場合と同様に、通信インタフェース部250及び通信ネットワーク310を介してサーバ装置300に問い合わせを行えばよい。次に図19について説明する。図19は、個体別情報生成装置120の構成の第四の例を図解したものであり、前述した遅延型PUFを用いて個体別情報の生成を行うものである。図19の個体別情報生成装置120は、遅延型PUF部450、PUF出力部420、及び温度検出部430を備えている。つまり、この第四の例は、バタフライ型PUF部410、ラッチ411に与えるクロック信号を生成するオシレータ401、及びラッチ411の出力を選択するセレクタ402の代わりに、遅延型PUF部450を備えている点が、図13の第一の例と相違している。遅延型PUF部450は遅延型PUF451を備えている。遅延型PUF451としては、例えば、前述したアービタPUF、グリッチPUF、及びリングオシレータPUFのいずれでもよい。PUF出力部420は、図13の第一の例が備えているものと同様のものである。図19の個体別情報生成装置120では、遅延型PUF451へ与えるチャレンジの内容を予め128通り遅延型PUF部450に用意しておく。遅延型PUF部450は、ID判定回路421から出力される前述した選択信号を受け取る度に、遅延型PUF451に与えられるチャレンジの選択がサイクリックに順次切り替えられる。また、図19の個体別情報生成装置120では、チャレンジが1つ選択される毎に、そのチャレンジが1023回繰り返して遅延型PUF451に与えられることで、連続する1023ビット分の出力値が遅延型PUF451から出力される。ID判定回路421は、この遅延型PUF451からの連続する1023ビット分の出力値が全て0である場合には00を出力し、当該連続する1023ビット分の出力値が全て1である場合には11を出力する。また、このID判定回路421は、当該1023ビット分の出力値のうち、値が0である個数が512個以上である場合すなわち、出力値の50パーセント以上が0の場合には、01を出力する。更に、このID判定回路421は、当該1023ビット分の出力値のうち、値が1である個数が512個以上である場合すなわち、出力値の50パーセント以上が1の場合には、10を出力する。シフトレジスタ422には、前述した128通りのチャレンジのうちの1つが1023回繰り返し遅延型PUF451に与えられたときにID判定回路421から出力される2ビットの数値が順次格納される。エントロピ圧縮部423は、シフトレジスタ422に並べられた256128×2ビットのビット列に対してエントロピ圧縮を行い、得られた値を、個体別情報レスポンスの生成結果として出力する。図19における温度検出部430は、温度判定シーケンサ431及び不揮発性メモリ432を備えている点では、図13の第一の例におけるものと同様であるが、温度判定シーケンサ431の動作及び不揮発性メモリ432の記憶内容が異なっている。温度判定シーケンサ431は、シフトレジスタ422に格納されている値と、不揮発性メモリ432に記憶されているデータとに基づいて、この個体別情報生成装置120が実装されているチップ200の周囲温度を判定する。ここで、この周囲温度の判定結果が所定の温度範囲外である場合には、暗号化処理停止信号を出力する。この暗号化処理停止信号がCPU210により受信されると、CPU210は、暗号演算器220を制御して、暗号演算器220による暗号化処理の実行を禁止する。また、この暗号化処理停止信号はエントロピ圧縮部423にも送られ、エントロピ圧縮部423は、暗号化処理停止信号を受信した場合には、個体別情報の出力を中止する。次に、図19の温度判定シーケンサ431による周囲温度の判定の手法について説明する。まず図20について説明する。図20は、テンプレート情報の第二の例を表したものであり、図19の温度検出部430における不揮発性メモリ432に記憶されるものである。図20のテーブルの各列の項目を説明する。チャレンジ番号は、遅延型PUF部450に用意されている、遅延型PUF451へ与える128通りのチャレンジを識別する番号であり、入力は、チャレンジ番号で特定されるチャレンジの内容である。出力1回目、出力2回目、...、出力1023回目は、チャレンジ番号で特定されるチャレンジを遅延型PUF451に繰り返し1023回与えたときにおける、遅延型PUF451の各回の出力値の実測結果である。なお、この図20の例では、チップ200の周囲温度を25°Cとしたときの結果を表している。ID25°Cで生成は、チップ200の周囲温度を25°Cとして上述の実測を行ったときのID判定回路421からの2ビットの出力である。出力種別25°Cは、チップ200の周囲温度を25°Cとして上述の実測を行ったときにおける遅延型PUF451の出力が一定の値固定値であったか不定の値乱数であったかを表している。図20の例では、遅延型PUF451の出力が固定値である場合には、この出力種別の値が0と記され、遅延型PUF451の出力が乱数である場合には、この出力種別の値が1と記されている。なお、この出力種別の値の決定は、ID判定回路421の出力前述したIDに基づいて行うことができる。すなわち、図20のデータ例では、ID判定回路421の出力が11若しくは00である場合には、出力種別の値は0とされ、ID判定回路421の出力が10若しくは01である場合には、出力種別の値は1とされる。出力種別35°C、...、出力種別85°Cも同様であり、周囲温度を35°C、...、85°Cとして上述の実測を各々行ったときにおける遅延型PUF451の出力が一定の値固定値と不定の値乱数とのどちらであったかを示す値が記されている。この図20のテーブルにおいて、テンプレート情報は、右端の出力種別25°C、出力種別35°C、...、出力種別85°Cの各項目の値である。不揮発性メモリ432には、テンプレート情報として、予め行われた実測によって得られたチップ200の周囲温度とこれらの各値との関係を、チャレンジ番号毎に記憶させておく。周囲温度の検出時には、温度判定シーケンサ431は、遅延型PUF部450に用意されている128通りの全てのチャレンジが遅延型PUF451へ与えられたときに、遅延型PUF451から乱数が出力されるチャレンジが何通りあるかを計数する。そして、この計数値を128で除算して、乱数が出力されるチャレンジについての全てのチャレンジに対する割合を算出する。その一方で、温度判定シーケンサ431は、不揮発性メモリ432に記憶されているテンプレート情報を参照して、チップ200の各周囲温度において、遅延型PUF451から乱数が出力されるチャレンジについての全てのチャレンジに対する割合を算出する。そして、この両者の算出結果を比較して、テンプレート情報から算出された割合のうち、周囲温度の検出時における割合に最も近いものを選択し、選択された割合に対応している周囲温度を、チップ200の周囲温度の判定結果とする。なお、温度判定シーケンサ431は、シフトレジスタ422に格納されている128個×2ビットの数値列に含まれている数値10若しくは01の個数を計数することによって、遅延型PUF451から乱数が出力されるチャレンジの個数の計数を行う。なお、図19に図解した個体別情報生成装置120の構成を変形して、図17に図解した第二の例のように構成してもよい。すなわち、遅延型PUF451についてのチャレンジと出力種別とについてのチップ200の周囲温度毎の関係を表しているテンプレート情報を、サーバ装置300の有している記憶装置に記憶させておくようにしてもよい。このように構成する場合には、温度判定シーケンサ431は、テンプレート情報を参照するときは、第二の例の場合と同様に、通信インタフェース部250及び通信ネットワーク310を介してサーバ装置300に問い合わせを行えばよい。なお、今までに説明した個体別情報生成装置120の構成の第一の例から第四の例は、いずれも、同じPUFを個体別情報の生成と温度検出とに兼用するように構成されている。すなわち、チップ200の周囲温度が所定の温度範囲外であることがPUFを用いて検出された場合には、個体別情報生成装置120は、個体別情報の出力を中止すると共に、暗号化処理の実行停止を指示する信号を出力するようにしていた。ここで、チップ200の周囲温度が所定の温度範囲外であることが検出された場合には、更に、PUFそのものの動作を停止させるようにしてもよい。また、上述の信号を受信したCPU210は、暗号演算器220による暗号化処理の実行を禁止させる制御を行うと共に、以降の個体別情報生成装置120からの出力を全て無効として使用しないようにして、安全性の更なる向上を目指してもよい。また、上述したように同じPUFを個体別情報の生成と温度検出とに兼用する代わりに、個体別情報の生成と温度検出とに別々のPUFを実装するようにしてもよい。すなわち、図21に図解した暗号化処理システム600の構成のように、温度検出装置610と個体別情報生成装置620との各々に専用のPUFを実装するようにしてもよい。図21の構成では、温度検出装置610が、自らが有しているPUFを用いて周囲温度の検出を行い、周囲温度が所定の温度範囲外であることが検出された場合には、個体別情報生成装置620及び暗号化装置630に停止信号を出力する。個体別情報生成装置620は、自らが有しているPUFを用いて個体別情報の生成を行うが、上述した停止信号を受け取った場合には、個体別情報の生成を中止する。また、暗号化装置630は、個体別情報生成装置620により生成される個体別情報を用いて情報の暗号化処理を行うが、上述した停止信号を受け取った場合には、この暗号化処理の実行を中止する。このように、個体別情報の生成と温度検出とに別々のPUFを実装することで、各々の機能に適した特性を有しているPUFを使用できるようになるので、各機能の性能が向上する。PUFを用いて行う温度測定では、温度変化に対して敏感なPUFを使用することが好ましい。一方、個体別情報の生成では、周囲温度の変化によらず安定した個体別情報を生成する必要があるため、この生成に使用するPUFは、温度変化に対して影響が少ない方が好ましい。従って、個体別情報の生成用のPUFと、温度測定用のPUFとを兼用せずに専用のものとすることで、2つの機能の各々について性能の向上が期待できる。なお、以上までに説明した、PUFを用いた温度検出を、電圧の検出に応用することができる。すなわち、周囲温度が一定の環境では、PUFを動作させるために印加する電圧と、乱数を出力するメタスタビリティPUFの個数遅延型PUFへのチャレンジ数とは、ほぼ単調に変化する関係を有している。この関係を利用して、周囲温度が一定の環境での電圧の検出を、PUFを用いて行うことも可能である。