JP5171420B2 - 擬似乱数生成装置 - Google Patents

擬似乱数生成装置 Download PDF

Info

Publication number
JP5171420B2
JP5171420B2 JP2008158851A JP2008158851A JP5171420B2 JP 5171420 B2 JP5171420 B2 JP 5171420B2 JP 2008158851 A JP2008158851 A JP 2008158851A JP 2008158851 A JP2008158851 A JP 2008158851A JP 5171420 B2 JP5171420 B2 JP 5171420B2
Authority
JP
Japan
Prior art keywords
random number
data
pseudo
circuit
bit
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.)
Expired - Fee Related
Application number
JP2008158851A
Other languages
English (en)
Other versions
JP2010002959A (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.)
Renesas Electronics Corp
NEC Engineering Ltd
Original Assignee
Renesas Electronics Corp
NEC Engineering 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 Electronics Corp, NEC Engineering Ltd filed Critical Renesas Electronics Corp
Priority to JP2008158851A priority Critical patent/JP5171420B2/ja
Publication of JP2010002959A publication Critical patent/JP2010002959A/ja
Application granted granted Critical
Publication of JP5171420B2 publication Critical patent/JP5171420B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Manipulation Of Pulses (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、擬似乱数(pseudo-random number)を生成するための技術に関する。
従来より、擬似乱数は、暗号や認証などに利用されている。擬似乱数は、例えば線形フィードバックシフトレジスタ(LFSR: Linear Feedback Shift Register)を用いることにより生成することができる。LFSRは直列に接続された複数のレジスタを有しており、その複数のレジスタのうち所定の出力が排他的論理和回路(EXOR回路)を介して先頭のレジスタにフィードバックされる。初期値が設定された後、LFSRは所定のシフトクロックに基づいて動作する。その結果、LFSRは、初期値に依存するパターンの擬似乱数列を所定の周期で繰り返し出力する。フィードバック経路にEXOR回路を設けることにより、長周期の乱数列を得ることが可能である。
但し、LFSRによる擬似乱数の生成論理は、出力パターンから数学的に容易に解析可能である。従って、LFSRを利用した擬似乱数生成回路では、生成される擬似乱数の乱数性を高めるための工夫が必要となる。例えば、初期値を外部から変更可能にしたり、複数段のLFSRをカスケード接続したりすることが一般的である。あるいは、非線形フィードバックシフトレジスタ(NLFSR: Non-Linear Feedback Shift Register)を用いることも考えられる。
特許文献1には、カスケード接続に基づいた擬似乱数発生装置が記載されている。その擬似乱数発生装置では、複数の非線形擬似乱数生成回路がカスケード接続されている。そして、それら複数の非線形擬似乱数生成回路のそれぞれの出力の排他的論理和が、擬似乱数として出力される。
特開平11−95984号公報
本願発明者は次の点に着目した。特許文献1に記載された擬似乱数発生装置によれば、複数の擬似乱数生成回路のそれぞれの出力の排他的論理和が、擬似乱数として出力される。そのため、必要とされる擬似乱数列のビット数が増加するにつれて、擬似乱数生成回路の必要数も増大してしまう。すなわち、ロジック規模が大きくなる。逆に言えば、規模の小さいマイコン等にこの擬似乱数発生装置を搭載する場合には、擬似乱数生成回路の段数が制限されてしまう。結果として、生成される擬似乱数列が制限され、乱数性能も制限されてしまう。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の一実施の形態において、擬似乱数生成装置(1)が提供される。その擬似乱数生成装置(1)は、直列に接続されたS段(Sは2以上の整数)の擬似乱数生成回路(30−1〜30−4)と、それら擬似乱数生成回路(30−1〜30−4)に接続された制御回路(40)とを備える。擬似乱数生成回路(30−1〜30−4)の各々は、Nビット(Nは2以上の整数)の擬似乱数データ(X1〜X4)を生成する。制御回路(40)は、S段の擬似乱数生成回路(30−1〜30−4)のそれぞれから擬似乱数データ(X1〜X4)を受け取り、受け取ったS個の擬似乱数データ(X1〜X4)のうち任意の擬似乱数データの組み合わせを擬似乱数列(PR)として出力する。
本発明によれば、擬似乱数生成装置によって生成される擬似乱数列のビット数を、ロジック規模を増大させることなく増加させることが可能となる。
添付図面を参照して、本発明の実施の形態に係る擬似乱数生成装置を説明する。
1.第1の実施の形態
1−1.全体構成
図1は、本発明の第1の実施の形態に係る擬似乱数生成装置1の構成を示すブロック図である。擬似乱数生成装置1は、クロック生成回路10、データ生成回路20、擬似乱数生成回路30、及び擬似乱数制御回路40を備えている。
クロック生成回路10は、複数種のクロック信号(CLK1,CLK3,CLK4)を生成し、それらクロック信号をデータ生成回路20に出力する。データ生成回路20は、クロック生成回路10によって生成された複数種のクロック信号(CLK1,CLK3,CLK4)に基づいて、乱数性を有するデータ(以下、「乱数データDrnd」と参照される)を生成する。
擬似乱数生成回路30は、擬似乱数データを生成するための回路であり、非線形フィードバックシフトレジスタ(NLFSR)と同様の機能を提供する。後に詳しく説明されるように、擬似乱数生成回路30はNビットレジスタを有しており、そのNビットレジスタのデータがNビットの出力データDoutとして出力端子から出力される。ここで、Nは2以上の整数であり、例えば16である。この出力端子から出力されるNビットの出力データDoutが擬似乱数データ(擬似乱数列)である。また、擬似乱数生成回路30の入力端子には、Nビットの入力データDinが入力される。後に詳しく説明されるように、この入力データDinは、擬似乱数データを生成する際に周期性を乱し乱数性を高めるために用いられる。
本実施の形態に係る擬似乱数生成装置1は、直列に接続されたS段(Sは2以上の整数)の擬似乱数生成回路30を備えている。すなわち、ある擬似乱数生成回路30の出力端子が、後段の擬似乱数生成回路30の入力端子に接続されている。図1の例では、S=4であり、4個の擬似乱数生成回路30−1〜30−4が直列に接続されている。ある擬似乱数生成回路30−iの出力端子は、次段の擬似乱数生成回路30−(i+1)の入力端子に直接接続されている(i=1,2,3)。従って、擬似乱数生成回路30−iの出力端子から出力される出力データDoutが、次段の擬似乱数生成回路30−(i+1)の入力端子に入力データDinとして入力される。
但し、初段の擬似乱数生成回路30−1の入力端子は、上述のデータ生成回路20の出力に接続されている。よって、データ生成回路20によって生成される乱数データDrndが、初段の擬似乱数生成回路30−1の入力端子に入力データDinとして入力される。言い換えれば、データ生成回路20は、Nビットの乱数データDrndを生成し、その乱数データDrndを初段の擬似乱数生成回路30−1に対する入力データDinとして出力する。
擬似乱数制御回路40は、擬似乱数生成回路30−1〜30−4のそれぞれの出力端子に接続されている。それら擬似乱数生成回路30−1〜30−4のそれぞれから出力される出力データDoutは、擬似乱数データX1〜X4である。擬似乱数制御回路40は、擬似乱数生成回路30−1〜30−4のそれぞれから擬似乱数データX1〜X4を受け取る。そして、擬似乱数制御回路40は、受け取った4個の擬似乱数データX1〜X4のうち任意の擬似乱数データの組み合わせを擬似乱数出力PRとして出力する。
以下、各回路の構成及び動作を詳細に説明する。
1−2.クロック生成回路及びデータ生成回路
図2は、本実施の形態に係るクロック生成回路10及びデータ生成回路20の構成を示すブロック図である。
データ生成回路20は、第1Nビットカウンタ21、第2Nビットカウンタ22、及びEXOR回路(排他的論理和回路)23を有している。第1Nビットカウンタ21及び第2Nビットカウンタ22は、リセットを持たないクロックカウンタである。具体的には、第1Nビットカウンタ21は、第1クロック信号CLK1をカウントし、その第1クロック信号CLK1のカウント値c1(Nビット)を出力する。一方、第2Nビットカウンタ22は、第1クロック信号CLK1とは異なる第2クロック信号CLK2をカウントし、その第2クロック信号CLK2のカウント値c2(Nビット)を出力する。
EXOR回路23は、第1Nビットカウンタ21によるカウント値c1と第2Nビットカウンタ22によるカウント値c2との排他的論理和を算出する。異なるクロック信号のカウント値から得られる排他的論理和は“乱数性”を有しており、このEXOR回路23から出力される排他的論理和が、上述のNビットの乱数データDrndとして用いられる。つまり、EXOR回路23は、第1クロック信号CLK1のカウント値c1と第2クロック信号CLK2のカウント値c2との排他的論理和を、Nビットの乱数データDrndとして生成する。
好適には、第1クロック信号CLK1と第2クロック信号CLK2とは、非同期であり、互いに異なる周波数を有している。この場合、生成される乱数データDrndの乱数性が向上する。
第1クロック信号CLK1は、クロック生成回路10に含まれる発振回路11によって生成される。発振回路11は、例えばリングオシレータである。
第2クロック信号CLK2は、発振回路11とは異なる発振回路を用いて生成することができる。あるいは、複数種類のクロック信号を組み合わせることによって、第2クロック信号CLK2を生成することもできる。例えば図2に示されるように、データ生成回路20は、第2クロック信号CLK2を生成するためのEXOR回路24を有していてもよい。このEXOR回路24は、第3クロック信号CLK3と第4クロック信号CLK4との排他的論理和を、第2クロック信号CLK2として出力する。好適には、第3クロック信号CLK3と第4クロック信号CLK4とは、非同期であり、異なる周波数を有している。第3クロック信号CLK3は、クロック生成回路10に含まれる発振回路12によって生成される。第4クロック信号CLK4は、クロック生成回路10に含まれる発振回路13によって生成される。発振回路12、13は、例えばリングオシレータである。このようにして、第1クロック信号CLK1と非同期であり周波数の異なる第2クロック信号CLK2を、複数種のクロック信号(CLK3、CLK4)から生成することが可能である。
以上に説明されたように、データ生成回路20は、複数のクロック信号(CLK1,CLK2)のそれぞれのカウント値に基づいて、乱数性を有するNビットの乱数データDrndを自動的に生成する。生成された乱数データDrndは、初段の擬似乱数生成回路30−1の入力端子に入力される。
1−3.擬似乱数生成回路
図3は、本実施の形態に係る1つの擬似乱数生成回路30の構成を示すブロック図である。図3に示されるように、擬似乱数生成回路30は、入力端子IN、出力端子OUT、Nビットレジスタ32、及び変調回路33を有している。入力端子INには、Nビットの入力データDinが入力される。出力端子OUTからは、Nビットの出力データDoutが出力される。
Nビットレジスタ32は、N個のフリップフロップ31から構成される。Nは2以上の整数であり、例えば16である。Nビットレジスタ32には、Nビットのレジスタ入力データDRinがパラレルに入力される。また、Nビットレジスタ32から、Nビットのレジスタ出力データDRoutがパラレルに出力される。Nビットレジスタ32からのレジスタ出力データDRoutが、Nビットの出力データDout(擬似乱数データ)であり、出力端子OUTから出力される。
本実施の形態において、レジスタクロックは、上述の第1クロック信号CLK1である。つまり、Nビットレジスタ32は、第1クロック信号CLK1に基づいて動作する。第1クロック信号CLK1に同期して、Nビットレジスタ32はレジスタ入力データDRinを取り込む。すなわち、第1クロック信号CLK1と同期して、Nビットレジスタ32のデータ値が一括して更新される。
変調回路33は、Nビットレジスタ32の出力から入力へのフィードバック経路上に設けられており、レジスタ出力データDRoutを変調することによってレジスタ入力データDRinを生成する。この変調(モジュレーション)により、レジスタ出力データDRoutの周期性が乱され、乱数性が高まる。また、この変調は、レジスタ出力データDRoutとレジスタ入力データDRinとの関係を非線形化することに相当する。この変調において、入力端子INから入力されるNビットの入力データDinが用いられる。初段の擬似乱数生成回路30−1の場合、入力データDinは、データ生成回路20によって生成される乱数データDrndである。それ以外の擬似乱数生成回路30−(i+1)の場合、入力データDinは、前段の擬似乱数生成回路30−iによって生成される出力データDout(擬似乱数データ)である。
より詳細には、図3に示されるように、変調回路33はEXOR回路34を有している。EXOR回路34は、入力データDinとNビットレジスタ32からのレジスタ出力データDRoutとの排他的論理和を出力する。このようにして、入力データDinを用いることによって、レジスタ出力データDRoutが変調される。EXOR回路34から出力されるNビットのデータは、以下「変調データDA」と参照される。
Nビットレジスタ32へのレジスタ入力データDRinは、この変調データDAから生成される。例えば、変調データDAがそのままレジスタ入力データDRinとして用いられる。あるいは、Nビットの変調データDAのうち任意の1ビットを置換ビットD1で更に置換することによって、レジスタ入力データDRinが生成されてもよい。例えば図3において、EXOR回路34とNビットレジスタ32との間に、置換回路35が設けられている。この置換回路35は、Nビットの変調データDAのうち例えば最下位ビットを置換ビットD1で置換することによって、レジスタ入力データDRinを生成する。これにより非線形化が促進され、レジスタ出力データDRoutの乱数性が更に向上する。
図3で示される変調回路33は、上述の置換ビットD1を生成するために、AND回路36とEXOR回路37を更に有している。AND回路36は、入力データDinとレジスタ出力データDRoutとの論理積を算出し、Nビットの置換データDBを生成する。EXOR回路37は、置換データDBのそれぞれのビットの排他的論理和を算出することによって、置換ビットD1(1ビット)を生成する。置換回路35は、この置換ビットD1を用いることによりレジスタ入力データDRinを生成する。
以上の構成により、擬似乱数生成回路30は、NLFSRと同様の機能を実現することができる。但し、擬似乱数生成回路30から出力されるのは、Nビットの出力データDout(擬似乱数データ)である。
直列に接続された複数段の擬似乱数生成回路30−1〜30−4は、それぞれの入力データDinを用いることによって、Nビットの出力データDoutを別々に生成する。図1で示されたように、擬似乱数生成回路30−1〜30−4のそれぞれから出力される出力データDoutは、擬似乱数データX1〜X4であるとする。それら擬似乱数データX1〜X4の値は互いに異なっている。また、擬似乱数データX1〜X4は、互いに異なる乱数周期と乱数強度を有している。具体的には、ある擬似乱数生成回路30から出力される擬似乱数データの乱数周期は、前段の擬似乱数生成回路30から出力される擬似乱数データの乱数周期の2乗となる。
1−4.擬似乱数制御回路
図4は、本実施の形態に係る擬似乱数制御回路40の構成を示すブロック図である。擬似乱数制御回路40は、擬似乱数生成回路30−1〜30−4のそれぞれから異なる擬似乱数データX1〜X4を受け取る。そして、擬似乱数制御回路40は、受け取った4個の擬似乱数データX1〜X4のうち任意の擬似乱数データの組み合わせを擬似乱数列PRとして出力する。言い換えれば、擬似乱数制御回路40は、受け取った4個の擬似乱数データX1〜X4を可変的に組み合わせ、その組み合わせを擬似乱数列PRとして出力する。より詳細には、図4に示されるように、擬似乱数制御回路40は、出力制御回路41、セレクタ42、AND回路43、及びセレクト信号生成回路44を有している。
セレクタ42は、擬似乱数データX1〜X4及びセレクト信号SELを受け取る。そして、セレクタ42は、セレクト信号SELに応じて4個の擬似乱数データX1〜X4から擬似乱数データを選択し、選択された擬似乱数データの組み合わせを擬似乱数列PRとして出力する。つまり、セレクタ42は、4個の擬似乱数データX1〜X4を可変的に組み合わせ、その組み合わせを擬似乱数列PRとして出力する。本例では、N=16、S=4であるため、擬似乱数列PRのビット数は、16、32、48、あるいは64であり得る。すなわち、擬似乱数列PRのビット数は、Nビット単位で最大N×Sビットである。また、擬似乱数列PRのビット数は、16、32、48、64のいずれか1つ(例えば64ビット)に固定されてもよい。
このように、セレクト信号SELは、擬似乱数データX1〜X4の組み合わせを決定するために用いられる。擬似乱数制御回路40の内部でこのセレクト信号SELを生成するのが、セレクト信号生成回路44である。本実施の形態によれば、このセレクト信号生成回路44も、擬似乱数データX1〜X4を受け取る。そして、セレクト信号生成回路44は、受け取った4個の擬似乱数データX1〜X4に基づいてセレクト信号SELを生成する。
より詳細には、セレクト信号生成回路44は、擬似乱数データX1〜X4のそれぞれを受け取る4個のEXOR回路45−1〜45−4とフリップフロップ46を含んでいる。各々のEXOR回路45は、受け取ったNビットの擬似乱数データのそれぞれのビットの排他的論理和を出力する。4個のEXOR回路45−1〜45−4のそれぞれの出力から構成される4ビットの信号は、フリップフロップ46のデータ入力端子に入力される。フリップフロップ46は、上述の第1クロック信号CLKに基づいて動作し、データ入力端子に入力された4ビットの信号をセレクト信号SELとして出力する。つまり、セレクト信号SELは、4個のEXOR回路45−1〜45−4のそれぞれの出力から構成される4ビットの信号である。
このようにして生成された4ビットのセレクト信号SELが、セレクタ42に出力される。この場合、セレクタ42における擬似乱数データX1〜X4の組み合わせパターンは、最大16パターンである。例えば、組み合わせパターンとして、「X1」、「X2」、「X3」、「X4」、「X1,X2」、「X1,X3」、「X1,X4」、「X2,X3」、「X2,X4」、「X3,X4」、「X1,X2,X3」、「X1,X2,X4」、「X1,X3,X4」、「X2,X3,X4」、及び「X1,X2,X3,X4」が考えられる。これらのうちいくつかの組み合わせパターンだけを用いることもできる。
出力制御回路41は、制御信号CONに基づいてイネーブル信号ENを生成する。制御信号CONは、上述の第1クロック信号CLK1と同期している。イネーブル信号ENは、擬似乱数制御回路40の出力を制御するための信号である。AND回路43には、このイネーブル信号ENと、セレクタ42からの擬似乱数列PRが入力される。イネーブル信号ENがHighレベルの場合、AND回路43は擬似乱数列PRを出力する。一方、イネーブル信号ENがLowレベルの場合、AND回路43は擬似乱数列PRを出力しない。
1−5.効果
以上に説明されたように、本実施の形態によれば、複数段の擬似乱数生成回路30−1〜30−4によってそれぞれ異なる擬似乱数データX1〜X4が生成され、擬似乱数制御回路40によってそれら擬似乱数データX1〜X4がランダムに組み合わされる。その結果、ロジック規模を増大させることなく、生成される擬似乱数列PRのビット数を増加させることが可能となる。つまり、乱数性能を低下させることなく、回路規模を縮小することが可能となる。本実施の形態に係る擬似乱数生成装置1が規模の小さいマイコン等に搭載される場合であっても、余計な制限を加える必要はない。
また、擬似乱数データX1〜X4の組み合わせを決定するセレクト信号SELは、擬似乱数データX1〜X4そのものに基づいて生成される。よって、セレクト信号SELそのものの乱数性も高くなる。更に、セレクト信号SELは、外部制御を受けることなく、擬似乱数制御回路40の内部において自動的に生成される。従って、セレクト信号SELの生成論理が推定される危険性が減少する。結果として、セレクタ42によって生成される擬似乱数列PRの乱数性と安全性が向上する。
更に、本実施の形態によれば、データ生成回路20が、複数のクロック信号(CLK1,CLK2)のそれぞれのカウント値に基づいて、乱数データDrndを自動的に生成する。生成された乱数データDrndは、初段の擬似乱数生成回路30−1に対する入力データDinとなる。また、ある擬似乱数生成回路30−iによって生成される出力データDout(擬似乱数データ)が、次段の擬似乱数生成回路30−(i+1)に対する入力データDinとなる。各々の擬似乱数生成回路30は、その入力データDinを用いることによって、Nビットレジスタ32から出力されるレジスタ出力データDRoutを変調し、変調結果をNビットレジスタ32にフィードバックする。これにより、乱数性の高い擬似乱数データDoutが生成される。また、この変調により非線形化が実現され、乱数性が向上する。
また、乱数データDrndは、外部制御に依存することなく、自動的に生成されることに留意されたい。外部制御に依存しないので、乱数データDrndの秘匿性が向上する。また、擬似乱数生成回路30における処理も外部制御には一切依存していない。もし、擬似乱数の生成に外部制御が加えられると、その外部制御の内容が擬似乱数のヒントとなり、例えば暗号解読を容易にしてしまう。本実施の形態によれば、擬似乱数の生成には外部制御は一切加えられない。従って、生成される擬似乱数から、その生成論理を推測することが困難になる。すなわち、生成される擬似乱数の強度が向上する。
また、乱数データDrandの生成に用いられるクロック信号(CLK1,CLK3,CLK4)をリングオシレータによって生成することは、次の観点から好ましい。電源投入直後、リングオシレータの発振状態は不安定である、すなわち、そのリングオシレータによって生成されるクロック信号の周波数は不規則である。従って、クロック信号のカウント値に基づいて生成される乱数データDrndは、電源投入毎に異なることになる。電源投入直後に生成される乱数データDrndは、擬似乱数生成回路30における初期値の設定に利用される。よって、その初期値も電源投入毎に異なることになり、初期値の乱数性が向上する。結果として、擬似乱数生成回路30によって生成される擬似乱数データDoutの乱数性も高まる。
2.第2の実施の形態
図5は、本発明の第2の実施の形態に係る擬似乱数生成装置1の構成を示すブロック図である。第1の実施の形態と同じ構成には同一の符号が付され、重複する説明は適宜省略される。第1の実施の形態と比較して、第2の実施の形態は、擬似乱数生成回路30間の接続が異なっている。
具体的には、ある擬似乱数生成回路30−iの出力端子OUTは、EXOR回路50を介して、次段の擬似乱数生成回路30−(i+1)の入力端子INに接続される(i=1,2,3)。EXOR回路50は、データ生成回路20によって生成される乱数データDrndと前段の擬似乱数生成回路30から出力される出力データDout(擬似乱数データ)との排他的論理和を出力する。そして、そのEXOR回路50からの出力データが、次段の擬似乱数生成回路30の入力端子INに入力される。すなわち、乱数データDrndと擬似乱数生成回路30−iからの出力データDoutとの排他的論理和が、次段の擬似乱数生成回路30−(i+1)に対するNビットの入力データDinとして利用される。結果として、生成される擬似乱数データの乱数性が更に向上する。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
図1は、本発明の第1の実施の形態に係る擬似乱数生成装置の構成を示すブロック図である。 図2は、本実施の形態に係るクロック生成回路及びデータ生成回路の構成を示すブロック図である。 図3は、本実施の形態に係る擬似乱数生成回路の構成を示すブロック図である。 図4は、本実施の形態に係る擬似乱数制御回路の構成を示すブロック図である。 図5は、本発明の第2の実施の形態に係る擬似乱数生成装置の構成を示すブロック図である。
符号の説明
1 擬似乱数生成装置
10 クロック生成回路
11〜13 発振回路
20 データ生成回路
21 第1Nビットカウンタ
22 第2Nビットカウンタ
23、24 EXOR回路
30 擬似乱数生成回路
31 フリップフロップ
32 Nビットレジスタ
33 変調回路
34 EXOR回路
35 置換回路
40 擬似乱数制御回路
41 出力制御回路
42 セレクタ
43 AND回路
44 セレクト信号生成回路
45 EXOR回路
46 フリップフロップ
50 EXOR回路
IN 入力端子
OUT 出力端子
Drnd 乱数データ
Din 入力データ
Dout 出力データ
PR 擬似乱数列
SEL セレクト信号

Claims (11)

  1. 直列に接続されたS段(Sは2以上の整数)の擬似乱数生成回路と、
    前記S段の擬似乱数生成回路に接続された制御回路と
    を具備し、
    前記S段の擬似乱数生成回路の各々は、Nビット(Nは2以上の整数)の擬似乱数データを生成し、
    前記制御回路は、前記S段の擬似乱数生成回路のそれぞれから前記擬似乱数データを受け取り、前記受け取ったS個の擬似乱数データのうち任意の擬似乱数データの組み合わせを擬似乱数列として出力し、
    前記制御回路は、
    前記S個の擬似乱数データに基づいてセレクト信号を生成するセレクト信号生成回路と、
    前記セレクト信号に応じて前記S個の擬似乱数データから擬似乱数データを選択し、前記選択された擬似乱数データの組み合わせを前記擬似乱数列として出力するセレクタと
    を備える
    擬似乱数生成装置。
  2. 請求項に記載の擬似乱数生成装置であって、
    前記セレクト信号生成回路は、前記S個の擬似乱数データのそれぞれを受け取るS個のEXOR回路を備え、
    前記S個のEXOR回路の各々は、前記受け取った擬似乱数データのNビットの排他的論理和を出力し、
    前記セレクト信号は、前記S個のEXOR回路のそれぞれからの出力から構成されるSビットの信号である
    擬似乱数生成装置。
  3. 請求項1又は2に記載の擬似乱数生成装置であって、
    前記S段のうち初段の擬似乱数生成回路に接続されたデータ生成回路を更に具備し、
    前記S段の擬似乱数生成回路の各々は、
    Nビットの入力データが入力される入力端子と、
    Nビットレジスタと、
    前記Nビットレジスタの出力から入力へのフィードバック経路に設けられ、前記入力データを用いて前記Nビットレジスタからの出力データを変調することによって、前記Nビットレジスタに入力されるレジスタ入力データを生成する変調回路と、
    前記NビットレジスタからのNビットの出力データが前記擬似乱数データとして出力される出力端子と
    を備え、
    前記データ生成回路は、複数のクロック信号のそれぞれのカウント値に基づいてNビットの乱数データを生成し、前記乱数データを前記初段の擬似乱数生成回路に対する前記入力データとして出力する
    擬似乱数生成装置。
  4. 請求項に記載の擬似乱数生成装置であって、
    前記データ生成回路は、
    第1クロック信号をカウントする第1のNビットカウンタと、
    第2クロック信号をカウントする第2のNビットカウンタと、
    前記第1のNビットカウンタによる第1カウント値と前記第2のNビットカウンタによる第2カウント値との排他的論理和を前記乱数データとして生成する第1EXOR回路と
    を有する
    擬似乱数生成装置。
  5. 請求項に記載の擬似乱数生成装置であって、
    前記第1クロック信号と前記第2クロック信号とは、非同期であり、異なる周波数を有する
    擬似乱数生成装置。
  6. 請求項4又は5に記載の擬似乱数生成装置であって、
    前記データ生成回路は、更に、第3クロック信号と第4クロック信号との排他的論理和を前記第2クロック信号として出力する第2EXOR回路を有する
    擬似乱数生成装置。
  7. 請求項3乃至6のいずれか一項に記載の擬似乱数生成装置であって、
    前記変調回路は、前記Nビットレジスタの出力データと前記入力データとの排他的論理和を出力する第3EXOR回路を有し、
    前記レジスタ入力データは、前記第3EXOR回路の出力データから生成される
    擬似乱数生成装置。
  8. 請求項に記載の擬似乱数生成装置であって、
    前記変調回路は、前記第3EXOR回路の出力データのうち1ビットを置換ビットで置換することによって前記レジスタ入力データを生成する置換回路を更に有する
    擬似乱数生成装置。
  9. 請求項に記載の擬似乱数生成装置であって、
    前記変調回路は、
    前記Nビットレジスタの出力データと前記入力データとの論理積を算出することによって置換データを生成するAND回路と、
    前記置換データのそれぞれのビットの排他的論理和を前記置換ビットとして生成する第4EXOR回路と
    を更に有する
    擬似乱数生成装置。
  10. 請求項3乃至9のいずれか一項に記載の擬似乱数生成装置であって、
    前記S段の擬似乱数生成回路において、ある擬似乱数生成回路の前記出力端子は、次段の擬似乱数生成回路の前記入力端子に直接接続された
    擬似乱数生成装置。
  11. 請求項3乃至9のいずれか一項に記載の擬似乱数生成装置であって、
    前記S段の擬似乱数生成回路において、ある擬似乱数生成回路の前記出力端子は、第5EXOR回路を介して、次段の擬似乱数生成回路の前記入力端子に接続され、
    前記第5EXOR回路は、前記乱数データと前記ある擬似乱数生成回路からの出力データとの排他的論理和を、前記次段の擬似乱数生成回路の前記入力端子に出力する
    擬似乱数生成装置。
JP2008158851A 2008-06-18 2008-06-18 擬似乱数生成装置 Expired - Fee Related JP5171420B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008158851A JP5171420B2 (ja) 2008-06-18 2008-06-18 擬似乱数生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008158851A JP5171420B2 (ja) 2008-06-18 2008-06-18 擬似乱数生成装置

Publications (2)

Publication Number Publication Date
JP2010002959A JP2010002959A (ja) 2010-01-07
JP5171420B2 true JP5171420B2 (ja) 2013-03-27

Family

ID=41584670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008158851A Expired - Fee Related JP5171420B2 (ja) 2008-06-18 2008-06-18 擬似乱数生成装置

Country Status (1)

Country Link
JP (1) JP5171420B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2704354B1 (en) * 2011-04-27 2021-04-07 Kabushiki Kaisha Toshiba Re-encryption key generator, re-encryption apparatus, and program
JP5670849B2 (ja) * 2011-09-19 2015-02-18 Necエンジニアリング株式会社 擬似乱数生成装置、および、擬似乱数生成方法
JP6058245B2 (ja) * 2015-01-15 2017-01-11 三菱電機株式会社 乱数拡大装置、乱数拡大方法及び乱数拡大プログラム
JP6542171B2 (ja) 2016-09-15 2019-07-10 東芝メモリ株式会社 ランダマイザおよび半導体記憶装置
JP7276047B2 (ja) * 2019-09-26 2023-05-18 富士通株式会社 乱数発生装置および乱数発生方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3606418B2 (ja) * 1997-03-04 2005-01-05 松下電器産業株式会社 乱数生成装置
JP3022439B2 (ja) * 1997-09-24 2000-03-21 日本電気株式会社 擬似乱数発生方法および装置
JP2003008593A (ja) * 2001-06-21 2003-01-10 Sharp Corp 擬似乱数発生器、通信装置、ネットワークシステムおよび擬似乱数発生方法
JP3807390B2 (ja) * 2003-07-16 2006-08-09 富士通株式会社 乱数発生装置

Also Published As

Publication number Publication date
JP2010002959A (ja) 2010-01-07

Similar Documents

Publication Publication Date Title
JP2937919B2 (ja) 疑似乱数発生回路
JP3732188B2 (ja) 擬似乱数発生回路
JP3022439B2 (ja) 擬似乱数発生方法および装置
US7142675B2 (en) Sequence generator and method of generating a pseudo random sequence
JP3696209B2 (ja) シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
WO2002037260A1 (fr) Generateur de nombres aleatoires
KR20100127789A (ko) 디지털 제어 오실레이터를 기반으로한 디지털 난수 생성기
KR20140110142A (ko) 난수 발생기
US20050097153A1 (en) Pseudorandom number generator
KR100377172B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러
JP5171420B2 (ja) 擬似乱数生成装置
WO2012016588A1 (en) Bit sequence generator
US20090204656A1 (en) Pseudo random number generator and method for generating a pseudo random number bit sequence
CN107797788B (zh) 一种随机数发生装置、真随机数发生器及系统级芯片
US9619206B2 (en) Pseudo-random bit sequence generator
JP5119417B2 (ja) 擬似乱数生成装置
JP4417389B2 (ja) デジタルロジックを利用した乱数発生装置及び方法
US11561769B2 (en) Random number generator including a plurality of ring oscillators
JP3626105B2 (ja) 疑似ランダム信号発生回路
US9116764B2 (en) Balanced pseudo-random binary sequence generator
KR20060049298A (ko) 일련 번호 생성 장치, 그 방법 및 컴퓨터 판독가능 저장매체
US7502814B2 (en) Device and method for generating a pseudorandom sequence of numbers
JP2005107995A (ja) 乱数生成回路、半導体集積回路、icカード及び情報端末機器
JP2006509286A (ja) 真正乱数の発生システムおよび発生方法
JP2010245753A (ja) 暗号演算回路装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121022

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121225

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees