JP2007178966A - 擬似乱数を生成するアルゴリズム - Google Patents

擬似乱数を生成するアルゴリズム Download PDF

Info

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
Application number
JP2005381394A
Other languages
English (en)
Inventor
Shuichi Kamizono
秀一 神薗
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2005381394A priority Critical patent/JP2007178966A/ja
Publication of JP2007178966A publication Critical patent/JP2007178966A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】作業用メモリを必要とせず、シフトとXORの単純な演算のみによって構成されている擬似乱数生成アルゴリズムを提供する。
【解決手段】メモリを必要とせず、単純な演算のみを使用して擬似乱数を生成するアルゴリズムを発明する。それはAC9365を定数としてシフトとXORで構成する擬似乱数生成アルゴリズムである。このアルゴリズムにより生成される擬似乱数が実用的な分散と周期を持つことが確認されている。ソフトで実現してもメルセンヌ・ツイスターより高速であるが、これを電子回路で実現することにより、より飛躍的に高速化させることが可能となる。
【選択図】図1

Description

この発明は、擬似乱数を生成する方法に関する。
擬似乱数を生成する方法として世界標準とされているのは「メルセンヌ・ツイスター」と呼ばれるアルゴリズムである。
http://www.math.sci.hiroshima−u.ac.jp/〜m−mat/MT/emt.html
しかしながら、以上の技術によれば、作業用メモリを必要とし、アルゴリズムがやや複雑であることもあり、実行速度の向上に限界があった。
そこで、この発明は、電子回路上の1動作で擬似乱数を生成できるアルゴリズムを提供することを課題とする。
以上の課題を解決するために、第一発明は、作業用メモリを必要とせず、シフトとXORの単純な演算のみによって構成されていることを特徴とする擬似乱数生成アルゴリズムである。
第一発明によれば、作業用メモリを使用しないことで記憶回路を必要とせず、演算が単純であることで複雑な演算回路を必要としないため、電子回路上の1動作で擬似乱数を生成することが可能となる。
この発明の一実施形態を、図1に示す。
「他の実施形態」
この発明の電子回路上での一実施形態を、図2に示す。
図1、図2に示されるシフト演算は端にあるビットを切り捨ててしまうが、はみ出したビットを巡回させるローテート演算を適用することも可能である。
図1の実施形態を電子回路上で実現することにより、現状のコンピュータの計算性能を向上させる可能性がある。
この発明の一実施形態を示したC言語プログラムである。 この発明の一実施形態を示す、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演算を行う電子回路を示す

Claims (2)

  1. (イ)入力値を0,3,9,15,21回左シフトした値をXORする。
    (ロ)定数AC9365をXORする。
    (ハ)左右に3,4回シフトした値とシフト前の値をXORする。
    以上のごとく構成された擬似乱数を生成するアルゴリズムである。
  2. (イ)入力値を0,3,9,15,21回左シフトした値をXORする。
    (ロ)定数AC9365をXORする。
    (ハ)左右に3,4回ローテートした値とローテート前の値をXORする。
    以上のごとく構成された擬似乱数を生成するアルゴリズムである。
JP2005381394A 2005-12-27 2005-12-27 擬似乱数を生成するアルゴリズム Pending JP2007178966A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107209660A (zh) * 2015-01-14 2017-09-26 日本电信电话株式会社 随机数生成装置、随机数生成方法以及程序
CN108563465A (zh) * 2012-09-28 2018-09-21 英特尔公司 用于响应于单个指令来执行循环和异或的系统、装置和方法

Cited By (3)

* Cited by examiner, † Cited by third party
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) プロセッサおよびアセンブラ/コンパイラ