JP4351731B2 - 擬似乱数発生装置、擬似乱数発生プログラム及び擬似乱数発生プログラムを記録した媒体 - Google Patents
擬似乱数発生装置、擬似乱数発生プログラム及び擬似乱数発生プログラムを記録した媒体 Download PDFInfo
- Publication number
- JP4351731B2 JP4351731B2 JP2008542166A JP2008542166A JP4351731B2 JP 4351731 B2 JP4351731 B2 JP 4351731B2 JP 2008542166 A JP2008542166 A JP 2008542166A JP 2008542166 A JP2008542166 A JP 2008542166A JP 4351731 B2 JP4351731 B2 JP 4351731B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- value
- number generator
- random number
- elements
- 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
Images
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/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
このように、暗号用に品質の良い乱数が必要とされ、研究されているが、より小さな機材で動き、より速く、周期が長く、論理的に予測困難な乱数生成器を求める要望が強い。メルセンヌ・ツイスタは周期という点で優れているが、一定の乱数列を出力するとその先が予測可能となるため、暗号には向かないなど短所もあり、新しい擬似乱数発生装置の要求は高い。
一方、無限乱数式は一度使用した乱数表は2度と使わないという方式である。無限乱数式は同じ乱数を2度使わず1度限りの使用においては絶対に解読できないことが情報理論により証明されている暗号である。
電子計算機、小型携帯端末において強度の強い無限乱数式の暗号化を行うためには、高速で長周期の擬似乱数を生成する必要がある。本発明は、効率よく長周期の擬似乱数を発生し電子計算機、小型端末、電子機器に提供するためのものである。
[実施例1]
この実施例1では、擬似乱数の発生を行うプログラムおよび装置を開示する。図1は、実施例1及び後述する各実施例で使用するコンピュータシステム又は電子機器の全体構成図である。
%・・・剰余計算を示す記号である。
^ ・・・排他的論理輪を示す記号である。
++ ・・・インクリメント、値を一つ増加を意味する記号である。
[n ] ・・・配列を意味する記号である。nは配列の添字である。
* ・・・アドレス型変数の前に記す場合は、変数の示すアドレス上の値を示す。
0x・・・16進法の数値であることを示す。
従来の方式の問題点をあげると、最も一般的な合同二乗法という乱数の生成方式は32ビットの数値の二乗を計算し、特定の定数にて剰余をとり乱数とする。この場合、掛け算というもっともCPUの苦手な速度の遅い処理を行う。さらに32ビット(4バイト)未満のCPUの場合には素直にはこの32ビットの数値を直接行えため劇的に処理が遅くなるという欠点がある。
また、合同二乗法は数値の二乗により乱数を生成する。周期の長い乱数を生成するためには、桁数を増やせば良い。しかし、桁数を増やすほどCPUの処理は幾何級数的に増加しどんどん処理が遅くなっていく。
本発明はこのように、従来の方式に比べメモリ交換というCPUの基本機能のみにより実現している。さらに、乱数の周期を長くするためには内部のテーブルを大きくするだけで直線的に増加するという性質を示している。
これより、計算機において効率よく長周期の乱数を生成することに成功している。
S1012 ROMBIOS(記憶手段)
S1013 メモリ装置(記憶手段)
S1014,S10017,S10018 システムバス
S1015,S10016 アダプタ
S1020 ホストI/F
S1030 HDD(記憶手段)
S1019 リーダライタ
S1040 USB装置(記憶手段)
Claims (9)
- 情報の記憶装置と、この記憶装置に格納され複数の要素を持つメモリテーブルAと、このメモリテーブルAの要素に格納されている値を取り出して、当該値を乱数値として出力する乱数値出力手段と、前記メモリテーブルAの内部の要素を並べ替えるテーブル変更手段とを備えると共に、前記記憶装置に複数の要素を持つメモリテーブルBを備え、
前記テーブル変更手段が、このメモリテーブルBの要素が持つ数値に従い、前記メモリテーブルAの内部の要素を並べ替える機能を有する擬似乱数発生装置において、
前記メモリテーブルBの前記複数の各要素が、素数を持つようにし、
かつ、前記テーブル変更手段は、前記メモリテーブルAの要素を順番に逐次選択し、現在選択している要素に対してp要素先の要素と内容を入れ替える機能を有し、そのために数値pとして前記メモリテーブルBの素数の値を順次取得する機能を有することを特徴とした擬似乱数発生装置。 - 請求項1記載の擬似乱数発生装置において、
前記記憶装置に、前記メモリテーブルAの任意の要素を指し示すためのインデックスメモリNを備え、前記テーブル変更手段は、このインデックスメモリNの値が指し示すメモリテーブルAの要素に対して内容の変更を行うことを特徴とした擬似乱数発生装置。 - 前記テーブル変更手段は、前記インデックスメモリNにより、メモリテーブルAの内容を変更した後、インデックスメモリNの値を定数Kの値だけ加算する機能を備え、当該加算の結果、インデックスメモリNの値が前記メモリテーブルA の終端以降を指し示す場合、インデックスメモリNの値を前記メモリテーブルAの先頭を指し示す値に変更することを特徴とした請求項2記載の擬似乱数発生装置。
- 前記記憶装置は、前記メモリテーブルBの任意の要素を指し示すためのインデックスメモリMを備え、前記テーブル変更手段は、このインデックスメモリMの値が指し示す前記メモリテーブルBの要素を取り出して前記値pとして前記メモリテーブルAの操作を行うことを特徴とした請求項1記載の擬似乱数発生装置。
- 前記テーブル変更手段は、前記インデックスメモリMにより、前記メモリテーブルBより値pを取得した後、インデックスメモリMの値を定数Kの値だけ加算する機能を備え、当該加算の結果、インデックスメモリMの値がメモリテーブルB の終端以降を指し示す場合、インデックスメモリMの値を前記メモリテーブルBの先頭を指し示す値に変更することを特徴とした請求項4記載の擬似乱数発生装置。
- 請求項2記載の擬似乱数発生装置において、
前記インデックスメモリNの値を本装置の外部より受け付ける手段と、当該受け付けた値をインデックスメモリNに設定する手段とを備えたことを特徴とする擬似乱数発生装置。 - 請求項4記載の擬似乱数発生装置において、
前記インデックスメモリMの値を本装置の外部より受け付ける手段と、当該受け付けた値をインデックスメモリMに設定する手段とを備えたことを特徴とする擬似乱数発生装置。 - 請求項1乃至7のいずれかの擬似乱数発生装置において、前記各手段の動作を処理装置に実行させることを特徴とした擬似乱数発生プログラム。
- 請求項8記載の擬似乱数発生プログラムを記録した媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006297184 | 2006-10-31 | ||
JP2006297184 | 2006-10-31 | ||
PCT/JP2007/071256 WO2008053936A1 (fr) | 2006-10-31 | 2007-10-31 | Dispositif de génération de nombres pseudo-aléatoires, programme de génération de nombres pseudo-aléatoires, et support contenant un programme de génération de nombres pseudo-aléatoires |
Publications (2)
Publication Number | Publication Date |
---|---|
JP4351731B2 true JP4351731B2 (ja) | 2009-10-28 |
JPWO2008053936A1 JPWO2008053936A1 (ja) | 2010-02-25 |
Family
ID=39344277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008542166A Expired - Fee Related JP4351731B2 (ja) | 2006-10-31 | 2007-10-31 | 擬似乱数発生装置、擬似乱数発生プログラム及び擬似乱数発生プログラムを記録した媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8510359B2 (ja) |
JP (1) | JP4351731B2 (ja) |
WO (1) | WO2008053936A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8671261B2 (en) * | 2011-04-14 | 2014-03-11 | Microsoft Corporation | Lightweight random memory allocation |
US8793296B2 (en) | 2012-02-02 | 2014-07-29 | Kaohsiung Medical University | Random number generating method |
US9535957B1 (en) | 2015-11-24 | 2017-01-03 | International Business Machines Corporation | Electronic file management based on user affinity |
CN107203365B (zh) * | 2016-03-17 | 2020-09-08 | 阿里巴巴集团控股有限公司 | 随机数的生成及获取方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04182828A (ja) | 1990-11-19 | 1992-06-30 | Fujitsu Ltd | 擬似乱数によるテーブル内エントリー選択方式 |
JP4182828B2 (ja) | 2003-06-30 | 2008-11-19 | 沖電気工業株式会社 | 羽根車機構 |
JP2005149412A (ja) | 2003-11-19 | 2005-06-09 | Toshiba Corp | メモリシャッフル装置、メモリシャッフル方法及びプログラム |
EP1875405B1 (en) * | 2005-04-20 | 2013-11-27 | NDS Limited | Improved cipher system |
JP4718455B2 (ja) * | 2005-09-09 | 2011-07-06 | 三菱電機株式会社 | 擬似乱数生成装置及び擬似乱数生成方法及び擬似乱数生成プログラム |
-
2007
- 2007-10-31 US US12/446,995 patent/US8510359B2/en active Active
- 2007-10-31 JP JP2008542166A patent/JP4351731B2/ja not_active Expired - Fee Related
- 2007-10-31 WO PCT/JP2007/071256 patent/WO2008053936A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20100115231A1 (en) | 2010-05-06 |
JPWO2008053936A1 (ja) | 2010-02-25 |
WO2008053936A1 (fr) | 2008-05-08 |
US8510359B2 (en) | 2013-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6106752B2 (ja) | 状態機械エンジンのための結果生成 | |
JP3585800B2 (ja) | 情報処理装置 | |
KR101778175B1 (ko) | 수평 치환을 이용한 벡터 간접 엘리먼트 수직 어드레싱 모드 | |
JP4351731B2 (ja) | 擬似乱数発生装置、擬似乱数発生プログラム及び擬似乱数発生プログラムを記録した媒体 | |
TWI785064B (zh) | 用於測試向量元素內部的位元值的設備、方法、電腦程式及電腦可讀儲存媒體 | |
JP6041987B2 (ja) | 状態機械エンジンにおいて状態ベクトルデータを使用するための方法およびシステム | |
JP2015531111A (ja) | 状態機械エンジンが受信したデータを取り扱うための方法およびシステム | |
EP1890237A1 (en) | Computer system and program creating device | |
EP3188063A1 (en) | A build system | |
JP2004102498A5 (ja) | ||
WO2008001918A1 (fr) | Dispositif de production de nombres aléatoires, dispositif de chiffrement/déchiffrement utilisant un tel dispositif, programme et support d'enregistrement de programme | |
CA2648080A1 (en) | Method and apparatus for generating random numbers | |
US9344115B2 (en) | Method of compressing and restoring configuration data | |
JP6848457B2 (ja) | 試験装置、試験プログラム生成方法及び試験方法 | |
JP2008135893A (ja) | 使い捨ての暗号鍵を添付する暗号化文書を作成する暗号化装置およびプログラム | |
JP5387089B2 (ja) | プログラム及びプログラム実行装置 | |
CN101615118B (zh) | 导出原型的方法及装置 | |
JP2019087206A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN110337637B (zh) | 数据处理方法和设备 | |
JP2013045072A (ja) | 演算装置 | |
CN109344575B (zh) | Lua脚本文件处理方法、装置及计算设备 | |
JP3861452B2 (ja) | プロセッサおよびプログラム生成装置 | |
KR100658918B1 (ko) | 블록 단위 입출력 명령어를 이용한 시스템 전역 변수초기화 장치 및 그 방법 | |
JP6012355B2 (ja) | 制御機器、制御システム、データ格納方法及びプログラム | |
JP5918062B2 (ja) | テスト装置、テスト方法及びテストプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090626 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090724 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120731 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4351731 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120731 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150731 Year of fee payment: 6 |
|
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 |
|
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 |