JP2005228169A - 乱数生成装置 - Google Patents
乱数生成装置 Download PDFInfo
- Publication number
- JP2005228169A JP2005228169A JP2004037592A JP2004037592A JP2005228169A JP 2005228169 A JP2005228169 A JP 2005228169A JP 2004037592 A JP2004037592 A JP 2004037592A JP 2004037592 A JP2004037592 A JP 2004037592A JP 2005228169 A JP2005228169 A JP 2005228169A
- Authority
- JP
- Japan
- Prior art keywords
- register
- unit
- complement
- binary code
- 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
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
- G06F7/586—Pseudo-random number generators using an integer algorithm, e.g. using linear congruential method
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)
- Complex Calculations (AREA)
Abstract
【課題】任意の桁数の2進数に対してロジスティック写像を施す場合に、nビットの乗算器を用いて、精度の高い乱数を生成することができる乱数生成装置を提供する。
【解決手段】乱数生成装置は、固定小数点表示で表現した0より大きく1より小さな数を、m×n(m、nは2以上の整数)ビットで格納する格納レジスタと、格納レジスタに初期値を設定する初期値設定部と、格納レジスタに格納された値の補数を生成する補数生成部と、補数生成部が生成した補数をm×nビットで格納する補数レジスタと、格納レジスタの値と補数レジスタの値とを乗算して(2m×n−2)ビットで出力する演算処理部と、演算処理部が出力する値の上位(m×n)ビットを抽出して、格納レジスタに格納させる抽出部と、加算レジスタが格納する値の少なくとも一部を乱数の値として出力する乱数出力部と、乱数の出力を繰り返し行わせる繰り返し制御部とを備える。
【選択図】図1
【解決手段】乱数生成装置は、固定小数点表示で表現した0より大きく1より小さな数を、m×n(m、nは2以上の整数)ビットで格納する格納レジスタと、格納レジスタに初期値を設定する初期値設定部と、格納レジスタに格納された値の補数を生成する補数生成部と、補数生成部が生成した補数をm×nビットで格納する補数レジスタと、格納レジスタの値と補数レジスタの値とを乗算して(2m×n−2)ビットで出力する演算処理部と、演算処理部が出力する値の上位(m×n)ビットを抽出して、格納レジスタに格納させる抽出部と、加算レジスタが格納する値の少なくとも一部を乱数の値として出力する乱数出力部と、乱数の出力を繰り返し行わせる繰り返し制御部とを備える。
【選択図】図1
Description
本発明は、乱数を生成する乱数生成装置に関する。
従来、ロジスティック写像Xt+1=CXt(1−Xt)、Xt=Xt+1が、C=4の場合に精度の高い乱数を生成することが知られている(例えば、非特許文献1参照)。
庄野克房著「カオス エンジニアリンング」シュプリンガー・フェアラーク東京株式会社、2002年11月18日
庄野克房著「カオス エンジニアリンング」シュプリンガー・フェアラーク東京株式会社、2002年11月18日
しかし、汎用のコンピュータに用いられている乗算器は、32ビット幅のものが多く、丸め誤差等によって、ロジスティック写像の結果に周期性が現れ、精度の高い乱数を生成するのが困難であった。
そこで本発明は、上記の課題を解決することのできる乱数生成装置を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
本発明の第1の形態は、乱数を生成する乱数生成装置であって、小数点以下の桁がm×n(m、nは2以上の整数)ビットの固定小数点表示で表現した0より大きく1より小さな数を、m×nビットの2進コードで格納する格納レジスタと、格納レジスタに初期値を設定する初期値設定部と、格納レジスタに格納された2進コードの補数を生成する補数生成部と、補数生成部により生成されるm×nビットの補数を格納する補数レジスタと、nビットの2進コード同士の積を、2nビットの2進コードで出力する乗算部と、乗算部が積として出力する2nビットの2進コードにおける、下位の(2n−2)ビットを格納する積格納レジスタと、整数i、j(1≦i、j≦m)の各組み合わせに対応して、格納レジスタにおける、下位の{(i−1)×n+1}ビット目から(i×n)ビット目までの値が示す2進コードと、補数レジスタにおける、下位の{(j−1)×n+1}ビット目から(j×n)ビット目までの値が示す2進コードとの積を、乗算部に順次出力させ、積格納レジスタに格納させる演算制御部と、整数i、jの各組み合わせに対応する積を乗算部が積格納レジスタに格納した場合に、当該積を、{(i+j−2)×n}ビット上位にシフトさせるビットシフト部と、(2m×n−2)ビットの加算レジスタと、加算レジスタに格納されている値を読み出し、読み出した当該値と、ビットシフト部がビットシフトを行った2進コードとを加算した値に、加算レジスタを書き換える加算処理部と、加算レジスタに格納されている値における、上位(m×n)ビットの値が示す2進コードを抽出して、格納レジスタに格納させる抽出部と、加算レジスタが格納する2進コードの少なくとも一部を、乱数の値として出力する乱数出力部と、格納レジスタが新たな2進コードを格納した場合に、補数生成部と、演算制御部と、抽出部と、乱数出力部とに、当該新たな2進コードに対応して、新たな補数の生成と、乗算部の制御と、新たな加算結果の出力と、更に新たな2進コードの抽出と、乱数の値の出力とを行わせる繰り返し制御部とを備える。このように、nビットの乗算器を繰り返し用いることにより、乱数生成装置は、m×nビットの桁数の2進コードの値に基づいて、精度の高い乱数を生成することができる。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本発明の一実施形態に係る乱数生成装置100の構成を示す。本実施形態の乱数生成装置100は、m×n(m、nは2以上の整数)ビットの2進コードに対してロジスティック写像を施す場合に、nビットの乗算器を用いて、nビットの乗算を繰り返し行うことにより、精度の高い乱数を生成する。乱数生成装置100は、初期値設定部102、格納レジスタ104、補数生成部106、補数レジスタ108、演算処理部110、抽出部112、乱数出力部114、および繰り返し制御部116を備える。
格納レジスタ104は、小数点以下の桁がm×nビットの固定小数点表示で表現した0より大きく1より小さな数(Xt)を、m×nビットの2進コードで格納する。例えば、m=3、n=2の場合、0.171875は、001011という6ビットの2進コードで表現される。初期値設定部102は、格納レジスタ104に初期値(X0)を設定する。なお、0.25、0.5、0.75、全てのビットが1で表現される値、および全てのビットが0で表現される値は、ロジスティック写像を施すと、結果が収束することが知られている(非特許文献1参照。)。そのため、初期値としては、0.25、0.5、0.75、全てのビットが1で表現される値、および全てのビットが0で表現される値は、格納レジスタ104に設定されない。
補数生成部106は、格納レジスタ104に格納された2進コードの補数(1−Xt)を生成する。本例において、補数とは、2の補数である。補数レジスタ108は、補数生成部106により生成されるm×nビットの補数を格納する。演算処理部110は、格納レジスタ104が格納しているm×nビットの数(Xt)と補数レジスタ108が格納しているm×nビットの補数(1−Xt)とを乗算し、その結果(Xt(1−Xt))を(2m×n−2)ビットの2進コードで出力する。抽出部112は、演算処理部110が出力する2進コードにおける、上位(m×n)ビットの値が示す2進コードを抽出して、格納レジスタ104に格納させる。
乱数出力部114は、2ビット上位へシフトさせることにより、演算処理部110が出力する2進コードを4倍して、(2m×n)ビットの乱数の値(4Xt(1−Xt))として出力する。この場合、乱数出力部114は、生成した乱数の値の一部を出力してもよい。演算処理部110が出力する乱数の値の最上位ビットは、精度の高い乱数であることが知られている(非特許文献1参照。)。また、乱数出力部114は、(2m×n)ビットの乱数の値を1回のロジスティック写像で生成することができるので、生成された乱数の系列はPN(Pseudo Noise)信号として利用することができる。
繰り返し制御部116は、格納レジスタ104が新たな2進コードを格納した場合に、補数生成部106と、演算処理部110と、抽出部112と、乱数出力部114とに、当該新たな2進コードに対応して、新たな補数の生成と、乗算結果の出力と、更に新たな2進コードの抽出と、乱数の値の出力とを行わせる。このようにして、乱数生成装置100は、初期値設定部102によって設定された初期値に基づいて乱数を生成する。
図2は、格納レジスタ104の詳細な構成の一例を示す。以降、m=3、n=32の場合を例に説明する。格納レジスタ104は、96ビットの2進コードを格納する。格納レジスタ104は、ブロック202−1、ブロック202−2、およびブロック202−3を備える。格納レジスタ104が格納する2進コードの下位32ビットであるビット0から31は、ブロック202−1に、上位32ビットであるビット64から95は、ブロック202−3にそれぞれ格納される。格納レジスタ104が格納する2進コードのビット32から63は、ブロック202−2に格納される。
図3は、補数レジスタ108の詳細な構成の一例を示す。本例における補数レジスタ108は、格納レジスタ104に格納された2進コードの補数を96ビットの2進コードで格納する。補数レジスタ108は、ブロック204−1、ブロック204−2、およびブロック204−3を備える。補数レジスタ108が格納する2進コードの下位32ビットであるビット0から31は、ブロック204−1に、上位32ビットであるビット64から95は、ブロック204−3にそれぞれ格納される。補数レジスタ108が格納する2進コードのビット32から63は、ブロック204−2に格納される。
図4は、演算処理部110の乗算動作を説明するための概念図である。A1、A2、およびA3は、ブロック202−1、ブロック202−2、およびブロック202−3にそれぞれ対応し、B1、B2、およびB3は、ブロック204−1、ブロック204−2、およびブロック204−3にそれぞれ対応している。演算処理部110は、整数i、j(1≦i、j≦m)の組み合わせに対応して、AiとBjとを乗算し、積Ci,jを出力する。本例において、mの値は3なので、演算処理部110は、整数i、j(1≦i、j≦3)の組み合わせに対応して9通りの積Ci,jを出力する。
次に、演算処理部110は、積C1,2および積C2,1を32ビット上位へ、積C3,1、積C2,2、および積C1,3を64ビット上位へ、積C3,2および積C2,3を96ビット上位へ、積C3,3を128ビット上位へ、それぞれシフトさせる。そして、演算処理部110は、C1,1にシフトさせた後の全ての積Ci,jを加算して加算結果Dを生成し、抽出部112および乱数出力部114へ出力する。このようにして、演算処理部110は、1回の乗算に32ビットの乗算器を繰り返し使用することにより、m×nビットの2進コードの乗算を行うことができる。これにより、例えば、汎用のPC(Personal Computer)等に使用されている32ビットの乗算器を用いて精度の高い乱数を生成することができるので、乱数生成器を安価に構成することができる。
図5は、演算処理部110の詳細な構成の一例を示す。演算処理部110は、演算制御部302、格納レジスタ読み出し部304、補数レジスタ読み出し部306、乗算部308、積格納レジスタ310、および加算部312を備える。乗算部308は、nビットの2進コード同士の積を、2nビットの2進コードで出力する。本例において、乗算部308は、32ビットの2進コード同士の積を、64ビットの2進コードで出力する。積格納レジスタ310は、乗算部308が積として出力する2nビットの2進コードにおける、下位の(2n−2)ビットを格納する。
本例において、ロジスティック写像の特性から、格納レジスタ104には、0.5、即ち最上位ビットが1であり、かつそれ以外のビットが0である2進コードが初期値として設定されることはない。そのため、補数レジスタ108にも最上位ビットが1であり、かつそれ以外のビットが0である2進コードが設定されることはない。更に、最上位ビットが1であり、かつそれ以外のビットが0である2進コード以外の2進コードとその2の補数との乗算結果は、上位2ビットが00になる。そのため、積格納レジスタ310は、乗算部308が出力する2nビットの積Cの、下位(2n−2)ビットを格納する。これにより、レジスタのビット数および配線を削減することができるので、回路規模を削減することができる。
格納レジスタ読み出し部304は、格納レジスタ104のいずれかのブロック202を、演算制御部302の制御信号に基づいて読み出して、乗算部308へ送る。補数レジスタ読み出し部306は、補数レジスタ108のいずれかのブロック204を、演算制御部302の制御信号に基づいて読み出して、乗算部308へ送る。演算制御部302は、整数i、j(1≦i、j≦m)の各組み合わせに対応して、格納レジスタ104における、下位の{(i−1)×n+1}ビット目から(i×n)ビット目までの値が示す2進コードと、補数レジスタ108における、下位の{(j−1)×n+1}ビット目から(j×n)ビット目までの値が示す2進コードとの積を、乗算部308に順次出力させ、積格納レジスタ310に格納させる。加算部312は、整数i、j(1≦i、j≦m)の各組み合わせに対応して積格納レジスタ310が格納する積を、それぞれ{(i+j−2)×n}ビット上位へシフトさせて順次加算することにより、加算結果Dを生成する。
図6は、加算部312の詳細な構成の一例を示す。加算部312は、ビットシフト部402、加算処理部404、および加算レジスタ406を備える。ビットシフト部402は、整数i、jの各組み合わせに対応する積を乗算部308が積格納レジスタ310に格納した場合に、当該積を、{(i+j−2)×n}ビット上位にシフトさせる。加算レジスタ406は、(2m×n−2)ビットのレジスタである。本例において、m=3、n=32なので、加算レジスタ406は、190ビットのビット幅である。加算処理部404は、加算レジスタ406に格納されている値を読み出し、読み出した当該値と、ビットシフト部402がビットシフトを行った2進コードとを加算した値に、加算レジスタ406を書き換える。そして、抽出部112は、加算レジスタ406に格納されている値における、上位(m×n)ビットの値が示す2進コードを抽出して、格納レジスタ104に格納させる。また、乱数出力部114は、加算レジスタ406が格納する2進コードを上位へ2ビットシフトさせることにより4倍し、192ビットの乱数を生成する。そして、乱数出力部114は、生成した乱数の少なくとも一部を出力する。
図7は、乱数生成装置100の動作の一例を示すフローチャートである。所定のタイミングにより、本フローチャートに示す乱数生成装置100の動作は開始する。まず、初期値設定部102は、格納レジスタ104に初期値X0を設定する(S102)。そして、補数生成部106は、格納レジスタ104に格納された値Xtの補数(1−Xt)を生成し、補数レジスタ108に格納する(S104)。次に、乱数生成装置100は、加算レジスタ406の値Dを0に初期化する(S106)。演算制御部302は、変数Eを0に、変数iおよびjを1にそれぞれ初期化する(S108)。そして、演算制御部302は、乗算部308に、変数i、jの組み合わせに対応する格納レジスタ104のブロック202であるAiと、補数レジスタ108のブロック204であるBjとの積Ci,jを出力させ、積格納レジスタ310に格納させる(S110)。
次に、ビットシフト部402は、積格納レジスタ310に格納された積Ci,jを、{(i+j−2)×32}ビット上位へシフトさせる(S112)。そして、加算処理部404は、加算レジスタ406に格納されている値を読み出し、読み出した当該値と、ビットシフト部402がビットシフトを行った2進コードとを加算し、加算した当該値に、加算レジスタ406を書き換える(S114)。次に、演算制御部302は、変数iの値が3であるか否かを判定する(S116)。変数iの値が3ではない場合(S116:No)、演算制御部302は、変数iの値に1を加える(S118)。そして、演算制御部302は、再び、乗算部308に、変数i、jの組み合わせに対応するAiとBjとの積Ci,jを出力させ、積格納レジスタ310に格納させる(S110)。
変数iの値が3である場合(S116:Yes)、演算制御部302は、変数iの値を1に初期化する(S120)。そして、演算制御部302は、変数jの値が3であるか否かを判定する(S122)。変数jの値が3ではない場合(S122:No)、演算制御部302は、変数jの値に1を加える(S124)。そして、演算制御部302は、再び、乗算部308に、変数i、jの組み合わせに対応するAiとBjとの積Ci,jを出力させ、積格納レジスタ310に格納させる(S110)。
変数jの値が3である場合(S122:Yes)、乱数出力部114は、加算レジスタ406に格納された加算結果Dを2ビット上位へシフトさせることにより4倍して192ビットの2進コードを生成し、生成した2進コードの一部を乱数の値として出力し(S126)、本フローチャートに示す乱数生成装置100の動作は終了する。なお、ステップ108からステップ126を繰り返すことにより、初期値X0に応じた乱数の系列を生成し続けることもできる。
上記説明から明らかなように、本実施形態の乱数生成装置100によれば、m×nビットの2進コードに対してロジスティック写像を施す場合に、nビットの乗算器を用いて、nビットの乗算を繰り返し行うことにより、精度の高い乱数を生成することができる。本実施形態の乱数生成装置100によって生成された乱数の値を用いて、暗号化を行うことにより、秘匿性の高い通信を行うことができる。また、本実施形態の乱数生成装置100によって生成された乱数を用いることにより、巡回セールスマン問題等を、従来の汎用PCよりも高速に解くことができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
100 乱数生成装置
102 初期値設定部
104 格納レジスタ
106 補数生成部
108 補数レジスタ
110 演算処理部
112 抽出部
114 乱数出力部
116 繰り返し制御部
202 ブロック
204 ブロック
302 演算制御部
304 格納レジスタ読み出し部
306 補数レジスタ読み出し部
308 乗算部
310 積格納レジスタ
312 加算部
402 ビットシフト部
404 加算処理部
406 加算レジスタ
102 初期値設定部
104 格納レジスタ
106 補数生成部
108 補数レジスタ
110 演算処理部
112 抽出部
114 乱数出力部
116 繰り返し制御部
202 ブロック
204 ブロック
302 演算制御部
304 格納レジスタ読み出し部
306 補数レジスタ読み出し部
308 乗算部
310 積格納レジスタ
312 加算部
402 ビットシフト部
404 加算処理部
406 加算レジスタ
Claims (1)
- 乱数を生成する乱数生成装置であって、
小数点以下の桁がm×n(m、nは2以上の整数)ビットの固定小数点表示で表現した0より大きく1より小さな数を、m×nビットの2進コードで格納する格納レジスタと、
前記格納レジスタに初期値を設定する初期値設定部と、
前記格納レジスタに格納された2進コードの補数を生成する補数生成部と、
前記補数生成部により生成されるm×nビットの前記補数を格納する補数レジスタと、
nビットの2進コード同士の積を、2nビットの2進コードで出力する乗算部と、
前記乗算部が前記積として出力する2nビットの2進コードにおける、下位の(2n−2)ビットを格納する積格納レジスタと、
整数i、j(1≦i、j≦m)の各組み合わせに対応して、前記格納レジスタにおける、下位の{(i−1)×n+1}ビット目から(i×n)ビット目までの値が示す2進コードと、前記補数レジスタにおける、下位の{(j−1)×n+1}ビット目から(j×n)ビット目までの値が示す2進コードとの積を、前記乗算部に順次出力させ、前記積格納レジスタに格納させる演算制御部と、
整数i、jの各組み合わせに対応する前記積を前記乗算部が前記積格納レジスタに格納した場合に、当該積を、{(i+j−2)×n}ビット上位にシフトさせるビットシフト部と、
(2m×n−2)ビットの加算レジスタと、
前記加算レジスタに格納されている値を読み出し、読み出した当該値と、前記ビットシフト部がビットシフトを行った2進コードとを加算した値に、前記加算レジスタを書き換える加算処理部と、
前記加算レジスタに格納されている値における、上位(m×n)ビットの値が示す2進コードを抽出して、前記格納レジスタに格納させる抽出部と、
前記加算レジスタが格納する2進コードの少なくとも一部を、乱数の値として出力する乱数出力部と、
前記格納レジスタが新たな2進コードを格納した場合に、前記補数生成部と、前記演算制御部と、前記抽出部と、前記乱数出力部とに、当該新たな2進コードに対応して、新たな補数の生成と、前記乗算部の制御と、新たな加算結果の出力と、更に新たな2進コードの抽出と、乱数の値の出力とを行わせる繰り返し制御部と
を備える乱数生成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004037592A JP2005228169A (ja) | 2004-02-16 | 2004-02-16 | 乱数生成装置 |
PCT/JP2005/002336 WO2005078574A1 (ja) | 2004-02-16 | 2005-02-16 | 乱数生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004037592A JP2005228169A (ja) | 2004-02-16 | 2004-02-16 | 乱数生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005228169A true JP2005228169A (ja) | 2005-08-25 |
Family
ID=34857781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004037592A Pending JP2005228169A (ja) | 2004-02-16 | 2004-02-16 | 乱数生成装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2005228169A (ja) |
WO (1) | WO2005078574A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009066709A1 (ja) * | 2007-11-20 | 2009-05-28 | Jiguo Dong | 乱数生成装置及び方法 |
JP2011159174A (ja) * | 2010-02-02 | 2011-08-18 | Yazaki Corp | ロジスティック写像の演算装置 |
JP2016081274A (ja) * | 2014-10-16 | 2016-05-16 | 東芝情報システム株式会社 | 乱数生成装置及び写像演算回路 |
RU2619527C1 (ru) * | 2016-05-18 | 2017-05-16 | Кирилл Николаевич Шихаев | Способ потокового генерирования последовательности фигурных чисел, используемой при обучении решению уравнения Ферма |
US10929103B2 (en) | 2016-03-17 | 2021-02-23 | Advanced New Technologies Co., Ltd. | Random number generation and acquisition method and device |
JP2021089460A (ja) * | 2019-12-02 | 2021-06-10 | 清三郎 有田 | 擬似乱数生成装置,方法およびプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0784996A (ja) * | 1993-09-13 | 1995-03-31 | Sanyo Electric Co Ltd | 倍精度積和演算装置 |
JP3614065B2 (ja) * | 1999-07-27 | 2005-01-26 | 株式会社デンソー | 符号付き整数乗算装置 |
JP2003050545A (ja) * | 2001-08-06 | 2003-02-21 | Chaos Sangyo Gijutsu Kenkyusho:Kk | 固定小数点演算を用いた擬似乱数の生成方法 |
-
2004
- 2004-02-16 JP JP2004037592A patent/JP2005228169A/ja active Pending
-
2005
- 2005-02-16 WO PCT/JP2005/002336 patent/WO2005078574A1/ja active Application Filing
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009066709A1 (ja) * | 2007-11-20 | 2009-05-28 | Jiguo Dong | 乱数生成装置及び方法 |
JP2009129432A (ja) * | 2007-11-20 | 2009-06-11 | Saikoku To | 乱数生成装置及び方法 |
CN101636714B (zh) * | 2007-11-20 | 2012-02-01 | 董际国 | 随机数产生装置和方法 |
US8589460B2 (en) | 2007-11-20 | 2013-11-19 | Jiguo Dong | Random number generator and random number generating method thereof |
JP2011159174A (ja) * | 2010-02-02 | 2011-08-18 | Yazaki Corp | ロジスティック写像の演算装置 |
JP2016081274A (ja) * | 2014-10-16 | 2016-05-16 | 東芝情報システム株式会社 | 乱数生成装置及び写像演算回路 |
US10929103B2 (en) | 2016-03-17 | 2021-02-23 | Advanced New Technologies Co., Ltd. | Random number generation and acquisition method and device |
US11182129B2 (en) | 2016-03-17 | 2021-11-23 | Advanced New Technologies Co., Ltd. | Random number generation and acquisition method and device |
RU2619527C1 (ru) * | 2016-05-18 | 2017-05-16 | Кирилл Николаевич Шихаев | Способ потокового генерирования последовательности фигурных чисел, используемой при обучении решению уравнения Ферма |
JP2021089460A (ja) * | 2019-12-02 | 2021-06-10 | 清三郎 有田 | 擬似乱数生成装置,方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2005078574A1 (ja) | 2005-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10768898B2 (en) | Efficient modulo calculation | |
JP6044738B2 (ja) | 情報処理装置、プログラム及び記憶媒体 | |
JP4180024B2 (ja) | 乗算剰余演算器及び情報処理装置 | |
CN113467750A (zh) | 用于基数为4的srt算法的大整数位宽除法电路及方法 | |
WO2005078574A1 (ja) | 乱数生成装置 | |
RU2316042C1 (ru) | Устройство для умножения чисел по произвольному модулю | |
KR20040067779A (ko) | 정보 처리방법 | |
CN116436709B (zh) | 一种数据的加解密方法、装置、设备和介质 | |
US8909689B2 (en) | Arithmetic device | |
JP2011123356A (ja) | 素数生成装置、素数生成方法、及び素数生成プログラム | |
Palacios-Luengas et al. | Digital noise produced by a non discretized tent chaotic map | |
RU2348965C1 (ru) | Вычислительное устройство | |
JP4728392B2 (ja) | 大数乗算方法およびデバイス | |
JP3823107B2 (ja) | 有限体での基底変換方法及び基底変換装置 | |
CN113672196B (zh) | 一种基于单数字信号处理单元的双乘法计算装置和方法 | |
JP2011517496A (ja) | 多項式データ処理演算 | |
US7015839B1 (en) | Mapping method utilizing look-up table and related apparatus | |
WO2018131059A1 (ja) | ニューラルネットワーク回路 | |
JP3875183B2 (ja) | 演算装置 | |
JP7564473B1 (ja) | 疑似乱数生成装置及び疑似乱数生成用プログラム | |
KR100422345B1 (ko) | 난수 발생기 | |
SUBRAHMANYAM et al. | Realization of Montgomery Multiplier for Power-Delay Critical Applications | |
JP2000330470A (ja) | べき乗演算装置、べき乗剰余演算装置、楕円べき倍点演算装置、並びのそれらの方法、記録媒体 | |
JP2024148182A (ja) | 疑似乱数生成装置及び疑似乱数生成用プログラム | |
RU2368942C2 (ru) | Устройство для формирования остатка по произвольному модулю |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050517 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050705 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051108 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060216 |