(57)【特許請求の範囲】
【請求項１】
送信側装置と受信側装置とが共有する暗号鍵を乱数の初期値とする逐次演算により乱数を順次発生させて、第三者が出力系列から該系列を解析することが計算量的に困難な乱数系列を発生させる第１の乱数発生手段と、
前記乱数系列中の乱数に基づく値をパラメータとして、前記乱数発生手段による乱数系列のデータ発生速度より高速なデータ出力速度で、通信データを暗号化して順次出力する暗号化手段とを送信装置に備え、
前記暗号鍵を乱数の初期値とする逐次演算により乱数を順次発生させて、前記第１の乱数発生手段と同一の乱数系列を発生する第２の乱数発生手段と、
前記乱数系列中の乱数に基づく値をパラメータとして、前記暗号化手段の逆演算により、暗号文を復号して通信文を順次出力する復号手段とを受信装置に備え、
前記送信装置では、前記暗号化手段による一連の通信文の暗号化中に、前記第１の乱数発生手段は順次乱数を発生し、前記暗号化手段は、同一の前記パラメータに基づいて暗号化したデータが第三者により解析可能となる所定のデータ量に達する前に、当該第１の乱数発生手段より発生された新たな乱数に基づく値を次のパラメータとして、前記パラメータを更新し、
前記受信装置では、前記復号手段による一連の暗号文の復号中に、前記第２の乱数発生手段は順次乱数を発生し、前記復号手段は、同一の前記パラメータに基づいて復号したデータが前記解析可能となる所定のデータ量に達する前に、当該第２の乱数発生手段より発生された新たな乱数に基づく値を次のパラメータとして、前記パラメータを更新することを特徴とする通信システム。
【請求項２】
前記暗号化手段が、第三者が一定数以上の出力系列から該系列を解析可能な乱数系列を発生する第３の乱数発生手段を用いることを特徴とする請求項１に記載の通信システム。
【請求項３】
前記乱数発生手段を複数用いることを特徴とする請求項１に記載の通信システム。
【請求項４】
前記暗号化手段の暗号として、Ｆｅｉｓｔｅｌ  暗号を用いることを特徴とする請求項１に記載の通信システム。
【請求項５】
前記暗号化手段がフィードバックシフトレジスタを用いることを特徴とする請求項１に記載の通信システム。
【請求項６】
前記第１及び第２の乱数発生手段として、自乗剰余演算を実行し、該演算結果の下位数ビットを出力する手段を用いることを特徴とする請求項１に記載の通信システム。
【請求項７】
前記第１及び第２の乱数発生手段として、ＲＳＡ乱数を生成する手段を用いることを特徴とする請求項１に記載の通信システム。
【請求項８】
前記第１及び第２の乱数発生手段として、離散対数乱数を生成する手段を用いることを特徴とする請求項１に記載の通信システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は暗号化方式に関係し、特に暗号通信分野におけるデータの秘匿，発信者・着信者の認証，暗号鍵の共有，零知識証明プロトコル等に関するものである。また、モンテカルロシミュレーションなどの乱数を用いたシミュレーションに関するものである。
【０００２】
【従来の技術】
従来の暗号化方式は大きく２つの方式に分けることができる。１つはある数の暗号文を手に入れることができれば暗号鍵を解読することができる、即ち、それ以降に出力される暗号文全てを容易に解読することができる暗号化方式であり、このような暗号化方式を、便宜上方式Ａと呼ぶことにする。方式Ａの代表例としてはＤＥＳ(Data Encryption Standard)やＦＥＡＬ(Fast Encryption Algorithm) などのＦｅｉｓｔｅｌ暗号（辻井重男，笠原正雄著「暗号と情報セキュリティ」昭晃堂，第35〜49頁参照）、またはシフトレジスタを用いた線形フィードバックシフトレジスタ方式（以下、ＬＦＳＲ方式）や非線形フィードバックシフトレジスタ方式などが知られている。
【０００３】
例えば、ＤＥＳやＦＥＡＬは差分解読法（E.Biham, A.Shamir:“Differential Cryptanalysis of DES-like Cryptosystems”, Lournal of Cryptology, Vol.4, No.1, pp.3-72, 1992 参照）と呼ばれる解読法によって、鍵の全数探索（２56個の全探索）よりも速い解読が可能である。これによって、最近の研究（１９９３年暗号と情報セキュリティシンポジウム資料：ＳＣＩＳ９３−３Ｃ）では１６段のＤＥＳは２47個，８段のＤＥＳは２21個，８段のＦＥＡＬは２15個の既知平文攻撃によって解読が可能であることが示され、その探索数は今後の研究によってさらに減少していくことが予測される。
【０００４】
また、暗号化方式としてＬＦＳＲ方式により発生される乱数系列を用いた場合、ｎ段のシフトレジスタを用いたＬＦＳＲ方式は、文献「現代暗号理論」（池野，小山著, 昭和61年発行，電子情報通信学会）の第69〜72頁に示されているように、２n −１ビットの乱数系列の内の２ｎビットがわかれば、そのＬＦＳＲの構成が解析可能であることが知られている。
【０００５】
しかし、これらの方式は、簡単な演算によって高速な暗号化処理が可能であるという点から、実用上よく用いられている。このように方式Ａは安全性は保証できないが、高速処理が可能であるという特徴を持つ。
【０００６】
一方、方式Ａと異なり、ある時点までに発生された暗号化出力のみからその時点以降に発生される暗号化出力を予測することが非常に困難となる暗号化方式を、便宜上方式Ｂと呼ぶ。暗号化出力が乱数の場合、方式Ｂの代表例として文献「アドバンセズ・イン・クリプトロジー」（"Advances in Cryptology"，1983年発行，PLENUM PRESS）の第61〜78頁に示されているような自乗剰余演算による方法が知られている。つまり、乱数列を｛ｂ1 ，ｂ2 ，……｝とすると、ビットｂi は、ｘ0 を任意に与える初期値，ｎ＝ｐ・ｑ（ｐ，ｑは素数）として、
ｘi+1 ＝ｘi2 mod  ｎ  (i=0,1,2, ……)
ｂi   ＝lsb(ｘi)       (i=0,1,2,……)
によって与えられる（ただし、lsb(ｘ) はｘの最下位ビットを表わす）。
【０００７】
この方法により生成された乱数列｛ｂ1 ，ｂ2 ，…ｂi ｝のみからｂi+1 を求めることは、ｎを因数分解するのと同じだけの手間が必要であることが知られている。つまり、ある時点までに発生された乱数列のみからその時点以降に発生される乱数を求めるための計算量は、ｎを因数分解するのに必要な計算量と同等であることが保証される。以後、この方法によって与えられる乱数を自乗剰余乱数と呼ぶ（ただし、ｂi はｘi の最下位ビットだけでなく最下位からｌｏｇ2 ｎビット程度であってもよい。）。
【０００８】
しかし、ｎを因数分解することを計算量的に困難にするためにはｐ，ｑを数百ビット程度にする必要がある。このような場合、前述のｘi+1 ＝ｘi2 mod  ｎを計算するための計算量もまた大きくなり、高速に乱数を発生できないという問題が生じる。つまり、方式Ｂは方式Ａと反対に安全性は計算量的に保証されるが、高速処理ができないという特徴をもつ。また、方式Ｂの他の例としてはＲＳＡ乱数（B.Chor and O.Goldreich: “RSA/Rabin least significant bits are 1/2+1/poly(n) secure ”, Advances in Cryptology: Preceedings of Crypto 84, G.R., 1984）や離散対数と求めることと同等の安全性を保証する離散対数乱数（M.Blum and S.Micali:“How to generate cryptographically strong sequences of pseudo-random bits”, 23rd IEEE FOCS, pp.112-117, 1982）等も考えられるが、安全性は保証されるが高速処理ができないという点で同様の特徴をもつ。
【０００９】
【発明が解決しようとしている課題】
つまり、方式Ａは、高速処理が可能であるが安全性は保証できず、方式Ｂは、方式Ａと反対に、安全性は計算量的に保証されるが高速処理ができないという問題があった。
【００１０】
そこで、本発明は、方式Ａの高速性と方式Ｂの安全性を両立させた暗号化装置、及びそれを用いた通信システム及びその方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、本発明の通信システムは、送信側装置と受信側装置とが共有する暗号鍵を乱数の初期値とする逐次演算により乱数を順次発生させて、第三者が出力系列から該系列を解析することが計算量的に困難な乱数系列を発生させる第１の乱数発生手段と、前記乱数系列中の乱数に基づく値をパラメータとして、前記乱数発生手段による乱数系列のデータ発生速度より高速なデータ出力速度で、通信データを暗号化して順次出力する暗号化手段とを送信装置に備え、前記暗号鍵を乱数の初期値とする逐次演算により乱数を順次発生させて、前記第１の乱数発生手段と同一の乱数系列を発生する第２の乱数発生手段と、前記乱数系列中の乱数に基づく値をパラメータとして、前記暗号化手段の逆演算により、暗号文を復号して通信文を順次出力する復号手段とを受信装置に備え、前記送信装置では、前記暗号化手段による一連の通信文の暗号化中に、前記第１の乱数発生手段は順次乱数を発生し、前記暗号化手段は、同一の前記パラメータに基づいて暗号化して出力されたデータが第三者により解析可能となる予め定められたデータ量に達する前に、当該第１の乱数発生手段より発生された新たな乱数に基づく値を次のパラメータとして、前記パラメータを更新し、前記受信装置では、前記復号手段による一連の暗号文の復号中に、前記第２の乱数発生手段は順次乱数を発生し、前記復号手段は、同一の前記パラメータに基づいて復号したデータが前記予め定められた量に達する前に、当該第２の乱数発生手段より発生された新たな乱数に基づく値を次のパラメータとして、前記パラメータを更新することを特徴とする。
【００１７】
【実施例】
以下、添付図面を参照しながら、本発明の実施例を詳細に説明する。
【００１８】
図１は、本発明の一実施例に係る暗号化装置の基本構成を示すブロック図である。図中、(a) に、方式Ａの回路として暗号化回路１２を用いた場合を示し、(b) に、方式Ａとして乱数発生回路１３を用いた場合を示す。本実施例によれば、方式Ａを用いた第１の回路（暗号化回路１２または乱数発生回路１３）と方式Ｂを用いた第２の回路（乱数発生回路１１）から成り、送信者と受信者が共通に有する暗号鍵を初期値として第２の回路（乱数発生回路１１）から生成される乱数をパラメータとして、第１の回路（暗号化回路１２または乱数発生回路１３）における変換方式を制御することによって、方式Ａの利点である高速性と方式Ｂの利点である安全性の２つを実現する暗号化処理（または乱数発生）を以下のようにして可能にしたものである。
【００１９】
方式Ａによる暗号化方式（または乱数発生方式）によって出力される暗号文（または乱数系列）の数が、方式Ａの解析に必要な暗号文（または乱数系列）の数より大きくなる前、或いは等しくなる近辺で方式Ａの暗号鍵に相当する変換方式を方式Ｂからの乱数をパラメータとして変更することによって、解析に必要な数の暗号文（または乱数系列）を集めることを困難にしている。
【００２０】
この場合、方式Ａを用いた暗号化（または乱数発生）によって出力される暗号文（または乱数系列）の数が方式Ａの解析に必要な数より大きくなるまでに、方式Ｂによる乱数の発生が行なわれれば良いため、方式Ｂの乱数発生が高速に行えなくてもよい。しかし、暗号文（または乱数系列）としての最終出力は方式Ａからの出力であるので、全体としては方式Ａの高速な暗号化処理（または乱数発生）が可能である。
【００２１】
また、安全性については、前述したように方式Ａの解析に必要な数の暗号文（または乱数系列）を集めることを困難にしているが、今後の研究により方式Ａを解析するのに必要な暗号文（または乱数系列）の数が減少し、方式Ａの解析が可能になったとしても、解析できるのは方式Ａに入力される方式Ｂからの乱数であり、この乱数から方式Ｂに入力された暗号鍵を解析することは前述のように計算量的に困難である。図１の暗号化（または乱数発生）の暗号鍵は方式Ｂに入力される暗号鍵であるので、全体としての安全性は方式Ｂの安全性によって保証される。
【００２２】
よって、従来困難であった安全性と高速性を両立させた暗号化（または乱数発生）が実現可能になる。
【００２３】
［実施例１］
図２は、図１の方式Ａの暗号化回路１２として、ＤＥＳ暗号回路２２を用い、方式Ｂの乱数発生回路として自乗剰余乱数発生回路２１を用いる場合の実施例を示している。この場合、ＤＥＳ暗号の変換方式はＤＥＳの暗号鍵によって制御されるので、方式Ｂの乱数発生回路からの乱数によって、ＤＥＳ暗号の暗号鍵を変更する。
【００２４】
前述したようにＤＥＳは差分解読法と呼ばれる有力な解読法が提案され、その安全性に疑問が持たれるようになっており、その対策としてＳＣＩＳ９３−３Ｄ，ＳＣＩＳ９３−３Ｅ，ＳＣＩＳ９３−１５Ｄ（１９９３年暗号と情報セキュリティシンポジウム資料）に示されるようにＤＥＳの中間値や最終値に依存して鍵を変更する方式が提案されている。
【００２５】
しかし、これらの方式は安全性がやや向上する可能性はあるものの、従来のＤＥＳのような精力的な解析が行われておらず、その安全性は保証されていない。また、鍵の変更が同じＤＥＳの中間値や最終値に依存するために、差分解読法を改良した方法によって解読される可能性が高い。これに対し、安全性の保証された方式ＢによってＤＥＳの鍵を変更する本方式は、極めて安全であるが、かかる方式は今まで提案されていなかった。
【００２６】
方式Ｂとして自乗剰余乱数方式を用いた図２の装置の場合、暗号化の手順は次の通りである。
１）自乗剰余乱数発生回路に暗号鍵を初期値として設定する。
２）自乗剰余乱数発生回路は、与えられた初期値から５６ビットの乱数の一部または全部を生成し、ＤＥＳの第一の暗号鍵としてＤＥＳ回路に出力する。
３）ＤＥＳ回路は、与えられた暗号鍵に従って入力される平文を暗号文に変換し出力する。
４）出力される暗号文の数がＤＥＳの暗号鍵の解析に必要な数より大きくなる前に自乗剰余乱数発生回路はＤＥＳの次の暗号鍵として用いる乱数５６ビットの一部または全部を算出し、ＤＥＳ回路に出力する。
５）以下、手順３），４）を繰り返す。
【００２７】
この手順において、手順３で出力される暗号文の全て又は一部が、本実施例によって発生される暗号文となる。
【００２８】
また、自乗剰余乱数発生回路２１は、Ｘ・ Ｙ mod  Ｎの剰余乗算の繰り返しによって実現できるので「岩村，松本，今井：“並列処理によるＲＳＡ暗号”，信学論(A), Vol.J75-A, No.8, pp1301-1311.1992.8. 」に示される回路等を用いてハードウェアで構成することによっても、ソフトウェアによりＣＰＵで計算させることによっても実現できる。
【００２９】
［実施例２］
図３は方式ＡとしてＬＦＳＲ方式を用い、方式Ｂとして自乗剰余乱数方式を用いた場合を示すブロック図である。図３のＬＦＳＲはｎ段のシストレジスタＲ(t) ＝［ｒn(t)，ｒn-1(t)，…，ｒ2(t)，ｒ1(t)］と、タッブ列［ｈn ，ｈn-1 ，…，ｈ2 ，ｈ1 ］からなる。ここで、タップ列［ｈn ，ｈn-1 ，…，ｈ2 ，ｈ1 ］の値を方式Ｂからの乱数によって決定している。
【００３０】
本実施例による乱数発生の手順は以下の通りに行う。ただし、手順４）〜６）は同時に行なわれる。
１）シフトレジスタ３１及び自乗剰余乱数発生回路２１に初期値を設定する。
２）自乗剰余乱数発生回路２１は、与えられた初期値から乱数を生成し、第一のパラメータとしてＬＦＳＲによる線形変換回路３２に出力する。
３）線形変換回路は、手順２）により与えられたパラメータに従ってタップ列の値、即ち、線形変換方式を決定する。
４）各レジスタは与えられた値を右にシフトする。
５）最右端のレジスタの値を乱数として出力する。
６）手順３）で決定された線形変換に従ってｒ1・ｈ1 ＋ｒ2・ｈ2 ＋…＋ｒn・ｈn を計算し、最左端のレジスタにフィードバック入力する。
７）以下、手順４）〜６）を繰り返すが、ＬＦＳＲから出力される乱数の数がＬＦＳＲのタップ列の値を解析するのに必要な乱数の数（この場合シフトレジスタの段数の２倍）より大きくなるまでに、自乗剰余乱数発生回路２１は、次のパラメータとして用いる乱数の一部または全部を算出し、ＬＦＳＲよりなる線形変換回路３２に出力して、線形変換方式を変更する。
【００３１】
上述の手順において、手順５）で出力される値の全て又は一部が、本実施例によって発生される乱数となる。また、手順１）における方式Ａの初期値は、暗号鍵の一部であってもよいし、別の手段によって与えられた値でもよい。
【００３２】
［実施例３］
実施例２に示したＬＦＳＲ方式による乱数発生器では、出力乱数系列の解析に必要な乱数の数は、ＬＦＳＲの段数の２倍の数であるが、方式Ａとして非線形フィードバックシフトレジスタを用いた場合には、解析に必要な乱数の数をＬＦＳＲ方式の場合以上に大きくすることが可能である。よって、方式Ａの解析に必要なビット数が多くなるので、方式Ａの変換方式を変えるための方式Ｂの演算速度はさらに低速でよいという利点がある。
【００３３】
その非線形フィードバックシフトレジスタを用いた実施例を図４に示す。図４は、本実施例による非線形フィードバックシフトレジスタを用いた場合の乱数列発生器を示すブロック図である。
【００３４】
方式Ａに基づく乱数発生回路として、シフトレジスタ３１、及びシフトレジスタ３１の各レジスタからの値を非線形変換してシフトレジスタ３１にフィードバックする非線形変換回路４１を用い、この非線形変換回路４１を制御する方式Ｂの乱数発生回路として自乗剰余乱数発生回路２１を用いる。
【００３５】
本実施例による乱数発生の手順は以下の通りに行う。ただし、手順４）〜６）は同時に行なわれる。
１）シフトレジスタ３１の各レジスタ及び自乗剰余乱数発生回路２１に初期値を設定する。
２）自乗剰余乱数発生回路２１は、与えられた初期値から乱数を生成し、第一のパラメータとして非線形変換回路４１に出力する。
３）非線形変換回路４１は、手順２）により与えられるパラメータに従って非線形変換を決定する。
４）各レジスタは与えられた値を右にシフトする。
５）最右端のレジスタの値を乱数として出力する。
６）各レジスタの値を手順３）で決定された非線形変換に従ってフィードバック変換し、最左端のレジスタの値とする。
７）以下、手順４）〜６）を繰り返すが、出力される乱数の数がその乱数列の解析に必要な乱数の数より大きくなる前に、自乗剰余乱数発生回路２１は、次のパラメータとして用いる乱数の一部または全部を算出し、非線形変換回路４１に出力して非線形変換方式を変更する。
【００３６】
この手順において、手順５）で出力される値の全て又は一部が、本実施例によって発生される乱数となる。具体的な非線形変換回路４１の構成としては、公知の非線形関数の入出力の対応を記憶させたＲＯＭを用いたり、前述の「現代暗号理論」第74,75 頁に示されるように、ＤＥＳを用いることによっても実現できる。
【００３７】
［実施例４］
実施例１〜３では、本実施例をわかりやすく説明するために、方式ＡとしてＬＦＳＲ方式，非線形フィードバックシフトレジスタ方式、またはＤＥＳを例として用いたが、方式Ａとしては、安全性が保証されていなくても、高速な暗号化処理（または乱数発生）が実現できる方式であればよい。よって、ＦＥＡＬ等のＦｅｉｓｔｅｌ暗号に属する方式であってもよい。
【００３８】
また、方式Ｂとして自乗剰余乱数方式を用いたが、方式Ｂとしては、前述のＲＳＡ乱数や離散対数乱数のように、因数分解や離散対数問題等によってその安全性が保証されている他の方式であってもよい。
【００３９】
また、方式Ａの回路では、方式Ｂからの乱数を、パラメータとしてそのまま用いる必要はなく、ＲＯＭ等を介して変換したり、拡大転置等により出力ビット数を変化させてもよい。
【００４０】
また、以上の実施例の本質は、安全性の保証されない方式Ａの暗号鍵を、鍵配送などにより新たに共有し直すことなしに、安全性の保証された方式Ｂによって連続的または間欠的に制御することにある。特に方式Ａの解析に必要な暗号文（または乱数系列）の数がわかっている場合、方式Ａがその解析に必要な数の暗号文（または乱数系列）を出力する前に方式Ａの変換方式または暗号鍵を方式Ｂによって変更することにある。ただしこの場合、方式Ａ及び方式Ｂを実現する回路は各々１つである必要はなく、同方式に属する１つ以上の回路を組み合わせた方式であってもよい。その組み合わせは種々のものが考えられるが、その一例を図５の(a),(b) に示す。
【００４１】
図５において、(a) は、自乗剰余乱数によってＬＦＳＲ１の変換方式を制御し、ＬＦＳＲ１からの乱数によってＬＦＳＲ２の変換方式を制御している。これはＬＦＳＲ２の処理が自乗剰余乱数発生回路２１の処理に比べて非常に高速である場合、ＬＦＳＲ１によって自乗剰余乱数発生回路２１の出力を拡張し、高速化していると考えられる。この場合、ＬＦＳＲ１とＬＦＳＲ２を合わせて方式Ａの乱数発生回路と考えることもできるし、実施例２から、自乗剰余乱数とＬＦＳＲの組み合わせはその安全性が保証されるので、自乗剰余乱数発生回路２１とＬＦＳＲ１を合わせて方式Ｂの回路とも考えられる。
【００４２】
また、図５の(b) は、いずれも方式Ｂに属する自乗剰余乱数発生回路２１と、ＲＳＡ乱数発生回路５４とから発生する、２つの異なる乱数によって、ＦＥＡＬ暗号回路５３の暗号鍵を制御している。この場合、ＦＥＡＬの暗号鍵は、乱数１，乱数２の和や積であってもよいし、乱数１，２を交互に用いてもよく、種々の場合が考えられる。
【００４３】
［実施例５］
これまで述べたように、上記の暗号化方式（または乱数発生方式）によって生成された暗号出力（または乱数系列）は解析に対して強く高速であるので、この暗号化方式（または乱数発生方式）を通信に用いることにより解析に対して強く高速処理が可能な暗号通信が実現できる。以下、上述の実施例による暗号化方式を用いた場合の暗号通信ネットワークの実施例を示す。
【００４４】
図６は、ネットワークの加入者間で、固有かつ秘密の暗号鍵を共有している共通鍵暗号通信ネットワークを示し、Ａ，Ｂ，Ｃ，…，Ｎはそのネットワークの加入者，ＫAB，ＫAC，…はそれぞれ加入者Ａ−Ｂ間で共有している暗号鍵，加入者Ａ−Ｃ間で共有している暗号鍵，…を示している。
【００４５】
図７は、上述の実施例における方式Ａの暗号化回路１２と、方式Ｂの乱数発生回路１１とを用いた暗号化・復号装置を含む、本実施例の通信装置の構成を示したブロック図である。
【００４６】
図８は、図６，７で示された暗号通信システムにおける加入者Ａ，Ｂ間の秘匿通信の様子を示している。
【００４７】
加入者Ａから加入者Ｂへの暗号通信は以下の手順で行う。ただし、以下において最初はｉ＝１とする。
１）通信の送信者Ａは、受信者Ｂと共有している秘密の鍵ＫABの全て又は一部を、方式Ｂの乱数発生回路１１の初期値として設定し、ｉ番目の乱数系列Ｋを発生させる。
２）送信者Ａは、発生した乱数系列Ｋを方式Ａの暗号鍵として用い、通信文を暗号化して、その暗号文を受信者Ｂに送信する。
３）通信の受信者Ｂは、送信者Ａと共有している秘密の鍵ＫABの全て又は一部を、同様に方式Ｂの乱数発生回路１１の初期値として設定し、送信者Ａが発生したのと同じ乱数系列Ｋを発生させる。
４）受信者Ｂは送信者Ａと同様に発生した乱数系列Ｋを方式Ａの暗号鍵として用い、暗号文を復号する。
５）送信者Ａは受信者Ｂに送信する暗号文の数が方式Ａを解析するのに必要な数を越えるまでに、方式Ｂの乱数発生回路１１によって、ｉ＝ｉ＋１番目の乱数系列を発生させ、Ｋとする。
６）以下、手順２）〜５）を繰り返す。
【００４８】
この手順に従えば、正規の受信者Ｂだけが、その秘密の鍵ＫABを知っているので、受け取った暗号文を本来の通信文に復号でき、それ以外の加入者(C〜N)は、その暗号化をする際に用いられた秘密の鍵を知らないので、その内容を知ることができない。このことにより秘匿通信が実現される。
【００４９】
［実施例６］
また、図６のようにあらかじめ暗号鍵が配布されているのではなく、暗号通信を行うに先立って、送・受信者間での暗号鍵の配送などにより、暗号鍵を共有する形態のネットワークにおいても、同じ手順で暗号通信を実現することができる。この場合、一度鍵の配送を行えば、方式Ｂによって暗号鍵の安全な更新が行われるので、暗号鍵を度々配送によって更新していく必要がない。
【００５０】
［実施例７］
実施例５に示した暗号通信ネットワークでは、通信文の送信者と受信者の間で、固有かつ秘密の鍵を共有しているので、暗号文を受け取り、意味をなす通信文に復号できるということは、通信文がその鍵のもう一人の所有者から送信されたことを受信者に保証している。そのため、実施例５に示した秘匿通信システムでは、通信の発信者及び着信者の認証も行うことができる。
【００５１】
［実施例８］
実施例５，７のようにあらかじめ暗号鍵が配布されているのではなく、暗号通信を行うに先立って、送・受信者間で暗号鍵を共有する必要がある形態のネットワークにおいて、盗聴の可能性のある通信路を介した場合でも安全に暗号鍵を共有できる方式として、Diffie-Hellmanの方式(W.Diffie and M.E.Hellman "New Directions in cryptography",IEEE,IT,vol.IT-22,No.6,1976) がよく知られている。その際に用いる乱数として、上述の実施例により発生した乱数を用いることができる。
【００５２】
その場合に用いる乱数は、送信者と着信者で同じものを持つ必要はないため、方式Ａ，Ｂの乱数発生手段に設定する初期値は、任意の値を用いれば良い。
【００５３】
【発明の効果】
以上説明したように、本発明によれば、第三者が一定数の出力系列から該系列を解析可能であるがデータ出力速度が高速な暗号化手段のパラメータを、この暗号化手段のデータ出力速度よりデータ発生速度が低速であるが、第三者が出力系列から該系列を解析することが計算量的に困難な乱数系列を発生させる乱数生成手段から出力される新たな乱数に基づく値を次のパラメータとして、同一のパラメータに基づいて暗号化したデータが第三者により解析可能となる所定のデータ量に達する前にパラメータを更新するので、高速かつ解析困難な暗号化が実現できるという効果がある。
【００５４】
この場合、方式Ａから出力される出力の数が方式Ａの解析に必要な数より大きくなるまでに、方式Ｂによる乱数の出力が行なわれれば良いため、方式Ｂの乱数発生は高速に行えなくてもよい。しかし、最終出力は方式Ａからの出力であるので、高速な暗号化処理が可能である。
【００５５】
また、安全性については、前述したように方式Ａの解析に必要な数の出力を集めることを困難にしているが、今後の研究により方式Ａを解析するのに必要な出力の数が減少し方式Ａの解析が可能になったとしても、解析できるのは方式Ａに入力される方式Ｂからの乱数であり、この乱数から方式Ｂの暗号鍵を解析することは計算量的に困難である。従って、本発明による暗号化の安全性は方式Ｂの安全性と同様の高い安全性が保証される。
【００５６】
また、この暗号化を暗号通信に用いれば、高速かつ安全性の高い暗号通信が実現されるという効果がある。
【図面の簡単な説明】
【図１】本発明に係る暗号化装置及び乱数発生装置の実施例の基本構成図である。
【図２】方式ＡとしてＤＥＳ、方式Ｂとして自乗剰余乱数方式を用いた場合の暗号化装置を示す図である。
【図３】方式ＡとしてＬＦＳＲ、方式Ｂとして自乗剰余乱数方式を用いた場合の乱数発生回路を示す図である。
【図４】方式Ａとして非線形フィードバックレジスタ方式、方式Ｂとして自乗剰余乱数方式を用いた場合の乱数発生回路を示す図である。
【図５】２つの異なるＬＦＳＲを用いた場合の乱数発生回路及び２つの異なる乱数発生方式を用いた場合の暗号化装置を示す図である。
【図６】共通鍵暗号通信ネットワークを説明する図である。
【図７】暗号装置及び復号装置を含む通信装置の構成を示すブロック図である。
【図８】秘匿通信を行う通信システムを説明する図である。
【符号の説明】
１１  方式Ｂの乱数発生回路
１２  方式Ａの暗号化回路
１３  方式Ａの乱数発生回路
２１  自乗剰余乱数発生回路
２２  ＤＥＳ暗号回路
３１  シフトレジスタ
３２  線形変換回路
４１  非線形変換回路
５１，５２  線形フィードバックシフトレジスタ
５３  ＦＥＡＬ暗号回路
５４  ＲＳＡ乱数発生回路
７１  通信装置
【図１】
0003658004.tif 000002
【図２】
0003658004.tif 000003
【図３】
0003658004.tif 000004
【図４】
0003658004.tif 000005
【図５】
0003658004.tif 000006
【図６】
0003658004.tif 000007
【図７】
0003658004.tif 000008
【図８】
0003658004.tif 000009