(57)【要約】本発明は、乱数発生器によって生成される乱数をリアルタイムにテストする方法及び装置である。ランダムビットのストリームが前記乱数発生器を使用して生成され、生成されたランダムビットは、モノビットランレングス演算を受ける。モノビットランレングス演算において、連続するすべて０又はすべて１のビットのうちの一方を有する複数のサブシーケンスが識別される。前記モノビットランレングス計算の出力は、モノビットランレングスのレンジについて出現又は頻度の平均数を得るために、指数平均化に適用される。モノビットランレングス頻度は、予め決められた受容レンジと比較され、それによって平均モノビットラン頻度値のいずれかが、予め決められた回数より多く繰り返し予め決められた受容レンジ外となる場合、生成されたランダムビットが不十分にランダムであると決定される。
2005521156.tif 000002
【特許請求の範囲】
【請求項１】
乱数を生成する際にランダム性をテストする方法であって、
ランダムな２進ビットの連続するストリームを生成するステップと、
モノビットランレングス値のレンジについて平均モノビットラン頻度値を計算するために、生成された前記ランダムビットを、指数モノビットラン頻度演算に適用するステップと、  
前記指数モノビットラン頻度演算の出力を予め決められた受容レンジと比較することによって、前記生成されたランダムビットが十分にランダムであるかどうかを決定するステップと、
を含む方法。
【請求項２】
前記平均モノビットラン頻度値のいずれかが、予め規定された回数より多く繰り返し前記予め決められた受容レンジ外となる場合、前記生成されたランダムビットが不十分にランダムであると決定するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記平均モノビットラン頻度値のいずれかが、予め規定された回数より多く繰り返し前記予め決められた受容レンジ外となる場合、前記生成されたランダムビットが不十分にランダムであると通知するステップを更に含む、請求項１に記載の方法。
【請求項４】
前記平均モノビットラン頻度値のいずれかが、予め規定された回数より多く繰り返し前記予め決められた受容レンジ外となる場合、ランダムな２進ビットの新しい組を生成するステップを更に含む、請求項１に記載の方法。
【請求項５】
前記指数モノビットラン頻度演算は、連続するすべて０又はすべて１のビットのサブシーケンスをもつ複数のサブシーケンスを識別することを含む、請求項１に記載の方法。
【請求項６】
前記生成されたランダムビットが不十分にランダムであると決定される場合、後続のアプリケーションに対して前記生成されたランダムビットを否定するステップを更に含む、請求項１に記載の方法。
【請求項７】
乱数発生器によって生成される乱数を評価する方法であって、
（ａ）前記乱数発生器を使用してランダムビットのストリームを生成するステップと、
（ｂ）生成された前記ランダムビットをモノビットランレングス演算に適用するステップと、
（ｃ）モノビットランレングスのレンジについて平均モノビットラン頻度値を得るために、前記モノビットランレングス演算の出力を指数平均化に適用するステップと、
（ｄ）前記平均モノビットラン頻度値を予め決められた受容レンジと比較するステップと、
（ｅ）前記平均モノビットラン頻度値のいずれかが、予め規定された回数より多く前記予め決められた受容レンジ外となるかどうかを決定するステップと、
を含む方法。
【請求項８】
前記平均モノビットラン頻度値のいずれかが、前記予め規定された回数より多く前記予め決められた受容レンジ外となる場合、前記生成されたランダムビットは不十分にランダムであると決定するステップを更に含む、請求項７に記載の方法。
【請求項９】
前記平均モノビットラン頻度値のいずれかが前記予め決められた受容レンジ外となるまで、前記ステップ（ａ）−（ｅ）を繰り返すステップを更に含む、請求項７に記載の方法。
【請求項１０】
前記ステップ（ａ）−（ｅ）が前記予め規定された回数より多く繰り返される場合、不十分にランダムな数が生成されることを通知するステップを更に含む、請求項９に記載の方法。
【請求項１１】
前記ステップ（ａ）−（ｅ）が前記予め規定された回数より多く繰り返される場合、乱数の新しい組を生成するステップを更に含む、請求項９に記載の方法。
【請求項１２】
前記指数モノビットラン頻度演算は、連続するすべて０又はすべて１のビットの一方を有する複数のサブシーケンスを識別することを含む、請求項７に記載の方法。
【請求項１３】
乱数発生器によって生成される乱数を評価する装置であって、
２進ビットを含むランダムシーケンスを生成する手段と、
指数モノビットラン頻度演算に基づいて、生成された前記ランダムシーケンスが不十分にランダムであるかどうかを検出する手段と、
前記生成されたランダムシーケンスが不十分にランダムであると決定される場合、後続のアプリケーションに対する前記生成されたランダムシーケンスのフローを制御する手段と、を有し、
前記指数モノビットラン頻度演算は、前記生成されたランダムシーケンスに対し、モノビットランレングスのレンジについて平均モノビットラン頻度値を計算するために実施され、前記指数モノビットラン演算のいずれかの出力が、予め規定された回数より多く繰り返し予め決められた受容レンジ外となる場合、前記生成されたランダムシーケンスが不十分にランダムであると決定される、装置。
【請求項１４】
前記平均モノビットラン頻度値が、前記予め規定された回数より多く繰り返し前記予め決められた受容レンジ外となる場合、前記生成されたランダムシーケンスが不十分にランダムであるというアラーム信号を送信する手段を更に有する、請求項１３に記載の装置。
【請求項１５】
前記平均モノビットラン頻度値のいずれかが、前記予め規定された回数より多く繰り返し前記予め決められた受容レンジ外となる場合、ランダムビットの新しい組を生成する手段を更に有する、請求項１３に記載の装置。
【請求項１６】
前記指数モノビットラン頻度演算は、連続するすべて０又はすべて１のビットの一方を有する複数のサブシーケンスを識別することを含む、請求項１３に記載の装置。
【請求項１７】
命令のシーケンスを表すデータが記憶された機械読み取り可能な媒体であって、
前記命令のシーケンスは、プロセッサによって実行される場合、該プロセッサに、
ランダムビットの連続するストリームを処理し、
モノビットランレングスのレンジについて平均モノビットラン頻度値を計算するために、前記生成されたランダムビットに対し指数モノビットラン頻度演算を実施し、
前記指数モノビットラン頻度演算の出力を予め決められた受容レンジと比較することによって、前記生成された乱数が不十分にランダムであるかどうかを決定するようにさせる、
機械読み取り可能な媒体。
【請求項１８】
前記平均モノビットラン頻度値のいずれかが、前記予め決められた受容レンジ外にある場合、前記生成された乱数が不十分にランダムであると決定される、請求項１７に記載の機械読み取り可能な媒体。
【請求項１９】
前記プロセッサは更に、前記平均モノビットラン頻度値のいずれかが前記予め決められた受容レンジ外にある場合、ランダムビットの新しい組を処理するように動作する、請求項１７に記載の機械読み取り可能な媒体。
【請求項２０】
前記指数モノビットラン演算は、連続するすべて０又はすべて１のビットの一方を有する複数のサブシーケンスを識別することを含む、請求項１７に記載の機械読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、乱数発生器の分野に関し、特に真の２進ランダムシーケンスを生成するデジタルデータ処理装置及び方法に関する。
【背景技術】
【０００２】
乱数発生器は、このコンピュータ時代において根本的に重要である。真にランダムなシーケンスは、実アプリケーションにおいて生成するのが困難である。例えば、乱数発生器のハードウェアコンポーネントにおいて、それがある時間期間にわたって一連の１及び０を生成するとき、一般に熱が生成される。１のビットを生成することは、０のビットよりも多くのパワーを消費しうる。このように、１のビットの長いシーケンスが生成される場合、電気回路は熱くなる。こうして、回路が熱いときにその回路が１のビットを生成する場合、回路は、「ラッチアップ」し、たいていは１のビットを生成するが、まれに０のビットを生成する。回路が熱いときに０のビットが生成される場合、異なる効果が生じることがある。この場合、１のビットの長いサブシーケンスは、非常に珍しくなり、非ランダムな特性を構成する。時折生じる長いサブシーケンスが長い０又は１の等しいビットからなるランダムシーケンスにおいて、偏った０／１頻度のエラーは、セキュリティを侵すカタストロフィックな結果をもたらす。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従って、ランダム性テストを行う場合、ハードウェアのタンパリング及びコンポーネント不良の双方の検出が必要である。従来のランダム性テストは、例えばカイ２乗テスト、デルタテストなどの幅広い統計的なテストを通じて、生成された乱数のシーケンスに対して実施される。しかしながら、このようなテストは、大量の計算処理パワーを必要とするので、リアルタイムに実施されるには非常に高価である。
【０００４】
本発明は、上述の問題を克服するとともに、生成された乱数への認可されないパーティによる暗号解析の影響を少なくすることを確実にするために、オンラインランダム性テストを行う方法及び装置を提供することによって更なる利益をもたらす。
【課題を解決するための手段】
【０００５】
本発明の１つの見地によれば、ランダム性をテストする方法が提供される。方法は、ランダムな２進ビットの連続するストリームを生成するステップと、モノビット（monobit、単一ビット）ランレングス値のあるレンジについて平均モノビットラン頻度値を計算するために、生成されたランダムビットを指数モノビットラン頻度演算に適用するステップと、指数モノビットラン頻度演算の出力を、予め決められた受容レンジと比較することによって、生成されたランダムビットが十分にランダムであるかどうかを決定するステップと、を含み、指数モノビットラン頻度演算は、連続するすべて０又は１のビットのサブシーケンスの一方を有する複数のサブシーケンスを識別することを含む。方法は更に、平均モノビットラン頻度値のいずれかが、予め規定された回数より多く繰り返し予め決められた受容レンジ外となる場合、生成されたランダムビットが不十分にランダムであると決定するステップと、平均モノビットラン頻度値のいずれかが、予め規定された回数より多く繰り返し予め決められた受容レンジ外となる場合、生成されたランダムビットが不十分にランダムであることを通知するステップと、平均モノビットランカウントのいずれかが予め規定された回数より多く繰り返し予め決められた受容レンジ外となる場合、ランダムな２進ビットの新しい組を生成するステップと、生成されたランダムビットが不十分にランダムであると決定される場合、後続のアプリケーションに対して生成されたランダムビットを否定するステップと、を含む。
【０００６】
本発明の別の見地によれば、乱数発生器によって生成される乱数を評価する方法が提供される。方法は、（ａ）乱数発生器を使用してランダムビットのストリームを生成するステップと、（ｂ）生成されたランダムビットをモノビットランレングス演算に適用するステップと、（ｃ）モノビットランレングスのレンジについて平均モノビットラン頻度値を得るために、モノビットランレングス演算の出力を指数平均化に適用するステップと、（ｄ）平均モノビットラン頻度値を予め決められた受容レンジと比較するステップと、（ｅ）平均モノビットラン頻度値のいずれかが、予め規定された回数より多く予め決められた受容レンジ外となるかどうかを決定するステップと、を含む。方法は更に、平均モノビットラン頻度値のいずれかが、予め決められた受容レンジ外になるまで、ステップ（ａ）−（ｅ）を繰り返すステップと、ステップ（ａ）−（ｅ）が予め規定された回数より多く繰り返される場合、不十分にランダムな数が生成されることを知らせるステップと、を含む。平均モノビットラン頻度値のいずれかが予め規定された回数より多く予め決められた受容レンジ外となる場合、生成されたランダムビットは不十分にランダムであると考えられる。
【０００７】
本発明の別の見地によれば、乱数発生器によって生成される乱数を評価する装置が提供される。装置は、２進ビットを含むランダムシーケンスを生成する手段と、指数モノビットラン頻度演算に基づいて、生成されたランダムシーケンスが不十分にランダムであるかどうかを検出する手段と、生成されたランダムシーケンスが不十分にランダムであることが決定される場合、後続のアプリケーションに対する生成されたランダムシーケンスのフローを制御する手段と、を有し、モノビットランレングスのレンジについて平均数モノビットラン頻度値を計算するために、生成されたランダムシーケンスに対し、指数モノビットラン頻度演算が実施され、指数モノビットラン演算のいずれかの出力が、予め規定された回数より多く繰り返し予め決められた受容レンジ外となる場合、生成されたランダムシーケンスが不十分にランダムであると決定される。装置は更に、平均モノビットラン頻度値のいずれかが予め規定された回数より多く繰り返し予め決められた受容レンジ外となる場合、生成されたランダムシーケンスが不十分にランダムであるというアラーム信号を送信する手段と、平均モノビットラン頻度値の頻度が予め規定された回数より多く繰り返し予め決められた受容レンジ外となる場合、ランダムビットの新しい組を生成する手段と、を有する。
【０００８】
更に別の見地は、本発明が、特定のアプリケーションにとって望ましいハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組み合わせにおいて実現されうることである。
【０００９】
更に、本発明は、簡単であり、信頼性が高く、安価なインプリメンテーションにおいて実現されることができる。
【００１０】
当業者には、これら及び他の利益が、添付の図面とともに以下の詳細な説明を読むことにより明らかになるであろう。
【発明を実施するための最良の形態】
【００１１】
以下の説明において、限定する目的ではなくむしろ説明の目的で、特定のアーキテクチャ、インタフェース、技法、その他のような特定の詳細が、本発明の完全な理解を与えるために記述されている。しかしながら、当業者には、本発明が、これらの特定の詳細から逸れる他の実施例において実施されうることが明らかであろう。簡潔さ及び明瞭さの目的で、不必要な詳細により本発明の説明を分かりにくくしないように、よく知られた装置、回路及び方法の詳細な説明は省かれている。
【００１２】
図１は、本発明の例示の実施例による乱数生成システム１０の簡略化されたブロック図を示している。システム１０は、一連の乱数を生成する乱数発生器（ＲＧ）１２、検出器１４及びスイッチ１６を有する。「乱数」は、所望のランダム性を含む、２進信号の任意のシーケンス、信号のガウス分布若しくは任意の他の分布、０と１との間の数を表す信号のシーケンス、十進数を表す信号のシーケンス又は任意の他の形式を表す。
【００１３】
動作中、乱数発生器１２は、一連の乱数を発生するように動作する。この開示において、乱数発生器１２は、任意の通常のやり方又は通常でないやり方で２進ビットのシーケンスに変換されることができる信号を生成するいかなる装置をも意味することに留意すべきである。乱数が生成されると、検出器１４は、予め決められた基準（以下に説明する）に従って、乱数生成器１２が十分にランダムなシーケンスを生成しているかどうかを検出する。生成された乱数が不十分にランダムであると検出器１４によってみなされる場合、スイッチ１６は、生成された乱数のフローを止める。しかしながら、生成された乱数が真にランダムであると決定される場合、スイッチ１６は、乱数発生器１２によって供給された乱数を使用する任意の回路、システム、プロセス、ギャンブリングアプリケーション、シミュレーション、統計サンプリング、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎキー交換等の後続のアプリケーションに対し、生成された乱数を与える。こうして、スイッチ１６は、暗号システム、オーディオ若しくはビデオノイズ発生器、コンピュータプログラム又は他の装置及びプロセスへの入力を表すことができる。
【００１４】
ここで、図２及び図３を参照して、生成された乱数が十分にランダムであるかどうかを決定することに関して詳細に説明する。
【００１５】
図２を参照して、本発明の一実施例により、生成された乱数が十分にランダムであることを確実にするために、乱数発生器１２が動作している間に乱数がリアルタイムにテストされる。動作中、ランダムビットの連続するストリームが、乱数発生器１２によって生成される。同時に、検出器１４は、ランダムビットストリームのモノビットラン頻度を計算する。具体的には、検出器１４は、連続する０又は１のいずれかを有する長さｋのすべてのサブシーケンスを検出する。検出モード中、新しいランダムビットが生成されるたびに、新しいビットが前のモノビットランを続ける（延ばす）かどうか調べられる。新しいビットが前のビットと異なる場合、ランレングスｋが決定される。図２に示すように、例えば、ランダムビットの連続するストリームが生成されるとき、３つの連続する０であるＳ３（Ｐ６、Ｐ７及びＰ８によって示される）及び４つの連続する１であるＴ４（Ｐ２、Ｐ３、Ｐ４及びＰ５によって示される）が、検出器１４によって観察される。
【００１６】
実施例において、モノビットランカウンティングプロセスは連続的に走る。このように、カウンタ又はアキュムレータＡは、オーバフローを避けるために周期的にクリアされなければならない。このために、本発明において指数平均化が利用される。指数平均化において、アキュムレータＡは、カウンティング加算が実施される前に特定の０＜α＜１ファクタにより低くされるので、大きくなりすぎることがない。すなわち、記憶及び実行時間を節約するために、本発明において自己相関計算に対する指数平均化が適用される。指数平均化は、平均がアキュムレータＡにおいて更新されるたびに、古い平均された値が逓減効果をもたらすという特性を有する。本発明の技法によって実現されうるさまざまなカウンティング方法があることに留意すべきである。しかしながら、後述するように、指数平均化が使用されることが好ましい。
【００１７】
指数平均化は、以下のようにして動作する。数値ｂが読まれるたびに、０と１との間にあるファクタα（０＜α＜１）が、アキュムレータＡに乗じられ、その値にｂが加算される：
Ａｎｅｗ＝α・Ａｏｌｄ＋ｂ
有用な平均化効果を与えるために、αの値は、１に近くなるように選択される。
α ＝ １ − １／ｎ，ｎ＞＞１
この場合、
【数１】
2005521156.tif 000003
であり、平均されたビットの半減期は、
【数２】
2005521156.tif 000004
である。ｎステップののち、最も古い平均された値の重みは、
【数３】
2005521156.tif 000005
になる。ここで、ｅは自然対数の底（オイラー定数）であり、従ってタームｎは、平均された値の自然寿命（natural life）と呼ばれることができる。平均されるべきすべての値が１である場合、アキュムレータ値は、
１ ＋ α ＋ α２ ＋ ... ＝ １／（１−α） ＝ ｎ
であり、すべてのビットが０である場合、アキュムレータ値は０である。指数平均の期待値は、個々の確率変数の期待値の指数平均であることに留意されたい。それらが、均一に分布する２進ビットである場合、期待値は、
１／２ ＋ １／２α ＋ １／２α２ ＋ ... ＝ ｎ／２
である。
【００１８】
上述したように、アキュムレータは特定のファクタ０＜α＜によって減らされるので、指数平均化は、カウンタをクリアする役目を果たす。こうして、アキュムレータは、演算モード中に大きくなりすぎることがない。一旦指数平均化がそれぞれのアキュムレータについて実施されると、指数平均化の値は、予め決められた受容レンジと比較される。すなわち、それぞれのアキュムレータの値を予め決められた受容レンジ値と比較することによって、生成された乱数パターンが実質的にランダムであるかどうかが決定される。いずれかのアキュムレータの値が、平均化プロセス中に予め決められたレンジ値外となる場合、生成された乱数は、予測不可能ではないと推測される。ここで、テストが繰り返し失敗するときにユーザに知らせるように、閾値がセットされてもよい。
【００１９】
予め決められた受容レンジを導き出すことの理解を助けるために、以下の数式が使用される。長さｎのすべての２ｎビットシーケンスのリストにおいて、任意の固定のビット位置２、３、...、ｎ−ｋで始まる長さｋの２ｎ−ｋ−２個のすべて「０」のサブシーケンスがある。こうして、長さｎのあるビットシーケンスの中ほどには、ビット０の（ｎ−ｋ−１）・２ｎ−ｋ−２個の長さｋのラン（連）がある。ある長さｎのビットシーケンスの初めに、２ｎ−ｋ−１個のすべて「０」のサブシーケンスがある。同じ数のサブシーケンスが終わりにも発生し、これによって合計２ｎ−ｋ個になる。すべてあわせると、ｋ≦ｎ−２の場合、長さｎのビットシーケンス中に（ｎ−ｋ＋３）・２ｎ−ｋ−２個の長さｋのランがある。ｋ＝ｎ−１の場合、このようなサブシーケンスは２つあり、ｋ＝ｎの場合、このようなサブシーケンスは１つだけである。ｋが十分に小さい場合、ランの数は長さｎのシーケンスの数より大きくなりうる。同じことがビット「１」の長さｋのランの数についても当てはまることに留意されたい。
【００２０】
ｎ個のビットを調べる場合、ビット「０」の長さｋのランの期待される数は（ｎ−ｋ＋３）／２ｋ＋２であり、ビット「１」の長さｋのランの期待される数も同じである。従って、予め決められた受容レンジは、（ｎ−ｋ＋３）／２ｋ＋２を中心とする境界をセットすることによって選択されることができる。こうして、外側の境界は、次のように表される。［（ｎ−ｋ＋３）／２ｋ＋２−ａ，（ｎ−ｋ＋３）／２ｋ＋２＋ｂ］。正確な境界は、理想のモノビットラン頻度が得られる乱数の既知の良好なソースによる幅広いシミュレーションから得られるデータに基づいて、選択的に調整されることができる。このようなランダムシーケンスは市販されており、例えば「www.fourmilab.ch/hotbits」及び「lavarand.sgi.com」を含むさまざまなウェブソースからダウンロードされることができる。こうして、テストにおいて使用される実際のレンジは、生成されたランダムシーケンスが認可されないパーティにとって予測可能かどうかに関して異なるセンシティビティ（感度）が選択されることができるように、オペレータによって選択的にセットされる。
【００２１】
図３は、本発明によるランダムシーケンスの統計的な品質をテストするための演算ステップを示すフローチャートである。矩形の要素はコンピュータソフトウェア命令を示し、ひし形の要素は、矩形のブロックによって表されるコンピュータソフトウェア命令の実行に影響を及ぼすコンピュータソフトウェア命令を表す。代替例として、処理及び決定ブロックは、例えばデジタル信号プロセッサ回路又は特定用途向け集積回路（ＡＳＩＣ）のような機能的に等価な回路によって実施されるステップを表す。多くのルーチンプログラム要素、例えばループ及び変数の初期化及び一時変数の使用は図示されていないことに留意すべきである。ここに別段指示しない限り、記載するステップの特定のシーケンスは説明的なものにすぎず、本発明の精神から逸脱することなく変更されることができることが、当業者によって認められるであろう。
【００２２】
ランダム性テストは、ステップ１００にて、乱数発生器１２によって生成されたランダムな２進ビットの連続するストリームに対して作用する。ステップ１２０にて、生成されたランダムビットは、モノビットラン決定プロセスを受け、モノビットランの長さｋが、アキュムレータに記憶される。モノビットランが見つけられるたびに、特定のモノビットランレングスがどれくらいの頻度で発生したかをカウントする指数平均モノビットラン頻度値が更新される。すべての指数平均モノビットラン頻度値は、ファクタα（０＜α＜１）によって低減され、モノビットランレングスｋに対応するもののみが、１だけ増やされる。
【００２３】
ステップ１４０にて、指数平均演算が、それぞれのアキュムレータにおいて実施され、それによって古い平均モノビットラン頻度値は逓減効果をもたらす。指数平均演算の後のこれらの平均モノビットラン頻度値は、ステップ１６０にて、それらの個々の予め決められた受容レンジと比較される。それぞれのアキュムレータＡにおける値のいずれかが、予め決められた受容レンジ外にある場合、ステップ２００にて、真にランダムなシーケンスにおいて期待されないこのようなパターンが検出されたと決定され、カウンタが１だけ増やされる。他の場合、カウンタは、ステップ１８０にてリセットされ、更なる乱数を処理するステップ１００に戻る。ステップ２２０にて、カウンタの値が閾値より大きい場合、ステップ２４０にて、生成された乱数が十分にランダムでないという通知が送信される。代替例として、スイッチ１６は、後続のアプリケーションに対する乱数のフローを止めるように非活動化されることができ、又は生成された乱数は捨てられることができる。ステップ２４０にて、新しい乱数を生成するプロセス全体が始められることができる。最後に、ステップ２２０にてカウンタの値が閾値を越えない場合、処理はステップ１００に戻される。
【００２４】
上述したさまざまなステップは、アプリケーションプログラム内に組み込まれる機能にそれらのステップをプログラムすることによって実現されることができ、当分野のプログラマは、例えばＣ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｊａｖａ、Ｐｅｒｌ、Ｃ＋＋、などの言語の通常のプログラミング技法を使用してそれらを実現することができる。一具体例において、図３に記載する方法は、次のように（Ｃプログラミング言語を使用して）構成されることができる。説明を簡単にするため、浮動小数点演算を使用してテストが実現される。
【００２５】
付記：ＭＳ  Ｖｉｓｕａｌ  Ｃ  ｃｏｄｅ
2005521156.tif 000006
2005521156.tif 000007
2005521156.tif 000008
【００２６】
本発明の好ましい実施例が、図示され記載されているが、本発明の真の範囲から逸脱することなく、さまざまな変更及び変形が施され、等価物がその構成要素に取って代わることができることが当業者によって理解されるであろう。特に、指数平均化に代わって、通常の平均化、移動平均（running average）、リスタートされた平均（restarted average）等の他のタイプが使用されることが可能である。更に、中心的範囲から逸脱することなく本発明の特定の状況及び教示に適応化するために、多くの変形が施されることができる。従って、本発明は、本発明を実行するために考えられる最良の形態として開示される特定の実施例に限定されるものではなく、本発明は、添付の特許請求の範囲内にあるすべての実施例を含むことが意図される。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施例による乱数生成モジュールの簡略ブロック図。
【図２】本発明の一実施例による乱数のシーケンスに実施されるランダム性テストを示す図。
【図３】本発明の一実施例による生成された乱数の統計をテストする演算ステップを示すフローチャート。
【図１】
2005521156.tif 000009
【図２】
2005521156.tif 000010
【図３】
2005521156.tif 000011
【国際調査報告】
2005521156.tif 000012
2005521156.tif 000013
2005521156.tif 000014
2005521156.tif 000015
2005521156.tif 000016
2005521156.tif 000017