(57)【要約】【課題】複数の擬似乱数生成装置が共通の乱数シード値及び共通の乱数生成アルゴリズムを用いる場合でも生成される擬似乱数が複数の擬似乱数生成装置間で必ず非衝突となる機構を実現する。【解決手段】各擬似乱数生成装置１００は、非同期に、共通の乱数シード値及び共通の乱数生成アルゴリズムを用いて共通の乱数長ごとに同一系統の擬似乱数を順次生成するとともに、各擬似乱数生成装置１００に固有の装置ＩＤに対応する位置の擬似乱数を自装置の擬似乱数として採用することで、各擬似乱数生成装置１００が採用する擬似乱数が相違することになり、これにより、複数の擬似乱数生成装置間で擬似乱数が必ず非衝突となる。【選択図】図１
2009151429.tif 000002
【特許請求の範囲】
【請求項１】
擬似乱数を生成する擬似乱数生成装置であって、
他の擬似乱数生成装置と共通する乱数シード値を記録する乱数シード値記録部と、
他の擬似乱数生成装置と共通する乱数生成アルゴリズムと他の擬似乱数生成装置と共通する乱数データ長が示されるとともに、自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値が示される擬似乱数生成情報を記録する擬似乱数生成情報記録部と、
前記乱数シード値を用いて前記乱数生成アルゴリズムにて前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出する擬似乱数生成部とを有することを特徴とする擬似乱数生成装置。
【請求項２】
前記擬似乱数生成部は、
他の擬似乱数生成装置における擬似乱数の生成から独立して、前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項１に記載の擬似乱数生成装置。
【請求項３】
前記擬似乱数生成装置は、更に、
前記擬似乱数生成部により生成された擬似乱数を記録する擬似乱数記録部を有し、
前記擬似乱数生成部は、
擬似乱数を生成する度に、生成した擬似乱数が前記擬似乱数記録部に記録されている記録擬似乱数のいずれかに一致するか否かを判断し、生成した擬似乱数がいずれかの記録擬似乱数に一致する場合に、記録擬似乱数に一致する擬似乱数を除外して、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項１又は２のいずれかに記載の擬似乱数生成装置。
【請求項４】
前記擬似乱数記録部は、
前記擬似乱数生成部により記録擬似乱数に一致するとして除外された擬似乱数を除外して、前記擬似乱数生成部により生成された擬似乱数を記録することを特徴とする請求項３に記載の擬似乱数生成装置。
【請求項５】
前記擬似乱数生成装置は、
共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて共通の乱数データ長分の擬似乱数を順次生成するＮ個（Ｎ≧２）の擬似乱数生成装置で構成される擬似乱数生成グループに属し、
前記擬似乱数生成情報記録部は、
前記割当て乱数特定値として、前記擬似乱数生成グループに属する擬似乱数生成装置の装置数Ｎが示される擬似乱数生成情報を記録し、
前記擬似乱数生成部は、
前記乱数データ長分のＮ個の擬似乱数を順次生成し、Ｎ個の擬似乱数のうちＮ番目に生成された擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項１〜４のいずれかに記載の擬似乱数生成装置。
【請求項６】
前記擬似乱数生成装置は、
共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて共通の乱数データ長分の擬似乱数を順次生成するＮ個（Ｎ≧２）の擬似乱数生成装置で構成される擬似乱数生成グループに属し、
前記擬似乱数生成情報記録部は、
前記擬似乱数生成グループに属する擬似乱数生成装置の装置数Ｎが示されるとともに、前記割当て乱数特定値として、Ｎ個の擬似乱数生成装置における自装置の順位ｍ（１≦ｍ≦Ｎ）が示される擬似乱数生成情報を記録し、
前記擬似乱数生成部は、
前記乱数データ長分のＮ個の擬似乱数を順次生成し、Ｎ個の擬似乱数のうちｍ番目に生成された擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項１〜４のいずれかに記載の擬似乱数生成装置。
【請求項７】
前記擬似乱数生成装置は、更に、
他の擬似乱数生成装置から、他の擬似乱数生成装置にて記憶されている他の擬似乱数生成情報を受信し、受信した他の擬似乱数生成情報に示されている乱数データ長及び割当て乱数特定値の少なくともいずれかを更新し、前記乱数生成情報記録部に記録されている自装置の擬似乱数生成情報に示されている乱数データ長及び割当て乱数特定値の少なくともいずれかを更新し、更新後の他の擬似乱数生成情報を他の擬似乱数生成装置に送信する擬似乱数生成情報同期部を有することを特徴とする請求項１〜６のいずれかに記載の擬似乱数生成装置。
【請求項８】
前記擬似乱数生成情報記録部は、
前記擬似乱数生成部により生成された擬似乱数の生成済みデータ総量が示される擬似乱数生成情報を記録し、
前記擬似乱数生成情報同期部は、
他の擬似乱数生成装置から、他の擬似乱数生成装置にて記憶されている他の擬似乱数生成情報を受信し、受信した他の擬似乱数生成情報に示されている擬似乱数の生成済みデータ総量及び前記乱数生成情報記録部に記録されている自装置の擬似乱数生成情報に示されている擬似乱数の生成済みデータ総量のうちで最大の生成済みデータ総量に一致させるように他の擬似乱数生成情報及び自装置の擬似乱数生成情報の擬似乱数の生成済みデータ総量を更新し、更新後の他の擬似乱数生成情報を他の擬似乱数生成装置に送信することを特徴とする請求項７に記載の擬似乱数生成装置。
【請求項９】
前記擬似乱数生成部は、
前記擬似乱数生成情報同期部により擬似乱数生成情報の更新に用いられた最大の生成済みデータ総量が自装置の擬似乱数生成情報に示されている生成済みデータ総量でない場合に、自装置の擬似乱数生成情報に示されている生成済みデータ総量と最大の生成済みデータ総量の差分の擬似乱数を生成し、
前記擬似乱数生成装置は、更に、
前記擬似乱数生成部により生成された擬似乱数を記録する擬似乱数記録部を有することを特徴とする請求項８に記載の擬似乱数生成装置。
【請求項１０】
前記擬似乱数生成部は、
擬似乱数を生成する度に、生成した擬似乱数が前記擬似乱数記録部に記録されている記録擬似乱数のいずれかに一致するか否かを判断し、生成した擬似乱数がいずれかの記録擬似乱数に一致する場合に、記録擬似乱数に一致する擬似乱数を前記擬似乱数記録部の記録対象から除外し、
前記擬似乱数生成部により記録対象から除外された擬似乱数を除外して、前記擬似乱数生成部により生成された擬似乱数を記録することを特徴とする請求項９に記載の擬似乱数生成装置。
【請求項１１】
前記擬似乱数生成情報記録部は、
前記擬似乱数生成部により生成された擬似乱数の生成済みデータ総量が示される擬似乱数生成情報を記録し、
前記擬似乱数生成装置は、更に、
他の擬似乱数生成装置からの要求に応じて、前記乱数生成情報記録部に記録されている擬似乱数生成情報を他の擬似乱数生成装置に送信し、他の擬似乱数生成装置にて更新された更新後の擬似乱数生成情報を受信する擬似乱数生成情報同期部を有し、
前記擬似乱数生成部は、
前記擬似乱数生成情報同期部により受信された更新後の擬似乱数生成情報に示される更新後の生成済みデータ総量が更新前の擬似乱数生成情報に示されている更新前の生成済みデータ総量を上回っている場合に、更新前の生成済みデータ総量と更新後の生成済みデータ総量との差分の擬似乱数を生成し、
前記擬似乱数生成装置は、更に、
前記擬似乱数生成部により生成された擬似乱数を記録する擬似乱数記録部を有することを特徴とする請求項１〜６に記載の擬似乱数生成装置。
【請求項１２】
前記擬似乱数生成部は、
擬似乱数を生成する度に、生成した擬似乱数が前記擬似乱数記録部に記録されている記録擬似乱数のいずれかに一致するか否かを判断し、生成した擬似乱数がいずれかの記録擬似乱数に一致する場合に、記録擬似乱数に一致する擬似乱数を前記擬似乱数記録部の記録対象から除外し、
前記擬似乱数生成部により記録対象から除外された擬似乱数を除外して、前記擬似乱数生成部により生成された擬似乱数を記録することを特徴とする請求項１１に記載の擬似乱数生成装置。
【請求項１３】
擬似乱数を生成する複数の擬似乱数生成装置が含まれる情報処理システムであって、
各擬似乱数生成装置は、
他の擬似乱数生成装置と共通する乱数シード値を記録する乱数シード値記録部と、
他の擬似乱数生成装置と共通する乱数生成アルゴリズムと他の擬似乱数生成装置と共通する乱数データ長が示されるとともに、自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値が示される擬似乱数生成情報を記録する擬似乱数生成情報記録部と、
前記乱数シード値を用いて前記乱数生成アルゴリズムにて前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出する擬似乱数生成部とを有することを特徴とする情報処理システム。
【請求項１４】
各擬似乱数生成装置において、
前記擬似乱数生成部は、
他の擬似乱数生成装置における擬似乱数の生成から独立して、前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出することを特徴とする請求項１３に記載の情報処理システム。
【請求項１５】
擬似乱数を生成するコンピュータである擬似乱数生成装置に、
他の擬似乱数生成装置と共通する乱数シード値を記録する乱数シード値記録部から、前記乱数シード値を取得する乱数シード値取得処理と、
他の擬似乱数生成装置と共通する乱数生成アルゴリズムと他の擬似乱数生成装置と共通する乱数データ長が示されるとともに、自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値が示される擬似乱数生成情報を参照する擬似乱数生成情報参照処理と、
前記乱数シード値を用いて前記乱数生成アルゴリズムにて前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出する擬似乱数生成処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、擬似乱数の生成方式に関するものである。
【背景技術】
【０００２】
従来の擬似乱数生成技術として、特開２００３−０８４９７１号公報に記載の技術が知られている。
この従来技術では、擬似乱数の周期性をチェックして系列を変更することにより非衝突を実現する。
また、特開２００６−０５３７１５号公報に記載の技術が知られている。
この従来技術では、毎回シード値を変更することで予測不可能で非衝突な擬似乱数生成を実現する。
【特許文献１】特開２００３−０８４９７１号公報
【特許文献２】特開２００６−０５３７１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述した特開２００３−０８４９７１号公報、特開２００６−０５３７１５号公報では、同じ擬似乱数生成方式を採用する複数の装置では、ある装置は他の装置が生成する乱数値は分らず、複数の装置間で非衝突となる擬似乱数の生成を保証できないという課題がある。
【０００４】
本発明は上記の課題を解決することを主な目的としており、複数の擬似乱数生成装置が共通の乱数シード値及び共通の乱数生成アルゴリズムを用いる場合でも生成される擬似乱数が複数の擬似乱数生成装置間で必ず非衝突となる機構を実現することを主な目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る擬似乱数生成装置は、
擬似乱数を生成する擬似乱数生成装置であって、
他の擬似乱数生成装置と共通する乱数シード値を記録する乱数シード値記録部と、
他の擬似乱数生成装置と共通する乱数生成アルゴリズムと他の擬似乱数生成装置と共通する乱数データ長が示されるとともに、自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値が示される擬似乱数生成情報を記録する擬似乱数生成情報記録部と、
前記乱数シード値を用いて前記乱数生成アルゴリズムにて前記乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、前記割当て乱数特定値に対応する生成順序の擬似乱数を前記割当て擬似乱数として抽出する擬似乱数生成部とを有することを特徴とする。
【発明の効果】
【０００６】
このように、本実施の形態によれば、擬似乱数生成装置に割当てられた擬似乱数のみを抽出するため、複数の擬似乱数生成装置が共通の乱数シード値及び共通の乱数生成アルゴリズムを用いる場合でも擬似乱数が複数の擬似乱数生成装置間で必ず非衝突となる。
また、擬似乱数生成装置が複数あっても保護する乱数シード値の数が一つであるため安全確保が容易となる。
また、一系列の擬似乱数生成処理であり、また、各擬似乱数生成装置は他の擬似乱数生成装置と非同期に擬似乱数を生成することができるので、擬似乱数生成装置間の通信が不要であり、このため、擬似乱数生成装置における処理量の増大を抑制しながら擬似乱数を生成することができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
本実施の形態では、単一のシード値から生成する一系列の長周期かつ偏りの無い擬似乱数列を用いることを前提に、複数の装置が予め一度に生成する擬似乱数の長さを決めておき、各装置が決められた間隔毎に擬似乱数を使用することにより、一系列の擬似乱数列を複数装置間で分割して使用し、複数装置間で非衝突となる擬似乱数の生成を実現する擬似乱数生成方式を説明する。
以下、図１〜図１０を参照して本実施の形態の擬似乱数生成方式を説明する。
【０００８】
図１は、本実施の形態に係る鍵生成システムの全体構成を示すブロック図である。
図１において、１００は、擬似乱数生成装置であり、擬似乱数を生成し、鍵生成装置２００に送る。図１に示す各擬似乱数生成装置１００は、同じ擬似乱数生成グループに属する。擬似乱数生成グループとは、共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて共通の乱数データ長（以下、乱数長ともいう）分の擬似乱数を順次生成するＮ個（Ｎ≧２）（図１の例ではＮ＝３）の擬似乱数生成装置１００で構成されるグループである。
１３０は、擬似乱数生成情報であり、非衝突な擬似乱数を生成するための設定情報である。
２００は、鍵生成装置であり、擬似乱数生成装置１００から擬似乱数を受け、鍵３００を生成する。
３００は、鍵であり、鍵生成装置２００により生成される。生成される鍵は全て異なる。
４００は、データ通信路であり、複数の擬似乱数生成装置１００が接続し、データの送受信を行う。
【０００９】
全体の動作を図１の各装置で説明する。
まず擬似乱数生成装置１００で擬似乱数を生成し、擬似乱数生成装置１００から鍵生成装置２００に擬似乱数を出力し、鍵生成装置２００は擬似乱数を使用して鍵３００を生成し、鍵生成装置２００から鍵３００を出力する。
複数の擬似乱数生成装置１００が存在しても各装置間で衝突しない擬似乱数を生成するため、一系列の擬似乱数列を複数装置間で振り分けて生成し使用するための設定情報として擬似乱数生成情報１３０を使用する。また、複数の擬似乱数生成装置１００が一系列の擬似乱数列を生成するため、各装置は同一の乱数シード値を保持する。
ここで、一系列の擬似乱数とは、共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて生成される擬似乱数列を意味する。
【００１０】
図２は、擬似乱数生成情報１３０の内容である。
擬似乱数生成情報１３０は、擬似乱数生成装置１００の装置数、擬似乱数生成装置１００個別の識別情報となる装置ＩＤ、擬似乱数生成装置１００が一度に生成する乱数長、擬似乱数生成装置１００個別の生成済乱数長、擬似乱数生成装置１００の擬似乱数生成アルゴリズムからなる。
擬似乱数生成情報１３０において、装置数、乱数長及び擬似乱数生成アルゴリズムの内容は、同じ擬似乱数生成グループに属する複数の擬似乱数生成装置１００間で共通している。
他方、装置ＩＤ、生成済乱数長は、擬似乱数生成装置１００ごとに異なる。
生成済乱数長は、生成済みの擬似乱数のデータ総量を示し、擬似乱数の生成回数（生成頻度）によって擬似乱数生成装置１００ごとに異なる。
装置ＩＤ（ｍ：１≦ｍ≦Ｎ）は、一系列の擬似乱数列のうち自装置に割当てられる割当て擬似乱数を特定するための割当て乱数特定値である。
【００１１】
図３は、複数擬似乱数生成装置１００間における、一系列の擬似乱数の振り分け方法の例を示す。
つまり、複数の擬似乱数生成装置１００は、各々、共通の乱数シード値を用いて共通の乱数生成アルゴリズムにて同一の擬似乱数列を生成する。
そして、各擬似乱数生成装置１００は全て同一系列の擬似乱数列を生成するとともに、系列から乱数長分の擬似乱数を順番に使用する。
たとえば擬似乱数生成装置１００の装置数が３（Ｎ＝３）で乱数長が１２８ビットの場合、機器ＩＤが１（ｍ＝１）の擬似乱数生成装置１００が、擬似乱数系列１０００のはじめ１２８ビットの乱数Ａ１００１Ａを使用する。
機器ＩＤが２（ｍ＝２）の擬似乱数生成装置１００は、擬似乱数系列１０００のはじめ１２８ビットは生成するものの使用せずに、次の１２８ビットの乱数Ａ１００２Ａを使用する。
また、機器ＩＤが３（ｍ＝３）の擬似乱数生成装置１００は、擬似乱数系列１０００のはじめ２５６ビットは生成するものの使用せずに、次の１２８ビットの乱数Ａ１００３Ａを使用する。
以降、それぞれの擬似乱数生成装置１００は、装置数×乱数長の間隔毎に、乱数長分の擬似乱数を使用する。つまり、鍵生成装置２００から擬似乱数の生成要求がある度に、乱数長分のＮ個の擬似乱数を順次生成するとともに、Ｎ個の擬似乱数の中からｍ番目の擬似乱数を割当て対象の擬似乱数として抽出する。
なお、各擬似乱数生成装置１００は、鍵生成装置２００から擬似乱数の生成要求があった際に、他の擬似乱数生成装置１００における擬似乱数の生成から独立して（非同期に）乱数長分の擬似乱数を順次生成するとともに、生成した擬似乱数の中から自装置の装置ＩＤに対応する生成順序の擬似乱数を抽出して使用する。
また、生成した擬似乱数は、衝突確認のため、各装置が、他の装置が使用する擬似乱数を含め全て保管する。
このように同一系列の擬似乱数列から、各擬似乱数生成装置１００の装置ＩＤの順位に従って割当てられた擬似乱数を抽出するため、複数の擬似乱数生成装置１００が非同期であっても非衝突、かつ偏りの無い擬似乱数を利用することになる。
このため、擬似乱数から生成される鍵の非衝突が実現される。
【００１２】
図４は擬似乱数生成装置１００の構成を示すブロック図である。
図４において、擬似乱数生成情報入力部１０１は、図２に示した擬似乱数生成情報１３０を入力する。
擬似乱数生成情報処理部１０２は、擬似乱数生成情報入力部１０１が入力した擬似乱数生成情報１３０を擬似乱数生成情報記録部１０３に格納する。
擬似乱数生成情報記録部１０３は、擬似乱数生成情報１３０を記録する。
乱数シード入出力部１０４は、乱数シード値１３２（以下、乱数シード１３２ともいう）を入力する。この乱数シード値１３２は、前述したように、他の擬似乱数生成装置１００と共通するシード値である。
乱数シード処理部１０５は、乱数シード１３２を乱数シード記録部１０６に格納する。
乱数シード記録部１０６は、乱数シード１３２を記録する。
擬似乱数出力部１０７は、擬似乱数生成部１０８により抽出された擬似乱数１３３（割り当て擬似乱数）を鍵生成装置２００に出力する。
【００１３】
擬似乱数生成部１０８は、乱数シード１３２を用いて擬似乱数生成情報１３０に示されている乱数生成アルゴリズムにて乱数データ長分の擬似乱数を順次生成し、生成した擬似乱数の中から、擬似乱数生成情報１３０に示されている装置ＩＤ（割当て乱数特定値）に対応する順序の擬似乱数を割当て擬似乱数として抽出する。
擬似乱数記録部１０９は、擬似乱数生成部１０８により生成された擬似乱数の全て（他の擬似乱数生成装置１００が使用する擬似乱数も含めて）を記録する。
そして、擬似乱数生成部１０８は、擬似乱数を生成する度に、生成した擬似乱数が擬似乱数記録部１０９に記録されている記録擬似乱数のいずれかに一致するか否かを判断し、生成した擬似乱数がいずれかの記録擬似乱数に一致する場合に、記録擬似乱数に一致する擬似乱数を除外して、生成した擬似乱数の中から、自装置の順位（装置ＩＤ）に対応する生成順序の擬似乱数を割当て擬似乱数として抽出する。
また、擬似乱数記録部１０９は、擬似乱数生成部により記録擬似乱数に一致するとして除外された擬似乱数を除外して、擬似乱数生成部１０８により生成された擬似乱数を記録する。
これは、いずれかの擬似乱数生成装置１００が過去に使用した擬似乱数と同じ擬似乱数が再度生成された場合に、この衝突した擬似乱数を使用しないようにするためである。
【００１４】
図５、図６は擬似乱数生成装置１００の初期処理を示すフローチャートである。
図５は乱数シードを生成する１台目の擬似乱数生成装置１００の初期処理を表す。
【００１５】
まず、ＳＴ１００において、当該１台目の擬似乱数生成装置１００の管理者１２０が、擬似乱数生成情報入力部１０１より擬似乱数生成情報１３０を擬似乱数生成装置１００に入力し、擬似乱数生成情報処理部１０２が擬似乱数生成情報１３０を擬似乱数生成情報記録部１０３に格納する。
次に、ＳＴ１０１において、管理者１２０が、乱数シード入出力部１０４よりパスワード１３１を擬似乱数生成装置１００に入力し、乱数シード処理部１０５が乱数シード１３２を生成する。
次に、ＳＴ１０２において、乱数シード処理部１０５がパスワード１３１から乱数シード暗号鍵を生成して乱数シード１３２を暗号化し、乱数シード記録部１０６に暗号化した乱数シード１３２を格納する。
最後に、ＳＴ１０３において、乱数シード入出力部１０４が暗号化した乱数シード１３２を出力する。
出力された暗号化した乱数シード１３２は、管理者１２０が入力したパスワード１３１とともに他の擬似乱数生成装置１００の管理者１２０に渡される。
【００１６】
図６は１台目の擬似乱数生成装置１００が生成した乱数シード１３２を入力する２台目以降の擬似乱数生成装置１００の初期処理を表す。
２台目以降の擬似乱数生成装置１００では、管理者１２０は１台目の擬似乱数生成装置１００が暗号化した乱数シード１３２の復号用と、再暗号化用の２つのパスワードを入力する。
【００１７】
まず、ＳＴ１５０において、管理者１２０が擬似乱数生成情報入力部１０１より擬似乱数生成装置１００に擬似乱数生成情報１３０を入力し、擬似乱数生成情報処理部１０２が擬似乱数生成情報記録部１０３に擬似乱数生成情報１３０を格納する。
次に、ＳＴ１５１において、管理者１２０が乱数シード入出力部１０４より擬似乱数生成装置１００に復号用パスワード、暗号化した乱数シード１３２、再暗号化パスワードを入力する。
次に、ＳＴ１５２において、乱数シード処理部１０５がパスワード１３１から鍵を生成し、鍵を使用して暗号化した乱数シード１３２を復号する。
次に、ＳＴ１５３において、暗号化した乱数シード１３２の復号に成功したかどうかを判断し、復号に成功した場合は、ＳＴ１５４において、乱数シード処理部１０５が再暗号化パスワードから鍵を生成し、鍵を使用して乱数シード１３２を再暗号化し、乱数シード記録部１０６に再暗号化した乱数シード１３２を格納する。
【００１８】
図７、図８、図９は擬似乱数生成装置１００の乱数生成処理を示すフローチャートである。
【００１９】
図７のＳＴ２００において、管理者１２０が乱数シード入出力部１０４からパスワード１３１を入力する。
次に、ＳＴ２０１において、乱数シード処理部１０５が乱数シード記録部１０６から暗号化した乱数シード１３２を読み出す。
次に、ＳＴ２０２において、乱数シード処理部１０５がパスワード１３１から鍵を生成し、鍵を使用して暗号化した乱数シード１３２を復号する。
暗号化した乱数シード１３２の復号に成功した場合（ＳＴ２０３でＹＥＳ）は、ＳＴ２０４において、擬似乱数生成情報処理部１０２が擬似乱数生成情報記録部１０３から擬似乱数生成情報１３０を読み出す。
次に、ＳＴ２０５において、擬似乱数生成部１０８が擬似乱数生成情報１３０に示される擬似乱数生成アルゴリズムと乱数シード１３２から、擬似乱数系列の先頭を生成する。
次に、ＳＴ２０６において、擬似乱数生成部１０８が擬似乱数生成情報１３０に示される装置ＩＤ、乱数長、生成済乱数長から、擬似乱数系列の次の生成位置を設定する。
【００２０】
次に、ＳＴ２０７において鍵生成装置２００から擬似乱数の生成要求があった場合には（ＳＴ２０７でＹＥＳ）、ＳＴ２０８において、擬似乱数生成部１０８が擬似乱数生成情報１３０に示される乱数長分の擬似乱数１３３を生成する。
次に、ＳＴ２０９において、擬似乱数生成部１０８が、生成した擬似乱数１３３が擬似乱数記録部１０９に保管されているいずれかの擬似乱数（過去に生成された擬似乱数）と同じ値でないかを確認する。
生成した擬似乱数１３３と同じ値の擬似乱数が擬似乱数記録部１０９に存在している場合（ＳＴ２１０でＹＥＳ）は、次の位置の擬似乱数を生成する。
生成した擬似乱数１３３と同じ値の擬似乱数が擬似乱数記録部１０９に存在していない場合（ＳＴ２１０でＮＯ）は、ＳＴ２１１において、擬似乱数生成部１０８は、衝突確認のため、他の擬似乱数生成装置１００が使用する擬似乱数１３３を含め生成した擬似乱数１３３を全て擬似乱数記録部１０９に保管する。
次に、ＳＴ２１２において、擬似乱数生成部１０８は、ＳＴ２１１にて擬似乱数記録部１０９に格納された擬似乱数１３３が自装置に割当てられる擬似乱数１３３であるかどうかを判断し、自装置用の擬似乱数１３３でない場合（ＳＴ２１２でＮＯ）は、次の位置の擬似乱数を生成する。
他方、自装置用の擬似乱数１３３である場合（ＳＴ２１２でＹＥＳ）は、ＳＴ２１３において、擬似乱数出力部１０７が自装置に割当てられている擬似乱数１３３を鍵生成装置２００に出力する。
次に、ＳＴ２１４において、擬似乱数生成部１０８が擬似乱数生成情報１３０の生成済乱数長を、乱数長分加算する。
次に、ＳＴ２１５において、擬似乱数生成部１０８が終了要求フラグを確認する。終了要求は、後述する図１０の処理が行われた場合に終了要求フラグに設定される。終了要求がある場合（ＳＴ２１６でＹＥＳ）は、ＳＴ２１７において、擬似乱数生成情報処理部１０２が擬似乱数生成情報１３０を擬似乱数生成情報記録部１０３に格納する。
他方、終了要求がない場合（ＳＴ２１６でＮＯ）は、処理をＳＴ２０７に戻す。
【００２１】
図１０は擬似乱数生成装置１００に対する終了要求処理を示すフローチャートである。
【００２２】
ＳＴ３００において、管理者１２０が乱数シード入出力部１０４からパスワード１３１を入力する。
次に、ＳＴ３０１において、乱数シード入出力部１０４がパスワード１３１から鍵を生成し、鍵を使用して暗号化した乱数シード１３２を復号する。
暗号化した乱数シード１３２の復号に成功した場合（ＳＴ３０２でＹＥＳ）は、正当な管理者１２０からの終了要求であるため、ＳＴ３０３において、乱数シード処理部１０５が終了要求フラグを立てる。
ＳＴ３０３で行った終了要求は乱数生成処理中のＳＴ２１６（図９）で処理し、擬似乱数生成装置１００は乱数生成処理を終了する。
【００２３】
このように、本実施の形態によれば、複数の擬似乱数生成装置が共通の乱数シード値及び共通の乱数生成アルゴリズムを用いる場合でも生成される擬似乱数が複数の擬似乱数生成装置間で必ず非衝突となる。
また、擬似乱数生成では、乱数シード値により擬似乱数の系列が決まるため、擬似乱数の不正生成を防ぐために乱数シード値の漏洩対策が必要であり、乱数シード値を暗号化などにより保護しなければならないが、本実施の形態に係る擬似乱数生成方式は、擬似乱数生成装置が複数あっても保護する乱数シードの数が一つであるため安全確保が容易となる効果がある。
また、一系列の擬似乱数生成処理であり、また、各擬似乱数生成装置は他の擬似乱数生成装置と非同期に擬似乱数を生成することができるので、擬似乱数生成装置間の通信が不要であり、このため、擬似乱数生成装置における処理量の増大を抑制しながら擬似乱数を生成することができるという効果が得られる。
【００２４】
以上、本実施の形態では、単一のシード値から生成する一系列の長周期かつ偏りの無い擬似乱数列を用いることを前提に、擬似乱数生成時に複数装置間で連携しない、以下の特徴を持つ複数装置間非衝突擬似乱数生成方式について説明した。
（１）擬似乱数を生成する擬似乱数生成装置は、一系列の擬似乱数列を複数の擬似乱数生成装置間で振り分けて生成するための設定情報である擬似乱数生成情報を保持する擬似乱数生成情報処理手段を持つ。
（２）上記擬似乱数生成情報を使用して擬似乱数を生成する擬似乱数生成手段を持つ。
【００２５】
実施の形態２．
本実施の形態では、各擬似乱数生成装置の擬似乱数生成情報を同期させる（更新させる）場合について説明する。
【００２６】
図１６は、本実施の形態に係る擬似乱数生成装置１００の構成例を示す。
図４と比較して、図１６に示す擬似乱数生成装置１００では擬似乱数生成情報同期部１１０と通信部１１１が追加された構成となっている。
なお、擬似乱数生成情報同期部１１０と通信部１１１以外の要素は、図４に示したものと同様である。
【００２７】
擬似乱数生成情報１３０の同期元の擬似乱数生成装置１００の場合は、通信部１１１は、同期先の擬似乱数生成装置１００から送信された擬似乱数生成情報１３０をデータ通信路４００から受信し、更新用の擬似乱数生成情報１３０を同期元の擬似乱数生成装置１００にデータ通信路４００を通じて送信する。他方、擬似乱数生成情報１３０の同期先の擬似乱数生成装置１００の場合は、通信部１１１は保有している擬似乱数生成情報１３０を同期元の擬似乱数生成装置１００に送信し、更新用の擬似乱数生成情報１３０を同期元の擬似乱数生成装置１００から受信する。
また、擬似乱数生成情報１３０の同期元の擬似乱数生成装置１００の場合は、擬似乱数生成情報同期部１１０は、通信部１１１により受信された同期先の擬似乱数生成装置１００の擬似乱数生成情報１３０の内容を更新する。他方、擬似乱数生成情報１３０の同期先の擬似乱数生成装置１００の場合は、同期元の擬似乱数生成装置１００から受信した更新用擬似乱数生成情報１３０を擬似乱数生成情報記録部１０３に格納する。
【００２８】
図１１〜図１５は擬似乱数生成装置１００の擬似乱数生成情報同期処理を示すフローチャートである。
図１１、図１２、図１３は擬似乱数生成情報１３０の同期元となる擬似乱数生成装置１００の擬似乱数生成情報同期処理を表す。
図１４、図１５は、擬似乱数生成情報１３０の同期先となる擬似乱数生成装置１００の擬似乱数生成情報同期処理を表す。
【００２９】
擬似乱数生成情報１３０の同期処理は擬似乱数生成処理時常に行う必要はなく、任意の擬似乱数生成装置１００が要求する時点に行う。
同期時期は、擬似乱数生成装置１００の装置数の変更や、擬似乱数生成装置１００が一度に生成する乱数長の変更、擬似乱数生成装置１００の擬似乱数生成アルゴリズムの変更がある場合となる。
【００３０】
先ず、図１１、図１２、図１３を参照して同期元となる擬似乱数生成装置１００の処理を説明する。
【００３１】
図１１のＳＴ２００において、同期元の管理者１２０が乱数シード入出力部１０４からパスワード１３１を入力する。
次に、ＳＴ２０１において、乱数シード処理部１０５が乱数シード記録部１０６から暗号化した乱数シード１３２を読み出す。
次に、ＳＴ２０２において、乱数シード処理部１０５がパスワード１３１から鍵を生成し、鍵を使用して暗号化した乱数シード１３２を復号する。
暗号化した乱数シード１３２の復号に成功した場合（ＳＴ４０２でＹＥＳ）は、ＳＴ４０３において、擬似乱数生成情報処理部１０２が擬似乱数生成情報記録部１０３から擬似乱数生成情報１３０を読み出す。
次に、ＳＴ４０４において、管理者１２０が擬似乱数生成情報入力部１０１から更新用の擬似乱数生成情報１３０の装置数、乱数長、擬似乱数生成アルゴリズムのいずれかを入力する。管理者１２０は、擬似乱数生成情報１３０の要素のうち変更のある要素のみを入力する。
次に、ＳＴ４０５において、擬似乱数生成情報同期部１１０が、通信部１１１を通じて同期先となる他の擬似乱数生成装置１００に同期要求を送信し、同期先となる他の擬似乱数生成装置１００から通信部１１１を通じて現在の擬似乱数生成情報１３０を受信する。
【００３２】
次に、ＳＴ４０６において、擬似乱数生成情報同期部１１０が、他の擬似乱数生成装置１００から受信した擬似乱数生成情報１３０と、擬似乱数生成情報記録部１０３から読み出した擬似乱数生成情報１３０、擬似乱数生成情報入力部１０１から入力された更新用の装置数、乱数長等を比較する。
次に、装置数の変更がある場合は、ＳＴ４０７において、擬似乱数生成情報同期部１１０が、他の擬似乱数生成装置１００から受信した擬似乱数生成情報１３０及び自装置の擬似乱数生成情報記録部１０３から読み出した擬似乱数生成情報１３０の装置数を擬似乱数生成情報入力部１０１から入力された更新用の装置数に更新する。
次に、各擬似乱数生成装置１００の装置ＩＤの変更がある場合は、ＳＴ４０８において、擬似乱数生成情報同期部１１０が、他の擬似乱数生成装置１００から受信した擬似乱数生成情報１３０及び自装置の擬似乱数生成情報記録部１０３から読み出した擬似乱数生成情報１３０の装置ＩＤを擬似乱数生成情報入力部１０１から入力された更新用の装置数に合わせて更新する。
次に、乱数長の変更がある場合は、ＳＴ４０９において、擬似乱数生成情報同期部１１０が、他の擬似乱数生成装置１００から受信した擬似乱数生成情報１３０及び自装置の擬似乱数生成情報記録部１０３から読み出した擬似乱数生成情報１３０の乱数長を擬似乱数生成情報入力部１０１から入力された更新用の乱数長に更新する。
次に、ＳＴ４１０において、擬似乱数生成情報同期部１１０が、他の擬似乱数生成装置１００から受信した擬似乱数生成情報１３０及び自装置の擬似乱数生成情報記録部１０３から読み出した擬似乱数生成情報１３０に示される生成済乱数長の中で最長の生成済乱数長を選択し、選択した最長の生成済乱数長を他の擬似乱数生成装置１００から受信した擬似乱数生成情報１３０及び自装置の擬似乱数生成情報記録部１０３から読み出した擬似乱数生成情報１３０に書き込み、生成済乱数長を更新する。
次に、擬似乱数生成アルゴリズムの変更がある場合は、ＳＴ４１１において、擬似乱数生成情報同期部１１０が、他の擬似乱数生成装置１００から受信した擬似乱数生成情報１３０及び自装置の擬似乱数生成情報記録部１０３から読み出した擬似乱数生成情報１３０の擬似乱数生成アルゴリズムを擬似乱数生成情報入力部１０１から入力された更新用の擬似乱数生成アルゴリズムに更新する。
次に、ＳＴ４１２において、擬似乱数生成情報同期部１１０が通信部１１１を通じて、同期先となる擬似乱数生成装置１００へ更新用の擬似乱数生成情報１３０を送信する。
【００３３】
次に、ＳＴ４１３において、擬似乱数生成情報同期部１１０が、自装置の更新前の生成済乱数長が最長であったかを判断し、最長であった場合には、ＳＴ４１８において、擬似乱数生成情報同期部１１０は擬似乱数生成情報記録部１０３に更新用の擬似乱数生成情報１３０を格納する。
他方、ＳＴ４１３において更新前の生成済乱数長が最長でなかった場合は、ＳＴ４１４において、擬似乱数生成部１０８が、最長の生成済乱数長と自装置の更新前の生成済乱数長の差分の擬似乱数１３３を順に生成する。
次に、ＳＴ４１５において、擬似乱数生成部１０８が、生成した擬似乱数１３３が擬似乱数記録部１０９に保管されているいずれかの擬似乱数（過去に生成された擬似乱数）と同じ値でないかを確認する。
生成した擬似乱数１３３と同じ値の擬似乱数が擬似乱数記録部１０９に存在している場合（ＳＴ４１６でＹＥＳ）は、次の位置の擬似乱数を生成する。
生成した擬似乱数１３３と同じ値の擬似乱数が擬似乱数記録部１０９に存在していない場合（ＳＴ４１６でＮＯ）は、ＳＴ４１７において、擬似乱数生成部１０８は、衝突確認のため、生成した擬似乱数１３３を全て擬似乱数記録部１０９に保管する。
そして、生成済乱数長の差分の擬似乱数１３３を全て擬似乱数記録部１０９に格納した後、ＳＴ４１８において、擬似乱数生成情報同期部１１０は擬似乱数生成情報記録部１０３に更新用の擬似乱数生成情報１３０を格納する。
【００３４】
次に、図１４及び図１５を参照して、擬似乱数生成情報１３０の同期先となる擬似乱数生成装置１００の擬似乱数生成情報同期処理を説明する。
【００３５】
図１４のＳＴ２００において、同期先の管理者１２０が乱数シード入出力部１０４からパスワード１３１を入力する。
次に、ＳＴ２０１において、乱数シード処理部１０５が乱数シード記録部１０６から暗号化した乱数シード１３２を読み出す。
次に、ＳＴ２０２において、乱数シード処理部１０５がパスワード１３１から鍵を生成し、鍵を使用して暗号化した乱数シード１３２を復号する。
暗号化した乱数シード１３２の復号に成功した場合（ＳＴ４５２でＹＥＳ）は、ＳＴ４５３において、擬似乱数生成情報処理部１０２が擬似乱数生成情報記録部１０３から擬似乱数生成情報１３０を読み出す。
次に、ＳＴ４５４において、擬似乱数生成情報同期部１１０が、同期元の擬似乱数生成情報同期部１１０からの同期要求を通信部１１１を通じて受信したかを判断し、同期要求を受信した場合（ＳＴ４５４でＹＥＳ）は、ＳＴ４５５において、擬似乱数生成情報同期部１１０が通信部１１１を通じて同期元となる他の擬似乱数生成装置１００に対して現在の擬似乱数生成情報１３０を送信する。
次に、ＳＴ４５６において、擬似乱数生成情報同期部１１０が通信部１１１を通じて、同期元となる他の擬似乱数生成装置１００から更新用の擬似乱数生成情報１３０を受信する。
【００３６】
次に、ＳＴ４５７において、擬似乱数生成情報同期部１１０は、更新用の擬似乱数生成情報１３０に示されている生成済乱数長と自装置の更新前の生成済乱数長とを比較し、更新用の擬似乱数生成情報１３０に示されている生成済乱数長と自装置の更新前の生成済乱数長が同じである場合、すなわち、自装置の更新前の生成済乱数長が最長であった場合（ＳＴ４５７でＮＯ）には、ＳＴ４６２において、擬似乱数生成情報同期部１１０は擬似乱数生成情報記録部１０３に更新用の擬似乱数生成情報１３０を格納する。
他方、ＳＴ４５７において自装置の更新前の生成済乱数長が最長でなかった場合（ＳＴ４５７でＹＥＳ）は、ＳＴ４５８において、擬似乱数生成部１０８が、更新用の擬似乱数生成情報１３０に示される生成済乱数長と自装置の更新前の生成済乱数長の差分の擬似乱数１３３を順に生成する。
次に、ＳＴ４５９において、擬似乱数生成部１０８が、生成した擬似乱数１３３が擬似乱数記録部１０９に保管されているいずれかの擬似乱数（過去に生成された擬似乱数）と同じ値でないかを確認する。
生成した擬似乱数１３３と同じ値の擬似乱数が擬似乱数記録部１０９に存在している場合（ＳＴ４６０でＹＥＳ）は、次の位置の擬似乱数を生成する。
生成した擬似乱数１３３と同じ値の擬似乱数が擬似乱数記録部１０９に存在していない場合（ＳＴ４６０でＮＯ）は、ＳＴ４６１において、擬似乱数生成部１０８は、衝突確認のため、生成した擬似乱数１３３を全て擬似乱数記録部１０９に保管する。
そして、生成済乱数長の差分の擬似乱数１３３を全て擬似乱数記録部１０９に格納した後、ＳＴ４６２において、擬似乱数生成情報同期部１１０は擬似乱数生成情報記録部１０３に更新用の擬似乱数生成情報１３０を格納する。
【００３７】
このように、本実施の形態では、任意の時期に擬似乱数生成に必要となる設定情報を同期できるため、擬似乱数生成装置の装置数の変更や一度に生成する乱数長の変更、擬似乱数生成アルゴリズムの変更を容易に実現できるという効果が得られる。
【００３８】
以上、本実施の形態では、擬似乱数を生成する擬似乱数生成装置は、任意の時期に擬似乱数生成情報を複数の擬似乱数生成装置間で同期する擬似乱数生成情報同期処理手段を持つことを説明した。
【００３９】
最後に、実施の形態１、２に示した擬似乱数生成装置１００のハードウェア構成例について説明する。
図１７は、実施の形態１、２に示す擬似乱数生成装置１００のハードウェア資源の一例を示す図である。
なお、図１７の構成は、あくまでも擬似乱数生成装置１００のハードウェア構成の一例を示すものであり、擬似乱数生成装置１００のハードウェア構成は図１７に記載の構成に限らず、他の構成であってもよい。
【００４０】
図１７において、擬似乱数生成装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００４１】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００４２】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００４３】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００４４】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
擬似乱数生成装置１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００４５】
上記プログラム群９２３には、実施の形態１、２の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００４６】
ファイル群９２４には、実施の形態１、２の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の暗号化」、「〜の復号」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１、２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００４７】
また、実施の形態１、２の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１、２の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、実施の形態１、２の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００４８】
このように、実施の形態１、２に示す擬似乱数生成装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００４９】
【図１】実施の形態１に係る鍵生成システムの全体構成例を示す図。
【図２】実施の形態１に係る擬似乱数生成情報の例を示す図。
【図３】実施の形態１に係る擬似乱数振り分け方法を説明する図。
【図４】実施の形態１に係る擬似乱数生成装置の構成例を示す図。
【図５】実施の形態１に係る擬似乱数生成装置の初期処理の例を示すフローチャート図。
【図６】実施の形態１に係る擬似乱数生成装置の初期処理の例を示すフローチャート図。
【図７】実施の形態１に係る擬似乱数生成装置の乱数生成処理の例を示すフローチャート図。
【図８】実施の形態１に係る擬似乱数生成装置の乱数生成処理の例を示すフローチャート図。
【図９】実施の形態１に係る擬似乱数生成装置の乱数生成処理の例を示すフローチャート図。
【図１０】実施の形態１に係る擬似乱数生成装置の終了要求処理の例を示すフローチャート図。
【図１１】実施の形態２に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。
【図１２】実施の形態２に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。
【図１３】実施の形態２に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。
【図１４】実施の形態２に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。
【図１５】実施の形態２に係る擬似乱数生成装置の擬似乱数生成情報同期処理の例を示すフローチャート図。
【図１６】実施の形態２に係る擬似乱数生成装置の構成例を示す図。
【図１７】実施の形態１、２に係る擬似乱数生成装置のハードウェア構成例を示す図。
【符号の説明】
【００５０】
１００  擬似乱数生成装置、１０１  擬似乱数生成情報入力部、１０２  擬似乱数生成情報処理部、１０３  擬似乱数生成情報記録部、１０４  乱数シード入出力部、１０５  乱数シード処理部、１０６  乱数シード記録部、１０７  擬似乱数出力部、１０８  擬似乱数生成部、１０９  擬似乱数記録部、１１０  擬似乱数生成情報同期部、１１１  通信部、１２０  管理者、１３１  パスワード、１３２  乱数シード、１３３  擬似乱数、２００  鍵生成装置、３００  鍵、４００  データ通信路。
【図１】
2009151429.tif 000003
【図２】
2009151429.tif 000004
【図３】
2009151429.tif 000005
【図４】
2009151429.tif 000006
【図５】
2009151429.tif 000007
【図６】
2009151429.tif 000008
【図７】
2009151429.tif 000009
【図８】
2009151429.tif 000010
【図９】
2009151429.tif 000011
【図１０】
2009151429.tif 000012
【図１１】
2009151429.tif 000013
【図１２】
2009151429.tif 000014
【図１３】
2009151429.tif 000015
【図１４】
2009151429.tif 000016
【図１５】
2009151429.tif 000017
【図１６】
2009151429.tif 000018
【図１７】
2009151429.tif 000019