(57)【特許請求の範囲】
【請求項１】
ネットワークを介してパケット送信要求を受け取ると、これに応答するパケット送信を複数回実行する第１のコンピュータと、
ネットワークを介して前記第１のコンピュータに対してパケット送信要求を行い、前記第１のコンピュータから複数回返送される各パケットの到達時刻情報を取得する到達時刻情報取得手段と、この到達時刻情報取得手段が取得した複数の到達時刻情報について順次に時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数を生成する乱数生成手段とを備える第２のコンピュータと
を具備することを特徴とする乱数生成システム。
【請求項２】
前記到達時刻情報取得手段は、各パケットの到達時刻に関してマイクロ秒の範囲まで時刻情報を検出し、検出した時刻情報中の下位側ビットから所要ビットの抽出を行うことを特徴とする請求項１に記載の乱数生成システム。
【請求項３】
前記乱数生成手段は、前記到達時刻情報取得手段が各パケットに対応して取得した時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求める場合に、２ｎ(ｎ：整数)を法とする和算を行うことにより和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数生成を行うことを特徴とする請求項１または請求項２に記載の乱数生成システム。
【請求項４】
パケットの送受信のプロトコルとしてＵＤＰを採用すると共に２を法とする和算を採用し、これに応じて、到達時刻情報取得手段は、奇数回の到達時刻情報を取得することを特徴とする請求項１乃至３のいずれか１項に記載の乱数生成システム。
【請求項５】
ネットワークを介してパケット送信要求を受け取ると、これに応答するパケット送信を複数回実行する第１のコンピュータと、ネットワークを介して前記第１のコンピュータに対してパケット送信要求を行い、前記第１のコンピュータから複数回返送される各パケットを取り込む第２のコンピュータを使用し、
前記第２のコンピュータにおいて各パケットの到達時刻情報を取得し、
この取得した複数の到達時刻情報について順次に時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数を生成することを特徴とする乱数生成方法。
【請求項６】
到達時刻情報取得の際には、各パケットの到達時刻に関してマイクロ秒の範囲まで時刻情報を検出し、検出した時刻情報中の下位側ビットから所要ビットの抽出を行うことを特徴とする請求項５に記載の乱数生成方法。
【請求項７】
前記乱数生成においては、前記到達時刻情報取得にて各パケットに対応して取得した時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求める場合に、２ｎ(ｎ：整数)を法とする和算を行うことにより和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数生成を行うことを特徴とする請求項５または請求項６に記載の乱数生成方法。
【請求項８】
パケットの送受信のプロトコルとして、ＵＤＰを採用すると共に２を法とする和算を採用し、これに応じて、到達時刻情報取得においては、奇数回の到達時刻情報を取得することを特徴とする請求項５乃至７のいずれか１項に記載の乱数生成方法。
【請求項９】
ネットワークを介してパケット送信要求を受け取るとこれに応答するパケット送信を複数回実行する第１のコンピュータに対して、ネットワークを介して接続され、乱数生成を実行する第２のコンピュータを、
前記第１のコンピュータへパケット送信要求を行い、前記第１のコンピュータから複数回返送される各パケットの到達時刻情報を取得する到達時刻情報取得手段と、
この到達時刻情報取得手段が取得した複数の到達時刻情報について順次に時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数を生成する乱数生成手段と
として機能させるための乱数生成プログラム。
【請求項１０】
第２のコンピュータを前記到達時刻情報取得手段として、各パケットの到達時刻に関してマイクロ秒の範囲まで時刻情報を検出し、検出した時刻情報中の下位側ビットから所要ビットの抽出を行うように機能させることを特徴とする請求項９に記載の乱数生成プログラム。
【請求項１１】
第２のコンピュータを前記乱数生成手段として、前記到達時刻情報取得の処理にて各パケットに対応して取得した時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求める場合に、２ｎ(ｎ：整数)を法とする和算を行うことにより和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数を生成するように機能させることを特徴とする請求項９または請求項１０に記載の乱数生成プログラム。
【請求項１２】
パケットの送受信のプロトコルとして、ＵＤＰを採用し、第２のコンピュータを乱数生成手段が２を法とする和算を行うように機能させ、第２のコンピュータを到達時刻情報取得手段として、奇数回の到達時刻情報を取得するように機能させることを特徴とする請求項９乃至１１のいずれか１項に記載の乱数生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＩＰパケットの送受を用いた新たな真性乱数の生成を行う乱数生成システム、乱数生成方法及び乱数生成プログラムに関するものである。
【背景技術】
【０００２】
従来、ＩＰパケットの送受信を用いた新たな真性乱数の生成に関しては、非特許文献１、２、更には特許文献１に記載のものが知られている。まず、非特許文献１に記載されたものにあっては、クライアントからサーバへのＦＴＰもしくはＨＴＴＰ転送要求に対し、サーバはクライアントへ向けてＦＴＰもしくはＨＴＴＰパケットを返信し、クライアントは各パケットの到着時刻の計測を幾度か繰り返し、前後する重複のない２つの到着時刻のビット列について、差があるビットのみを抽出して乱数を得る手法である。しかしながら、上記非特許文献１で示される手法により得られた乱数は、必ずしも良質な乱数性能を有するとは限らない旨が、非特許文献２において指摘されている。すなわち、現実的に利用できるような良質な乱数を得るには、何らかの工夫を加える必要があると思料される。
【０００３】
また，非特許文献２と特許文献１に記載の手法は、非特許文献１に開示の手法の乱数性能を改良するもので、クライアントからサーバへパケットを送信し、これに対しサーバから返信されるパケットの到着時刻を計測して、クライアント−サーバ間の応答時間を用いるもので、予測アルゴリズムを用いて過去の応答時間から未来の応答時間を予測し、実測値との差を乱数として利用するものである。しかしながら、この手法にあっては、乱数性能の改善はなされるが、乱数抽出毎にクライアント−サーバ間をパケットが往復する必要があるため、パケット転送負荷が大きく、また一方で、予測アルゴリズム中に高次元の連立方程式を解く過程が含まれるなど、応答時間計測後のクライアント側での処理が重たいという問題がある。
【非特許文献１】「ＩＰパケットの到着時刻を用いた乱数生成」ＳＣＩＳ’９９予稿集、pp.491-496，電子情報通信学会、1999年１月
【非特許文献２】「パケット往復時間の予測誤差を使った乱数生成法」情報処理学会論文誌、Vol.44,pp2170-2177,Aug.2003
【特許文献１】特開２００４−２０６０２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記非特許文献２と特許文献１に記載の手法にあっては、相変わらず、クライアントからサーバへのパケット送信と返送パケットの受信を幾度か繰り返す必要があるもので、ランダム化の改善はなされるが、クライアント側にパケット送信負荷がかかる点は改善されない。
【０００５】
発明が解決しようとする課題は、大きな桁数の乱数生成においては、クライアント側にパケット送信負荷がかかる点であり、本発明ではこの課題を解決して、クライアント側のパケット送信負荷軽減を図り、しかも、乱数性が高く、大きな桁数の乱数生成にあっても生成時間の改善を図ることの可能な乱数生成システム、乱数生成方法及び乱数生成プログラムを提供することを目的とする。並びに、到着時刻計測から乱数抽出までの計算負荷を少なくし、クライアント側処理の負荷軽減と高速化の改善を図ることが可能な乱数生成システム、乱数生成方法及び乱数生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る乱数生成システムは、ネットワークを介してパケット送信要求を受け取ると、これに応答するパケット送信を複数回実行する第１のコンピュータと、ネットワークを介して前記第１のコンピュータに対してパケット送信要求を行い、前記第１のコンピュータから複数回返送される各パケットの到達時刻情報を取得する到達時刻情報取得手段と、この到達時刻情報取得手段が取得した複数の到達時刻情報について順次に時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数を生成する乱数生成手段とを備える第２のコンピュータとを具備することを特徴とする。
【０００７】
本発明に係る乱数生成システムでは、前記到達時刻情報取得手段が、各パケットの到達時刻に関してマイクロ秒の範囲まで時刻情報を検出し、検出した時刻情報中の下位側ビットから所要ビットの抽出を行うことを特徴とする。
【０００８】
本発明に係る乱数生成システムでは、前記乱数生成手段は、前記到達時刻情報取得手段が各パケットに対応して取得した時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求める場合に、２ｎ(ｎ：整数)を法とする和算を行うことにより和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数生成を行うことを特徴とする。
【０００９】
本発明に係る乱数生成システムでは、パケットの送受信のプロトコルとしてＵＤＰを採用すると共に２を法とする和算を採用し、これに応じて、到達時刻情報取得手段は、奇数回の到達時刻情報を取得することを特徴とする。
【００１０】
本発明に係る乱数生成方法は、ネットワークを介してパケット送信要求を受け取ると、これに応答するパケット送信を複数回実行する第１のコンピュータと、ネットワークを介して前記第１のコンピュータに対してパケット送信要求を行い、前記第１のコンピュータから複数回返送される各パケットを取り込む第２のコンピュータを使用し、前記第２のコンピュータにおいて各パケットの到達時刻情報を取得し、この取得した複数の到達時刻情報について順次に時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数を生成することを特徴とする。
【００１１】
本発明に係る乱数生成方法は、到達時刻情報取得の際には、各パケットの到達時刻に関してマイクロ秒の範囲まで時刻情報を検出し、検出した時刻情報中の下位側ビットから所要ビットの抽出を行うことを特徴とする。
【００１２】
本発明に係る乱数生成方法では、前記到達時刻情報取得にて各パケットに対応して取得した時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求める場合に、２ｎ(ｎ：整数)を法とする和算を行うことにより和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数生成を行うことを特徴とする。
【００１３】
本発明に係る乱数生成方法では、パケットの送受信のプロトコルとして、ＵＤＰを採用すると共に２を法とする和算を採用し、これに応じて、到達時刻情報取得においては、奇数回の到達時刻情報を取得することを特徴とする。
【００１４】
本発明に係る乱数生成プログラムは、ネットワークを介してパケット送信要求を受け取るとこれに応答するパケット送信を複数回実行する第１のコンピュータに対して、ネットワークを介して接続され、乱数生成を実行する第２のコンピュータを、前記第１のコンピュータへパケット送信要求を行い、前記第１のコンピュータから複数回返送される各パケットの到達時刻情報を取得する到達時刻情報取得手段と、この到達時刻情報取得手段が取得した複数の到達時刻情報について順次に時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数を生成する乱数生成手段として機能させることを特徴とする。
【００１５】
本発明に係る乱数生成プログラムは、第２のコンピュータを前記到達時刻情報取得手段として、各パケットの到達時刻に関してマイクロ秒の範囲まで時刻情報を検出し、検出した時刻情報中の下位側ビットから所要ビットの抽出を行うように機能させることを特徴とする。
【００１６】
本発明に係る乱数生成プログラムは、第２のコンピュータを前記乱数生成手段として、前記到達時刻情報取得の処理にて各パケットに対応して取得した時刻情報中の下位側ビットから所要ビット抽出し、抽出したビットについて整数Ｍによる割り算の剰余を得て乱数ビットとし、この乱数ビットの和算による乱数ビットを求める場合に、２ｎ(ｎ：整数)を法とする和算を行うことにより和算による乱数ビットを求め、和算された乱数ビットを順次所定ビット位置に配置して所定ビット長の乱数を生成するように機能させることを特徴とする。
【００１７】
本発明に係る乱数生成プログラムは、パケットの送受信のプロトコルとして、ＵＤＰを採用し、第２のコンピュータを乱数生成手段が２を法とする和算を行うように機能させ、第２のコンピュータを到達時刻情報取得手段として、奇数回の到達時刻情報を取得するように機能させることを特徴とする。
【発明の効果】
【００１８】
本発明では、ネットワークを介してパケット送信要求を受け取ると、これに応答するパケット送信を複数回実行する第１のコンピュータを用いることにより、返送パケットを得るためにパケット送信を行って返送を待つ処理を何度も繰り返して行う必要がなく、負荷の軽減を図ることができる。また、パケットの送受信のプロトコルとして、ＵＤＰを採用した場合には、パケットの抜けが生じることから到着時刻にゆらぎが生じ、良好な乱数生成がなされる。
【発明を実施するための最良の形態】
【００１９】
本発明では、パケット送信負荷軽減を図り、しかも、乱数性が高く、大きな桁数の乱数生成にあっても生成時間の改善を図るという目的を、ネットワークを介してパケット送信要求を受け取ると、これに応答するパケット送信を複数回実行する第１のコンピュータに対して、一度の送信要求を行い順次送られてくるパケットの到着時刻を観測するという簡単な手法により実現したものである。以下、添付図面を参照して本発明に係る乱数生成システム、乱数生成方法及び乱数生成プログラムの実施例を説明する。
【実施例１】
【００２０】
図１に、第１の実施例に係る乱数生成システムの構成図を示す。このシステムでは、ネットワーク３に、第１のコンピュータ１と第２のコンピュータ２とが接続されている。図２に示されるように、第１のコンピュータ１（サーバ）は、ネットワーク３を介してパケット送信要求を第２のコンピュータ２（クライアント）から受け取ると、これに応答するパケット送信を複数回実行するものである。
【００２１】
第２のコンピュータ２には、到達時刻情報取得手段２１と乱数生成手段２２とが具備されている。到達時刻情報取得手段２１は、ネットワーク３を介して上記第１のコンピュータ１に対してパケット送信要求を行い、上記第１のコンピュータ１から複数回返送される各パケットの到達時刻情報を取得するものである。乱数生成手段２２は、到達時刻情報取得手段２１が取得した複数の到達時刻情報を用いて乱数を生成するものである。ネットワーク３を介して上記第１のコンピュータ１と第２のコンピュータ２が通信を行う場合のプロトコルとして、ここでは、ＵＤＰ（User Data Protocol）を用いている。
【００２２】
第１のコンピュータ１は、図３に示されるフローチャートに対応するプログラムを実行することによって、パケットの返送を行う。即ち、パケットの送信要求を待っており（Ｓ１）、パケットの送信要求の到来を検出すると、ステップＳ１においてＹＥＳへ分岐して、所定長（例えば、８ビット）のパケット（ヘッダのみ）を返送して、返送パケット数のカウンタＲの値を１とし（Ｓ２）、更に次の同形（上記と同じ長さで、ヘッダのみ）のパケットを返送し（Ｓ３）、返送パケット数のカウンタＲの値を１インクリメントする（Ｓ４）。
【００２３】
次に、返送パケット数のカウンタＲが、予め定められた数ＲMAXを超えたかを検出し（Ｓ５）、ＮＯであるときには、ステップＳ３へ戻って次のパケットを返送する。このようにステップＳ３〜Ｓ５を繰り返すうちに、カウンタＲの値が予め定められた数ＲMAXを超えて、ステップＳ５においてＹＥＳへ分岐し、パケット送信を終了する。このように、第１のコンピュータ１は、１つのパケットの送信要求に対して予め定められた数ＲMAXのパケットを次々に送信する。
【００２４】
一方、第２のコンピュータ２は、図４に示されるフローチャートに対応するプログラム（乱数生成プログラム）を実行することにより、到達時刻情報取得手段２１及び乱数生成手段２２として処理を行う。乱数生成プログラムの起動があると、初期化を行い、ｔａ，ｔａi，ｉ、Ｎをゼロとして（Ｓ１０）、第１のコンピュータ１へ向けてパケット送信要求のパケットを送信し（Ｓ１１）、第１のコンピュータ１から返送されるパケットの着信を待つ（Ｓ１２）。
【００２５】
第１のコンピュータ１から返送されたパケットの着信があると、gettimeofday関数を用いて当該パケットの着信時刻をマイクロ秒の範囲まで検出して、例えば下位１ビットを取得すると共に、ｉに１を加える（Ｓ１３）。この着信時刻（Ｔi）を用いて次の式（１）に示される演算式の演算を行って、着信時刻（Ｔi）の下位ビット情報tａiを得る（Ｓ１４）。なお、式（１）においてｍｏｄ２は、「２」による割り算の剰余を示すものである。仮に２ビット抽出の場合は，式（１−２）に示される演算式の演算を行ってtａiを得る。また、ｎビット抽出の場合は、式（１−３）に示される演算式の演算を行ってtａiを得る。これらにおいて、ｍｏｄＭは、Ｍによる割り算の剰余を示すものである。
【００２６】
【数１】
0004399407.tif 000002
【００２７】
次に、ｉが予め設定された数ｍとなったかにより、所定数ｍのパケットが到着したかを検出し（Ｓ１５）、所定数ｍのパケットが到着していなければ、ステップＳ１２へ戻って次のパケット到着を待ち（Ｓ１２）、ステップＳ１２からＳ１５のループを繰り返す。このようにしてパケット到着が繰り返されることにより、所定数ｍのパケットが到着して、ステップＳ１５においてＹＥＳへ分岐し、次の式（２）に示される演算式の演算を行い乱数ビットｔａを得て乱数ビットとして例えば、最下位側から所定のビット位置へ出力する（Ｓ１６）。このように、本実施例では、所定数ｍのパケットに関する各着信時刻を用いて１つの乱数ビットを生成する処理を行っている。図２の例は、ｍが３の例であり、３つのパケット毎に各着信時刻（Ｔ1,Ｔ2,Ｔ3）を用いて１つの乱数ビットｔａを生成している。なお、式（２）において、Σは、１ビット抽出の場合にあっては、法２の和算もしくは排他的論理和を意味するものであり、２ビット抽出の場合にあっては、法４の和算を意味するものであり、更に、ｎビット抽出の場合にあっては、法２ｎの和算を意味するものである。
【００２８】
【数２】
0004399407.tif 000003
【００２９】
上記ステップＳ１６に次いで、取得すべき乱数のビット数のカウント値Ｎを１インクリメントし（Ｓ１７）、カウント値Ｎが、取得すべき乱数のビット数ＮTとなったかを検出し（Ｓ１８）、乱数のビット数ＮTとなっていなければ、ｔａ，ｔａi，ｉをゼロとして（Ｓ１９）、ステップＳ１２へ戻ってステップＳ１２からＳ１９のループを繰り返す。このとき、ステップＳ１６の処理によって、順次最下位側から最上位側へ向けて所定のビット位置へ乱数ビットｔａが埋め込まれてゆく。このようにして、ステップＳ１６において乱数ビットの出力が繰り返されるうちに、カウント値Ｎが、取得すべき乱数のビット数ＮTに到達し、ビット数ＮTの乱数ビットを並べた乱数が生成される（Ｓ２０）。なお、本実施例では通信プロトコルにＵＤＰを用いているため、第１のコンピュータ１が返送を行うパケットの数ＲMAXは、取得すべき乱数のビット数ＮTにマージンを加えた値となっている。
【００３０】
図５に、本乱数生成システムの実施例において、実際に使用した機器構成を示す。サーバ（Server）が第１のコンピュータ１に相当し、クライアント（ClientPC）が第２のコンピュータ２に相当し、ＩＰネットワークがネットワーク３に相当している。ここにおいて用いたＯＳは、Ｆｅｄｏｒａ  Ｃｏｒｅ  ３である。
【００３１】
上記図５に示したシステムにおいて、特に着信時刻（Ｔi）の下位１ビットを抽出した場合では、乱数は約（８３３３３／ｍ）ｂｉｔ／ｓｅｃで生成される。ｍが２倍となると生成時間も２倍となる（ｍは、上述の式（２）におけるｍである）。図６に、本実施例により生成された乱数列の検定結果を示す。この検定結果は、ＮＩＳＴによる検定によるものであり、現在１５項目ある項目の１つでも不合格であれば、不合格としてある。乱数列の長さは、推奨値である1,000,000,000bitである。
【００３２】
上記図６に示した検定結果は、着信時刻（Ｔi）の下位１ビットを抽出した場合なので、ｍの値が偶数である場合と奇数である場合において大きく異なっている。これは、ｍの値が偶数と奇数とでは、実際に乱数に用いられている要素が異なってくることに起因している。即ち、図２に示されているように、順次に到着するパケットの到着時間間隔をｄｔiとすると、Σ（Ｔi）は次の式（３）の通りに表すことができ、ｍが偶数の場合におけるｍＴi（ｍｏｄ２）については、次の式（４）が成り立つ。尚、式（３）は、到着時刻の１ビット抽出の場合では、法２の和算もしくは排他的論理和を意味し、２ビット抽出の場合では、法４の和算を意味し、ｎビット抽出の場合では法２ｎの和算を意味する。
【００３３】
【数３】
0004399407.tif 000004
【００３４】
このため、ｍが偶数の場合には、式（３）における右辺の第１項である（ｍＴ1)が用いられることがないのに対し、ｍが奇数の場合には、式（３）における右辺の第１項である（ｍＴ1)が用いられる。このように、ｍの値が偶数か奇数であるかによって、実際に乱数に用いられている要素が異なっていることが理解できる。
【００３５】
そしてｍの値が偶数であれば、式（３）における右辺の第１項である（ｍＴ1）が用いられることがないことから、時間間隔（ｄｔ）だけの項が残る。係る場合において、ｄｔ（単位は、マイクロ秒）について出現率を調べると、出現率の高いものについては図７に示される如くの結果が得られた。即ち、時間間隔（ｄｔ）は、特定の値に集中しており、この図７に示した試行では時間間隔（ｄｔ）が奇数に偏っていることが分かる。この例の如く、式（３）において残っている時間間隔（ｄｔ）を用いて、乱数生成を行っても、時間間隔（ｄｔ）は偏ったものであるため、乱数性が良好とならないことが予測される。
【００３６】
なお、実施例においては、到着したパケットの到着時刻を順に採用したが、所定数毎（一定数毎或いは異なる数毎）に到着時刻をサンプリングして、これを用いても良い。また、マイクロ秒の最下位ビットを採用したが、これに限定されず、検出した時刻情報中の下位側ビットから所要ビットの抽出を行うようにしても良い。更に、乱数ビットｔａを、最下位側から最上位側のビット位置へ出力するようにしたが、最上位側から最下位側のビット位置へ出力するようにしたり、乱数ビットｔａが得られる毎に、先の値を最上位側へ或いは最下位側へビットシフトを行い、空いたビット位置に新規乱数ビットｔａを埋め込むようにするなど様々な手法を採用することができる。また、通信プロトコルとしてＵＤＰを用いることにより、パケットの抜け落ちが生じることがあり、良好な乱数生成を可能としているが、若干の性能低下を許容し、ＴＣＰ／ＩＰなどのプロトコルを用いることも可能である。更に、乱数ビットｔａを得るための演算は、式（１）及び式（２）に限らないことは勿論である。
【図面の簡単な説明】
【００３７】
【図１】本発明に係る乱数生成システムの実施例構成を示すブロック図。
【図２】本発明に係る乱数生成システムの実施例におけるパケット送信・返送手順を示す図。
【図３】本発明に係る乱数生成システムの実施例におけるパケット第１のコンピュータによる動作を示すフローチャート。
【図４】本発明に係る乱数生成システムの実施例におけるパケット第２のコンピュータによる動作を示すフローチャート。
【図５】本発明に係る乱数生成システムの実験に用いた実施例構成を示すブロック図。
【図６】本発明に係る乱数生成システムの実験に用いた実施例において生成された乱数列の検定結果を示す図。
【図７】本発明に係る乱数生成システムの実験に用いた実施例において得られたパケット到着時間間隔の出現率を示す図。
【符号の説明】
【００３８】
１  第１のコンピュータ
２  第２のコンピュータ
３  ネットワーク
２１  到達時刻情報取得手段
２２  乱数生成手段
【図１】
0004399407.tif 000005
【図２】
0004399407.tif 000006
【図３】
0004399407.tif 000007
【図４】
0004399407.tif 000008
【図５】
0004399407.tif 000009
【図６】
0004399407.tif 000010
【図７】
0004399407.tif 000011