(57)【要約】【課題】  本発明はランダム数発生器を提供する。【解決手段】  候補数値を複数含み、複数の候補アドレスにそれぞれ対応した候補数値アレイを最少１つ発生させる第一処理モジュール、最少１つの発生多項式により、複数の候補アドレスの内のいずれかである所定アドレスを最少１つ発生させるアドレス発生モジュール、前記第一処理モジュールと前記アドレス発生モジュールに接続し、前記第一処理モジュールから伝送する最少１つの前記候補数値アレイの中から最少１つの所定アドレスに対応する候補数値を選択してランダム数とする第二処理モジュールを有する。【選択図】図１
2008016005.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの候補数値アレイを発生させるのに用いられ、前記の少なくとも一つの候補数値アレイは複数個の候補数値を含み、複数個の候補アドレスにそれぞれ対応する第一処理モジュールと、
少なくとも一つの発生多項式により少なくとも一つの所定アドレスを発生させ、前記の少なくとも一つの所定アドレスはそれぞれ前記複数個の候補アドレスのうちの一候補アドレスであるアドレス発生モジュールと、
前記第一処理モジュールと前記アドレス発生モジュールに接続し、前記第一処理モジュールの前記の少なくとも一つの候補数値アレイのうちから前記の少なくとも一つの所定アドレスに対応する候補数値を選択しランダム数とする第二処理モジュールを具備することを特徴とするランダム数発生器。
【請求項２】
前記アドレス発生モジュールは前記第一処理モジュールに嵌め込まれ、前記第一処理モジュールはホスト処理モジュールであり、前記第二処理モジュールはスレーブ処理モジュールであることを特徴とする請求項1に記載するランダム発生器。
【請求項３】
前記アドレス発生モジュールは前記第二処理モジュールに嵌め込まれ、前記第二処理モジュールはホスト処理モジュールであり、前記第一処理モジュールはスレーブ処理モジュールであることを特徴とする請求項１に記載するランダム発生器。
【請求項４】
前記第一処理モジュールは複数個の候補数値アレイを発生させ、それぞれの候補数値アレイは複数個の候補数値を含み、前記複数個の候補アドレスにそれぞれ対応し、前記第二処理モジュールは前記第一処理モジュールからの最新の候補数値アレイのうち、前記少なくとも一つの所定アドレスに対応する候補数値を選択しランダム数とすることを特徴とする請求項１に記載するランダム発生器。
【請求項５】
前記アドレスモジュールは少なくとも一つの発生多項式により複数個の所定アドレスを発生させ、前記複数個の所定アドレスはそれぞれ前記複数個の候補アドレスのうちの一候補アドレスであり、前記第二処理モジュールは前記第一処理モジュールからの前記少なくとも一つの候補数値アレイのうち、前記複数個の所定アドレスに対応する候補数値を選択しランダム数とすることを特徴とする請求項１に記載するランダム発生器。
【請求項６】
前記アドレスモジュールは複数個の発生多項式により複数個の所定アドレスを発生させることを特徴とする請求項5に記載するランダム発生器。
【請求項７】
前記第一処理モジュールが前記の少なくとも一つの候補数値アレイを発生させると、前記の少なくとも一つの候補数値アレイのうちの候補数値を配列し直すことを特徴とする請求項１に記載するランダム発生器。
【請求項８】
前記第二処理モジュールはデジタル映像のハーフ-トーン処理モジュールであり、発生するランダム数の補正量の誤差によるパターンに用いられることを特徴とする請求項１に記載するランダム発生器。
【請求項９】
前記第一処理モジュールと前記第二処理モジュールのうちの少なくとも一つの処理モジュールは通信モジュールであり、発生するランダム数により暗号化/復号化を行うのに用いられることを特徴とする請求項１に記載するランダム発生器。
【請求項１０】
前記第一処理モジュールは通信モジュールであり、発生する候補数値アレイによりランダム数を発生させ暗号化を行うのに用いられ、前記第二処理モジュールもまた通信モジュールであり、前記第一処理モジュールからの最新の候補数値アレイによりランダムを発生させ復号処理を行うのに用いられることを特徴とする請求項１に記載するランダム発生器。
【請求項１１】
前記少なくとも一つの候補数値アレイを発生させ、前記の少なくとも一つの候補数値アレイは複数個の候補数値を含み、複数個の候補アドレスにそれぞれ対応する工程と、
少なくとも一つの発生多項式により少なくとも一つの所定アドレスを発生させ、前記少なくとも一つの所定アドレスはそれぞれ前記の複数個の候補アドレスのうちの一候補アドレスである工程と、
前記少なくとも一つの候補数値アレイのうちから少なくとも一つの所定アドレスに対応する候補数値を選択しランダム数とする工程を具備することを特徴とするランダムの発生方法。
【請求項１２】
さらに、第一処理モジュールと第二処理モジュールを提供し、前記第一処理モジュールと前記第二処理モジュールはハードウェア装置或いはソフトウェアモジュールでありうる工程と、
前記第一処理モジュールにより前記少なくとも一つの候補数値アレイを発生させる工程と、
前記第一処理モジュールと前記第二処理モジュールを利用し、前記の少なくとも一つの発生多項式によって前記の少なくとも一つの所定アドレスを発生させる工程と、
前記第二処理モジュールが前記第一処理モジュールの前記の少なくとも一つの候補数値アレイから、前記の少なくとも一つの所定アドレスに対応する候補数値を選択しランダム数とする工程を含むことを特徴とする請求項１１に記載するランダムの発生方法。
【請求項１３】
前記第二処理モジュールはデジタル映像のハーフ-トーン処理モジュールであり、発生するランダム補正量の誤差によるパターンに用いられることを特徴とする請求項１２に記載するランダムの発生方法。
【請求項１４】
前記第一処理モジュールと前記第二処理モジュールのうちの少なくとも一つの処理モジュールは通信モジュールであり、発生するランダム数字により暗号化/復号化を行うのに用いられることを特徴とする請求項１２に記載するランダムの発生方法。
【請求項１５】
前記第一処理モジュールは通信モジュールであり、発生する候補数値アレイによりランダムを発生させ暗号化を行うのに用いられ、前記第二処理モジュールも通信モジュールであり、前記第一処理モジュールからの最新の候補数値アレイによりランダム数字を発生させ復号処理を行うのに用いられることを特徴とする請求項１２に記載するランダムの発生方法。
【請求項１６】
前記第一処理モジュールが前記の少なくとも一つの所定アドレスを発生させるとき、前記第一処理モジュールはホスト処理モジュールであり、前記第二処理モジュールはスレーブ処理モジュールであるか、或いは前記第二処理モジュールはホスト処理モジュールであり、前記第一処理モジュールはスレーブ処理モジュールであることを特徴とする請求項１１に記載するランダムの発生方法。
【請求項１７】
前記の少なくとも一つの候補数値アレイを発生させる工程は、さらに複数個の候補数値アレイを発生させる工程を有し、それぞれの候補数値アレイに複数個の候補数値を含み、前記複数個の候補アドレスにそれぞれ対応し、前記の少なくとも一つの所定アドレスの候補数値を選択する工程は、さらに最新の候補数値アレイのうちから、前記の少なくとも一つの所定アドレスに対応する候補数値を選択しランダム数とする工程を含むことを特徴とする請求項１１に記載するランダムの発生方法。
【請求項１８】
前記の少なくとも一つの所定アドレスを発生させる工程は、さらに前記の
少なくとも一つの発生多項式により複数個の所定アドレスを発生させ、前記
の複数個の所定アドレスはそれぞれ前記の複数個の候補アドレ
スのうちの一候補アドレスであり、前記の少なくとも一つの所定アドレスの候
補数値を選択する工程は、さらに前記の少なくとも一つの候補数値アレイのう
ちから、前記複数個の所定アドレスに対応する候補数値を選択しランダム数と
する工程を含むことを特徴とする請求項１１に記載するランダムの発生方法。
【請求項１９】
前記の複数個の所定アドレスを発生させる工程は、さらに複数個の発生多項式により前記複数個の所定アドレスを発生させる工程を含むことを特徴とする請求項１１に記載するランダムの発生方法。
【請求項２０】
前記の少なくとも一つの候補数値アレイを発生させる工程は、さらに前記の少なくとも一つの候補数値アレイのうちの候補数値を配列し直す工程を含むことを特徴とする請求項１１に記載するランダムの発生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理に関し、特にランダム数発生器とランダム数発生方法についてである。
【背景技術】
【０００２】
ランダム数の発生方法は永遠の課題である。我々が予測できない現象もしくは不規則な現象（例えば、寄せ集め情報）をシュミレーションする際、ランダム数を用いてこれらの現象に近似するデータを発生させることができる。一般に、ランダム数発生装置もしくはランダム数発生関数についての最低限の条件は、毎回発生するランダム数値がどれも規則性を持たないことであり、そのことが上述の予測できない現象もしくは不規則な現象という特性を満たすのである。
【０００３】
上述のランダム数発生装置もしくはランダム数発生関数の初期値は通常ランダム数序列のシードによって決定し、特別な需要に合わせる。例えば、同じ二つのランダム数の序列によってある演算式の正確さを検証する。この状況において、同じシードを利用することで発生する二つのランダム数序列は両方同じでありまたこれら二つのランダム数序列はそれぞれいつ発生しようと、両方同じである。一方、ランダム数序列のシードを変えることによって、通常異なるランダム数の序列を発生させることが可能である。
【０００４】
既存のランダム数発生の方法において、ランダム数序列のシードを変えることで異なるランダム数序列を発生させることができるが、これらのランダム数序列は通常周期性を持つという問題がある。ある周期性を持つランダム数序列をあるデータ処理に用いる際、これらのデータ処理に問題が生じる可能性があり、これらのデータ処理の効果に悪影響を及ぼす。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的の一つはランダム数発生器とランダム数発生方法を提供することで、上述の問題を解決することである。
【課題を解決するための手段】
【０００６】
本発明の好ましい実施例の提供するランダム数発生器は、候補数値を複数含み、複数の候補アドレスにそれぞれ対応した候補数値アレイを最少１つ発生させる第一処理モジュール、最少１つの発生多項式（generator  polynomial）により、複数の候補アドレスの内のいずれかである所定アドレスを最少１つ発生させるアドレス発生モジュール、前記第一処理モジュールと前記アドレス発生モジュールに接続し、前記第一処理モジュールから伝送する最少１つの前記候補数値アレイの中から最少１つの所定アドレスに対応する候補数値を選択してランダム数字とする第二処理モジュールを有する。
【０００７】
本発明の提供する上述のランダム数発生器は同時に、対応するランダム数発生方法も提供する。ランダム数発生方法は、候補数値を複数含み、複数の候補アドレスにそれぞれ対応する候補数値アレイを最少１つ発生させる：最少１つの発生多項式により、複数の候補アドレスの内のいずれかである所定アドレスを最少１つ発生させる：最少１つの前記候補数値アレイの中から最少１つの所定アドレスに対応する候補数値を選択してランダム数字とする。
【発明を実施するための最良の形態】
【０００８】
図１は本発明の実施例の提供するランダム数発生器１００の概略図である。ランダム数発生器１００は２つの処理モジュール１１０、１２０、アドレス発生モジュール１３０を含み、その内の本実施例のアドレス発生モジュール１３０は処理モジュール１１０に嵌め込まれ、またこの処理モジュール１１０はホスト（主）処理モジュールであり、処理モジュール１２０はスレーブ（従属）処理モジュールである。
【０００９】
本発明によると、処理モジュール１１０は最少一つの候補数値アレイＣＡを発生させ、かつこの最少一つの候補数値アレイは複数個の候補数値を含み、前記複数個の候補アドレスAdd-1、Add-2、…、Add-N（未表記）にそれぞれ対応し、ある候補アドレスを指定することで、ある候補数値を選択できる。図１のように、本実施例の処理モジュール１１０は複数の候補数値アレイCA11、CA12、CA13、…などのどの候補数値アレイも複数の候補数値を含み、それぞれ上述の候補アドレスAdd-1、Add-2、…、Add-Nに対応する。このほか、処理モジュール１１０がこれらの候補数値アレイCA11、CA12、CA13、…などを発生させるとき、これらの候補数値アレイの内の候補数値を並び直す。
【００１０】
本発明によると、アドレス発生モジュール１３０は少なくとも一つの発生多項式により少なくとも一つの所定アドレスを発生させ、前記少なくとも一つの所定アドレスはそれぞれ候補アドレスAdd-1、Add-2、…、Add-Nのうちの一つの候補アドレスである。本実施例において、アドレスモジュール１３０は複数個の発生多項式によるもので、特に複数個の発生多項式によってＭ個の所定アドレスAdd-I(1)、Add-I(2)、…、Add-I(M)を発生させ、その内の発生多項式の係数は複数桁の基本データとなり得、代表の所定アドレスを発生させる指標である。上述のＭは１より大きい整数（自然数）であり、かつI(m)（m = 1、2、…、M）は1、2、…、Nの内の一つを現す。つまり、これらの所定アドレスAdd-I(1)、Add-I(2)、…、Add-I(M)はいずれも候補アドレスAdd-1、Add-2、…、Add-Nの内の一つである。
【００１１】
処理モジュール１２０が処理モジュール１１０の候補数値アレイCA11、CA12、CA13、…から、Ｍ個の所定アドレスAdd-I(1)、Add-I(2)、…、Add-I(M)に対応する候補数値を選択し、ランダム数とする。この動作原理は下記に説明する。
【００１２】
処理モジュール１２０はまず処理モジュール１１０から伝送する第一候補数値アレイCA11の中から、所定アドレスAdd-I(1)に対応する候補数値を選択し、ランダム数とする。候補数値アレイCA11は複数使用が可能で、例えば、K1回使用でき、また、処理モジュール１２０は候補数値アレイCA11の中から、所定アドレスAdd-I(1)、Add-I(2)、…、Add-I(K1)に対応する候補数値を選択し、ランダム数とする。それから、処理モジュール１１０と１２０の中の一方が現在使用する候補数値アレイの入れ替えを決める。本実施例ではホスト処理モジュール（すなわち処理モジュール１１０）が決定を担当する。そして、処理モジュール１２０は候補数値アレイCA12の中から、所定アドレスAdd-I(K1+1)、Add-I(K1+2)、…、Add-I(K1+K2)に対応する候補数値を選択し、ランダム数とする。本実施例のある選択の実施によると、上述の作業は最新の候補数値アレイまでの中から、所定アドレスAdd-I(M)に対応する候補数値を選択し、ランダム数とすることができる。上述の作業は最新の候補数値アレイにより処理モジュール１１０から処理モジュール１２０までオーバーライドすることが可能で、最新の所定アドレスにより新しいランダム数を発生させ続ける。異なる多項式の形成により異なる循環周期の所定アドレスを発生させることができるので、上述の作業を通して、本発明は既存技術のランダム数アレイ中に発生する周期性の問題を解決することができる。本実施例によると、処理モジュール１２０はデジタル映像のハーフ-トーン処理モジュールであり、発生するランダム数の補正量の誤差によるパターンに用いられる。
【００１３】
本実施例のある変化は、処理モジュール１２０は通信処理モジュールであり、発生するランダム数により暗号化/復号化を行い、その中の上述のオーバーライド構造は暗号化された通信内容を解読しにくくする。本実施例のもう一つの変化は、処理モジュール１１０と１２０はそれぞれホストコンピューターとスレーブコンピューターに設置され、その処理モジュール１１０は通信処理モジュールであり、発生する候補数値アレイによりランダム数を発生させ、暗号化を行うのに用いられ、処理モジュール１２０もまた通信モジュールであり、処理モジュール１１０からの最新の候補数値アレイよりランダム数を発生させ、復号処理を行うのに用いられる。
【００１４】
本実施例のもう一つの変化例は、K1、K2、K3、…などの回数は共同の予定値により決まり、その内K1、K2、K3、…などの回数は互いに等しい。本実施例のもう一つの変化例の、K1、K2、…などの回数はランダムに定義された数値である。本発明はまた、上述のK1、K2、…などの回数のランダム定義の作業により、既存技術のランダムアレイ中に発生する周期性の問題を解決する。
【００１５】
本発明のもう一つの実施例はまた、上述の実施例の変化の例であり、その内現在使用している候補数値アレイを取り替える構造（例えば、処理モジュール１１０や１２０）は時間係数により、最新の候補数値アレイを処理モジュール１１０から処理モジュール１２０までオーバーライドするかどうかを決定する。本実施例のもう一つの変化の例は、最新の候補数値アレイは周期的に処理モジュール１１０から処理モジュール１２０までオーバーライドする。本実施例のもう一つの変化の例は、最新の候補数値アレイはランダムに処理モジュール１１０から処理モジュール１２０までオーバーライドされる。本発明は上述のランダムなオーバーライド作業により、従来技術におけるランダムアレイ中に発生する周期性の問題を解決する。
【００１６】
図１の示す実施例の変化の例は、アドレス発生モジュール１３０は処理モジュール１２０に埋め込まれており、この状態において、処理モジュール１２０はホスト処理モジュールであり、処理モジュール１１０はスレーブ処理モジュールである。
【００１７】
図１の示す実施例のもう一つの変化の例は、アドレス発生モジュール１３０は処理モジュール１１０と１２０に設置されており、処理モジュール１１０もしくは処理モジュール１２０に埋め込まれていない。
【００１８】
図２は本発明の実施例のランダム数発生方法が提供する処理モジュール３１０と３２０の概略図である。本実施例は図１が示す実施例の変化であり、その処理モジュール３１０と３２０はプログラムコード３００の内の二つのモジュール（例えは、二つのプログラム、または、物質が方程式を導き出す二つの物質）をそれぞれ表し、また、処理モジュール３１０と３２０の作業は処理モジュール１１０と１２０にそれぞれ対応し、かつ本実施例の候補数値アレイCA31、CA32、CA33、…等は上述の候補数値アレイCA31、CA32、CA33、…等にそれぞれ対応している。つまり、本発明の図１の実施例の示すランダム数発生方法は、ハードウェア（例えば、ランダム数発生器１００の内の各モジュール１１０、１２０、１３０）を利用して実施することも、ソフトウェア（例えば、プログラムコード３００の内の二つのソフトモジュールである処理モジュール３１０と３２０）を使用して実施することもできる。
【００１９】
本発明は、ソフトウェアを用いて上述のランダム数発生方法を実施し、上述のアドレス発生モジュール１３０の作業に対応する処理モジュール３１９と３２０の内の一方を整合させる。本実施例においては、処理モジュール３１０に整合している。その他については重複するのでここで再び述べない。
【００２０】
本実施例の変化の例は、処理モジュール３１０と３２０はそれぞれ異なるプログラムコードの内のソフトモジュールである。例えば、処理モジュール３１０は作業システムの内のプログラムに設置され、処理モジュール３２０は応用プログラム農地の演算モジュールに設置される。
【００２１】
図３は図２の示す実施例の変化例の概略図である。本実施例は図２が示す実施例の変化例の一つであり、その処理モジュール５１０と５２０はプログラムコード５００の内の二つのモジュール（例えば、二つのプログラム、または、物質が方程式を導く二つの物質）をそれぞれ示し、処理モジュール５１０と５２０の作業は上述の処理モジュール３１０と３２０にそれぞれ対応し、かつ本実施例の候補数値アレイ、CA52、CA53、…等は上述の候補数値アレイCA31、CA32、CA33、…などにそれぞれ対応する。本実施例の候補数値アレイCA51、CA52、CA53、…等はそれぞれ時間点等T1、T2、T3、…に処理モジュール５１０から処理モジュール５２０に伝送され、図３に示すとおりである。その他については重複するのでここでは述べない。
【００２２】
以上に述べたのは本発明の好ましい実施例に過ぎず、本発明の特許申請範囲が行う変化や修飾はすべて本発明の範囲内である。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施例の提供するランダム数発生器の概略図である。
【図２】本発明の実施例のランダム数発生方法の提供する処理モジュールの概略図である。
【図３】図２の示す実施例の変化の一つの概略図である。
【符号の説明】
【００２４】
１００  ランダム数の発生器
１１０、１２０、３１０、３２０、５１０、５２０  処理モジュール
１３０  アドレス発生モジュール
３００、５００  プログラムコード
CA１１、CA１２、CA１３    候補数値アレイ
CA３１、CA３２、CA３３
CA５１、CA５２、CA５３
T１、T２、T３    時間点
【図１】
2008016005.tif 000003
【図２】
2008016005.tif 000004
【図３】
2008016005.tif 000005