JP2009531761A - 乱数を発生するための方法および装置 - Google Patents
乱数を発生するための方法および装置 Download PDFInfo
- Publication number
- JP2009531761A JP2009531761A JP2009502097A JP2009502097A JP2009531761A JP 2009531761 A JP2009531761 A JP 2009531761A JP 2009502097 A JP2009502097 A JP 2009502097A JP 2009502097 A JP2009502097 A JP 2009502097A JP 2009531761 A JP2009531761 A JP 2009531761A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bits
- generated
- random
- value
- 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
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
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)
- Storage Device Security (AREA)
Abstract
【解決手段】極めて一般的な方法では、コイン投げの結果は、ランダムに分布した同じ数の0ビットと1ビットとを含むランダムビットテーブルから1つのビットをランダムに選択することにより、再現される。発生すべき乱数はコイン投げシミュレーションのその後の結果からビットごとに組み合わせられる。従って、nRND個のビットBRi(ここで、1≦i≦nRND−1である)を有する乱数を発生するための方法は、a)mBFT個のアドレス指定可能なビットBTj(ここで、0≦j≦mBFT−1である)を有するスタティックビットテーブルBFT(このスタティックビットテーブルは同じ数の「0」ビットと「1」ビットとを任意の分布で含む)を設けるステップと、b)1≦i≦nRND−1の前記乱数のビットBRiに対し、0からmBFT−1までのレンジ内のアドレスFAを発生し、前記スタティックビットテーブルから前記アドレスFAを有するビットBTFAを選択し、前記スタティックビットテーブルからの前記ビットBTFAに等しくなるよう、前記乱数のうちの前記ビットBRi(BRi=BTFA)をセットするステップとを備える。
Description
a)mBFT個のアドレス指定可能なビットBTj(ここで、0≦j≦mBFT−1である)を有するスタティックビットテーブルBFT(このスタティックビットテーブルは同じ数の「0」ビットと「1」ビットとを任意の分布で含む)を設けるステップと、
b)1≦i≦nRNDの前記乱数のビットBRiに対し、0からmBFT−1までのレンジ内のアドレスFAを発生し、前記スタティックビットテーブルから前記アドレスFAを有するビットBTFAを選択し、前記スタティックビットテーブル(BRi=BTFA)からの前記ビットBTFAに等しくなるよう、前記乱数のうちの前記ビットBRiをセットするステップとを備える。
a)基本ランダム性値BRV(各基本ランダム性値BRVはlビットの長さを有している)の数qを提供するステップと、
b)前記q個の基本ランダム性値BRVのうちの各々のlビットのうちの選択されたビットを抽出し、前記選択されたビットから前記アドレスFAを組み立てるステップを備える。
同じ確率で(最後に発生されるものを含む)所定長さのビットストリングに対する理論的に可能な組み合わせのどれかを得るために、我々は、現在の疑似乱数発生器の代数学的アプローチを放棄しなければならない。本発明に係わる方法の基本的な「エンドレスな」可能性は、ビットフィッシングテーブル(BFT)とも称される乱数テーブルから主に生じるものである。
・次のLCG数を計算する。
・LCGからの、上方の32ビットと1つのFBMとを(4つのうちの1つを周期的に)XOR演算することにより、1つのBRVを(4つのうちの1つを周期的に)再計算する。
・特定の最終アドレス組み立てパラメータ(FAAP)に定義された選択されたビットを、「AND」命令により、BRV1から最終アドレス(FA)レジスタに転送する。
・次のFAAPに基づき、BRV2からの一部のビットを加える。
・BRV3からも同じように行う。
・BRV4からも同じように行う。
・これら演算の後で、BFTから抽出するためのビットのアドレスを得て、構築中の乱数にこのビットを加える。
Claims (15)
- nRND個のビットBRi(ここで、1≦i≦nRNDである)を有する乱数を発生するための方法であって、この方法は、
a)mBFT個のアドレス指定可能なビットBTj(ここで、0≦j≦mBFT−1である)を有するスタティックビットテーブルBFT(このスタティックビットテーブルは同じ数の「0」ビットと「1」ビットとを任意の分布で含む)を設けるステップと、
b)1≦i≦nRNDの前記乱数のビットBRiに対し、
i.0からmBFT−1までのレンジ内のアドレスFAを発生し、
ii.前記スタティックビットテーブルから前記アドレスFAを有するビットBTFAを選択し、
iii.前記スタティックビットテーブルからの前記ビットBTFAに等しくなるよう、前記乱数のうちの前記ビットBRiをセットする(ここでBRi=BTFAである)ステップとを備える、乱数を発生するための方法。 - アドレスFAを発生するための前記ステップは、
a)基本ランダム性値BRV(各基本ランダム性値BRVはlビットの長さを有している)の数qを提供するステップと、
b)前記q個の基本ランダム性値BRVのうちの各々のlビットのうちの選択されたビットを抽出し、前記選択されたビットから前記アドレスFAを組み立てるステップを備える、請求項1に記載の方法。 - 前記q個の基本ランダム性値BRVのlビットの選択されたビットを抽出する前記ステップは、前記q個の基本ランダム性値BRVの各々と多数の所定の特定の最終アドレスアセンブリパラメータFAAPのうちの選択されたビットとのAND演算を実行するステップを含み、前記選択されたビットからの前記アドレスFAを組み立てる前記ステップは、前記AND演算の結果を最終アドレスレジスタに転送するステップを含む、請求項2に記載の方法。
- 前記最終アドレスパラメータFAAPは、発生すべき乱数の各ビットBRiに対し、前記アドレスFAを組み立てるために、各基本ランダム性値BRVから選択されたビットの数pFAが同じ(pFA=mBFT/q)となるように構成されている、請求項3に記載の方法。
- 前記最終アドレスパラメータFAAPは、乱数のl/pFAビットBRiの発生の後に、基本ランダム性値BRVの前記lビットのうちの各ビットが正確に1回選択されているように構成されている、請求項4に記載の方法。
- 前記基本ランダム性値BRVは、
a)疑似乱数PRNDを発生し、
b)少なくとも1つのフィードバック変更子の値FBM(前記フィードバック変更子は、所定の数の、前に発生されたビットBRiによって影響される)を提供し、
c)前記発生された疑似乱数のうちの少なくとも一部と前記少なくとも1つのフィードバック変更子の値FBMとのXOR演算を実行することによって発生される、請求項2〜5のうちのいずれか1項に記載の方法。 - 前記基本ランダム性値BRVは、
a)リニア合同発生器によりlPRND(ここでlPRND≧l)のビット長さを有する疑似乱数PRNDを発生し、
b)lビットの長さを有する少なくとも1つのフィードバック変更子の値FBM(前記フィードバック変更子は、所定の数の、前に発生されたビットBRiによって影響される)を提供し、
c)前記発生された疑似乱数のうちの最後のlビットと前記少なくとも1つのフィードバック変更子の値FBMとのXOR演算を実行することによって発生される、請求項2〜5のうちのいずれか1項に記載の方法。 - 前記少なくとも1つのフィードバック変更子の値FBMは、所定のlビット長さの基本変更子の値BMと前に発生された最後のl個のビットBRiとのXOR演算を実行することによって発生される、請求項6または7に記載の方法。
- 前記少なくとも1つのフィードバック変更子の値FBMは周期的に更新される、請求項6または7のうちのいずれか1項に記載の方法。
- 前記少なくとも1つのフィードバック変更子の値FBMは、複数の所定のlビット長さの基本変更子の値BMのうちの1つと前に発生された最後のl個のビットBRiとのXOR演算を実行することによって発生され、フィードバック変更子の各発生後に、前記複数の基本変更子の値BMのうちの基本変更子の値BMを周期的に入れ替える、請求項8〜9のうちのいずれか1項に記載の方法。
- 2つの値のブロックを交互に満たすことによって、すなわち前記スタティックビットテーブル(BFT)のランダムに選択されたビットと発生された疑似乱数とのXOR演算の結果を1つのブロックに満たすこと、および発生された変更されていない疑似乱数で1つのブロックを満たすことを交互に行うことによって、本方法の初期化ステップ中に前記基本変更子の値BMを発生する、請求項8〜10のうちのいずれか1項に記載の方法。
- 請求項1〜11のうちのいずれか1項に記載の乱数を発生するための方法をプログラマブルプロセッサに実行させるようになっている命令を特徴とする、コンピュータで使用可能なメディアに記憶されたコンピュータプログラム製品。
- 前記プログラムがコンピュータで実行されるときに、請求項1〜11のうちのいずれか1項に記載の方法のすべてのステップを実行するためのプログラムコードを含むコンピュータプログラム。
- 前記プログラムがコンピュータで実行されるときに、請求項1〜11のうちのいずれか1項に記載の方法のすべてのステップを実行するためのプログラムコードを有するメモリ手段と、
請求項1〜11のうちのいずれか1項に記載の方法を実施するために、前記プログラムコードを実行させるための実行環境とを含むコンピュータデバイス。 - パワーアップごとに前記方法のための1つ以上の初期パラメータを補正するための手段を更に備える、請求項14に記載のコンピュータデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06112142A EP1840730A1 (en) | 2006-03-31 | 2006-03-31 | Method and apparatus for generating true random numbers |
PCT/EP2007/053045 WO2007113214A1 (en) | 2006-03-31 | 2007-03-29 | Method and apparatus for generating random numbers |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009531761A true JP2009531761A (ja) | 2009-09-03 |
Family
ID=37597075
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009502097A Pending JP2009531761A (ja) | 2006-03-31 | 2007-03-29 | 乱数を発生するための方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8370412B2 (ja) |
EP (2) | EP1840730A1 (ja) |
JP (1) | JP2009531761A (ja) |
CN (2) | CN102622204A (ja) |
CA (1) | CA2648080A1 (ja) |
WO (1) | WO2007113214A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1840730A1 (en) * | 2006-03-31 | 2007-10-03 | Alain Schumacher | Method and apparatus for generating true random numbers |
US20100058424A1 (en) * | 2008-08-26 | 2010-03-04 | Comcast Cable Holdings, Llc | System and method for controlling signal traffic peaks on a video interactive network |
US9160399B2 (en) | 2012-05-24 | 2015-10-13 | Massachusetts Institute Of Technology | System and apparatus for decoding tree-based messages |
FR3000826B1 (fr) | 2013-01-07 | 2015-01-16 | Morpho | Procede d'acces a l'ensemble des cellules d'une zone memoire a des fins d'ecriture ou de lecture de blocs de donnees dans lesdites cellules. |
CN109102616B (zh) * | 2013-05-30 | 2022-08-05 | 丁义荣 | 可验证的计算机排位方法 |
US9270412B2 (en) * | 2013-06-26 | 2016-02-23 | Massachusetts Institute Of Technology | Permute codes, iterative ensembles, graphical hash codes, and puncturing optimization |
US9645793B2 (en) * | 2013-12-05 | 2017-05-09 | Infineon Technologies Ag | Random permutation generator and method for generating a random permutation sequence |
CN105005462B (zh) * | 2015-09-06 | 2017-08-08 | 电子科技大学 | 一种混合式随机数发生器及其产生随机数的方法 |
KR101914701B1 (ko) * | 2016-12-29 | 2019-01-14 | 한국과학기술원 | 스토캐스틱 컴퓨팅 기반의 에스엔지 및 이를 이용한 뉴로모픽 회로 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59151184A (ja) * | 1983-01-07 | 1984-08-29 | ゼネラル・エレクトリツク・カンパニイ | ランダム・ノイズ・シミユレ−タ |
US4499551A (en) * | 1982-09-27 | 1985-02-12 | At&T Bell Laboratories | Rapid generation of discrete random variates from general distributions |
JPS62144243A (ja) * | 1985-12-18 | 1987-06-27 | Nec Corp | 乱数発生器 |
JPS6467022A (en) * | 1987-09-07 | 1989-03-13 | Mitsubishi Electric Corp | Digital noise generator |
JPH04123130A (ja) * | 1990-09-13 | 1992-04-23 | Nippon Telegr & Teleph Corp <Ntt> | 任意確率分布に従う擬似乱数の発生回路 |
JPH07134647A (ja) * | 1993-11-09 | 1995-05-23 | Matsushita Electric Ind Co Ltd | 乱数発生装置 |
FR2829643A1 (fr) * | 2001-09-12 | 2003-03-14 | Everbee Wireless Ltd | Procede pour generer des nombres aleatoires |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3703727A (en) * | 1971-06-18 | 1972-11-21 | Bell Telephone Labor Inc | Method for generating random numerical quantities |
US20030112970A1 (en) * | 2001-08-26 | 2003-06-19 | Arindam Mitra | How to generate unbreakable key through any communication channel |
JP3696209B2 (ja) * | 2003-01-29 | 2005-09-14 | 株式会社東芝 | シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器 |
EP1840730A1 (en) * | 2006-03-31 | 2007-10-03 | Alain Schumacher | Method and apparatus for generating true random numbers |
WO2008032044A1 (en) * | 2006-09-13 | 2008-03-20 | Astrium Limited | Random number generation |
-
2006
- 2006-03-31 EP EP06112142A patent/EP1840730A1/en not_active Withdrawn
-
2007
- 2007-03-29 EP EP07727517.0A patent/EP2002330B1/en active Active
- 2007-03-29 WO PCT/EP2007/053045 patent/WO2007113214A1/en active Application Filing
- 2007-03-29 US US12/294,660 patent/US8370412B2/en active Active
- 2007-03-29 CA CA002648080A patent/CA2648080A1/en not_active Abandoned
- 2007-03-29 CN CN2011104524214A patent/CN102622204A/zh active Pending
- 2007-03-29 JP JP2009502097A patent/JP2009531761A/ja active Pending
- 2007-03-29 CN CN 200780012334 patent/CN101416152A/zh active Pending
-
2013
- 2013-01-09 US US13/737,612 patent/US20140136584A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4499551A (en) * | 1982-09-27 | 1985-02-12 | At&T Bell Laboratories | Rapid generation of discrete random variates from general distributions |
JPS59151184A (ja) * | 1983-01-07 | 1984-08-29 | ゼネラル・エレクトリツク・カンパニイ | ランダム・ノイズ・シミユレ−タ |
JPS62144243A (ja) * | 1985-12-18 | 1987-06-27 | Nec Corp | 乱数発生器 |
JPS6467022A (en) * | 1987-09-07 | 1989-03-13 | Mitsubishi Electric Corp | Digital noise generator |
JPH04123130A (ja) * | 1990-09-13 | 1992-04-23 | Nippon Telegr & Teleph Corp <Ntt> | 任意確率分布に従う擬似乱数の発生回路 |
JPH07134647A (ja) * | 1993-11-09 | 1995-05-23 | Matsushita Electric Ind Co Ltd | 乱数発生装置 |
FR2829643A1 (fr) * | 2001-09-12 | 2003-03-14 | Everbee Wireless Ltd | Procede pour generer des nombres aleatoires |
Also Published As
Publication number | Publication date |
---|---|
WO2007113214A1 (en) | 2007-10-11 |
US8370412B2 (en) | 2013-02-05 |
CA2648080A1 (en) | 2007-10-11 |
US20100241680A1 (en) | 2010-09-23 |
US20140136584A1 (en) | 2014-05-15 |
EP1840730A1 (en) | 2007-10-03 |
EP2002330B1 (en) | 2015-05-20 |
CN102622204A (zh) | 2012-08-01 |
EP2002330A1 (en) | 2008-12-17 |
CN101416152A (zh) | 2009-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009531761A (ja) | 乱数を発生するための方法および装置 | |
US6275586B1 (en) | Cryptographically secure pseudo random number generator | |
US8131789B2 (en) | True random number generator | |
JP2014178716A (ja) | 不確定性ランダム値発生器 | |
TWI220041B (en) | Random number generator bit string filter | |
KR20090024804A (ko) | 난수 발생기 시스템, 난수 생성 방법 및 컴퓨터 판독가능 매체 | |
TW201636829A (zh) | 具有改進的排程效率之密碼編譯雜湊電路 | |
TW200409016A (en) | Microprocessor with random number generator and instruction for storing random data | |
AL-khatib et al. | Acoustic lightweight pseudo random number generator based on cryptographically secure LFSR | |
Matsumoto et al. | Common defects in initialization of pseudorandom number generators | |
TW200415507A (en) | Random number generator with selectable dual random bit string engines | |
Marsaglia | Seeds for random number generators | |
Yadav | Design and analysis of digital true random number generator | |
US8510359B2 (en) | Pseudo-random number generation device, pseudo-random number generation program, and medium containing pseudo-random number generation program | |
JP4709685B2 (ja) | 擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置 | |
US11907684B2 (en) | High clock-efficiency random number generation system and method | |
Occil | Random Number Generator Recommendations for Applications | |
JP4160150B2 (ja) | 遊技機用乱数装置 | |
JP6782863B1 (ja) | 乱数生成器 | |
Singh et al. | An empirical study of non-cryptographically secure pseudorandom number generators | |
US11237800B2 (en) | Time-shifted seed for random number generator | |
US20230273772A1 (en) | High clock-efficiency random number generation system and method | |
Chugunkov et al. | Develompent and Study of Stochastic Algorithms for Lightweight Devices Architecture | |
Wiśniewska | Comparing quality of pseudo-and true-random numbers obtained from different sources | |
Jackson et al. | Quadrivium: A Trivium-Inspired Pseudorandom Number Generator. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111004 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20111227 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120110 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120203 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120210 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120302 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120309 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120404 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120515 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120810 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120817 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121211 |