JP2004302915A - 擬似乱数発生回路 - Google Patents

擬似乱数発生回路 Download PDF

Info

Publication number
JP2004302915A
JP2004302915A JP2003095596A JP2003095596A JP2004302915A JP 2004302915 A JP2004302915 A JP 2004302915A JP 2003095596 A JP2003095596 A JP 2003095596A JP 2003095596 A JP2003095596 A JP 2003095596A JP 2004302915 A JP2004302915 A JP 2004302915A
Authority
JP
Japan
Prior art keywords
clock
random number
circuit
generation circuit
exclusive
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
JP2003095596A
Other languages
English (en)
Other versions
JP3732188B2 (ja
Inventor
Shinya Shimazaki
真也 嶋崎
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.)
Renesas Micro Systems Co Ltd
Original Assignee
Renesas Micro Systems Co Ltd
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 Renesas Micro Systems Co Ltd filed Critical Renesas Micro Systems Co Ltd
Priority to JP2003095596A priority Critical patent/JP3732188B2/ja
Priority to US10/808,240 priority patent/US7376687B2/en
Priority to EP04090122A priority patent/EP1465057A3/en
Priority to CNA2004100332412A priority patent/CN1534454A/zh
Publication of JP2004302915A publication Critical patent/JP2004302915A/ja
Application granted granted Critical
Publication of JP3732188B2 publication Critical patent/JP3732188B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Manipulation Of Pulses (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】高い乱数性が得られ、かつ生成された乱数列から回路構成を解析することがより困難な擬似乱数発生回路を提供する。
【解決手段】直列に接続された複数のレジスタ、該レジスタの所定出力の排他的論理和を出力する第1の排他的論理和回路、及び外部から供給される入力データと第1の排他的論理和回路の出力信号との排他的論理和を複数のレジスタのうちの先頭のレジスタに入力する第2の排他的論理和回路を備えたリニアフィードバックレジスタと、一定周期の第1のクロック、及び第1のクロックに同期させた第1のクロックと異なる周波数の第2のクロックを用いて、リニアフィードバックレジスタを動作させるためのクロックであるシフトクロック及び前記入力データを生成する信号生成回路とを有する構成とする。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、リニアフィードバックシフトレジスタ(Linear Feedback Shift Register、以下、LFSRと略す)を用いて擬似乱数を生成する擬似乱数発生回路に関する。
【0002】
【従来の技術】
従来より、暗号アルゴリズム等に乱数が用いられているが、この乱数としては扱いやすさや処理の簡単さから真性乱数よりもソフトウェアでも容易に生成可能な擬似乱数を用いることが多い。
【0003】
擬似乱数を発生する擬似乱数発生回路としてはLFSRを用いて長周期の乱数列を生成する構成が一般的である。LFSRは直列に接続された複数のレジスタの所定出力を排他的論理和回路(以下、XOR回路と称す)を介して先頭のレジスタにフィードバックさせる構成であり、フィードバック部にXOR回路を設けることで比較的長周期の乱数列を得ることが可能になる。
【0004】
例えば、n個のレジスタで構成されるLFSRから得られる乱数列の周期はn次の線形最大周期列(M系列と呼ばれる)2n−1となる。なお、LFSRから得られる乱数列は、上記M系列の乱数を繰り返し発生したものであり、LFSRの周期とは、このM系列の数を示し、時間を表すものではない。
【0005】
擬似乱数を用いて暗号文を生成する暗号回路等では、擬似乱数系列あるいは擬似乱数系列の生成論理が判明すると、入手した暗号文から元の平文を再生することが可能になるため、予測不可能な擬似乱数系列を効率的に生成することが重要になる。
【0006】
擬似乱数系列あるいは擬似乱数系列の生成論理は、乱数のビット数に対してLFSRの次数n(レジスタの数)を増やすほど、その解読が困難になるが、回路規模等の制約から少ないビット数のLFSRしか使用できない場合がある。そこで、少ないビット数のLFSRで生成する擬似乱数の乱数性を高めるために、周波数の異なる複数のクロックを備え、各レジスタを動作させるためのクロック(シフトクロック)をLFSRの所定出力を用いて切り換える構成が特許文献1に記載されている。
【0007】
【特許文献1】
特許2937919号
【0008】
【発明が解決しようとする課題】
シフトクロックが固定の場合、LFSRは所定の初期値(SEED)から各周期毎に同一の乱数列を繰り返し発生する。それに対して上記従来の擬似乱数発生回路では、LFSRの所定出力を用いてシフトクロックを切り換えることで、シフト動作のタイミングにばらつきが発生するため、見かけ上の周期がLFSRのビット数で決まる周期よりも長くなる。
【0009】
しかしながら、このような構成では、シフトクロックのばらつきによって乱数の発生タイミングは変わるが、生成されるSEEDや乱数の順序はシフトクロックの固定時に生成される乱数の順序に等しくなる。すなわち、図11に示すように、乱数は一定時間毎に生成されずに、ランダムな時間間隔で生成されるが(但し、短い期間で見ると、一定時間毎に連続して発生(点在)する)、シフトクロックの固定時に生成される乱数の順序を乱すものではない。そのため、シフトクロックの固定時よりも乱数性は高くなるが、擬似乱数系列あるいは擬似乱数系列の生成論理が特定されるおそれは依然として高く、乱数性が十分に高いとは言えない問題があった。
【0010】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、高い乱数性が得られ、かつ生成された乱数列から回路構成を解析することがより困難な擬似乱数発生回路を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため本発明の擬似乱数発生回路は、直列に接続された複数のレジスタ、前記レジスタの所定出力の排他的論理和を出力する第1の排他的論理和回路、及び外部から供給される入力データと前記第1の排他的論理和回路の出力信号との排他的論理和を前記複数のレジスタのうちの先頭のレジスタに入力する第2の排他的論理和回路を備えたリニアフィードバックレジスタと、
一定周期の第1のクロック、及び前記第1のクロックに同期させた前記第1のクロックと異なる周波数の第2のクロックを用いて、前記リニアフィードバックレジスタを動作させるためのクロックであるシフトクロック及び前記入力データを生成する信号生成回路と、
を有する構成である。
【0012】
このとき、一定周期の第3のクロックを生成する発振回路と、
前記第3のクロックと前記第3のクロックに対して非同期な第4のクロックとの排他的論理和を前記シフトクロックとして前記リニアフィードバックレジスタに供給し、前記第4のクロックを前記入力データとして前記リニアフィードバックレジスタに供給するPre−SEED生成回路と、
を有し、
前記リニアフィードバックレジスタは、
電源投入時に、前記発振回路が安定発振する前の不安定な前記第3のクロックを前記シフトクロックとして用いることで初期値の元になるPre−SEEDを生成してもよく、
前記信号生成回路は、
前記第1のクロック、及び前記第1のクロックを分周したクロックを所定の周期で切り換えた前記シフトクロックを出力してもよい。
【0013】
また、前記リニアフィードバックレジスタで生成された乱数を所定の周期毎に読み出すためのアクセスコントローラを有していてもよく、
前記リニアフィードバックレジスタの出力データと前記リニアフィードバックレジスタが備える複数のレジスタに書き込むための任意の乱数データである書き込み信号との排他的論理和を出力する書き込み回路を有し、
前記リニアフィードバックレジスタは、
前記レジスタの値を前記書き込み回路の出力データで書き換えるための書換え手段を有していてもよい。
【0014】
さらに、前記リニアフィードバックレジスタが備える複数のレジスタの数は、前記乱数のビット数よりも多くてもよい。
【0015】
上記のように構成された擬似乱数発生回路では、リニアフィードバックレジスタに、レジスタの所定出力の排他的論理和を出力する第1の排他的論理和回路、及び外部から供給される入力データと第1の排他的論理和回路の出力信号との排他的論理和を複数のレジスタのうちの先頭のレジスタに入力する第2の排他的論理和回路を備えることで、リニアフィードバックレジスタから出力される乱数列がより不規則になり、乱数性が向上する。
【0016】
また、電源投入時に、発振回路が安定発振する前の不安定な第3のクロックを用いて生成したシフトクロックをリニアフィードバックレジスタに供給することで、リニアフィードバックレジスタの初期値の元になるPre−SEEDの乱数性が高まり、さらに書き込み回路を用いて外部から任意のデータを書き込むことで初期値の乱数性をより高めることができる。
【0017】
また、信号生成回で、第1のクロック、及び第1のクロックを分周したクロックを所定の周期で切り換えたシフトクロックをリニアフィードバックレジスタで用いること、あるいはリニアフィードバックレジスタが備える複数のレジスタの数を生成する乱数のビット数よりも多くすることで、リニアフィードバックレジスタから出力されるデータの乱数性が従来よりも格段に向上する。
【0018】
【発明の実施の形態】
次に本発明について図面を参照して説明する。
【0019】
図1に示すように、本発明の擬似乱数発生回路は、LFSR1と、LFSR1を動作させるためのクロックであるシフトクロック(LSFR clock)及び入力データ(data in)を生成する信号生成回路2と、LFSR1で生成された擬似乱数の読み出しを制御するアクセスコントローラ3と、LFSR1の各レジスタに外部から入力されるデータを書き込むための書き込み回路4とを有する構成である。また、図2に示すように、本実施形態の擬似乱数発生回路には、電源投入後のリセット期間においてLFSR1の初期値(SEED)の元になるPre−SEEDを生成するためのPre−SEED回路5が接続される。
【0020】
本実施形態では、擬似乱数発生回路の構成を、後述する動作の説明を容易にするために、通常動作時の構成を図1に示し、電源投入後のリセット期間の構成を図2に示している。実際の擬似乱数発生回路はこれらの構成要素を全て備えたものであり、LSFR1への入力は通常動作時あるいはリセット期間に応じて切り換えられる。なお、回路が動作する上で影響が無いなら、これらの入力は切り換える必要は無く、信号生成回路2の出力信号及びPre−SEED回路5の出力信号が常時入力されていてもよい。
【0021】
図1に示す信号生成回路2に供給される第1のクロックCLK1は、例えばリングオシレータ等によって生成された一定周期のクロックであり、第2のクロックCLK2は、水晶発振器等を備えた不図示の発振回路あるいは外部から供給されるクロックを第1のクロックCLK1にフリップフロップ等を用いて同期させたクロックである。
【0022】
また、図2に示すPre−SEED回路5に供給される第3のクロックCLK3は、第1のクロックCLK1と同様にリングオシレータ等の発振回路6によって生成された一定周期のクロックであり、第4のクロックCLK4は、水晶発振器等を備えた不図示の発振回路あるいは外部から供給される第1のクロックCLK1と非同期のクロックである。
【0023】
第3のクロックCLK3は、後述するようにPre−SEEDの乱数性を高めるため、リングオシレータ等の発振回路6の出力クロックをそのまま使用するのが好ましい。第1のクロックCLK1は、このような制限はなく、発信回路6の出力クロックをそのまま使用してもよく、例えば出力クロックを停止させるための不図示の制御回路を通過したクロックを使用してもよい。
【0024】
図1に示すように、本実施形態のLSFR1は、直列に接続された複数のレジスタと、レジスタの所定出力の排他的論理和を出力する第1のXOR回路(XOR1)と、信号生成回路2から供給される入力データと第1のXOR回路の出力信号との排他的論理和を先頭のレジスタに入力する第2のXOR回路(XOR2)とを有する構成である。このように、第2のXOR回路によって先頭のレジスタに帰還させる信号に信号生成回路2から供給される入力データでモジュレーションをかけることで、図3に示すようにLFSR1から出力されるデータ列がより不規則になり、乱数性が向上する。
【0025】
また、本実施形態の擬似乱数発生回路では、生成する乱数のビット数よりも次数が多いLSFR1を使用する。例えば16ビットの擬似乱数を生成する場合、本実施形態では26ビットのLFSR1を使用する。これは、上述したように16ビットのLFSR1を使用して乱数を生成するよりも乱数性が高くなるためである。
【0026】
また、本実施形態では、LFSR1から出力されるデータの乱数性をより高くするため、信号生成回路2によって生成されるシフトクロックの周波数を所定周期毎に切り換える。具体的には、第1のクロックCLK1をシフトクロックとして用い、周波数を変えないクロック(Full)と周波数を1/2に分周したクロック(Half)とを自動的に切り換える。なお、分周したクロックは、第1のクロックCLK1の1/2の周波数である必要はなく、1/4、1/8、1/16等、いくつであってもよい。
【0027】
通常動作時、LSFR1はシフトクロックが入力される度に乱数を生成するが、乱数はクロック毎に読み出しができないようにする。すなわち、アクセスコントローラ3の制御によりLSFR1で生成される乱数列のなかから、所定の周期毎に乱数を読み出すようにする。
【0028】
書き込み回路4は、LFSR1の初期値(SEED)の乱数性をより高めるために、ユーザが外部からLFSR1の各レジスタに任意のデータを書き込むためのものであり、LFSR1の出力データとユーザが書き込むデータである書き込み信号との排他的論理和を出力する複数のXOR回路を備えている。書き込み回路4は、例えば生成する初期値のビット数分だけXOR回路を備え、各XOR回路の出力信号は、不図示のセレクタ等(書換え手段)を介してLFSR1の所定のレジスタに入力される。
【0029】
図2に示すように、Pre−SEED回路5は、第3のクロックCLK3と第4のクロックCLK4との排他的論理和を出力し、LFSR1にシフトクロックとして供給するXOR回路を備えた構成である。リセット期間時、第4のクロックCLK4はLFSR1に入力データとして供給される。
【0030】
次に、本発明の擬似乱数発生回路の動作について図面を参照して説明する。
【0031】
上述したように、本実施形態の擬似乱数生成回路は、動作を電源投入後のリセット期間と通常動作時との2つに分けることができる。まず、リセット期間の動作について図2を参照して説明する。
【0032】
上述したように、リセット期間においてLFSR1に供給される第3のクロックCLK3にはリングオシレータ等の発振回路6の出力クロックがそのまま使用される。リセット期間は電源投入直後の期間であるため、リングオシレータは発振が安定せず第3のクロックCLK3の周波数も不安定となる。本実施形態では、この不安定なクロックをLFSR1のシフトクロックとして使用することでLFSR1で生成されるPre−SEEDの乱数性を高めている。
【0033】
また、本実施形態では、第3のクロックCLK3と、第3のクロックCLK3に対して非同期な第4のクロックCLK4との排他的論理和出力をLFSR1にシフトクロックとして供給するため、乱数性がより高いPre−SEEDを得ることができる。
【0034】
次に、本実施形態の擬似乱数生成回路の通常動作について図1を参照しつつ図4〜図10を用いて説明する。
【0035】
図4は図1に示した信号生成回路が備える入力データを生成する回路の一構成例を示す回路図であり、図5は図4に示した回路の動作を示すタイミングチャートである。図6は図1に示した信号生成回路が備えるシフトクロックを生成するための回路の一構成例を示す回路図であり、図7は図6に示した回路の動作を示すタイミングチャートである。図8は図1に示したアクセスコントローラの一構成例を示す回路図であり、図9は図8に示した回路の動作を示すタイミングチャートである。また、図10は図1に示したアクセスコントローラの動作を示す模式図である。
【0036】
リセット期間が終了後、本実施形態の擬似乱数発生回路では、まず、リセット期間中に生成されたPre−SEEDを基にLFSR1の初期値であるSEEDを生成する。そして、信号生成回路2から出力されるシフトクロックのタイミングで該SEEDから始まる擬似乱数列を順次生成する。なお、本実施形態では、上述したようにユーザが外部からLFSR1の各レジスタに任意のデータを書き込むための書き込み回路4を備え、ユーザが入力したデータ(書き込み信号)とLFSR1で生成した初期値との排他的論理和出力をLFSR1の各レジスタに書き込むことが可能である。このような機能を利用すれば、さらに乱数性の高いSEEDを得ることができる。SEEDが生成されると、LFSR1は該SEEDから始まる乱数列を順次生成する。このとき、信号生成回路2では図4及び図6に示す回路を用いてシフトクロックの周波数を所定周期毎に切り換える。
【0037】
図4は、LFSR1の入力データ(data in)と、シフトクロックの周波数の変更タイミングを制御するためのクロックスピード制御信号(speed cont sig.)を生成する回路例であり、第2のクロックCLK2を第1のクロックCLK1でフリップフロップ(F/F)を用いてラッチした後(図5のA)、その立ち上がりエッジ及び立下りエッジを論理ゲートにより検出する(図5のB,C)。
そして、第2のクロックCLK2の立ち上がりで“1”から“0”または“0”から“1”に反転する入力データ(図5のdata in)を生成し、第2のクロックCLK2の立ち下がりで“1”から“0”または“0”から“1”に反転するクロックスピード制御信号(図5のspeed cont sig.)をそれぞれ生成する。
【0038】
さらに、クロックスピード制御信号(speed cont sig.)は、図6に示す回路に入力され、シフトクロックの周波数を制御するためのクロックイネーブル信号(clk enable)が生成される。クロックイネーブル信号(clk enable)は、4値セレクタ(MUX)の出力をラッチすることで生成され、4値セレクタの切り換え信号としてクロックスピード制御信号(speed cont sig.)が使用される。すなわち、図7に示すように、クロックスピード制御信号(speed cont sig.)が“0”のとき、4値セレクタ(MUX)の出力をラッチするラッチ回路(F/F)は第1のクロックCLK1の立ち上がりタイミングで入力端子Dから入力される前値の反転値を出力し、第1のクロックCLK1を2分周した信号をクロックイネーブル信号(clk enable)として出力する。
【0039】
一方、クロックスピード制御信号(speed cont sig.)が“1”のとき、4値セレクタ(MUX)の出力をラッチするラッチ回路(F/F)は、入力端子Dから入力される値が“1”で固定されているため、クロックイネーブル信号(clk enable)として固定値“1”を出力する。
【0040】
シフトクロックは、クロックイネーブル信号と第1のクロックCLK1とを入力とするゲート回路を通過させることで生成する。その結果、クロックイネーブル信号が“1”のときは第1のクロックCLK1がそのまま出力され、クロックイネーブル信号が“0”のときは第1のクロックCLK1の1/2の周波数のシフトクロックが出力される。
【0041】
なお、図4及び図6に示す回路は、擬似乱数発生回路の試験時にテスト切換信号を用いて試験用の入力信号に切り換えることが可能であり、第2のクロックCLK2、入力データ(data in)、及びクロックスピード制御信号(speed cont sig.)は、それぞれセレクタ(MUX)によって外部から供給されるテストクロック、テストデータ、テスト制御信号に切り換えることができる。また、テスト切換信号が有効(“1”)のとき、図6に示すtst init value信号の値が有効になる。
【0042】
アクセスコントローラ3は、LFSR1で生成された乱数を所定の周期毎に読み出すための読み出しタイミングを生成する回路であり、例えば図8に示すように、3ビットのLFSRを用いたカウンタ回路を備えた構成である。
【0043】
本実施形態の擬似乱数発生回路から乱数を読み出す場合、外部から読み出し用制御信号(req sampling)が入力される。アクセスコントローラ3は、読み出し用制御信号を受け取ると、3ビットのLFSRの動作を開始させ、第1のクロックCLK1を所定数だけカウントした後(図8の構成では6)、乱数リード許可信号(req sampling)を生成する。この乱数リード許可信号(req sampling)が出力されると、例えば不図示のレジスタにその時点で格納されている、LFSR1で生成された乱数が出力される。カウンタ回路のカウント数はいくつであってもよく、乱数の読み出し周期はカウンタ回路の構成を変えることで変更可能である。例えば、図10は16クロック毎に乱数が読み出される様子を模式的に示している。
【0044】
以上説明したように、本発明の構成によれば、LFSR1に、レジスタの所定出力の排他的論理和を出力する第1のXOR回路、及び信号生成回路2から供給される入力データと第1のXOR回路の出力信号との排他的論理和を先頭のレジスタに入力する第2のXOR回路を備え、第2のXOR回路によって先頭のレジスタに帰還させる信号に外部から供給される入力データでモジュレーションをかけることで、LFSR1から出力される乱数列がより不規則になり、乱数性が向上する。
【0045】
また、電源投入時に、発振回路6が安定発振する前の不安定な第3のクロックCLK3を用いて生成したシフトクロックをLFSR1に供給し、LFSR1の初期値(SEED)の元になるPre−SEEDを生成することで該Pre−SEED及びSEEDの乱数性が高まる。さらに書き込み回路4を用いて外部から任意のデータを書き込むことでSEEDの乱数性をより高めることができる。
【0046】
また、信号生成回2で、第1のクロックCLK1、及び第1のクロックCLK1を分周したクロックを所定の周期で切り換えることで生成したシフトクロックをLFSR1で用いること、あるいはLFSR1が備える複数のレジスタの数を生成する乱数のビット数よりも多くすることで、LFSR1から出力されるデータの乱数性が従来よりも格段に向上する。
【0047】
したがって、高い乱数性が得られ、かつ生成された乱数列から回路構成を解析することがより困難な擬似乱数発生回路を得ることができる。
【0048】
【発明の効果】
本発明は以上説明したように構成されているので、以下に記載する効果を奏する。
【0049】
リニアフィードバックレジスタに、レジスタの所定出力の排他的論理和を出力する第1の排他的論理和回路、及び外部から供給される入力データと第1の排他的論理和回路の出力信号との排他的論理和を複数のレジスタのうちの先頭のレジスタに入力する第2の排他的論理和回路を備えることで、リニアフィードバックレジスタから出力される乱数列がより不規則になり、乱数性が向上する。
【0050】
また、電源投入時に、発振回路が安定発振する前の不安定な第3のクロックを用いて生成したシフトクロックをリニアフィードバックレジスタに供給することで、リニアフィードバックレジスタの初期値の元になるPre−SEEDの乱数性が高まり、さらに書き込み回路を用いて外部から任意のデータを書き込むことで初期値の乱数性をより高めることができる。
【0051】
また、信号生成回で、第1のクロック、及び第1のクロックを分周したクロックを所定の周期で切り換えたシフトクロックをリニアフィードバックレジスタで用いること、あるいはリニアフィードバックレジスタが備える複数のレジスタの数を生成する乱数のビット数よりも多くすることで、リニアフィードバックレジスタから出力されるデータの乱数性が従来よりも格段に向上する。
【0052】
したがって、高い乱数性が得られ、かつ生成された乱数列から回路構成を解析することがより困難な擬似乱数発生回路を得ることができる。
【図面の簡単な説明】
【図1】本発明の擬似乱数発生回路の一構成例を示すブロック図である。
【図2】図1に示した擬似乱数発生回路のリセット期間における構成を示すブロック図である。
【図3】本発明の擬似乱数発生回路で生成される乱数系列を示す模式図である。
【図4】図1に示した信号生成回路が備える入力データを生成する回路の一構成例を示す回路図である。
【図5】図4に示した回路の動作を示すタイミングチャートである。
【図6】図1に示した信号生成回路が備えるシフトクロックを生成するための回路の一構成例を示す回路図である。
【図7】図6に示した回路の動作を示すタイミングチャートである。
【図8】図1に示したアクセスコントローラの一構成例を示す回路図である。
【図9】図8に示した回路の動作を示すタイミングチャートである。
【図10】図1に示したアクセスコントローラの動作を示す模式図である。
【図11】従来の擬似乱数発生回路で生成される乱数系列を示す模式図である。
【符号の説明】
1 LFSR
2 信号生成回路
3 アクセスコントローラ
4 書き込み回路
5 Pre−SEED生成回路
6 発振回路

Claims (6)

  1. 直列に接続された複数のレジスタ、前記レジスタの所定出力の排他的論理和を出力する第1の排他的論理和回路、及び外部から供給される入力データと前記第1の排他的論理和回路の出力信号との排他的論理和を前記複数のレジスタのうちの先頭のレジスタに入力する第2の排他的論理和回路を備えたリニアフィードバックレジスタと、
    一定周期の第1のクロック、及び前記第1のクロックに同期させた前記第1のクロックと異なる周波数の第2のクロックを用いて、前記リニアフィードバックレジスタを動作させるためのクロックであるシフトクロック及び前記入力データを生成する信号生成回路と、
    を有する擬似乱数発生回路。
  2. 一定周期の第3のクロックを生成する発振回路と、
    前記第3のクロックと前記第3のクロックに対して非同期な第4のクロックとの排他的論理和を前記シフトクロックとして前記リニアフィードバックレジスタに供給し、前記第4のクロックを前記入力データとして前記リニアフィードバックレジスタに供給するPre−SEED生成回路と、
    を有し、
    前記リニアフィードバックレジスタは、
    電源投入時に、前記発振回路が安定発振する前の不安定な前記第3のクロックを前記シフトクロックとして用いることで初期値の元になるPre−SEEDを生成する請求項1記載の擬似乱数発生回路。
  3. 前記信号生成回路は、
    前記第1のクロック、及び前記第1のクロックを分周したクロックを所定の周期で切り換えた前記シフトクロックを出力する請求項1または2記載の擬似乱数発生回路。
  4. 前記リニアフィードバックレジスタで生成された乱数を所定の周期毎に読み出すためのアクセスコントローラを有する請求項1乃至3のいずれか1項記載の擬似乱数発生回路。
  5. 前記リニアフィードバックレジスタの出力データと前記リニアフィードバックレジスタが備える複数のレジスタに書き込むための任意のデータである書き込み信号との排他的論理和を出力する書き込み回路を有し、
    前記リニアフィードバックレジスタは、
    前記レジスタの値を前記書き込み回路の出力データで書き換えるための書換え手段を有する請求項1乃至4のいずれか1項記載の擬似乱数発生回路。
  6. 前記リニアフィードバックレジスタが備える複数のレジスタの数は、前記乱数のビット数よりも多い請求項1乃至5のいずれか1項記載の擬似乱数発生回路。
JP2003095596A 2003-03-31 2003-03-31 擬似乱数発生回路 Expired - Fee Related JP3732188B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003095596A JP3732188B2 (ja) 2003-03-31 2003-03-31 擬似乱数発生回路
US10/808,240 US7376687B2 (en) 2003-03-31 2004-03-25 Pseudo-random number generator
EP04090122A EP1465057A3 (en) 2003-03-31 2004-03-30 Pseudo-random number generator with LFSR
CNA2004100332412A CN1534454A (zh) 2003-03-31 2004-03-31 伪随机数发生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003095596A JP3732188B2 (ja) 2003-03-31 2003-03-31 擬似乱数発生回路

Publications (2)

Publication Number Publication Date
JP2004302915A true JP2004302915A (ja) 2004-10-28
JP3732188B2 JP3732188B2 (ja) 2006-01-05

Family

ID=32844628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003095596A Expired - Fee Related JP3732188B2 (ja) 2003-03-31 2003-03-31 擬似乱数発生回路

Country Status (4)

Country Link
US (1) US7376687B2 (ja)
EP (1) EP1465057A3 (ja)
JP (1) JP3732188B2 (ja)
CN (1) CN1534454A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013064898A (ja) * 2011-09-19 2013-04-11 Nec Engineering Ltd 擬似乱数生成装置、および、擬似乱数生成方法
JP2014222420A (ja) * 2013-05-13 2014-11-27 株式会社メガチップス 半導体記憶装置及びデータ処理システム
JP2016076741A (ja) * 2014-10-02 2016-05-12 Nttエレクトロニクス株式会社 ランダムデータ生成器及びデータ通信端末
US10146705B2 (en) * 2014-04-01 2018-12-04 Georgetown University System and method for deterring malicious network attacks

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818572B2 (en) * 2003-12-09 2010-10-19 Dominic Kotab Security system and method
US7293054B2 (en) * 2004-03-11 2007-11-06 Harris Corporation Random number source and associated methods
DE102004047425B4 (de) * 2004-09-28 2007-06-21 Micronas Gmbh Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen
US20070050437A1 (en) * 2005-08-25 2007-03-01 Texas Instruments Incorporated Systems and methods for random value generation
CN101326487B (zh) * 2005-12-12 2011-07-06 艾利森电话股份有限公司 随机数发生器
TWI307038B (en) * 2005-12-27 2009-03-01 Ind Tech Res Inst Random number generator for radio frequency identifciation tag and seed number generator for generating a seed number for operation of the random number generator
FR2899352B1 (fr) 2006-03-29 2008-06-20 Eads Secure Networks Soc Par A Generateur de nombres aleatoires
US20080155273A1 (en) * 2006-12-21 2008-06-26 Texas Instruments, Inc. Automatic Bus Encryption And Decryption
US8583712B2 (en) * 2007-09-18 2013-11-12 Seagate Technology Llc Multi-bit sampling of oscillator jitter for random number generation
US8180816B2 (en) * 2007-11-30 2012-05-15 Infineon Technologies Ag Control of a pseudo random number generator and a consumer circuit coupled thereto
US20090327381A1 (en) * 2008-06-30 2009-12-31 Horizon Semiconductors Ltd. True random number generator
WO2011102866A2 (en) * 2009-11-25 2011-08-25 Aclara RF Systems Inc. Random number generator
CN102118146A (zh) * 2009-12-30 2011-07-06 上海华虹集成电路有限责任公司 时钟产生电路
US9031232B2 (en) * 2010-01-15 2015-05-12 Mitsubishi Electric Corporation Bit sequence generation apparatus and bit sequence generation method
CN102184087B (zh) * 2011-04-25 2014-01-15 广州中大微电子有限公司 Rfid标签芯片真随机数产生器
KR101818445B1 (ko) 2011-07-08 2018-01-16 삼성전자주식회사 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들
CN103946909B (zh) * 2011-12-22 2016-05-11 三菱电机株式会社 器件固有信息生成装置以及器件固有信息生成方法
TWI514790B (zh) * 2011-12-27 2015-12-21 Hon Hai Prec Ind Co Ltd 發光二極體驅動裝置
CN102622205B (zh) * 2012-03-09 2015-02-11 无锡华大国奇科技有限公司 随机数发生器
CN102662627B (zh) * 2012-05-03 2016-01-20 无锡华大国奇科技有限公司 一种基于混沌双螺旋的混合随机序列发生器
CN102750128B (zh) * 2012-06-18 2016-04-20 中国电力科学研究院 用于电网的大范围可调速率真随机源实现系统及相关方法
TWI492537B (zh) * 2012-07-16 2015-07-11 Univ Nat Chiao Tung Use the quasi - random code to control the power transistor on and off timing Random delay device
US9141338B2 (en) * 2012-11-16 2015-09-22 Arm Limited Storage circuit with random number generation mode
CN207216600U (zh) 2014-12-18 2018-04-10 密码研究公司 自定时随机数生成器
CN105302521A (zh) * 2015-11-04 2016-02-03 上海电机学院 基于fpga的伪码产生电路
US10884058B2 (en) * 2017-04-18 2021-01-05 Cryptography Research, Inc. Self-test of an asynchronous circuit
CN109670343B (zh) * 2017-10-17 2023-01-03 华邦电子股份有限公司 随机数产生系统及其随机数产生方法
TWI634480B (zh) * 2017-10-17 2018-09-01 華邦電子股份有限公司 隨機數產生系統及其隨機數產生方法
CN110597488A (zh) * 2018-06-12 2019-12-20 华邦电子股份有限公司 随机数产生器以及随机数产生方法
US11171949B2 (en) 2019-01-09 2021-11-09 EMC IP Holding Company LLC Generating authentication information utilizing linear feedback shift registers
US11165571B2 (en) 2019-01-25 2021-11-02 EMC IP Holding Company LLC Transmitting authentication data over an audio channel

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3777278A (en) * 1971-09-10 1973-12-04 Boeing Co Pseudo-random frequency generator
US3790768A (en) * 1972-09-28 1974-02-05 Prayfel Inc Random number generator
IE54401B1 (en) 1982-05-21 1989-09-27 Marconi Co Ltd Random sequence generators
US4719643A (en) * 1984-12-24 1988-01-12 Gte Communication Systems Corporation Pseudo random framing generator circuit
JP3116308B2 (ja) 1989-12-13 2000-12-11 アイコム株式会社 Pn符号発生装置
JPH0644051A (ja) 1992-07-27 1994-02-18 Nec Corp マイクロコンピュータ
JP3469294B2 (ja) 1994-03-10 2003-11-25 株式会社東芝 線型帰還シフトレジスタおよび半導体集積回路装置
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
JP2830842B2 (ja) 1996-06-05 1998-12-02 日本電気株式会社 擬似乱数発生装置
JP3577179B2 (ja) 1996-10-04 2004-10-13 アンリツ株式会社 雑音発生装置
JP2937919B2 (ja) * 1997-01-16 1999-08-23 日本電気アイシーマイコンシステム株式会社 疑似乱数発生回路
JP3672282B2 (ja) 1997-07-25 2005-07-20 株式会社エルイーテック 遊技機用乱数発生装置
JP3022439B2 (ja) 1997-09-24 2000-03-21 日本電気株式会社 擬似乱数発生方法および装置
JPH11143852A (ja) 1997-11-11 1999-05-28 Nippon Telegr & Teleph Corp <Ntt> マイクロプロセッサ
JP3690915B2 (ja) 1998-04-30 2005-08-31 ローム株式会社 乱数発生回路を有する半導体装置
JP2000222176A (ja) * 1999-02-03 2000-08-11 Mitsubishi Electric Corp 乱数生成回路、当該乱数生成回路を内蔵する非接触icカード及びリーダ/ライタ、並びに、当該乱数生成回路を内蔵する装置のテスト方法
US6643374B1 (en) 1999-03-31 2003-11-04 Intel Corporation Duty cycle corrector for a random number generator
US6963888B2 (en) * 2001-11-29 2005-11-08 Koninklijke Philips Electronics N.V. Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability
US20040049525A1 (en) * 2002-09-06 2004-03-11 Koninklijke Philips Electronics N.V. Feedback random number generation method and system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013064898A (ja) * 2011-09-19 2013-04-11 Nec Engineering Ltd 擬似乱数生成装置、および、擬似乱数生成方法
JP2014222420A (ja) * 2013-05-13 2014-11-27 株式会社メガチップス 半導体記憶装置及びデータ処理システム
US10146705B2 (en) * 2014-04-01 2018-12-04 Georgetown University System and method for deterring malicious network attacks
US10482037B2 (en) 2014-04-01 2019-11-19 Georgetown University System and method for deterring malicious network attacks
JP2016076741A (ja) * 2014-10-02 2016-05-12 Nttエレクトロニクス株式会社 ランダムデータ生成器及びデータ通信端末

Also Published As

Publication number Publication date
US7376687B2 (en) 2008-05-20
CN1534454A (zh) 2004-10-06
EP1465057A3 (en) 2006-09-27
EP1465057A2 (en) 2004-10-06
US20040193664A1 (en) 2004-09-30
JP3732188B2 (ja) 2006-01-05

Similar Documents

Publication Publication Date Title
JP3732188B2 (ja) 擬似乱数発生回路
Kohlbrenner et al. An embedded true random number generator for FPGAs
Golic New methods for digital generation and postprocessing of random data
US8150900B2 (en) Random number generation based on logic circuits with feedback
US7797361B2 (en) System and method for generating random numbers using parity feedback
EP1782181B1 (en) Method and apparatus for generating random data
US20040205095A1 (en) Random number slip and swap generators
TWI520055B (zh) 用於產生隨機數之裝置與方法
JPH10207695A (ja) 疑似乱数発生回路
JP2007034836A (ja) 乱数発生装置
Yakut et al. Secure and efficient hybrid random number generator based on sponge constructions for cryptographic applications
Günay et al. IC random number generator exploiting two simultaneous metastable events of tetrahedral oscillators
US20210026602A1 (en) Entropy Generator and Method of Generating Enhanced Entropy Using Truly Random Static Entropy
JP5171420B2 (ja) 擬似乱数生成装置
Garipcan et al. DESSB-TRNG: A novel true random number generator using data encryption standard substitution box as post-processing
JP3502065B2 (ja) 乱数発生装置
JP6220642B2 (ja) 乱数生成モードを備える記憶回路
US20070150531A1 (en) Apparatus and method for generating random number using digital logic
JP5119417B2 (ja) 擬似乱数生成装置
US7668893B2 (en) Data generator having linear feedback shift registers for generating data pattern in forward and reverse orders
Kohlbrenner The design and analysis of a true random number generator in a field programmable gate array
US20230169167A1 (en) Semiconductor device and clock control method
US20230333818A1 (en) Entropy Generator and Method of Generating Enhanced Entropy Using Truly Random Static Entropy
Tehranipoor et al. True Random Number Generator (TRNG)
JP2009053906A (ja) 乱数発生装置

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050112

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050112

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050414

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050622

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050721

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050822

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: 20050913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051011

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091021

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20101021

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111021

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121021

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131021

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees