JPH0721764B2 - 乱数発生器 - Google Patents
乱数発生器Info
- Publication number
- JPH0721764B2 JPH0721764B2 JP60080827A JP8082785A JPH0721764B2 JP H0721764 B2 JPH0721764 B2 JP H0721764B2 JP 60080827 A JP60080827 A JP 60080827A JP 8082785 A JP8082785 A JP 8082785A JP H0721764 B2 JPH0721764 B2 JP H0721764B2
- Authority
- JP
- Japan
- Prior art keywords
- integer
- output
- mod
- random number
- initial
- 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 - Lifetime
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
- 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)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は暗号通信などで用いる乱数発生器に関する。
(従来技術とその問題点) 暗号通信などで用いる乱数列は、ある時点までに発生さ
れた乱数列のみからその時点以後に発生されるべき乱数
が容易にわからないことが必要である。1983年にプレナ
ム・プレス(PLENUM PRESS)が発行したアドバンセズ・
イン・クリプトロジー(ADVANCES IN CRYPTOLOGY)の61
頁〜78頁には、この条件を満たす乱数列が掲載されてい
る。すなわち、乱数列を{b1,b2,……}とすると、ビッ
トbiは bi=「xi最下位ビット」(i=1,2,……) 但し、xj=▲x2 j-1▼(mod n)(i=1,2,……)、 x0:利用者が任意に与える初期整数、 n=p・q(p,qは素数) で与えられる。しかし、nは因数分解すると同じ手間を
かけさえすれば、b1,b2,……,biのみからbi+1を求めら
れることが前記文献に示されている。因数分解を困難に
するためにはp・qを数百ビットの長さにする必要があ
るが、このときx2(mod n)の計算に手間がかかるのが
欠点である。
れた乱数列のみからその時点以後に発生されるべき乱数
が容易にわからないことが必要である。1983年にプレナ
ム・プレス(PLENUM PRESS)が発行したアドバンセズ・
イン・クリプトロジー(ADVANCES IN CRYPTOLOGY)の61
頁〜78頁には、この条件を満たす乱数列が掲載されてい
る。すなわち、乱数列を{b1,b2,……}とすると、ビッ
トbiは bi=「xi最下位ビット」(i=1,2,……) 但し、xj=▲x2 j-1▼(mod n)(i=1,2,……)、 x0:利用者が任意に与える初期整数、 n=p・q(p,qは素数) で与えられる。しかし、nは因数分解すると同じ手間を
かけさえすれば、b1,b2,……,biのみからbi+1を求めら
れることが前記文献に示されている。因数分解を困難に
するためにはp・qを数百ビットの長さにする必要があ
るが、このときx2(mod n)の計算に手間がかかるのが
欠点である。
(発明の目的) 本発明の目的は上記欠点を除去し、安全性の高い乱数を
従来よりも高速に発生することにある。
従来よりも高速に発生することにある。
(発明の構成) 本発明の乱数発生器は、第一の整数入力yi-1(i=1,2,
3,……)および第一の素数pから第一の関数fを用いて yi=f(yi-1)(mod p) を演算して第一の整数出力yiとする第一の演算手段と、
第二の整数入力zi-1および第二の素数qから前記第一の
関数fを用いて zi=f(zi-1)(mod q) を演算して第二の整数出力ziとする第二の演算手段と、
初期状態で第一の初期整数y0を記憶し、前記第一の整数
入力yi-1の初期値として出力し、前記第一の演算手段が
前記第一の整数出力yiを出力するごとにこの出力に更新
して記憶して前記第一の整数入力yi-1として出力する第
一の記憶手段と、初期状態で第二の初期整数z0を記憶
し、前記第二の整数入力zi-1の初期値として出力し、前
記第二の演算手段が前記第二の整数出力ziを出力するご
とにこの出力に更新して記憶して前記第二の整数入力zi
-1として出力する第二の記憶手段と、前記第一の整数出
力yi,第二の整数出力zi,第一の素数p,第二の素数qおよ
び第三の整数aから第二の関数gを用いて g{〔a(zi−yi)(mod q)〕p+yi} を演算して出力する第三の演算手段とを有することを特
徴とする。
3,……)および第一の素数pから第一の関数fを用いて yi=f(yi-1)(mod p) を演算して第一の整数出力yiとする第一の演算手段と、
第二の整数入力zi-1および第二の素数qから前記第一の
関数fを用いて zi=f(zi-1)(mod q) を演算して第二の整数出力ziとする第二の演算手段と、
初期状態で第一の初期整数y0を記憶し、前記第一の整数
入力yi-1の初期値として出力し、前記第一の演算手段が
前記第一の整数出力yiを出力するごとにこの出力に更新
して記憶して前記第一の整数入力yi-1として出力する第
一の記憶手段と、初期状態で第二の初期整数z0を記憶
し、前記第二の整数入力zi-1の初期値として出力し、前
記第二の演算手段が前記第二の整数出力ziを出力するご
とにこの出力に更新して記憶して前記第二の整数入力zi
-1として出力する第二の記憶手段と、前記第一の整数出
力yi,第二の整数出力zi,第一の素数p,第二の素数qおよ
び第三の整数aから第二の関数gを用いて g{〔a(zi−yi)(mod q)〕p+yi} を演算して出力する第三の演算手段とを有することを特
徴とする。
(本発明の作用・原理) 前述の乱数列{b1,b2,b3,……}のビットbiを得ると
き、最も時間がかかる演算は、一般式で示せば、 y=x2(mod n) である。ところがn=p・qであるから、中国人の剰余
定理を用いると、yは次式で与えられる。
き、最も時間がかかる演算は、一般式で示せば、 y=x2(mod n) である。ところがn=p・qであるから、中国人の剰余
定理を用いると、yは次式で与えられる。
y=apy2+bqy1(mod n) (1) 但し y1=x2(mod p) y2=x2(mod q) ap+bq=1 (2) 中国人の剰余定理は例えば、昭晃堂発行「符号理論」第
5版(宮川,岩垂,今井著,昭和54年)の311頁〜312頁
に載っている。さて、式(1)に式(2)を代入すると y=a(y2−y1)p+y1(mod n) となり、n=p・qで割ることを考慮すると、 y=〔a(y2−y1)(modq)〕p+y1(mod n) となる。ところで、〔a(y2−y1)(mod q)〕 p+y1は既にnより小さい。なぜなら 0a(y2−y1)(mod q)q−1 0y1p−1 から 0〔a(y2−y1)(mod q)〕p +y1(q−1)p+p−1=pq−1=n−1 が示されるからである。従ってyは y=〔a(y2−y1)(mod q)〕・p+y1 (3) 但し、y1=x2(mod p) (4) y2=x2(mod q) (5) で与えられる。式(3),(4),(5)はすべてmax
(p,q)以下の数の四則演算で実行できるので、 y=x2(mod n) のまま計算するより速い。式(3),(4),(5)を
用いて乱数列{b1,b2,b3,……}のビットbiは、 bi=「xiの最下位ビット」 但し、 xj=〔a(zj−yj)(mod q)〕p+yj yj=▲y2 j-1▼ (mod p) zj=▲z2 j-1▼ (mod q) y0,z0は使用者が与える整数 a=p-1(mod q) となる。本発明はこの原理で乱数列を発生する乱数発生
器である。
5版(宮川,岩垂,今井著,昭和54年)の311頁〜312頁
に載っている。さて、式(1)に式(2)を代入すると y=a(y2−y1)p+y1(mod n) となり、n=p・qで割ることを考慮すると、 y=〔a(y2−y1)(modq)〕p+y1(mod n) となる。ところで、〔a(y2−y1)(mod q)〕 p+y1は既にnより小さい。なぜなら 0a(y2−y1)(mod q)q−1 0y1p−1 から 0〔a(y2−y1)(mod q)〕p +y1(q−1)p+p−1=pq−1=n−1 が示されるからである。従ってyは y=〔a(y2−y1)(mod q)〕・p+y1 (3) 但し、y1=x2(mod p) (4) y2=x2(mod q) (5) で与えられる。式(3),(4),(5)はすべてmax
(p,q)以下の数の四則演算で実行できるので、 y=x2(mod n) のまま計算するより速い。式(3),(4),(5)を
用いて乱数列{b1,b2,b3,……}のビットbiは、 bi=「xiの最下位ビット」 但し、 xj=〔a(zj−yj)(mod q)〕p+yj yj=▲y2 j-1▼ (mod p) zj=▲z2 j-1▼ (mod q) y0,z0は使用者が与える整数 a=p-1(mod q) となる。本発明はこの原理で乱数列を発生する乱数発生
器である。
(実施例) 第1図(a)は本発明の第1の実施例を示すためのブロ
ック図である。図において、セレクタ101と104は初期状
態において、与えられたy0とz0を各々レジスタ102,105
に格納し、初期状態以降は後述する2乗剰余回路103,10
6の出力を各々レジスタ102,105に格納する。2乗余剰回
路103,106は前記素数p,qを用いてレジスタ102,105が記
憶している整数yi-1,zi-1に対して、各々yi=yi-1 2(mo
d p)とzi=zi-1 2(mod q)を計数する。演算回路107
は、前記素数p,qおよび整数aを用いて該yiとziから bi=「〔a(zi−yi)(mod q)〕p+yiの最下位ビッ
ト」 を計算して出力する。
ック図である。図において、セレクタ101と104は初期状
態において、与えられたy0とz0を各々レジスタ102,105
に格納し、初期状態以降は後述する2乗剰余回路103,10
6の出力を各々レジスタ102,105に格納する。2乗余剰回
路103,106は前記素数p,qを用いてレジスタ102,105が記
憶している整数yi-1,zi-1に対して、各々yi=yi-1 2(mo
d p)とzi=zi-1 2(mod q)を計数する。演算回路107
は、前記素数p,qおよび整数aを用いて該yiとziから bi=「〔a(zi−yi)(mod q)〕p+yiの最下位ビッ
ト」 を計算して出力する。
演算回路107は第1図(b)に示すブロック図で構成さ
れる。図において、減算回路108で入力yiとziからzi−y
iを計算し、乗除算回路109でa(zi−yi)(mod q)に
変換し、乗算回路110でさらにp倍し、加算回路111でさ
らに前記yiを加える。この結果は〔a(zi−yi)(mod
q)〕・p+yiであるが、セレクタ112はこの最下位ビッ
トを取り出して出力する。
れる。図において、減算回路108で入力yiとziからzi−y
iを計算し、乗除算回路109でa(zi−yi)(mod q)に
変換し、乗算回路110でさらにp倍し、加算回路111でさ
らに前記yiを加える。この結果は〔a(zi−yi)(mod
q)〕・p+yiであるが、セレクタ112はこの最下位ビッ
トを取り出して出力する。
第2図は本発明の第2の実施例を示すためのブロック図
である。図において、セレクタ201,204は初期状態にお
いては各々与えられたy0,z0を選択し、初期状態以降に
おいては、後述するレジスタ205の記憶内容と2乗剰余
回路203の出力を各々選択して各々レジスタ202と205に
格納する。2乗剰余回路203はレジスタ202が記憶してい
る数を2乗してpまたはqで割った余りを出力する。p
とqを用いる順序は次の通りである。最初はpを用い、
次はqを用い以下繰り返す。演算回路206は、前記2乗
剰余回路203がpを用いた時点でのみ動作させる。これ
は、この時点の直前にレジスタ202,205にはyiとziが格
納されているからである。演算回路206は前記の演算回
路107と全く同じである。従って出力も同じbiである。
である。図において、セレクタ201,204は初期状態にお
いては各々与えられたy0,z0を選択し、初期状態以降に
おいては、後述するレジスタ205の記憶内容と2乗剰余
回路203の出力を各々選択して各々レジスタ202と205に
格納する。2乗剰余回路203はレジスタ202が記憶してい
る数を2乗してpまたはqで割った余りを出力する。p
とqを用いる順序は次の通りである。最初はpを用い、
次はqを用い以下繰り返す。演算回路206は、前記2乗
剰余回路203がpを用いた時点でのみ動作させる。これ
は、この時点の直前にレジスタ202,205にはyiとziが格
納されているからである。演算回路206は前記の演算回
路107と全く同じである。従って出力も同じbiである。
以上の説明において、pとqを交換しても出力は全く同
じである。
じである。
なお以上の説明においては、yi=▲y2 i-1▼なる多項式
を用いて乱数を発生する例について述べたが、これはyi
=▲y2 i-1▼のみに限る必要はなく、yi=f(yi)なる
形の多項式でよい。
を用いて乱数を発生する例について述べたが、これはyi
=▲y2 i-1▼のみに限る必要はなく、yi=f(yi)なる
形の多項式でよい。
また以上の説明においては、セレクタ112において、
〔a(zi−yi)(mod q)〕・p+yiの最下位ビットが
取り出される構成について述べた。しかしこれは〔a
(zi−yi)(mod q)〕・p+yiをpq/2と比較し、pq/2
より大であれば1を出力するという構成にしてもよい。
この場合セレクタ112は比較器とおきかわることとな
る。
〔a(zi−yi)(mod q)〕・p+yiの最下位ビットが
取り出される構成について述べた。しかしこれは〔a
(zi−yi)(mod q)〕・p+yiをpq/2と比較し、pq/2
より大であれば1を出力するという構成にしてもよい。
この場合セレクタ112は比較器とおきかわることとな
る。
(発明の効果) 以上詳細に説明したように、本発明によれば、安全性の
高い乱数を従来よりも高速に発生できる。
高い乱数を従来よりも高速に発生できる。
第1図(a)は本発明の第一の実施例を示すブロック
図、第1図(b)は第1図(a)の演算回路を示すブロ
ック図、第2図は本発明の第二の実施例を示すブロック
図である。 図において、101,104,112,201,204はセレクタ、102,10
5,202,205はレジスタ、103,106,203は2乗剰余回路、10
7,206は演算回路、108は減算回路、109は乗除算回路、1
10は乗算回路、111は加算回路を各々示す。
図、第1図(b)は第1図(a)の演算回路を示すブロ
ック図、第2図は本発明の第二の実施例を示すブロック
図である。 図において、101,104,112,201,204はセレクタ、102,10
5,202,205はレジスタ、103,106,203は2乗剰余回路、10
7,206は演算回路、108は減算回路、109は乗除算回路、1
10は乗算回路、111は加算回路を各々示す。
Claims (1)
- 【請求項1】第一の整数入力yi-1(i=1,2,3,………)
および第一の素数pから第一の関数fを用いて yi=f(yi-1)(mod p) を演算して第一の整数出力yiとする第一の演算手段と、
第二の整数入力zi-1および第二の素数qから前記第一の
関数fを用いて zi=f(zi-1)(mod q) を演算して第二の整数出力ziとする第二の演算手段と、
初期状態で第一の初期整数y0を記憶し、前記第一の整数
入力yi-1の初期値として出力し、前記第一の演算手段が
前記第一の整数出力yiを出力するごとにこの出力に更新
して記憶して前記第一の整数入力yi-1として出力する第
一の記憶手段と、初期状態で第二の初期整数z0を記憶
し、前記第二の整数入力zi-1の初期値として出力し、前
記第二の演算手段が前記第二の整数出力ziを出力するご
とにこの出力に更新して記憶して前記第二の整数入力zi
-1として出力する第二の記憶手段と、前記第一の整数出
力yi,第二の整数出力zi,第一の素数p,第二の素数qおよ
び第三の整数aから第二の関数gを用いて g{〔a(zi−yi)(mod q)〕p+yi} を演算して出力する第三の演算手段とを有することを特
徴とする乱数発生器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60080827A JPH0721764B2 (ja) | 1985-04-16 | 1985-04-16 | 乱数発生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60080827A JPH0721764B2 (ja) | 1985-04-16 | 1985-04-16 | 乱数発生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61239328A JPS61239328A (ja) | 1986-10-24 |
JPH0721764B2 true JPH0721764B2 (ja) | 1995-03-08 |
Family
ID=13729252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60080827A Expired - Lifetime JPH0721764B2 (ja) | 1985-04-16 | 1985-04-16 | 乱数発生器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0721764B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3507119B2 (ja) * | 1994-03-15 | 2004-03-15 | キヤノン株式会社 | 擬似乱数生成装置とそれを用いた通信装置 |
-
1985
- 1985-04-16 JP JP60080827A patent/JPH0721764B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS61239328A (ja) | 1986-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hasan et al. | A modified Massey-Omura parallel multiplier for a class of finite fields | |
Meier et al. | Efficient multiplication on certain nonsupersingular elliptic curves | |
US5448639A (en) | Digital signature device | |
US8862651B2 (en) | Method and apparatus for modulus reduction | |
Alperin | A classification of n-abelian groups | |
US7412474B2 (en) | Montgomery modular multiplier using a compressor and multiplication method | |
US6769006B2 (en) | Method and apparatus for calculating a reciprocal | |
Gleser | Correction Note: Correction to On the Asymptotic Theory of Fixed-Size Sequential Confidence Bounds for Linear Regression Parameters | |
JPH0721764B2 (ja) | 乱数発生器 | |
Rao et al. | Aryabhata remainder theorem: relevance to public-key crypto-algorithms | |
Bessalov et al. | 3-and 5-isogenies of supersingular Edwards curves | |
CN112363687A (zh) | 一种整数取模运算方法、装置及终端设备 | |
Fleischmann et al. | Comparative implementations of Berlekamp's and Niederreiter's polynomial factorization algorithms | |
Rao | A Note on the Recurring Period of the Reciprocal of an Odd Number | |
Greenberg | On equivalent knapsack problems | |
GB2372353A (en) | Method and apparatus for calculating a reciprocal | |
Wright | On the backward extension of positive definite Hamburger moment sequences | |
JP3136709B2 (ja) | べき積演算装置 | |
Lissner | OP rings and Seshadri's theorem | |
Bosma et al. | An implementation of the elliptic curve integer factorization method | |
Burroughs | Operations in Grothendieck rings and the symmetric group | |
Falkowski et al. | Spectra generation for fixed-polarity Reed-Muller transform over GF (5) | |
SU736079A1 (ru) | Цифровой генератор функций | |
Falkowski et al. | Fast optimization of fixed-polarity Reed-Muller expansions over GF (5)[logic design applications] | |
RANI et al. | Design and Implementation of High Speed SOBL MASTROVITO Multiplier |