(57)【要約】  デジタルロジックを利用した乱数発生装置及び方法を提供する。  乱数発生装置は、内部に保存されたビット値を順次に移動させるシフトレジスタ、シフトレジスタに保存されたビット値を所定の論理演算して生成したフィードバック信号を生成するフィードバック回路、シフトレジスタに入力される外部信号を生成する外部信号生成回路、及びフィードバック信号と外部信号とを所定の論理演算してシフトレジスタに出力する入力論理回路を備え、乱数発生方法は、シフトレジスタの内部に保存されたビット値を順次に移動させるステップ、シフトレジスタに保存されたビット値を所定の論理演算してフィードバック信号を生成するステップ、シフトレジスタに入力される外部信号を生成するステップ、及びフィードバック信号と外部信号とを所定の論理演算してシフトレジスタに出力するステップを含む。
2007520798.tif 000002
【特許請求の範囲】
【請求項１】
内部に保存されたビット値を順次に移動させるシフトレジスタと、
前記シフトレジスタに保存されたビット値を所定の論理演算して生成したフィードバック信号を生成するフィードバック回路と、
前記シフトレジスタに入力される外部信号を生成する外部信号生成回路と、
前記フィードバック信号及び外部信号を所定の論理演算して前記シフトレジスタに出力する入力論理回路と、を備えることを特徴とするデジタルロジックを利用した乱数発生装置。
【請求項２】
前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記入力論理回路の出力値を前記シフトレジスタのビット値と異ならせる値を前記入力論理回路に出力する固定値防止回路をさらに備えることを特徴とする請求項１に記載のデジタルロジックを利用した乱数発生装置。
【請求項３】
前記固定値防止回路の出力は、論理値ハイであることを特徴とする請求項２に記載のデジタルロジックを利用した乱数発生装置。
【請求項４】
前記外部信号生成回路は、ランダム信号を生成することを特徴とする請求項１に記載のデジタルロジックを利用した乱数発生装置。
【請求項５】
前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする請求項４に記載のデジタルロジックを利用した乱数発生装置。
【請求項６】
前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする請求項５に記載のデジタルロジックを利用した乱数発生装置。
【請求項７】
（ａ）シフトレジスタの内部に保存されたビット値を順次に移動させるステップと、
（ｂ）前記シフトレジスタに保存されたビット値を所定の論理演算してフィードバック信号を生成するステップと、
（ｃ）前記シフトレジスタに入力される外部信号を生成するステップと、
（ｄ）前記フィードバック信号及び外部信号を所定の論理演算して前記シフトレジスタに出力するステップと、を含むことを特徴とするデジタルロジックを利用した乱数発生方法。
【請求項８】
前記（ｄ）ステップは、
前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記シフトレジスタへの出力値を前記シフトレジスタのビット値と異ならせる固定防止値をさらに論理演算することを特徴とする請求項７に記載のデジタルロジックを利用した乱数発生方法。
【請求項９】
前記固定防止値は、論理値ハイであることを特徴とする請求項８に記載のデジタルロジックを利用した乱数発生方法。
【請求項１０】
前記外部信号は、ランダム信号であることを特徴とする請求項７に記載のデジタルロジックを利用した乱数発生方法。
【請求項１１】
前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする請求項１０に記載のデジタルロジックを利用した乱数発生方法。
【請求項１２】
前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする請求項１１に記載のデジタルロジックを利用した乱数発生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、乱数発生装置及び乱数発生方法に係り、特にデジタルロジックを利用した乱数発生装置及び乱数発生方法に関する。
【背景技術】
【０００２】
乱数発生装置は、暗号演算のためのキーの生成などの色々な目的に使われ、このような暗号演算の安全を保証するためには、乱数発生装置の性能が何より重要であるといえる。
【０００３】
乱数を発生させるためには、統計的にあらゆる値がもれなく発生しうる複雑度を維持せねばならず、乱数の値を予測できないランダム性を有さねばならない。乱数を発生させる既存の方法としては、物理現象で発生するノイズ成分を利用した物理的乱数生成方法と、数学的に定義された一定した数列を発生させる擬似乱数生性方法とに大別できる。
【０００４】
物理的乱数を生成するための既存の方法は、熱ノイズや温度、電源供給器の電力変化のような物理現象を利用することである。物理的現象を利用することによって、根本的に暗号学的に安全な乱数と見ることができるが、乱数を得るためには、物理現象の信号が非常に小さいため、それを増幅するための増幅回路及びその他の付加的なアナログ回路が必須的である。
【０００５】
また、アナログ回路は、ランダム性を有する信号を生成するだけであり、統計的に均衡のとれた十分な複雑度を有するデジタル乱数値を得るためには、アナログ信号をサンプリングし、それを再び集めるコレクタロジックが必要である。
【０００６】
既存のコレクタロジックは、乱数ストリームを生成するために長時間が必要として、高性能の暗号処理には適していない。また、アナログ回路を利用した乱数発生装置は、チップ工程に合うように具現し難いだけでなく、乱数の発生に必要な電圧源が攻撃者により制御されやすいという短所を有するので、十分な性能を得るためには多くの実験及び努力を必要とする。
【０００７】
かかる物理的現象を利用した乱数以外のさらに他の乱数発生方法である擬似乱数は、デジタルロジックのみを利用するので、具現が容易であって多くのシステムで使われている。従来の擬似乱数発生方法は、線形合同発生器アルゴリズムまたは線形フィードバックシフトレジスタ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）などを利用している。
【０００８】
しかし、それらの擬似乱数発生方法は、数学的に定義された関数から得られた数列を順次に出力することによって、生成される乱数値があらかじめ定義されており、定義された数列が順次に出力されていて一定時間が経た後、同じ順序を再び反復するので、十分に予測できる乱数を発生させる。例えば、線形合同発生器アルゴリズムの場合、同じ値を入力すれば、同じ出力を発生させ、ＬＦＳＲの場合も、同じ初期入力値、すなわちシードを入力した後、同じ時間が経た後の出力値は常に同じである。
【０００９】
結局、擬似乱数は、統計的にあらゆる値がもれなく発生しうる複雑度を保障できるが、特定の初期入力値に対する同じ時間の出力は予測可能な値を有するので、ランダム性を満足させない。したがって、擬似乱数を利用するシステムは、初期入力値であるシードをランダムに得るための別途の努力が必要になる。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明が解決しようとする課題は、デジタルロジックのみを利用して具現が容易であり、かつアナログ回路を利用した物理的乱数発生装置が有するランダム性を維持できるデジタル乱数発生装置及び乱数発生方法を提供するところにある。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明は、デジタルロジックのみを利用して、アナログ回路を利用した物理的乱数数発装置が有するランダム性を維持しつつ、具現が容易な乱数発生装置及び乱数発生方法を提供する。本発明は、ＬＦＳＲのフィードバック部にランダム性を有する信号を合わせて入力する場合、ＬＦＳＲで生成される値がランダム性を有する点、及びクロック値が変化する時点がクロックごとに一定しないジッタ成分を有する点を利用して、デジタル回路のみで完全乱数を発生させる構成を提供する。
【００１２】
本発明の第１観点によるデジタルロジックを利用した乱数発生装置は、内部に保存されたビット値を順次に移動させるシフトレジスタ、前記シフトレジスタに保存されたビット値を所定の論理演算して生成したフィードバック信号を生成するフィードバック回路、前記シフトレジスタに入力される外部信号を生成する外部信号生成回路、及び前記フィードバック信号と外部信号とを所定の論理演算して前記シフトレジスタに出力する入力論理回路を備えることを特徴とする。
【００１３】
また、望ましくは、前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記入力論理回路の出力値を前記シフトレジスタのビット値と異ならせる値を前記入力論理回路に出力する固定値防止回路をさらに備えることを特徴とする。
【００１４】
また、望ましくは、前記固定値防止回路の出力は、論理値ハイであることを特徴とする。
【００１５】
また、望ましくは、前記外部信号生成回路は、ランダム信号を生成することを特徴とする。
【００１６】
また、望ましくは、前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする。
【００１７】
また、望ましくは、前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする。
【００１８】
本発明の第２観点によるデジタルロジックを利用した乱数発生方法は、シフトレジスタの内部に保存されたビット値を順次に移動させるステップ、前記シフトレジスタに保存されたビット値を所定の論理演算してフィードバック信号を生成するステップ、前記シフトレジスタに入力される外部信号を生成するステップ、及び前記フィードバック信号と外部信号とを所定の論理演算して前記シフトレジスタに出力するステップを含むことを特徴とする。
【００１９】
また、望ましくは、前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記シフトレジスタへの出力値を前記シフトレジスタのビット値と異ならせる固定防止値をさらに論理演算することを特徴とする。
【００２０】
また、望ましくは、前記固定防止値は、論理値ハイであることを特徴とする。
【００２１】
また、望ましくは、前記外部信号は、ランダム信号であることを特徴とする。
【００２２】
また、望ましくは、前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする。
【００２３】
また、望ましくは、前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする。
【００２４】
本発明による乱数の発生において、デジタルロジックのみを利用して具現が容易であり、かつアナログ回路を利用した物理的乱数発生装置が有するランダム性を維持可能にする。また、擬似乱数発生装置であるＬＦＳＲが有する特性を利用することによって、統計的にあらゆる値がもれなく発生しうる複雑度を満足させる。
【００２５】
本特許で提示する発明のうち代表的な概要を説明すれば、次の通りである。既存の擬似乱数発生方法に使われるＬＦＳＲは、数学的に定義された関数から得られたフィードバック回路を利用して、このフィードバック回路の出力をシフトレジスタに入力させることによって、クロックごとに異なる数列を発生させるが、前述したように発生する数列の順序が固定されるという短所を有する。かかる短所を克服するために、本発明は、シフトレジスタの入力により既存のフィードバック回路の出力以外にさらに他の外部信号を共に合わせる（＋）ことによって、他の特性を有する乱数発生装置を提供する。
【００２６】
この外部信号が０または１のランダム信号を発生させ続ければ、全く異なる特性のＬＦＳＲとなる。外部信号が０である場合は、既存のＬＦＳＲと同じ順序の数列が生成される一方、この外部信号が１である場合は、シフトレジスタの数列順序が０である場合の反対順序となるものではなく、他の順序を有する。また、外部信号が１である場合も、レジスタで生成される数列値の発生分布が同一であって０である場合と同じ複雑度を維持する。したがって、外部信号がランダム値を発生させれば、ＬＦＳＲで生成される数列は予測不可能な乱数となる。
【００２７】
既存の乱数発生装置がアナログ回路を利用して生成された信号のランダム性を持続的に累積させずに、最近に生成されたランダム信号のみを利用して乱数を発生させることと異なり、本発明が提示する乱数発生器の優秀な特性は、基本的にシフトレジスタにより数列が他の値に変わり続ける中に、ランダム信号値によりシフトレジスタの値の変化パターンが変わるため、ランダム信号の変化が累積され続けてソフトウェアで乱数を必要とする時点となれば、シフトレジスタには予測不可能な完全乱数が生成される。
【００２８】
したがって、本発明で提供するＬＦＳＲを利用すれば、シフトレジスタに入力される外部信号は、乱数を必要とする時点以前のいかなる時点でもランダム性を有すれば、シフトレジスタは、予測不可能な数列を生成するので、ランダムな外部信号を得るために、別途のアナログ回路を利用せずに、デジタルロジックを利用して簡単に具現されうる。
【００２９】
本発明で提供するＬＦＳＲに入力されるランダムな外部信号を生成するために使用する方法は、クロック信号のジッタを利用するものであって、二つの独立的なソースで生成されたクロックを利用して一つのクロックが他のクロックの値をサンプリングするものである。かかる方法は、ジッタの発生時間が短いため、既存のアナログ回路を利用したランダム信号生成方法に比べてはランダム性が低下する信号を発生させるが、乱数を必要とする時間には十分に多くのジッタのサンプリングが行われた後であり、ジッタをサンプリングするたびにＬＦＳＲの値は予測できない値に変わるので、ジッタのランダム成分によりＬＦＳＲは予測できない乱数を生成する。
【発明の効果】
【００３０】
本発明は、デジタルロジックのみを利用して、規則性を有さずに、ビット数に該当するあらゆる値が発生しうる完全乱数を生成するための手段を提供している。
【００３１】
また、本発明の乱数発生装置は、アナログ回路を使用しないので、工程に依存せず、複雑なアルゴリズムを使用しないので、具現が容易であり、デジタルロジックの構成が小さい面積で具現可能な形態であるので、電力の消耗が少ない。
【発明を実施するための最良の形態】
【００３２】
以下、添付された図面を参照して、本発明の望ましい実施形態を説明する。発明の理解を助けるために、図面の全体で同じ装置については同じ符号を使用する。
【００３３】
図１は、本発明によるデジタルロジックを利用した乱数発生装置の一実施形態の概略的なブロック図である。本発明が提示する乱数発生装置は、４個のブロックに大別されるが、各ブロックの構成及び動作について説明する。
【００３４】
図１の乱数発生装置は、シフトレジスタ１００、フィードバック回路２００、固定値防止回路３００、ランダム信号生成回路４００及び入力論理回路５００から構成される。
【００３５】
シフトレジスタ１００は、内部に保存されたビット値を順次に移動させ、フィードバック回路２００は、シフトレジスタ１００に保存されたビット値を所定の論理演算して生成したフィードバック信号を生成する。ここで、シフトレジスタ１００及びフィードバック回路２００は、従来のＬＦＳＲの構成方式によるが、新たな形態のシフトレジスタの入力信号を生成する方法、固定値防止回路３００、ランダム信号生成回路４００、及びフィードバック回路２００、固定値防止回路３００及びランダム信号生成回路４００の出力を合わせてシフトレジスタ１００に入力するための入力論理回路５００を追加することによって、全く異なる動作特性を有する乱数発生装置を生成できる。
【００３６】
本発明の乱数発生装置の動作特性について一実施形態を挙げて説明すれば、次の通りである。図２は、新たな構成形態を有する４ビットのＬＦＳＲを示す図面である。シフトレジスタ１００及びフィードバック回路２００の構成は、既存のＬＦＳＲの方式によるが、フィードバック回路２００の構成は、あらかじめ定義された原始多項式による演算を行うためのものであって、原始多項式は、ｐ（ｘ）＝ｘ４＋ｘ３＋１による。図２のＬＦＳＲが既存のものと異なる部分は、シフトレジスタ１００の入力信号がフィードバック回路２００の出力信号と追加的な外部信号とを合わせた信号として決められるということである。
【００３７】
ランダム信号生成回路４００は、シフトレジスタ１００に入力される外部信号を生成するが、本実施形態では、外部信号はランダム信号である。外部信号が０である場合は、フィードバック回路２００の出力のみがシフトレジスタ１００の入力に印加されることと同じであるので、既存のＬＦＳＲと同一になる。この場合、シフトレジスタ１００の初期シード値が１０１０である状態でクロックによるレジスタ１１０ないし１４０の変化値を表せば、１０１０，１１０１，０１１０，００１１，１００１，０１００，００１０，０００１，１０００，１１００，１１１０，１１１１，０１１１，１０１１，０１０１，１０１０の順序となる。
【００３８】
一方、外部信号が１である場合は、シフトレジスタ１００の入力値は、フィードバック回路２００の出力値と外部信号値１とを合わせた値として決定される。この場合、シフトレジスタ１００の初期シード値が１０１０である状態でクロックによるレジスタ１１０ないし１４０の変化値を表せば、１０１０，０１０１，００１０，１００１，１１００，０１１０，１０１１，１１０１，１１１０，０１１１，００１１，０００１，００００，１０００，０１００，１０１０の順序となる。前述した外部信号が０である場合と数列の順序を比較すれば、逆の数列順序となるものではなく、他の順序を表し、２４−１＝１５個の数列値が生成されるので、数列の複雑度は同一である。
【００３９】
したがって、外部信号を、０と１を予測できないランダム信号を連続的に生成してフィードバック回路２００と合わせてシフトレジスタ１００に入力すれば、シフトレジスタの値は予測できない値が生成される。また、外部信号がランダム値を有していて、どの時間以後には特定の値または一定したパターンを有する場合であるか、またはランダム値を有する信号と特定のパターン値を有する信号とが周期的に反復される場合にも、ランダム値が入力される間に、シフトレジスタは既に予測できない値となっているので、たとえ以後の入力が特定の値または特定のパターンになっても、最終のシフトレジスタの値も予測できない値となる。かかる特性は、既存の乱数発生装置では見つかれない特性であって、既存の乱数発生装置では、ランダム信号が生成されていて一定時間が経た後、特定のパターンの信号が生成されれば、最終の乱数値も特定パターンの値となる。
【００４０】
図３は、図２の新たな構成形態を有する４ビットのＬＦＳＲにおいて、シフトレジスタ１００の数列がクロックごとに変わらない場合の発生を防止する固定値防止回路３００を追加したことを示す図面である。既存のＬＦＳＲは、フィードバック回路２００の出力のみがシフトレジスタの入力に印加されるので、シード値がいずれも０でなければ、いかなる場合にもレジスタ１１０ないし１４０の値がいずれも０となる場合は発生せず、常にクロックごとに所定パターンの他の値に変わる。
【００４１】
しかし、本発明が提示するＬＦＳＲは、フィードバック回路２００の出力と追加的な外部入力とを合わせるので、外部信号が１である場合には、前記で羅列した数列から分かるように、レジスタの値がいずれも０となる場合が発生する。もし、ランダムな外部信号によりレジスタ１１０ないし１４０の値がいずれも０となる瞬間に外部入力値が０に固定されれば、シフトレジスタ１００は、クロックによって値が変わらずに、あらゆる値が０に固定される。同様に、ランダムな外部信号によりレジスタ１１０ないし１４０のあらゆる値が１となる瞬間に外部入力値が１に固定されれば、シフトレジスタ１００は、クロックによって値が変わらずに、あらゆる値が１に固定される。このように特定の状況でシフトレジスタ１００の値の固定を防止するための手段として、固定値防止回路３００が必要である。
【００４２】
このために、図３では、レジスタ１１０ないし１４０の値及びランダム信号を反転した後に論理積（または、論理和した後に反転）する回路３１０と、レジスタ１１０ないし１４０の値及びランダム信号を論理積する回路３２０とから得られる二つの出力を論理和回路３３０で論理和した後、この論理和回路３３０の出力値、ランダム信号の値及びフィードバック回路２００の出力値を入力論理回路５００で合わせてシフトレジスタ１００に入力することによって、シフトレジスタの値の固定を防止する手段を提供する。
【００４３】
レジスタ１１０ないし１４０の値が００００であり、ランダム信号も０となる場合に、固定値防止回路３００を追加しなければ、フィードバック回路２００の出力値が０であるので、このフィードバック回路の出力値とランダム信号とを合わせたシフトレジスタ１００の入力値も０となって、シフトレジスタの値は００００を維持する。一方、固定値防止回路３００を追加すれば、レジスタ１１０ないし１４０の値及びランダム信号を反転した後に論理積する出力は１となるので、論理和回路３３０の出力である固定値防止回路３００の出力も１となって、固定値防止回路３００の出力値、ランダム信号、及びフィードバック回路２００の出力値を合わせた回路５００の出力であるシフトレジスタ１００の入力値は１となる。結局、クロックにより生成されるシフトレジスタの次の値は１０００となって、００００に固定されることを防止する。
【００４４】
同様に、レジスタ１１０ないし１４０の値が１１１１であり、ランダム信号も１となる場合に、固定値防止回路３００を追加しなければ、フィードバック回路２００の出力値が０であるので、このフィードバック回路の出力値とランダム信号とを合わせたシフトレジスタ１００の入力値は１となって、シフトレジスタの値は１１１１を維持する。一方、固定値防止回路３００を追加すれば、レジスタ１１０ないし１４０の値及びランダム信号を反転した後に論理積する出力は１となるので、論理和回路３３０出力である固定値防止回路３００の出力も１となって、固定値防止回路の出力値、ランダム信号、及びフィードバック回路の出力値を合わせた回路５００の出力であるシフトレジスタ１００の入力値は０となる。結局、クロックにより生成されるシフトレジスタ１００の次の値は０１１１となって、１１１１に固定されることを防止する。すなわち、固定値防止回路３００は、シフトレジスタ１００のあらゆる値及びランダム信号が同じ値を有する場合にのみ１を出力させて、この場合のシフトレジスタの入力値を反転させる効果を誘発する。
【００４５】
理解を助けるために、４ビットの場合を例として挙げたが、本発明の乱数発生装置は、特定のビットに限定されず、既存のＬＦＳＲを構成できるいかなるビット長にも適用される。
【００４６】
図４は、独立的なソースを有する二つのクロックを生成した後、クロック１は、フリップフロップ４００Ａのクロック端子に印加し、残りのクロック２は、フリップフロップ４００Ａのデータ端子に印加して、一つのクロックが他のクロックをサンプリングすることによって、ランダムな信号を生成する回路を示す図面である。あらゆるクロックは、クロックの値が変化する時点がクロックごとに一定しないジッタ成分を有しており、このジッタは、温度などの物理的現象により発生し、ガウス分布を有するランダム性を有する。もし、サンプリングする区間がクロックのジッタが発生する区間となれば、生成される信号はランダムな信号となる。ジッタの時間幅が狭いため、ランダムな信号が発生する確率は小さいが、この信号を本特許で提示するＬＦＳＲに入力する場合は、ランダム信号が発生するたびにレジスタの値が予測できない値に変わるので、アナログ回路を使用せずにクロックで発生するランダム性のみを利用しても、物理的乱数を生成できる。
【００４７】
図５は、独立的なソースを有する二つのクロックを利用してランダム信号を生成する他の例を示す図面である。クロック１をフリップフロップのクロック端子に入力する場合、フリップフロップ１  ４１０にはそのまま入力し、フリップフロップ２  ４２０には反転して入力することによって、フリップフロップ１  ４１０は、クロックのライジングエッジでクロック２の値をサンプリングし、フリップフロップ２  ４２０は、クロックのフォーリングエッジでクロック２の値をサンプリングする。この二つのフリップフロップの出力値を合わせて、ランダム信号を生成する。
【００４８】
図４は、クロックのライジングエッジで他のクロックをサンプリングする場合である一方、図５は、クロックのライジング及びフォーリングエッジ両方で他のクロックをサンプリングすることによって、クロックのジッタをサンプリングする確率は二倍に増加する。
【００４９】
図６は、本発明によるデジタルロジックを利用した乱数発生方法の一実施形態を示すフローチャートである。
【００５０】
まず、シフトレジスタの内部に保存されたビット値を順次に移動させ（ステップ６００）、シフトレジスタに保存されたビット値を所定の論理演算してフィードバック信号を生成する（ステップ６１０）。
【００５１】
ここで、シフトレジスタの動作及びフィードバック信号の生成方法は、従来のＬＦＳＲの方式によるが、新たな形態のシフトレジスタの入力信号を生成し、シフトレジスタの固定値を防止し、ランダム信号を生成し、固定防止値、ランダム信号及びフィードバック信号を合わせてシフトレジスタに入力するステップを追加することによって、全く異なる動作特性を有する乱数発生方法を生成できる。
【００５２】
次いで、シフトレジスタに入力される外部信号を生成する（ステップ６２０）。このとき、生成された外部信号の論理値がシフトレジスタに保存されたビット値といずれも同じであるか否かによって、次の二つの過程をそれぞれ行う。
【００５３】
外部信号の論理値がシフトレジスタに保存されたビット値といずれも同一でない場合、外部信号及びフィードバック信号のみを論理演算してシフトレジスタに出力する（ステップ６４０）。
【００５４】
しかし、外部信号の論理値がシフトレジスタに保存されたビット値といずれも同じである場合は、フィードバック信号、外部信号にシフトレジスタのビット値を固定させないために生成される固定防止値をさらに論理演算して、シフトレジスタに出力する（ステップ６５０）。本方法のさらに詳細な説明は、本方法の他の態様である装置の説明を通じて前述したので省略する。
【産業上の利用可能性】
【００５５】
本発明は、ＩＣカードのような低電力、小面的を必要とするシステムオンチップの乱数発生装置として活用されうることはいうまでもなく、本特許の乱数発生装置は、既存の擬似乱数発生装置のように具現が容易であるので、保安を必要とするあらゆる種類のシステムで活用されうる。
【００５６】
以上、本発明の望ましい実施形態により説明されたが、本発明の範囲は、これに限定されるものではなく、特許請求の範囲により裏付けられる限り前記実施形態の変形や改良にも及ぼさねばならない。
【図面の簡単な説明】
【００５７】
【図１】本発明によるデジタルロジックを利用した乱数発生装置の一実施形態の概略的なブロック図である。
【図２】図１のシフトレジスタ及びフィードバック回路を４ビットのＬＦＳＲに構成した概略的なブロック図である。
【図３】図２の構成に固定値防止回路を追加した構成の概略的なブロック図である。
【図４】図１のランダム信号発生回路を、独立的な発生源を有する二つのクロックを利用するように構成した一実施形態の概略的なブロック図である。
【図５】図１のランダム信号発生回路を、独立的な発生源を有する二つのクロックのライジング及びフォーリングエッジを利用するように構成した他の実施形態の概略的なブロック図である。
【図６】本発明によるデジタルロジックを利用した乱数発生方法の一実施形態を示すフローチャートである。
【図１】
2007520798.tif 000003
【図２】
2007520798.tif 000004
【図３】
2007520798.tif 000005
【図４】
2007520798.tif 000006
【図５】
2007520798.tif 000007
【図６】
2007520798.tif 000008
【手続補正書】
【提出日】平成18年6月27日(2006.6.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
内部に保存されたビット値を順次に移動させるシフトレジスタと、
前記シフトレジスタに保存されたビット値を所定の論理演算して生成したフィードバック信号を生成するフィードバック回路と、
前記シフトレジスタに入力される外部信号を生成する外部信号生成回路と、
前記フィードバック信号及び外部信号を所定の論理演算して前記シフトレジスタに出力する入力論理回路と、
前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記入力論理回路の出力値を前記シフトレジスタのビット値と異ならせる値を前記入力論理回路に出力する固定値防止回路と、を備えることを特徴とするデジタルロジックを利用した乱数発生装置。
【請求項２】
前記固定値防止回路の出力は、論理値ハイであることを特徴とする請求項１に記載のデジタルロジックを利用した乱数発生装置。
【請求項３】
前記外部信号生成回路は、ランダム信号を生成することを特徴とする請求項１に記載のデジタルロジックを利用した乱数発生装置。
【請求項４】
前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする請求項３に記載のデジタルロジックを利用した乱数発生装置。
【請求項５】
前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする請求項４に記載のデジタルロジックを利用した乱数発生装置。
【請求項６】
（ａ）シフトレジスタの内部に保存されたビット値を順次に移動させるステップと、
（ｂ）前記シフトレジスタに保存されたビット値を所定の論理演算してフィードバック信号を生成するステップと、
（ｃ）前記シフトレジスタに入力される外部信号を生成するステップと、
（ｄ）前記フィードバック信号及び外部信号を所定の論理演算して前記シフトレジスタに出力するステップと、を含むことを特徴とするデジタルロジックを利用した乱数発生方法。
【請求項７】
前記（ｄ）ステップは、
前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記シフトレジスタへの出力値を前記シフトレジスタのビット値と異ならせる固定防止値をさらに論理演算することを特徴とする請求項６に記載のデジタルロジックを利用した乱数発生方法。
【請求項８】
前記固定防止値は、論理値ハイであることを特徴とする請求項７に記載のデジタルロジックを利用した乱数発生方法。
【請求項９】
前記外部信号は、ランダム信号であることを特徴とする請求項６に記載のデジタルロジックを利用した乱数発生方法。
【請求項１０】
前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする請求項９に記載のデジタルロジックを利用した乱数発生方法。
【請求項１１】
前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする請求項１０に記載のデジタルロジックを利用した乱数発生方法。
【国際調査報告】
2007520798.tif 000009
2007520798.tif 000010