JPH0736672A - 乱数発生器、及びそれを用いた通信システム及びその方法 - Google Patents
乱数発生器、及びそれを用いた通信システム及びその方法Info
- Publication number
- JPH0736672A JPH0736672A JP5179232A JP17923293A JPH0736672A JP H0736672 A JPH0736672 A JP H0736672A JP 5179232 A JP5179232 A JP 5179232A JP 17923293 A JP17923293 A JP 17923293A JP H0736672 A JPH0736672 A JP H0736672A
- Authority
- JP
- Japan
- Prior art keywords
- random number
- output
- data
- holding
- parameter
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 118
- 238000006243 chemical reaction Methods 0.000 claims abstract description 106
- 238000004364 calculation method Methods 0.000 claims description 28
- 230000000717 retained effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 238000013478 data encryption standard Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Abstract
(57)【要約】
【目的】 高速かつ安全な乱数系列を発生する。
【構成】 データを保持するシフトレジスタ11と、該
シフトレジスタ11に保持されたデータを入力し、所定
のパラメータに基づいて入力データ値を変換する線形変
換回路12と、該線形変換回路12による変換結果に基
づき、前記シフトレジスタ11に保持されるデータを更
新する更新手段と、前記シフトレジスタ11に保持され
るデータの一部を、乱数系列として順次出力する出力手
段とを具える。
シフトレジスタ11に保持されたデータを入力し、所定
のパラメータに基づいて入力データ値を変換する線形変
換回路12と、該線形変換回路12による変換結果に基
づき、前記シフトレジスタ11に保持されるデータを更
新する更新手段と、前記シフトレジスタ11に保持され
るデータの一部を、乱数系列として順次出力する出力手
段とを具える。
Description
【0001】
【産業上の利用分野】本発明は暗号化方式に関係し、特
に暗号通信分野におけるデータの秘匿、発信者・着信者
の認証、暗号鍵の共有、零知識証明プロトコル等に関す
るものである。また、モンテカルロシミュレーションな
どの乱数を用いたシミュレーションに関するものであ
る。
に暗号通信分野におけるデータの秘匿、発信者・着信者
の認証、暗号鍵の共有、零知識証明プロトコル等に関す
るものである。また、モンテカルロシミュレーションな
どの乱数を用いたシミュレーションに関するものであ
る。
【0002】
【従来の技術】従来、乱数発生法の一つとして、文献
「現代暗号理論」(池野、小山著、昭和61年発行、電
子情報通信学会)の第69〜72頁に示されているよう
に、最大長周期系列(M系列)を発生する線形フィード
バックシフトレジスタ(LFSR)を用いたものが知ら
れている。
「現代暗号理論」(池野、小山著、昭和61年発行、電
子情報通信学会)の第69〜72頁に示されているよう
に、最大長周期系列(M系列)を発生する線形フィード
バックシフトレジスタ(LFSR)を用いたものが知ら
れている。
【0003】LFSR方式とは、図14に示すようにs
段のシフトレジスタR(t)=(rs (t)、rs-1
(t)、... 、r2 (t)、r1 (t))とタップ(引
込線)列(hs 、hs-1 、... 、h2 、h1 )からな
り、各時点(ストップ)ごとに次のような動作を同時に
行うことにより、擬似乱数系列を生成する方法である。
段のシフトレジスタR(t)=(rs (t)、rs-1
(t)、... 、r2 (t)、r1 (t))とタップ(引
込線)列(hs 、hs-1 、... 、h2 、h1 )からな
り、各時点(ストップ)ごとに次のような動作を同時に
行うことにより、擬似乱数系列を生成する方法である。
【0004】(a)最右端のレジスタのビットr1
(t)を擬似乱数系列として出力する。
(t)を擬似乱数系列として出力する。
【0005】kt =r1 (t) (b)rs (t)、rs-1 (t)、... 、r2 (t)を
右にシフトする。
右にシフトする。
【0006】ri (t+1)=ri+1 (t)(i=1、
2、... 、s−1) (c)最左端のレジスタのビットrs (t+1)をレジ
スタの内容とタップ列により、次のように計算する。
2、... 、s−1) (c)最左端のレジスタのビットrs (t+1)をレジ
スタの内容とタップ列により、次のように計算する。
【0007】
【外1】 以上まとめると、LFSR方式の擬似乱数発生アルゴリ
ズムはs行s列の行列Hを用いて、 R(t+1)=H・R(t)mod2 (1) つまり、
ズムはs行s列の行列Hを用いて、 R(t+1)=H・R(t)mod2 (1) つまり、
【0008】
【外2】 と表せる。
【0009】このs段のLFSRのタップ列をうまく選
ぶと、最大周期2s −1の擬似乱数のビット系列を生成
することができ、その時の系列が前述の最大長周期系列
となる。
ぶと、最大周期2s −1の擬似乱数のビット系列を生成
することができ、その時の系列が前述の最大長周期系列
となる。
【0010】しかしながら、このLFSRを用いる乱数
発生法では、LFSRの線形性を利用して2sビットの
出力擬似乱数列からs段のタップ列(hs 、hs-1 、
... 、h2 、h1 )を以下の方法で決定できる。
発生法では、LFSRの線形性を利用して2sビットの
出力擬似乱数列からs段のタップ列(hs 、hs-1 、
... 、h2 、h1 )を以下の方法で決定できる。
【0011】出力される擬似乱数系列がk1 、k2 、
... 、k2sであったとすると、ある時点t(t=1、
2、... 、s+1)のレジスタの内容R(t)は、 R(1)=(ks 、Ks-1 、... 、k1 )T R(2)=(ks+1 、Ks 、... 、k2 )T … R(s+1)=(k2s、K2s-1 、... 、ks+1 )T と表せる(T は転置を示す)。この時、行列X、Yを X=(R(1)、R(2)、... 、R(s)) Y=(R(2)、R(3)、... 、R(s+1)) とすると、式(1)より Y=H・X の関係が成立するため、 H=Y・X-1 (2) によりHが求められ、タップ列が決定される。
... 、k2sであったとすると、ある時点t(t=1、
2、... 、s+1)のレジスタの内容R(t)は、 R(1)=(ks 、Ks-1 、... 、k1 )T R(2)=(ks+1 、Ks 、... 、k2 )T … R(s+1)=(k2s、K2s-1 、... 、ks+1 )T と表せる(T は転置を示す)。この時、行列X、Yを X=(R(1)、R(2)、... 、R(s)) Y=(R(2)、R(3)、... 、R(s+1)) とすると、式(1)より Y=H・X の関係が成立するため、 H=Y・X-1 (2) によりHが求められ、タップ列が決定される。
【0012】つまり、乱数の周期は2s −1であるがそ
のうち2sビットでLFSRの構成が決定される。この
場合、その時点以降に発生される乱数列が全てわかって
しまうため、出力乱数列を暗号用の乱数として用いるに
は安全性の面で不適当であるという欠点があった。
のうち2sビットでLFSRの構成が決定される。この
場合、その時点以降に発生される乱数列が全てわかって
しまうため、出力乱数列を暗号用の乱数として用いるに
は安全性の面で不適当であるという欠点があった。
【0013】また、非線形フィードバックシフトレジス
タを用いれば、出力乱数系列の解析に必要となる乱数の
数を大きくすることができることが知られている。しか
し、バーレカンプ−マッセイのアルゴリズム(E.R.
Berlekamp“Algebraic codin
g theory”、McGraw−Hill Boo
k Company、1968)によりその系列を生成
することができる最小段数のLFSRを求めることがで
き、非線形フィードバックシフトレジスタを用いた乱数
発生方式も、式(2)の方法により解析される可能性が
あった。
タを用いれば、出力乱数系列の解析に必要となる乱数の
数を大きくすることができることが知られている。しか
し、バーレカンプ−マッセイのアルゴリズム(E.R.
Berlekamp“Algebraic codin
g theory”、McGraw−Hill Boo
k Company、1968)によりその系列を生成
することができる最小段数のLFSRを求めることがで
き、非線形フィードバックシフトレジスタを用いた乱数
発生方式も、式(2)の方法により解析される可能性が
あった。
【0014】以上の様に、ある時点までの出力乱数を手
に入れることができれば、それ以降に出力する乱数列全
てを容易に予測することができる乱数発生方式を便宜上
方式Aと呼ぶことにする。方式Aは上述のように暗号学
的に安全ではないが、構成が容易なので高速処理が可能
であるという特徴を持つ。
に入れることができれば、それ以降に出力する乱数列全
てを容易に予測することができる乱数発生方式を便宜上
方式Aと呼ぶことにする。方式Aは上述のように暗号学
的に安全ではないが、構成が容易なので高速処理が可能
であるという特徴を持つ。
【0015】方式Aとは異なり、ある時点までに発生さ
れた乱数列のみからその時点以降に発生されるべき乱数
を予測することが非常に困難となる乱数発生法を以下に
示し、便宜上方式Bと呼ぶことにする。
れた乱数列のみからその時点以降に発生されるべき乱数
を予測することが非常に困難となる乱数発生法を以下に
示し、便宜上方式Bと呼ぶことにする。
【0016】方式Bの実現方法として、文献「アドバン
セズ・イン・クリプトロジー」(“Advancesi
n Cryptology”、1983年発行、PLE
NUM PRESS、61〜78項)に示されているよ
うな方法が知られている。つまり、乱数列をb1 、b
2 、... とするとビットbi は、x0 を任意に与える初
期値、p、qを素数として、 xi+1 =xi 2modn(i=0、1、2、... ) (3) bi =lsb(xi )(i=0、1、2、... ) によって与えられる(ただし、n=p・q、lsbは最
下位ビットを表わす)。
セズ・イン・クリプトロジー」(“Advancesi
n Cryptology”、1983年発行、PLE
NUM PRESS、61〜78項)に示されているよ
うな方法が知られている。つまり、乱数列をb1 、b
2 、... とするとビットbi は、x0 を任意に与える初
期値、p、qを素数として、 xi+1 =xi 2modn(i=0、1、2、... ) (3) bi =lsb(xi )(i=0、1、2、... ) によって与えられる(ただし、n=p・q、lsbは最
下位ビットを表わす)。
【0017】この方法により生成された乱数列b1 、b
2 、... 、bi のみからbi+1 を求めることは、nを因
数分解するのと同じだけの手間が必要であることが知ら
れている。つまり、ある時点までに発生された乱数列の
みからその時点以降に発生されるべき乱数を求めるため
の計算量は、nを因数分解するのに必要な計算量と同等
であることが知られている。ただし、nを因数分解する
ことを計算量的に困難にするためにはp、qを数百ビッ
ト程度にする必要がある。このように、ある時点までに
発生された乱数列のみからその時点以降に発生されるべ
き乱数を予測することが計算量的に困難となるような方
法により生成された乱数は、暗号学的に安全な擬似乱数
と呼ばれている。
2 、... 、bi のみからbi+1 を求めることは、nを因
数分解するのと同じだけの手間が必要であることが知ら
れている。つまり、ある時点までに発生された乱数列の
みからその時点以降に発生されるべき乱数を求めるため
の計算量は、nを因数分解するのに必要な計算量と同等
であることが知られている。ただし、nを因数分解する
ことを計算量的に困難にするためにはp、qを数百ビッ
ト程度にする必要がある。このように、ある時点までに
発生された乱数列のみからその時点以降に発生されるべ
き乱数を予測することが計算量的に困難となるような方
法により生成された乱数は、暗号学的に安全な擬似乱数
と呼ばれている。
【0018】しかし、乱数発生法として暗号学的に安全
な擬似乱数発生方式を用いた場合には、前述のように
p、qを数百ビット程度にする必要があり、その場合、
式(3)のxi+1 =xi 2modnを計算するための計算
量が大きく、高速に乱数を発生できないという問題があ
った。
な擬似乱数発生方式を用いた場合には、前述のように
p、qを数百ビット程度にする必要があり、その場合、
式(3)のxi+1 =xi 2modnを計算するための計算
量が大きく、高速に乱数を発生できないという問題があ
った。
【0019】
【課題を解決するための手段】上記課題を解決するため
に、本発明の乱数発生器は、データを保持する保持手段
と、該保持手段に保持されたデータを入力し、所定のパ
ラメータに基づいて入力データ値を変換する変換手段
と、該変換手段による変換結果に基づき、前記保持手段
に保持されるデータを更新する更新手段と、前記保持手
段に保持されるデータの一部を、乱数系列として順次出
力する出力手段とを具える。
に、本発明の乱数発生器は、データを保持する保持手段
と、該保持手段に保持されたデータを入力し、所定のパ
ラメータに基づいて入力データ値を変換する変換手段
と、該変換手段による変換結果に基づき、前記保持手段
に保持されるデータを更新する更新手段と、前記保持手
段に保持されるデータの一部を、乱数系列として順次出
力する出力手段とを具える。
【0020】また、本発明の他の態様によれば、データ
を保持する保持手段と、該保持手段に保持されたデータ
を入力し、所定のパラメータに基づいて入力データ値を
変換する変換手段と、該変換手段による変換結果に基づ
き、前記保持手段に保持されるデータを更新する更新手
段と、前記保持手段に保持されるデータの一部を、乱数
系列として順次出力する出力手段と、前記パラメータと
して出力系列から該系列を推定することが困難なパラメ
ータ系列を順次算出してパラメータを変更する算出手段
とを具える。
を保持する保持手段と、該保持手段に保持されたデータ
を入力し、所定のパラメータに基づいて入力データ値を
変換する変換手段と、該変換手段による変換結果に基づ
き、前記保持手段に保持されるデータを更新する更新手
段と、前記保持手段に保持されるデータの一部を、乱数
系列として順次出力する出力手段と、前記パラメータと
して出力系列から該系列を推定することが困難なパラメ
ータ系列を順次算出してパラメータを変更する算出手段
とを具える。
【0021】また、本発明の他の態様によれば、データ
を保持する第1の保持手段と、該第1の保持手段に保持
されたデータを入力し、所定のパラメータに基づいて入
力データ値を変換する第1の変換手段と、該第1の変換
手段による変換結果に基づき、前記第1の保持手段に保
持されるデータを更新する第1の更新手段と、前記第1
の保持手段に保持されるデータの一部を、乱数系列とし
て順次出力する第1の出力手段と、該第1の出力手段よ
り出力される乱数系列に基づいて通信文を暗号化する暗
号化手段とを送信装置に具え、データを保持する第2の
保持手段と、該第2の保持手段に保持されたデータを入
力し、所定のパラメータに基づいて入力データ値を変換
する第2の変換手段と、該第2の変換手段による変換結
果に基づき、前記第2の保持手段に保持されるデータを
更新する第2の更新手段と、前記第2の保持手段に保持
されるデータの一部を、乱数系列として順次出力する第
2の出力手段と、該第2の出力手段より出力される乱数
系列に基づいて暗号文を復号する復号手段とを受信装置
に具える。
を保持する第1の保持手段と、該第1の保持手段に保持
されたデータを入力し、所定のパラメータに基づいて入
力データ値を変換する第1の変換手段と、該第1の変換
手段による変換結果に基づき、前記第1の保持手段に保
持されるデータを更新する第1の更新手段と、前記第1
の保持手段に保持されるデータの一部を、乱数系列とし
て順次出力する第1の出力手段と、該第1の出力手段よ
り出力される乱数系列に基づいて通信文を暗号化する暗
号化手段とを送信装置に具え、データを保持する第2の
保持手段と、該第2の保持手段に保持されたデータを入
力し、所定のパラメータに基づいて入力データ値を変換
する第2の変換手段と、該第2の変換手段による変換結
果に基づき、前記第2の保持手段に保持されるデータを
更新する第2の更新手段と、前記第2の保持手段に保持
されるデータの一部を、乱数系列として順次出力する第
2の出力手段と、該第2の出力手段より出力される乱数
系列に基づいて暗号文を復号する復号手段とを受信装置
に具える。
【0022】また、本発明の他の態様によれば、データ
を保持する第1の保持手段と、該第1の保持手段に保持
されたデータを入力し、所定のパラメータに基づいて入
力データ値を変換する第1の変換手段と、該第1の変換
手段による変換結果に基づき、前記第1の保持手段に保
持されるデータを更新する第1の更新手段と、前記第1
の保持手段に保持されるデータの一部を、乱数系列とし
て順次出力する第1の出力手段と、前記パラメータとし
て出力系列から該系列を推定することが困難なパラメー
タ系列を順次算出してパラメータを変更する第1の算出
手段と、前記第1の出力手段より出力される乱数系列に
基づいて通信文を暗号化する暗号化手段とを送信装置に
具え、データを保持する第2の保持手段と、該第2の保
持手段に保持されたデータを入力し、所定のパラメータ
に基づいて入力データ値を変換する第2の変換手段と、
該第2の変換手段による変換結果に基づき、前記第2の
保持手段に保持されるデータを更新する第2の更新手段
と、前記第2の保持手段に保持されるデータの一部を、
乱数系列として順次出力する第2の出力手段と、前記パ
ラメータとして出力系列から該系列を推定することが困
難なパラメータ系列を順次算出してパラメータを変更す
る第2の算出手段と、前記第2の出力手段より出力され
る乱数系列に基づいて暗号文を復号する復号手段とを受
信装置に具える。
を保持する第1の保持手段と、該第1の保持手段に保持
されたデータを入力し、所定のパラメータに基づいて入
力データ値を変換する第1の変換手段と、該第1の変換
手段による変換結果に基づき、前記第1の保持手段に保
持されるデータを更新する第1の更新手段と、前記第1
の保持手段に保持されるデータの一部を、乱数系列とし
て順次出力する第1の出力手段と、前記パラメータとし
て出力系列から該系列を推定することが困難なパラメー
タ系列を順次算出してパラメータを変更する第1の算出
手段と、前記第1の出力手段より出力される乱数系列に
基づいて通信文を暗号化する暗号化手段とを送信装置に
具え、データを保持する第2の保持手段と、該第2の保
持手段に保持されたデータを入力し、所定のパラメータ
に基づいて入力データ値を変換する第2の変換手段と、
該第2の変換手段による変換結果に基づき、前記第2の
保持手段に保持されるデータを更新する第2の更新手段
と、前記第2の保持手段に保持されるデータの一部を、
乱数系列として順次出力する第2の出力手段と、前記パ
ラメータとして出力系列から該系列を推定することが困
難なパラメータ系列を順次算出してパラメータを変更す
る第2の算出手段と、前記第2の出力手段より出力され
る乱数系列に基づいて暗号文を復号する復号手段とを受
信装置に具える。
【0023】
【作用】かかる本発明の乱数発生器においては、保持手
段に保持されたデータを入力し、所定のパラメータに基
づいて入力データ値を変換手段により変換し、該変換手
段による変換結果に基づき、前記保持手段に保持される
データを更新手段が更新する。出力手段が前記保持手段
に保持されるデータの一部を、乱数系列として順次出力
する。
段に保持されたデータを入力し、所定のパラメータに基
づいて入力データ値を変換手段により変換し、該変換手
段による変換結果に基づき、前記保持手段に保持される
データを更新手段が更新する。出力手段が前記保持手段
に保持されるデータの一部を、乱数系列として順次出力
する。
【0024】また、算出手段が前記パラメータとして出
力系列から該系列を推定することが困難なパラメータ系
列を順次算出してパラメータを変更する。
力系列から該系列を推定することが困難なパラメータ系
列を順次算出してパラメータを変更する。
【0025】また、送信側で、データを保持する第1の
保持部に保持されたデータを第1の変換部に入力し、所
定のパラメータに基づいて入力データを変換し、該変換
の結果に基づき、前記第1の保持部に保持されるデータ
を更新し、前記第1の保持部に保持されるデータの一部
を、乱数系列として順次出力し、該出力される乱数系列
に基づいて通信文を暗号化して暗号文を順次受信側に送
信し、受信側で、データを保持する第2の保持部に保持
されたデータを第2の変換部に入力し、所定のパラメー
タに基づいて入力データを変換し、該変換の結果に基づ
き、前記第2の保持部に保持されるデータを更新し、前
記第2の保持部に保持されるデータの一部を、乱数系列
として順次出力し、該出力される乱数系列に基づいて暗
号文を復号する。
保持部に保持されたデータを第1の変換部に入力し、所
定のパラメータに基づいて入力データを変換し、該変換
の結果に基づき、前記第1の保持部に保持されるデータ
を更新し、前記第1の保持部に保持されるデータの一部
を、乱数系列として順次出力し、該出力される乱数系列
に基づいて通信文を暗号化して暗号文を順次受信側に送
信し、受信側で、データを保持する第2の保持部に保持
されたデータを第2の変換部に入力し、所定のパラメー
タに基づいて入力データを変換し、該変換の結果に基づ
き、前記第2の保持部に保持されるデータを更新し、前
記第2の保持部に保持されるデータの一部を、乱数系列
として順次出力し、該出力される乱数系列に基づいて暗
号文を復号する。
【0026】
(実施例1)図1は、LFSRを用いた乱数発生器のブ
ロック構成を示す図である。シフトレジスタ11及びシ
フトレジスタ11の各レジスタからの値を線形変換しシ
フトレジスタ11にフィードバックする線形変換回路1
2からなる。
ロック構成を示す図である。シフトレジスタ11及びシ
フトレジスタ11の各レジスタからの値を線形変換しシ
フトレジスタ11にフィードバックする線形変換回路1
2からなる。
【0027】本実施例による乱数発生の手順は以下の通
りに行う(ただし手順3.4.5は同時に行われる)。
りに行う(ただし手順3.4.5は同時に行われる)。
【0028】1.シフトレジスタ11の各レジスタに初
期値を設定する。
期値を設定する。
【0029】2.線形変換回路12は外部から与えられ
るパラメータに従って線形変換を決定する。
るパラメータに従って線形変換を決定する。
【0030】3.各レジスタは与えられた値を右にシフ
トする。
トする。
【0031】4.最右端のレジスタの値を乱数として出
力する。
力する。
【0032】5.各レジスタの値を2.で決定された線
形変換に従ってフィードバック変換し、最左端のレジス
タの値とする。
形変換に従ってフィードバック変換し、最左端のレジス
タの値とする。
【0033】6.以下3.4.5.を繰り返すが、式
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数(今の場合シフトレジスタの段階の2倍)より大
きくなる前に線形変換回路12に入力するパラメータを
変更し、線形変換方式を変更する。
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数(今の場合シフトレジスタの段階の2倍)より大
きくなる前に線形変換回路12に入力するパラメータを
変更し、線形変換方式を変更する。
【0034】この手順において、手順4.で出力される
値の全て又は一部、或いは線形変換回路の出力の全て又
は一部が本発明によって発生される乱数となる。線形変
換回路にAND回路を利用した場合の乱数発生器を図2
に示す。図2において、まずシフトレジスタに初期値を
設定する。AND回路に接続されたレジスタの値は、前
述のタップ列の値hn 、hn-1 、…、h2 、h1 を意味
するので、レジスタの値を変更すれば線形変換方式を変
更することになる。出力乱数系列の数がシフトレジスタ
の段数の2倍を越える前にパラメータの変更によってレ
ジスタの値を変更すれば式(2)を解くことができず、
乱数列を解析することができない。
値の全て又は一部、或いは線形変換回路の出力の全て又
は一部が本発明によって発生される乱数となる。線形変
換回路にAND回路を利用した場合の乱数発生器を図2
に示す。図2において、まずシフトレジスタに初期値を
設定する。AND回路に接続されたレジスタの値は、前
述のタップ列の値hn 、hn-1 、…、h2 、h1 を意味
するので、レジスタの値を変更すれば線形変換方式を変
更することになる。出力乱数系列の数がシフトレジスタ
の段数の2倍を越える前にパラメータの変更によってレ
ジスタの値を変更すれば式(2)を解くことができず、
乱数列を解析することができない。
【0035】また、手順6.において、出力される乱数
の数がその乱数列により決定される線形複雑度の2倍よ
り大きくなった後に線形変換回路に入力するパラメータ
を変更し、線形変換方式を変更した場合でも、式(2)
により解析されるのはその線形変換方式の場合だけであ
り、従来例のようにそれ以降の全ての乱数系列が解析さ
れるのを防ぐことができるため、パラメータによって線
形変換方式を変更した後は安全である。
の数がその乱数列により決定される線形複雑度の2倍よ
り大きくなった後に線形変換回路に入力するパラメータ
を変更し、線形変換方式を変更した場合でも、式(2)
により解析されるのはその線形変換方式の場合だけであ
り、従来例のようにそれ以降の全ての乱数系列が解析さ
れるのを防ぐことができるため、パラメータによって線
形変換方式を変更した後は安全である。
【0036】(実施例2)LFSRによる乱数発生器で
は、出力乱数系列の解析に必要な乱数の数はLFSRの
段数の2倍であるが、非線形フィードバックシフトレジ
スタを用いた場合には解析に必要な乱数の数をLFSR
の場合以上に大きくすることが可能である。よって、式
(2)による出力乱数列の解析に必要なビット数が多く
なるので、非線形変換の方式を変えるパラメータの変更
周期を大きくすることができるという利点がある。その
非線形フィードバックシフトレジスタを用いた実施例を
図3に示す。
は、出力乱数系列の解析に必要な乱数の数はLFSRの
段数の2倍であるが、非線形フィードバックシフトレジ
スタを用いた場合には解析に必要な乱数の数をLFSR
の場合以上に大きくすることが可能である。よって、式
(2)による出力乱数列の解析に必要なビット数が多く
なるので、非線形変換の方式を変えるパラメータの変更
周期を大きくすることができるという利点がある。その
非線形フィードバックシフトレジスタを用いた実施例を
図3に示す。
【0037】図3は本発明による非線形フィードバック
シフトレジスタを用いた場合の乱数列発生器を示すブロ
ック図である。シフトレジスタ11及びシフトレジスタ
11の各レジスタからの値を非線形変換しシフトレジス
タ11にフィードバックする非線形変換回路31からな
る。
シフトレジスタを用いた場合の乱数列発生器を示すブロ
ック図である。シフトレジスタ11及びシフトレジスタ
11の各レジスタからの値を非線形変換しシフトレジス
タ11にフィードバックする非線形変換回路31からな
る。
【0038】本実施例による乱数発生の手順は以下の通
りに行う(ただし手順3.4.5.は同時に行われ
る)。
りに行う(ただし手順3.4.5.は同時に行われ
る)。
【0039】1.シフトレジスタ11の各レジスタに初
期値を設定する。
期値を設定する。
【0040】2.非線形変換回路31は外部から与えら
れるパラメータに従って非線形変換を決定する。
れるパラメータに従って非線形変換を決定する。
【0041】3.各レジスタは与えられた値を右にシフ
トする。
トする。
【0042】4.最右端のレジスタの値を乱数として出
力する。
力する。
【0043】5.各レジスタの値を2.で決定された非
線形変換に従ってフィードバック変換し、最左端のレジ
スタの値とする。
線形変換に従ってフィードバック変換し、最左端のレジ
スタの値とする。
【0044】6.以下3.4.5.を繰り返すが、式
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなる前に非線形変換回路に入力するパ
ラメータを変更し、非線形変換方式を変更する。
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなる前に非線形変換回路に入力するパ
ラメータを変更し、非線形変換方式を変更する。
【0045】この手順において、手順4.で出力される
値の全て又は一部、或いは非線形変換回路31の出力の
全て又は一部が本実施例によって発生される乱数とな
る。具体的な非線形変換回路31の構成としては、公知
の非線形関数の入出力の対応を記憶されたROM等によ
って実現できる。
値の全て又は一部、或いは非線形変換回路31の出力の
全て又は一部が本実施例によって発生される乱数とな
る。具体的な非線形変換回路31の構成としては、公知
の非線形関数の入出力の対応を記憶されたROM等によ
って実現できる。
【0046】(実施例3)実施例1.2.では、本発明
をわかりやすく説明するため線形及び非線形フィードバ
ックシフトレジスタを用いた例について述べたが、上記
実施例の本質は与えられた初期値をもとに、定められた
変換を施してフィードバックすることにより連鎖的に乱
数を発生させる乱数発生方式において、該変換における
変換方式を外部より与えるパラメータによって制御する
こと、特に変換方式を決定するのに必要なだけの乱数列
を出力する前に該変換方式を制御するパラメータを変更
し、該変換方式を変更すること、にある。このことから
明らかなように、乱数発生方式として線形及び非線形フ
ィードバックシフトレジスタに限らず、種々の方式を用
いることができるのは言うまでもない。
をわかりやすく説明するため線形及び非線形フィードバ
ックシフトレジスタを用いた例について述べたが、上記
実施例の本質は与えられた初期値をもとに、定められた
変換を施してフィードバックすることにより連鎖的に乱
数を発生させる乱数発生方式において、該変換における
変換方式を外部より与えるパラメータによって制御する
こと、特に変換方式を決定するのに必要なだけの乱数列
を出力する前に該変換方式を制御するパラメータを変更
し、該変換方式を変更すること、にある。このことから
明らかなように、乱数発生方式として線形及び非線形フ
ィードバックシフトレジスタに限らず、種々の方式を用
いることができるのは言うまでもない。
【0047】また、フィードバック変換における変換方
式に関しても、外部から与えるパラメータによって制御
する場合について述べてきたが、外部から与えるパラメ
ータと内部で生成したパラメータを合成したパラメータ
によって制御することもできる。
式に関しても、外部から与えるパラメータによって制御
する場合について述べてきたが、外部から与えるパラメ
ータと内部で生成したパラメータを合成したパラメータ
によって制御することもできる。
【0048】(実施例4)図4は、乱数を発生させる手
順としてシフトレジスタを用いない場合を示している。
順としてシフトレジスタを用いない場合を示している。
【0049】本実施例では、それぞれ同一のクロックで
動作するR1 〜Rn のn個のレジスタ、各レジスタから
の出力と最終レジスタ(Rn )からのフィードバック出
力とで(非)線形変換を行い次のレジスタに出力するS
1 〜Sm のm個の(非)線形変換回路からなる。
動作するR1 〜Rn のn個のレジスタ、各レジスタから
の出力と最終レジスタ(Rn )からのフィードバック出
力とで(非)線形変換を行い次のレジスタに出力するS
1 〜Sm のm個の(非)線形変換回路からなる。
【0050】本実施例による乱数発生の手順は以下の通
りに行う(ただし手順3.4.5.は同時に行われ
る)。
りに行う(ただし手順3.4.5.は同時に行われ
る)。
【0051】1.各レジスタにそれぞれ初期値を設定す
る。
る。
【0052】2.S1 〜Sm の各(非)線形変換回路は
外部から与えられるパラメータに従って(非)線形変換
を決定する。
外部から与えられるパラメータに従って(非)線形変換
を決定する。
【0053】3.最右端のレジスタ(Rn )の値を乱数
として出力し、最左端のレジスタ(R1 )の値とする。
として出力し、最左端のレジスタ(R1 )の値とする。
【0054】4.各レジスタは3.において保持してい
た値を出力すると同時に入力部にある値を保持する。
た値を出力すると同時に入力部にある値を保持する。
【0055】5.各(非)線形変換回路は手前のレジス
タから出力された値とRn からのフィードバック出力と
を2.で決定された(非)線形変換によって変換し、後
のレジスタに出力する。
タから出力された値とRn からのフィードバック出力と
を2.で決定された(非)線形変換によって変換し、後
のレジスタに出力する。
【0056】6.以下3.4.5.を繰り返すが、式
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなる前に(非)線形変換回路に入力す
るパラメータを変更し、(非)線形変換方式を変更す
る。
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなる前に(非)線形変換回路に入力す
るパラメータを変更し、(非)線形変換方式を変更す
る。
【0057】この手順において、Rn の出力の全て又は
一部が本実施例によって発生される乱数となる。
一部が本実施例によって発生される乱数となる。
【0058】また、上記手順において、各(非)線形変
換回路は前述のROM等によって構成することができ、
各(非)線形変換回路はそれぞれ異なる(非)線形変換
を行っても良い。
換回路は前述のROM等によって構成することができ、
各(非)線形変換回路はそれぞれ異なる(非)線形変換
を行っても良い。
【0059】(実施例5)図5は擬似乱数発生器にDE
S(Data Encryption Standar
d)暗号回路を用いる場合の実施例を示している。最近
差分解読法と呼ばれる有力な解読法が提案され、DES
暗号の安全性に疑問が持たれるようになっており、その
対策として鍵を頻繁に変更することが考えられる。DE
S暗号回路を用いる場合は、DES暗号の鍵を変えるこ
とが変換方式を変えることになる。
S(Data Encryption Standar
d)暗号回路を用いる場合の実施例を示している。最近
差分解読法と呼ばれる有力な解読法が提案され、DES
暗号の安全性に疑問が持たれるようになっており、その
対策として鍵を頻繁に変更することが考えられる。DE
S暗号回路を用いる場合は、DES暗号の鍵を変えるこ
とが変換方式を変えることになる。
【0060】(実施例6)以下の実施例によれば、前述
の方式Aを用いた乱数発生器へ与えるパラメータを算出
するために方式Bを用いたパラメータ算出回路を有し、
このパラメータ算出回路より出力されるパラメータによ
って乱数発生器における変換方式を制御することによっ
て、方式Aの利点である高速性と方式Bの利点である安
全性の2つを実現する乱数列の発生を以下のようにして
可能にしたものである。
の方式Aを用いた乱数発生器へ与えるパラメータを算出
するために方式Bを用いたパラメータ算出回路を有し、
このパラメータ算出回路より出力されるパラメータによ
って乱数発生器における変換方式を制御することによっ
て、方式Aの利点である高速性と方式Bの利点である安
全性の2つを実現する乱数列の発生を以下のようにして
可能にしたものである。
【0061】方式Aによる乱数発生器に出力される乱数
の数が、その乱数列の解析に必要な乱数の数より大きく
なる前、或いは等しくなる近辺で前記タップ列の値を変
更して乱数発生手段の変換の方式を変更させることによ
り、式(2)の方法による出力乱数列の解析が行えない
ようにし、出力乱数系列の安全性を高めることができ
る。よって、そのタップ列の値をバラメータとして方式
Bによって制御する。
の数が、その乱数列の解析に必要な乱数の数より大きく
なる前、或いは等しくなる近辺で前記タップ列の値を変
更して乱数発生手段の変換の方式を変更させることによ
り、式(2)の方法による出力乱数列の解析が行えない
ようにし、出力乱数系列の安全性を高めることができ
る。よって、そのタップ列の値をバラメータとして方式
Bによって制御する。
【0062】この場合、方式Aを用いた乱数発生器によ
って出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなるまでに、方式Bによるパラメータ
の算出が行われれば良いため、方式Bの計算が高速に行
えなくても全体として高速に乱数を生成することは可能
である。
って出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなるまでに、方式Bによるパラメータ
の算出が行われれば良いため、方式Bの計算が高速に行
えなくても全体として高速に乱数を生成することは可能
である。
【0063】また、式(2)の方法で解析を行うのに十
分な数の乱数を出力した後に前記のタップ列の値を変更
したとしても、解析できるのはそのタップ列の値の時だ
けである。しかもタップ列の値の制御は方式Bによって
行われているので次のタップ列の値を予測することは困
難であり、従来のようにそれ以降の全ての乱数系列が解
析されるのを防ぐことができるため、タップ列の値を変
更した後は安全である。
分な数の乱数を出力した後に前記のタップ列の値を変更
したとしても、解析できるのはそのタップ列の値の時だ
けである。しかもタップ列の値の制御は方式Bによって
行われているので次のタップ列の値を予測することは困
難であり、従来のようにそれ以降の全ての乱数系列が解
析されるのを防ぐことができるため、タップ列の値を変
更した後は安全である。
【0064】(実施例7)LFSRによる乱数発生器で
は、出力乱数系列の解析に必要な乱数の数はLFSRの
段数の2倍であるが、非線形フィードバックシフトレジ
スタを用いた場合には解析に必要な乱数の数をLFSR
の場合以上に大きくすることが可能である。よって、式
(2)による出力乱数列の解析に必要なビット数が多く
なるので、非線形変換の方式を変えるためのパラメータ
の算出周期を大きくすることができるという利点があ
る。算出周期を大きくできることは、高速処理の困難な
方式Bをパラメータ算出部に用いる場合に特に大きな利
点となる。
は、出力乱数系列の解析に必要な乱数の数はLFSRの
段数の2倍であるが、非線形フィードバックシフトレジ
スタを用いた場合には解析に必要な乱数の数をLFSR
の場合以上に大きくすることが可能である。よって、式
(2)による出力乱数列の解析に必要なビット数が多く
なるので、非線形変換の方式を変えるためのパラメータ
の算出周期を大きくすることができるという利点があ
る。算出周期を大きくできることは、高速処理の困難な
方式Bをパラメータ算出部に用いる場合に特に大きな利
点となる。
【0065】その非線形フィードバックシフトレジスタ
を用いた実施例を図8に示す。図8は本発明による非線
形フィードバックシフトレジスタを用いた場合の乱数列
発生器を示すブロック図である。方式Aに基づく乱数発
生手段としてシフトレジスタ及びシフトレジスタの各レ
ジスタからの値を非線形変換しシフトレジスタにフィー
ドバックする非線形変換回路21を用い、方式Bに基づ
くパラメータ算出回路61を用いて構成される。非線形
変換方式はパラメータ算出回路61からの出力により制
御される。
を用いた実施例を図8に示す。図8は本発明による非線
形フィードバックシフトレジスタを用いた場合の乱数列
発生器を示すブロック図である。方式Aに基づく乱数発
生手段としてシフトレジスタ及びシフトレジスタの各レ
ジスタからの値を非線形変換しシフトレジスタにフィー
ドバックする非線形変換回路21を用い、方式Bに基づ
くパラメータ算出回路61を用いて構成される。非線形
変換方式はパラメータ算出回路61からの出力により制
御される。
【0066】本実施例による乱数発生手順は以下の通り
に行う(ただし手順4.5.6.は同時に行われる)。
に行う(ただし手順4.5.6.は同時に行われる)。
【0067】1.シフトレジスタの各レジスタ及びパラ
メータ算出回路に初期値を設定する。
メータ算出回路に初期値を設定する。
【0068】2.パラメータ算出回路は与えられた初期
値から第一のパラメータを算出し、非線形変換回路21
に出力する。
値から第一のパラメータを算出し、非線形変換回路21
に出力する。
【0069】3.非線形変換回路21は、2.により与
えられるパラメータに従って非線形変換を決定する。
えられるパラメータに従って非線形変換を決定する。
【0070】4.各レジスタは与えられた値を右にシフ
トする。
トする。
【0071】5.最右端のレジスタの値を乱数として出
力する。
力する。
【0072】6.各レジスタの値を3.で決定された非
線形変換に従ってフィードバック変換し、最左端のレジ
スタの値とする。
線形変換に従ってフィードバック変換し、最左端のレジ
スタの値とする。
【0073】7.以下4.5.6.を繰り返すが、式
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなる前にパラメータ算出回路は次のパ
ラメータを算出し、非線形変換回路21に出力して非線
形変換方式を変更する。
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなる前にパラメータ算出回路は次のパ
ラメータを算出し、非線形変換回路21に出力して非線
形変換方式を変更する。
【0074】この手順において、手順5.で出力される
値の全て又は一部、或いは非線形変換回路の出力の全て
又は一部が本発明によって発生される乱数となる。具体
的な非線形変換回路21の構成としては、公知の非線形
関数の入出力の対応を記憶させたROM等によって実現
できる。
値の全て又は一部、或いは非線形変換回路の出力の全て
又は一部が本発明によって発生される乱数となる。具体
的な非線形変換回路21の構成としては、公知の非線形
関数の入出力の対応を記憶させたROM等によって実現
できる。
【0075】(実施例8)実施例6、7では、本発明を
わかりやすく説明するため乱数発生手段として線形及び
非線形フィードバックシフトレジスタを用いた例につい
て述べたが、本発明の本質は方式Aを用いた乱数発生手
段の変換方式を方式Bを用いたパラメータ算出手段から
出力されるパラメータによって制御することにある。特
に乱数発生手段の変換方式を決定するのに必要なだけの
乱数列を出力する前に該変換方式をパラメータ算出手段
からの出力により変更することにある。このことから明
らかなように、乱数発生手段として線形及び非線形フィ
ードバックシフトレジスタに限らず、種々の方式を用い
ることができるのは言うまでもない。
わかりやすく説明するため乱数発生手段として線形及び
非線形フィードバックシフトレジスタを用いた例につい
て述べたが、本発明の本質は方式Aを用いた乱数発生手
段の変換方式を方式Bを用いたパラメータ算出手段から
出力されるパラメータによって制御することにある。特
に乱数発生手段の変換方式を決定するのに必要なだけの
乱数列を出力する前に該変換方式をパラメータ算出手段
からの出力により変更することにある。このことから明
らかなように、乱数発生手段として線形及び非線形フィ
ードバックシフトレジスタに限らず、種々の方式を用い
ることができるのは言うまでもない。
【0076】また、方式Bとして用いることのできる暗
号学的に安全な擬似乱数発生法には、式(3)の他に文
献「暗号と情報セキュリティ」(辻井、笠原著、199
0年発行、株式会社昭晃社、86頁)に示されているよ
うに、RSA暗号、離散対数、逆数暗号を用いたものが
知られており、これらも本発明のパラメータ算出手段の
アルゴリズムに用いることができる。
号学的に安全な擬似乱数発生法には、式(3)の他に文
献「暗号と情報セキュリティ」(辻井、笠原著、199
0年発行、株式会社昭晃社、86頁)に示されているよ
うに、RSA暗号、離散対数、逆数暗号を用いたものが
知られており、これらも本発明のパラメータ算出手段の
アルゴリズムに用いることができる。
【0077】また、図2のように暗号学的に安全な擬似
乱数発生法と内容が秘密にされたROMをフィードバッ
ク的に用いる方法を組み合わせることによっても方式B
に基づくパラメータ発生手段は構成できる。
乱数発生法と内容が秘密にされたROMをフィードバッ
ク的に用いる方法を組み合わせることによっても方式B
に基づくパラメータ発生手段は構成できる。
【0078】また、内容が秘密にされたROMをフィー
ドバック的に用いる方法だけによっても、それまでにそ
のROMから発生した値からROM内部の残りの値を知
ることはできないため、方式Bに基づくパラメータ発生
手段は構成できる。
ドバック的に用いる方法だけによっても、それまでにそ
のROMから発生した値からROM内部の残りの値を知
ることはできないため、方式Bに基づくパラメータ発生
手段は構成できる。
【0079】さらに、乱数発生手段の変換方式の制御に
関してもパラメータ算出回路により生成されたパラメー
タによってのみ制御する場合について述べてきたが、乱
数発生手段の内部のパラメータとパラメータ算出回路で
算出したパラメータとを合成したパラメータによって制
御することもできる。
関してもパラメータ算出回路により生成されたパラメー
タによってのみ制御する場合について述べてきたが、乱
数発生手段の内部のパラメータとパラメータ算出回路で
算出したパラメータとを合成したパラメータによって制
御することもできる。
【0080】(実施例9)図9は、乱数を発生させる手
順としてシフトレジスタを用いない場合を示している。
順としてシフトレジスタを用いない場合を示している。
【0081】本実施例では、方式Aに基づく乱数発生手
段としてそれぞれ同一のクロックで動作するR1 〜Rs
のs個のレジスタ及び各レジスタからの出力と最終レジ
スタ(Rs )からのフィードバック出力とで(非)線形
変換を行い次のレジスタに出力するT1 〜Tm のm個の
(非)線形変換回路を用い、方式Bに基づくパラメータ
算出回路61を用いて構成される。各(非)線形変換方
式はパラメータ算出回路61からの出力により制御され
る。
段としてそれぞれ同一のクロックで動作するR1 〜Rs
のs個のレジスタ及び各レジスタからの出力と最終レジ
スタ(Rs )からのフィードバック出力とで(非)線形
変換を行い次のレジスタに出力するT1 〜Tm のm個の
(非)線形変換回路を用い、方式Bに基づくパラメータ
算出回路61を用いて構成される。各(非)線形変換方
式はパラメータ算出回路61からの出力により制御され
る。
【0082】本実施例による乱数発生の手順は以下の通
りに行う(ただし手順4.5.6.は同時に行われ
る)。
りに行う(ただし手順4.5.6.は同時に行われ
る)。
【0083】1.各レジスタ及びパラメータ算出回路6
1ににそれぞれ初期値を設定する。
1ににそれぞれ初期値を設定する。
【0084】2.パラメータ算出回路61は与えられた
初期値から第一のパラメータを算出し、各(非)線形変
換回路に出力する。
初期値から第一のパラメータを算出し、各(非)線形変
換回路に出力する。
【0085】3.T1 〜Tm の各(非)線形変換回路は
2.により与えられるパラメータに従ってそれぞれの
(非)線形変換を決定する。
2.により与えられるパラメータに従ってそれぞれの
(非)線形変換を決定する。
【0086】4.最右端のレジスタ(Rs )の値を乱数
として出力し、最左端のレジスタ(R1 )の値とする。
として出力し、最左端のレジスタ(R1 )の値とする。
【0087】5.各レジスタは4.において保持してい
た値を出力すると同時に入力部にある値を保持する。
た値を出力すると同時に入力部にある値を保持する。
【0088】6.各(非)線形変換回路は手前のレジス
タから出力された値とRs からのフィードバック出力と
を3.で決定された(非)線形変換によって変換し、後
のレジスタに出力する。
タから出力された値とRs からのフィードバック出力と
を3.で決定された(非)線形変換によって変換し、後
のレジスタに出力する。
【0089】7.以下4.5.6.を繰り返すが、式
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなる前にパラメータ算出回路は次のバ
ラメータを算出し、各(非)線形変換回路に出力してそ
れぞれの(非)線形変換方式を変更する。
(2)による出力乱数列の解析が行えないようにするた
め、出力される乱数の数がその乱数列の解析に必要な乱
数の数より大きくなる前にパラメータ算出回路は次のバ
ラメータを算出し、各(非)線形変換回路に出力してそ
れぞれの(非)線形変換方式を変更する。
【0090】この手順において、Rs の出力の全て又は
一部が本発明によって発生される乱数となる。
一部が本発明によって発生される乱数となる。
【0091】また、上記手順において、各(非)線形変
換回路は前述のROM等によって構成することができ、
各(非)線形変換回路はそれぞれ異なる(非)線形変換
を行っても良い。
換回路は前述のROM等によって構成することができ、
各(非)線形変換回路はそれぞれ異なる(非)線形変換
を行っても良い。
【0092】(実施例10)図10は本発明において乱
数発生手段にDES(Data Encryption
Standard)暗号回路51を用いる場合の実施
例を示している。最近差分解読法と呼ばれる有力な解読
法が提案され、DES暗号の安全性に疑問が持たれるよ
うになっており、その対策として鍵を頻繁に変更するこ
とが考えられる。DES暗号装置51を用いる場合は、
DES暗号の鍵を変えることが変換方式を変えることに
なる。
数発生手段にDES(Data Encryption
Standard)暗号回路51を用いる場合の実施
例を示している。最近差分解読法と呼ばれる有力な解読
法が提案され、DES暗号の安全性に疑問が持たれるよ
うになっており、その対策として鍵を頻繁に変更するこ
とが考えられる。DES暗号装置51を用いる場合は、
DES暗号の鍵を変えることが変換方式を変えることに
なる。
【0093】(実施例11)これまでに述べたように、
上記の乱数発生器によって生成された乱数は解析に対し
て強いので、この乱数を暗号化方式に用いることにより
解析に対して強く安全性の高い暗号通信が実現できる。
以下、通信文と乱数との間でビット毎に排他的論理和を
とる暗号化方式(ストリーム暗号)による暗号通信ネッ
トワークにおいて、乱数発生器を用いた暗号通信の実施
例を示す。
上記の乱数発生器によって生成された乱数は解析に対し
て強いので、この乱数を暗号化方式に用いることにより
解析に対して強く安全性の高い暗号通信が実現できる。
以下、通信文と乱数との間でビット毎に排他的論理和を
とる暗号化方式(ストリーム暗号)による暗号通信ネッ
トワークにおいて、乱数発生器を用いた暗号通信の実施
例を示す。
【0094】図11はネットワークの加入者間で固有か
つ秘密の暗号鍵を共有している共通鍵暗号通信ネットワ
ークを示し、A、B、C、…、Nはそのネットワークの
加入者、KAB、KAC、…はそれぞれ加入者A−B間で共
有している暗号鍵、加入者A−C間で共有している暗号
鍵、…を示している。
つ秘密の暗号鍵を共有している共通鍵暗号通信ネットワ
ークを示し、A、B、C、…、Nはそのネットワークの
加入者、KAB、KAC、…はそれぞれ加入者A−B間で共
有している暗号鍵、加入者A−C間で共有している暗号
鍵、…を示している。
【0095】図12は本発明による乱数発生回路とパラ
メータ算出回路からなる乱数発生器121を用いた場合
の暗号装置及び復号装置を含む通信装置122の構成を
示したブロック図である。
メータ算出回路からなる乱数発生器121を用いた場合
の暗号装置及び復号装置を含む通信装置122の構成を
示したブロック図である。
【0096】図13は図11、図12で示された暗号通
信システムにおけるA、B間の秘匿通信の様子を示して
いる。
信システムにおけるA、B間の秘匿通信の様子を示して
いる。
【0097】加入者Aから加入者Bへの暗号通信は以下
の手順で行う。
の手順で行う。
【0098】1.通信の送信者Aは、送信先Bと共有し
ている秘密の鍵KABの全て又は一部を乱数発生回路及び
パラメータ算出回路の初期値として設定し、乱数系列k
i を発生させる。
ている秘密の鍵KABの全て又は一部を乱数発生回路及び
パラメータ算出回路の初期値として設定し、乱数系列k
i を発生させる。
【0099】2.Aは発生した乱数系列ki と通信文m
i をビット毎に排他的論理和をとり、暗号文
i をビット毎に排他的論理和をとり、暗号文
【0100】
【外3】 を計算し、その暗号文をBに送信する。
【0101】3.通信の受信者Bは、送信元Aと共有し
ている秘密の鍵KABの全て又は一部を乱数発生回路及び
パラメータ算出回路の初期値として設定し、送信者が発
生したのと同じ乱数系列ki を発生させる。
ている秘密の鍵KABの全て又は一部を乱数発生回路及び
パラメータ算出回路の初期値として設定し、送信者が発
生したのと同じ乱数系列ki を発生させる。
【0102】4.Bは発生した乱数系列ki と受信暗号
文ci をビット毎に排他的論理和をとり、通信文
文ci をビット毎に排他的論理和をとり、通信文
【0103】
【外4】 を復元する。
【0104】この手順に従えば、正規の送信先Bだけが
その秘密の鍵KABを知っているので受け取った暗号文を
本来の通信文に復号でき、それ以外の加入者(C〜N)
はその暗号文をする際に用いられた秘密の鍵を知らない
のでその内容を知ることができない。このことにより秘
匿通信が実現される。また、図11のようにあらかじめ
暗号鍵が配布されているのではなく、暗号通信を行うに
先立って送・受信者間で暗号鍵を共有する必要がある形
態のネットワークにおいても、公知の手法で鍵共有を行
えば同じ手順で暗号通信を実現することができる。
その秘密の鍵KABを知っているので受け取った暗号文を
本来の通信文に復号でき、それ以外の加入者(C〜N)
はその暗号文をする際に用いられた秘密の鍵を知らない
のでその内容を知ることができない。このことにより秘
匿通信が実現される。また、図11のようにあらかじめ
暗号鍵が配布されているのではなく、暗号通信を行うに
先立って送・受信者間で暗号鍵を共有する必要がある形
態のネットワークにおいても、公知の手法で鍵共有を行
えば同じ手順で暗号通信を実現することができる。
【0105】(実施例12)実施例11に示した暗号通
信ネットワークでは通信文の送信者と受信者の間で固有
かつ秘密の鍵を共有しているので、暗号文を受け取り、
意味をなす通信文に復号できるということは、通信文が
その鍵のもう一人の所有者から送信されたことを受信者
に保証している。そのため、実施例11に示した秘匿通
信システムでは、通信の発信者及び着信者の認証も行う
ことができる。
信ネットワークでは通信文の送信者と受信者の間で固有
かつ秘密の鍵を共有しているので、暗号文を受け取り、
意味をなす通信文に復号できるということは、通信文が
その鍵のもう一人の所有者から送信されたことを受信者
に保証している。そのため、実施例11に示した秘匿通
信システムでは、通信の発信者及び着信者の認証も行う
ことができる。
【0106】(実施例13)実施例11、12のように
あらかじめ暗号鍵が配布されているのではなく、暗号通
信を行うに先立って送・受信者間で暗号鍵を共有する必
要がある形態のネットワークにおいて、盗聴の可能性の
ある通信路を介した場合でも安全に暗号鍵を共有できる
方式としてDiffie−Hellmanの方式(W.
Diffieand M.E.Hellman “Ne
w Directions incryptograp
hy”,IEEE,IT,vol.I.T−22,N
o.6,1976)がよく知られている。その際に用い
る乱数として本発明により発生した乱数を用いることが
できる。
あらかじめ暗号鍵が配布されているのではなく、暗号通
信を行うに先立って送・受信者間で暗号鍵を共有する必
要がある形態のネットワークにおいて、盗聴の可能性の
ある通信路を介した場合でも安全に暗号鍵を共有できる
方式としてDiffie−Hellmanの方式(W.
Diffieand M.E.Hellman “Ne
w Directions incryptograp
hy”,IEEE,IT,vol.I.T−22,N
o.6,1976)がよく知られている。その際に用い
る乱数として本発明により発生した乱数を用いることが
できる。
【0107】その場合に用いる乱数は、送信者と着信者
で同じものを持つ必要はないため、乱数発生手段及びパ
ラメータ発生手段に設定する初期値は任意の値を用いれ
ば良い。
で同じものを持つ必要はないため、乱数発生手段及びパ
ラメータ発生手段に設定する初期値は任意の値を用いれ
ば良い。
【0108】
【発明の効果】以上説明したように、本発明によれば、
一定数の出力系列から解析可能な方式(方式A)により
出力される乱数の数が、その解析に必要な数より大きく
なる前、或いは等しくなる近辺で、方式Aのパラメータ
を変更するので、方式Aの解析に必要な数の出力を集め
ることが困難になり、発生する乱数の安全性が高められ
るという効果がある。
一定数の出力系列から解析可能な方式(方式A)により
出力される乱数の数が、その解析に必要な数より大きく
なる前、或いは等しくなる近辺で、方式Aのパラメータ
を変更するので、方式Aの解析に必要な数の出力を集め
ることが困難になり、発生する乱数の安全性が高められ
るという効果がある。
【0109】また、方式Aのパラメータを、出力系列か
ら解析困難な方式(方式B)により出力される乱数に基
づいて変更することにより、方式Aの安全性が一層高め
られるという効果がある。
ら解析困難な方式(方式B)により出力される乱数に基
づいて変更することにより、方式Aの安全性が一層高め
られるという効果がある。
【0110】この場合、方式Aから出力される出力の数
が方式Aの解析に必要な数より大きくなるまでに、方式
Bによる乱数の出力が行われれば良いため、方式Bの乱
数発生は高速に行えなくてもよい。しかし、最終出力は
方式Aからの出力であるので、高速に乱数を発生するこ
とが可能である。
が方式Aの解析に必要な数より大きくなるまでに、方式
Bによる乱数の出力が行われれば良いため、方式Bの乱
数発生は高速に行えなくてもよい。しかし、最終出力は
方式Aからの出力であるので、高速に乱数を発生するこ
とが可能である。
【0111】また、この乱数系列を暗号通信に用いれ
ば、高速かつ安全性の高い暗号通信が実現されるという
効果がある。
ば、高速かつ安全性の高い暗号通信が実現されるという
効果がある。
【図1】LFSRを用いた乱数発生器のブロック構成を
示す図である。
示す図である。
【図2】LFSRを用いた乱数発生器の詳細なブロック
構成を示す図である。
構成を示す図である。
【図3】非線形フィードバックレジスタを用いた乱数発
生器のブロック構成を示す図である。
生器のブロック構成を示す図である。
【図4】複数個のレジスタを用いた乱数発生器のブロッ
ク構成を示す図である。
ク構成を示す図である。
【図5】DES暗号装置を用いた乱数発生器のブロック
構成を示す図である。
構成を示す図である。
【図6】LFSRを用いた乱数発生器のブロック構成を
示す図である。
示す図である。
【図7】LFSRを用いた乱数発生器のブロック構成を
示す図である。
示す図である。
【図8】非線形フィードバックレジスタを用いた乱数発
生器のブロック構成を示す図である。
生器のブロック構成を示す図である。
【図9】複数個のレジスタを用いた乱数発生器のブロッ
ク構成を示す図である。
ク構成を示す図である。
【図10】DES暗号装置を用いた乱数発生器のブロッ
ク構成を示す図である。
ク構成を示す図である。
【図11】共通鍵暗号通信ネットワークを説明する図で
ある。
ある。
【図12】暗号装置及び復号装置を含む通信装置の構成
を示すブロック図である。
を示すブロック図である。
【図13】秘匿通信を行う通信システムを説明する図で
ある。
ある。
【図14】LFSRを用いた従来の乱数発生器のブロッ
ク構成を示す図である。
ク構成を示す図である。
11 シフトレジスタ 12 線形変換回路 21 レジスタ 31 非線形変換回路 51 DES暗号回路 61 パラメータ算出回路 71 ROM 72 バッファ 73 自乗剰余算回路 121 乱数発生器 122 通信装置
Claims (6)
- 【請求項1】 データを保持する保持手段と、 該保持手段に保持されたデータを入力し、所定のパラメ
ータに基づいて入力データ値を変換する変換手段と、 該変換手段による変換結果に基づき、前記保持手段に保
持されるデータを更新する更新手段と、 前記保持手段に保持されるデータの一部を、乱数系列と
して順次出力する出力手段とを具え、前記パラメータを
所定の周期で変更することを特徴とする乱数発生器。 - 【請求項2】 データを保持する保持手段と、 該保持手段に保持されたデータを入力し、所定のパラメ
ータに基づいて入力データ値を変換する変換手段と、 該変換手段による変換結果に基づき、前記保持手段に保
持されるデータを更新する更新手段と、 前記保持手段に保持されるデータの一部を、乱数系列と
して順次出力する出力手段と、 前記パラメータとして出力系列から該系列を推定するこ
とが困難なパラメータ系列を順次算出してパラメータを
変更する算出手段とを具えることを特徴とする乱数発生
器。 - 【請求項3】 データを保持する第1の保持手段と、 該第1の保持手段に保持されたデータを入力し、所定の
パラメータに基づいて入力データ値を変換する第1の変
換手段と、 該第1の変換手段による変換結果に基づき、前記第1の
保持手段に保持されるデータを更新する第1の更新手段
と、 前記第1の保持手段に保持されるデータの一部を、乱数
系列として順次出力する第1の出力手段と、 該第1の出力手段より出力される乱数系列に基づいて通
信文を暗号化する暗号化手段とを送信装置に具え、 データを保持する第2の保持手段と、 該第2の保持手段に保持されたデータを入力し、所定の
パラメータに基づいて入力データ値を変換する第2の変
換手段と、 該第2の変換手段による変換結果に基づき、前記第2の
保持手段に保持されるデータを更新する第2の更新手段
と、 前記第2の保持手段に保持されるデータの一部を、乱数
系列として順次出力する第2の出力手段と、 該第2の出力手段より出力される乱数系列に基づいて暗
号文を復号する復号手段とを受信装置に具えたことを特
徴とする通信システム。 - 【請求項4】 データを保持する第1の保持手段と、 該第1の保持手段に保持されたデータを入力し、所定の
パラメータに基づいて入力データ値を変換する第1の変
換手段と、 該第1の変換手段による変換結果に基づき、前記第1の
保持手段に保持されるデータを更新する第1の更新手段
と、 前記第1の保持手段に保持されるデータの一部を、乱数
系列として順次出力する第1の出力手段と、 前記パラメータとして出力系列から該系列を推定するこ
とが困難なパラメータ系列を順次算出してパラメータを
変更する第1の算出手段と、 前記第1の出力手段より出力される乱数系列に基づいて
通信文を暗号化する暗号化手段とを送信装置に備え、 データを保持する第2の保持手段と、 該第2の保持手段に保持されたデータを入力し、所定の
パラメータに基づいて入力データ値を変換する第2の変
換手段と、 該第2の変換手段による変換結果に基づき、前記第2の
保持手段に保持されるデータを更新する第2の更新手段
と、 前記第2の保持手段に保持されるデータの一部を、乱数
系列として順次出力する第2の出力手段と、 前記パラメータとして出力系列から該系列を推定するこ
とが困難なパラメータ系列を順次算出してパラメータを
変更する第2の算出手段と、 前記第2の出力手段より出力される乱数系列に基づいて
暗号文を復号する復号手段とを受信装置に具えたことを
特徴とする通信システム。 - 【請求項5】 送信側で、データを保持する第1の保持
部に保持されたデータを第1の変換部に入力し、 所定のパラメータに基づいて入力データを変換し、 該変換の結果に基づき、前記第1の保持部に保持される
データを更新し、 前記第1の保持部に保持されるデータの一部を、乱数系
列として順次出力し、 該出力される乱数系列に基づいて通信文を暗号化して暗
号文を順次受信側に送信し、 受信側で、データを保持する第2の保持部に保持された
データを第2の変換部に入力し、 所定のパラメータに基づいて入力データを変換し、 該変換の結果に基づき、前記第2の保持部に保持される
データを更新し、 前記第2の保持部に保持されるデータの一部を、乱数系
列として順次出力し、 該出力される乱数系列に基づいて暗号文を復号すること
を特徴とする通信方法。 - 【請求項6】 送信側で、データを保持する第1の保持
部に保持されたデータを第1の変換部に入力し、 所定のパラメータに基づいて入力データを変換し、 該変換の結果に基づき、前記第1の保持部に保持される
データを更新し、 前記パラメータとして出力系列から該系列を推定するこ
とが困難なパラメータ系列を順次算出してパラメータを
変更し、 前記第1の保持部に保持されるデータの一部を、乱数系
列として順次出力し、 該出力される乱数系列に基づいて通信文を暗号化する暗
号文を順時受信側に送信し、 受信側で、データを保持する第2の保持部に保持された
データを第2の変換部に入力し、 所定のパラメータに基づいて入力データを変換し、 該変換の結果に基づき、前記第2の保持部に保持される
データを更新し、 前記パラメータとして出力系列から該系列を推定するこ
とが困難なパラメータ系列を順次算出してパラメータを
更新し、 前記第2の保持部に保持されるデータの一部を、乱数系
列として順次出力し、 該出力される乱数系列に基づいて暗号文を復号すること
を特徴とする通信方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5179232A JPH0736672A (ja) | 1993-07-20 | 1993-07-20 | 乱数発生器、及びそれを用いた通信システム及びその方法 |
EP94305221A EP0635956B1 (en) | 1993-07-20 | 1994-07-15 | Encryption apparatus, communication system using the same and method therefor |
DE69433257T DE69433257T2 (de) | 1993-07-20 | 1994-07-15 | Verfahren und Kommunikationssystem unter Verwendung einer Verschlüsselungseinrichtung |
CA002128115A CA2128115C (en) | 1993-07-20 | 1994-07-15 | Encryption apparatus, communication system using the same and method therefor |
AT94305221T ATE252796T1 (de) | 1993-07-20 | 1994-07-15 | Verfahren und kommunikationssystem unter verwendung einer verschlüsselungseinrichtung |
AU67545/94A AU693444B2 (en) | 1993-07-20 | 1994-07-18 | Encryption apparatus, communication system using the same and method therefor |
US08/277,512 US5600720A (en) | 1993-07-20 | 1994-07-19 | Encryption apparatus, communication system using the same and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5179232A JPH0736672A (ja) | 1993-07-20 | 1993-07-20 | 乱数発生器、及びそれを用いた通信システム及びその方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0736672A true JPH0736672A (ja) | 1995-02-07 |
Family
ID=16062257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5179232A Withdrawn JPH0736672A (ja) | 1993-07-20 | 1993-07-20 | 乱数発生器、及びそれを用いた通信システム及びその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0736672A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004032098A1 (ja) * | 2002-10-07 | 2004-04-15 | Kobayashi, Akira | 疑似乱数発生方法及び疑似乱数発生器 |
US7403614B2 (en) | 2002-08-22 | 2008-07-22 | Sony Corporation | Encryption apparatus |
JP2009506438A (ja) * | 2005-08-24 | 2009-02-12 | クゥアルコム・インコーポレイテッド | 暗号的に安全な擬似乱数生成器 |
JP2012529867A (ja) * | 2009-06-17 | 2012-11-22 | エンパイア テクノロジー ディベロップメント エルエルシー | ハードウェアベースの暗号法 |
JP2013064898A (ja) * | 2011-09-19 | 2013-04-11 | Nec Engineering Ltd | 擬似乱数生成装置、および、擬似乱数生成方法 |
JP2014017841A (ja) * | 2009-06-10 | 2014-01-30 | Infineon Technologies Ag | 認証および安全なデータ転送のためのセッション鍵の生成 |
WO2020209201A1 (ja) * | 2019-04-12 | 2020-10-15 | 株式会社東海理化電機製作所 | 通信システム及び制御装置 |
JP2020174347A (ja) * | 2019-04-12 | 2020-10-22 | 株式会社東海理化電機製作所 | 通信システム及び制御装置 |
-
1993
- 1993-07-20 JP JP5179232A patent/JPH0736672A/ja not_active Withdrawn
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7403614B2 (en) | 2002-08-22 | 2008-07-22 | Sony Corporation | Encryption apparatus |
WO2004032098A1 (ja) * | 2002-10-07 | 2004-04-15 | Kobayashi, Akira | 疑似乱数発生方法及び疑似乱数発生器 |
JP2009506438A (ja) * | 2005-08-24 | 2009-02-12 | クゥアルコム・インコーポレイテッド | 暗号的に安全な擬似乱数生成器 |
JP4669046B2 (ja) * | 2005-08-24 | 2011-04-13 | クゥアルコム・インコーポレイテッド | 暗号的に安全な擬似乱数生成器 |
US8019802B2 (en) | 2005-08-24 | 2011-09-13 | Qualcomm Incorporated | Cryptographically secure pseudo-random number generator |
US9509508B2 (en) | 2009-06-10 | 2016-11-29 | Infineon Technologies Ag | Generating a session key for authentication and secure data transfer |
JP2014017841A (ja) * | 2009-06-10 | 2014-01-30 | Infineon Technologies Ag | 認証および安全なデータ転送のためのセッション鍵の生成 |
JP2012529867A (ja) * | 2009-06-17 | 2012-11-22 | エンパイア テクノロジー ディベロップメント エルエルシー | ハードウェアベースの暗号法 |
JP2013064898A (ja) * | 2011-09-19 | 2013-04-11 | Nec Engineering Ltd | 擬似乱数生成装置、および、擬似乱数生成方法 |
WO2020209201A1 (ja) * | 2019-04-12 | 2020-10-15 | 株式会社東海理化電機製作所 | 通信システム及び制御装置 |
JP2020174347A (ja) * | 2019-04-12 | 2020-10-22 | 株式会社東海理化電機製作所 | 通信システム及び制御装置 |
CN113545005A (zh) * | 2019-04-12 | 2021-10-22 | 株式会社东海理化电机制作所 | 通信系统以及控制装置 |
US11838416B2 (en) | 2019-04-12 | 2023-12-05 | Kabushiki Kaisha Tokai Rika Denki Seisakusho | Communication system and control device |
CN113545005B (zh) * | 2019-04-12 | 2024-04-05 | 株式会社东海理化电机制作所 | 通信系统以及控制装置 |
US12143489B2 (en) | 2019-04-12 | 2024-11-12 | Kabushiki Kaisha Tokai Rika Denki Seisakusho | Communication system and control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0635956B1 (en) | Encryption apparatus, communication system using the same and method therefor | |
KR100296958B1 (ko) | 블록 데이터 암호화 장치 | |
EP0839418B1 (en) | Cryptographic method and apparatus for non-linearly merging a data block and a key | |
JP4596686B2 (ja) | Dpaに対して安全な暗号化 | |
US7978851B2 (en) | Keystream encryption device, method, and program | |
JP4052480B2 (ja) | 疑似乱数発生方法、疑似乱数発生器、及び疑似乱数発生プログラム | |
JPH08505275A (ja) | 暗号ストリームを発生させるための装置及び方法 | |
JP3180836B2 (ja) | 暗号通信装置 | |
JP2000511755A (ja) | バイナリーコード情報を暗号化する方法 | |
JPH0736672A (ja) | 乱数発生器、及びそれを用いた通信システム及びその方法 | |
JP3658004B2 (ja) | 通信システム | |
Patil et al. | An enhancement in international data encryption algorithm for increasing security | |
JP2000209195A (ja) | 暗号通信システム | |
RU2141729C1 (ru) | Способ криптографического преобразования блоков двоичных данных | |
Ledda et al. | Enhancing IDEA algorithm using circular shift and middle square method | |
KR100362170B1 (ko) | 라운드 키 생성 및 암호처리용 암호화장치 | |
Mihalkovich et al. | MPF based symmetric cipher performance comparison to AES and TDES | |
JP3694242B2 (ja) | 署名付き暗号通信方法及びその装置 | |
JPH1117673A (ja) | 共通鍵暗号通信方法及びその通信ネットワーク | |
JPH08204701A (ja) | 電子メール暗号通信システム及び暗号通信方法 | |
JP3358954B2 (ja) | 擬似ランダムビット列生成器及びそれを使用する暗号通信方法 | |
Pal et al. | Design of strong cryptographic schemes based on Latin Squares | |
Putra et al. | Performance Analysis Of The Combination Of Advanced Encryption Standard Cryptography Algorithms With Luc For Text Security | |
Kwan et al. | A general purpose technique for locating key scheduling weaknesses in DES-like cryptosystems | |
JPH0736673A (ja) | 乱数発生器、及びそれを用いた通信システム及びその方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20001003 |