(57)【要約】      （修正有）【課題】  初期値が不明な限り、判明した一部の擬乱数の前後の擬乱数の予測が計算量的に難しい擬乱数の列を生成する。【解決手段】  有効桁数Ａ桁の第１の変数をロジスティック写像により有効桁数Ｂ桁（２ｎＡ≦Ｂ＜２ｎ＋１Ａ；ｎ＝自然数）の第２の変数に変換する第１の演算と、前記第２の変数の下位Ｃ桁を落としてＡ桁の第３の変数を与える第２の演算とからなる第１の非線形演算を順次行って、Ａ桁の第１の擬乱数を生成し、有効桁数Ｓ桁（Ｓ≦Ａ）の第４の変数をロジスティック写像によりＴ桁（２ｍＳ≦Ｔ＜２ｍ＋１Ｓ；ｍ＝自然数）の第５の変数に変換する第３の演算と、前記第５の変数の上位Ｕ桁及び下位Ｖ桁を落として、Ｓ桁の第６の変数を与える第４の演算とからなる第２の非線形演算をＰ回（Ｐ≧２）行うことにより，前記第１の擬乱数の列から、Ｓ桁の第２の擬乱数の列を生成し、前記第２の擬乱数の列の部分数列を取り出して擬乱数列を生成する。【選択図】  図４
2005148146.tif 000002
【特許請求の範囲】
【請求項１】
有効桁数がＡ桁（Ａ＝正整数）の第１の変数をロジスティック写像により有効桁数がＢ桁（２ｎＡ≦Ｂ＜２ｎ＋１Ａ；ｎ＝自然数）に桁増しされた第２の変数に変換する第１の演算と、前記第２の変数の有効桁の下位Ｃ桁（Ｃ＝正整数）を落として有効桁数がＡ桁の第３の変数を与える第２の演算とからなる第１の非線形演算を順次行うことにより、有効桁数がＡ桁の初期値から、有効桁数がＡ桁の第１の擬乱数の列を生成し、
有効桁数がＳ桁（Ｓ＝正整数：Ｓ≦Ａ）の第４の変数をロジスティック写像により有効桁数がＴ桁（２ｍＳ≦Ｔ＜２ｍ＋１Ｓ；ｍ＝自然数）に桁増しされた第５の変数に変換する第３の演算と、前記第５の変数の有効桁の上位Ｕ桁（Ｕ＝正整数）及び下位Ｖ桁（Ｖ＝正整数）を落として有効桁数がＳ桁の第６の変数を与える第４の演算とからなる第２の非線形演算をＰ回（Ｐ＝自然数：Ｐ≧２）行うことにより，前記第１の擬乱数の列から、有効桁数がＳ桁の第２の擬乱数の列を生成し、
前記第２の擬乱数の列の部分数列を取り出して擬乱数列を生成する
ことを特徴とする擬乱数列生成装置。
【請求項２】
前記第２の非線形演算のｍ＝１且つＵ＝Ｖであり、前記部分数列は前記第２の擬乱数の列の１つおきの擬乱数からなることを特徴とする請求項１に記載の擬乱数列生成装置。
【請求項３】
前記第１または第３の演算のロジスティック写像は、前記第１または第４の変数をｘ（ｘ：実数、０．０＜ｘ＜１．０）として、４＊ｘ＊（１−ｘ）であることを特徴とする請求項１または２に記載の擬乱数列生成装置。
【請求項４】
前記第１の非線形演算のｎ＝１且つＡ＝Ｓであることを特徴とする請求項１〜３のいずれかに記載の擬乱数列生成装置。
【請求項５】
前記擬乱数列を暗号とし、前記初期値を共通鍵とする請求項１〜４のいずれかに記載の擬乱数列生成装置を備える暗号システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、与えられた初期値から擬乱数の列を生成する擬乱数列生成装置と、その擬乱数列生成装置を備える暗号システムとに関する。
【背景技術】
【０００２】
初期値から所定の演算規則に従い順次生成される乱数は、所定の確率規則（例えば自然現象の確率規則）に従い非相関的に分布する確率的乱数と異なり、一見でたらめのように見えても完全に特定されることから擬（似）乱数と呼ばれる。
【０００３】
この擬乱数の列は、確率的乱数同様に現象の模擬，標本の抽出，統計量の分析等に幅広く用いられ，特に暗号システムの暗号に利用される。
【０００４】
暗号に用いる擬乱数列は、暗号の秘匿性を維持する上で、数列の順逆いずれの方向での予測においても、総当り攻撃を伴う計算を必要とするようになっていることが望ましい。
【０００５】
この点、コンピュータで常用される擬乱数は、ある初期値から出発し、その平方演算値の中央部から必要な桁数を取出す操作を順次繰返すことにより生成される（岩波理化学辞典）。これはフォン・ノイマンが考案した平方採中法の応用であり、例えば、The art of computer programming（Knuth:準数値算法／乱数、渋谷政昭訳，サイエンス社）に、整数変数Ｘの平方関数Ｘ２またはＸ（Ｘ−１）を用いる例が示されている。
【０００６】
また国際公開第００／４６９６７号（特表第2002-536915号）は、ロジェスティック写像を繰返し実行することにより、ある初期値から基本的な擬乱数の列を生成し、その擬乱数の桁をずらして上位桁を落とすことにより基本的な擬乱数を更に展開し、この展開された擬乱数の列から適宜な間隔で擬乱数を抽出するアルゴリズムを開示している。
【０００７】
なお暗号に用いる擬乱数列は、その生成アルゴリズムを公開することが前提となる。
【特許文献１】国際公開第００／４６９６７号(Fig.２，Fig.6)                      特表第2002-536915号  （図２，図６）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前記平方採中法を繰返して生成される擬乱数の列は周期性を備え、暗号に相応しくない。
【０００９】
国際公開第００／４６９６７号（特表第2002-536915号）に開示されたアルゴリズムは、有限なＮ桁の第ｉ番目の基本的な擬乱数Ｘiをロジェスティック写像により変換して同じＮ桁の第i＋１番目の基本的な擬乱数Ｘi＋１を生成する一方、上記第i番目の基本的な擬乱数Ｘiの上位ａ桁を落とした後の残余ｂ（ｂ＝Ｎ−ａ）桁を用いて第i番目の展開された擬乱数ｓＸiを生成し、同様に第i＋１番目の基本的な擬乱数Ｘi＋１の上位ａ桁を落とした後の残余ｂ桁を用いて第i＋１番目の展開された擬乱数ｓＸi＋１を生成している。
【００１０】
しかしながら、アルゴリズムの公開後、隣り合って展開された擬乱数ｓＸi及びｓＸi＋１の値が漏洩すると、対応する基本的な擬乱数Ｘi及びＸi＋１のＮ−（ｂ−１）桁目以降の値が最下位のＮ桁目まで判明し、その判明した下位桁との比較から、擬乱数Ｘi及びＸi＋１の上位ａ桁の値が計算量的に推定可能となり、擬乱数列の順逆両方向で計算量的に解読不能な情報の落差を維持することが難しくなる。
【００１１】
本発明は、以上の点に鑑みなされたもので、一部の擬乱数が判明しても、初期値が知られない限り、判明した擬乱数の前後の擬乱数を予測することが計算量的に難しい擬乱数の列を生成する擬乱数列生成装置と、この擬乱数列生成装置を用いた暗号システムとを提供することを課題とする。
【課題を解決するための手段】
【００１２】
上記課題を解決すべく、本発明に係る擬乱数列発生装置は、有効桁数がＡ桁（Ａ＝正整数）の第１の変数をロジスティック写像により有効桁数がＢ桁（２ｎＡ≦Ｂ＜２ｎ＋１Ａ；ｎ＝自然数）に桁増しされた第２の変数に変換する第１の演算と、前記第２の変数の有効桁の下位Ｃ桁（Ｃ＝正整数）を落として有効桁数がＡ桁の第３の変数を与える第２の演算とからなる第１の非線形演算を順次行うことにより、有効桁数がＡ桁の初期値から、有効桁数がＡ桁の第１の擬乱数の列を生成し、有効桁数がＳ桁（Ｓ＝正整数：Ｓ≦Ａ）の第４の変数をロジスティック写像により有効桁数がＴ桁（２ｍＳ≦Ｔ＜２ｍ＋１Ｓ；ｍ＝自然数）に桁増しされた第５の変数に変換する第３の演算と、前記第５の変数の有効桁の上位Ｕ桁（Ｕ＝正整数）及び下位Ｖ桁（Ｖ＝正整数）を落として有効桁数がＳ桁の第６の変数を与える第４の演算とからなる第２の非線形演算をＰ回（Ｐ＝自然数：Ｐ≧２）行うことにより，前記第１の擬乱数の列から、有効桁数がＳ桁の第２の擬乱数の列を生成し、前記第２の擬乱数の列の部分数列を取り出して擬乱数列を生成することを特徴とする。
【００１３】
また本発明に係る擬乱数列生成装置を備える暗号システムは、前記擬乱数列を暗号とし、前記初期値を共通鍵とすることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、有効桁数がＡ桁の第i番目（i≧０）の第１の擬乱数Ｘi（但し、Ｘ０＝初期値）が、第１の演算（＝ｆ１）により、有効桁数がＢ桁（２ｎＡ≦Ｂ＜２ｎ＋１Ａ；ｎ＝自然数）になるまで繰返しロジスティック写像（＝Ｌ１：二次までの項を含む）される。例えば、Ｂ＝２Ａ（＝２１Ａ）であれば末尾桁まで正確に１回（Ｌ１１）、またＢ＝２Ａ＋ｄ（０＜ｄ＜２Ａ）であれば、少なくともその有効桁条件を満たす精度まで、更に１回、そしてＢ＝４Ａ（＝２２Ａ）であれば末尾桁まで正確に２回（Ｌ１２）、ロジスティック写像が数値計算される。この点、Ｂ＝２ｎＡ、特に、ｎ＝１であることが処理速度上好ましい。
【００１５】
次いで、この有効桁数Ｂ桁の演算値ｆ１（Ｘi）の下位Ｃ桁（Ｃ＝Ｂ−Ａ）が第２の演算（＝ｆ２）により落とされ、その結果、有効桁数がＡ桁の第i＋１番目の第１の擬乱数Ｘi＋１が生成される（Ｘi＋１＝ｆ２（ｆ１（Ｘi）））。
【００１６】
上記第１および第２の演算からなる第１の非線形演算（＝Ｆ１＝ｆ１ｆ２）を繰返すことにより第１の擬乱数Ｘi（＝Ｆ１i（Ｘ０））の列Ｘ＝｛Ｘi｝が生成される。
【００１７】
上記インデックスiは任意であり、従って、第１の擬乱数は、すべて、その末尾の桁が有効な精度まで一意にロジスティック写像されている。
【００１８】
上記第１の非線形演算の繰返しと平行し、或いはその後で、第ｊ番目（１≦ｊ≦i）の第１の擬乱数Ｘjの有効なＡ桁のうちのＳ桁（Ｓ≦Ａ）、つまり、有効なＡ桁すべてまたはその一部が、第３の演算（＝ｆ３）により、有効桁数がＴ桁（２ｍＳ≦Ｔ＜２ｍ＋１Ｓ；ｍ＝自然数）になるまで繰返しロジスティック写像（＝Ｌ２：二次までの項を含む）され、その有効桁数Ｔ桁の演算値ｆ３（Ｘj）の上位Ｕ桁及び下位Ｖ桁（Ｕ＋Ｖ＝Ｔ−Ｓ）が第４の演算（＝ｆ４）により落とされる。
【００１９】
上記第３および第４の演算からなる第２の非線形演算（＝Ｆ２＝ｆ３ｆ４）をＰ回（Ｐ≧２）、好ましくは２回、繰返すことにより、有効桁数がＳ桁の第j番目の第２の擬乱数Ｙj（＝Ｆ２Ｐ（Ｘj））が生成される。これを各j（１≦j≦i）について行うことにより、第２の擬乱数Ｙjの列Ｙ＝｛Ｙj｝が生成される。
【００２０】
上記第３の演算の場合も、Ｔ＝２ｍＳ、特に、ｍ＝１であることが処理速度上好ましく、Ｓ＝Ａであることが第１および第２の非線形演算Ｆ１，Ｆ２の共通化を図る上で好ましい。また、より効果的に（つまり、小さなＰで）順逆両方向における情報の落差を維持するため、Ｕ＝Ｖとして、最上位桁および最下位桁の関与度合いを薄めることが望ましい。
【００２１】
出力対象となる擬乱数列Ｚ＝｛Ｚk｝は、前記第２の擬乱数の列Ｙの部分数列｛Ｚk∈｛Ｙj｝；１≦k≦j｝を取り出して生成される。
【００２２】
従って、第２の擬乱数の列Ｙ全体をそのまま取り出して擬乱数列Ｚ＝｛Ｚk｝=｛Ｙj｝とした場合であってすら、隣り合う擬乱数Ｚk＝Ｙj，Ｚk＋１＝Ｙj＋１が判明したとき、それから対応する第１の擬乱数Ｘi，Ｘi＋１の有効なＡ桁のうちの少なくともＳ桁に遡及するのに、最上位桁および最下位桁を含むＵ＋Ｖ（＝Ｔ−Ｓ≧２ｍＳ−Ｓ＝（２ｍ−１）Ｓ≧Ｓ）桁分の情報の落差を伴う第２の非線形演算Ｆ２の逆演算Ｆ２−１をＰ（≧２）回繰返す必要がある。
【００２３】
しかも、残るＡ−Ｓ（≧０）桁分の情報の落差に加え、第１の擬乱数Ｘi，Ｘi＋１間にＢ−Ａ（≧Ａ≧Ｓ）桁分の情報の落差があって、少なくとも（ＰＳ＋０）ｘ２＋Ｓ−２Ｓ＝（２Ｐ−１）Ｓ≧３Ｓ個の変数分の情報の落差が残る（例えば，２進法の場合に、３Ｓビット）。つまり、第２の擬乱数Ｙjの桁数Ｓ（≦Ａ）を十分大きく取れば（例えば、Ｓ＝２５６桁なら、３Ｓ＝７６８変数分）、判明した擬乱数Ｚk，Ｚk＋１の前後の擬乱数Ｚk−１＝Ｙj-1，Ｚk＋２＝Ｙj＋2を予測することが計算量的に難しくなる。
【００２４】
なお，前記第２の非線形演算Ｆ２の繰り返し回数Ｐが最小値２の場合に、Ｚkとして、奇数番目もしくは偶数番目のＹjを取り出しても良く、この繰り返し回数が最小の場合ですら、隣り合う擬乱数Ｚk，Ｚk＋１間に、少なくとも３Ｓｘ２＝６Ｓ個の変数分の情報の落差（例えば，Ｓ＝２５６ビットとすると、６Ｓ＝１５３６ビット）が生じる。
【００２５】
従って、本発明によれば、一部の擬乱数が判明しても、初期値が知られない限り、判明した擬乱数の前後の擬乱数を予測することが計算量的に難しい擬乱数の列を生成する擬乱数列生成装置と、この擬乱数列生成装置を用いた暗号システムとを提供することが可能になる。
【発明を実施するための最良の形態】
【００２６】
以下に、添付図面を参照して、本発明の好適な実施の形態を説明する。図中、同じ構成要素は同じ参照符号で表わし、説明の重複を避ける。
【００２７】
本発明の一実施態様に係る擬乱数列生成装置ＰＲＧのハードウェアに主眼をおいた構成を図1に示す。
【００２８】
この擬乱数列生成装置ＰＲＧは、計算機１及びその周辺機器と、その間をつなぐチャンネルインターフェース５とを備えるコンピュータシステムとして構成される。
【００２９】
計算機１は、後述する擬乱数列Ｚの生成に必要な演算処理とシステムの統御に必要な演算処理とを行うプロセッサ、並びに、機種に応じロジックもしくはフリップフロップ等のデータ処理もしくは保持要素群を含む演算処理部２と、擬乱数列生成用演算処理のためのプログラムもしくはファイル群及びデータと演算処理の結果とを格納するメモリ領域としての主記憶部３と、システム統御用演算処理のためのプログラムもしくはファイル群及びデータと演算処理の結果とを格納するメモリ領域、並びに、機種に応じファームウェアを含む制御部４とを有する。
【００３０】
上記周辺機器には、手動入力及び指示ないしは対話のためのキーボード6及びマウス７と、関連するプログラムもしくはファイル群及びデータを格納可能なフロッピディスク又はハードディスクに対し情報の書込／読出を行うドライブ８ａ，８ｂと、電気的もしくは光学的な外部入出力ポート９と、計算機１の出力情報を表示可能なディスプレイ１０とが含まれる。
【００３１】
上記擬乱数列生成装置ＰＲＧのソフトウェア構成を図2に示す。
【００３２】
擬乱数列生成装置ＰＲＧは、プロセッサの動作方式を定める（例えば、ウィンドーズ、ユニックス等の）オペレーティングシステムＯＳと、このシステムＯＳ上で動作する特定言語（例えば、Ｃ又はＣ＋＋）のアプリケーションプログラムＡＰと、このプログラムＡＰ上で機能するファイル群ＦＧとを備える。
【００３３】
このファイル群ＦＧには：
多重精度演算を併用したロジスティック写像を行うことにより、所与変数の有効桁数を伸張する伸張演算ファイル２０と；
この伸張演算ファイル２０を用い、有効桁数がＡ桁（Ａ＝正整数）又はＳ桁（Ｓ＝正整数：Ｓ≦Ａ）の変数を、それぞれ、有効桁数がＢ桁（２ｎＡ≦Ｂ＜２ｎ＋１Ａ；ｎ＝自然数）又はＴ桁（２ｍＳ≦Ｔ＜２ｍ＋１Ｓ；ｍ＝自然数）に桁増しされた変数に変換する桁増し演算ファイル２１と；
上記桁増しされた変数を当初の有効桁数に戻すべく、（上位ゼロ桁及び）下位Ｃ桁（Ｃ＝正整数）又は上位Ｕ桁（Ｕ＝正整数）及び下位Ｖ桁（Ｖ＝正整数）を落とす桁落し演算ファイル２２と；
上記桁増し演算ファイル２１を用いたＡ桁からＢ桁への桁増し演算と上記桁落し演算ファイル２２を用いたＣ（＝Ｂ−Ａ）桁の桁落し演算との組み合わせからなる第１の非線形演算（以下、「種つくり演算」又は単に「種演算」とも呼ぶ。）を繰返し施すことにより、有効桁数がＡ桁の初期値Ｘ０から、有効桁数がＡ桁の第１の擬乱数Ｘi（以下、「カオスの種」又は単に「種」とも呼ぶ。）を順次生成する種演算ファイル２３と；
この種演算ファイル２３により生成された種列Ｘ＝｛Ｘi｝中の種Ｘiに、上記桁増し演算ファイル２１を用いたＳ桁からＴ桁への桁増し演算と、上記桁落とし演算ファイル２２を用いたＣ桁（この場合、Ｃ＝Ｔ−Ｓ）又はＵ＋Ｖ（＝Ｔ−Ｓ）桁の桁落し演算との組み合わせからなる第２の非線形演算（以下、「カオス展開演算」又は単に「カオス演算」とも呼ぶ。）を施すことにより、有効桁数がＳ桁のカオス的擬乱数（以下、単に「カオス」とも呼ぶ。）を生成するカオス演算ファイル２４と；
このカオス演算ファイル２４を用いたカオス演算を（Ｃ桁とＵ＋Ｖ桁との）桁落し方式選択可能にＰ回（Ｐ＝自然数：Ｐ≧２）繰返して、桁落し方式の組合せ方に応じた２Ｐ種類までの第２の擬乱数Ｙｊを生成可能な繰返し演算と、この繰返し演算により得られた第２の擬乱数Ｙｊを、所定の抽出規則に従い抽出して第３の擬乱数Ｚｋを与える抽出演算とを含む演算ループ（ＬＰ：図３参照）により、前記種列Ｘの各種Ｘiを順次処理するループ演算を行い、出力対象となる擬乱数列Ｚ＝｛Ｚｋ｝（以下、単に「乱数」とも呼ぶ。）を生成するループ演算ファイル２５と；
以上の演算ファイル２０〜２５の運用シーケンス及び作動条件を管理し制御する制御ファイル３０と
が含まれる。
【００３４】
上記擬乱数列生成装置ＰＲＧの好適な設定条件｛ｎ＝１（即ちＢ＝２Ａ）；ｍ＝１（即ちＴ＝２Ｓ）；Ｓ＝Ａ；Ｕ＝Ｖ；Ｐ＝２｝での制御フローＦＣを説明するチャートを図３に示し、それに対応する擬乱数の変換フローＣＣを説明するチャートを図４に示す。
【００３５】
先ず、次の演算ファイル設定条件（１）〜（６）が確認され、制御フローＦＣがスタートする。
【００３６】
（１）     伸張演算ファイル２０：
ロジスティック写像Ｌ１（ｘ）＝Ｌ２（ｘ）＝４＊ｘ＊（１−ｘ）、但し０．０＜ｘ＜１．０；
多重精度パラメータｎ＝１（即ちＢ＝２Ａ），ｍ＝１（即ちＴ＝２Ｓ）。
【００３７】
（２）     桁増し演算ファイル２１：
桁増し演算ｆ１（＝Ｌ１（ｘ））の有効桁パラメータＡ＝２Ｎ，但しＮ＝１２８、
有効桁パラメータＢ＝４Ｎ；
桁増し演算ｆ３（＝Ｌ２（ｘ））の有効桁パラメータＳ＝２Ｎ，
有効桁パラメータＴ＝４Ｎ。
【００３８】
（３）     桁落し演算ファイル２２：
桁落し演算ｆ２の有効桁パラメータＣ＝２Ｎ；
桁落し演算ｆ４の有効桁パラメータＵ＝Ｖ＝Ｎ。
【００３９】
（４）     種演算ファイル２３：
第１の非線形演算（Ｆ１＝ｆ１ｆ２＝Ｌ）の桁落し＝下位Ｃ桁。
【００４０】
種演算＝Ｌ（以下、「ロジェスティック演算」とも呼ぶ。）
（５）     カオス演算ファイル２４：
第１の非線形演算（Ｆ１＝ｆ１ｆ２＝Ｌ）の桁落し＝下位Ｃ桁；
第２の非線形演算（Ｆ２＝ｆ３ｆ４＝Ｈ）の桁落し＝上位Ｕ桁、下位Ｖ桁；
カオス演算＝Ｌ，又はＨ（以下、「採中演算」又は「ハーフスライド演算」とも呼ぶ。）；
Ｌ後の小数点位置調整＝なし；
Ｈ後の小数点位置調整＝Ｎ桁の桁上げ。
【００４１】
（６）     ループ演算ファイル２５：
カオスインデックスｊ≦種インデックスi;
繰返しパラメータＰ＝２；
繰返し方式＝ＯＲ（[ＵＣ]＝ＬＬ，[ＨＣ]＝ＬＨ，[ＲＣ]＝ＨＬ，[ＳＣ]＝ＨＨ）;
Ｚｋ抽出条件＝奇数番（もしくは偶数番）のＹｊ；
整数値化＝２Ｎ桁の桁上げ。
【００４２】
図３，４に示すように、ステップＳ１０で、電算機１の演算処理部２が少数値の初期値Ｘ０を取得し、ステップＳ１１で、種演算Ｌを繰返す（Ｌｉ（Ｘ０））ことにより、種Ｘｉの列Ｘ＝｛Ｘｉ｝を生成する。
【００４３】
次に、ステップＳ２０で、演算ループＬＰによるループ演算を開始する。
【００４４】
演算ループＬＰは、種列Ｘの種Ｘｉに第１回目のカオス演算＝ＯＲ（Ｌ，Ｈ）を行うステップＳ２１と、この第１回目のカオス演算の結果に、第２回目のカオス演算＝ＯＲ（Ｌ，Ｈ）を行うステップＳ２２とを含む。つまり、カオス演算の４種類の組み合わせ（[ＵＣ]＝ＬＬ，[ＨＣ]＝ＬＨ，[ＲＣ]＝ＨＬ，[ＳＣ]＝ＨＨ）のいずれか＝ＯＲ（[ＵＣ]，[ＨＣ]，[ＲＣ]，[ＳＣ]）を実行でき、好適には、[ＳＣ]＝ＨＨによる擬乱数Ｙｊを選択するが、目的に応じ、他の擬乱数を選択しても良い。
【００４５】
演算ループＬＰは、更に、インデックスｊ＝奇数番（もしくは偶数番）目の［ＳＣ］を抽出し整数値化して擬乱数Ｚｋを得るステップＳ２３と、インデックスｊをインクリメント（ｊ＝ｊ＋１）して演算ループＬＰを繰返すためのステップＳ２４とを含む。演算ループＬＰを繰返すことにより、整数値擬乱数Ｚｋの列Ｚ＝｛Ｚｋ｝が生成される。
【００４６】
このループ演算は、ステップＳ３０で終わり、その後、状況に応じ、制御フローＦＣが終了する。
【００４７】
前記カオス演算の４種類の組み合わせ（[ＵＣ]＝ＬＬ，[ＨＣ]＝ＬＨ，[ＲＣ]＝ＨＬ，[ＳＣ]＝ＨＨ）の内、採中演算Ｈを含む組み合わせ［ＨＣ］，［ＲＣ］，及び［ＳＣ］（その１：偶数番抽出，その２：奇数番抽出）により生成される擬乱数列Ｚについて、ＩＰＡ（？）の乱数検定ツールを用いた１６項目に及ぶ乱数の検定を行った。その結果を図５〜図８の表に示す。
【００４８】
これらの表から分かるように，最後のカオス演算がＨになるもの［ＨＣ］，［ＳＣ］−１（偶数番抽出），及び［ＳＣ］−２（奇数番抽出）は，全１６項目に合格する乱数列を与え、特に、［ＳＣ］−２は公開可能な乱数列になることが判明した。
【００４９】
図９に、上記擬乱数列発生装置ＲＰＧを用いた暗号システムＣＲＳのブロック図を示す。
【００５０】
この暗号システムＣＲＳは、前記初期値Ｘ０を共通鍵４０として用いる少なくとも１対の公開された擬乱数列発生装置ＲＰＧと、一方の擬乱数列発生装置ＲＰＧで生成された擬乱数列Ｚを暗号として用いて平文５１を暗号文５２に符号化する符号化器５０と、他方の擬乱数列発生装置ＲＰＧで生成された擬乱数列Ｚを対応する暗号として用いて暗号文５２を平文６１に復号化する復号化器６０とを含む。
【００５１】
上記擬乱数列Ｚは、好ましくは、［ＳＣ］−２（奇数番抽出）による乱数とし、ワンタイムパッド暗号として用いる。
【産業上の利用可能性】
【００５２】
本発明によれば、初期値が知られない限り、判明した擬乱数の前後の擬乱数を予測することが計算量的に難しい擬乱数の列を生成でき、それを暗号としても利用できる。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施態様に係る擬乱数列生成装置のハードウェアに主眼をおいた構成図。
【図２】図1の擬乱数列生成装置のソフトウェア構成図。
【図３】図1の擬乱数列生成装置の好適な設定条件での制御フローを説明するフローチャート。
【図４】図３のフローチャートに対応する擬乱数の変換チャート。
【図５】図４の変換チャートに示す擬乱数の乱数検定結果を示す表。
【図６】図４の変換チャートに示す別の擬乱数の乱数検定結果を示す表。
【図７】図４の変換チャートに示す別の擬乱数の乱数検定結果を示す表。
【図８】図４の変換チャートに示す別の擬乱数の乱数検定結果を示す表。
【図９】図1の擬乱数列生成装置を用いた暗号システムのブロック図。
【符号の説明】
【００５４】
１   計算機
20   伸張演算ファイル
21   桁増し演算ファイル
22   桁落し演算ファイル
23   種演算ファイル
24   カオス演算ファイル
25   ループ演算ファイル
30   制御ファイル
40   共通鍵
50   符号化器
51   平文
52   暗号文
60   復号化器
61   平文
RPG  擬乱数列生成装置
Ｘ0  初期値
Ｘｉ  第1の擬乱数、種
Ｙｊ  第2の擬乱数、カオス
Ｚｋ  擬乱数
Ｚ   擬乱数列
【図１】
2005148146.tif 000003
【図２】
2005148146.tif 000004
【図３】
2005148146.tif 000005
【図４】
2005148146.tif 000006
【図５】
2005148146.tif 000007
【図６】
2005148146.tif 000008
【図７】
2005148146.tif 000009
【図８】
2005148146.tif 000010
【図９】
2005148146.tif 000011