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
Application number
JP60080827A
Other languages
English (en)
Other versions
JPS61239328A (ja
Inventor
栄司 岡本
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP60080827A priority Critical patent/JPH0721764B2/ja
Publication of JPS61239328A publication Critical patent/JPS61239328A/ja
Publication of JPH0721764B2 publication Critical patent/JPH0721764B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/586Pseudo-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)の計算に手間がかかるのが
欠点である。
(発明の目的) 本発明の目的は上記欠点を除去し、安全性の高い乱数を
従来よりも高速に発生することにある。
(発明の構成) 本発明の乱数発生器は、第一の整数入力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} を演算して出力する第三の演算手段とを有することを特
徴とする。
(本発明の作用・原理) 前述の乱数列{b1,b2,b3,……}のビットbiを得ると
き、最も時間がかかる演算は、一般式で示せば、 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) となる。本発明はこの原理で乱数列を発生する乱数発生
器である。
(実施例) 第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の最下位ビッ
ト」 を計算して出力する。
演算回路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はこの最下位ビッ
トを取り出して出力する。
第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である。
以上の説明において、pとqを交換しても出力は全く同
じである。
なお以上の説明においては、yi=▲y2 i-1▼なる多項式
を用いて乱数を発生する例について述べたが、これは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は比較器とおきかわることとな
る。
(発明の効果) 以上詳細に説明したように、本発明によれば、安全性の
高い乱数を従来よりも高速に発生できる。
【図面の簡単な説明】
第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は加算回路を各々示す。

Claims (1)

    【特許請求の範囲】
  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} を演算して出力する第三の演算手段とを有することを特
    徴とする乱数発生器。
JP60080827A 1985-04-16 1985-04-16 乱数発生器 Expired - Lifetime JPH0721764B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3507119B2 (ja) * 1994-03-15 2004-03-15 キヤノン株式会社 擬似乱数生成装置とそれを用いた通信装置

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