JP2007520798A - デジタルロジックを利用した乱数発生装置及び方法 - Google Patents

デジタルロジックを利用した乱数発生装置及び方法 Download PDF

Info

Publication number
JP2007520798A
JP2007520798A JP2006546799A JP2006546799A JP2007520798A JP 2007520798 A JP2007520798 A JP 2007520798A JP 2006546799 A JP2006546799 A JP 2006546799A JP 2006546799 A JP2006546799 A JP 2006546799A JP 2007520798 A JP2007520798 A JP 2007520798A
Authority
JP
Japan
Prior art keywords
shift register
value
signal
random number
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006546799A
Other languages
English (en)
Other versions
JP4417389B2 (ja
Inventor
ジェオン、ヨン‐スン
パク、ジ‐マン
パク、ヤン‐ソー
ジュン、スン‐イク
チュン、キョ‐イル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of JP2007520798A publication Critical patent/JP2007520798A/ja
Application granted granted Critical
Publication of JP4417389B2 publication Critical patent/JP4417389B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Abstract

デジタルロジックを利用した乱数発生装置及び方法を提供する。
乱数発生装置は、内部に保存されたビット値を順次に移動させるシフトレジスタ、シフトレジスタに保存されたビット値を所定の論理演算して生成したフィードバック信号を生成するフィードバック回路、シフトレジスタに入力される外部信号を生成する外部信号生成回路、及びフィードバック信号と外部信号とを所定の論理演算してシフトレジスタに出力する入力論理回路を備え、乱数発生方法は、シフトレジスタの内部に保存されたビット値を順次に移動させるステップ、シフトレジスタに保存されたビット値を所定の論理演算してフィードバック信号を生成するステップ、シフトレジスタに入力される外部信号を生成するステップ、及びフィードバック信号と外部信号とを所定の論理演算してシフトレジスタに出力するステップを含む。

Description

本発明は、乱数発生装置及び乱数発生方法に係り、特にデジタルロジックを利用した乱数発生装置及び乱数発生方法に関する。
乱数発生装置は、暗号演算のためのキーの生成などの色々な目的に使われ、このような暗号演算の安全を保証するためには、乱数発生装置の性能が何より重要であるといえる。
乱数を発生させるためには、統計的にあらゆる値がもれなく発生しうる複雑度を維持せねばならず、乱数の値を予測できないランダム性を有さねばならない。乱数を発生させる既存の方法としては、物理現象で発生するノイズ成分を利用した物理的乱数生成方法と、数学的に定義された一定した数列を発生させる擬似乱数生性方法とに大別できる。
物理的乱数を生成するための既存の方法は、熱ノイズや温度、電源供給器の電力変化のような物理現象を利用することである。物理的現象を利用することによって、根本的に暗号学的に安全な乱数と見ることができるが、乱数を得るためには、物理現象の信号が非常に小さいため、それを増幅するための増幅回路及びその他の付加的なアナログ回路が必須的である。
また、アナログ回路は、ランダム性を有する信号を生成するだけであり、統計的に均衡のとれた十分な複雑度を有するデジタル乱数値を得るためには、アナログ信号をサンプリングし、それを再び集めるコレクタロジックが必要である。
既存のコレクタロジックは、乱数ストリームを生成するために長時間が必要として、高性能の暗号処理には適していない。また、アナログ回路を利用した乱数発生装置は、チップ工程に合うように具現し難いだけでなく、乱数の発生に必要な電圧源が攻撃者により制御されやすいという短所を有するので、十分な性能を得るためには多くの実験及び努力を必要とする。
かかる物理的現象を利用した乱数以外のさらに他の乱数発生方法である擬似乱数は、デジタルロジックのみを利用するので、具現が容易であって多くのシステムで使われている。従来の擬似乱数発生方法は、線形合同発生器アルゴリズムまたは線形フィードバックシフトレジスタ(Linear Feedback Shift Register)などを利用している。
しかし、それらの擬似乱数発生方法は、数学的に定義された関数から得られた数列を順次に出力することによって、生成される乱数値があらかじめ定義されており、定義された数列が順次に出力されていて一定時間が経た後、同じ順序を再び反復するので、十分に予測できる乱数を発生させる。例えば、線形合同発生器アルゴリズムの場合、同じ値を入力すれば、同じ出力を発生させ、LFSRの場合も、同じ初期入力値、すなわちシードを入力した後、同じ時間が経た後の出力値は常に同じである。
結局、擬似乱数は、統計的にあらゆる値がもれなく発生しうる複雑度を保障できるが、特定の初期入力値に対する同じ時間の出力は予測可能な値を有するので、ランダム性を満足させない。したがって、擬似乱数を利用するシステムは、初期入力値であるシードをランダムに得るための別途の努力が必要になる。
本発明が解決しようとする課題は、デジタルロジックのみを利用して具現が容易であり、かつアナログ回路を利用した物理的乱数発生装置が有するランダム性を維持できるデジタル乱数発生装置及び乱数発生方法を提供するところにある。
前記課題を解決するために、本発明は、デジタルロジックのみを利用して、アナログ回路を利用した物理的乱数数発装置が有するランダム性を維持しつつ、具現が容易な乱数発生装置及び乱数発生方法を提供する。本発明は、LFSRのフィードバック部にランダム性を有する信号を合わせて入力する場合、LFSRで生成される値がランダム性を有する点、及びクロック値が変化する時点がクロックごとに一定しないジッタ成分を有する点を利用して、デジタル回路のみで完全乱数を発生させる構成を提供する。
本発明の第1観点によるデジタルロジックを利用した乱数発生装置は、内部に保存されたビット値を順次に移動させるシフトレジスタ、前記シフトレジスタに保存されたビット値を所定の論理演算して生成したフィードバック信号を生成するフィードバック回路、前記シフトレジスタに入力される外部信号を生成する外部信号生成回路、及び前記フィードバック信号と外部信号とを所定の論理演算して前記シフトレジスタに出力する入力論理回路を備えることを特徴とする。
また、望ましくは、前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記入力論理回路の出力値を前記シフトレジスタのビット値と異ならせる値を前記入力論理回路に出力する固定値防止回路をさらに備えることを特徴とする。
また、望ましくは、前記固定値防止回路の出力は、論理値ハイであることを特徴とする。
また、望ましくは、前記外部信号生成回路は、ランダム信号を生成することを特徴とする。
また、望ましくは、前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする。
また、望ましくは、前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする。
本発明の第2観点によるデジタルロジックを利用した乱数発生方法は、シフトレジスタの内部に保存されたビット値を順次に移動させるステップ、前記シフトレジスタに保存されたビット値を所定の論理演算してフィードバック信号を生成するステップ、前記シフトレジスタに入力される外部信号を生成するステップ、及び前記フィードバック信号と外部信号とを所定の論理演算して前記シフトレジスタに出力するステップを含むことを特徴とする。
また、望ましくは、前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記シフトレジスタへの出力値を前記シフトレジスタのビット値と異ならせる固定防止値をさらに論理演算することを特徴とする。
また、望ましくは、前記固定防止値は、論理値ハイであることを特徴とする。
また、望ましくは、前記外部信号は、ランダム信号であることを特徴とする。
また、望ましくは、前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする。
また、望ましくは、前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする。
本発明による乱数の発生において、デジタルロジックのみを利用して具現が容易であり、かつアナログ回路を利用した物理的乱数発生装置が有するランダム性を維持可能にする。また、擬似乱数発生装置であるLFSRが有する特性を利用することによって、統計的にあらゆる値がもれなく発生しうる複雑度を満足させる。
本特許で提示する発明のうち代表的な概要を説明すれば、次の通りである。既存の擬似乱数発生方法に使われるLFSRは、数学的に定義された関数から得られたフィードバック回路を利用して、このフィードバック回路の出力をシフトレジスタに入力させることによって、クロックごとに異なる数列を発生させるが、前述したように発生する数列の順序が固定されるという短所を有する。かかる短所を克服するために、本発明は、シフトレジスタの入力により既存のフィードバック回路の出力以外にさらに他の外部信号を共に合わせる(+)ことによって、他の特性を有する乱数発生装置を提供する。
この外部信号が0または1のランダム信号を発生させ続ければ、全く異なる特性のLFSRとなる。外部信号が0である場合は、既存のLFSRと同じ順序の数列が生成される一方、この外部信号が1である場合は、シフトレジスタの数列順序が0である場合の反対順序となるものではなく、他の順序を有する。また、外部信号が1である場合も、レジスタで生成される数列値の発生分布が同一であって0である場合と同じ複雑度を維持する。したがって、外部信号がランダム値を発生させれば、LFSRで生成される数列は予測不可能な乱数となる。
既存の乱数発生装置がアナログ回路を利用して生成された信号のランダム性を持続的に累積させずに、最近に生成されたランダム信号のみを利用して乱数を発生させることと異なり、本発明が提示する乱数発生器の優秀な特性は、基本的にシフトレジスタにより数列が他の値に変わり続ける中に、ランダム信号値によりシフトレジスタの値の変化パターンが変わるため、ランダム信号の変化が累積され続けてソフトウェアで乱数を必要とする時点となれば、シフトレジスタには予測不可能な完全乱数が生成される。
したがって、本発明で提供するLFSRを利用すれば、シフトレジスタに入力される外部信号は、乱数を必要とする時点以前のいかなる時点でもランダム性を有すれば、シフトレジスタは、予測不可能な数列を生成するので、ランダムな外部信号を得るために、別途のアナログ回路を利用せずに、デジタルロジックを利用して簡単に具現されうる。
本発明で提供するLFSRに入力されるランダムな外部信号を生成するために使用する方法は、クロック信号のジッタを利用するものであって、二つの独立的なソースで生成されたクロックを利用して一つのクロックが他のクロックの値をサンプリングするものである。かかる方法は、ジッタの発生時間が短いため、既存のアナログ回路を利用したランダム信号生成方法に比べてはランダム性が低下する信号を発生させるが、乱数を必要とする時間には十分に多くのジッタのサンプリングが行われた後であり、ジッタをサンプリングするたびにLFSRの値は予測できない値に変わるので、ジッタのランダム成分によりLFSRは予測できない乱数を生成する。
本発明は、デジタルロジックのみを利用して、規則性を有さずに、ビット数に該当するあらゆる値が発生しうる完全乱数を生成するための手段を提供している。
また、本発明の乱数発生装置は、アナログ回路を使用しないので、工程に依存せず、複雑なアルゴリズムを使用しないので、具現が容易であり、デジタルロジックの構成が小さい面積で具現可能な形態であるので、電力の消耗が少ない。
以下、添付された図面を参照して、本発明の望ましい実施形態を説明する。発明の理解を助けるために、図面の全体で同じ装置については同じ符号を使用する。
図1は、本発明によるデジタルロジックを利用した乱数発生装置の一実施形態の概略的なブロック図である。本発明が提示する乱数発生装置は、4個のブロックに大別されるが、各ブロックの構成及び動作について説明する。
図1の乱数発生装置は、シフトレジスタ100、フィードバック回路200、固定値防止回路300、ランダム信号生成回路400及び入力論理回路500から構成される。
シフトレジスタ100は、内部に保存されたビット値を順次に移動させ、フィードバック回路200は、シフトレジスタ100に保存されたビット値を所定の論理演算して生成したフィードバック信号を生成する。ここで、シフトレジスタ100及びフィードバック回路200は、従来のLFSRの構成方式によるが、新たな形態のシフトレジスタの入力信号を生成する方法、固定値防止回路300、ランダム信号生成回路400、及びフィードバック回路200、固定値防止回路300及びランダム信号生成回路400の出力を合わせてシフトレジスタ100に入力するための入力論理回路500を追加することによって、全く異なる動作特性を有する乱数発生装置を生成できる。
本発明の乱数発生装置の動作特性について一実施形態を挙げて説明すれば、次の通りである。図2は、新たな構成形態を有する4ビットのLFSRを示す図面である。シフトレジスタ100及びフィードバック回路200の構成は、既存のLFSRの方式によるが、フィードバック回路200の構成は、あらかじめ定義された原始多項式による演算を行うためのものであって、原始多項式は、p(x)=x+x+1による。図2のLFSRが既存のものと異なる部分は、シフトレジスタ100の入力信号がフィードバック回路200の出力信号と追加的な外部信号とを合わせた信号として決められるということである。
ランダム信号生成回路400は、シフトレジスタ100に入力される外部信号を生成するが、本実施形態では、外部信号はランダム信号である。外部信号が0である場合は、フィードバック回路200の出力のみがシフトレジスタ100の入力に印加されることと同じであるので、既存のLFSRと同一になる。この場合、シフトレジスタ100の初期シード値が1010である状態でクロックによるレジスタ110ないし140の変化値を表せば、1010,1101,0110,0011,1001,0100,0010,0001,1000,1100,1110,1111,0111,1011,0101,1010の順序となる。
一方、外部信号が1である場合は、シフトレジスタ100の入力値は、フィードバック回路200の出力値と外部信号値1とを合わせた値として決定される。この場合、シフトレジスタ100の初期シード値が1010である状態でクロックによるレジスタ110ないし140の変化値を表せば、1010,0101,0010,1001,1100,0110,1011,1101,1110,0111,0011,0001,0000,1000,0100,1010の順序となる。前述した外部信号が0である場合と数列の順序を比較すれば、逆の数列順序となるものではなく、他の順序を表し、2−1=15個の数列値が生成されるので、数列の複雑度は同一である。
したがって、外部信号を、0と1を予測できないランダム信号を連続的に生成してフィードバック回路200と合わせてシフトレジスタ100に入力すれば、シフトレジスタの値は予測できない値が生成される。また、外部信号がランダム値を有していて、どの時間以後には特定の値または一定したパターンを有する場合であるか、またはランダム値を有する信号と特定のパターン値を有する信号とが周期的に反復される場合にも、ランダム値が入力される間に、シフトレジスタは既に予測できない値となっているので、たとえ以後の入力が特定の値または特定のパターンになっても、最終のシフトレジスタの値も予測できない値となる。かかる特性は、既存の乱数発生装置では見つかれない特性であって、既存の乱数発生装置では、ランダム信号が生成されていて一定時間が経た後、特定のパターンの信号が生成されれば、最終の乱数値も特定パターンの値となる。
図3は、図2の新たな構成形態を有する4ビットのLFSRにおいて、シフトレジスタ100の数列がクロックごとに変わらない場合の発生を防止する固定値防止回路300を追加したことを示す図面である。既存のLFSRは、フィードバック回路200の出力のみがシフトレジスタの入力に印加されるので、シード値がいずれも0でなければ、いかなる場合にもレジスタ110ないし140の値がいずれも0となる場合は発生せず、常にクロックごとに所定パターンの他の値に変わる。
しかし、本発明が提示するLFSRは、フィードバック回路200の出力と追加的な外部入力とを合わせるので、外部信号が1である場合には、前記で羅列した数列から分かるように、レジスタの値がいずれも0となる場合が発生する。もし、ランダムな外部信号によりレジスタ110ないし140の値がいずれも0となる瞬間に外部入力値が0に固定されれば、シフトレジスタ100は、クロックによって値が変わらずに、あらゆる値が0に固定される。同様に、ランダムな外部信号によりレジスタ110ないし140のあらゆる値が1となる瞬間に外部入力値が1に固定されれば、シフトレジスタ100は、クロックによって値が変わらずに、あらゆる値が1に固定される。このように特定の状況でシフトレジスタ100の値の固定を防止するための手段として、固定値防止回路300が必要である。
このために、図3では、レジスタ110ないし140の値及びランダム信号を反転した後に論理積(または、論理和した後に反転)する回路310と、レジスタ110ないし140の値及びランダム信号を論理積する回路320とから得られる二つの出力を論理和回路330で論理和した後、この論理和回路330の出力値、ランダム信号の値及びフィードバック回路200の出力値を入力論理回路500で合わせてシフトレジスタ100に入力することによって、シフトレジスタの値の固定を防止する手段を提供する。
レジスタ110ないし140の値が0000であり、ランダム信号も0となる場合に、固定値防止回路300を追加しなければ、フィードバック回路200の出力値が0であるので、このフィードバック回路の出力値とランダム信号とを合わせたシフトレジスタ100の入力値も0となって、シフトレジスタの値は0000を維持する。一方、固定値防止回路300を追加すれば、レジスタ110ないし140の値及びランダム信号を反転した後に論理積する出力は1となるので、論理和回路330の出力である固定値防止回路300の出力も1となって、固定値防止回路300の出力値、ランダム信号、及びフィードバック回路200の出力値を合わせた回路500の出力であるシフトレジスタ100の入力値は1となる。結局、クロックにより生成されるシフトレジスタの次の値は1000となって、0000に固定されることを防止する。
同様に、レジスタ110ないし140の値が1111であり、ランダム信号も1となる場合に、固定値防止回路300を追加しなければ、フィードバック回路200の出力値が0であるので、このフィードバック回路の出力値とランダム信号とを合わせたシフトレジスタ100の入力値は1となって、シフトレジスタの値は1111を維持する。一方、固定値防止回路300を追加すれば、レジスタ110ないし140の値及びランダム信号を反転した後に論理積する出力は1となるので、論理和回路330出力である固定値防止回路300の出力も1となって、固定値防止回路の出力値、ランダム信号、及びフィードバック回路の出力値を合わせた回路500の出力であるシフトレジスタ100の入力値は0となる。結局、クロックにより生成されるシフトレジスタ100の次の値は0111となって、1111に固定されることを防止する。すなわち、固定値防止回路300は、シフトレジスタ100のあらゆる値及びランダム信号が同じ値を有する場合にのみ1を出力させて、この場合のシフトレジスタの入力値を反転させる効果を誘発する。
理解を助けるために、4ビットの場合を例として挙げたが、本発明の乱数発生装置は、特定のビットに限定されず、既存のLFSRを構成できるいかなるビット長にも適用される。
図4は、独立的なソースを有する二つのクロックを生成した後、クロック1は、フリップフロップ400Aのクロック端子に印加し、残りのクロック2は、フリップフロップ400Aのデータ端子に印加して、一つのクロックが他のクロックをサンプリングすることによって、ランダムな信号を生成する回路を示す図面である。あらゆるクロックは、クロックの値が変化する時点がクロックごとに一定しないジッタ成分を有しており、このジッタは、温度などの物理的現象により発生し、ガウス分布を有するランダム性を有する。もし、サンプリングする区間がクロックのジッタが発生する区間となれば、生成される信号はランダムな信号となる。ジッタの時間幅が狭いため、ランダムな信号が発生する確率は小さいが、この信号を本特許で提示するLFSRに入力する場合は、ランダム信号が発生するたびにレジスタの値が予測できない値に変わるので、アナログ回路を使用せずにクロックで発生するランダム性のみを利用しても、物理的乱数を生成できる。
図5は、独立的なソースを有する二つのクロックを利用してランダム信号を生成する他の例を示す図面である。クロック1をフリップフロップのクロック端子に入力する場合、フリップフロップ1 410にはそのまま入力し、フリップフロップ2 420には反転して入力することによって、フリップフロップ1 410は、クロックのライジングエッジでクロック2の値をサンプリングし、フリップフロップ2 420は、クロックのフォーリングエッジでクロック2の値をサンプリングする。この二つのフリップフロップの出力値を合わせて、ランダム信号を生成する。
図4は、クロックのライジングエッジで他のクロックをサンプリングする場合である一方、図5は、クロックのライジング及びフォーリングエッジ両方で他のクロックをサンプリングすることによって、クロックのジッタをサンプリングする確率は二倍に増加する。
図6は、本発明によるデジタルロジックを利用した乱数発生方法の一実施形態を示すフローチャートである。
まず、シフトレジスタの内部に保存されたビット値を順次に移動させ(ステップ600)、シフトレジスタに保存されたビット値を所定の論理演算してフィードバック信号を生成する(ステップ610)。
ここで、シフトレジスタの動作及びフィードバック信号の生成方法は、従来のLFSRの方式によるが、新たな形態のシフトレジスタの入力信号を生成し、シフトレジスタの固定値を防止し、ランダム信号を生成し、固定防止値、ランダム信号及びフィードバック信号を合わせてシフトレジスタに入力するステップを追加することによって、全く異なる動作特性を有する乱数発生方法を生成できる。
次いで、シフトレジスタに入力される外部信号を生成する(ステップ620)。このとき、生成された外部信号の論理値がシフトレジスタに保存されたビット値といずれも同じであるか否かによって、次の二つの過程をそれぞれ行う。
外部信号の論理値がシフトレジスタに保存されたビット値といずれも同一でない場合、外部信号及びフィードバック信号のみを論理演算してシフトレジスタに出力する(ステップ640)。
しかし、外部信号の論理値がシフトレジスタに保存されたビット値といずれも同じである場合は、フィードバック信号、外部信号にシフトレジスタのビット値を固定させないために生成される固定防止値をさらに論理演算して、シフトレジスタに出力する(ステップ650)。本方法のさらに詳細な説明は、本方法の他の態様である装置の説明を通じて前述したので省略する。
本発明は、ICカードのような低電力、小面的を必要とするシステムオンチップの乱数発生装置として活用されうることはいうまでもなく、本特許の乱数発生装置は、既存の擬似乱数発生装置のように具現が容易であるので、保安を必要とするあらゆる種類のシステムで活用されうる。
以上、本発明の望ましい実施形態により説明されたが、本発明の範囲は、これに限定されるものではなく、特許請求の範囲により裏付けられる限り前記実施形態の変形や改良にも及ぼさねばならない。
本発明によるデジタルロジックを利用した乱数発生装置の一実施形態の概略的なブロック図である。 図1のシフトレジスタ及びフィードバック回路を4ビットのLFSRに構成した概略的なブロック図である。 図2の構成に固定値防止回路を追加した構成の概略的なブロック図である。 図1のランダム信号発生回路を、独立的な発生源を有する二つのクロックを利用するように構成した一実施形態の概略的なブロック図である。 図1のランダム信号発生回路を、独立的な発生源を有する二つのクロックのライジング及びフォーリングエッジを利用するように構成した他の実施形態の概略的なブロック図である。 本発明によるデジタルロジックを利用した乱数発生方法の一実施形態を示すフローチャートである。

Claims (12)

  1. 内部に保存されたビット値を順次に移動させるシフトレジスタと、
    前記シフトレジスタに保存されたビット値を所定の論理演算して生成したフィードバック信号を生成するフィードバック回路と、
    前記シフトレジスタに入力される外部信号を生成する外部信号生成回路と、
    前記フィードバック信号及び外部信号を所定の論理演算して前記シフトレジスタに出力する入力論理回路と、を備えることを特徴とするデジタルロジックを利用した乱数発生装置。
  2. 前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記入力論理回路の出力値を前記シフトレジスタのビット値と異ならせる値を前記入力論理回路に出力する固定値防止回路をさらに備えることを特徴とする請求項1に記載のデジタルロジックを利用した乱数発生装置。
  3. 前記固定値防止回路の出力は、論理値ハイであることを特徴とする請求項2に記載のデジタルロジックを利用した乱数発生装置。
  4. 前記外部信号生成回路は、ランダム信号を生成することを特徴とする請求項1に記載のデジタルロジックを利用した乱数発生装置。
  5. 前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする請求項4に記載のデジタルロジックを利用した乱数発生装置。
  6. 前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする請求項5に記載のデジタルロジックを利用した乱数発生装置。
  7. (a)シフトレジスタの内部に保存されたビット値を順次に移動させるステップと、
    (b)前記シフトレジスタに保存されたビット値を所定の論理演算してフィードバック信号を生成するステップと、
    (c)前記シフトレジスタに入力される外部信号を生成するステップと、
    (d)前記フィードバック信号及び外部信号を所定の論理演算して前記シフトレジスタに出力するステップと、を含むことを特徴とするデジタルロジックを利用した乱数発生方法。
  8. 前記(d)ステップは、
    前記シフトレジスタのビット値及び外部信号の論理値がいずれも同じである場合、前記シフトレジスタへの出力値を前記シフトレジスタのビット値と異ならせる固定防止値をさらに論理演算することを特徴とする請求項7に記載のデジタルロジックを利用した乱数発生方法。
  9. 前記固定防止値は、論理値ハイであることを特徴とする請求項8に記載のデジタルロジックを利用した乱数発生方法。
  10. 前記外部信号は、ランダム信号であることを特徴とする請求項7に記載のデジタルロジックを利用した乱数発生方法。
  11. 前記ランダム信号は、発生源が異なる信号をサンプリングすることによって生成されることを特徴とする請求項10に記載のデジタルロジックを利用した乱数発生方法。
  12. 前記サンプリングは、信号のライジングエッジ及びフォーリングエッジでいずれも行われることを特徴とする請求項11に記載のデジタルロジックを利用した乱数発生方法。
JP2006546799A 2003-12-23 2004-07-29 デジタルロジックを利用した乱数発生装置及び方法 Expired - Fee Related JP4417389B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020030095373A KR100576714B1 (ko) 2003-12-23 2003-12-23 디지털 로직을 이용한 난수 발생 장치 및 방법
PCT/KR2004/001911 WO2005062523A1 (en) 2003-12-23 2004-07-29 Apparatus and method for generating random number using digital logic

Publications (2)

Publication Number Publication Date
JP2007520798A true JP2007520798A (ja) 2007-07-26
JP4417389B2 JP4417389B2 (ja) 2010-02-17

Family

ID=36791214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006546799A Expired - Fee Related JP4417389B2 (ja) 2003-12-23 2004-07-29 デジタルロジックを利用した乱数発生装置及び方法

Country Status (6)

Country Link
US (1) US20070150531A1 (ja)
EP (1) EP1698095A4 (ja)
JP (1) JP4417389B2 (ja)
KR (1) KR100576714B1 (ja)
CN (1) CN1914847B (ja)
WO (1) WO2005062523A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019802B2 (en) 2005-08-24 2011-09-13 Qualcomm Incorporated Cryptographically secure pseudo-random number generator
US8312071B2 (en) * 2008-04-11 2012-11-13 International Business Machines Corporation Method and structure for provably fair random number generator
US8522065B2 (en) * 2009-09-06 2013-08-27 Percello Ltd. Generating a random number in an existing system on chip
CN102622205B (zh) * 2012-03-09 2015-02-11 无锡华大国奇科技有限公司 随机数发生器
US9569176B2 (en) 2014-10-30 2017-02-14 Seagate Technology Llc Deriving entropy from multiple sources having different trust levels
KR101649996B1 (ko) 2015-07-07 2016-08-23 동서대학교산학협력단 임계클럭조절형 랜덤 암호 발생기
US10536266B2 (en) 2017-05-02 2020-01-14 Seagate Technology Llc Cryptographically securing entropy for later use
US10541610B1 (en) * 2018-08-21 2020-01-21 Texas Instruments Incorporated Spectral shaping of spread spectrum clocks/frequencies through post processing
KR102217928B1 (ko) * 2019-06-14 2021-02-19 광운대학교 산학협력단 랜덤 소수 생성 방법 및 그를 위한 장치
US11586418B2 (en) * 2020-01-17 2023-02-21 Macronix International Co., Ltd. Random number generator, random number generating circuit, and random number generating method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5001361A (en) * 1988-05-13 1991-03-19 Fujitsu Limited Master-slave flip-flop circuit
AU644306B2 (en) * 1991-08-23 1993-12-02 Fujitsu Limited A generating system of random-number sequences for a parallel computer system
US6061819A (en) * 1997-12-29 2000-05-09 Hewlett-Packard Company Generation of reproducible random initial states in RTL simulators
US6282181B1 (en) * 1998-04-24 2001-08-28 Ericsson Inc Pseudorandom number sequence generation in radiocommunication systems
US6560338B1 (en) * 1998-08-28 2003-05-06 Qualcomm Incorporated Limiting delays associated with the generation of encryption stream ciphers
US6240432B1 (en) * 1998-12-28 2001-05-29 Vanguard International Semiconductor Corporation Enhanced random number generator
US6125378A (en) * 1999-01-13 2000-09-26 Barbano; Paolo Emilio Method and apparatus for generating families of code signals using multiscale shuffling
GB2357610B (en) * 1999-12-20 2004-04-28 Mitsubishi Electric Inf Tech Method and apparatus for generating numbers
US6356112B1 (en) * 2000-03-28 2002-03-12 Translogic Technology, Inc. Exclusive or/nor circuit
US6687721B1 (en) * 2000-03-31 2004-02-03 Intel Corporation Random number generator with entropy accumulation
US7253717B2 (en) * 2000-11-29 2007-08-07 Mobile Technics Llc Method and system for communicating with and tracking RFID transponders
US6807553B2 (en) * 2001-04-23 2004-10-19 Safenet B.V. Digital true random number generator circuit
US20040049525A1 (en) * 2002-09-06 2004-03-11 Koninklijke Philips Electronics N.V. Feedback random number generation method and system
US7206797B2 (en) * 2003-04-14 2007-04-17 M-Systems Flash Disk Pioneers Ltd. Random number slip and swap generators

Also Published As

Publication number Publication date
WO2005062523A1 (en) 2005-07-07
KR20050064096A (ko) 2005-06-29
EP1698095A4 (en) 2010-07-14
KR100576714B1 (ko) 2006-05-03
CN1914847B (zh) 2010-04-28
CN1914847A (zh) 2007-02-14
US20070150531A1 (en) 2007-06-28
JP4417389B2 (ja) 2010-02-17
EP1698095A1 (en) 2006-09-06

Similar Documents

Publication Publication Date Title
EP1782181B1 (en) Method and apparatus for generating random data
Golic New methods for digital generation and postprocessing of random data
EP1776757B1 (en) Random number generation based on logic circuits with feedback
JP2937919B2 (ja) 疑似乱数発生回路
US8744073B2 (en) Digital random number generator based on digitally-controlled oscillators
JP3696209B2 (ja) シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
Merah et al. A pseudo random number generator based on the chaotic system of Chua’s circuit, and its real time FPGA implementation
JP2006139756A (ja) 乱数発生器および乱数を発生する方法
KR20140110142A (ko) 난수 발생기
CN101162998A (zh) 真随机数发生器
JP4417389B2 (ja) デジタルロジックを利用した乱数発生装置及び方法
US20130346459A1 (en) Method for generating random numbers
Han et al. Unpredictable 16 bits LFSR-based true random number generator
US20090327381A1 (en) True random number generator
US20060156187A1 (en) Method and apparatus for multiple polynomial-based random number generation
JP5171420B2 (ja) 擬似乱数生成装置
JP5119417B2 (ja) 擬似乱数生成装置
Petrie et al. A noise-based random bit generator IC for applications in cryptography
JP2006509286A (ja) 真正乱数の発生システムおよび発生方法
Anchana et al. Design of PUF Based Chaotic Random Number Generator
Siripragada et al. Power efficient PUF-based random reseeding true random number generator
Sekhar et al. An Efficient Pseudo Random Number Generator for Cryptographic Applications
JP2004157168A (ja) 乱数生成装置
Mehra et al. Design of Hexagonal Oscillator for True Random Number Generation
Kumar et al. Design of Energy Efficient True Random Number Generator using MUX-Metastable Approach

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091027

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091125

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees