"複数のパルスを含むグリッチ信号を発生するグリッチ発生部と、前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、0と1とのいずれかのビット値を生成するビット値生成部とを備えたことを特徴とするビット生成装置。前記ビット値生成部は、前記複数のパルスの立ち上がりエッジの個数と、立ち下がりエッジの個数とのいずれかに基づいて、前記ビット値を生成することを特徴とする請求項1記載のビット生成装置。前記ビット値生成部は、前記複数のパルスの立ち上がりエッジの個数の偶奇と、立ち下がりエッジの個数の偶奇とのいずれかに基づいて、前記ビット値を生成することを特徴とする請求項2記載のビット生成装置。前記ビット生成装置は、さらに、前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号から所定のパルス幅に満たない前記パルスを除去し、所定のパルス幅に満たない前記パルスが除去された前記グリッチ信号を前記ビット値生成部に出力するフィルター部を備え、前記ビット値生成部は、前記フィルター部から出力された前記グリッチ信号を対象として、前記ビット値を生成することを特徴とする請求項1~3のいずれかに記載のビット生成装置。前記ビット生成装置は、前記グリッチ発生部によって発生された同一の前記グリッチ信号を、前記グリッチ発生部から互いに異なる信号経路を介して入力し、入力された前記グリッチ信号から前記ビット値を生成する複数の前記ビット値生成部と、複数の前記ビット値生成部によって生成された複数の前記ビット値の示す0と1との個数に基づいて、複数の前記ビット値を、0と1とのいずれかの値を示す代表ビット値に変換する変換部とを備えたことを特徴とする請求項1~4のいずれかに記載のビット生成装置。前記変換部は、複数の前記ビット値生成部によって生成された複数の前記ビット値の中で0と1とのうちのいずれか一方のビット値が所定の比率を満たす場合に、複数の前記ビット値を、前記代表ビットとして前記所定の比率を満たす前記一方のビット値に変換することを特徴とする請求項5記載のビット生成装置。前記変換部は、0と1とのうちのいずれか一方のビット値が前記所定の比率を満たしたかどうかを示す充足情報を生成し、生成された前記充足情報を記憶装置に記憶し、前記グリッチ発生部は、前記グリッチ信号を生成するための入力信号を入力し、入力された前記入力信号に対応する前記グリッチ信号を生成し、複数の前記ビット値生成部は、前記充足情報の生成の元となる前記グリッチ信号に対応する前記入力信号と同一の前記入力信号によって前記グリッチ発生部が発生した前記グリッチ信号である第2グリッチ信号を、前記グリッチ発生部から互いに異なる前記信号経路を介して入力し、入力された前記第2グリッチ信号から前記ビット値である第2ビット値を生成し、前記変換部は、前記記憶装置に記憶された前記充足情報を参照し、前記充足情報が前記所定の比率の充足を示す場合には複数の前記第2ビット値の中で0と1とのうちのいずれか一方のビット値が前記所定の比率よりも低い所定の比率を満たすかどうかを判定し、前記所定の比率よりも低い前記所定の比率を満たすと判定した場合に、複数の前記第2ビット値を、前記代表ビット値として、前記所定の比率よりも低い前記所定の比率を満たすと判定されたビット値に変換することを特徴とする請求項6記載のビット生成装置。前記変換部は、前記所定の比率として、0と1とのうちのいずれか一方のビット値が100を満たす場合に、複数の前記ビット値を、前記代表ビットとして、100を満たす前記一方のビット値に変換することを特徴とする請求項6記載のビット生成装置。前記変換部は、前記所定の比率として、0と1とのうちのいずれか一方のビット値が50を超える比率の場合に、複数の前記ビット値を、前記代表ビットとして、50を超える前記一方のビット値に変換することを特徴とする請求項6記載のビット生成装置。前記ビット生成装置は、前記ビット値生成部として、トグルフリップフロップ回路を備えたことを特徴とする請求項1~9のいずれかに記載のビット生成装置。グリッチ発生部と、ビット値生成部とを備えたビット生成装置が行うビット生成方法であって、前記グリッチ発生部が、複数のパルスを含むグリッチ信号を発生し、前記ビット値生成部が、前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、0と1とのいずれかのビット値を生成することを特徴とするビット生成方法。非特許文献1のサンプリングによるグリッチ波形の捕捉には、グリッチPUFに本質的には必要の無い回路が必要となるため、回路規模や処理時間が増大するという課題があった。また、その結果として、同時に生成可能なビット数が少なくなるという課題もあった。以下に上記課題が生じる理由を述べる。図16では、サンプリング用遅延回路203によって微小な遅延を付加したN個の信号s1~sNを生成している。これら信号s1~sNは理想的には、図17N=6としているのように、遅延が付加された順序を保ったままサンプリングされ、その結果から元の波形が再現できる。しかし現実には、図16において信号s1~sNがサンプリングレジスタ群204に到達するまでの配線や、サンプリング用のクロックCLKのスキューによって生じる遅延が、サンプリング用遅延回路203によって付加される微小な遅延よりも大きい場合がある。その結果、図18のように、遅延が付加された順序に逆転が生じた状態でサンプリングされ、元の波形が再現できなくなってしまう課題がある。非特許文献1ではこの課題を解決するため、タイミングの異なるパルスを次々にサンプリングして、それらの結果から逆転した順序関係を学習し、並べ替えを行うという処理ソーティングと呼ぶを、PUFの前処理として実行している。図19は、非特許文献1のビット列生成回路401の構成である。伝令信号用遅延回路402は、上述のタイミングの異なるパルスを発生させる回路である。そのパルスと、PUF処理に用いるグリッチ信号との選択のため、セレクタ403が必要となる。また、サンプリング用遅延回路404やサンプリングレジスタ405という、グリッチPUFとは直接関係のない回路が必要となっている。また、サンプリングのタイミングを調整するために、可変遅延回路406も必要となっている。伝令信号用遅延回路402~可変遅延回路406、およびグリッチ形状判定回路407によって一度に生成可能なビット数は1である。伝令信号用遅延回路402~グリッチ形状判定回路407を並列に実装することで、複数ビットの同時生成も原理的には可能である。しかし、回路規模が増大するという実用上の課題がある。本発明は、グリッチPUFにおいて、グリッチ波形の形状に基づく情報ビット生成を、グリッチ信号のサンプリングやソーティング無しで実現し、その結果、回路規模の小さい、処理時間の短い、同時に生成可能なビット数の多い、ビット生成装置の提供を目的とする。この発明のビット生成装置は、複数のパルスを含むグリッチ信号を発生するグリッチ発生部と、前記グリッチ発生部によって発生された前記グリッチ信号を入力し、入力された前記グリッチ信号に含まれる前記複数のパルスの立ち上がりエッジと、立ち下がりエッジとのいずれかに基づいて、0と1とのいずれかのビット値を生成するビット値生成部とを備えたことを特徴とする。本発明により、従来で必要とされた、グリッチPUFに本質的には必要の無い回路が不要となり、回路規模や処理時間の増大を抑制できる。また、その結果として、同時に生成可能なビット数が少なくなるという課題を解決できる。実施の形態1.図1は、ビット列生成回路100ビット生成装置をシステムLSILargeScaleIntegration1000に搭載する例を示す図である。図1は、CPUCentralProcessingUnit500、内部メモリ600記憶装置の一例、外部インタフェース700などを備える一般的な構成のシステムLSIに、ビット列生成回路100と、誤り訂正回路300誤り訂正部、暗号処理回路400を搭載した例である。以下に説明するが、ビット列生成回路100は、グリッチ信号からビット列を生成する。その場合、ビット列生成回路100は、並行処理によって複数のビット値を生成し、生成された複数のビット値から、ビット列である鍵情報あるいはデバイスの識別情報を生成する。これらの鍵情報等は、グリッチPUFである。ビット列生成回路100によって生成されたデータビット列は、例えば、暗号処理回路400による暗号処理などの、情報セキュリティ処理で必要な鍵情報として利用される。ビット列生成回路100に対する制御は、CPU500から制御可能としてもよい。ビット列生成回路100は、後述図9のように、生成ビットの安定性を高める処理生成ビット安定化回路160を含んでいる。しかし、それでも、生成されるビット列に含まれる誤りを0にすることは難しい。図1では、この誤りを誤り訂正回路300によって訂正する。誤り訂正回路300を使用することで、ビット列生成回路100によって生成されるデバイス固有情報を、暗号処理に必要な鍵情報として利用することが可能となる。ビット列生成回路100の特徴は、グリッチ信号に含まれるパルス個数の奇数、偶数偶奇性の判定を、ビットの反転回数によって行う点である。グリッチ信号の偶奇性の判定には、トグルフリップフロップT-FFと表記すると呼ばれる回路が使用される。図2は、T-FF後述の単位回路の一例を示す。T-FFは、図2のような回路記号で表される順序回路である。図3は、図2に示すT-FFの入力信号Tと出力信号Qを示す。図3のaは、グリッチ信号に含まれるパルスの個数が3個奇数の場合を示し、図3のbは、グリッチ信号に含まれるパルス個数が4個偶数の場合を示す。T-FFは、入力信号Tが立ち上がる毎に一度、出力信号Qの値が反転するフリップフロップである。その結果、図3のように、入力Tのパルス個数が偶数か奇数かによって最終的な出力Qの値が決定する。この原理により、グリッチ信号をT-FFの入力信号Tとして入力し、その出力信号Qを利用することで、グリッチPUFが実現できる。すなわち、図3のaでは入力信号Tのパルスの個数は3個奇数である。このパルスに対して、T-FFは、立ち上がりエッジを検出する都度、出力信号Qの値が反転する。よって、図3のaの破線領域205で示すように、入力信号Tのパルス個数が3個奇数であれば出力信号Qの最終値はハイレベルとなる。一方、図3のbの破線領域206で示すように、入力信号Tのパルス個数が4個偶数であれば出力信号Qの最終値はローレベルとなる。よって、出力信号Qの最終値がハイレベルパルス数が奇数=ビット値0、出力信号Qの最終値がローレベルパルス数が偶数=ビット値1、とビットを決定できる。なお、図3において出力Qの初期の信号レベルをハイとすることで、出力信号Qの最終値がローレベルパルス数が奇数=ビット値0、出力信号Qの最終値がハイレベルパルス数が偶数=ビット値1、とすることができる。このように、出力Qの反転回数出力Qの最終値がパルスの偶奇に一致するので、出力信号Qの最終値により、ビット値を決定することができる。なお、図3ではT-FFによって入力信号Tグリッチ信号のパルスの立ち上がりエッジを検出する場合を説明したが、立ち下がりエッジを検出しても良いのは明らかである。ビット列生成回路100の構成図4は、ビット列生成回路100のブロック図である。ビット列生成回路100は、デバイス固有の情報ビット列の生成を目的とする。ビット列生成回路100は、データバス101,102に接続される。ビット列生成回路100は、データレジスタ群110、グリッチ発生回路120グリッチ発生部、ビット生成回路群130、制御レジスタ群140を備えている。ビット生成回路群130は、T-FFに基づくT-FFビット生成回路131ビット値生成部をM個備えている。個々のT-FFビット生成回路131を区別する場合には、T-FFビット生成回路131ii=1~Mのように表記する。例えば、T-FFビット生成回路1311は、グリッチ信号y1を入力して、ビットb1を出力する。T-FFビット生成回路1311は、一つのT-FFからなる後述の単位回路でもよいし、図9で後述するように、複数の単位回路からなる構成でもよい。データレジスタ群110は、データバス101からのデータ入力に対して、グリッチ発生回路120への入力信号x1~xLを保持するレジスタを含む。グリッチ発生回路120は、データ信号x1~xLを入力とし、信号y1~yMを返す出力する。信号y1~yMは、ビット列生成回路100のグリッチ発生回路ごとに異なる、グリッチ信号である。図5は、グリッチ発生回路120の内部構成を示す。グリッチ発生回路120は、ランダムロジック部121組み合わせ回路を備えている。ランダムロジック部121は、x1~xLのLビットの入力を、任意の関数の組み合わせ回路によって処理し、Mビットのデータy1~yMを出力する。ランダムロジック部121で処理する関数の例として、共通鍵暗号AESで定義されるS-boxが挙げられる。S-boxの場合、L=M=8となる。ビット生成回路群130は、グリッチ発生回路120の出力y1~yMのそれぞれを入力Tとして入力し、入力信号y1~yMに応じてビットb1~bMを生成し、出力するM個のT-FFビット生成回路131からなる。具体的には図4に示すように、T-FFビット生成回路1311は、入力信号y1を入力してビット値b1を出力し、T-FFビット生成回路1312は、入力信号y2を入力してビット値b2を出力し、同様に、T-FFビット生成回路131Mは、入力信号yMを入力してビット値bMを出力する。図6、図7は、図2で説明したT-FFの、LSIにおける構成例である。図6は、一般的なDフリップフロップを用いたASICにおけるT-FFの構成である。図6のT-FFは、Dフリップフロップの反転出力をフィードバックして入力する。図6、図7のT-FFは、単位回路の場合のT-FFビット生成回路1311、単位回路であるT-FFビット生成回路13111-1に相当する。図7のT-FFは、FPGAにおけるF-FFの構成例である。一般的にFPGAは、論理関数を実現するLUTLookUpTableと、LUTの出力を保持するためのレジスタとの対からなる構成要素を複数有する。これら複数の構成要素の間が、配線可能な構成となっている。図7は、Xilinx社のSpartan-3Aと呼ばれるFPGAシリーズを例とした図である。図7のFPGAは、LUTとレジスタとの対を2個有するスライスと呼ばれる構成要素と、SwitchMatrixと呼ばれる、スライス同士、もしくは、スライスをRAM等の別の構成要素と配線するための構成要素を有する。1個のスライス内の1個のレジスタを用い、その出力をSwitchMatrixによる配線で再び同じスライスに入力する。そして、スライス内に存在する反転経路を通して同じレジスタに入力する。これによって、図7では、T-FFが構成される。ここで、例えば反転処理にLUTを用いることにより配線中にLUTを含むと、グリッチ信号におけるパルス発生に反転処理が間に合わず、タイミング違反が起こる可能性がある。このため、反転処理にはLUTは使用しない。図8~図11を参照して、ビット生成回路群130の具体的な内部構成を説明する。図8は、T-FFの前段に、グリッチ信号に対するフィルター回路150フィルター部を備えた構成である。グリッチ信号図4の信号y1~yMのパルスの中には、パルス幅が極端に狭いものが含まれることがある。例えば図8の破線152で囲まれたパルスである。このようなパルスは、ゲートを通過する際に消えてしまったり、図6、図7等のT-FFにおいて、ラッチ間隔が短かすぎるためフィードバック入力が間に合わなくなったりするなど、ビット生成を不安定にする要因となる。そこで、ビット生成を安定化させるため、幅が極端に狭いパルスを除去するフィルター回路150を、T-FFの前段に設ける。図8では、フィルター回路150の具体的構成として、インバーターを直列に接続したフィルター回路151を示す。図9は、一つのグリッチ信号例として信号y1とするを分岐させ、それぞれのT-FFに入力する構成である。図9は、図4のT-FFビット生成回路1311が、K個のT-FFビット生成回路と、生成ビット安定化回路160変換部とを備えた場合を示す。図9に示すK個のT-FFビット生成回路を、T-FFビット生成回路1311-1~1311―Kと表記する。以下、T-FFビット生成回路1311-1~1311―Kの個々を単位回路とも呼ぶ。単位回路ビット値生成部とは、信号y1のような一つのグリッチ信号を入力として、一つのビットを出力する回路をいう。T-FFビット生成回路1312~T-FFビット生成回路131Mに関しても、T-FFビット生成回路1311と同様の構成である。同一のグリッチ信号y1であっても、単位回路によって生成されるビットb1が変化する場合がある。言い換えれば、グリッチ信号y1に対して、一つの単位回路のみでビット値b1を生成する場合、生成されるビット値b1は、安定しないおそれがある。すなわち、図4のT-FFビット生成回路1311を一つの単位回路のみとした場合は、出力されるビット値b1が安定しないおそれがある。そこで、図9に示すように、T-FFビット生成回路1311がK個の単位回路と、生成ビット安定化回路160とを備える構成とした。図9において、それぞれの単位回路は、グリッチ発生回路120の発生したグリッチ信号y1を、互いに異なる信号経路を介して入力し、ビット値b’ii=1~Kを出力する。生成ビット安定化回路160は、それぞれの単位回路によって生成されたK個のビット値の示す0と1との個数に基づいて、K個のビット値を、0と1とのいずれかの値を示す代表ビット値に変換する。図9は、生成ビット安定化回路160が、K個のビット値を、代表ビット値b1=0に変換した場合を示す。このように、生成ビット安定化回路160は、グリッチ信号yii=1~Mから生成されるビット値bii=1~Mを安定化させる回路である。図10、図11は、生成ビット安定化回路160の具体的な構成の、生成ビット安定化回路161、生成ビット安定化回路162を示す。図10の生成ビット安定化回路161は、それぞれの単位回路によって生成されたK個のビットをなす1と0とのうち、多く生成されたビットを最終的な出力ビットb1とする。また、図11の生成ビット安定化回路162は、それぞれの単位回路によって生成されたK個のビットに関して、K個のビットが全て同じ値すべて1、あるいはすべて0のときに限り、そのビットを情報として使用する。K個のビットに0と1とが混在する場合は、生成ビット安定化回路162は、出力ビットb1を情報として使用しないことを示すフラグ信号を出力する。すなわち、生成ビット安定化回路162は、出力ビットを情報として使用するかどうかを示すフラグ信号充足情報を出力ビットbと同時に出力する。このフラグ信号は、後述のマスクである。制御レジスタ群140は、ビット列生成回路100が、T-FFに基づくビット生成回路として図8および図9の構成を備える。制御レジスタ群140は、ビット列生成回路100が少なくともいずれか一方を選択可能な機能を備える場合に、その選択信号を保持する。選択信号は、データバス101を介して外部から入力される。図12、図13を参照して、ビット列生成回路100の動作を説明する。図12、図13は、ビット列生成回路100による、情報ビット生成の動作を表すフローチャートである。以下に説明する図12、図13の動作に関しては、CPU500がビット列生成回路100を制御するものとする。まず図12を説明する。以下の説明では図4、図9等も参照する。まず初期設定として、CPU500によって、ビット列生成回路100の全レジスタが初期化されるS1001。初期設定後、CPU500は、データレジスタ群110にデータを入力するS1002、S1003。S1002において、dがd=0からd=2L-1までループする。このdのループは、S1003に示すように、Lビットの入力データx1,x2,xL=0,0,,0~1,1,,1の2L通りに対応する。例えば、d=0はLビットのすべてが0であるx1,x2,xL=0,0,0に対応し、d=2L-1はLビットのすべてが1であるx1,x2,xL=1,1,,1に対応する。S1003におけるx1~xLの入力により、グリッチ発生回路120は、x1~xLの入力に伴うグリッチ信号であるy1~yMを出力する。グリッチ発生回路120によって発生されたグリッチ信号y1~yMは、ビット生成回路群130によって処理される。すなわちグリッチ信号y1~yMは、図4の個々のT-FFビット生成回路131iによって処理される。ビット生成回路群130によって、グリッチ信号y1~yMのそれぞれに対して1ビット、合計Mビットの情報ビットが最終的にデータバス102に出力される。図12のS1004~S1009のステップは、ビット列生成の流れを示す。ただし、説明を簡略化するため、S1004~S1009は、生成されるビット数が1ビットの場合を示した。すなわち、S1004~S1009は、例えば、図4のT-FFビット生成回路1311のみに着目している。Mビットの生成は、S1004~S1009のステップをM個並列して行うことで実現される。すなわちT-FFビット生成回路1311~131Mによって並列処理を実行する。以下、T-FFビット生成回路1311を想定して、S1004~S1009を説明する。S1004は、図9に示す構成に対応するステップである。S1004は、ビット生成の安定化を目的とする。グリッチ発生回路120によって発生されたグリッチ信号y1に対し、K個のT-FF単位回路が、K個のビットb’1~b’Kを生成する。b’1~b’Kは、同一のグリッチ信号y1から生成されたビットであるから、理想的には同一の値となる。しかし、実際のデバイス上では、T-FF単位回路に到達するまでの配線や、T-FF自体の特性によって、ビット値が異なる可能性がある。逆に言えば、b’1~b’Kの値が全て一致する場合、ビットは安定しているといえる。一般には、K個生成されたビット値のうち、数が多いK/2個より多い方のビット値が、正しいビット値であるとみなせる。そして、一致度が高くなればなるほど0と1とのどちらかのビットが総数Kに近づくほど、そのビットは、安定しているといえる。S1005は、登録時と再生成時とで、異なる基準でビット生成を行うため、処理が分岐する。登録とは生成したビット列を、鍵情報として、他の装置に登録するような場合を意味し、通常、最初のビット列生成時である、登録後以降通常、2回目以降の情報ビット生成を再生成という。例えば登録は、ビット列生成回路100が組み込まれた装置を製造するメーカーが鍵情報ビット列を保管するために行う処理である。再生成は、例えば、ビット列生成回路100が組み込まれた装置がユーザに購入され、鍵情報が生成される場合である。登録時S1006,S1007は登録時のステップである。S1006では、生成ビット安定化回路160は、基準1にしたがって出力ビットb1を決定し、S1007で、出力ビットb1の安定性を表すマスク前述のフラグ信号を出力する。なお、後述のS1008において、生成ビット安定化回路160は、基準1にしたがって出力ビットb1を決定するが、基準1はS1008の基準2よりも厳しい基準である。マスク以下、登録時に生成されるマスクを説明する。図9に示す生成ビット安定化回路160によって,K個のビットの代表ビットとして出力されるb1は、最低でもK/2個より多く生成された方のビット値である。しかし、ぎりぎりK/2を超える程度では、再生成時に個数がビットが逆転する可能性があり、安定性が低い。より厳しい条件をみたすビット、すなわち、生成された個数が総数K個に近いビットのみを情報ビットb1として使用すれば、ビット生成の安定性を高めることができる。すなわち、生成ビット安定化回路160は、K個の単位回路よって生成されたb’1~b’KのK個のビット値の中で、0と1とのうちのいずれか一方のビット値が所定の比率を満たす場合に、K個のビット値を、代表ビットとして、前記所定の比率を満たす一方のビット値に変換する。生成ビット安定化回路160は、前記所定の比率を満たすかどうかを示す情報として、マスク前述のフラグ信号を生成する。ここで所定の比率とは、図11で述べたように100でもよいし、あるいは90でもよい。所定の比率は自由に設定可能とする。このように、生成ビット安定化回路160は、出力ビットb1が厳しい条件をみたすビットであることを表す情報を、マスク充足情報として出力する。これにより、そのビットb1を使用するかどうかのCPU500による判断を可能とする。厳しい条件の例としては、前述のように、b’1~b’KのK個のビット値の全数一致の場合である。再生成時S1008は再生成時のステップである。再生成時では、生成ビット安定化回路160は、基準2にしたがって出力ビットb1代表ビットを決定する。基準2は、基準1と同じであっても異なっていても良い。ただし、K個全て一致という条件では、全て一致しなかった場合のビット値を決定できないため、それ以外の条件にする。通常、基準2は基準1よりも緩い基準である。例えば、基準1が図11に示す全数一致とすれば、基準2は、図10に示す過半数のような条件である。このように、生成ビット安定化回路160は、S1008において、基準2によって図9に示す代表ビットb1を出力する。なお、図12は、情報ビット生成をサブルーチンとして使用するような上位のルーチンの処理を想定している。図12はマスクを生成し、記憶S1007するのみである。マスクを伴う出力ビットbを使用するかどうかをマスクに従って決定する処理は、その上位のルーチンが行う。図13は、マスクを用いた処理を、情報ビット生成に含める場合を示す。図13では、図12に対し、S1101,S1102のステップが追加された。S1101において、処理がマスクの値によって分岐される。図13では、マスクの値が1の場合に、ビットbを使用する。マスクが1であれば、図12と同様、基準2に従ってビットb代表ビットが決定されるS1008。マスクが0であれば、ビットb1の値は情報ビットとして使用されない。そこで、基準2による決定処理を省き、即座にb=0とすることで処理の高速化が可能である。この値は使用されないので、b=1としても同じである。すなわち、T-FFビット生成回路1311-1~1311-Kは、図9に示すように、マスク生成S1007の元となるグリッチ信号y1に対応する入力信号x1~xLと同一の入力信号によってグリッチ発生回路120が発生したグリッチ信号y1第2グリッチ信号を、グリッチ発生回路120から互いに異なる信号経路を介して入力する。そして、T-FFビット生成回路1311-1~1311-Kは、入力されたグリッチ信号第2グリッチ信号からビットb’1~b’M第2ビット値を生成する。生成ビット安定回路160は、内部メモリ600等の記憶装置に記憶されたマスクを参照する。生成ビット安定回路160は、マスクが1の場合マスクが所定の比率の充足を示す場合にはK個のビット値の中で0と1とのうちのいずれか一方のビット値が基準1よりも緩やかな基準2を満たすかどうかを判定する。生成ビット安定回路160は、基準2を満たすと判定した場合に、K個のビット値を、基準2にしたがって変換されるべきビット値代表ビット値に変換する。図12、図13のS1009では、生成されたビットbが出力される。以上の処理を、入力データx1~xLを変えて繰り返し行うS1002のループ。図4のビット列生成回路100の構成は、Mビット並列で生成可能である。よって、最終的に、b1d~bMdd=0,1,...,2L-1のM×2Lビットの出力が得られる。このうち、S1007によるマスクフラグ信号で示された部分をデバイス固有の情報として利用する。実施の形態1のビット列生成回路100により、従来では必要とされた、グリッチPUFに本質的には必要の無い回路が不要となり、回路規模や処理時間の増大を抑制できる。また、その結果として、同時に生成可能なビット数が少なくなるという課題を解決できる。従来のビット列生成回路401と、実施の形態1のビット列生成回路100との比較から、ビット列生成回路100によれば、従来のグリッチPUFで必要であったサンプリング処理やソーティング処理に係る回路およびレジスタが不要であり、回路規模の縮小効果が得られることが分かる。制御レジスタに関しても削減される。ビット列生成回路100によれば、処理性能に関して、必要な処理の削減によって処理速度が向上し、また、回路規模の削減によって、複数ビットの同時生成が可能となった。また、ビット生成には、グリッチ形状のサンプリングデータの処理ではではなく、T-FFによるビット反転という単純な処理を用いている。このため、ビット生成の安定化のための処理を図8、図10、図11に示すような小規模な回路で、ハードウェアで行うことが可能となった。このことも、処理速度の向上効果を生み出している。以上の実施の形態では装置としてのビット列生成回路100を説明したが、ビット列生成回路100の構成要素の各動作を、グリッチ信号からビットを生成するビット生成方法として把握することも可能である。"