JP2004310314A - Physical random number generator - Google Patents
Physical random number generator Download PDFInfo
- Publication number
- JP2004310314A JP2004310314A JP2003101085A JP2003101085A JP2004310314A JP 2004310314 A JP2004310314 A JP 2004310314A JP 2003101085 A JP2003101085 A JP 2003101085A JP 2003101085 A JP2003101085 A JP 2003101085A JP 2004310314 A JP2004310314 A JP 2004310314A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- parallel
- physical
- serial
- register
- 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.)
- Pending
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】セキュリティーなどの用途に用いる物理乱数発生装置において、単体での乱数利用効率を高め、複数の物理乱数ICを組み上げて乱数を高速に発生させ、乱数の質を容易に確認できるようにする。
【解決手段】物理乱数発生器1を有する物理乱数発生装置であって、物理乱数発生器1が、基準クロック信号に応じてシリアル乱数を生成するシリアル物理乱数発生器2を備える。シリアル乱数をパラレル乱数に変換するシフトレジスター4を備え、パラレル乱数を保持しうる複数個のレジスター5を備える。パラレル乱数が生成される度にレジスター5に順次パラレル乱数を保持し、かつ、読出しクロック信号に応じてレジスター5からパラレル乱数を読み出して出力するとともに、読み出しの終了したレジスター5に他のレジスター5からパラレル乱数をシフトさせて内容を逐次更新する制御回路6を備える。
【選択図】 図2In a physical random number generation device used for security or the like, a random number use efficiency is improved by itself, a plurality of physical random number ICs are assembled, a random number is generated at a high speed, and the quality of the random number can be easily checked. .
A physical random number generator having a physical random number generator, the physical random number generator including a serial physical random number generator for generating a serial random number in accordance with a reference clock signal. A shift register for converting a serial random number into a parallel random number is provided, and a plurality of registers capable of holding the parallel random number are provided. Each time a parallel random number is generated, the register 5 holds the parallel random number sequentially, reads and outputs the parallel random number from the register 5 in response to the read clock signal, and outputs the read random number to the register 5 from another register 5. A control circuit 6 for shifting the parallel random numbers and sequentially updating the contents is provided.
[Selection] Figure 2
Description
【0001】
【発明の属する技術分野】
本発明は、各種の用途に用いるに好適な物理乱数発生装置に関するものであり、その具体的な用途としては、セキュリティー、暗号、認証、施錠、暗号化通信、スマートカード(例えば、電子マネー、クレジットカード、診察券)、ホームセキュリティー、カーセキュリティー、キーレスエントリー、確率、抽選、ゲーム、アミューズメント(例えば、パチンコ、パチスロ)、シミュレーション(例えば、気象・学術計算・株価におけるモンテカルロ)、グラフィックス(例えば、CG、自動作曲)、制御、計測、FA、ロボット制御(人工知能)などが挙げられる。
【0002】
【従来の技術】
従来この種の物理乱数発生装置としては、半導体内で発生するノイズを用いたものが多く、パソコンに外部から接続して使用するよう構成される規模の大きなものや、ICチップ単体で乱数を発生させるものがあった。また、アミューズメント用には、時間的にランダムであると見なせる信号が発生した時に、備えられた高速カウンターの値を参照し、それを乱数として用いるものがあった。
【0003】
【発明が解決しようとする課題】
一般に物理乱数発生器は高速に乱数を発生することは難しく、時としてその乱数発生速度以上の大量の乱数が必要となる事が起こる。そのため、記憶媒体を設けて乱数を貯めておいたり、複数の物理乱数発生装置を用いで乱数の発生量を増やしたりすることが考えられるが、これを実現するためには複雑な回路を利用者側で組む必要が生じる。
【0004】
また、一般に物理乱数は使用環境によって乱数の質が変化する可能性があり、利用者がこれら物理乱数発生装置の発生した乱数が真正乱数として使用することができるか否かを確認することは有益なことである。しかしながら、乱数の検定を行うには専用の測定装置を構築しなければならず、一般の物理乱数発生装置利用者にとっては、このような余計なコストと手間がかかるような作業は受け入れ難い。また、乱数検定は大量のデータを扱うので、それを貯めておく記憶装置は大容量のものが必要となるとともに、検定のための計算処理にも時間がかかる。
【0005】
本発明は、このような事情に鑑み、物理乱数発生装置単体での乱数利用効率が高く、かつ複数の物理乱数ICを組み上げて乱数を高速に発生させることが容易であり、さらに、乱数の質を容易に確認して使用することが可能な物理乱数発生装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
まず、本発明のうち請求項1に係る発明は、物理乱数発生器を有する物理乱数発生装置であって、前記物理乱数発生器が、基準クロック信号に応じてシリアル乱数を生成するシリアル物理乱数発生器を備え、シリアル乱数をパラレル乱数に変換するシリアル/パラレル変換部を備え、パラレル乱数を保持しうる複数個のレジスターを備え、前記シリアル/パラレル変換部によってパラレル乱数が生成される度に前記レジスターに順次パラレル乱数を保持し、かつ、読出しクロック信号に応じて前記レジスターからパラレル乱数を読み出して出力するとともに、読み出しの終了したレジスターに他のレジスターからパラレル乱数をシフトさせて内容を逐次更新する制御回路を備えて構成される。ここで、読出しクロックは基準クロックとは別に入力されるものである。
【0007】
また、本発明のうち請求項2に係る発明は、前記物理乱数発生器が、複数個のレジスターのうちパラレル乱数を保持すべきレジスターを決めて書き込みアドレスを出力するアップ/ダウンカウンターを備え、前記アップ/ダウンカウンターが出力した書き込みアドレスに基づき、パラレル乱数を保持すべきレジスターを選択してロード信号を出力するセレクターを備え、前記セレクターからのロード信号に基づいて前記シリアル/パラレル変換部内のパラレル乱数を前記レジスターのうち後段のレジスターから前段のレジスターへ順次保持し、かつ、読出しクロック信号に応じて前記レジスターのうち最後段からパラレル乱数を読み出して出力するとともに、このレジスターより前段にある各レジスター内のパラレル乱数を後段へ順次シフトする制御回路を備えて構成される。
【0008】
また、本発明のうち請求項3に係る発明は、前記物理乱数発生器が、前記シリアル物理乱数発生器が生成したシリアル乱数の総数をカウントする総数カウンターを備え、前記総数カウンターがカウントしたシリアル乱数の総数が所定のビット数に達したとき、これらのシリアル乱数に基づいてその一様性を検証する乱数検証回路を備えて構成される。
【0009】
また、本発明のうち請求項4に係る発明は、前記乱数検証回路の乱数検証方法として、乱数値“0”または“1”の出現度数をカウントし、これを規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用して構成される。
【0010】
また、本発明のうち請求項5に係る発明は、前記乱数検証回路の乱数検証方法として、4ビットで一つの乱数値とし、各々の乱数値の出現度数に基づいて算出されたχ二乗値を規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用して構成される。
【0011】
また、本発明のうち請求項6に係る発明は、前記乱数検証回路の乱数検証方法として、連の長さ別にその出現度数をカウントし、これらを規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用して構成される。
【0012】
また、本発明のうち請求項7に係る発明は、前記乱数検証回路の乱数検証方法として、所定ビット数の乱数中に出現した最長の連の長さを規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用して構成される。
【0013】
また、本発明のうち請求項8に係る発明は、チップセレクトと出力イネーブル機能とそれに対応した端子を備え、出力部のバッファー機能を3ステートとして構成される。
【0014】
さらに、本発明のうち請求項9に係る発明は、前記物理乱数発生器を複数個用意し、セレクターのセレクト信号に基づき、前記物理乱数発生器の中から一つを選択して乱数または乱数検証データを出力するようにして構成される。
【0015】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。
図1は本発明に係る物理乱数発生装置の第1の実施形態を示す回路図、
図2は図1に示す物理乱数発生装置の物理乱数発生器の詳細を示す回路図、
図3は図2に示す物理乱数発生器の各部の出力波形を示す波形図、
図4は図2に示す物理乱数発生器の各部の出力波形を示す波形図、
図5は図1に示す物理乱数発生装置の乱数検証回路のMonobitTestに関する部分の回路図、
図6は図1に示す物理乱数発生装置の乱数検証回路のPokerTestに関する部分の回路図、
図7は図1に示す物理乱数発生装置の乱数検証回路のRunsTestに関する部分の回路図、
図8は図1に示す物理乱数発生装置の乱数検証回路のRunsTestに関する部分の回路図、
図9は図1に示す物理乱数発生装置の乱数検証回路のLongRunsTestに関する部分の回路図である。
【0016】
この物理乱数発生装置91は、図1に示すように、物理乱数発生器1、乱数検証回路21、制御回路94、カウンター95、第1セレクター96、第2セレクター97から構成されており、物理乱数発生器1は、図2に示すように、シリアル物理乱数発生器2、カウンター3、シフトレジスター4、複数個(図2ではm個)のレジスター5、制御回路6、アップ/ダウンカウンター7、セレクター8、基準クロック側の2個の遅延回路9および読出しクロック側の2個の遅延回路10から構成されている。
【0017】
他方、乱数検証回路21は、図5から図9までに示すように、乱数検定規格FIPS140−2に準拠した4種類の検定方法(MonobitTest、PokerTest、RunsTestおよびLongRunsTest)に対応する部分から構成されている。すなわち、MonobitTestに関する部分は、図5に示すように、第1カウンター23、第2カウンター24、レジスター25、制御回路26および比較器27から構成されており、PokerTestに関する部分は、図6に示すように、第1カウンター33、シフトレジスター34、デコーダー35、複数個(図6では16個)のカウンター36、制御回路37、セレクター38、掛算器39、加算器40、レジスター41および比較器42から構成されている。また、RunsTestに関する部分はさらに乱数出力が“1”の場合と乱数出力が“0”の場合とに二分され、前者は、図7に示すように、第1カウンター53、比較器54、データ保持器55、第2カウンター56、制御回路57、デコーダー58、6個のカウンター59および6個の比較器60から構成されており、後者は、図8に示すように、物理乱数発生器1のシリアル物理乱数発生器2からデコーダー58への出力線上にインバータが設けられて出力が反転する点を除き、前者と同じ構成を有している。さらに、LongRunsTestに関する部分は、図9に示すように、第1カウンター73、比較器74、データ保持器75、制御回路76、第2カウンター77、第1比較器78、レジスター79および第2比較器80から構成されている。
【0018】
物理乱数発生装置91は以上のような構成を有するので、この物理乱数発生装置91を作動させると、まず物理乱数発生器1で、シリアル乱数が出力されるとともに、パラレル乱数が保持されて必要に応じて出力できる状態となる。
【0019】
すなわち、基準クロック(CLK_0)でシリアル物理乱数発生器2より生成されたシリアル乱数(SRND)をカウンター3のキャリーアウト(CO)に同期して、シフトレジスター4でシリアルからパラレルに変換したnビットの乱数(CRND)をセレクター8で選択されたレジスター5にロードしてパラレル乱数を保持する。
【0020】
このとき、セレクター8はアップ/ダウンカウンター7の出力の書込みアドレス(ADDRESS)で指定されたレジスター5を選択し、カウンター3のキャリーアウト(CO)に同期してパラレル乱数(CRND)をレジスター5にロードし、ロードごとにアップ/ダウンカウンター7をカウントアップし、アップ/ダウンカウンター7の出力の書込みアドレス(ADDRESS)がmになった時点で、アップ/ダウンカウンター7はカウントアップとパラレル乱数のロードを中止し、以降その状態を維持する。
【0021】
パラレル乱数の出力(PRND)は最下位のレジスター5の出力とし、読み出し後に読出しクロック(CLK_R)を入力し、読出しクロックにてアップ/ダウンカウンター7のカウントダウンとすべてのレジスター5内のデータを上位から下位へシフトし、パラレル乱数(PRND)はその都度更新される。アップ/ダウンカウンター7の出力の書込みアドレス(ADDRESS)がゼロになった時点で、アップ/ダウンカウンター7はカウントダウンとデータシフトを中止し、以降その状態を維持する。
【0022】
アップ/ダウンカウンター7の出力の書込みアドレス(ADDRESS)は外部に出力され、すべてのレジスター5に保持されているパラレル乱数の数を逐次モニター可能とする。
【0023】
遅延回路9、10は各クロックのエッジ(例えば、立上りエッジ)を取り出し、非常に短いパルス波形(例えば、10ns)を生成し、アップ/ダウンカウンター7とすべてのレジスター5のクロック信号(CLOCK)、アップ/ダウンカウンター7のENABLE信号、すべてのレジスター5のSHIFT信号とLOAD(0)〜LOAD(m−1)を生成する。これにより、基準クロック(CLK_0)と読出しクロック(CLK_R)が非同期または同期式で動作するときに、基準クロック(CLK_0)のエッジ(例えば、立上りエッジ)に対する読出しクロック(CLK_R)のエッジ(例えば、立上りエッジ)の禁止域(td_Ra+td_0a+2×td_mg)を非常に小さくして基準クロック(CLK_0)と読出しクロック(CLK_R)との干渉を最小限とすることができる。なお、CLK_0bとCLK_Rbがクロック信号(CLOCK)を生成し、CLK_0aとCLK_RaがENABLE信号、SHIFT信号とLOAD(0)〜LOAD(m−1)を生成する。
【0024】
制御回路6はカウンター3のキャリーアウト(CO)の同期信号(SYNC)、CLK_0a、CLK_Ra、アップ/ダウンカウンター7のOVER信号とZERO信号より、アップ/ダウンカウンター7のUP/DOWN信号とENABLE信号、すべてのレジスター5のSHIFT信号とLOAD(0)〜LOAD(m−1)用のLOAD信号を生成する。
【0025】
こうすることにより、基準クロックに同期してシリアル物理乱数発生器2で生成されたシリアル乱数よりn倍の周期で最大m個のnビットのパラレル乱数を保持することができる。それ以降のシリアル乱数は読み出し操作(CLK_Rの入力)をするまでは保持されない。こうして保持された最大m個のパラレル乱数は読出しクロックで必要なときに必要な量(最大m個)を短時間に集中して読み出すことができ、読み出された量のパラレル乱数は逐次補充される。基準クロック(CLK_0)のエッジに対する読出しクロックのエッジの禁止域が非常に狭く、非同期または同期式でタイミングよく、かつ効率的に読み出すことができる。書込みアドレスを読み出すことで、その時点で保持されたパラレル乱数の量を確認することが可能となり、乱数を効率的に活用することができる。
【0026】
ところで、こうしてシリアル物理乱数発生器2で生成されたシリアル乱数は、乱数検定規格FIPS140−2に準拠した4種類の検定方法(MonobitTest、PokerTest、RunsTestおよびLongRunsTest)でその一様性が検証される。
【0027】
まず、MonobitTestによる検証が行われる。すなわち、図5に示すように、第1カウンター23はスタート信号(START)と基準クロック(CLK_0)より制御回路26を介して生成された信号START_Cでカウントを開始し、20,000カウント時に信号OUT_Cを出力する。第2カウンター24は制御回路26の出力信号CLR_C2でスタート信号(START)が入った時点に初期化を行い、シリアル乱数(SRND)の“1”または“0”をカウントする。レジスター25は制御回路26の出力信号LOAD_Rでスタート信号(START)が入った時点より20,000クロック時の第2カウンター24のカウント値をロードして保持し、MonobitData(MOND)を出力する。比較器27はレジスター25の出力MonobitData(MOND)と上限比較データ(例えば、10,275bit)および下限比較データ(例えば、9,725bit)とを比較し、MonobitJudge(MONJ)信号を出力する。これにより、基準クロックに同期して生成されたシリアル乱数について、スタート信号から20,000クロック後にMonobitDataとMonobitJudgeを検証することができる。
【0028】
次に、PokerTestによる検証が行われる。すなわち、図6に示すように、第1カウンター33はスタート信号(START)と基準クロック(CLK_0)より制御回路37を介して生成された信号START_Cでカウントを開始し、20,000カウント時に信号OUT_Cを出力する。シフトレジスター34はシリアル乱数(SRND)を基準クロック(CLK_0)にて逐次4ビットのパラレル乱数(PRND_4B)に変換する。デコーダー35は、スタート信号(START)と基準クロック(CLK_0)より制御回路37を介して生成されたENABLE信号がアクティブのとき(4クロックごとに1回)にパラレル乱数(PRND_4B)で指定された出力部(SE_0〜SE_15)に出力される。カウンター36は制御回路37の出力信号CLR_CRでスタート信号(START)が入った時点に初期化を行い、ENABLE信号がアクティブのとき(4クロックごとに1回)にパラレル乱数(PRND_4B)のデータにてデコーダー35で指定されたカウンター36をカウントアップする。すべてのカウンター36の総計は5,000カウントとなり、基準クロックに同期して生成されたシリアル乱数について、スタート信号から20,000クロック後にその間の4ビットごとのパラレル乱数(PRND_4B)のデータ(0〜15)の度数分布データ(PokerData0〜PokerData15)を取得する。レジスター41は、制御回路37の出力信号CLR_CRでスタート信号(START)が入った時点に初期化(POKD=0)を行い、度数分布データ(PokerData0〜PokerData15)を取得した後、セレクター38、掛算器39、加算器40を介して度数分布データ(PokerData0〜PokerData15)の16個の二乗和を求めることでPokerData(POKD)を取得する。比較器42はレジスター41の出力PokerData(POKD)と上限比較データ(例えば、1,576,928)および下限比較データ(例えば、1,563,175)とを比較し、PokerJudge(POKJ)信号を出力する。これにより、基準クロックに同期して生成されたシリアル乱数について、スタート信号から20,000+16クロック後にPokerDataとPokerJudgeを検証することができる。
【0029】
次いで、RunsTestによる検証が行われる。すなわち、図7および図8に示すように、第1カウンター53はスタート信号(START)と基準クロック(CLK_0)より制御回路57を介して生成された信号START_Cでカウントを開始し、20,000カウント時に信号OUT_Cを出力する。データ保持器55はシリアル乱数(SRND)を基準クロック(CLK_0)にて逐次1ビット保持し、比較器54はシリアル乱数(SRND)とデータ保持器55で保持された乱数を比較し、1クロック前の乱数と今回の乱数が変化したときに信号CHANGEを出力する。第2カウンター56は、信号CHANGEが出力されてから次の出力がされるまでのクロックをカウントし、信号RUNS_Dを出力する。信号RUNS_Dと同一信号の長さ(L)の関係はL=RUNS_D+1となる。第2カウンター56は、制御回路57の出力信号CLR_CCでスタート信号(START)が入ったときと信号CHANGEが出力されたときに初期化(RUNS_D=0)を行う。デコーダー58は、スタート信号(START)、基準クロック(CLK_0)、第1カウンター53の出力(OUT_C)と比較器54の出力(CHANGE)より制御回路57を介して生成されたENABLE信号がアクティブ(CHANGEがアクティブ)のときで、図7ではシリアル乱数(SRND)が“1”のとき、図8ではシリアル乱数(SRND)が“0”のとき、第2カウンター56の出力(RUNS_D)で選択された出力(SE_1〜SE_6+)をアクティブにする。なお、L=1→SE_1、L=2→SE_2、…、L=6+→SE_6+となる。すべてのカウンター59は、制御回路57の出力信号CLR_Cでスタート信号(START)が入った時点に初期化を行い、デコーダー58の出力(SE_1〜SE_6+)で指定されたカウンター59をカウントアップし、1〜6+の同一信号の長さ(L)の出現回数(図7ではRunsData1H〜RunsData6+H、図8ではRunsData1L〜RunsData6+L)を取得する。各比較器60は各カウンター59の出力(図7ではRunsData1H〜RunsData6+H、図8ではRunsData1L〜RunsData6+L)とそれぞれの上限比較データ(例えば、2,685、1,386、723、384、209、209)および下限比較データ(例えば、2,315、1,114、527、240、103、103)とを比較し、判定信号(図7ではRunsJudge1H〜RunsJudge6+H、図8ではRunsJudge1L〜RunsJudge6+L)を出力する。これにより、基準クロックに同期して生成されたシリアル乱数について、スタート信号から20,000クロック後にRunsTestのデータと判定を検証することができる。
【0030】
最後に、LongRunsTestによる検証が行われる。すなわち、図9に示すように、第1カウンター73はスタート信号(START)と基準クロック(CLK_0)より制御回路57を介して生成された信号START_Cでカウントを開始し、20,000カウント時に信号OUT_Cを出力する。データ保持器75はシリアル乱数(SRND)を基準クロック(CLK_0)にて逐次1ビット保持し、比較器74はシリアル乱数(SRND)とデータ保持器75で保持された乱数を比較し、1クロック前の乱数と今回の乱数が変化したときに信号CHANGEを出力する。第2カウンター77は、信号CHANGEが出力されてから次の出力がされるまでのクロックをカウントし、信号LRUNS_Dを出力する。第2カウンター77は、制御回路76の出力信号CLR_CCでスタート信号(START)が入ったときと信号CHANGEが出力されたときに初期化(LRUNS_D=0)を行う。レジスター79は、制御回路76の出力信号CLR_Rでスタート信号(START)が入ったときに初期化(LRUNS_D=0)を行う。レジスター79の出力信号LongRunsData(LRND)と第2カウンター77の出力信号(LRUNS_D)を第1比較器78で比較し、LRND<LRUNS_Dのときに第1比較器78は出力信号COMP_Uを出力し、制御回路76を介してレジスター79にLOAD_R信号を出力して、レジスター79に逐次LRUNS_Dの最大値を保持する。第2比較器80は上限比較データ(例えば、26)と比較し、判定信号LongRunsJudge(LRNJ)を出力する。信号LRUNS_D、LRNDと同一信号の長さ(L)の関係はL=LRUNS_D+1、L(max)=LRND+1=LRUNS_D(max)+1となる。これにより、基準クロックに同期して生成されたシリアル乱数について、スタート信号から20,000クロック後にLongRunsTestのデータと判定を検証することができる。
【0031】
そして、こうして4種類の検定方法で検証された一様性乱数の検証データは、図1に示すように、第2セレクター97に保持され、使用者の要望に応じて出力される。選択信号(A0、A1)と動作テーブルを表1に示す。
【表1】
【0032】
すなわち、物理乱数発生器1は、選択信号(A1)の状態(“0”または“1”)により、読出しクロック(CLK_R)でのパラレル乱数の更新(アップ/ダウンカウンター7のカウントダウン)または非更新とする。出力のパラレル乱数(PRND)は第2セレクター97のDATA_0に接続される。出力(COND_R)には書込みアドレス(ADDRESS)などの物理乱数生成時およびパラレル乱数変換時に生成される各種データやフラグを出力し、第2セレクター97のDATA_1に接続される。
【0033】
乱数検証回路21は、選択信号(A0、A1)が2(ADDRE_S)のときに制御回路94を介して読出しクロック(CLK_R)信号で検証を開始し、MonobitTest、PokerTest、RunsTestおよびLongRunsTestを基準クロック(CLK_0)で20,000+16サイクルで完了し、判定結果、判定データ、PokerTestの生データを出力して第1セレクター96に接続される。その詳細を表2に示す。
【表2】
【0034】
なお、総合判定はすべての判定結果が合格のときに出力される。出力(COND_T)には、乱数検証時に生成される各種データやフラグを出力し、第2セレクター97のDATA_2にカウンター出力のモニターアドレス(SEL_ADD)とともに接続される。また、検証のスタート信号にてパラレル乱数生成用のカウンター3、シフトレジスター4、アップ/ダウンカウンター7とすべてのレジスター5は初期化され、検証された物理乱数を保持して検証後の物理乱数を使用することができる。
【0035】
カウンター95は第1セレクター96のモニターアドレス(SEL_ADD)を生成する。カウンター95は、制御回路94の出力信号(CLR_C)で選択信号(A0、A1)が2(ADDRE_S)のときに読出しクロック(CLK_R)信号で検証を開始し、この開始時に初期化を行い、制御回路94の出力信号(CLK_C)で選択信号(A0、A1)が3(ADDRE_S)のときに読出しクロック(CLK_R)信号でカウンター95のカウントアップ(更新)を行う。
【0036】
これにより、基準クロックに同期して生成されたシリアル乱数(SRND)と逐次補充されるパラレル乱数(PRND)の生成および一様性の検証を逐次行うことができる。
【0037】
こうすることにより、物理乱数発生器1の検証およびデータの確認が容易となり、検証後の乱数を活用することができる。選択信号(A0、A1)と第2セレクター97を用いることで入出力端子を大幅に減らすことができる。選択信号(A0、A1)、読出しクロック(CLK_R)、カウンター95と第2セレクター97で、参照できる有効な検証データを拡大することができる。
【0038】
なお、図10に示すように、物理乱数発生器1にチップセレクト(CS)と出力イネーブル(OE)の入力を付加し、パラレル乱数[PRND(0)〜PRND(n−1)]の出力形態を3ステート(“0”、“1”、off)にすることもできる。
【0039】
また、図11および図12に示すように、複数個(図11ではp個)の物理乱数発生器1とセレクター12とで高速(図11ではp倍)の乱数生成スピードを獲得することも可能である。ここで、基準クロック(CLK_0)のエッジ(例えば、立上りエッジ)に対する読出しクロック(CLK_R)のエッジ(例えば、立上りエッジ)の禁止域(td_Ra+td_0a+2×td_mg)を非常に狭く考慮することのみで非同期または同期式の高速乱数発生を容易に実現することができる。
【0040】
このように、チップセレクト(CS)と出力イネーブル(OE)を有することで、物理乱数発生器1を複数個接続することが容易となり、乱数生成の高速化が可能となる。また、チップセレクト(CS)と出力イネーブル(OE)を有することで、CPUを使用したシステムに物理乱数発生器1を容易に接続することができる。
【0041】
なお、上述の実施形態では、基準クロック(CLK_0)のエッジに対する読出しクロック(CLK_R)のエッジの禁止域(td_Ra+td_0a+2×td_mg)を非常に小さくして基準クロック(CLK_0)と読出しクロック(CLK_R)との干渉を最小限とするため、基準クロック側および読出しクロック側にそれぞれ2個の遅延回路9、10を設けた場合について説明したが、基準クロック側と読出しクロック側のいずれか一方にだけ遅延回路9、10を設けてもよく、遅延回路9、10の個数も1個以上であれば何個でも構わない。或いはまた、遅延回路9、10に代えて波形成形回路(例えば、単安定マルチバイブレータ)を付加しても、同じ効果を得ることができる。
【0042】
(付記1)物理乱数発生器を有する物理乱数発生装置であって、前記物理乱数発生器が、基準クロック信号に応じてシリアル乱数を生成するシリアル物理乱数発生器を備え、シリアル乱数をパラレル乱数に変換するシリアル/パラレル変換部を備え、パラレル乱数を保持しうる複数個のレジスターを備え、前記シリアル/パラレル変換部によってパラレル乱数が生成される度に前記レジスターに順次パラレル乱数を保持し、かつ、読出しクロック信号に応じて前記レジスターからパラレル乱数を読み出して出力するとともに、読み出しの終了したレジスターに他のレジスターからパラレル乱数をシフトさせて内容を逐次更新する制御回路を備えたことを特徴とする物理乱数発生装置。
【0043】
(付記2)前記物理乱数発生器が、複数個のレジスターのうちパラレル乱数を保持すべきレジスターを決めて書き込みアドレスを出力するアップ/ダウンカウンターを備え、前記アップ/ダウンカウンターが出力した書き込みアドレスに基づき、パラレル乱数を保持すべきレジスターを選択してロード信号を出力するセレクターを備え、前記セレクターからのロード信号に基づいて前記シリアル/パラレル変換部内のパラレル乱数を前記レジスターのうち後段のレジスターから前段のレジスターへ順次保持し、かつ、読出しクロック信号に応じて前記レジスターのうち最後段からパラレル乱数を読み出して出力するとともに、このレジスターより前段にある各レジスター内のパラレル乱数を後段へ順次シフトする制御回路を備えたことを特徴とする請求項1に記載の物理乱数発生装置。
【0044】
(付記3)前記物理乱数発生器が、前記シリアル物理乱数発生器が生成したシリアル乱数の総数をカウントする総数カウンターを備え、前記総数カウンターがカウントしたシリアル乱数の総数が所定のビット数に達したとき、これらのシリアル乱数に基づいてその一様性を検証する乱数検証回路を備えたことを特徴とする請求項1または請求項2に記載の物理乱数発生装置。
【0045】
(付記4)付記1〜3に記載の物理乱数発生装置において、乱数生成用の基準クロックと読出しクロックのいずれか一方または双方に遅延回路または波形成形回路を付加してクロックのエッジを抽出して基準クロックのエッジに対する読出しクロックのエッジの禁止域を最小にするようにしたことを特徴とする物理乱数発生装置。
【0046】
(付記5)前記乱数検証回路の乱数検証方法として、乱数値“0”または“1”の出現度数をカウントし、これを規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用したことを特徴とする請求項3に記載の物理乱数発生装置。
【0047】
(付記6)前記乱数検証回路の乱数検証方法として、4ビットで一つの乱数値とし、各々の乱数値の出現度数に基づいて算出されたχ二乗値を規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用したことを特徴とする請求項3に記載の物理乱数発生装置。
【0048】
(付記7)前記乱数検証回路の乱数検証方法として、連の長さ別にその出現度数をカウントし、これらを規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用したことを特徴とする請求項3に記載の物理乱数発生装置。
【0049】
(付記8)前記乱数検証回路の乱数検証方法として、所定ビット数の乱数中に出現した最長の連の長さを規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用したことを特徴とする請求項3に記載の物理乱数発生装置。
【0050】
(付記9)チップセレクトと出力イネーブル機能とそれに対応した端子を備え、出力部のバッファー機能を3ステートとしたことを特徴とする請求項1から請求項7までのいずれかに記載の物理乱数発生装置。
【0051】
(付記10)付記9に記載の物理乱数発生装置において、第1セレクター、カウンターを有して選択信号(A0=“0”、A1=“1”)の時には乱数検証状態とモニターアドレスを出力し、選択信号(A0=“1”、A1=“1”)の時には乱数の判定結果と検証データを出力し、読出しクロックでモニターアドレスの更新を行なうようにしたことを特徴とする物理乱数発生装置。
【0052】
(付記11)付記10に記載の物理乱数発生装置において、一様性乱数のPokerTestの度数分布データを出力するようにしたことを特徴とする物理乱数発生装置。
【0053】
(付記12)付記9〜11に記載の物理乱数発生装置において、読出しクロックにて一様性乱数検証のスタート時にパラレル乱数の保持に関連した回路(カウンター、シフトレジスター、アップ/ダウンカウンター、レジスター)の初期化を行い、すべての保持されたパラレル乱数が一様性乱数の検証済みの乱数を出力するようにしたことを特徴とする物理乱数発生装置。
【0054】
(付記13)前記物理乱数発生器を複数個用意し、セレクターのセレクト信号に基づき、前記物理乱数発生器の中から一つを選択して乱数または乱数検証データを出力することを特徴とする請求項1から請求項8までのいずれかに記載の物理乱数発生装置。
【0055】
【発明の効果】
以上説明したように、本発明のうち請求項1〜7に係る発明によれば、生成された物理乱数を効率よく利用することができるとともに、その乱数の一様性を容易に検定して使用することができ、かつ、簡単な回路構成によりこれらを実現することが可能となる。
【0056】
また、本発明のうち請求項8、9に係る発明によれば、複数個の物理乱数発生ICを用いて高速に乱数を発生させることが容易となり、かつ、Data Busに直接接続できるようになるため、物理乱数発生装置の使いやすさが格段に向上する。
【図面の簡単な説明】
【図1】本発明に係る物理乱数発生装置の第1の実施形態を示す回路図である。
【図2】図1に示す物理乱数発生装置の物理乱数発生器の詳細を示す回路図である。
【図3】図2に示す物理乱数発生器の各部の出力波形を示す波形図である。
【図4】図2に示す物理乱数発生器の各部の出力波形を示す波形図である。
【図5】図1に示す物理乱数発生装置の乱数検証回路のMonobitTestに関する部分の回路図である。
【図6】図1に示す物理乱数発生装置の乱数検証回路のPokerTestに関する部分の回路図である。
【図7】図1に示す物理乱数発生装置の乱数検証回路のRunsTestに関する部分の回路図である。
【図8】図1に示す物理乱数発生装置の乱数検証回路のRunsTestに関する部分の回路図である。
【図9】図1に示す物理乱数発生装置の乱数検証回路のLongRunsTestに関する部分の回路図である。
【図10】本発明に係る物理乱数発生装置の第2の実施形態を示す回路図である。
【図11】本発明に係る物理乱数発生装置の第3の実施形態を示す回路図である。
【図12】図11に示す物理乱数発生装置の各部の出力波形を示す波形図である。
【符号の説明】
1……物理乱数発生器
2……シリアル物理乱数発生器
4……シリアル/パラレル変換部(シフトレジスター)
5……レジスター
6……制御回路
7……アップ/ダウンカウンター
8、12……セレクター
23、33、53、73……総数カウンター(第1カウンター)
26、37、57、76……乱数検証回路(制御回路)
91……物理乱数発生装置[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a physical random number generator suitable for use in various applications, and specific applications include security, encryption, authentication, locking, encrypted communication, and smart cards (for example, electronic money, credit Cards, consultation tickets), home security, car security, keyless entry, probability, lottery, games, amusement (eg, pachinko, pachislot), simulation (eg, Monte Carlo in weather, academic calculations, stock prices), graphics (eg, CG, Automatic composition), control, measurement, FA, robot control (artificial intelligence), and the like.
[0002]
[Prior art]
Conventionally, as this kind of physical random number generator, many devices that use noise generated in semiconductors are used, and large-scale devices configured to be used by connecting to a personal computer from outside, or random numbers generated by an IC chip alone There was something to make. In addition, for amusement, when a signal that can be regarded as being random in time is generated, a value of a provided high-speed counter is referred to and used as a random number.
[0003]
[Problems to be solved by the invention]
In general, it is difficult for a physical random number generator to generate random numbers at high speed, and sometimes a large number of random numbers exceeding the random number generation speed are required. Therefore, it is conceivable to provide a storage medium to store random numbers, or to increase the amount of generated random numbers by using a plurality of physical random number generators. It is necessary to assemble on the side.
[0004]
In general, the quality of physical random numbers may vary depending on the usage environment, and it is useful for the user to confirm whether the random numbers generated by these physical random number generators can be used as true random numbers. That is what. However, a dedicated measuring device must be constructed in order to perform a random number test, and a general user of a physical random number generating device cannot accept such extra costly and time-consuming work. Further, since the random number test deals with a large amount of data, a large-capacity storage device for storing the data is required, and the calculation process for the test also takes time.
[0005]
In view of such circumstances, the present invention has a high random number use efficiency in a physical random number generator alone, and can easily generate a random number at high speed by assembling a plurality of physical random number ICs. It is an object of the present invention to provide a physical random number generation device that can easily confirm and use the same.
[0006]
[Means for Solving the Problems]
First, an invention according to
[0007]
In the invention according to
[0008]
The invention according to
[0009]
According to a fourth aspect of the present invention, as the random number verifying method of the random number verifying circuit, a random number value is counted by counting the number of occurrences of “0” or “1” and compared with a specified value. Is configured by employing a random number verification method for verifying the uniformity of.
[0010]
In the invention according to
[0011]
According to a sixth aspect of the present invention, as the random number verifying method of the random number verifying circuit, the number of occurrences is counted for each run length, and these are compared with a specified value to thereby obtain uniformity of the random numbers. Is configured by employing a random number verification method for verifying
[0012]
According to a seventh aspect of the present invention, as the random number verifying method of the random number verifying circuit, the length of the longest run appearing in the random number having a predetermined number of bits is compared with a prescribed value to thereby determine the random number. It is configured using a random number verification method that verifies the uniformity.
[0013]
The invention according to
[0014]
Furthermore, the invention according to claim 9 of the present invention provides a method for verifying a random number or a random number by preparing a plurality of the physical random number generators and selecting one from the physical random number generators based on a select signal of a selector. It is configured to output data.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a circuit diagram showing a first embodiment of a physical random number generator according to the present invention,
FIG. 2 is a circuit diagram showing details of a physical random number generator of the physical random number generator shown in FIG.
FIG. 3 is a waveform diagram showing output waveforms of various parts of the physical random number generator shown in FIG.
FIG. 4 is a waveform diagram showing the output waveform of each part of the physical random number generator shown in FIG.
FIG. 5 is a circuit diagram of a part related to MonobitTest of the random number verification circuit of the physical random number generation device shown in FIG. 1,
FIG. 6 is a circuit diagram of a portion related to PokerTest of the random number verification circuit of the physical random number generation device shown in FIG. 1,
FIG. 7 is a circuit diagram of a part related to RunsTest of the random number verification circuit of the physical random number generation device shown in FIG. 1,
FIG. 8 is a circuit diagram of a part related to RunsTest of the random number verification circuit of the physical random number generation device shown in FIG. 1,
FIG. 9 is a circuit diagram of a part related to LongRunsTest of the random number verification circuit of the physical random number generator shown in FIG.
[0016]
As shown in FIG. 1, the physical
[0017]
On the other hand, as shown in FIGS. 5 to 9, the random
[0018]
Since the physical
[0019]
That is, the serial random number (SRND) generated from the serial physical
[0020]
At this time, the
[0021]
The output of the parallel random number (PRND) is the output of the
[0022]
The write address (ADDRESS) of the output of the up / down
[0023]
The
[0024]
The
[0025]
By doing so, it is possible to hold up to m n-bit parallel random numbers at a cycle n times longer than the serial random number generated by the serial physical
[0026]
By the way, the uniformity of the serial random number generated by the serial physical
[0027]
First, verification by MonobitTest is performed. That is, as shown in FIG. 5, the
[0028]
Next, verification by PokerTest is performed. That is, as shown in FIG. 6, the
[0029]
Next, verification by RunsTest is performed. That is, as shown in FIGS. 7 and 8, the
[0030]
Finally, verification by LongRunsTest is performed. That is, as shown in FIG. 9, the
[0031]
Then, the uniformity random number verification data verified by the four types of test methods is held in the
[Table 1]
[0032]
That is, the physical
[0033]
When the selection signal (A0, A1) is 2 (ADDRE_S), the random
[Table 2]
[0034]
The comprehensive judgment is output when all judgment results are passed. The output (COND_T) outputs various data and flags generated at the time of random number verification, and is connected to DATA_2 of the
[0035]
The
[0036]
This makes it possible to sequentially generate the serial random number (SRND) generated in synchronization with the reference clock and the parallel random number (PRND) that is sequentially supplemented and verify the uniformity.
[0037]
This facilitates the verification of the physical
[0038]
As shown in FIG. 10, an input of chip select (CS) and output enable (OE) is added to the physical
[0039]
Further, as shown in FIGS. 11 and 12, a plurality of (p in FIG. 11) physical
[0040]
As described above, by having the chip select (CS) and the output enable (OE), it is easy to connect a plurality of physical
[0041]
In the above-described embodiment, the forbidden area (td_Ra + td_0a + 2 × td_mg) of the edge of the read clock (CLK_R) with respect to the edge of the reference clock (CLK_0) is made very small, and the reference clock (CLK_0) and the read clock (CLK_R) In order to minimize interference, a case has been described where two
[0042]
(Supplementary Note 1) A physical random number generator having a physical random number generator, wherein the physical random number generator includes a serial physical random number generator that generates a serial random number according to a reference clock signal, and converts the serial random number into a parallel random number. A serial / parallel converter for converting, and a plurality of registers capable of holding a parallel random number; a serial random number is sequentially held in the register each time a parallel random number is generated by the serial / parallel converter; A physical circuit, comprising: a control circuit for reading and outputting a parallel random number from the register in response to a read clock signal, and for sequentially updating the contents by shifting the parallel random number from another register to the read-out register. Random number generator.
[0043]
(Supplementary Note 2) The physical random number generator includes an up / down counter that determines a register to hold a parallel random number among a plurality of registers and outputs a write address, and a write address output by the up / down counter. And a selector for selecting a register to hold a parallel random number and outputting a load signal based on the load signal from the selector. And sequentially reads and outputs the parallel random number from the last stage of the register according to the read clock signal, and sequentially shifts the parallel random number in each register preceding the register to the subsequent stage. Characterized by having a circuit Physical random number generator according to
[0044]
(Supplementary Note 3) The physical random number generator includes a total number counter that counts the total number of serial random numbers generated by the serial physical random number generator, and the total number of serial random numbers counted by the total counter reaches a predetermined number of bits. 3. The physical random number generator according to
[0045]
(Supplementary Note 4) In the physical random number generator according to
[0046]
(Supplementary Note 5) As a random number verification method of the random number verification circuit, a random number verification method for counting the number of occurrences of a random number value “0” or “1” and comparing this with a specified value to verify the uniformity of the random number 4. The physical random number generator according to
[0047]
(Supplementary Note 6) As a random number verification method of the random number verification circuit, one random number value is formed by four bits, and a χ square value calculated based on the frequency of appearance of each random number value is compared with a specified value to determine a random number. 4. The physical random number generator according to
[0048]
(Supplementary Note 7) As a random number verification method of the random number verification circuit, a random number verification method of verifying the uniformity of random numbers by counting the number of occurrences for each run length and comparing these with a specified value is adopted. The physical random number generator according to
[0049]
(Supplementary Note 8) As the random number verification method of the random number verification circuit, a random number verification method that verifies the uniformity of the random number by comparing the length of the longest run appearing in the random number of a predetermined number of bits with a specified value is adopted. 4. The physical random number generator according to
[0050]
(Supplementary note 9) The physical random number generator according to any one of
[0051]
(Supplementary note 10) The physical random number generator according to supplementary note 9, further comprising a first selector and a counter, and outputs a random number verification state and a monitor address when a selection signal (A0 = "0", A1 = "1"). A random number determination result and verification data are output when a selection signal (A0 = “1”, A1 = “1”), and a monitor address is updated with a read clock. .
[0052]
(Supplementary note 11) The physical random number generation device according to
[0053]
(Supplementary Note 12) In the physical random number generator according to Supplementary Notes 9 to 11, a circuit (a counter, a shift register, an up / down counter, and a register) related to holding a parallel random number at the start of uniform random number verification with a read clock. A physical random number generator, wherein all the held parallel random numbers are output as verified random numbers of uniform random numbers.
[0054]
(Supplementary Note 13) A plurality of the physical random number generators are prepared, and one of the physical random number generators is selected based on a select signal of a selector to output a random number or random number verification data. 9. The physical random number generator according to
[0055]
【The invention's effect】
As described above, according to the first to seventh aspects of the present invention, the generated physical random numbers can be efficiently used, and the uniformity of the random numbers can be easily tested and used. These can be realized with a simple circuit configuration.
[0056]
According to the eighth and ninth aspects of the present invention, it is easy to generate a random number at high speed using a plurality of physical random number generating ICs, and it is possible to directly connect to a Data Bus. Therefore, the usability of the physical random number generation device is significantly improved.
[Brief description of the drawings]
FIG. 1 is a circuit diagram showing a first embodiment of a physical random number generation device according to the present invention.
FIG. 2 is a circuit diagram showing details of a physical random number generator of the physical random number generator shown in FIG.
FIG. 3 is a waveform chart showing output waveforms of respective units of the physical random number generator shown in FIG.
FIG. 4 is a waveform chart showing output waveforms of respective units of the physical random number generator shown in FIG.
5 is a circuit diagram of a part related to MonobitTest of a random number verification circuit of the physical random number generation device shown in FIG.
FIG. 6 is a circuit diagram of a portion related to PokerTest of a random number verification circuit of the physical random number generation device shown in FIG. 1;
7 is a circuit diagram of a part related to RunsTest of a random number verification circuit of the physical random number generation device shown in FIG.
8 is a circuit diagram of a part related to RunsTest of the random number verification circuit of the physical random number generation device shown in FIG.
9 is a circuit diagram of a part related to LongRunsTest of a random number verification circuit of the physical random number generation device shown in FIG. 1;
FIG. 10 is a circuit diagram showing a second embodiment of the physical random number generator according to the present invention.
FIG. 11 is a circuit diagram showing a third embodiment of the physical random number generator according to the present invention.
FIG. 12 is a waveform chart showing output waveforms of respective units of the physical random number generator shown in FIG.
[Explanation of symbols]
1 ... Physical random number generator
2 Serial serial random number generator
4. Serial / parallel converter (shift register)
5. Register
6 Control circuit
7. Up / down counter
8,12 ... selector
23, 33, 53, 73 ... total counter (first counter)
26, 37, 57, 76 ... random number verification circuit (control circuit)
91 Physical random number generator
Claims (9)
前記物理乱数発生器が、
基準クロック信号に応じてシリアル乱数を生成するシリアル物理乱数発生器を備え、
シリアル乱数をパラレル乱数に変換するシリアル/パラレル変換部を備え、
パラレル乱数を保持しうる複数個のレジスターを備え、
前記シリアル/パラレル変換部によってパラレル乱数が生成される度に前記レジスターに順次パラレル乱数を保持し、かつ、読出しクロック信号に応じて前記レジスターからパラレル乱数を読み出して出力するとともに、読み出しの終了したレジスターに他のレジスターからパラレル乱数をシフトさせて内容を逐次更新する制御回路を備えたことを特徴とする物理乱数発生装置。A physical random number generator having a physical random number generator,
The physical random number generator,
A serial physical random number generator that generates a serial random number in accordance with the reference clock signal,
A serial / parallel converter for converting serial random numbers to parallel random numbers,
Equipped with multiple registers that can hold parallel random numbers,
Each time the parallel / random number is generated by the serial / parallel conversion unit, the register holds the parallel random number sequentially, and reads and outputs the parallel random number from the register in response to a read clock signal. And a control circuit for shifting a parallel random number from another register to sequentially update the content.
複数個のレジスターのうちパラレル乱数を保持すべきレジスターを決めて書き込みアドレスを出力するアップ/ダウンカウンターを備え、
前記アップ/ダウンカウンターが出力した書き込みアドレスに基づき、パラレル乱数を保持すべきレジスターを選択してロード信号を出力するセレクターを備え、
前記セレクターからのロード信号に基づいて前記シリアル/パラレル変換部内のパラレル乱数を前記レジスターのうち後段のレジスターから前段のレジスターへ順次保持し、かつ、読出しクロック信号に応じて前記レジスターのうち最後段からパラレル乱数を読み出して出力するとともに、このレジスターより前段にある各レジスター内のパラレル乱数を後段へ順次シフトする制御回路を備えたことを特徴とする請求項1に記載の物理乱数発生装置。The physical random number generator,
An up / down counter that determines a register to hold a parallel random number among a plurality of registers and outputs a write address,
A selector for selecting a register to hold a parallel random number and outputting a load signal based on a write address output by the up / down counter;
Based on the load signal from the selector, the parallel random number in the serial / parallel conversion unit is sequentially held from the register at the subsequent stage to the register at the previous stage, and from the last stage of the register according to the read clock signal. 2. The physical random number generator according to claim 1, further comprising a control circuit for reading and outputting the parallel random number and sequentially shifting the parallel random number in each register at a stage preceding the register to a subsequent stage.
前記シリアル物理乱数発生器が生成したシリアル乱数の総数をカウントする総数カウンターを備え、
前記総数カウンターがカウントしたシリアル乱数の総数が所定のビット数に達したとき、これらのシリアル乱数に基づいてその一様性を検証する乱数検証回路を備えたことを特徴とする請求項1または請求項2に記載の物理乱数発生装置。The physical random number generator,
A total counter for counting the total number of serial random numbers generated by the serial physical random number generator,
2. The device according to claim 1, further comprising a random number verification circuit for verifying, based on the serial random numbers, the uniformity of the serial random numbers when the total number of the serial random numbers counted by the total counter reaches a predetermined number of bits. Item 3. The physical random number generator according to Item 2.
乱数値“0”または“1”の出現度数をカウントし、これを規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用したことを特徴とする請求項3に記載の物理乱数発生装置。As a random number verification method of the random number verification circuit,
4. The random number verification method according to claim 3, wherein a random number verification method of counting the number of occurrences of the random number value "0" or "1" and comparing this with a prescribed value to verify the uniformity of the random number is adopted. Physical random number generator.
4ビットで一つの乱数値とし、各々の乱数値の出現度数に基づいて算出されたχ二乗値を規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用したことを特徴とする請求項3に記載の物理乱数発生装置。As a random number verification method of the random number verification circuit,
A random number verification method that verifies the uniformity of random numbers by comparing a と し square value calculated based on the appearance frequency of each random number value with a specified value by using one random number value with 4 bits. The physical random number generator according to claim 3, wherein
連の長さ別にその出現度数をカウントし、これらを規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用したことを特徴とする請求項3に記載の物理乱数発生装置。As a random number verification method of the random number verification circuit,
4. The physical random number generation device according to claim 3, wherein a random number verification method for counting the number of appearances for each run length and comparing them with a prescribed value to verify the uniformity of the random numbers is adopted. .
所定ビット数の乱数中に出現した最長の連の長さを規定値と比較することによって乱数の一様性を検証する乱数検証方法を採用したことを特徴とする請求項3に記載の物理乱数発生装置。As a random number verification method of the random number verification circuit,
4. The physical random number according to claim 3, wherein a random number verification method for verifying uniformity of the random number by comparing the length of the longest run appearing in the random number with a predetermined number of bits with a prescribed value is adopted. Generator.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003101085A JP2004310314A (en) | 2003-04-04 | 2003-04-04 | Physical random number generator |
| PCT/JP2003/012213 WO2004031941A1 (en) | 2002-09-30 | 2003-09-25 | Method of uniforming physical random number and physical number generation device |
| US10/528,910 US7461111B2 (en) | 2002-09-30 | 2003-09-25 | Method of uniforming physical random number and physical number generation device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003101085A JP2004310314A (en) | 2003-04-04 | 2003-04-04 | Physical random number generator |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004310314A true JP2004310314A (en) | 2004-11-04 |
Family
ID=33464995
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003101085A Pending JP2004310314A (en) | 2002-09-30 | 2003-04-04 | Physical random number generator |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004310314A (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008165500A (en) * | 2006-12-28 | 2008-07-17 | Fdk Corp | Physical random number generator, physical random number generator, and random number verification method |
| JP2008197847A (en) * | 2007-02-09 | 2008-08-28 | Toshiba Corp | Random number inspection device and inspection method thereof |
| US7917560B2 (en) | 2005-12-13 | 2011-03-29 | Kabushiki Kaisha Toshiba | Random number test circuit |
| JP2019082676A (en) * | 2017-09-25 | 2019-05-30 | ザ・ボーイング・カンパニーThe Boeing Company | Systems and methods for facilitating truly random bit generation |
| JP2022097258A (en) * | 2020-12-18 | 2022-06-30 | 日本電波工業株式会社 | Code generating circuit |
-
2003
- 2003-04-04 JP JP2003101085A patent/JP2004310314A/en active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7917560B2 (en) | 2005-12-13 | 2011-03-29 | Kabushiki Kaisha Toshiba | Random number test circuit |
| JP2008165500A (en) * | 2006-12-28 | 2008-07-17 | Fdk Corp | Physical random number generator, physical random number generator, and random number verification method |
| JP2008197847A (en) * | 2007-02-09 | 2008-08-28 | Toshiba Corp | Random number inspection device and inspection method thereof |
| JP2019082676A (en) * | 2017-09-25 | 2019-05-30 | ザ・ボーイング・カンパニーThe Boeing Company | Systems and methods for facilitating truly random bit generation |
| JP7324572B2 (en) | 2017-09-25 | 2023-08-10 | ザ・ボーイング・カンパニー | Systems and methods for facilitating true random bit generation |
| JP2022097258A (en) * | 2020-12-18 | 2022-06-30 | 日本電波工業株式会社 | Code generating circuit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5631913A (en) | Test circuit and test method of integrated semiconductor device | |
| KR101405690B1 (en) | Robust memory link testing using memory controller | |
| KR101392609B1 (en) | Apparatus and method for establishing device identifiers for serially interconnected devices | |
| JPS58108475A (en) | Method and device for indexing test vector | |
| WO1998007162A1 (en) | Memory testing apparatus | |
| US20050204220A1 (en) | Random number test circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device | |
| JPH0480350B2 (en) | ||
| US7461111B2 (en) | Method of uniforming physical random number and physical number generation device | |
| JP2004310314A (en) | Physical random number generator | |
| CN100480950C (en) | Apparatus and method for controlling asynchronous clock domains to perform synchronous operations | |
| US6898722B2 (en) | Parallel data transfer method and system of DDR divided data with associated transfer clock signal over three signal lines | |
| US5911062A (en) | Data acquisition method and protocol controller circuit | |
| CN115938455B (en) | Memory testing method, device and apparatus | |
| GB2290203A (en) | Communication circuit for performing data transfer | |
| CN112003603B (en) | Message expansion circuit, method, chip, household appliance and storage medium | |
| CN103729314B (en) | The management method of memory access instruction and management system | |
| KR101543332B1 (en) | Burst address generator and test apparatus having the same | |
| US20030225558A1 (en) | Logic simulation method for information handling system incorporated with memory macro | |
| JP4520103B2 (en) | Scan test pattern input method and semiconductor integrated circuit | |
| CN117806812B (en) | A random whitening enhanced PUF extraction system based on information sequence | |
| Drane | Open-Source Design of a Cryptographic ASIC | |
| JP2008171504A (en) | Memory test equipment | |
| JPH03158775A (en) | Ic testing device | |
| JP4290255B2 (en) | Semiconductor test equipment | |
| JP2008152870A (en) | Memory test equipment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060202 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080916 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090203 |