JP2000298577A - 乱数生成装置 - Google Patents

乱数生成装置

Info

Publication number
JP2000298577A
JP2000298577A JP11104743A JP10474399A JP2000298577A JP 2000298577 A JP2000298577 A JP 2000298577A JP 11104743 A JP11104743 A JP 11104743A JP 10474399 A JP10474399 A JP 10474399A JP 2000298577 A JP2000298577 A JP 2000298577A
Authority
JP
Japan
Prior art keywords
random number
trigger signal
inversion
data
inverted
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
JP11104743A
Other languages
English (en)
Other versions
JP3680091B2 (ja
Inventor
Kenji Yoshida
健治 吉田
Yoshiyasu Tamura
義保 田村
Makoto Taiji
真弘人 泰地
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.)
INST OF STATISTICAL MATHEMATICS MINISTRY OF EDUCATION
Hitachi Ltd
Original Assignee
INST OF STATISTICAL MATHEMATICS MINISTRY OF EDUCATION
Hitachi 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 INST OF STATISTICAL MATHEMATICS MINISTRY OF EDUCATION, Hitachi Ltd filed Critical INST OF STATISTICAL MATHEMATICS MINISTRY OF EDUCATION
Priority to JP10474399A priority Critical patent/JP3680091B2/ja
Publication of JP2000298577A publication Critical patent/JP2000298577A/ja
Application granted granted Critical
Publication of JP3680091B2 publication Critical patent/JP3680091B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Analogue/Digital Conversion (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【課題】 ランダム性のある物理現象を利用したハード
ウェア生成による乱数生成装置において、高速な乱数生
成速度と、高い乱数性を同時に実現する。 【解決手段】 ダイオード10Aの出力するノイズ18
Aを、アナログ・デジタル変換機構12Aでデジタル・
データに変換し、デジタル・データのうちの何ビットか
を素乱数16A,16B,..として取り出す。反転ト
リガ信号生成機構14で0と1の出現比率が均等な反転
トリガ信号17Aを生成し、反転機構13Aにて素乱数
16Aとの排他的論理和をとり2進乱数データ15aの
乱数として乱数データまとめ部15から出力する。反転
トリガ信号生成機構14の一手段として素乱数16Bを
利用し、素乱数16Bが1の時に直前の反転トリガ信号
17Aの反転した値を反転トリガ信号17Aとして反転
機構13Aに入力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、乱数生成技術に関
し、特に、ハードウェアによって乱数を生成する場合に
おける生成過程の高速化および高い乱数性の実現等に好
適な乱数生成技術に関する。
【0002】
【従来の技術】乱数は、様々なシミュレーションにおけ
る不確定要素や、無作為抽出のための選択手段、暗号化
技術の鍵生成などの分野で利用される。たとえば、風洞
実験のシミュレーションで与える風は均質な物でなく、
風向、風速、圧力などいくつものパラメータに不確定さ
が必要になる。また、数学の世界では、モンテカルロ法
など乱数を計算に使用する。こうした乱数に、多くはソ
フトウェア生成の乱数が用いられている。
【0003】しかし、ソフトウェア乱数は疑似乱数と呼
ばれるように、出力した乱数列に一定の規則性があり、
結果に誤った指向性が出たり、結果の収束に影響したり
することがある。
【0004】ハードウェア生成による乱数は、乱数源に
ランダム性があり、時間方向に規則性の無い物理現象を
選ぶことによって、ソフトウェア乱数の様な規則性を無
くすことができる。たとえば、仁木直人「工学的乱数発
生」統計数理研究所彙報 第27巻 第1号 1980
115−131、等の文献にも記載されているよう
に、過去のハードウェア乱数生成の乱数源に選ばれたラ
ンダム性のある物理現象には、コバルト−60の放射線
量、セシウム−137の崩壊によるガンマ線放射、トラ
ンジスタの熱雑音、ダイオードの熱雑音、ネオン放電管
からの雑音等がある。
【0005】乱数への加工方法として2種類の例を示
す。ひとつは、前記の放射線量や、ノイズをパルス化し
たものを、一定時間計数した結果が偶数であるか奇数で
あるかで2進1桁乱数を生成する方法である。もうひと
つは、ランダム性のある物理現象のうちノイズが得られ
るものを利用し、得られたノイズをアナログ・デジタル
変換し、出力の何桁かを乱数として利用する方法であ
る。後者の例として、特開平6−314188号公報の
技術では、導線上のノイズをアナログ・デジタル変換
し、乱数を生成している。
【0006】
【発明が解決しようとする課題】2進乱数の乱数性の評
価の尺度には、(1)0と1の出現する比率が等しいこ
と、(2)ある桁の0と1の出現する比率が、前に出現
した別の桁のパターンに左右されないこと、がある。
【0007】本明細書の中で(1)は「0と1の出現比
率が等しい」、(2)は「乱数列の規則性が無い」と表
現する。(2)について例を挙げると、00と続いた後
の0と1の出現する比率が1:3となる場合「規則性が
ある」わけで、それだけ「乱数性が悪い」となる。
(1)(2)はいずれも統計的な評価のため、評価対象
の母集団が大きいほど正しく評価でき、母集団が小さい
ケースでは常に成り立つものでは無い。
【0008】従来の技術で説明した、一定時間における
ある物理現象を計数することによる乱数生成装置は、計
数した値が充分大きくなる時間を必要とする。極端な例
を挙げると、一定時間計数した結果が0から1程度だと
して、ほとんどの場合0だとすると偶数と奇数の出現比
率が著しく不均等なために、出力する乱数に指向性が出
てしまう。たとえば100を中心に50から150の値
を計数できるような、充分大きく、充分ばらつきのある
値が計数できる時間を取れば、偶数と奇数の出現比率の
不均衡が無視できる様になる。しかし、出現比率の差を
小さくするために計数時間を大きくとれば、乱数の生成
速度は反比例して遅くなる。前述した100を中心に5
0から150の値を計時できるような時間をとると、理
論上回路の動作周波数の1/150以下、おそらくは1
/200から1/300程度の乱数生成速度しか得られ
ない。
【0009】従来の技術で説明したもう一方の、ランダ
ム性のあるノイズをアナログ・デジタル変換し、出力の
何桁かを乱数として利用する方法では、アナログ・デジ
タル変換機構の回路上のくせによって各桁の0と1の出
現比率が均等にならない場合が考えられる。ノイズをア
ナログ・デジタル変換する方法では物理現象を計数する
方法に比べて、回路の動作周波数とほぼ同等の乱数生成
速度を得ることができる。しかし、回路内の主にアナロ
グ・デジタル変換機構内部の信号が0から1、1から0
に変化する速さの違いやスレッショールド電圧の違いを
始め、ノイズ源のダイオードから誘導される電源線、接
地線、信号線へのノイズなど、回路特有のくせにより、
実際のノイズの電圧値とアナログ・デジタル変換機構が
出力するデジタル・データの値に誤差が生じる。たとえ
ば、変換前のノイズがxからx+1の中間の電圧であっ
た場合に、アナログ・デジタル変換機構の出力する結果
がxよりx+1を出力する確率が多いと、出力する各桁
の0と1の出現比率に偏りが生じてしまい、これを乱数
とすると0と1の出現比率に偏りがある乱数になる。回
路のくせは、回路を構成する素子の特性、温度、供給電
圧、動作周波数など、様々な条件に左右され、回路の改
善で偏りを無くすことは困難である。
【0010】本発明の目的は、ハードウェアによって乱
数列を生成する乱数生成技術において、高速な乱数生成
速度と、乱数列に規則性が無く、均質な0と1の出現比
率を同時に実現することにある。
【0011】
【課題を解決するための手段】本発明では、物理量発生
手段から得られる時間軸方向に規則性のない物理量をデ
ィジタル量に変換するアナログ・デジタル変換機構の出
力するデジタル・データのあるビット(以下、素乱数と
呼ぶ)を、反転トリガ信号と排他的論理和を取って乱数
とする。反転トリガ信号は、0と1の出現比率が1:1
となり、できるだけ規則性の無いものを生成する。この
方法により、乱数として0を出力する場合に、アナログ
・デジタル変換機構が0を出力している場合と1を出力
している場合とどちらの場合もあり、乱数として1を出
力する場合も同じくアナログ・デジタル変換機構が0を
出力している場合と1を出力している場合とどちらの場
合もあるため、アナログ・デジタル変換機構の回路の特
有のくせが出力に与える影響を無くすことができる。
【0012】また、反転トリガ信号に規則性がある場合
にも、出力した乱数列の規則性は改善される。反転トリ
ガ信号の規則性を、0が出現した後に0と1が出現する
確率をa:1−a(0<a<1)とすると、0と1の出
現比率が1:1なので、1が出現した後の0と1が出現
する確率は1−a:aとなる。素乱数の0と1の出現比
率の偏りも簡単のため、同じくa:1−aとして、aの
値が0.5からずれた場合、出力する乱数列の規則性にど
の程度の影響が出るか計算してみる。出力する乱数列の
規則性は、前記の表現と同じように0が出現した後の0
と1が出現する確率をb:1−b、1の出現した後の0
と1の出現する確率を1−b:bと表現する。すると、
【0013】
【数1】
【0014】となる。実際aが0.5近辺の値を取った場
合、bはどうなるか計算して図7に示す。
【0015】a、bの0.5との差分と0.5との比率を以
下では、乱数の偏差と表現することとする。図7を見る
と分かるように、素乱数の偏差が1%の場合で、出力し
た乱数の偏差は10-6と非常に小さくできる。
【0016】本発明で採用している反転トリガ信号生成
機構は、反転トリガ信号生成機構に入力する素乱数が1
の時に同期して反転トリガ信号を0から1又は1から0
へ切り替え、素乱数が0の時は反転トリガ信号を変化さ
せない。素乱数の乱数列には規則性が無いため、生成し
た反転トリガ信号は0と1の出現比率は理論上均等にな
る。図6は、素乱数21とこの素乱数21を元に生成し
た反転トリガ信号22の関係の一例を信号の波形で表し
ている。信号の波形が上にある時の信号の値が1を表
し、信号の波形が下にある時の信号の値が0を表す。素
乱数21は0の出現比率が高いが、反転トリガ信号22
は0と1の出現比率はほぼ等しくなっているのがわか
る。
【0017】反転トリガ信号の規則性は、素乱数の偏差
と同程度の影響がある。なぜなら、規則性の一つである
0の後1になる確率、1の後0になる確率は、素乱数の
1が出現する確率に等しいからである。しかし、後述す
る実施の形態で見てみた場合、うまく回路を構成するこ
とによって、アナログ・デジタル変換機構の出力のう
ち、偏差が1〜2%程度の素乱数を得ることが可能であ
り、前述したように、この程度の偏差が出力の偏差に与
える影響は非常に小さくできる。また、規則性が存在す
るソフトウェア乱数と組み合わせて乱数を生成しても、
乱数性の高い乱数が得られる。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。
【0019】図1は、本発明の一実施の形態である乱数
生成装置の構成の一例を示す概念図である。本実施の形
態の乱数生成装置は、経時的に不規則なノイズ18Aを
発生するダイオード10A、ノイズ18Aを素乱数16
A〜16Dのディジタルデータに変換するアナログ・デ
ジタル変換機構12A、反転トリガ信号17A〜17D
を生成する反転トリガ信号生成機構14、アナログ・デ
ジタル変換機構12Aおよび反転トリガ信号生成機構1
4にクロック信号19を供給するクロック発生機構1
1、乱数を使用する外部の任意の情報処理装置等との間
のインタフェースを提供する乱数データまとめ部15、
を含んでいる。
【0020】すなわち、ダイオード10Aが出力するノ
イズ18Aをアナログ・デジタル変換機構12Aに入力
する。アナログ・デジタル変換機構12Aの出力する素
乱数のうちの素乱数16A〜16Dを反転機構13A〜
13Bのデータ入力に、反転トリガ信号生成機構14の
出力する反転トリガ信号17A〜17Bは、反転機構1
3A〜13Bの反転トリガ入力に接続する。反転機構の
13Aの出力は、乱数データまとめ部15に接続する。
【0021】このような構成の本実施の形態の乱数生成
装置の動作としては、まず、アナログ・デジタル変換機
構12Aは、クロック信号19に同期して、ノイズ18
Aの電圧をデジタル・データに変換する。このデジタル
・データから素乱数16A〜16Dを取り出す。反転機
構13A〜13Bは、素乱数16A〜16Dと反転トリ
ガ信号生成機構14の出力する反転トリガ信号17A〜
17Bの排他的論理和を出力し、乱数データまとめ部1
5に送る。乱数データまとめ部15は、外部からの要求
でデータを取り出しやすいように加工し、2進乱数デー
タ15aとして出力する。素乱数のビット数と反転機構
の数は同じだが、反転トリガ信号はそれと異なっても構
わない。
【0022】図2は、前述の図1に例示された乱数生成
装置のより具体的な変形例を示す概念図である。すなわ
ち、この図2の構成例は、図1の反転トリガ信号生成機
構14の実現方法の一つを提示している。
【0023】この図2の構成では、反転トリガ信号生成
機構14は、複数の反転トリガ信号更新論理140A〜
140Bおよび反転トリガ信号レジスタ141A〜14
1Bを含んでいる。そして、アナログ・デジタル変換機
構12Aの出力する素乱数のうち反転機構13A〜13
Bに直接送られなかった素乱数16E〜16Fを、それ
ぞれ反転トリガ信号生成機構14内の反転トリガ信号更
新論理140A〜140Bに接続する。反転トリガ信号
更新論理140A〜140Bの出力はそれぞれ反転トリ
ガ信号レジスタ141A〜141Bに接続し、反転トリ
ガ信号レジスタ141A〜141Bの出力する反転トリ
ガ信号17A〜17Bは、反転機構13A〜13Bのい
ずれかの反転トリガ入力と、それぞれ反転トリガ信号更
新論理140A〜140Bに接続する。
【0024】この図2の変形例の動作としては、反転ト
リガ信号更新論理140Aは、反転トリガ信号17Aと
素乱数16Eの排他的論理和を出力する。反転トリガ信
号レジスタ141Aは、クロック信号19に同期して、
保持する値を反転トリガ信号更新論理140Aの出力に
置き換える。反転トリガ信号更新論理140Bと反転ト
リガ信号17B、素乱数16F、反転トリガ信号レジス
タ141Bの動作も同様である。このようにして、反転
トリガ信号17A、17Bを生成する以外は図1の説明
と同様である。
【0025】図3は、本発明の他の実施の形態である乱
数生成装置の構成の一例を示す概念図である。この図3
の構成の場合、アナログ・デジタル変換機構12Aは8
ビット出力のものとし、アナログ・デジタル変換機構1
2Aの出力する8個の素乱数のうち1個の素乱数16A
を1個の反転機構13Aのデータ入力に、別の1個の素
乱数16Bを反転トリガ信号生成機構14内の1個の反
転トリガ信号更新論理140Aに接続する。反転トリガ
信号更新論理140Aの出力は反転トリガ信号レジスタ
141Aに接続し、反転トリガ信号レジスタ141Aの
出力する反転トリガ信号17Aは、反転機構13Aの反
転トリガ入力と、反転トリガ信号更新論理140Aの入
力側に接続する。
【0026】反転機構13Aの出力は、乱数データまと
め部15内のシフト・レジスタ150に接続し、シフト
・レジスタ150の出力は、乱数データまとめ部15内
の乱数データ・バッファ152に接続する。乱数データ
まとめ部15内のデータまとめ部制御論理151の出力
は、乱数データ・バッファ152に接続する。クロック
発生機構11が出力するクロック信号19は、アナログ
・デジタル変換機構12Aと、反転トリガ信号レジスタ
141Aと、シフト・レジスタ150と、データまとめ
部制御論理151に接続する。
【0027】この図3の構成の乱数生成装置の動作とし
ては、まず、アナログ・デジタル変換機構12Aは、ク
ロック信号19に同期して、ノイズ18Aの電圧を8ビ
ットのデジタル・データに変換する。このデジタル・デ
ータから2個の素乱数16Aと16Bを取り出す。反転
トリガ信号更新論理140Aは、反転トリガ信号17A
と素乱数16Bの排他的論理和を出力する。反転トリガ
信号レジスタ141Aは、クロック信号19に同期し
て、保持する値を反転トリガ信号更新論理140Aの出
力に置き換える。反転機構13Aは、素乱数16Aと反
転トリガ信号17Aの排他的論理和を出力し、シフト・
レジスタ150に入力する。シフト・レジスタ150
は、8ビットのシフト・レジスタで、クロック信号19
に同期してシフト動作と、反転機構13Aの出力の取り
込みを行う。シフト・レジスタ150は、8ビット幅の
出力を乱数データ・バッファ152に送り、データまと
め部制御論理151は、クロック信号19に同期して、
8サイクルに1回、乱数データ・バッファ152に書き
込み指示を行う。乱数データ・バッファ152は、書き
込み指示を受けた時のシフト・レジスタ150からのデ
ータ(2進乱数データ15a)を記憶する。また乱数デ
ータ・バッファ152は、外部からの読み出し要求に対
して、2進乱数データ15aの書き出しと、書き出した
2進乱数データ15aの消去を行う機能と、たとえばP
CI等の汎用バス等に対する接続インターフェースを有
し、8ビットの乱数データ(2進乱数データ15a)を
外部の任意の装置等に供給することができる。
【0028】図4は本発明の他の実施の形態である乱数
生成装置の構成の一例を示す概念図である。この図4の
構成では、反転トリガ信号生成機構14に対する素乱数
の入力手段として専用のダイオード10Bおよびアナロ
グ・デジタル変換機構12Bを設けた構成となってい
る。
【0029】すなわち、反転機構13A〜13Bに接続
する素乱数16A〜16Bに、ダイオード10Aが出力
するノイズ18Aをアナログ・デジタル変換機構12A
がアナログ・デジタル変換した出力を用い、反転トリガ
信号生成機構14内の反転トリガ信号更新論理140A
〜140Bに接続する素乱数16E〜16Fに、ダイオ
ード10Bが出力するノイズ18Bをアナログ・デジタ
ル変換機構12Bがアナログ・デジタル変換した出力を
用いている。
【0030】この図4の構成では、複数のダイオード1
0Aおよび10Bと、アナログ・デジタル変換機構12
Aおよび12Bの組合せを2系統用意したことにより、
複数の反転機構13Aおよび13Bに入力される素乱数
16Aおよび16Bと、反転トリガ信号17Aおよび1
7Bとの間の相関を無くすことが可能となり、最終的に
乱数データまとめ部15から出力される2進乱数データ
15aにおいてより高い乱数性を実現することができ
る。
【0031】図5は、図4に例示した本発明の乱数生成
装置の変形例を示す概念図である。この図5の構成で
は、ダイオード10Aおよびアナログ・デジタル変換機
構12Aと、ダイオード10Bおよびアナログ・デジタ
ル変換機構12B、の2系列の素乱数16A、素乱数1
6B、および素乱数16G、素乱数16H、に対して、
対応した反転機構13A、13Bおよび反転機構13
C、13Dを設けるとともに、反転機構13A、13B
および反転機構13C、13Dの各々に対する反転トリ
ガ信号17Aおよび反転トリガ信号17Bが、互いに他
方のアナログ・デジタル変換機構12Bおよび12Aか
ら発生された素乱数16Eおよび素乱数16Jにてクロ
スして生成される構成としたものである。
【0032】すなわち、ダイオード10Aが出力するノ
イズ18Aを8ビット出力のアナログ・デジタル変換機
構12Aに入力する。ダイオード10Bが出力するノイ
ズ18Bを8ビット出力のアナログ・デジタル変換機構
12Bに入力する。アナログ・デジタル変換機構12A
の出力する8個の素乱数のうち1個の素乱数16Aを反
転機構13Aのデータ入力に、1個の素乱数16Bを反
転機構13Bのデータ入力に、1個の素乱数16Cを反
転トリガ信号生成機構14内の反転トリガ信号更新論理
140Bに接続する。アナログ・デジタル変換機構12
Bの出力する8個の素乱数のうち1個の素乱数16Gを
反転機構13Cのデータ入力に、1個の素乱数16Hを
反転機構13Dのデータ入力に、1桁の素乱数16Jを
反転トリガ信号生成機構14内の反転トリガ信号更新論
理140Aに接続する。反転トリガ信号更新論理140
Aの出力は反転トリガ信号レジスタ141Aに接続し、
反転トリガ信号レジスタ141Aの出力する反転トリガ
信号17Aは、反転機構13A、13Bの反転トリガ入
力と、反転トリガ信号更新論理140Aの入力側に接続
する。反転トリガ信号更新論理140Bの出力は反転ト
リガ信号レジスタ141Bに接続し、反転トリガ信号レ
ジスタ141Bの出力する反転トリガ信号17Bは、反
転機構13C、13Dの反転トリガ入力と、反転トリガ
信号更新論理140Bに接続する。反転機構の13A、
13B、13C、13Dの出力は、乱数データまとめ部
15に接続する。クロック発生機構11が出力するクロ
ック信号19は、アナログ・デジタル変換機構12A、
12Bと、反転トリガ信号レジスタ141A、141B
と、乱数データまとめ部15に接続する。前述の図3の
実施の形態と異なるのは、(1)ダイオードとアナログ
・デジタル変換機構が2個ずつあること、(2)1個の
アナログ・デジタル変換機構に対して、2個の反転機構
を備え、2個の素乱数を1個ずつ、それぞれの反転機構
に入力していること、(3)アナログ・デジタル変換機
構12Aの出力する素乱数16A、16Bの接続する、
反転機構13A、13Bに入力する反転トリガ信号17
Aは、もう一方のアナログ・デジタル変換機構12Bの
出力する素乱数16Jを利用して更新し、アナログ・デ
ジタル変換機構12Bの出力する素乱数16G、16H
の接続する、反転機構13C、13Dに入力する反転ト
リガ信号17Bは、もう一方のアナログ・デジタル変換
機構12Aの出力する素乱数16Eを利用して更新して
いること、である。
【0033】乱数データまとめ部15内では図3の実施
の形態と同じように、外からの読み出し要求に応答でき
るようにデータの形を整え記憶する。本実施の形態で
は、ダイオードから乱数データまとめ部15の前までの
回路を倍にし、利用する素乱数も倍にして乱数生成速度
の性能を向上し、しかも反転トリガ信号17A、反転ト
リガ信号17Bを更新するための素乱数16J、16E
を交換しあうことで、素乱数16A、16Bおよび素乱
数16G、16Hと、反転トリガ信号17A、17Bを
別系統の乱数源から生成するため、反転機構13A、1
3Bおよび反転機構13C、13Dのデータ入力(素乱
数16A、16Bおよび素乱数16G、16H)、反転
トリガ信号17A、17Bの間の予期せぬ相関から規則
性が生じることを回避している。
【0034】なお、上述の図2〜図5における乱数生成
装置の構成例では、反転トリガ信号生成機構14におい
て反転トリガ信号17A、17B等を生成するための素
乱数は、ダイオード10A、10Bおよびアナログ・デ
ジタル変換機構12A、12B等を用いてハードウェア
的に得られた素乱数を用いているが、これに限らず、図
8に例示されるように、ソフトウェア乱数生成装置30
において、たとえばM系列法、合同式法等の所望のアル
ゴリズムを用いたソフトウェアにて生成されたソフトウ
ェア素乱数30aを、素乱数16B、16E、16F、
16J、等の代わりに用いても、同様に、得られる2進
乱数データ15aの生成速度が高速で、乱数列に規則性
が無く、均質な0と1の出現比率を同時に実現すること
が可能になる。この場合、ソフトウェア乱数生成装置3
0は、たとえば図示しないマイクロプロセッサや、乱数
を生成するためのソフトウェア等が格納されるROM、
RAM等を備えた一般的に情報処理装置で構成すること
ができる。
【0035】さらに、図9のフローチャートに例示され
るように、反転トリガ信号生成機構14および反転機構
13A〜13D等で行われる素乱数16A、16B、1
6H、16G等の反転処理を、当該素乱数16A〜16
Gを利用する任意の情報処理装置の内部で、ソフトウェ
ア的に行わせることもできる。この場合、物理現象を利
用する乱数発生機構としては、本発明の上述の実施の形
態で例示したダイオード10A、アナログ・デジタル変
換機構12A、乱数データまとめ部15等で構成され
た、素乱数16A等をそのまま外部に出力する構成の物
理乱数生成装置を用いることができる。
【0036】すなわち、任意の情報処理装置において、
物理乱数生成装置から得られる素乱数16Aを用いるプ
ログラムでは、前処理として、図9のフローチャートに
例示された以下のような処理を行うことで乱数性の向上
を達成することができる。
【0037】すなわち、まず、物理乱数生成装置から得
られた素乱数16A(2進ハードウェア乱数)を、整数
変数HRに格納する(ステップ201)。
【0038】次に、自前のソフトウェアによる乱数発生
ルーチンから2進ソフトウェア乱数を生成して整数変数
SRに格納する(ステップ202)。
【0039】整数変数SRの各ビットを指定するための
ビット指標変数nを0に初期化する(ステップ20
3)。だだし、SR〔n=0〕はLSBを示す。
【0040】次に、SRのLSB(SR〔n=0〕)を
“0”との排他的論理和をとって更新する(ステップ2
04)。
【0041】その後、ビット指標変数nをインクリメン
トして(ステップ205)、ビット位置がSRのMSB
を越えたか否かを判定(ステップ206)しながら、S
RのMSB方向に隣接する第nビットと第n−1ビット
との排他的論理和をとって当該第nビット位置のビット
値を更新する(ステップ207)操作を、MSBまで反
復し、このステップ207の操作が終わったら、整数変
数HRに格納された2進ハードウェア乱数と、整数変数
SRに格納された反転操作後の2進ソフトウェア乱数と
の間で各ビット毎の排他的論理和をとり、結果を整数変
数HRに書き戻す処理(ステップ208)、を行う。
【0042】これにより、整数変数HR内には、結果と
して、図1の乱数データまとめ部15から得られる2進
乱数データ15aと同様に、乱数列に規則性が無く、均
質な0と1の出現比率を持つ、2進ハードウェア乱数が
得られる。
【0043】この場合には、ソフトウェア的にビット反
転処理を行うため、多少、生成速度は犠牲になるが、素
乱数16Aを供給する物理乱数生成装置は任意のものを
用いることができ、物理乱数を利用する情報処理装置の
ソフトウェアの側のわずかな変更で、高い乱数性を持つ
物理乱数を使用できるようになる、という利点がある。
また、生成速度の点も、物理乱数を利用する情報処理装
置の実行速度が改善されれば問題にならなくなり、乱数
生成の高速性の要求も満たされる。
【0044】以上説明したように、本実施の形態の乱数
生成装置では、ハードウェアによる高速な生成速度の乱
数生成処理において、0と1の出現比率については均等
にでき、素乱数の偏差が最終的に出力される乱数の規則
性へ与える影響を少なくすることができる。図7で示し
たとおり、乱数列の規則性の偏りは、素乱数の0と1の
出現比率の偏りが2%の場合で10-5以下、1%で10
-6に改善することができる。
【0045】本発明の特許請求の範囲に記載された以外
のの特徴を列挙すれば以下の通りである。
【0046】<1> ノイズ源としてのダイオードと、
アナログ・デジタル変換機構と、乱数データまとめ部
と、クロック発生機構を有し、クロック発生機構が発生
するクロック信号を、前記アナログ・デジタル変換機構
に接続し、前記ダイオードに逆バイアスをかけた場合の
ツェナー降伏領域もしくはアバランシェ領域で発生する
ノイズの電圧を、前記アナログ・デジタル変換機構で前
記クロックに同期してnビット(n>1)のデジタル・
データに変換し、該デジタル・データのうちmビット
(1≦m≦n)を乱数データまとめ部で乱数として利用
できる形にまとめる乱数生成装置において、データ入力
と反転トリガ入力の2個の入力を持つm個の反転機構
と、反転トリガ信号生成機構を備え、該反転トリガ信号
生成機構は、0と1が変化しながらほぼ同じ比率で現れ
る反転トリガ信号をs個(1≦s≦m)生成し、該s個
の反転トリガ信号を、合計m個全ての前記反転機構の反
転トリガ入力に1対1もしくは1対多で接続し、前記乱
数データまとめ部に送られる直前のmビットのデジタル
・データを該m個の反転機構のデータ入力に1対1で接
続し、該m個の反転機構はデータ入力と反転トリガ入力
の排他的論理和を出力し、該出力を、前記アナログ・デ
ジタル変換機構が出力したm桁のデジタル・データの代
わりに前記乱数データまとめ部に送ることを特徴とする
乱数生成装置。
【0047】<2> 反転トリガ信号を保持するs個の
反転トリガ信号レジスタと、s個の反転トリガ信号更新
論理を有し、前記アナログ・デジタル変換機構の出力す
るデジタル・データのうちsビットをs個の該反転トリ
ガ信号更新論理全てに1対1で接続し、該反転トリガ信
号更新論理は対応する反転トリガ信号レジスタが保持す
る反転トリガ信号と前記入力されたデジタル・データと
の排他的論理和を出力し、前記反転トリガ信号レジスタ
に前記クロックを接続し、該反転トリガ信号レジスタが
保持している反転トリガ信号を、クロックに同期して前
記反転トリガ信号更新論理の出力に置き換え、該反転ト
リガ信号レジスタの保持している反転トリガ信号を出力
することを特徴とする反転トリガ信号生成機構を備える
項目<1>記載の乱数生成装置。
【0048】<3> プログラム生成乱数を前記反転ト
リガ信号として出力する反転トリガ信号生成機構を有す
る、項目<1>記載の乱数生成装置。
【0049】<4> 前記ダイオードと前記アナログ・
デジタル変換機構の組み合わせを、前記反転機構のデー
タ入力に接続するものと、前記反転トリガ信号更新論理
に接続するものを独立して2系統用意することを特徴と
する項目<2>記載の乱数生成装置。
【0050】<5> 前記ダイオードと前記アナログ・
デジタル変換機構と反転機構の組み合わせを2系統有
し、該反転機構の出力を別の反転機構のデータ入力と反
転トリガ入力に接続することを特徴とする項目<1>記
載の乱数生成装置。
【0051】<6> 時間軸方向に不規則な物理量から
2値の素乱数を生成するステップと、0と1が変化しな
がらほぼ同じ比率で現れる反転トリガ信号を生成するス
テップと、前記素乱数と前記反転トリガ信号との排他的
論理和をとって2進乱数として出力するステップと、を
含むことを特徴とする乱数生成方法。
【0052】以上本発明者によってなされた発明を実施
の形態に基づき具体的に説明したが、本発明は前記実施
の形態に限定されるものではなく、その要旨を逸脱しな
い範囲で種々変更可能であることはいうまでもない。
【0053】たとえば、物理量発生手段としては、上述
の実施の形態に例示したダイオードに限らず、時間軸方
向に不規則な物理量を出力する一般の機器を広く用いる
ことができる。
【0054】
【発明の効果】本発明の乱数生成装置によれば、ハード
ウェアによって乱数列を生成する乱数生成技術におい
て、高速な乱数生成速度と、乱数列に規則性が無く、均
質な0と1の出現比率を同時に実現することができる、
という効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施の形態である乱数生成装置の構
成の一例を示す概念図である。
【図2】図1に例示された乱数生成装置のより具体的な
変形例を示す概念図である。
【図3】本発明の他の実施の形態である乱数生成装置の
構成の一例を示す概念図である。
【図4】本発明の他の実施の形態である乱数生成装置の
構成の一例を示す概念図である。
【図5】図4に例示した本発明の乱数生成装置の変形例
を示す概念図である。
【図6】素乱数と、この素乱数を元に生成した反転トリ
ガ信号の関係の一例を信号の波形で表した線図である。
【図7】本発明の一実施の形態である乱数生成装置の作
用の一例を表形式で例示した説明図である。
【図8】本発明の他の実施の形態である乱数生成装置の
構成の一例を示す概念図である。
【図9】本発明の乱数生成技術をソフトウェアにて行わ
せる場合の一例を示すフローチャートである。
【符号の説明】
10A,10B…ダイオード、11…クロック発生機
構、12A,12B…アナログ・デジタル変換機構、1
3A〜13D…反転機構、14…反転トリガ信号生成機
構、15…乱数データまとめ部、15a…2進乱数デー
タ、16A〜16J…素乱数、17A〜17D…反転ト
リガ信号、18A,18B…ノイズ、19…クロック信
号、21…素乱数、22…反転トリガ信号、30…ソフ
トウェア乱数生成装置、30a…ソフトウェア素乱数、
140A〜140B…反転トリガ信号更新論理、141
A〜141B…反転トリガ信号レジスタ、150…シフ
ト・レジスタ、151…データまとめ部制御論理、15
2…乱数データ・バッファ。
フロントページの続き (72)発明者 田村 義保 東京都港区南麻布4−6−7 統計数理研 究所内 (72)発明者 泰地 真弘人 東京都港区南麻布4−6−7 統計数理研 究所内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 時間軸方向に規則性のない物理量を発生
    する物理量発生手段と、前記物理量を2ビット以上の第
    1のディジタルデータに変換するデータ変換手段と、前
    記第1のディジタルデータの少なくとも一部を乱数デー
    タとして外部に出力する外部出力インタフェースと、を
    含む乱数生成装置であって、 0と1が変化しながらほぼ同じ比率で現れる反転トリガ
    信号を生成する反転トリガ信号生成手段と、 前記データ変換手段と前記外部出力インタフェースとの
    間に設けられ、前記第1のディジタルデータの少なくと
    も一部のビットと、前記反転トリガ信号との排他的論理
    和をとり、前記第1のディジタルデータの代わりに第2
    のディジタルデータとして前記外部出力インタフェース
    に出力するデータ反転手段と、 を含むことを特徴とする乱数生成装置。
  2. 【請求項2】 請求項1記載の乱数生成装置において、 前記反転トリガ信号生成手段は、任意の乱数発生手段か
    ら時系列に入力されるディジタルの乱数データと、自身
    の出力との排他的論理和をとり、前記反転トリガ信号と
    して出力する反転トリガ更新論理と、前記反転トリガ更
    新論理から出力される前記反転トリガ信号をラッチして
    前記データ反転手段および前記反転トリガ更新論理に出
    力する反転トリガ信号ラッチ手段とを含むことを特徴と
    する乱数生成装置。
  3. 【請求項3】 請求項1または2記載の乱数生成装置に
    おいて、 前記反転トリガ信号生成手段の前記反転トリガ更新論理
    に入力される前記乱数データとして、前記第1のディジ
    タルデータの一部を用いる構成、 前記物理量発生手段および前記データ変換手段の組み合
    わせを、ディジタルデータを前記データ反転手段に入力
    する組と、前記ディジタルデータを前記乱数データとし
    て前記反転トリガ信号生成手段の前記反転トリガ更新論
    理に入力する組の2系統設ける構成、 前記物理量発生手段および前記データ変換手段の組み合
    わせを、前記ディジタルデータを前記データ反転手段に
    入力する組と、前記ディジタルデータを前記乱数データ
    として前記反転トリガ信号生成手段の前記反転トリガ更
    新論理に入力する組の2系統設け、前記反転トリガ更新
    論理に前記乱数データとして入力される前記ディジタル
    データとして、互いに他の前記ディジタルデータを用い
    る構成、 前記反転トリガ更新論理に入力される前記乱数データと
    して、ソフトウェア生成乱数を用いる構成、 のいずれかの構成を含むことを特徴とする乱数生成装
    置。
JP10474399A 1999-04-13 1999-04-13 乱数生成装置 Expired - Fee Related JP3680091B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10474399A JP3680091B2 (ja) 1999-04-13 1999-04-13 乱数生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10474399A JP3680091B2 (ja) 1999-04-13 1999-04-13 乱数生成装置

Publications (2)

Publication Number Publication Date
JP2000298577A true JP2000298577A (ja) 2000-10-24
JP3680091B2 JP3680091B2 (ja) 2005-08-10

Family

ID=14388988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10474399A Expired - Fee Related JP3680091B2 (ja) 1999-04-13 1999-04-13 乱数生成装置

Country Status (1)

Country Link
JP (1) JP3680091B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091167A1 (fr) * 2001-04-24 2002-11-14 Sangikyo Corporation Generateur de nombres aleatoires
EP1515438A1 (fr) * 2003-08-28 2005-03-16 St Microelectronics S.A. Génération d'un flux de bits aléatoire normalisé
US8260835B2 (en) 2003-06-24 2012-09-04 Renesas Electronics Corporation Random number generator with ring oscillation circuit
RU2642351C1 (ru) * 2017-01-16 2018-01-24 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ выбора шумовых диодов с использованием измерительного устройства для генератора случайных чисел

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5341690B2 (ja) 2009-09-14 2013-11-13 株式会社日立製作所 物理乱数生成装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002091167A1 (fr) * 2001-04-24 2002-11-14 Sangikyo Corporation Generateur de nombres aleatoires
US7349935B2 (en) 2001-04-24 2008-03-25 Sangikyo Corporation Random number generation apparatus
US8260835B2 (en) 2003-06-24 2012-09-04 Renesas Electronics Corporation Random number generator with ring oscillation circuit
US9052975B2 (en) 2003-06-24 2015-06-09 Renesas Electronics Corporation Random number generator with ring oscillation circuit
EP1515438A1 (fr) * 2003-08-28 2005-03-16 St Microelectronics S.A. Génération d'un flux de bits aléatoire normalisé
US7689636B2 (en) 2003-08-28 2010-03-30 Stmicroelectronics S.A. Generation of a normalized random bit flow
RU2642351C1 (ru) * 2017-01-16 2018-01-24 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ выбора шумовых диодов с использованием измерительного устройства для генератора случайных чисел

Also Published As

Publication number Publication date
JP3680091B2 (ja) 2005-08-10

Similar Documents

Publication Publication Date Title
JP2937919B2 (ja) 疑似乱数発生回路
US3706941A (en) Random number generator
US4691291A (en) Random sequence generators
JP3022439B2 (ja) 擬似乱数発生方法および装置
JP3696209B2 (ja) シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
CN103098018B (zh) 比特序列生成器
US4047008A (en) Pseudo-random number sequence generator
US20030204541A1 (en) Seedable pseudo-random number generator
CN103399726B (zh) 一种流水线化的组合式伪随机数发生器
US11586418B2 (en) Random number generator, random number generating circuit, and random number generating method
JP4663872B2 (ja) 均一な分布を有する非反復性の数の列を発生する方法
JP2002330192A (ja) 試験信号発生装置及び方法並びにポアソン分布エラー信号発生器及び発生方法
JP2000298577A (ja) 乱数生成装置
Miroschnyk et al. Practical methods for de Bruijn sequences generation using non-linear feedback shift registers
Etzion On de Bruijn Array Codes—Part I: Nonlinear Codes
JP3502065B2 (ja) 乱数発生装置
CN113138752B (zh) 随机数生成器、随机数生成电路及随机数生成方法
US4998263A (en) Generation of trigger signals
KR100578721B1 (ko) XOR 논리를 이용한 n 비트 순환 중복 검사 생성 방법및 이를 이용한 병렬 순환 중복 검사 생성기
RU2024209C1 (ru) Устройство шифрования двоичной информации "албер"
US3569956A (en) Minimal logic block encoder
KR101920142B1 (ko) 의사 잡음 코드 생성기를 활용한 랜덤 순열 생성 시스템 및 방법
RU2021633C1 (ru) Устройство для умножения чисел
SU1005045A1 (ru) Генератор псевдослучайных чисел
KR20040084422A (ko) 디지털 생체 정보를 이용한 난수 생성기 및 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 19990514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 19990416

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 19990618

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20021015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20031119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040511

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20040628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040707

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050330

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080527

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090527

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100527

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110527

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110527

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120527

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120527

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130527

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130527

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees