JP2009053906A - 乱数発生装置 - Google Patents

乱数発生装置 Download PDF

Info

Publication number
JP2009053906A
JP2009053906A JP2007219548A JP2007219548A JP2009053906A JP 2009053906 A JP2009053906 A JP 2009053906A JP 2007219548 A JP2007219548 A JP 2007219548A JP 2007219548 A JP2007219548 A JP 2007219548A JP 2009053906 A JP2009053906 A JP 2009053906A
Authority
JP
Japan
Prior art keywords
random number
storage element
input
metastable state
data output
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.)
Withdrawn
Application number
JP2007219548A
Other languages
English (en)
Inventor
Masaki Wakabayashi
正樹 若林
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2007219548A priority Critical patent/JP2009053906A/ja
Publication of JP2009053906A publication Critical patent/JP2009053906A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】予測不可能性および再現不可能性を向上させることが可能な乱数発生装置を提供する。
【解決手段】本発明によれば、記憶素子と、前記記憶素子に対して準安定状態を生成する準安定状態生成部と、前記記憶素子のデータ出力を値として累積し、累積した前記データ出力値を乱数として出力する出力値累積部と、を備える乱数発生装置が提供される。本発明に係る乱数発生装置は、準安定状態にある記憶素子からのデータ出力を値として累積し、この累積値を用いて乱数を生成するため、生成した乱数の予測不可能性および再現不可能性を向上させることが可能である。
【選択図】図1

Description

本発明は、乱数発生装置に関する。
暗号やデジタル署名などといった現代の情報セキュリティ技術は、情報の機密性や正真性を確保するために、他者から不可視な値として乱数を利用する。乱数には疑似乱数と真性乱数があるが、真性乱数は予測不可能かつ再現不可能という性質を持つことから情報セキュリティ技術分野において有用であり、近年その需要が高まっている。また、上述の用途の他にも、乱数は、科学技術計算におけるシミュレーションやゲームなど、広範な分野に利用される。
真性乱数を得る手段として、放射線や熱雑音といった自然現象の乱雑さを利用する方法や、キーボードやマウスといった入力装置を通じて得られるコンピュータ操作者の振る舞いの乱雑さを利用する方法などがある。しかしながら、これらの方法は、真性乱数を得るためにデジタル回路よりも比較的大きな装置を必要とする。また、これらの方法は、場合によっては外乱に弱く、外界から乱数を操作される可能性がある。
通常のデジタル回路上で発生し得る乱雑さを備えた現象に、ラッチやフリップフロップなどの記憶素子の準安定状態がある。これらの記憶素子に対し、入力信号としての仕様に違反した短パルスを与えるなどすると、出力信号が、デジタル信号として安定しない準安定状態になることがある。準安定状態にある出力信号をデジタル信号として参照すると、あるときはL、あるときはHといったように、乱雑さを持つ値が得られる。通常のデジタル回路だけで構成される真性乱数発生装置は、小型で消費電力が小さく、また外乱に強いという利点がある。ただし、準安定状態は一般に発生確率が低く、また短時間で解消してしまうため、効果的に真性乱数へと変換するための何らかの手段が要求される。
準安定状態またはそれに準じた不安定な状態を利用した乱数発生装置または手段として、特許文献1、特許文献2、特許文献3、特許文献4、および特許文献5などがある。
特開2002−366347号公報 特開2003−150372号公報 特表2003−526151号公報 特開2005−18251号公報 特表2005−530270号公報
しかしながら、上記特許文献1〜5に記載の方法は、単一の準安定状態での出力値を乱数へと変換する点に問題がある。準安定状態は単一では充分な乱雑さを備えているとはいい難く、単一の準安定状態での出力値をそのまま乱数として用いると、予測不可能性や再現不可能性が不十分であるなどの不都合がある。
そこで、本発明は、このような問題に鑑みてなされたもので、その目的は、予測不可能性および再現不可能性を向上させることが可能な、新規かつ改良された乱数発生装置を提供することにある。
上記課題を解決するために、本願発明者が鋭意研究を行った結果、以下に示す内容に想到した。すなわち、準安定状態にすることを意図した記憶素子のデータ出力の値を、カウンタなどを用いて累積させ、この動作を任意の期間継続して行わせると、カウンタには期間内に発生したすべての準安定状態の乱雑さが累積される。ある単一の準安定状態が備える値の乱雑さは不足であっても、期間を充分に長くし乱雑さを累積させることで、累積値の乱雑さを事実上最大にできる。この方法を用いることで、良質な真性乱数を得ることができることに想到した。
すなわち、上記課題を解決するために、本発明のある観点によれば、記憶素子と、前記記憶素子に対して準安定状態を生成する準安定状態生成部と、前記記憶素子のデータ出力を値として累積し、累積した前記データ出力値を乱数として出力する出力値累積部と、を備える乱数発生装置が提供される。
かかる構成によれば、準安定状態生成部は、記憶素子に対して準安定状態を生成し、出力値累積部は、準安定状態にある記憶素子からのデータ出力を値として累積し、累積したデータ出力値を乱数として出力する。本発明に係る乱数発生装置は、準安定状態にある記憶素子からのデータ出力を値として累積し、この累積値を用いて乱数を生成するため、生成した乱数の予測不可能性および再現不可能性を向上させることができる。
前記準安定状態生成部は、少なくとも2以上の非同期のクロック入力を用いて短パルスを発生させ、前記短パルスを前記記憶素子のゲート入力へと供給してもよい。
前記準安定状態生成部は、1つのクロック入力と、遅延回路とを組み合わせて用いることで短パルスを発生させ、前記短いパルスを前記記憶素子のゲート入力へと供給してもよい。
前記記憶素子は、ラッチであってもよく、フリップフロップであってもよい。
前記乱数発生装置は、当該乱数発生装置の動作または非動作を制御する制御部を更に備えてもよい。
前記出力値累積部は、フリップフロップによるカウンタであり、前記出力値累積部は、任意の期間前記記憶素子からのデータ出力を値として記憶してもよい。
前記乱数発生装置は、準安定状態にある前記記憶素子のデータ出力を安定させるデータ出力安定化部として、1または直列接続された複数のフリップフロップを更に備え、前記データ出力安定化部は、前記出力値累積部と同一のクロックで動作し、前記記憶素子のデータ出力を入力として受け取り、安定したデータ出力を前記出力値累積部のデータ入力へと供給することでデータを安定させてもよい。
上記課題を解決するために、本発明の別の観点によれば、記憶素子と、前記記憶素子を準安定状態にさせる準安定状態生成部と、前記記憶素子のデータ出力を値として累積し、累積した前記データ出力値を乱数として出力する出力値累積部と、を備える乱数発生装置を複数備え、任意のビット数の真性乱数を生成する乱数発生装置が提供される。
本発明によれば、準安定状態にある記憶素子からのデータ出力を値として累積し、この累積値を用いて乱数を生成するため、生成した乱数の予測不可能性および再現不可能性を向上させることが可能である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
(第1の実施形態)
以下に、図1〜図4を参照しながら、本発明の第1の実施形態に係る乱数発生装置10について、詳細に説明する。図1は、本実施形態に係る乱数発生装置10を説明するための回路図であり、図2は、本実施形態における記憶素子の準安定状態を説明するための説明図であり、図3は、本実施形態に係る乱数発生装置10のタイミングチャートの一例である。また、図4は、本実施形態に係る準安定状態生成部の変形例を説明するための回路図である。
本実施形態に係る乱数発生装置10は、例えば、記憶素子101と、準安定状態生成部103と、累積値取得部131と、を主に備え、1ビットの真性乱数を発生させることが可能である。
記憶素子の一例であるラッチ101は、準安定状態にすることを意図した記憶素子である。記憶素子であるラッチ101のデータ出力は、後述する同期化回路部121に入力される。また、ラッチ101からのデータ出力の値Q1は、NOT素子115を経てラッチ101のデータ入力へとフィードバックされているため、ラッチ101は、ゲート入力の値にしたがって自状態を反転させる動作を繰り返し行う。
ここで、記憶素子であるラッチ101に対して、入力信号としての仕様に違反した短パルス等を入力するなどすると、ラッチ101からの出力信号がデジタル信号として安定しない準安定状態になることが知られている。この準安定状態について、図2を参照しながら詳細に説明する。
図2は、ラッチのゲート入力(G)に対して、セットアップ時間およびホールド時間の仕様を満たさない短パルスが入力され、準安定状態が発生した状況を説明するためのタイミングチャートの一例である。
図2に示したように、ラッチのゲート入力(G)に対して、計3回の短パルス1が入力された結果、ラッチのデータ出力(Q)には、High出力とLow出力とが激しく入れ替わるような計2回の準安定状態3が発生している。
ラッチ101に対して上記のような準安定状態を発生させるために、本実施形態に係る乱数発生装置10では、第1入力クロック(図1におけるCLK1)109、第2入力クロック(図1におけるCLK2)111および入力制御信号(図1におけるCTRL)113を、準安定状態生成部である論理回路部113へと入力することにより、上述の入力信号としての仕様に違反した短パルスを生成する。
本実施形態に係る準安定状態生成部である論理回路部103は、XOR素子105と、AND素子107とから構成され、本実施形態に係る記憶素子であるラッチ101を準安定状態にさせるための短パルスを生成する。
XOR素子105には、第1入力クロック(CLK1)109と第2入力クロック(CLK2)111とが入力され、これらのクロック信号の排他的論理和がXOR素子105から出力される。XOR素子105から出力された出力データおよび入力制御信号(CTRL)113は、AND素子107に入力され、これら2種類の信号の論理積がAND素子107から出力される。
ここで、AND素子107に入力される入力制御信号(CTRL)113がHighのとき、ラッチ101のゲート入力(G)には、2つの入力クロックの排他的論理和が入力される。この際、第1入力クロック(CLK1)109および第2入力クロック(CLK2)111の間に自明な同期関係がなければ、ラッチ101のゲート入力(G)には周期的に短パルスが入力され、結果としてラッチ101が準安定状態になることが促される。
図3に示したタイミングチャート上のゲート入力波形(G)は、計5回の短パルス1が入力されていることを表しており、その結果、ラッチ101のデータ出力波形Q1は、計3回準安定状態3になっている。ここで、論理回路103に入力される第1入力クロック(CLK1)109および第2入力クロック(CLK2)111の周波数が高いほど短パルス入力が頻繁に行われ、準安定状態の発生確率が高まるため、効果的である。
また、AND素子107に入力される入力制御信号(CTRL)113がLowのときは、ラッチ101のゲート入力(G)には常にLowが入力されるため、ラッチ101は状態変化しない。そのため、乱数発生を行わせないときは、入力制御信号(CTRL)113をLowにしておくことで、乱数発生装置10全体での電力消費を抑制することが可能である。
なお、図3においては、説明の簡略化のため、短パルスをゲート入力に与えることによってのみ準安定状態が高い確率で発生するものとして波形を記載した。実際の回路では、準安定状態の発生はデータ入力にも影響を受けることがあり、また、準安定状態の発生確率は、一般にもっと低い。
データ出力安定化部として機能する同期化回路121は、記憶素子であるラッチ101からのデータ出力を安定化して、後述する出力値累積部131へと出力する。この同期化回路121は、例えば、1つまたは直列接続された複数のフリップフロップで構成される。なお、図1に示した例では、同期化回路121は、1つのフリップフロップ123を備える。
ラッチ101が準安定状態にあるとき、ラッチ101から出力されたデータの値Q1(図3に示したタイミングチャートにおけるQ1)は、デジタル信号として不安定である。そこで、フリップフロップ123により第3入力クロック(CLK3)125に同期した安定した値(図3に示したタイミングチャートにおけるQ2)に変換され、AND素子127に入力される。AND素子127には、同期化回路121のデータ出力と、入力制御信号(CTRL)とが入力されるが、入力制御信号(CTRL)がHighのとき、出力値累積部131には、同期化回路121のデータ出力Q2が入力されることとなる。
なお、図1においては、同期化回路121を単一のフリップフロップ123にて実現しているが、動作周波数によっては、複数個の直列接続されたフリップフロップを用いた方がよい場合がある。また、出力値累積部131が準安定状態になる可能性を許容するのであれば、同期化回路121はなくてもよい。
出力値累積部131は、ラッチ101のデータ出力の値を累積するための1ビットのカウンタである。この出力値累積部131は、図1に示したように、XOR素子133と、フリップフロップ135とから構成される。XOR素子133には、同期化回路121のフリップフロップ123のデータ出力Q2が入力されるとともに、フリップフロップ135からのデータ出力の値Q3がフィードバックされているため、フリップフロップ135のデータ入力(D)には、データ出力Q2とデータ出力Q3との排他的論理和が入力される。
フリップフロップ135の動作クロックは、第3入力クロック(CLK3)125であり、カウンタの出力も、第3入力クロック(CLK3)125に同期して得られる。そのため、第3入力クロック(CLK3)125の周期にてサンプリングされたデータ出力Q1の値がHになるたびに、フリップフロップ135の状態は反転する。フリップフロップ135に累積された値がデータとして出力され(Q3)、乱数として利用される。
ここで、初期状態でのフリップフロップ135の状態をLowとし、ある任意の期間、入力制御信号(CTRL)113をHighにし、期間終了後に入力制御信号(CTRL)113をLowにすると、フリップフロップ135の状態は、第3入力クロック(CLK3)125の周期にてサンプリングされたデータ出力Q1の値(図1におけるQ2に該当)が累積された値となる。その累積値は、期間内にデータ出力Q1の値がHighであった回数が偶数であればLowとなり、奇数であればHighとなる。
この際、動作期間を充分長くすれば、フリップフロップ135の状態は事実上再現不可能になる。このとき、データ出力Q3から得られる値は、再現不可能性を備えた良質の真性乱数である。
ここで、得られる乱数の質は、動作期間の長さに依存するが、その関係を回路設計時に正確に予測することは困難である。準安定状態での出力データ線の電気的特性は、配線長や素子配置、温度や周辺回路の電力消費状況などに大きく左右されるためである。しかしながら、実物の乱数発生装置の出力値の乱雑さと動作期間との関係を測定することで、充分な再現不可能性を備えた乱数を得るにはその乱数発生装置ではどの程度の期間が必要なのかを見積もることができる。
なお、上述の実施形態において、準安定状態生成部103は、2種類の入力クロック信号を用いて短パルスを生成する場合について説明したが、本発明に係る準安定状態生成部103は、上記の場合に限定されるわけではなく、1種類の入力クロック信号を用いて短パルスを生成することも可能である。
例えば、図4に示したように、第1入力クロック109から出力される信号を2つに分岐し、一方を遅延回路(DELAY)119に入力し、他方をXOR素子105の一方の入力端子へと接続する。また、遅延回路119からの出力信号を、XOR素子105の他方の入力端子へと接続する。遅延回路119を経由した第1入力クロックと遅延回路119を経由しない第1入力クロックとは、信号変化がXOR素子105へと到達する遅延時間に差異があるため、ラッチ101のゲート入力(G)には周期的に短パルスが入力されることとなる。
また、記憶素子であるラッチ101、同期化回路部121に設けられたフリップフロップ123および出力値累積部131に設けられたフリップフロップ135それぞれのリセット端子には、同一のリセット信号117が入力され、所定のリセット信号117が入力されると、内部状態がクリアされる。
以上、本実施形態に係る乱数発生装置10の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。したがって、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
(第2の実施形態)
続いて、図5および図6を参照しながら、本発明の第2の実施形態に係る乱数発生装置20について、詳細に説明する。図5は、本実施形態に係る乱数発生装置20を説明するための回路図であり、図6は、本実施形態に係る乱数発生装置20のタイミングチャートの一例である。
本実施形態に係る乱数発生装置20は、例えば、複数の乱数発生回路部201と、制御回路部203と、論理回路部205と、を主に備え、nビットの真性乱数を発生させることが可能である。ここで、nは、任意の整数である。nが大きいほど1回で得られる真性乱数のビット幅が広くなるが、回路規模はnに比例して増大する。
乱数発生回路部201は、本発明の第1の実施形態にて示した1ビットの乱数発生装置10とほぼ同一のものである。ただし、第1の実施形態に係る乱数発生装置10に存在した内部のラッチを準安定状態にさせる論理回路部105は、乱数発生回路部201内には存在しない。本実施形態に係る乱数発生回路部201は、本発明の第1の実施形態に係る乱数発生装置10と同様に、記憶素子と、記憶素子のデータ出力を安定化させる同期化回路部と、同期化回路部からのデータ出力を累積する出力値累積部と、を備える。これら記憶素子、同期化回路部および出力値累積部は、本発明の第1の実施形態に係る記憶素子、同期化回路部および出力値累積部と同様の構成を有し、ほぼ同一の効果を奏するため、詳細な説明は省略する。
本実施形態に係る乱数発生装置20では、nビットの真性乱数を得るために、乱数発生回路部201が、乱数発生装置20内にn個並列に配置される。
第3入力クロック215にて駆動される制御回路部203は、本実施形態に係る乱数発生装置20を制御する回路であり、乱数発生装置20内の出力制御信号(READY)の値を操作する。乱数発生装置20が停止しているとき、出力制御信号(READY)はHighである。
入力制御信号(START)207から指示を受けると、本実施形態に係る制御回路部203は、出力制御信号(READY)をLowへと変更し、乱数発生装置20の動作を開始させる。出力制御信号(READY)がLowである間、乱数発生回路部201内の各ラッチは、動作を継続する。待機時間数値(WAITTIME)209のmビット幅の数値で示される待機時間が経過すると、制御回路部203は出力制御信号(READY)をHighへと変更し、動作を停止させる。
この出力制御信号(READY)は、乱数発生装置20の動作の完了を示す出力信号である。入力制御信号(START)へと開始を指示し、出力制御信号(READY)がHighになるまで待機すると、真性乱数を得るためのnビットの出力値(OUT)から、目的の真性乱数が得られる。
また、制御回路部203から出力される出力制御信号(READY)は、図5に示したように2つに分岐され、NOT素子221によって反転された後に、動作と非動作を切り替えるための制御信号として利用される。この動作と非動作を切り替えるための制御信号(CTRL)は、後述する論理回路部205へと入力される。
本実施形態に係る準安定状態生成部である論理回路部205は、本発明の第1の実施形態に係る論理回路部103と同様に、XOR素子と、AND素子とから構成され、本実施形態に係る乱数発生回路部201内の記憶素子を準安定状態にさせるための短パルスを生成する。
論理回路部205のXOR素子には、第1入力クロック(CLK1)211と第2入力クロック(CLK2)213とが入力され、これらのクロック信号の排他的論理和がXOR素子から出力される。XOR素子から出力された出力データ、および、制御回路部203から出力され、NOT素子221を経て生成される制御信号(CTRL)は、AND素子に入力され、これら2種類の信号の論理積がAND素子から出力される(ACT)。
ここで、AND素子に入力される制御信号(CTRL)がHighのとき、乱数発生回路部201内におけるラッチのゲート入力(G)には、2つの入力クロックの排他的論理和が入力される。この際、第1入力クロック(CLK1)211および第2入力クロック(CLK2)213の間に自明な同期関係がなければ、ラッチのゲート入力(G)には周期的に短パルスが入力され、結果としてラッチが準安定状態になることが促される。
すべての乱数発生回路部201には、図6に示したタイミングチャートのACTに示したような波形が等しく入力されるが、乱数発生回路部201内のラッチの準安定状態の発生や収束時間などは不確定であるため、各データ出力の最終値は、各出力データ波形(OUT1〜OUT3)に示したように、確率的に異なった値となる。
なお、厳密には、出力制御信号(READY)へと動作完了を通知するのは、論理回路部205へと動作停止通知する制御信号(CTRL)よりも数サイクル程度遅延させるべきであるが、図面の簡単化のために割愛した。
本発明の第1の実施形態に係る乱数発生装置10と同様に、実物の乱数発生装置の出力値の乱雑さと動作期間との関係を測定することで、充分な再現不可能性を備えた乱数を得るにはその乱数発生装置ではどの程度の期間が必要なのかを見積もることができる。この際、同時に得られるnビットの真性乱数の各ビット同士の相関に留意すべきである。各ビットが個別に見てそれぞれ充分な再現不可能性を備えていても、ビット同士の間に有意な相関が認められるときは、良質な真性乱数とは見なせない可能性がある。
なお、上述の実施形態において、論理回路部205は、2種類の入力クロック信号を用いて短パルスを生成する場合について説明したが、本実施形態に係る論理回路部205は、上記の場合に限定されるわけではなく、例えば図4に示したように、1種類の入力クロック信号を用いて短パルスを生成することも可能である。
また、上述の実施形態においては、n個の乱数発生回路部201に共通の論理回路部205が設けられる場合について説明したが、上述の例に限定されるわけではなく、n個の乱数発生回路部201それぞれに、別個の論理回路部205が設けられてもよい。
また、各乱数発生回路部201内に設けられた記憶素子やフリップフロップのリセット端子には、同一のリセット信号217が入力され、所定のリセット信号217が入力されると、内部状態がクリアされる。
以上、本実施形態に係る乱数発生装置20の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。したがって、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
以上説明したように、本発明によれば、通常のデジタル回路にて構成可能な、小型で消費電力の小さい真性乱数発生装置を実現することができる。
本発明に係る乱数発生装置では、乱数発生装置をデジタル回路にて構成できるため、自然現象などを利用する他の乱数発生装置よりも製造コストや運用コストが低く、また装置を小型化できるという利点がある。従って、本発明に係る乱数発生装置は、特に任意の機器に組み込んで用いる場合に、有効に利用することができる。
本発明にかかる乱数発生装置のようにデジタル回路として構成された乱数発生装置は、外乱に強いという利点がある。例えば、コンピュータ操作者の入力に基づく乱数発生装置は、入力操作を停止すると機能しないという自明な欠点がある。他方、デジタル回路であれば、外部から不正な操作を受けないよう装置を構成することは容易である。
本発明に係る乱数発生装置から得られる真性乱数は、取得に要する時間によって乱数の質を制御可能であるという利点がある。質の高い乱数を取得したいのであれば、取得のために与える時間を長くすればよい。また、質は低下するものの、短時間で乱数を取得することもできる。
与える時間と乱数の質との関係は、回路設計時に予測することはできないが、実物の装置を用いれば容易に測定可能である。充分な時間を与えることで、事実上完全な再現不可能性を備えた真性乱数を得ることができる。
完全な再現不可能性を備えた真性乱数は、一様で統計的な偏りがなく、他のあらゆるものと相関がなく、外部から値を操作することが不可能で、事前に値を予測することが不可能で、後から再現することが不可能である。この性質は、暗号やデジタル署名などといった現代の情報セキュリティ技術が求める良質な乱数に対する要請を完全に満足させる。また、科学技術計算におけるシミュレーションやゲームなど、他の用途にも利用できる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上述した各実施形態においては、第1入力クロック(CLK1)、第2入力クロック(CLK2)および第3入力クロック(CLK3)が互いに非同期である場合について説明したが、第1入力クロック(CLK1)または第2入力クロック(CLK2)と、第3入力クロック(CLK3)とは、同期関係にあってもよい。ただ、得られる乱数の質としては、第1入力クロック(CLK1)、第2入力クロック(CLK2)および第3入力クロック(CLK3)が互いに非同期である場合に得られる乱数の方が、第1入力クロック(CLK1)または第2入力クロック(CLK2)と、第3入力クロック(CLK3)とは、同期関係にある場合の乱数よりも、より良質な乱数となる。
本発明の第1の実施形態に係る乱数発生装置を説明するための回路図である。 同実施形態における記憶素子の準安定状態を説明するための説明図である。 同実施形態に係る乱数発生装置のタイミングチャートの一例である。 同実施形態に係る準安定状態生成部の変形例を説明するための回路図である。 本発明の第2の実施形態に係る乱数発生装置を説明するための回路図である。 同実施形態に係る乱数発生装置のタイミングチャートの一例である。
符号の説明
1 短パルス
3 準安定状態
10,20 乱数発生装置
101 ラッチ
103,203 論理回路部
105 XOR素子
107,127 AND素子
109,211 第1入力クロック
111,213 第2入力クロック
113,207 入力制御信号
115,221 NOT素子
117,217 リセット信号
119 ディレイ回路
121 同期化回路部
123,135 フリップフラップ
125,215 第3入力クロック
131 出力値累積部
201 乱数発生回路部
205 制御回路部
209 待機時間制御信号

Claims (9)

  1. 記憶素子と、
    前記記憶素子に対して準安定状態を生成する準安定状態生成部と、
    前記記憶素子のデータ出力を値として累積し、累積した前記データ出力値を乱数として出力する出力値累積部と、
    を備えることを特徴とする、乱数発生装置。
  2. 前記準安定状態生成部は、
    少なくとも2以上の非同期のクロック入力を用いて短パルスを発生させ、
    前記短パルスを前記記憶素子のゲート入力へと供給する
    ことを特徴とする、請求項1に記載の乱数発生装置。
  3. 前記準安定状態生成部は、
    1つのクロック入力と、遅延回路とを組み合わせて用いることで短パルスを発生させ、
    前記短パルスを前記記憶素子のゲート入力へと供給する
    ことを特徴とする、請求項1に記載の乱数発生装置。
  4. 前記記憶素子は、ラッチである
    ことを特徴とする、請求項1に記載の乱数発生装置。
  5. 前記記憶素子は、フリップフロップである
    ことを特徴とする、請求項1に記載の乱数発生装置。
  6. 前記乱数発生装置は、
    当該乱数発生装置の動作または非動作を制御する制御部を更に備える
    ことを特徴とする、請求項1に記載の乱数発生装置。
  7. 前記出力値累積部は、フリップフロップによるカウンタであり、
    前記出力値累積部は、任意の期間前記記憶素子からのデータ出力を値として記憶する
    ことを特徴とする、請求項1に記載の乱数発生装置。
  8. 前記乱数発生装置は、
    準安定状態にある前記記憶素子のデータ出力を安定させるデータ出力安定化部として、1または直列接続された複数のフリップフロップを更に備え、
    前記データ出力安定化部は、
    前記出力値累積部と同一のクロックで動作し、
    前記記憶素子のデータ出力を入力として受け取り、
    安定したデータ出力を前記出力値累積部のデータ入力へと供給することでデータを安定させる
    ことを特徴とする、請求項7に記載の乱数発生装置。
  9. 記憶素子と、前記記憶素子を準安定状態にさせる準安定状態生成部と、前記記憶素子のデータ出力を値として累積し、累積した前記データ出力値を乱数として出力する出力値累積部と、を備える乱数発生装置を複数備え、
    任意のビット数の真性乱数を生成する
    ことを特徴とする、乱数発生装置。
JP2007219548A 2007-08-27 2007-08-27 乱数発生装置 Withdrawn JP2009053906A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007219548A JP2009053906A (ja) 2007-08-27 2007-08-27 乱数発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007219548A JP2009053906A (ja) 2007-08-27 2007-08-27 乱数発生装置

Publications (1)

Publication Number Publication Date
JP2009053906A true JP2009053906A (ja) 2009-03-12

Family

ID=40504944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007219548A Withdrawn JP2009053906A (ja) 2007-08-27 2007-08-27 乱数発生装置

Country Status (1)

Country Link
JP (1) JP2009053906A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014102768A (ja) * 2012-11-21 2014-06-05 Toshiba Corp 乱数生成回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014102768A (ja) * 2012-11-21 2014-06-05 Toshiba Corp 乱数生成回路
US9547475B2 (en) 2012-11-21 2017-01-17 Kabushiki Kaisha Toshiba Random number generating circuit

Similar Documents

Publication Publication Date Title
EP1686458B1 (en) Oscillator-based random number generator
JP4248950B2 (ja) 乱数発生装置
KR100847213B1 (ko) 난수 생성 방법 및 난수 생성기
US7797361B2 (en) System and method for generating random numbers using parity feedback
US10754620B2 (en) Self-timed random number generator
US7376687B2 (en) Pseudo-random number generator
KR101987141B1 (ko) 난수 발생기
JP2012186809A (ja) 乱数を発生させるための装置および方法
US20130346459A1 (en) Method for generating random numbers
Balasch et al. Design and testing methodologies for true random number generators towards industry certification
US20070140485A1 (en) Method and circuit for generating random numbers, and computer program product therefor
Durga et al. Design and synthesis of LFSR based random number generator
EP1518164B1 (en) Method and apparatus for generating a random number using meta-stable latches
JP6776346B2 (ja) ランダムクロック発生器
US20090327381A1 (en) True random number generator
JP2004537119A (ja) 疑似ランダムシーケンスを用いて乱数発生器を非相関とするための方法および装置
JP5171420B2 (ja) 擬似乱数生成装置
TWI579763B (zh) 具有亂數產生模式的儲存電路
US9582249B2 (en) Method for monitoring the output of a random generator
JP5119417B2 (ja) 擬似乱数生成装置
JP2009053906A (ja) 乱数発生装置
US20150019605A1 (en) Method for assessing an output of a random number generator
Gomez et al. Improved entropy bounds for parity filtered self-timed ring based random number generators
JP6386904B2 (ja) 乱数生成装置及び乱数生成方法
JP2009294873A (ja) 乱数発生装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101102