JPH0736673A - 乱数発生器、及びそれを用いた通信システム及びその方法 - Google Patents

乱数発生器、及びそれを用いた通信システム及びその方法

Info

Publication number
JPH0736673A
JPH0736673A JP5179235A JP17923593A JPH0736673A JP H0736673 A JPH0736673 A JP H0736673A JP 5179235 A JP5179235 A JP 5179235A JP 17923593 A JP17923593 A JP 17923593A JP H0736673 A JPH0736673 A JP H0736673A
Authority
JP
Japan
Prior art keywords
random number
output
shift registers
register
sequence
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
JP5179235A
Other languages
English (en)
Inventor
Takahisa Yamamoto
貴久 山本
Keiichi Iwamura
恵市 岩村
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP5179235A priority Critical patent/JPH0736673A/ja
Publication of JPH0736673A publication Critical patent/JPH0736673A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 高速に乱数を発生させる。 【構成】 乱数発生器に、複数のシフトレジスタSR
1 、SR2 と、該複数のシフトレジスタの各々に対応
し、該複数のシフトレジスタ中の所定のレジスタからの
出力を論理演算して、該演算の結果を対応するシフトレ
ジスタにフィードバック入力する複数の論理演算回路T
1 、T2 とを具え、前記複数のシフトレジスタSR1
SR2 の各々からの順次出力により、1つの乱数系列を
発生させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は暗号化方式に関係し、特
に暗号通信分野におけるデータの秘匿、発信者・着信者
の認証、暗号鍵の共有、零知識証明プロトコル等に関す
るものである。また、モンテカルロシミュレーションな
どの乱数を用いたシミュレーションに関するものであ
る。
【0002】
【従来の技術】従来、乱数発生法として、文献「現代暗
号論理」(池野、小山著、昭和61年発行、電子情報通
信学会)の第69〜72頁に示されているように、最大
長周期系列(M系列)を発生する線形フィードバックシ
フトレジスタ(LFSR)を用いたものが知られてい
る。
【0003】LFSR方式とは、図15に示すように、
n段のシフトレジスタR(t)=(rn (t)、rn -1
(t)、…、r2 (t)、r1 (t))とタップ(引込
線)列(hn 、hn-1 、…、h2 、h1 )からなり、各
時点(ステップ)ごとに次のような動作を同時に行うこ
とにより、擬似乱数系列を生成する方法である。
【0004】(a)時点tにおける最右端のレジスタの
ビットr1 (t)を、この時点の擬似乱数系列の値kt
として出力する。
【0005】kt =r1 (t) (b)rn (t)、rn-1 (t)、…、r2 (t)を右
にシフトする。
【0006】ri (t+1)=ri+1 (t)(i=1、
2、…、n−1) (c)最左端のレジスタのビットrn (t+1)を各レ
ジスタの内容ri (t)とタップ列hi により、次のよ
うに計算する。
【0007】
【外1】
【0008】以上まとめると、LFSR方式の擬似乱数
発生アルゴリズムはn行n列の行列Hを用いて、 R(t+1)=H・R(t)mod2 つまり、
【0009】
【外2】 と表せる。
【0010】このn段のLFSRのタップ列をうまく選
ぶと、最大周期2n −1の擬似乱数のビット系列を生成
することができ、その時の系列が前述の最大長周期系列
となる。
【0011】4段のLFSRを用いた最大長周期系列発
生器の例を図16に示す。図16は図15においてn=
4、(h4 、h3 、h2 、h1 )=(0、0、1、1)
としたものである。ここでレジスタr4 、r3 、r2
1 に初期値として、(r4、r3 、r2 、r1 )=
(1、0、0、0)と設定すると、クロック信号に従っ
て(000100110101111)を1周期内に含
む、周期24 −1=15の乱数出力が得られる。
【0012】
【発明が解決しようとしている課題】しかし、上記従来
技術ではLFSRの線形性を利用して2nビットの出力
擬似乱数列からn段のタップ列(hn 、hn-1 、…、h
2 、h1 )を以下の方法で決定できるという問題点があ
る。
【0013】出力される擬似乱数系列がk1 、k2
…、k2nであったとすると、ある時点t(t=1、…、
n+1)のレジスタの内容R(t)は、 R(1)=(kn 、kn-1 、…、k1T R(2)=(kn+1 、kn 、…、K2T … R(n+1)=(k2n、k2n-1、…、kn+1T と表せる(T は転置を示す)。この時、行列X、Yを X=(R(1)、R(2)、…、R(n)) Y=(R(2)、R(3)、…、R(n+1)) とすると、 Y=H・X の関係が成立するため、 H=Y・X-1 (1) によりHが求められ、タップ列が決定される。
【0014】つまり、乱数の周期は2n −1であるが、
そのうちの2nビットでLFSRの構成が決定される。
この場合、その時点以降に発生される乱数列が全てわか
ってしまうため、出力乱数列を暗号用の乱数として用い
るには安全性の面で不適当であるという欠点があった。
【0015】さらに、上記従来技術ではクロック信号が
1クロック経過する毎に1個の乱数しか得ることができ
ず、高速に乱数を発生することが困難であるという問題
点があった。
【0016】また、非線形フィードバックシフトレジス
タを用いれば、出力乱数系列の解析に必要となる乱数の
数を大きくすることができることが知られている。しか
し、バーレカンプ−マッセイのアルゴリズム(E.R.
Berlekamp“Algebraiccoding
theory”,McGraw−Hill Book
Company,1968)により、その系列を生成
することができる最小段数のLFSRを求めることがで
き、非線形フィードバックシフトレジスタを用いた乱数
発生方式も式(1)の方法により解析される可能性があ
った。
【0017】以上をまとめると、上記従来技術には、 1)クロック信号が1クロック経過する毎に1個の乱数
しか得ることができず、高速に乱数を発生することが困
難である。
【0018】2)ある時点までの出力乱数を手に入れる
ことができれば、それ以降に出力される乱数列全てを容
易に予測できてしまう。という問題点があった。
【0019】
【課題を解決するための手段】上記課題を解決するため
に、本発明の乱数発生器は、複数のシフトレジスタと、
該複数のシフトレジスタの各々に対応し、該複数のシフ
トレジスタ中の所定のレジスタからの出力を論理演算し
て、該演算の結果を対応するシフトレジスタにフィード
バック入力する複数の論理演算回路とを具える。
【0020】また、本発明の他の態様によれば、通信シ
ステムにおいて、送信装置に、第1の複数のシフトレジ
スタと、該第1の複数のシフトレジスタの各々に対応
し、該第1の複数のシフトレジスタ中の所定のレジスタ
からの出力を論理演算して、該演算の結果を対応するシ
フトレジスタにフィードバック入力する第1の複数の論
理演算回路と、送信者と受信者が共有する暗号鍵を初期
値とし、前記第1の複数のシフトレジスタの各々からの
順次出力を1つの乱数系列として、該乱数系列を用いて
通信文を暗号化して、暗号文を順次出力する暗号化手段
とを具え、受信装置に、第2の複数のシフトレジスタ
と、該第2の複数のシフトレジスタの各々に対応し、該
第2の複数のシフトレジスタ中の所定のレジスタからの
出力を論理演算して、該演算の結果を対応するシフトレ
ジスタにフィードバック入力する第2の複数の論理演算
回路と、送信者と受信者が共有する暗号鍵を初期値と
し、前記第2の複数のシフトレジスタの各々からの順次
出力を1つの乱数系列として、該乱数系列を用いて暗号
文を復号して通信文を順次出力する復号手段とを具え
る。
【0021】
【作用】かかる本発明の乱数発生器においては、複数の
シフトレジスタ中の所定のレジスタからの出力を、複数
の論理演算回路が論理演算して、該演算の結果を対応す
るシフトレジスタにフィードバック入力する。前記複数
のシフトレジスタの各々からの順次出力により、1つの
乱数系列を発生させる。
【0022】また、通信システムにおいて、送信側で、
送信者と受信者が共有する暗号鍵を初期値として、第1
の複数のシフトレジスタ中の所定のレジスタからの出力
を第1の複数の論理演算回路により論理演算して、該演
算の結果を対応するシフトレジスタにフィードバック入
力し、前記第1の複数のシフトレジスタの各々からの順
次出力を1つの乱数系列として、該乱数系列を用いて通
信文を暗号化して暗号文を順次受信側に送信し、受信側
で、前記暗号鍵を初期値として、第2の複数のシフトレ
ジスタ中の所定のレジスタからの出力を第2の複数の論
理演算回路により論理演算して、該演算の結果を対応す
るシフトレジスタにフィードバック入力し、前記第2の
複数のシフトレジスタの各々からの順次出力により、前
記乱数系列と同一の乱数系列を順次発生させ、該同一の
乱数系列に基づいて、暗号文を復号して通信文を順次出
力することを特徴とする。
【0023】
【実施例】以下、添付図面を参照しながら、本発明の実
施例を詳細に説明する。
【0024】まず、レジスタの数を増加させることなく
乱数を高速に発生することを可能にした実施例について
実施例1〜4で述べ、さらにパラメータにより論理演算
方式を制御することにより出力乱数列の解析が行えない
ようにし出力乱数系列の安全性を高めた実施例について
実施例5〜7で述べる。次に実施例8、9で暗号学的に
安全な擬似乱数発生方式によりパラメータを算出する場
合について述べる。実施例10〜12では、本発明によ
る乱数発生器を用いた暗号通信システムについて述べ
る。
【0025】〔実施例1〕図1は、2つのシフトレジス
タを用いた場合の本発明に係わる乱数発生器の一実施例
を示す。2つのシフトレジスタ(SR1 、SR2 )及び
それぞれのシフトレジスタの各レジスタ((rn-1 、r
n-3 、…、r3 、r1 )、(rn ,rn-2、…、r4
2 ))からの値を線形変換し、シフトレジスタにフィ
ードバックする2つの線形論理演算回路(T1 、T2
からなる。また、ある時点tにおける各レジスタの内容
を(rn-1 (t)、rn-3 (t)、…、r3 (t)、r
1 (t))、(rn (t)、rn-2 (t)、…、r4
(t)、r2 (t))で表わす。それぞれの線形論理演
算回路には1組のタップ列(hn 、hn-1 、…、h2
1 )が含まれる。
【0026】本発明による乱数発生の手順は以下の通り
に行う(ただし手順2.3.4.は同時に行われる)。
【0027】1.シフトレジスタ(SR1 、SR2 )の
各レジスタ((rn-1 、rn-3 、…、r3 、r1 )、
(rn 、rn-2 、…、r4 、r2 ))に初期値を設定す
る。
【0028】2.各レジスタは与えられた値を右にシフ
トする。
【0029】3.各シフトレジスタの最右端のレジスタ
(r1 、r2 )の値を出力する。
【0030】4.SR1 の左端のレジスタ(rn-1 )に
は各レジスタ(r1 、r2 、…、rn )の値を線形論理
演算回路(T1 )によって線形変換した値を入力し、S
2の左端のレジスタ(rn )には各レジスタ(r2
3 、…、rn )の値と他方の線形論理演算回路(T
1 )からの出力を線形論理演算回路(T2 )により線形
変換した値を入力する。
【0031】5.以下2.3.4.を繰り返す。
【0032】6.3.で出力される2個の出力の全て又
は一部又はそれらを合成した値、或いは各線形論理演算
回路からの2個の出力の全て又は一部又はそれらを合成
した値が本実施例によって発生される乱数となる。
【0033】この手順を各シフトレジスタ(SR1 、S
2 )について同時に行う。この手順に従えば、SR1
の動作は
【0034】
【外3】 で表わされ、同じくSR2 の動作は
【0035】
【外4】 で表わされる。
【0036】図1の乱数発生器の動作と、図15の乱数
発生器の動作を比較する(各レジスタに与える初期値を
各レジスタの記号で表わすとする)。上式に従えば図1
のSR1 、SR2 に第1クロックが入力された時のSR
1 、SR2 へのフィードバック入力はそれぞれ
【0037】
【外5】 となる。一方図15のシフトレジスタに第1クロックが
入力された時のシフトレジスタへのフィードバック入力
【0038】
【外6】 となり、第2クロックが入力された時には
【0039】
【外7】 となる。続いて、図1のSR1 、SR2 に第2クロック
が入力された時のSR1、SR2 へのフィードバック入
力は、それぞれ図15のシフトレジスタに第3、4クロ
ックが入力された時のシフトレジスタへのフィードバッ
ク入力と同じである。このことからわかるように、図1
5の乱数発生器における2クロック分の線形論理演算出
力を、図1の乱数発生器では1クロックで出力してい
る。つまり、図1は図15の2倍の速度で乱数を発生す
ることができる。
【0040】手順1.で両乱数発生器の同じ記号で表わ
されるレジスタに同じ初期値を与え、手順6.で図1の
乱数発生器のSR1 の出力とSR2 の出力とを交互に並
べる(乱数系列はSR1 の出力、SR2 の出力、SR1
の出力、SR2 の出力、…となる)ようにしておけば
(パラレル入力シリアル出力のシフトレジスタまたは、
セレクタ等を用いればよい)、両乱数発生器は全く同じ
乱数系列を出力する。ただし、図1の回路と図15の回
路を同じクロック周波数で動作させた場合、図1のほう
が2倍速く乱数を出力する。
【0041】つぎに図16で述べた最大長周期系列に関
して、本発明による最大長周期系列発生器の例を図2に
示す。図16は図15においてn=4、(h4 、h3
2、h1 )=(0、0、1、1)としたものである。
そこで、同じく図1においてn=4、(h4 、h3 、h
2 、h1 )=(0、0、1、1)としたのが図2であ
る。図2において図16の場合と同じくレジスタr4
3 、r2 、r1 に初期値として、(r4 、r3 、r
2 、r1 )=(1、0、0、0)と設定すると、クロッ
ク信号に従って乱数が各シフトレジスタから1ビットず
つ得られる。手順6.で上述のようにその乱数出力を交
互に並べれば、図16と同じく(0001001101
01111)を1周期内に含む、周期24 −1=15の
乱数出力が得られる。この場合、図2の回路と図16の
回路を同じクロック周波数で動作させると、図2の方が
同じ乱数系列を2倍速く出力することができる。
【0042】〔実施例2〕図3は本実施例による乱数発
生方式を用いた乱数発生器の例を示す。2つのシフトレ
ジスタ(SR1 、SR2 )及びそれぞれのシフトレジス
タの各レジスタ((rn-1 、rn-3 、…、r3 、r
1 )、(rn 、rn-2 、…、r4 、r2 ))からの値を
非線形変換しシフトレジスタにフィードバックする2つ
の非線形論理演算回路(NT1 、NT2 )からなる。
【0043】本実施例による乱数発生の手順は以下の通
りに行う(ただし手順2.3.4.は同時に行われ
る)。
【0044】1.シフトレジスタ(SR1 、SR2 )の
各レジスタ((rn-1 、rn-3 、…、r3 、r1 )、
(rn 、rn-2 、…、r4 、r2 ))に初期値を設定す
る。
【0045】2.各レジスタは与えられた値を右にシフ
トする。
【0046】3.各シフトレジスタの最右端のレジスタ
(r1 、r2 )の値を出力する。
【0047】4.各シフトレジスタの最左端のレジスタ
(rn-1 、rn )には各レジスタの値を非線形変換(N
1 、NT2 )した値を入力する。
【0048】5.以下2.3.4.を繰り返す。
【0049】6.3.で出力される2個の出力の全て又
は一部又はそれらを合成した値、或いは各非線形論理演
算回路からの2個の出力の全て又は一部又はそれらを合
成した値が本発明によって発生される乱数となる。
【0050】非線形論理演算回路NT1 の変換としてあ
る非線形関数f(rn 、rn-1 、…、r2 、r1 )を用
い、非線形論理演算回路NT2 の変換として同じ非線形
関数によるf(f(rn 、rn-1 、…、r2 、r1 )、
n 、rn-1 、…、r2 )を用いれば、図17に示され
る従来例による非線形フィードバックシフトレジスタに
よる乱数発生器による出力乱数系列と全く同じ乱数系列
を2倍の速度で出力することができる。
【0051】また、図4に示すように非線形論理演算回
路NT2 の変換を表わす関数f(f(rn 、rn-1
…、r2 、r1 )rn 、rn-1 、…、r2 )の入力f
(rn 、rn-1 、…、r2 、r1 )として、非線形論理
演算回路NT1 の変換出力であるf(rn 、rn-1
…、r2 、r1 )を直接用いることもできる。
【0052】具体的な非線形論理演算回路の構成として
は、公知の非線形関数の変数値に対応するアドレスに関
数値を記憶させたROM等によって実現可能である。
【0053】〔実施例3〕図5は、互いに異なる線形変
換を行う2つの線形論理演算回路と2つのシフトレジス
タを用いた本発明による乱数発生器の一実施例を示す。
この場合、乱数発生の速度が速くなるだけでなく、乱数
発生器の線形変換方法(各線形論理演算回路に含まれる
タップ列の値)を解析するために必要となる出力乱数の
数も増加する。線形変換方法が決定されると、その時点
以降に発生される乱数列が全てわかってしまうため、乱
数の強度を強くするには、線形変換方法を決定するのに
必要な出力乱数の数が多いほうが良い。このことは本発
明による乱数発生方式により乱数の高速発生を可能にす
るだけでなく、強度の強い出力乱数の発生が可能となる
ことを意味する。
【0054】本実施例における乱数発生器は、2つのシ
フトレジスタ(SR1 、SR2 )及びそれぞれのシフト
レジスタの各レジスタ((rn-1 、rn-3 、…、r3
1)、(rn 、rn-2 、…、r4 、r2 ))からの値
を線形変換しシフトレジスタにフィードバックする2つ
の異なる線形論理演算回路(Ta 、Tb )からなる。2
つの線形論理演算回路(Ta 、Tb )に含まれるタップ
列はそれぞれ(hn 、hn-1 、…、h2 、h1 )、(l
n 、ln-1 、…、l2 、l1 )とする。また、図5の乱
数発生器の出力として、SR1 の出力とSR2 の出力と
を交互に並べる(乱数系列はSR1 の出力、SR2 の出
力、SR1 の出力、SR2 の出力、…となる)ようにし
ておく。
【0055】この場合、乱数発生器の線形変換方法を解
析するためには、出力乱数が3n個必要であることが以
下のようにして示される。
【0056】出力される擬似乱数系列がk1 、k2 、…
3nであったとすると、ある時点t(t=1、…、n+
1)のレジスタの内容R(t)は(R(t)=(r
n-1 、rn-3 、…、r3 、r1 、rn 、rn-2 、…、r
4 、r2T と表わす)、 R(1)=(kn-1 、kn-3 、…、k3 、k1 、kn
n-2 、…、k4 、k2T R(2)=(kn+1 、Kn-1 、…、k5 、k3 、k
n+2 、kn 、…、k6 、k4T R(n+1)=(k3n-1、k3n-3、…、k2n+3
2n+1、k3n、k3n-2、…、k2n+4、k2n+2T と表せる(T は転置を示す)。この時、行列X、Yを X=(R(1)、R(2)、…、R(n)) Y=(R(2)、R(3)、…、R(n+1)) とすると、 Y=W・X
【0057】
【外8】 の関係が成立するため、 W=Y・X-1 (2) によりWを求めることができ、タップ列を決定すること
ができる。この時Wを求めるのに必要な行列X、Yの成
分は出力乱数k1 、k2 、…、k3nである。つまり、出
力乱数のうちの3nビットで線形変換方法が決定される
ことがわかる。
【0058】一般に、図15に示されるようなn段の線
形フィードバックシフトレジスタのタップ列を決定する
には、2nビットの出力乱数列が必要であることが知ら
れている。図5と図15を比較すると、レジスタの数は
等しいが、両者を同じクロックで動作させた場合、乱数
発生速度は図5の方が2倍速く、線形変換方法を決定す
るために必要な出力乱数の数は図15が2nビットであ
るのに対し図5が3nビットである。このことは本実施
例による乱数発生器により、乱数発生速度と乱数強度の
双方が向上したことを意味している。
【0059】また本実施例では、2つの線形論理演算回
路がそれぞれ異なる線形変換を行う場合について説明し
たが、図6に示すように非線形変換の場合でも同じく2
つの非線形論理演算回路がそれぞれ異なる非線形変換を
行うようにすることもできる。図6において、2つの非
線形論理演算回路(NTa 、NTb )の処理を示すそれ
ぞれの非線形変換関数f、gは互いに異なる関数であ
る。さらに、線形論理演算回路と非線形論理演算回路を
両方用いることもできる。
【0060】〔実施例4〕実施例1〜3では、本発明を
わかりやすく説明するため、シフトレジスタと論理演算
回路を2つずつ用いて、乱数発生速度を従来の2倍にし
た乱数発生器について述べたが、レジスタの数を増加さ
せることなく用いるシフトレジスタの数に応じて乱数発
生を高速化することが可能である。
【0061】一例として、図16で述べた最大長周期系
列に関して、シフトレジスタを3つ用いた場合の例を図
7に示す(シフトレジスタを2つ用いた場合の例は既に
図2に示した)。図7において図16の場合と同じくレ
ジスタr4 、r3 、r2 、r1 に初期値として、(r
4 、r3 、r2 、r1 )=(1、0、0、0)と設定す
ると、クロック信号に従って乱数が各シフトレジスタか
ら1ビットずつ得られる。前述のようにその乱数出力を
交互に並べれば、図16と同じく(000100110
101111)を1周期内に含む、周期24 −1=15
の乱数出力が得られる。この場合、図7の回路と図16
の回路を同じくクロック周波数で動作させると、図7の
ほうが3倍速く乱数を出力することができる。
【0062】実施例3では、互いに異なる線形変換を行
う2つの線形論理演算回路と2つのシフトレジスタを用
いた本発明による乱数発生器を示したが、一般にm個の
シフトレジスタ(レジスタの数の合計はn個)及びそれ
ぞれのシフトレジスタの各レジスタからの値を線形変換
しシフトレジスタにフィードバックするm個の異なる線
形論理演算回路からなる乱数発生器の場合、乱数発生速
度は図15よりm倍速く、線形変換方法を決定するため
に必要な出力乱数の数はn+mnビットとなる。
【0063】また、非線形論理演算回路を複数用いる場
合にも、それぞれの回路で、変換方式を異なるようにで
きる。
【0064】〔実施例5〕本実施例は実施例1〜4で示
した乱数発生器の安全性をさらに向上させたものであ
る。実施例3を例にとると、乱数発生器は、式(2)に
示されるように3nビットの出力乱数からタップ列(h
n 、hn-1 、…、h2 、h1 )、(ln 、ln-1 、…、
2 、l1 )を決定できる。この場合、その時点以降に
発生される乱数列が全てわかってしまうため、出力乱数
列を暗号用の乱数として用いるには安全性の面で問題が
ある。そこで、線形論理演算回路を外部より与えるパラ
メータによって制御できるようにし、出力される乱数の
数がその乱数列の解析に必要な乱数の数より大きくなる
前、或いは等しくなる付近で、該線形論理演算回路を制
御するパラメータを変更し、該論理演算の方式を変更さ
せることにより、式(2)の方法による出力乱数列の解
析が行えないようにし出力乱数系列の安全性を高めたも
のである。
【0065】図8は、2つの線形論理演算回路と2つの
シフトレジスタを用いた本実施例による乱数発生器を示
す。この乱数発生器は2つのシフトレジスタ(SR1
SR2 )及びそれぞれのシフトレジスタの各レジスタ
((rn-1 、rn-3 、…、r3、r1 )、(rn 、rn-2
、…、r4 、r2 ))からの値を線形変換しシフトレ
ジスタにフィードバックする2つの線形論理演算回路
(Ta 、Tb )からなる。また、線形論理演算回路T
a 、Tb はそれぞれ、変換方式を変更するためのAND
回路、外部から与えるパラメータを保持するレジスタR
1 、R2 を備える。
【0066】本実施例による乱数発生の手順は以下の通
りに行う(ただし手順2.3.4.は同時に行われ
る)。
【0067】1.シフトレジスタ(SR1 、SR2 )の
各レジスタ((rn-1 、rn-3 、…、r3 、r1 )、
(rn 、rn-2 、…、r4 、r2 ))に初期値を設定す
る。
【0068】2.レジスタR1 、R2 にパラメータを設
定し、各線形論理演算回路(Ta 、Tb )はそのパラメ
ータに従って線形変換を決定する。
【0069】3.各シフトレジスタの各レジスタは、与
えられた値を右にシフトする。
【0070】4.各シフトレジスタの最右端のレジスタ
(r1 、r2 )の値を出力する。
【0071】5.シフトレジスタSR1 の左端のレジス
タ(rn-1 )には各レジスタr1 〜rn の値を線形論理
演算回路(Ta )により線形変換した値を入力し、SR
2 の左端のレジスタ(rn )には各レジスタの値を線形
論理演算回路(Tb )により線形変換した値を入力す
る。
【0072】6.以下3.4.5.を繰り返すが、式
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数が、その乱数列の解析に必要な
乱数の数(今の場合、前述のように3nビット)より大
きくなる前に、新たなパラメータをレジスタに設定し、
各線形変換方式を変更する。
【0073】上述の手順を、各シフトレジスタ(SR
1 、SR2 )について同時に行う。この手順において、
手順4.で出力される値の全て又は一部、或いは線形論
理演算回路の出力の全て又は一部が本実施例によって発
生される乱数となる。
【0074】ここで、AND回路に接続されたレジスタ
1 、R2 の値は、前述の図5におけるタップ列の値h
n 、hn-1 、…、h2 、h1 、ln 、ln-1 、…、l
2 、l1 を意味するので、レジスタの値を変更すれば、
線形変換方式を変更することになる。出力乱数系列の数
が、その乱数列の解析に必要な乱数の数(今の場合前述
のように3nビット)より大きくなる前に、パラメータ
の変更によってレジスタR1 、R2 の値を変更すれば、
式(3)を解くことができず、乱数列を解析することが
できない。
【0075】また、手順6.において、出力される乱数
の数がその乱数列の解析に必要な数より大きくなった後
にパラメータを変更し、線形変換方式を変更した場合で
も、式(2)により解析されるのはその変更前の線形変
換方式の場合だけであり、従来のようにそれ以降の全て
の乱数系列が解析されるのを防ぐことができるため、パ
ラメータによって線形変換方式を変更した後は安全であ
る。
【0076】〔実施例6〕図9は本実施例による乱数発
生方法を用いた乱数発生器の例を示す。2つのシフトレ
ジスタ(SR1 、SR2 )及びそれぞれのシフトレジス
タの各レジスタ((rn-1 、rn-3 、…、r3 、r
1 )、(rn 、rn-2 、…、r4 、r2 ))からの値を
非線形変換しシフトレジスタにフィードバックする2つ
の非線形論理演算回路(NTa 、NTb )からなる。
【0077】非線形フィードバックを用いた場合には、
解析に必要な乱数の数を、線形フィードバックを用いた
場合以上に大きくすることが可能である。よって、式
(3)による出力乱数列の解析に必要なビット数が多く
なるので、非線形変換の方式を変えるパラメータの変更
周期を大きくすることができるという利点がある。
【0078】本実施例による乱数発生の手順は以下の通
りに行う(ただし手順3.4.5.は同時に行なわれ
る)。
【0079】1.シフトレジスタ(SR1 、SR2 )の
各レジスタ((rn-1 、rn-3 、…、r3 、r1 )、
(rn 、rn-2 、…、r4 、r2 ))に初期値を設定す
る。
【0080】2.各非線形論理演算回路(NTa 、NT
b )は外部から与えられるパラメータに従って各非線形
変換を決定する。
【0081】3.各レジスタは与えられた値を右にシフ
トする。
【0082】4.各シフトレジスタの最右端のレジスタ
(r1 、r2 )の値を出力する。
【0083】5.各シフトレジスタの最左端のレジスタ
(rn-1 、rn )には各レジスタの値をNRa 、NTb
により非線形変換した値を入力する。
【0084】6.以下、3.4.5.を繰り返すが、式
(2)による出力乱数列の解析が行えないようにするた
めに、出力される乱数の数がその乱数列の解析に必要な
乱数の数より大きくなる前に非線形論理演算回路に入力
するパラメータを変更し、非線形変換方式を変更する。
【0085】この手順を各シフトレジスタ(SR1 、S
2 )について同時に行う。この手順において、手順
4.で出力される値の全て又は一部、或いは非線形論理
演算回路の出力の全て又は一部が本発明によって発生さ
れる乱数となる。具体的な非線形論理演算回路の構成と
しては、公知の非線形関数の入出力の対応を記憶させた
ROM等によって実現できる。
【0086】〔実施例7〕図8、図9では、2つの論理
演算回路と2つのシフトレジスタを用いた本発明による
乱数発生器を示したが、本発明を3つ以上の論理演算回
路と3つ以上のシフトレジスタから構成される乱数発生
器にも適用することも可能である。
【0087】実施例4.で述べたように、m個のシフト
レジスタ(レジスタの数の合計はn個)とm個の線形論
理演算回路からなる乱数発生器の場合、線形変換方法を
決定するために必要な出力乱数の数は、一般にn+mn
ビットとなるので、n+mnビット出力する前に、パラ
メータにより線形変換方式を変更すれば変換方式を解析
できないので安全である。この場合、線形変換の方式を
変えるパラメータの変更周期を大きくすることができる
という利点がある。
【0088】また、フィードバック変換における変換方
式に関して、単に外部から与えるパラメータによって制
御する場合について述べてきたが、外部から与えるパラ
メータと内部で生成したパラメータを合成したパラメー
タによって制御するようにしてもよい。
【0089】〔実施例8〕本実施例では、上記実施例5
において、外部から与えるパラメータとして、既に出力
したパラメータのみから次に出力されるパラメータを予
測することの困難さが、素因数分解問題や離散対数問題
を解く困難さに帰着できるようなパラメータを発生する
パラメータ発生回路からの出力を用いることにより、出
力乱数系列の安全性をさらに高める。
【0090】そのようなパラメータ発生の実現方法とし
て、文献「アドバンセズ・イン・クリプトロジー」
(“Advances in Cryptolog
y”、1983年発行、PLENUMPRESS)の第
61〜78頁に示されているような方法が知られてい
る。つまり、乱数列をb1 ,b2 …とするとビットbi
は、xoを任意に与える初期値、p、qを素数として、 xi+1 =xi 2modm(i=0、1、2、…)(3) bi =lsb(xi )(i=0、1、2、…) によって与えられる(ただし、m=p・q、lsbは最
下位ビットを表わす)。
【0091】この方法により生成された乱数列b1 、b
2 、…、bi のみからbi+1 を求めることは、mを因数
分解するのと同じだけの手間が必要であることが知られ
ている。つまり、ある時点までに発生された乱数列のみ
からその時点以降に発生されるべき乱数を求めるための
計算量は、mを因数分解するのに必要な計算量と同等で
あることが知られている。ただし、mを因数分解するこ
とを計算量的に困難にするためにはp、qを数百ビット
程度にする必要がある。このように、ある時点までに発
生された乱数列のみからその時点以降に発生されるべき
乱数を予測することが計算量的に困難となるような方法
により生成された乱数は、暗号学的に安全な擬似乱数と
呼ばれている。
【0092】このように、論理演算回路の制御を行うパ
ラメータ発生手段として暗号学的に安全な擬似乱数発生
アルゴリズムを用いれば、次のタップ列の値を予測する
ことは困難であり、従来のようにそれ以降の全ての乱数
系列が解析されるのを防ぐことができるため、論理演算
方式を変更した後は安全である。
【0093】図10は、2つのシフトレジスタと2つの
線形論理演算回路を用いた場合の本実施例による乱数発
生器の一例を示す。2つのシフトレジスタ(SR1 、S
2)及びそれぞれのシフトレジスタの各レジスタ
((rn-1 、rn-3 、…、r3 、r1 )、(rn 、r
n-2 、…、r4 、r2 ))からの値を線形変換しシフト
レジスタにフィードバックする2つの線形論理演算回路
(Ta 、Tb )を有する。また、暗号学的に安全な擬似
乱数発生方式に基づくパラメータ算出回路として、式
(3)の演算を行う自乗剰余算回路とROMを用い、線
形変換方式をパラメータ算出回路からの出力により制御
できるようにするためのAND回路を線形論理演算回路
a 、Tb に有する。自乗剰余算回路の出力は、バッフ
ァを介してROMに入力される。ROMの出力の一部は
AND回路に接続され、残りの出力はバッファにフィー
ドバック接続されている。ROMはバッファに蓄えられ
たビット数をAND回路の数とバッファにフィードバッ
クする出力数とを加えた数まで拡大するために用いられ
ている。ROMの内容は秘密にしておく。この場合、A
ND回路に接続されたROMの出力は、前述の図5のタ
ップ列の値(hn 、hn-1 、…、h2 、h1 )、(l
n 、ln-1 、…、l2 、l2 )を意味するので、ROM
への入力値(アドレス)を変更すれば、線形変換方式を
変更することになる。
【0094】本実施例による乱数発生の手順は以下の通
りに行う(ただし手順4.5.6.は同時に行われ
る)。
【0095】1.シフトレジスタ(SR1 、SR2 )の
各レジスタ((rn-1 、rn-3 、…、r3 、r1 )、
(rn 、rn-2 、…、r4 、r2 ))及びパラメータ算
出回路に初期値を設定する。
【0096】2.パラメータ算出回路は、与えられた初
期値から第1のパラメータを算出し、各線形論理演算回
路(Ta 、Tb )に出力し、各線形論理演算回路(T
a 、Tb )はそのパラメータに従って線形変換を決定す
る。
【0097】3.各レジスタは与えられた値を右にシフ
トする。
【0098】4.各シフトレジスタの最右端のレジスタ
(r1 、r2 )の値を出力する。
【0099】5.SR1 の左端のレジスタ(rn-1 )に
は各レジスタの値を線形論理演算回路(Ta )により線
形変換した値を入力し、SR2 の左端のレジスタ(r
n )には各レジスタの値を線形論理演算回路(Tb )に
より線形変換した値を入力する。
【0100】6.以下3.4.5.を繰り返すが、式
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数(今の場合、前述のように3nビット)より大き
くなるまでに、パラメータ算出回路は次のパラメータを
算出し、各線形変換回路に出力して線形変換方式を変更
する。
【0101】上記の手順を各シフトレジスタ(SR1
SR2 )について同時に行う。この手順において、手順
4.で出力される値の全て又は一部、或いは線形論理演
算回路の出力の全て又は一部が本発明によって発生され
る乱数となる。
【0102】この手順の2.、6.において行われるパ
ラメータの算出は、自乗剰余算を用いるが自乗剰余算を
暗号学的に安全な擬似乱数発生方式として用いるために
は、p、qを数百ビット程度にする必要がある。その場
合、式(3)のxi+1 =X2 imodnを計算するための
計算量が大きく、高速に乱数を発生することが困難であ
ることが知られているが、本アルゴリズムが高速処理で
きないとしても、乱数発生器より出力される乱数の数
が、その乱数列の解析に必要な乱数の数を越えるまでに
一回の割合でパラメータの算出が行われれば十分である
ため、自乗剰余算回路の処理速度が低速であっても、乱
数発生器の出力乱数を高速に生成することは十分実現可
能である。
【0103】図10の場合、出力乱数系列の数が3nビ
ットを越える前に、自乗剰余算回路は次の擬似乱数を算
出し、バッファに出力し、ROMの出力を変化させれ
ば、シフトレジスタのタップ列の値が変わるので、式
(2)を解くことができず、本乱数発生器から出力され
る乱数列を解析することはできない。
【0104】上述の自乗剰余算回路はハードで構成する
ことによっても、ソフトによりCPUで計算させること
によっても実現できる。また図10では、自乗剰余算回
路の出力の最下位ビットを暗号学的に安全な擬似乱数と
して用いているが、最下位ビットだけでなく、最下位か
らlog2 m(m=p・q)ビット迄を用いることもで
きる。
【0105】また、手順6.において、出力される乱数
の数がその乱数列の解析に必要な乱数の数より大きくな
った後に、パラメータ算出回路が次のパラメータを算出
し、線形変換方式を変更した場合でも、式(2)により
解析されるのは、その変更前の線形変換方式の場合だけ
であり、従来のようにそれ以降の全ての乱数系列が解析
されるのを防ぐことができるため、次のパラメータによ
って線形変換方式を変更した後は安全である。
【0106】〔実施例9〕実施例8と同様に、実施例6
に示された非線形論理演算回路を制御するパラメータ
に、暗号学的に安全な擬似乱数発生方式によるパラメー
タ算出回路から発生した値を用いることもできる(図1
1)。同様に、実施例7に示された論理演算回路を制御
するパラメータに暗号学的に安全な擬似乱数発生方式に
よるパラメータ算出回路から発生した値を用いることも
できる。
【0107】これらの場合、式(2)による出力乱数列
の解析に必要なビット数が、実施例8の場合より多くな
るので、論理演算方式を変えるためのパラメータの算出
周期を大きくすることができるという利点がある。算出
周期を大きくできることは、高速処理の困難な暗号学的
に安全な擬似乱数発生方式をパラメータ算出部に用いる
場合に、特に大きな利点となる。
【0108】また、暗号学的に安全な擬似乱数発生法に
は、式(3)の他に、文献「暗号と情報セキュリティ」
(辻井、笠原著、1990年発行、株式会社昭晃社)の
第86頁に示されているように、RSA暗号、離散対
数、逆数暗号を用いたものが知られており、式(2)に
基づく擬似乱数発生法に代えて、これらをパラメータ算
出のアルゴリズムに用いることができる。
【0109】また、図10のように、暗号学的に安全な
擬似乱数発生法と、内容が秘密にされたROMをフィー
ドバック的に用いる方法を組み合わせることによっても
パラメータ発生回路は構成できる。
【0110】また、内容が秘密にされたROMをフィー
ドバック的に用いる方法だけによっても、それまでにそ
のROMから発生した値からROM内部の残りの値を知
ることはできないため、パラメータ発生回路は構成でき
る。
【0111】さらに、乱数発生器の変換方式の制御に関
しても、パラメータ算出回路により生成されたパラメー
タによってのみ制御する場合について述べてきたが、乱
数発生手段の内部のパラメータとパラメータ算出回路で
算出したパラメータとを合成したパラメータによって制
御することもできる。
【0112】〔実施例10〕これまで述べたように、上
記の乱数発生方法によって生成された乱数は解析に対し
て強いので、この乱数を暗号化方式に用いることにより
解析に対して強く安全性の高い暗号通信が実現できる。
以下、通信文と乱数との間でビット毎に排他的論理和を
とる暗号化方式(ストリーム暗号)による暗号通信ネッ
トワークにおいて、本発明の乱数発生器を用いた暗号通
信の実施例を示す。
【0113】図12は、ネットワークの加入者間で、固
有かつ秘密の暗号鍵を共有している共通鍵暗号通信ネッ
トワークを示し、A、B、C、…、Nはそのネットワー
クの加入者、KAB、KAC、…はそれぞれ加入者A−B間
で共有している暗号鍵、加入者A−C間で共有している
暗号鍵、…を示している。
【0114】図13は、上述のシフトレジスタ及び論理
演算回路を含む乱数発生部とパラメータ発生回路とから
なる乱数発生器を用いた場合の暗号装置及び復号装置を
含む通信装置の構成を示したブロック図である。
【0115】図14は、図12、図13で示された暗号
通信システムにおけるA、B間の秘匿通信の様子を示し
ている。
【0116】加入者Aから加入者Bへの暗号通信は以下
の手順で行う。
【0117】1.通信の送信者Aは、受信者Bと共有し
ている秘密の鍵KABの全て又は一部を乱数発生部及びパ
ラメータ発生回路の初期値として設定し、乱数系列ki
を発生させる。
【0118】2.送信者Aは発生した乱数系列ki と通
信文mi をビット毎に排他的論理和をとり、暗号文
【0119】
【外9】 を計算し、その暗号文を受信者Bに送信する。
【0120】3.通信の受信者Bは、送信者Aと共有し
ている秘密の鍵KABの全て又は一部を乱数発生部及びパ
ラメータ発生手段回路の初期値として設定し、送信者が
発生したのと同じ乱数系列ki を発生させる。
【0121】4.受信者Bは、発生した乱数系列ki
受信暗号文ci をビット毎に排他的論理和をとり、通信
【0122】
【外10】 を復元する。
【0123】この手順に従えば、正規の受信者Bだけが
その秘密の鍵KABを知っているので、受け取った暗号文
を本来の通信文に復号でき、それ以外の加入者(C〜
N)はその暗号文をする際に用いられた秘密の鍵を知ら
ないので、その内容を知ることができない。このことに
より秘匿通信が実現される。
【0124】また、図12のようにあらかじめ暗号鍵が
配布されているのではなく、暗号通信を行うに先立って
送・受信者間で暗号鍵を共有する必要がある形態のネッ
トワークにおいても、公知の手段で鍵共有を行えば、同
じ手順で暗号通信を実現することができる。
【0125】〔実施例11〕実施例10に示した暗号通
信ネットワークでは通信文の送信者と受信者の間で固有
かつ秘密の鍵を共有しているので、暗号文を受け取り、
意味をなす通信文に復号できるということは、通信文が
その鍵のもう一人の所有者から送信されたことを受信者
に保証している。そのため、実施例10に示した秘匿通
信システムでは、通信の発信者及び着信者の認証も行う
ことができる。
【0126】〔実施例12〕実施例10及び実施例11
のようにあらかじめ暗号鍵が配布されているのではな
く、暗号通信を行うに先立って送・受信者間で暗号鍵を
共有する必要がある形態のネットワークにおいて、盗聴
の可能性のある通信路を介した場合でも安全に暗号鍵を
共有できる方式として、Diffie Hellman
の方式(W.Diffie and M.E.Hell
man “New Directions in Cr
yptography”,IEEE,IT,vol.I
T−22,No.6,1976参照)がよく知られてい
る。その際に用いる乱数として、上述の実施例の方法に
より発生した乱数を用いることができる。その場合に用
いる乱数は、送信者と着信者で同じものを持つ必要はな
いため、乱数発生部及びパラメータ発生回路に設定する
初期値には、任意の値を用いれば良い。
【0127】
【発明の効果】以上、詳細に説明したように、本発明に
よれば、従来と同じ乱数系列を発生させるのにレジスタ
の数は増加させることなく、複数のシフトレジスタを並
列に用いることにより、従来1クロックあたり1個しか
発生できなかった乱数を1クロックあたり複数個の乱数
を発生できるようになる。すなわち、従来の乱数発生法
により生成される乱数列と同じ乱数列を高速に発生する
ことが可能になる。
【0128】また、複数あるフィードバック変換方式を
それぞれ異なる方式にすることにより、乱数解析に対す
る強度も向上させることができる。
【0129】更に、出力乱数の解析を行うのに必要な乱
数系列を出力する前に、乱数発生の変換方式を変更する
ことにより、解析困難な乱数列を生成できる。
【0130】更に、パラメータ算出のアルゴリズムに、
暗号学的に安全な擬似乱数発生方式を用いれば、ある時
点までに発生されたパラメータ列からその時点以降に算
出されるべきパラメータを予測することが困難になるた
め、ある時点の乱数発生の変換方式が知られたとして
も、パラメータが変更された後の変換方式を予測するこ
とができず、安全性の高い乱数発生方式を実現すること
ができる。
【0131】また、乱数発生器によって出力される乱数
の数がその乱数列の解析に必要な乱数の数より大きくな
るまでに、新たなパラメータの算出が行われれば良いた
め、パラメータ算出の計算が高速に行えなくても、全体
として高速に乱数を生成することが可能となる。
【0132】また、このようにして発生させた乱数系列
を暗号通信に用いれば、安全性の高い暗号通信が実現で
きる。
【図面の簡単な説明】
【図1】実施例1による乱数発生器を示す図である。
【図2】実施例1による最大長周期系列発生器の例を示
す図である。
【図3】実施例2による乱数発生器を示す図である。
【図4】実施例2による乱数発生器を示す図である。
【図5】実施例3による乱数発生器を示す図である。
【図6】実施例3による乱数発生器を示す図である。
【図7】実施例4による最大長周期系列発生器の例を示
す図である。
【図8】実施例5による乱数発生器を示す図である。
【図9】実施例6による乱数発生器を示す図である。
【図10】実施例8による乱数発生器を示す図である。
【図11】実施例9による乱数発生器を示す図である。
【図12】共通鍵暗号通信ネットワークを示す図であ
る。
【図13】乱数発生器を用いた通信装置のブロック構成
を示す図である。
【図14】秘匿通信の手順を説明する図である。
【図15】従来の擬似乱数発生器を示す図である。
【図16】従来の最大長周期系列発生器の例を示す図で
ある。
【図17】従来の非線形フィードバックシフトレジスタ
を用いた乱数発生器を示す図である。
【符号の説明】
T 線形論理演算回路 NT 非線形論理演算回路 SR シフトレジスタ R レジスタ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 複数のシフトレジスタと、 該複数のシフトレジスタの各々に対応し、該複数のシフ
    トレジスタ中の所定のレジスタからの出力を論理演算し
    て、該演算の結果を対応するシフトレジスタにフィード
    バック入力する複数の論理演算回路とを具え、 前記複数のシフトレジスタの各々からの順次出力によ
    り、1つの乱数系列を発生させることを特徴とする乱数
    発生器。
  2. 【請求項2】 前記論理演算回路による論理演算が、該
    論理演算回路の外部から供給されるパラメータに基づい
    て決定されることを特徴とする請求項1記載の乱数発生
    器。
  3. 【請求項3】 前記パラメータとして、出力系列から該
    系列を解析する困難さが保証されたパラメータ系列を算
    出する算出手段を具えることを特徴とする請求項2記載
    の乱数発生器。
  4. 【請求項4】 前記算出手段が、自乗剰余演算を実行す
    る演算手段を含むことを特徴とする請求項3記載の乱数
    発生器。
  5. 【請求項5】 前記算出手段が、RSA乱数を生成する
    手段を含むことを特徴とする請求項3記載の乱数発生
    器。
  6. 【請求項6】 前記算出手段が、離散対数乱数を生成す
    る手段を含むことを特徴とする請求項3記載の乱数発生
    器。
  7. 【請求項7】 第1の複数シフトレジスタと、 該第1の複数のシフトレジスタの各々に対応し、該第1
    の複数のシフトレジスタ中の所定のレジスタからの出力
    を論理演算して、該演算の結果を対応するシフトレジス
    タにフィードバック入力する第1の複数の論理演算回路
    と、 送信者と受信者が共有する暗号鍵を初期値とし、前記第
    1の複数のシフトレジスタの各々からの順次出力を1つ
    の乱数系列として、該乱数系列を用いて通信文を暗号化
    して、暗号文を順次出力する暗号化手段とを送信装置に
    備え、 第2の複数のシフトレジスタと、 該第2の複数のシフトレジスタの各々に対応し、該第2
    の複数のシフトレジスタ中の所定のレジスタからの出力
    を論理演算して、該演算の結果を対応するシフトレジス
    タにフィードバック入力する第2の複数の論理演算回路
    と、 送信者と受信者が共有する暗号鍵を初期値とし、前記第
    2の複数のシフトレジスタの各々からの順次出力を1つ
    の乱数系列として、該乱数系列を用いて暗号文を復号し
    て通信文を順次出力する復号手段を受信装置に具えたこ
    とを特徴とする通信システム。
  8. 【請求項8】 送信側で、送信者と受信者が共有する暗
    号鍵を初期値として、第1の複数のシフトレジスタ中の
    所定のレジスタからの出力を第1の複数の論理演算回路
    により論理演算して、該演算の結果を対応するシフトレ
    ジスタにフィードバック入力し、 前記第1の複数のシフトレジスタの各々からの順次出力
    を1つの乱数系列として、該乱数系列を用いて通信文を
    暗号化して暗号文を順次受信側に送信し、 受信側で、前記暗号鍵を初期値として、第2の複数のシ
    フトレジスタ中の所定のレジスタからの出力を第2の複
    数の論理演算回路により論理演算して、該演算の結果を
    対応するシフトレジスタにフィードバック入力し、 前記第2の複数のシフトレジスタの各々からの順次出力
    により、前記乱数系列と同一の乱数系列を順次発生さ
    せ、 該同一の乱数系列に基づいて、暗号文を復号して通信文
    を順次出力することを特徴とする通信方法。
JP5179235A 1993-07-20 1993-07-20 乱数発生器、及びそれを用いた通信システム及びその方法 Pending JPH0736673A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5179235A JPH0736673A (ja) 1993-07-20 1993-07-20 乱数発生器、及びそれを用いた通信システム及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5179235A JPH0736673A (ja) 1993-07-20 1993-07-20 乱数発生器、及びそれを用いた通信システム及びその方法

Publications (1)

Publication Number Publication Date
JPH0736673A true JPH0736673A (ja) 1995-02-07

Family

ID=16062309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5179235A Pending JPH0736673A (ja) 1993-07-20 1993-07-20 乱数発生器、及びそれを用いた通信システム及びその方法

Country Status (1)

Country Link
JP (1) JPH0736673A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323135A (ja) * 2006-05-30 2007-12-13 Fdk Corp 物理乱数生成装置
JP4750105B2 (ja) * 2005-03-23 2011-08-17 Kddi株式会社 キーストリーム暗号化装置および方法ならびにプログラム
CN114384969A (zh) * 2020-12-31 2022-04-22 广东国腾量子科技有限公司 一种高速真随机数的产生系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4750105B2 (ja) * 2005-03-23 2011-08-17 Kddi株式会社 キーストリーム暗号化装置および方法ならびにプログラム
US8654972B2 (en) 2005-03-23 2014-02-18 Kddi Corporation Keystream encryption device, method, and program
JP2007323135A (ja) * 2006-05-30 2007-12-13 Fdk Corp 物理乱数生成装置
JP4678335B2 (ja) * 2006-05-30 2011-04-27 Fdk株式会社 物理乱数生成装置
CN114384969A (zh) * 2020-12-31 2022-04-22 广东国腾量子科技有限公司 一种高速真随机数的产生系统
CN114384969B (zh) * 2020-12-31 2024-04-16 广东国腾量子科技有限公司 一种高速真随机数的产生系统

Similar Documents

Publication Publication Date Title
EP0635956B1 (en) Encryption apparatus, communication system using the same and method therefor
CA2218148C (en) Generating unique and unpredictable values
EP0839418B1 (en) Cryptographic method and apparatus for non-linearly merging a data block and a key
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
JP4052480B2 (ja) 疑似乱数発生方法、疑似乱数発生器、及び疑似乱数発生プログラム
WO2015015702A1 (ja) 認証暗号装置、認証暗号方法および認証暗号用プログラム
JPH08505275A (ja) 暗号ストリームを発生させるための装置及び方法
JP3180836B2 (ja) 暗号通信装置
US6732271B1 (en) Method of deciphering ciphered data and apparatus for same
JP2000511755A (ja) バイナリーコード情報を暗号化する方法
JPWO2006019152A1 (ja) メッセージ認証子生成装置、メッセージ認証子検証装置、およびメッセージ認証子生成方法
Masoodi et al. Symmetric Algorithms I
WO2012141189A1 (ja) 暗号化方法、暗号化装置および暗号化プログラム
JP3658004B2 (ja) 通信システム
JPH0736672A (ja) 乱数発生器、及びそれを用いた通信システム及びその方法
Ledda et al. Enhancing IDEA algorithm using circular shift and middle square method
RU2141729C1 (ru) Способ криптографического преобразования блоков двоичных данных
JP2000209195A (ja) 暗号通信システム
JP4857230B2 (ja) 疑似乱数生成装置及びそれを用いた暗号化処理装置
JPH0736673A (ja) 乱数発生器、及びそれを用いた通信システム及びその方法
JP3358954B2 (ja) 擬似ランダムビット列生成器及びそれを使用する暗号通信方法
JP3358953B2 (ja) 擬似ランダムビット列生成器及びそれを使用する暗号通信方法
JPH1152850A (ja) 暗号変換方法および装置
KR20040045517A (ko) Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법
Abbaas et al. Hybrid Efficient Stream Cipher KeyGenerator Based on LFSR's and Chaotic Map

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031014