JP2007178966A - 擬似乱数を生成するアルゴリズム - Google Patents
擬似乱数を生成するアルゴリズム Download PDFInfo
- Publication number
- JP2007178966A JP2007178966A JP2005381394A JP2005381394A JP2007178966A JP 2007178966 A JP2007178966 A JP 2007178966A JP 2005381394 A JP2005381394 A JP 2005381394A JP 2005381394 A JP2005381394 A JP 2005381394A JP 2007178966 A JP2007178966 A JP 2007178966A
- Authority
- JP
- Japan
- Prior art keywords
- algorithm
- pseudo
- random number
- bit
- xor
- 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
Images
Abstract
【課題】作業用メモリを必要とせず、シフトとXORの単純な演算のみによって構成されている擬似乱数生成アルゴリズムを提供する。
【解決手段】メモリを必要とせず、単純な演算のみを使用して擬似乱数を生成するアルゴリズムを発明する。それはAC9365を定数としてシフトとXORで構成する擬似乱数生成アルゴリズムである。このアルゴリズムにより生成される擬似乱数が実用的な分散と周期を持つことが確認されている。ソフトで実現してもメルセンヌ・ツイスターより高速であるが、これを電子回路で実現することにより、より飛躍的に高速化させることが可能となる。
【選択図】図1
【解決手段】メモリを必要とせず、単純な演算のみを使用して擬似乱数を生成するアルゴリズムを発明する。それはAC9365を定数としてシフトとXORで構成する擬似乱数生成アルゴリズムである。このアルゴリズムにより生成される擬似乱数が実用的な分散と周期を持つことが確認されている。ソフトで実現してもメルセンヌ・ツイスターより高速であるが、これを電子回路で実現することにより、より飛躍的に高速化させることが可能となる。
【選択図】図1
Description
この発明は、擬似乱数を生成する方法に関する。
擬似乱数を生成する方法として世界標準とされているのは「メルセンヌ・ツイスター」と呼ばれるアルゴリズムである。
http://www.math.sci.hiroshima−u.ac.jp/〜m−mat/MT/emt.html
http://www.math.sci.hiroshima−u.ac.jp/〜m−mat/MT/emt.html
しかしながら、以上の技術によれば、作業用メモリを必要とし、アルゴリズムがやや複雑であることもあり、実行速度の向上に限界があった。
そこで、この発明は、電子回路上の1動作で擬似乱数を生成できるアルゴリズムを提供することを課題とする。
そこで、この発明は、電子回路上の1動作で擬似乱数を生成できるアルゴリズムを提供することを課題とする。
以上の課題を解決するために、第一発明は、作業用メモリを必要とせず、シフトとXORの単純な演算のみによって構成されていることを特徴とする擬似乱数生成アルゴリズムである。
第一発明によれば、作業用メモリを使用しないことで記憶回路を必要とせず、演算が単純であることで複雑な演算回路を必要としないため、電子回路上の1動作で擬似乱数を生成することが可能となる。
この発明の一実施形態を、図1に示す。
「他の実施形態」
この発明の電子回路上での一実施形態を、図2に示す。
図1、図2に示されるシフト演算は端にあるビットを切り捨ててしまうが、はみ出したビットを巡回させるローテート演算を適用することも可能である。
この発明の電子回路上での一実施形態を、図2に示す。
図1、図2に示されるシフト演算は端にあるビットを切り捨ててしまうが、はみ出したビットを巡回させるローテート演算を適用することも可能である。
図1の実施形態を電子回路上で実現することにより、現状のコンピュータの計算性能を向上させる可能性がある。
0x65AC9365UL 定数AC9365を示す32ビットの値
入力N 入力値の着目する1ビットを示す
入力N−3 着目するビットから3ビット前の入力を示す
入力N−9 着目するビットから9ビット前の入力を示す
入力N−15 着目するビットから15ビット前の入力を示す
入力N−21 着目するビットから21ビット前の入力を示す
定数N 着目するビットに対応するAC9365の中の1ビットを示す
中間N 着目するビットに対応する中間値を示す
中間N−3 着目するビットから3ビット前に対応する中間値を示す
中間N−4 着目するビットから4ビット前に対応する中間値を示す
中間N+3 着目するビットから3ビット後に対応する中間値を示す
中間N+4 着目するビットから4ビット後に対応する中間値を示す
出力N 着目するビットに対応する出力値を示す
XOR XOR演算を行う電子回路を示す
入力N 入力値の着目する1ビットを示す
入力N−3 着目するビットから3ビット前の入力を示す
入力N−9 着目するビットから9ビット前の入力を示す
入力N−15 着目するビットから15ビット前の入力を示す
入力N−21 着目するビットから21ビット前の入力を示す
定数N 着目するビットに対応するAC9365の中の1ビットを示す
中間N 着目するビットに対応する中間値を示す
中間N−3 着目するビットから3ビット前に対応する中間値を示す
中間N−4 着目するビットから4ビット前に対応する中間値を示す
中間N+3 着目するビットから3ビット後に対応する中間値を示す
中間N+4 着目するビットから4ビット後に対応する中間値を示す
出力N 着目するビットに対応する出力値を示す
XOR XOR演算を行う電子回路を示す
Claims (2)
- (イ)入力値を0,3,9,15,21回左シフトした値をXORする。
(ロ)定数AC9365をXORする。
(ハ)左右に3,4回シフトした値とシフト前の値をXORする。
以上のごとく構成された擬似乱数を生成するアルゴリズムである。 - (イ)入力値を0,3,9,15,21回左シフトした値をXORする。
(ロ)定数AC9365をXORする。
(ハ)左右に3,4回ローテートした値とローテート前の値をXORする。
以上のごとく構成された擬似乱数を生成するアルゴリズムである。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005381394A JP2007178966A (ja) | 2005-12-27 | 2005-12-27 | 擬似乱数を生成するアルゴリズム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005381394A JP2007178966A (ja) | 2005-12-27 | 2005-12-27 | 擬似乱数を生成するアルゴリズム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007178966A true JP2007178966A (ja) | 2007-07-12 |
Family
ID=38304175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005381394A Pending JP2007178966A (ja) | 2005-12-27 | 2005-12-27 | 擬似乱数を生成するアルゴリズム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007178966A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107209660A (zh) * | 2015-01-14 | 2017-09-26 | 日本电信电话株式会社 | 随机数生成装置、随机数生成方法以及程序 |
CN108563465A (zh) * | 2012-09-28 | 2018-09-21 | 英特尔公司 | 用于响应于单个指令来执行循环和异或的系统、装置和方法 |
-
2005
- 2005-12-27 JP JP2005381394A patent/JP2007178966A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563465A (zh) * | 2012-09-28 | 2018-09-21 | 英特尔公司 | 用于响应于单个指令来执行循环和异或的系统、装置和方法 |
CN107209660A (zh) * | 2015-01-14 | 2017-09-26 | 日本电信电话株式会社 | 随机数生成装置、随机数生成方法以及程序 |
CN107209660B (zh) * | 2015-01-14 | 2021-09-03 | 日本电信电话株式会社 | 随机数生成装置、随机数生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4374363B2 (ja) | ビットフィールド操作回路 | |
Wang et al. | FPGA implementation of a large-number multiplier for fully homomorphic encryption | |
JP5607832B2 (ja) | 汎用論理演算の方法および装置 | |
JP2008519330A5 (ja) | ||
JP2008304916A (ja) | 先験的に定義された統計的アーティファクトを有する混合基数変換 | |
US20060282744A1 (en) | Technique for performing cyclic redundancy code error detection | |
JP5341194B2 (ja) | リニアフィードバックシフト命令を実行するためのシステムおよび方法 | |
Seo et al. | Parallel implementations of LEA | |
JP2007178966A (ja) | 擬似乱数を生成するアルゴリズム | |
US20060253520A1 (en) | Processor core and multiplier that support both vector and single value multiplication | |
JP2950485B2 (ja) | ストリーム暗号処理装置 | |
JP2016514315A (ja) | 素数生成のための方法およびデバイス | |
JP5175983B2 (ja) | 演算装置 | |
JP3723115B2 (ja) | 単一命令多重データ処理 | |
JP2005322018A (ja) | 消費電力解析防止機能つき半導体装置 | |
JP2016201108A (ja) | 数学的関数を計算するためのシステム及び方法 | |
JP4709685B2 (ja) | 擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置 | |
JP2008146625A (ja) | 半導体集積回路のdbi信号生成装置および方法 | |
JP4547534B2 (ja) | 疑似乱数生成器強度評価装置及び暗号化装置 | |
EP3391264B1 (en) | Calculating device and method | |
JP4324968B2 (ja) | フレーム生成装置 | |
JP3315042B2 (ja) | 乗算装置 | |
JP4859536B2 (ja) | データ変換装置 | |
Nan et al. | Research of Special Instructions for Finite Field X Multiplications of Cryptographic Algorithms | |
JP2003296104A (ja) | プロセッサおよびアセンブラ/コンパイラ |