JP3502065B2 - 乱数発生装置 - Google Patents
乱数発生装置Info
- Publication number
- JP3502065B2 JP3502065B2 JP2001163428A JP2001163428A JP3502065B2 JP 3502065 B2 JP3502065 B2 JP 3502065B2 JP 2001163428 A JP2001163428 A JP 2001163428A JP 2001163428 A JP2001163428 A JP 2001163428A JP 3502065 B2 JP3502065 B2 JP 3502065B2
- Authority
- JP
- Japan
- Prior art keywords
- random
- pulse wave
- random number
- noise
- pulse train
- 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
Links
- 238000009499 grossing Methods 0.000 claims description 7
- 238000007493 shaping process Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Manipulation Of Pulses (AREA)
Description
用のIDパスワードや各種暗号鍵などに使用するための
乱数を発生する乱数発生装置に関する。
暗号鍵などの安全性を高めるには、1/0の出現確率が
各々1/2の等確率で、各ビットが他と独立してビット
間に相関のない真正乱数を使用する必要がある。真正乱
数は、実際にサイコロやコインを振るわけにもいかない
ので、電気的な雑音の電圧変化を測定するなどの物理乱
数を用いて生成することが多いが、物理乱数をそのまま
用いても真正乱数とはならない。
出現するが、1/0の出現バランスは不確定さを持つた
めインバランスとなる。そのため、物理乱数のインバラ
ンスを解消する方法として、出力パルス列の積分値を乱
数生成側にフィードバックして雑音レベルを制御した
り、出力パルス列をシフトレジスタに入力してパラレル
変換したパルス列の論理和を求めて乱数を生成するなど
の方法が提案されている。ところが、いずれの方法も偶
然性に支配される要素が多いため、確実に1/0の出現
バランスを等確率にすることは困難であった。
なく物理乱数のインバランスを解消して確実に1/0の
出現バランスを等確率にできる乱数発生装置を提供する
ことを目的になされたものである。
めに、本発明は以下のように構成した。すなわち、請求
項1の発明は、物理的な雑音を測定してランダム雑音を
発生するランダム雑音発生手段と、このランダム雑音を
波形整形してランダムパルス波を生成するランダムパル
ス波生成手段と、このランダムパルス波を一定周期のク
ロックでサンプリングしてサンプル値のオン・オフをパ
ルス符号とする一定周期の2値パルス列に変換する2値
パルス列変換手段と、この2値パルス列の極性を一定周
期おきに反転させて所定の単位符号長における1/0符
号の出現バランスを平滑化する2値パルス列符号平滑化
手段と、を備え、前記2値パルス列符号の乱数列を発生
してなる乱数発生装置である。
生間隔をパルスのオン・オフ時間として前記ランダムパ
ルス波を生成してなる請求項1記載の乱数発生装置であ
る。請求項3の発明は、前記ランダム雑音発生手段を複
数用いて合成したランダム雑音を前記ランダムパルス波
生成手段に入力して前記ランダムパルス波のオン・オフ
の発生頻度を増大させてなる請求項1記載の乱数発生装
置である。請求項4の発明は、前記ランダムパルス波生
成手段を対数増幅器とコンパレータおよび単安定マルチ
バイブレータまたはトグルフリップフロップで構成して
なる請求項1記載の乱数発生装置である。請求項5の発
明は、前記2値パルス列符号平滑化手段を前記クロック
の周波数を1/2に分周する1/2分周器とマルチプレ
クサまたはXORゲートで構成してなる請求項1記載の
乱数発生装置である。
施の形態について説明する。図1に、本発明を実施した
乱数発生装置のブロック図を示す。また、各ブロックの
信号波形とそのタイミングチャートを図2に示す。乱数
発生装置は、雑音源1が発生する周期性のないランダム
雑音nを波形整形回路2に入力してランダムパルス波p
1を生成する。
クロックc1をサンプル&ホールド回路4に入力して一
定周期の2値パルス列p2を生成する。そして、2値パ
ルス列p2とクロックc1を分周器5で1/2に分周し
た1/2分周クロックc2をスイッチング回路6に入力
して2値パルス列p2の極性を1周期おきに反転させ、
1/0符号の出現バランスを平滑化した平滑2値パルス
列p3を出力する。
なだれなどによる白色雑音を物理的な雑音の発生源とす
る。
増幅回路で所定の電圧レベルに増幅し、これをコンパレ
ータに入力してトリガレベル以上の雑音波形をトリガパ
ルスとして取り出す。そして、これを単安定マルチバイ
ブレータに入力して外付けのCRによって決まる所定の
パルス幅を有するランダムパルス波p1を生成する。こ
のときのパルス幅は、サンプリング定理によりクロック
c1のパルス幅の2倍以上に設定する。また、このとき
のトリガパルスはランダムパルス波p1の立ち上がり、
もしくは立ち下がりのエッジ部分となり、トリガパルス
の幅が長くなったり短くなったりしても一定のパルス幅
を得ることができる。
る場合は、トリガパルスをT入力のたびにQ出力が反転
するT−FF2進カウンタに入力してトリガパルスの発
生間隔をパルスのオン・オフ時間とするランダムパルス
波p1を生成してもよい。これにより、ランダムパルス
波p1のオン・オフ時間の割合を均等にすることができ
る。
一あるいは多種類の雑音源1の出力を合成し、波形整形
回路2を介してサンプル&ホールド回路4に入力する。
これにより、ランダム雑音nの発生頻度を増大させてラ
ンダムパルス波p1のオン・オフの切換えを頻繁にす
る。この場合、ランダム雑音nの発生頻度に応じてクロ
ックc1の周期を短くし、クロックc1の周期に応じて
ランダムパルス波p1のパルス幅を適正な長さに調節す
る必要がある。
ように、FFを2個使用してC入力は入力側のFFに直
接、出力側のFFにはインバータを介して反転したクロ
ックc1を供給する。これにより、C入力のアップエッ
ジで入力側のFFに記憶されたD入力のランダムパルス
波p1のオン・オフは、出力側のFFのC入力が“0”
なのでそのまま出力側のFFのQ出力に転送され、C入
力のダウンエッジでは出力側のFFのC入力がアップエ
ッジになるのでQ出力を保持し、次のC入力のアップエ
ッジまでその状態を変えずにいる。このため、C入力の
アップエッジでランダムパルス波p1のオン・オフ状態
を記憶した2値パルス列p2がクロックc1の1/2の
周期でクロックc1に同期して出力される。
c1を2発入力するたびにQ出力を元の状態に戻してク
ロックc1を1/2に分周する。あるいは、図4に示す
ように、D−FFの反転Q出力をD入力に接続してD−
FFをT−FFとして動作させてもよい。このとき、反
転Q出力が次のD入力となるので、C入力のあるたびに
Q出力が反転する。
に、2個のANDゲートとORゲートおよびインバータ
を組み合わせたマルチプレクサで構成し、1/2分周ク
ロックc2を制御入力として制御入力の“1”または
“0”により2値パルス列p2の正相出力と逆相出力の
いずれか一方を選択して平滑2値パルス列p3を出力す
る。あるいは、図6に示すように、2値パルス列p2と
1/2分周クロックc2をXORゲートに入力して両者
を排他的論理和で加算し、1/2分周クロックc2の1
/0に同期して2値パルス列p2の符号を1周期毎に正
逆転させて平滑2値パルス列p3を出力してもよい。な
お、実施例では1/2分周により正相出力と逆相出力を
切換える方法をとっているが、分周度合いを高めて所定
の単位符号長における1/0符号の出現バランスを平滑
化する方法も実施可能である。
装置は、ランダム雑音を波形整形してランダムパルス波
を生成し、これをクロックでサンプリングして一定周期
の2値パルス列に変換し、その極性を一定周期おきに反
転させて2値パルス列符号の乱数列を発生する。従っ
て、本発明によれば、通常、2値パルス列の1/0の出
現バランスは、雑音の発生頻度に左右されるのでインバ
ランスとなるが、このように2値パルス列の極性を一定
周期おきに反転させると、符号配列のインバランス性が
平滑化されて確実に1/0の出現確率がおのおの1/2
に近い2値パルス列が得られる。
1001110000100”とすると、1/0の出現
確率はおのおの8/20と12/20となり“0”に偏
っているが、その極性を1周期おきに反転させると“0
0110110011011010001”となり、1
/0の出現確率はおのおの10/20と10/20で、
1/2あるいはそれに近い値となる。
雑音の発生間隔をパルスのオン・オフ時間としてランダ
ムパルス波を生成する。従って、本発明によれば、通
常、ランダムパルス波のオン・オフ時間の割合は、雑音
の発生頻度に左右されるのでいずれか一方に偏るが、こ
のようにランダム雑音の発生間隔をパルスのオン・オフ
時間とすると、その割合を均等にすることができる。
雑音発生手段を複数用いて合成したランダム雑音をラン
ダムパルス波生成手段に入力してランダムパルス波のオ
ン・オフの発生頻度を増大させる。従って、本発明によ
れば、ランダムパルス波をサンプリングして生成する2
値パルス列の周波数をランダムパルス波のオン・オフの
発生頻度に応じて高くできるので、乱数の発生をより高
速化できる。
パルス波生成手段を対数増幅器とコンパレータおよび単
安定マルチバイブレータまたはトグルフリップフロップ
で構成する。また、2値パルス列符号平滑化手段をクロ
ックの周波数を1/2に分周する1/2分周器とマルチ
プレクサまたはXORゲートで構成する。
主体に装置を構成できるので、微弱信号を扱うアナログ
回路の部分が少なくなり、外乱などの影響を受け難くな
って装置の信頼性が向上する。また、回路が簡素化さ
れ、アナログ的な調整もほとんど不要になるので、製造
コストを低減すると共に、量産化も容易になる。
ある。
チャートである。
理図である。
る。
ある。
変形例である。
Claims (5)
- 【請求項1】物理的な雑音を測定してランダム雑音を発
生するランダム雑音発生手段と、 このランダム雑音を波形整形してランダムパルス波を生
成するランダムパルス波生成手段と、 このランダムパルス波を一定周期のクロックでサンプリ
ングして、サンプル値のオン・オフをパルス符号とする
一定周期の2値パルス列に変換する2値パルス列変換手
段と、 この2値パルス列の極性をクロックの分周周期毎に正逆
転させて、所定の単位符号長における1/0符号の出現
バランスを平滑化する2値パルス列符号平滑化手段と、 を備え、 前記2値パルス列符号の乱数列を発生してなる乱数発生
装置。 - 【請求項2】 前記ランダム雑音の発生間隔をパルスの
オン・オフ時間として前記ランダムパルス波を生成して
なる請求項1記載の乱数発生装置。 - 【請求項3】 前記ランダム雑音発生手段を複数用いて
合成したランダム雑音を前記ランダムパルス波生成手段
に入力して前記ランダムパルス波のオン・オフの発生頻
度を増大させてなる請求項1記載の乱数発生装置。 - 【請求項4】 前記ランダムパルス波生成手段を対数増
幅器とコンパレータおよび単安定マルチバイブレータま
たはトグルフリップフロップで構成してなる請求項1記
載の乱数発生装置。 - 【請求項5】 前記2値パルス列符号平滑化手段を前記
クロックの周波数を1/2に分周する1/2分周器とマ
ルチプレクサまたはXORゲートで構成してなる請求項
1記載の乱数発生装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001163428A JP3502065B2 (ja) | 2001-04-24 | 2001-04-24 | 乱数発生装置 |
PCT/JP2002/003075 WO2002091167A1 (fr) | 2001-04-24 | 2002-03-28 | Generateur de nombres aleatoires |
US10/692,483 US7349935B2 (en) | 2001-04-24 | 2003-10-23 | Random number generation apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001163428A JP3502065B2 (ja) | 2001-04-24 | 2001-04-24 | 乱数発生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002323971A JP2002323971A (ja) | 2002-11-08 |
JP3502065B2 true JP3502065B2 (ja) | 2004-03-02 |
Family
ID=19006402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001163428A Expired - Fee Related JP3502065B2 (ja) | 2001-04-24 | 2001-04-24 | 乱数発生装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7349935B2 (ja) |
JP (1) | JP3502065B2 (ja) |
WO (1) | WO2002091167A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6707345B2 (en) * | 2002-01-14 | 2004-03-16 | Ip-First, Llc | Oscillator frequency variation mechanism |
GB0218716D0 (en) * | 2002-08-12 | 2002-09-18 | Mitel Knowledge Corp | Privacy and security mechanism fo presence systems with tuple spaces |
US7328304B2 (en) * | 2004-02-27 | 2008-02-05 | Intel Corporation | Interface for a block addressable mass storage system |
WO2005114386A1 (ja) | 2004-05-24 | 2005-12-01 | Leisure Electronics Technology Co., Ltd. | 乱数取出し方法及びこれを用いた乱数生成装置 |
US7688976B2 (en) * | 2005-07-14 | 2010-03-30 | Tara Chand Singhal | Random wave envelope derived random numbers and their use in generating transient keys in communication security application part I |
US8738675B2 (en) * | 2006-08-03 | 2014-05-27 | Salih Ergun | Random numbers generation using continuous-time chaos |
CN1949708B (zh) * | 2006-11-10 | 2011-02-02 | 华为技术有限公司 | 随机数发生装置、方法及对应的数据交互*** |
US7904494B2 (en) * | 2006-12-08 | 2011-03-08 | International Business Machines Corporation | Random number generator with random sampling |
US20100281088A1 (en) * | 2009-04-29 | 2010-11-04 | Psigenics Corporation | Integrated true random number generator |
US20110191129A1 (en) * | 2010-02-04 | 2011-08-04 | Netzer Moriya | Random Number Generator Generating Random Numbers According to an Arbitrary Probability Density Function |
EP3147774A1 (fr) | 2015-09-25 | 2017-03-29 | Gemalto Sa | Generateur d'horloge aleatoire |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5436973A (en) * | 1988-05-09 | 1995-07-25 | Hughes Aircraft Company | Pseudo-random signal synthesizer with smooth, flat power spectrum |
JPH0520292A (ja) * | 1991-07-12 | 1993-01-29 | Ricoh Co Ltd | 乱数パルス列発生回路装置及び信号処理装置 |
US5402488A (en) * | 1991-08-30 | 1995-03-28 | Karlock; James A. | Method and apparatus for modifying a video signal |
JP2541480B2 (ja) * | 1993-10-06 | 1996-10-09 | 日本電気株式会社 | 擬似乱数発生装置 |
JP3382695B2 (ja) * | 1994-01-27 | 2003-03-04 | エヌイーシーネットワーク・センサ株式会社 | 2値化雑音信号発生方法とその装置 |
JP2000066592A (ja) | 1998-08-19 | 2000-03-03 | Syst Kogaku Kk | 乱数生成装置 |
JP2000066590A (ja) * | 1998-08-26 | 2000-03-03 | Nippon Telegr & Teleph Corp <Ntt> | データ保管システム、データ保管方法、保管データ存在証明方法、プログラム記録媒体 |
JP3447976B2 (ja) * | 1999-03-26 | 2003-09-16 | システム工学株式会社 | 故障判断機能を備えた乱数生成装置 |
JP2000276329A (ja) * | 1999-03-26 | 2000-10-06 | Takeshi Saito | 超高速物理乱数生成装置 |
JP3680091B2 (ja) * | 1999-04-13 | 2005-08-10 | 株式会社日立製作所 | 乱数生成装置 |
FR2806555A1 (fr) * | 2000-03-17 | 2001-09-21 | St Microelectronics Sa | Generateur de nombres pseudo-aleatoires |
-
2001
- 2001-04-24 JP JP2001163428A patent/JP3502065B2/ja not_active Expired - Fee Related
-
2002
- 2002-03-28 WO PCT/JP2002/003075 patent/WO2002091167A1/ja active Application Filing
-
2003
- 2003-10-23 US US10/692,483 patent/US7349935B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2002091167A1 (fr) | 2002-11-14 |
JP2002323971A (ja) | 2002-11-08 |
US7349935B2 (en) | 2008-03-25 |
US20040114761A1 (en) | 2004-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7720895B2 (en) | Random number generator and method for generating random numbers | |
US7376687B2 (en) | Pseudo-random number generator | |
KR100847213B1 (ko) | 난수 생성 방법 및 난수 생성기 | |
US8583712B2 (en) | Multi-bit sampling of oscillator jitter for random number generation | |
Golic | New methods for digital generation and postprocessing of random data | |
Cherkaoui et al. | Design, evaluation, and optimization of physical unclonable functions based on transient effect ring oscillators | |
KR101987141B1 (ko) | 난수 발생기 | |
JP3502065B2 (ja) | 乱数発生装置 | |
CN111258548A (zh) | 一种真随机数发生器 | |
US7295139B2 (en) | Triggered data generator | |
JPH06509200A (ja) | 乱数発生装置並びに方法 | |
Yakut et al. | Secure and efficient hybrid random number generator based on sponge constructions for cryptographic applications | |
JP2004537119A (ja) | 疑似ランダムシーケンスを用いて乱数発生器を非相関とするための方法および装置 | |
JPH04229495A (ja) | 線形帰還シフト・レジスタの状態を模擬する方法および装置 | |
JP5171420B2 (ja) | 擬似乱数生成装置 | |
US7436725B2 (en) | Data generator having stable duration from trigger arrival to data output start | |
SE9301327D0 (sv) | Sammansatt klocksignal | |
WO2004040838A1 (ja) | 乱数生成装置 | |
KR20120101836A (ko) | 난수 발생 장치 | |
JP2545010B2 (ja) | ゲ―ト装置 | |
JPH01265609A (ja) | 擬似乱数発生装置 | |
KR100333717B1 (ko) | 입력신호의에지검출을이용한클럭발생장치 | |
KR930005653B1 (ko) | 클럭 가변회로 | |
JPH03291577A (ja) | 波形生成回路 | |
JPH06244728A (ja) | 波形発生器のトリガ同期化回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031203 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071212 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081212 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081212 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091212 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101212 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101212 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 10 |
|
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 |