(57)【要約】【課題】各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データに基づき、各々の出現頻度が実質的に等しい０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データが得られるようにする。【解決手段】０からＮまでの数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを選択的に発生し、それらの夫々の出現頻度を実質的に等しいものとする乱数データ発生部２１と、０からＭまでの順次の計数を繰り返して各計数値をあらわす計数値データを出力するカウンタ部２２と、乱数データと計数値データとが供給され、乱数データがＭ以下の乱数値をあらわすとき、その乱数データを出力乱数データとして取り出し、乱数データがＭを越える乱数値をあらわすとき、その乱数データに代えて、計数値データを出力乱数データとして取り出すとともに、カウンタ部２２の計数を一つ進めさせるデータ選択部２３とを備える。【選択図】        図１
2004185170.tif 000002
【特許請求の範囲】
【請求項１】
０からＮまで（Ｎは正整数）の数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを選択的に発生し、該Ｎ＋１個の乱数データの夫々の出現頻度を実質的に等しいものとする乱数データ発生部と、
０からＭまで（Ｍは正整数であってＭ＜Ｎ）の順次の計数を繰り返し、各計数値をあらわす計数値データを出力するカウンタ部と、
上記乱数データ発生部が発生する乱数データと上記カウンタ部が出力する計数値データとが供給され、上記乱数データがＭ以下の乱数値をあらわすものであるとき、該乱数データを出力乱数データとして取り出し、上記乱数データがＭを越える乱数値をあらわすものであるとき、該乱数データに代えて、上記計数値データを出力乱数データとして取り出すとともに、上記カウンタ部の計数を一つ進めさせるデータ選択部と、
を備えて構成される乱数データ形成装置。
【請求項２】
０からＮまで（Ｎは正整数）の数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを選択的に発生し、該Ｎ＋１個の乱数データの夫々の出現頻度を実質的に等しいものとする乱数データ発生部と、
クロック信号に同期して０からＭまで（Ｍは正整数であってＭ＜Ｎ）の計数を繰り返し、上記クロック信号に応じて順次変化していく各計数値をあらわす計数値データを出力するカウンタ部と、
上記乱数データ発生部が発生する乱数データと上記カウンタ部が出力する計数値データとが供給され、上記乱数データがＭ以下の乱数値をあらわすものであるとき、該乱数データを出力乱数データとして取り出し、上記乱数データがＭを越える乱数値をあらわすものであるとき、該乱数データに代えて、上記計数値データを出力乱数データとして取り出すデータ選択部と、
を備えて構成される乱数データ形成装置。
【請求項３】
各々の出現頻度が実質的に等しい０からＮまで（Ｎは正整数）の数値範囲内の乱数値をあらわす乱数データが供給されるデータ入力端子と、
０からＭまで（Ｍは正整数であってＭ＜Ｎ）の順次の計数を繰り返し、各計数値をあらわす計数値データを出力するカウンタ部と、
上記データ入力端子に供給される乱数データと上記カウンタ部が出力する計数値データとが供給され、上記乱数データがＭ以下の乱数値をあらわすものであるとき、該乱数データを出力乱数データとして取り出し、上記乱数データがＭを越える乱数値をあらわすものであるとき、該乱数データに代えて、上記計数値データを出力乱数データとして取り出すとともに、上記カウンタ部の計数を一つ進めさせるデータ選択部と、
を備えて構成される乱数データ形成装置。
【請求項４】
各々の出現頻度が実質的に等しい０からＮまで（Ｎは正整数）の数値範囲内の乱数値をあらわす乱数データが供給されるデータ入力端子と、
クロック信号に同期して０からＭまで（Ｍは正整数であってＭ＜Ｎ）の計数を繰り返し、上記クロック信号に応じて順次変化していく各計数値をあらわす計数値データを出力するカウンタ部と、
上記データ入力端子に供給される乱数データと上記カウンタ部が出力する計数値データとが供給され、上記乱数データがＭ以下の乱数値をあらわすものであるとき、該乱数データを出力乱数データとして取り出し、上記乱数データがＭを越える乱数値をあらわすものであるとき、該乱数データに代えて、上記計数値データを出力乱数データとして取り出すデータ選択部と、
を備えて構成される乱数データ形成装置。
【請求項５】
０からＮまで（Ｎは正整数）の数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを選択的に発生し、該Ｎ＋１個の乱数データの夫々の出現頻度を実質的に等しいものとする乱数データ発生部と、
クロック信号に同期して０からＭまで（Ｍは正整数であってＭ＜Ｎ）の計数を繰り返し、上記クロック信号に応じて順次変化していく各計数値をあらわす計数値データを出力するカウンタ部と、
上記乱数データ発生部が発生する乱数データと上記カウンタ部が出力する計数値データとが供給され、上記乱数データがあらわす乱数値と上記計数値データがあらわす計数値とについての加算演算を行って得られる加算値をあらわす演算値データを出力する演算部と、
該演算部が出力する演算値データがあらわす演算値をＭ＋１で除して得られる余りの数値を求めるモジュロＭ＋１演算を行い、求められた余りの数値をあらわす数値データを出力乱数データとするモジュロ演算部と、
を備えて構成される乱数データ形成装置。
【請求項６】
各々の出現頻度が実質的に等しい０からＮまで（Ｎは正整数）の数値範囲内の乱数値をあらわす乱数データが供給されるデータ入力端子と、
クロック信号に同期して０からＭまで（Ｍは正整数であってＭ＜Ｎ）の計数を繰り返し、上記クロック信号に応じて順次変化していく各計数値をあらわす計数値データを出力するカウンタ部と、
上記データ入力端子に供給される乱数データと上記カウンタ部が出力する計数値データとが供給され、上記乱数データがあらわす乱数値と上記計数値データがあらわす計数値とについての加算演算を行って得られる加算値をあらわす演算値データを出力する演算部と、
該演算部が出力する演算値データがあらわす演算値をＭ＋１で除して得られる余りの数値を求めるモジュロＭ＋１演算を行い、求められた余りの数値をあらわす数値データを出力乱数データとするモジュロ演算部と、
を備えて構成される乱数データ形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本願の特許請求の範囲に記載された発明は、設定された数値範囲内の乱数値をあらわす乱数データを、それらの夫々の出現頻度が実質的に等しくされるものとして形成する乱数データ形成装置に関する。
【０００２】
【従来の技術】
各種の信号情報等をあらわすディジタルデータの伝送にあたり、データ伝送路上での盗聴を防止すべく、送信側において、伝送するディジタルデータを暗号化し、受信側において、暗号化されたディジタルデータについての復号化を行って元のディジタルデータを得るようになすことが提案されている。このようなディジタルデータの暗号化にあたっての代表的な暗号アルゴリズムとして、１９７７年に米国商務省標準局（ＮＢＳ）が公布したＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）  方式が知られている（非特許文献１参照。）。
【０００３】
ＤＥＳ方式による暗号化伝送にあっては、ディジタルデータが別途用意される鍵データ（暗号化鍵データ）により定められる規則に従って暗号化されるとともに、暗号化されたディジタルデータが別途用意される鍵データ（復号化鍵データ）により定められる規則に従って復号化され、その際、暗号化鍵データと復号化鍵データとは同じ鍵データ（共通鍵データ）とされる。そして、暗号化及び復号化のためのアルゴリズム自体は公開されており、共通鍵データが秘密に維持されることにより守秘機能が果たされる。
【０００４】
一方、映像信号の分野においては、伝達情報の多様化及び再生画像の高品質化を実現する観点等からのディジタル化が図られており、例えば、映像信号情報をあらわすディジタルデータによって形成されるディジタル映像信号を扱う高精細度テレビジョン（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｔｅｌｅｖｉｓｉｏｎ：ＨＤＴＶ）システム等が提案されている。ＨＤＴＶシステムのもとにおけるディジタル映像信号（以下、ＨＤ信号という）は、例えば、ＢＴＡ（Ｂｒｏａｄｃａｓｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｓｓｏｃｉａｔｉｏｎ  ：放送技術開発協議会）により制定された規格であるＢＴＡ  Ｓ−００２  に従って形成され、Ｙ，ＰＢ  ／ＰＲ  形式のものとＧ，Ｂ，Ｒ形式のものとがある。Ｙ，ＰＢ  ／ＰＲ  形式の場合、Ｙは輝度信号を意味し、ＰＢ  ／ＰＲ  は色差信号を意味する。また、Ｇ，Ｂ，Ｒ形式の場合、Ｇ，Ｂ及びＲは、夫々、緑色原色信号，青色原色信号及び赤色原色信号を意味する。
【０００５】
例えば、Ｙデータ系列及びＰＢ  ／ＰＲ  データ系列を含んで構成されるＨＤ信号にあっては、Ｙデータ系列及びＰＢ  ／ＰＲ  データ系列の夫々について、タイミング基準コードデータＳＡＶ（Ｓｔａｒｔ  ｏｆ  Ａｃｔｉｖｅ  Ｖｉｄｅｏ）  もしくはＥＡＶ（Ｅｎｄ  ｏｆ  Ａｃｔｉｖｅ  Ｖｉｄｅｏ）  を形成するタイミング識別用コードを含むものとされ、映像データあるいは補助データ等を形成する情報コードとしては使用されない複数のコードが、禁止コードとして決められている。斯かる禁止コードは、Ｙデータ系列及びＰＢ  ／ＰＲ  データ系列の夫々が１０ビットワード列データであるとき、０００ｈ〜００３ｈ及び３ＦＣｈ〜３ＦＦｈ（１６進表現）、即ち、００００００００００〜００００００００１１及び１１１１１１１１００〜１１１１１１１１１１とされる。
【０００６】
このようなＹデータ系列及びＰＢ  ／ＰＲ  データ系列から成るＨＤ信号が伝送されるに際しては、データ伝送路が簡略化されることからして、ワード列データからシリアルデータに変換されて伝送されるシリアル伝送が望まれることになる。そして、Ｙデータ系列及びＰＢ  ／ＰＲ  データ系列を含んで形成されるＨＤ信号のシリアル伝送に関しては、ＢＴＡによって制定された規格であるＢＴＡ  Ｓ−００４  による  ＨＤ−ＳＤＩ  （Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｓｅｒｉａｌ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）に準拠した伝送を行うことが規格化されている。ＨＤ信号についての  ＨＤ−ＳＤＩ  に準拠した伝送が行われるにあたっては、ＨＤ信号に基づくシリアル伝送ＨＤ信号（以下、ＨＤ−ＳＤＩ信号という）が形成されて、そのＨＤ−ＳＤＩ信号がデータ伝送路を通じての伝送に供される。
【０００７】
上述の如くに、ＨＤ−ＳＤＩ信号がデータ伝送路を通じての伝送に供される際にも、データ伝送路での盗聴を防止すべく、送信側において、ＨＤ−ＳＤＩ信号に暗号化処理を施し、暗号化されたＨＤ−ＳＤＩ信号を形成して送出し、受信側おいて、暗号化されたＨＤ−ＳＤＩ信号についての復号化を行って元のＨＤ−ＳＤＩ信号を得るようになすことが望まれる場合が考えられる。斯かる際におけるＨＤ−ＳＤＩ信号についての暗号化処理は、ＨＤ−ＳＤＩ信号をパラレル化してワード列データを得、そのワード列データのうちの映像データの部分（以下、映像ワード列データという）に暗号化処理を施し、暗号化された映像ワード列データを、ワード列データのうちの映像ワード列データ以外の部分と共にシリアル化して、暗号化されたＨＤ−ＳＤＩ信号を形成することにより行われる。また、暗号化されたＨＤ−ＳＤＩ信号についての復号化は、暗号化されたＨＤ−ＳＤＩ信号をパラレル化してワード列データを得、そのワード列データのうちの暗号化された映像ワード列データに復号化処理を施して、復号化された映像ワード列データを得、それをワード列データのうちの暗号化された映像ワード列データ以外の部分と共にシリアル化することにより、元のＨＤ−ＳＤＩ信号を形成することにより行われる。そして、このような、ＨＤ−ＳＤＩ信号についての暗号化伝送は、原理的には、例えば、前述のＤＥＳ方式による暗号化を、ＨＤ−ＳＤＩ信号に基づく映像ワード列データの暗号化処理に利用して実現させることができる。
【０００８】
しかしながら、単に、例えば、前述のＤＥＳ方式による暗号化を利用する場合には、見掛け上は、ＨＤ−ＳＤＩ信号についての暗号化伝送を行うことができることになるが、実際には、伝送されたＨＤ−ＳＤＩ信号についての復号化処理に支障をきたすことになり、ＨＤ−ＳＤＩ信号に基づくＨＤ信号の再生が適正に行えなくなってしまうことになる、重大な問題が生じる。
【０００９】
斯かる問題は、ＨＤ−ＳＤＩ信号に、例えば、ＤＥＳ方式による暗号化処理が施されて暗号化ＨＤ−ＳＤＩ信号が形成されると、暗号化ＨＤ−ＳＤＩ信号におけるＨＤ信号の映像データに対応する部分に、ＨＤ信号の映像データの形成には用いられない禁止コード、即ち、０００ｈ〜００３ｈ及び３ＦＣｈ〜３ＦＦｈがシリアルデータに変換されたものに相当する部分が、或る確率をもって含まれることになってしまうことである。
【００１０】
暗号化ＨＤ−ＳＤＩ信号におけるＨＤ信号の映像データに対応する部分に禁止コードがシリアルデータに変換されたものに相当する部分が含まれていると、伝送された暗号化ＨＤ−ＳＤＩ信号についての復号化処理の際に、本来のＨＤ信号に含まれたタイミング基準コードデータＳＡＶもしくはＥＡＶを形成する禁止コードがシリアルデータに変換された部分に加えて、暗号化ＨＤ−ＳＤＩ信号におけるＨＤ信号の映像データに対応する部分に含まれるものとされた禁止コードがシリアルデータに変換された部分も、タイミング基準コードデータＳＡＶもしくはＥＡＶを形成する禁止コードがシリアルデータに変換された部分として検出されてしまう虞が生じる。伝送された暗号化ＨＤ−ＳＤＩ信号についての復号化処理は、タイミング基準コードデータＳＡＶもしくはＥＡＶを形成する禁止コードがシリアルデータに変換された部分がワード同期のための同期情報として用いられて、適正に行われるようにされる。それゆえ、暗号化ＨＤ−ＳＤＩ信号におけるＨＤ信号の映像データに対応する部分に含まれるものとされた禁止コードがシリアルデータに変換された部分も、タイミング基準コードデータＳＡＶもしくはＥＡＶを形成する禁止コードがシリアルデータに変換された部分として検出されると、暗号化ＨＤ−ＳＤＩ信号に復号化処理が施されるにあたって、正しいワード同期がとられないことになり、その結果、ＨＤ信号の再生が適正に行われなくなってしまうのである。
【００１１】
そこで、このような不都合を回避すべく、本願の出願人は、既に出願された特許願：特願２００２−１３５０３９号において、例えば、ＨＤ−ＳＤＩ信号におけるＨＤ信号の映像データに対応する部分の如くの、複数のコードが禁止コードとされて形成されたディジタル情報データを含んだワード列データに基づくシリアルデータに、暗号化処理を施して形成した暗号化シリアルデータを得るにあたり、当該暗号化シリアルデータを不所望な禁止コードがシリアルデータに変換された部分を含まないものとできるもとで行えることになるデータ伝送方法システムを提案した。この提案されたデータ伝送方法システムにあっては、複数のコードが禁止コードとされて形成されたディジタル情報データを含んだワード列データを、設定された数値範囲内の乱数値をあらわす乱数データを発生する乱数データ発生部からの乱数データを用いて暗号化するにあたり、加減モジュロ演算部（加減剰余演算部）を用いて、暗号化されたワード列データを禁止コードを含まないものとして取り出し、その禁止コードを含まない暗号化されたワード列データをシリアル化して、暗号化シリアルデータを得るようにされる。
【００１２】
加減モジュロ演算部は、データについての加算もしくは減算演算とモジュロ演算とを行うものであり、モジュロ演算は、或る数値を予め設定された数値で除し、その際における余りを求める演算である。そして、上述の提案されたデータ伝送方法システムにあっては、加減モジュロ演算部は、乱数データによって暗号化されたワード列データが禁止コードを含むものとなるとき、禁止コードを他のコードに置き換える役割を果たしている。
【００１３】
暗号化の対象がＨＤ−ＳＤＩ信号である場合、加減モジュロ演算部に入力されるＨＤ−ＳＤＩ信号に基づくワード列データのうちの映像ワード列データは、禁止コードである０００ｈ〜００３ｈ及び３ＦＣｈ〜３ＦＦｈをあらわすワードデータ、即ち、１０進法にあっては０〜３及び１０２０〜１０２３の数値範囲内の数値をあらわすワードデータを含んでいない。従って、加減モジュロ演算部に入力される映像ワード列データは、４〜１０１９の数値範囲内の数値をあらわすワードデータの列によって形成されていることになる。
【００１４】
一方、加減モジュロ演算部に入力される乱数データ発生部からの乱数データも１０ビット構成とされ、それゆえ、０〜１０２３の数値範囲内の乱数値をあらわすワードデータとされる。その結果、４〜１０１９をあらわすワードデータの列によって形成される映像ワード列データが、０〜１０２３の数値範囲内の乱数値をあらわす乱数データによって暗号化されることにより、本来であれば、０〜１０２３の数値範囲内の数値をあらわすワードデータの列によって形成されるものとされる暗号化された映像ワード列データを、加減モジュロ演算部が、禁止コードである０〜３及び１０２０〜１０２３を除いた、４〜１０１９の数値範囲内の数値をあらわすワードデータの列によって形成されるものとするのである。
【００１５】
上述のような加減モジュロ演算部を用いて、１０ビット構成のワードデータを１０ビット構成とされた乱数データを用いて暗号化し、得られる暗号化されたワードデータを予め設定された数値範囲内の数値をあらわすものに制限することを考えてみる。図７は、斯かる暗号化を行う装置の構成を示し、この図７に示される装置においては、加減モジュロ演算部１１に、例えば、６４という数値（１６進表示で０４０ｈ）をあらわす１０ビット構成のワードデータＤＶＡが入力される。そして、乱数データ発生部１２からの１０ビット構成の乱数データＤＸＡが、加減モジュロ演算部１１に供給される。
【００１６】
乱数データ発生部１２からの乱数データＤＸＡは、１０ビット構成であることから、０〜１０２３の数値範囲内の乱数値をあらわすものとされる。そして、乱数データ発生部１２は、例えば、暗号化対象データがＨＤ信号を形成するディジタルデータにおける１フレーム期間分の有効映像データである場合を想定して、１９２０（サンプル）×１０８０（ライン）＝２，０７３，６００個の乱数データＤＸＡを発生させたとき、図８の乱数データ出現頻度ヒストグラムに示される如くに、０〜１０２３の数値範囲内の乱数値のいずれかをあらわす乱数データＤＸＡの夫々の出現頻度が、実質的に等しくなるものとされる。
【００１７】
斯かるもとで、加減モジュロ演算部１１は、ワードデータＤＶＡを乱数データＤＸＡによって暗号化して、１０ビット構成の暗号化ワードデータＤＸＹを形成し、その際、本来であれば、０〜１０２３の数値範囲内の１０２４個の数値のいずれかをあらわすものとされる暗号化ワードデータＤＸＹを、例えば、０〜１０１５の数値範囲内の１０１６個の数値のいずれかをあらわすものに制限するものとされる。そのため、加減モジュロ演算部１１は、乱数データＤＸＡがあらわす０〜１０２３の数値範囲内の数値のいずれかについて、それを１０１６で除してその余りを得るモジュロ１０１６演算を行う。
【００１８】
このようにして、図７に示される装置によれば、６４という数値（１６進表示で０４０ｈ）をあらわす１０ビット構成のワードデータＤＶＡが、０〜１０２３の数値範囲内の乱数値をあらわすものとされる１０ビット構成の乱数データＤＸＡが用いられて暗号化され、０〜１０１５の数値範囲内の数値をあらわす１０ビット構成の暗号化ワードデータＤＸＹが得られることになる。
【００１９】
【非特許文献１】
ＮＴＴ鈴鹿電気通信学園データ伝送研究会編集「実務家のためのデータ伝送技術」社団法人電気通信協会発行、昭和６１年１０月１日、Ｐ２９２〜２９３
【００２０】
【発明が解決しようとする課題】
上述の図７に示される装置において、加減モジュロ演算部１１に６４という数値（１６進表示で０４０ｈ）をあらわすワードデータＤＶＡが入力されるもとで、乱数データ発生部１２に２，０７３，６００個の乱数データＤＸＡを発生させ、加減モジュロ演算部１１に２，０７３，６００回のワードデータＤＶＡについての乱数データＤＸＡによる暗号化を行わせて、加減モジュロ演算部１１から２，０７３，６００個の暗号化ワードデータＤＸＹを得た場合における、０〜１０１５の数値範囲内の１０１６個の数値のいずれかをあらわす暗号化ワードデータＤＸＹの出現頻度は、図９の暗号化ワードデータ出現頻度ヒストグラムに示される如くとなる。この図９の暗号化ワードデータ出現頻度ヒストグラムにあっては、６４〜７１の数値範囲内の数値以外の数値をあらわす暗号化ワードデータＤＸＹの出現頻度は、実質的に等しいといえるが、６４〜７１の数値範囲内の数値をあらわす暗号化ワードデータＤＸＹの出現頻度が、他の暗号化ワードデータＤＸＹの出現頻度より高くなっていることを示している。
【００２１】
斯かる暗号化ワードデータＤＸＹの出現頻度の状況は、加減モジュロ演算部１１によって、０〜１０２３の数値範囲内の乱数値をあらわすものとされる乱数データＤＸＡのうちの、０〜１０１５の数値範囲を越える１０１６〜１０２３の数値範囲内の乱数値をあらわすものが、０〜７の数値範囲内の乱数値をあらわす乱数データＤＸＡに置き換えられることにより、０〜１０１５の数値範囲内の乱数値をあらわすものとされる乱数データＤＸＡのうちの０〜７の数値範囲内の乱数値をあらわすものが、他の乱数データＤＸＡより高い出現頻度を有することになり、その結果、０〜７の数値範囲内の乱数値に６４が加算されて得られる６４〜７１の数値範囲内の数値をあらわす暗号化ワードデータＤＸＹの出現頻度が高められることになることからして、論理的に説明され得ることになる。
【００２２】
このように、６４〜７１の数値範囲内の数値をあらわす暗号化ワードデータＤＸＹの出現頻度が、他の暗号化ワードデータＤＸＹの出現頻度より高いことを示す出現頻度ヒストグラムを分析すれば、暗号化ワードデータＤＸＹの元のワードデータＤＶＡが、６４という数値（１６進表示で０４０ｈ）をあらわすものであることが容易に判明してしまう。このように、暗号化ワードデータＤＸＹの元のワードデータＤＶＡの実体が判明してしまうことは、暗号解読の糸口を与えることになるという不都合をもたらす。
【００２３】
こうした不都合は、基本的には、０〜１０１５の数値範囲内の数値をあらわす暗号化ワードデータＤＸＹを得るに、０〜１０１５の数値範囲を越える０〜１０２３の数値範囲内の乱数値をあらわす乱数データＤＸＡが用いられることに起因している。そして、０〜１０２３の数値範囲内の乱数値をあらわす乱数データＤＸＡに基づき、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで、０〜１０１５に制限された数値範囲内の乱数値をあらわす乱数データを得ることができれば、斯かる乱数データを用いてワードデータＤＶＡについての暗号化を行うことにより、上述の不都合を回避することができることになる。
【００２４】
しかしながら、従来にあっては、各々の出現頻度が実質的に等しいものとされる第１の数値範囲内、例えば、０〜１０２３の数値範囲内の乱数値をあらわす乱数データに基づき、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで、第１の数値範囲より狭い第２の数値範囲、例えば、０〜１０１５の数値範囲内に制限された乱数値をあらわす乱数データを得ることができるようにされた装置の具体例は見当たらない。また、このような乱数データを得ることができるようにされた装置に関する技術について記載された文献等も見出せない。
【００２５】
斯かる点に鑑み、本願の特許請求の範囲に記載された発明は、各々の出現頻度が実質的に等しい０からＮまで（Ｎは正整数）の数値範囲内の乱数値をあらわす乱数データに基づいて、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで、０からＭまで（Ｍは正整数であってＭ＜Ｎ）に制限された数値範囲内の乱数値をあらわす乱数データを得ることができることになる乱数データ形成装置を提供する。
【００２６】
【課題を解決するための手段】
本願の特許請求の範囲における請求項１に記載された発明に係る乱数データ形成装置は、０からＮまでの数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを選択的に発生し、Ｎ＋１個の乱数データの夫々の出現頻度を実質的に等しいものとする乱数データ発生部と、０からＭまでの順次の計数を繰り返し、各計数値をあらわす計数値データを出力するカウンタ部と、乱数データ発生部が発生する乱数データとカウンタ部が出力する計数値データとが供給され、乱数データ発生部が発生する乱数データがＭ以下の乱数値をあらわすものであるとき、その乱数データを出力乱数データとして取り出し、乱数データ発生部が発生する乱数データがＭを越える乱数値をあらわすものであるとき、その乱数データに代えて、カウンタ部が出力する計数値データを出力乱数データとして取り出すとともに、カウンタ部の計数を一つ進めさせるデータ選択部と、を備えて構成される。
【００２７】
本願の特許請求の範囲における請求項２に記載された発明に係る乱数データ形成装置は、０からＮまでの数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを選択的に発生し、Ｎ＋１個の乱数データの夫々の出現頻度を実質的に等しいものとする乱数データ発生部と、クロック信号に同期して０からＭまでの計数を繰り返し、クロック信号に応じて順次変化していく各計数値をあらわす計数値データを出力するカウンタ部と、乱数データ発生部が発生する乱数データとカウンタ部が出力する計数値データとが供給され、乱数データ発生部が発生する乱数データがＭ以下の乱数値をあらわすものであるとき、その乱数データを出力乱数データとして取り出し、乱数データ発生部が発生する乱数データがＭを越える乱数値をあらわすものであるとき、その乱数データに代えて、カウンタ部が出力する計数値データを出力乱数データとして取り出すデータ選択部と、を備えて構成される。
【００２８】
本願の特許請求の範囲における請求項３に記載された発明に係る乱数データ形成装置は、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データが供給されるデータ入力端子と、０からＭまでの順次の計数を繰り返し、各計数値をあらわす計数値データを出力するカウンタ部と、データ入力端子に供給される乱数データとカウンタ部が出力する計数値データとが供給され、データ入力端子に供給される乱数データがＭ以下の乱数値をあらわすものであるとき、その乱数データを出力乱数データとして取り出し、データ入力端子に供給される乱数データがＭを越える乱数値をあらわすものであるとき、その乱数データに代えて、カウンタ部が出力する計数値データを出力乱数データとして取り出すとともに、カウンタ部の計数を一つ進めさせるデータ選択部と、を備えて構成される。
【００２９】
本願の特許請求の範囲における請求項４に記載された発明に係る乱数データ形成装置は、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データが供給されるデータ入力端子と、クロック信号に同期して０からＭまでの計数を繰り返し、クロック信号に応じて順次変化していく各計数値をあらわす計数値データを出力するカウンタ部と、データ入力端子に供給される乱数データとカウンタ部が出力する計数値データとが供給され、データ入力端子に供給される乱数データがＭ以下の乱数値をあらわすものであるとき、その乱数データを出力乱数データとして取り出し、データ入力端子に供給される乱数データがＭを越える乱数値をあらわすものであるとき、その乱数データに代えて、カウンタ部が出力する計数値データを出力乱数データとして取り出すデータ選択部と、を備えて構成される。
【００３０】
本願の特許請求の範囲における請求項５に記載された発明に係る乱数データ形成装置は、０からＮまでの数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを選択的に発生し、Ｎ＋１個の乱数データの夫々の出現頻度を実質的に等しいものとする乱数データ発生部と、クロック信号に同期して０からＭまでの計数を繰り返し、クロック信号に応じて順次変化していく各計数値をあらわす計数値データを出力するカウンタ部と、乱数データ発生部が発生する乱数データとカウンタ部が出力する計数値データとが供給され、乱数データ発生部が発生する乱数データがあらわす乱数値とカウンタ部が出力する計数値データがあらわす計数値とについての加算演算を行って得られる加算値をあらわす演算値データを出力する演算部と、演算部が出力する演算値データがあらわす演算値をＭ＋１で除して得られる余りの数値を求めるモジュロＭ＋１演算を行い、求められた余りの数値をあらわす数値データを出力乱数データとするモジュロ演算部と、を備えて構成される。
【００３１】
本願の特許請求の範囲における請求項６に記載された発明に係る乱数データ形成装置は、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データが供給されるデータ入力端子と、クロック信号に同期して０からＭまでの計数を繰り返し、クロック信号に応じて順次変化していく各計数値をあらわす計数値データを出力するカウンタ部と、データ入力端子に供給される乱数データとカウンタ部が出力する計数値データとが供給され、データ入力端子に供給される乱数データがあらわす乱数値とカウンタ部が出力する計数値データがあらわす計数値とについての加算演算を行って得られる加算値をあらわす演算値データを出力する演算部と、演算部が出力する演算値データがあらわす演算値をＭ＋１で除して得られる余りの数値を求めるモジュロＭ＋１演算を行い、求められた余りの数値をあらわす数値データを出力乱数データとするモジュロ演算部と、を備えて構成される。
【００３２】
上述の如くの本願の特許請求の範囲における請求項１から請求項４までのいずれかに記載された発明に係る乱数データ形成装置にあっては、データ選択部によって、各々の出現頻度が実質的に等しいものとされた０からＮまでの数値範囲内の乱数値をあらわす乱数データが、Ｍ以下の乱数値をあらわすものであるときにはその乱数データが出力乱数データとして取り出され、また、Ｍを越える乱数値をあらわすものであるときには、その乱数データに代えて、０からＭまでの計数値のいずれかをあらわす計数値データが出力乱数データとして取り出される。そして、少なくとも計数値データが出力乱数データとして取り出されるときには、その計数値データが、計数が一つ進められたものに変更される。
【００３３】
その結果、データ選択部から得られる出力乱数データは、各々の出現頻度が実質的に等しいものとされた０からＮまでの数値範囲内の乱数値をあらわす乱数データを元にして、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで得られる、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データとされる。従って、本願の特許請求の範囲における請求項１から請求項４までのいずれかに記載された発明に係る乱数データ形成装置によれば、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データに基づき、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データを得ることができることになる。
【００３４】
また、本願の特許請求の範囲における請求項５または請求項６に記載された発明に係る乱数データ形成装置にあっては、各々の出現頻度が実質的に等しいものとされた０からＮまでの数値範囲内の乱数値をあらわす乱数データと、０からＭまで順次変化していく計数値をあらわす計数値データとが、演算部に供給されて、演算部により、乱数データがあらわす乱数値と計数値データがあらわす計数値とについての加算演算が行われ、その結果得られる加算値をあらわす演算値データが形成される。そして、モジュロ演算部によって、演算値データがあらわす演算値をＭ＋１で除して得られる余りの数値を求めるモジュロＭ＋１演算が行われ、求められた余りの数値をあらわす数値データが出力乱数データとされる。
【００３５】
その結果、モジュロ演算部から得られる出力乱数データは、各々の出現頻度が実質的に等しいものとされた０からＮまでの数値範囲内の乱数値をあらわす乱数データを元にして、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで得られる、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データとされる。従って、本願の特許請求の範囲における請求項５または請求項６に記載された発明に係る乱数データ形成装置によっても、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データに基づき、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データを得ることができることになる。
【００３６】
【発明の実施の形態】
図１は、本願の特許請求の範囲における請求項１に記載された発明に係る乱数データ形成装置の一例を示す。
【００３７】
図１に示される例においては、乱数データ発生部２１，カウンタ部２２及びデータ選択部２３が備えられている。乱数データ発生部２１は、０からＮまでの数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを、夫々の出現頻度を実質的に等しいものとするもとで選択的に発生し、それを乱数データＤＥＮとして送出する。また、カウンタ部２２は、０からＭまでの順次の計数を繰り返し、各計数値をあらわす計数値データＤＣＯを出力する。そして、乱数データ発生部２１からの乱数データＤＥＮとカウンタ部２２からの計数値データＤＣＯとが、データ選択部２３に供給される。なお、乱数データ発生部２１，カウンタ部２２及びデータ選択部２３の各々は、図示が省略されたクロック信号発生部からの共通のクロック信号に同期して作動する。但し、カウンタ部２２は、クロック信号の到来毎に計数を進めるという動作は行わない。
【００３８】
データ選択部２３にあっては、乱数データＤＥＮと計数値データＤＣＯとが入力端子１及び入力端子２を夫々通じて供給され、さらに、乱数データＤＥＮは判別端子を通じても供給される。そして、判別端子を通じて供給された乱数データＤＥＮに対して、それがＭ以下の乱数値をあらわすものであるか、Ｍを越える乱数値をあらわすものであるかの判別が行われる。
【００３９】
データ選択部２３は、判別端子を通じて供給された乱数データＤＥＮについての判別の結果、乱数データＤＥＮがＭ以下の乱数値をあらわすものであるときには、そのとき入力端子１を通じて供給される乱数データＤＥＮを、出力乱数データＤＯＰとして取り出し、それを出力端子から送出する。また、判別端子を通じて供給された乱数データＤＥＮについての判別の結果、乱数データＤＥＮがＭを越える乱数値をあらわすものであるときには、そのとき入力端子２を通じて供給される計数値データＤＣＯを、出力乱数データＤＯＰとして取り出し、それを出力端子から送出するとともに、制御出力端子から制御信号ＣＣを送出して、それをカウンタ部２２に供給し、カウンタ部２２における計数を一つ進めさせる。それにより、カウンタ部２２からの計数値データＤＣＯが、計数が一つ進んだものとされる計数値をあらわすものに変更される。
【００４０】
このようにして、Ｍを越える乱数値をあらわす乱数データＤＥＮが０からＭまでの計数値をあらわす計数値データＤＣＯに置き換えられることにより、データ選択部２３の出力端子から送出される出力乱数データＤＯＰは、乱数データ発生部２１からの０からＮまでの数値範囲内の乱数値をあらわす乱数データＤＥＮに基づいて得られる、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データとされる。そして、乱数データＤＥＮがＭを越える乱数値をあらわすものであるとき、その乱数データＤＥＮに代えて、出力乱数データＤＯＰとされる計数値データＤＣＯは、出力乱数データＤＯＰとして用いられる毎に更新されるので、０からＭまでに制限された数値範囲内の乱数値をあらわす出力乱数データＤＯＰも、夫々の出現頻度を実質的に等しいものとすることになる。このことは、以下のように証明される。
【００４１】
乱数データ発生部２１から選択的に出力される、０からＮまでの数値範囲内の乱数値を夫々あらわし、夫々の出現頻度を実質的に等しいものとする、Ｎ＋１個の乱数データＤＥＮの各々の出現確率Ｐ（ｘ）  は、数１によって与えられる。
【００４２】
【数１】
Ｐ（ｘ）  ＝１／（Ｎ＋１）
【００４３】
乱数データ発生部２１に、十分大なる数値をＫとしてＫ回の乱数データＤＥＮの出力を行わせると、０からＮまでの数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データＤＥＮの各々の出現回数Ａ（ｘ）  は、数２によって求められる。
【００４４】
【数２】
Ａ（ｘ）  ＝Ｋ・Ｐ（ｘ）  ＝Ｋ／（Ｎ＋１）
【００４５】
乱数データＤＥＮがあらわす乱数値をｘ，計数値データＤＣＯがあらわす計数値をｃ，出力乱数データＤＯＰがあらわす数値をｙとすると、数３及び数４が成立する。
【００４６】
【数３】
ｙ＝ｘ  但し、０≦ｘ≦Ｍ＋１
ｙ＝ｃ  但し、Ｍ＋１＜ｘ
【００４７】
ｃを或る数値に固定したときの、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現確率Ｐｏ（ｙ）  は、数４によって求められる。
【００４８】
【数４】
Ｐｏ（ｙ）  ＝１／（Ｎ＋１）  但し、０≦ｙ≦Ｍ＋１，ｙ≠ｃ
Ｐｏ（ｙ）  ＝（Ｎ−Ｍ＋１）／（Ｎ＋１）  但し、ｙ＝ｃ
【００４９】
乱数データ発生部２１にＫ回の乱数データＤＥＮの出力を行わせ、データ選択部２３にＫ回の出力乱数データＤＯＰの送出を行わせたときの、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現回数Ａｏ（ｙ）  は、数５によって求められる。
【００５０】
【数５】
2004185170.tif 000003
【００５１】
ｃが０からＭまでの数値範囲内の計数値のいずれかをとり、各計数値に対して、乱数データ発生部２１にＫ回の乱数データＤＥＮの出力を行わせ、データ選択部２３にＫ回の出力乱数データＤＯＰの送出を行わせたときの、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現回数Ａｏｓ（ｙ）  は、数６によって求められる。
【００５２】
【数６】
2004185170.tif 000004
【００５３】
計数値データＤＣＯは、出力乱数データＤＯＰとして用いられる毎に更新されるので、Ｋが十分に大なる数値とされて、乱数データ発生部２１にＫ回の乱数データＤＥＮの出力を行わせ、データ選択部２３にＫ回の出力乱数データＤＯＰの送出を行わせるもとにあっては、０からＭまでの数値範囲内の計数値をあらわすＭ＋１個の計数値データＤＣＯの各々の出現回数も、数６により求められる出現回数Ａｏｓ（ｙ）  と等しいとみることができる。
【００５４】
以上よりして、０からＭまでに制限された数値範囲内の乱数値をあらわす出力乱数データＤＯＰは、夫々の出現頻度を実質的に等しいものとすることになる。
【００５５】
図２は、本願の特許請求の範囲における請求項２に記載された発明に係る乱数データ形成装置の一例を示す。
【００５６】
図２に示される例にあっては、図１に示される例と同様に、乱数データ発生部２１，カウンタ部２２及びデータ選択部２３が備えられており、それに加えて、クロック信号発生部２４が備えられている。クロック信号発生部２４は、所定の周波数のクロック信号ＣＫを発生し、それをカウンタ部２２及び他の動作部に共通のクロック信号として供給する。それにより、乱数データ発生部２１，カウンタ部２２及びデータ選択部２３の各々は、クロック信号発生部２４からのクロック信号ＣＫに同期して作動し、カウンタ部２２は、クロック信号ＣＫの到来毎に計数を進めていく動作を行う。
【００５７】
乱数データ発生部２１は、０からＮまでの数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを、夫々の出現頻度を実質的に等しいものとするもとで選択的に発生し、それを乱数データＤＥＮとして送出する。また、カウンタ部２２は、クロック信号発生部２４からのクロック信号ＣＫに同期して０からＭまでの順次の計数を繰り返し、クロック信号ＣＫに応じて順次変化していく各計数値をあらわす計数値データＤＣＯを出力する。そして、乱数データ発生部２１からの乱数データＤＥＮとカウンタ部２２からの計数値データＤＣＯとが、データ選択部２３に供給される。
【００５８】
図２に示される例におけるデータ選択部２３にあっても、図１に示される例におけるデータ選択部２３における動作と同様な動作が行われて、出力乱数データＤＯＰが出力端子から送出される。それゆえ、図２に示される例におけるデータ選択部２３の動作については、図１に示される例におけるデータ選択部２３の動作と異なる部分に関する以下の説明にとどめられる。
【００５９】
図２に示される例におけるデータ選択部２３の場合には、判別端子を通じて供給された乱数データＤＥＮについての判別の結果、乱数データＤＥＮがＭを越える乱数値をあらわすものであるとき、そのとき入力端子２を通じて供給される計数値データＤＣＯを、出力乱数データＤＯＰとして取り出し、それを出力端子から送出する。このとき、図１に示される例におけるデータ選択部２３とは異なり、制御出力端子から制御信号ＣＣを送出して、それをカウンタ部２２に供給するという動作は行わない。
【００６０】
このような図２に示される例においても、Ｍを越える乱数値をあらわす乱数データＤＥＮが０からＭまでの計数値をあらわす計数値データＤＣＯに置き換えられることにより、データ選択部２３の出力端子から送出される出力乱数データＤＯＰは、乱数データ発生部２１からの０からＮまでの数値範囲内の乱数値をあらわす乱数データＤＥＮに基づいて得られる、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データとされる。そして、０からＭまでに制限された数値範囲内の乱数値をあらわす出力乱数データＤＯＰは、夫々の出現頻度を実質的に等しいものとすることになり、それについても、前述の数１から数７を用いて説明された証明が適用される。
【００６１】
図３は、本願の特許請求の範囲における請求項３に記載された発明に係る乱数データ形成装置の一例を示す。
【００６２】
図３に示される例は、図１に示される例において、乱数データ発生部２１に代えて、データ入力端子２５を備えるようにしたものに相当する。図３においては、図１に示される各部及び各データあるいは信号に対応する部分及びデータあるいは信号が、図１と共通の符号が付されており、それらについての重複説明は省略される。
【００６３】
図３に示されるデータ入力端子２５には、図１に示される例における乱数データ発生部２１と同様な乱数データ発生部２６からの、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データＤＥＮが供給される。そして、データ入力端子２５に供給された乱数データＤＥＮは、そのまま、データ選択部２３に、それにおける入力端子１及び判別端子の夫々を通じて供給される。データ選択部２３には、カウンタ部２２からの計数値データＤＣＯも入力端子２を通じて供給される。
【００６４】
それにより、図３に示される例におけるデータ選択部２３においても、図１に示される例におけるデータ選択部２３における動作と同じ動作が行われ、その出力端子から、図１に示される例におけるものと同様な出力乱数データＤＯＰ、即ち、データ入力端子２５に供給される０からＮまでの数値範囲内の乱数値をあらわす乱数データＤＥＮに基づいて得られて、０からＭまでに制限された数値範囲内の乱数値をあらわし、各乱数値に関する出現頻度を実質的に等しいものとする出力乱数データＤＯＰが送出される。
【００６５】
図４は、本願の特許請求の範囲における請求項４に記載された発明に係る乱数データ形成装置の一例を示す。
【００６６】
図４に示される例は、図２に示される例において、乱数データ発生部２１に代えて、データ入力端子２７を備えるようにしたものに相当する。図４においては、図２に示される各部及び各データあるいは信号に対応する部分及びデータあるいは信号が、図２と共通の符号が付されており、それらについての重複説明は省略される。
【００６７】
図４に示されるデータ入力端子２７には、図２に示される例における乱数データ発生部２１と同様な乱数データ発生部２８からの、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データＤＥＮが供給される。そして、データ入力端子２７に供給された乱数データＤＥＮは、そのまま、データ選択部２３に、それにおける入力端子１及び判別端子の夫々を通じて供給される。データ選択部２３には、カウンタ部２２からの計数値データＤＣＯも入力端子２を通じて供給される。
【００６８】
それにより、図４に示される例におけるデータ選択部２３においても、図２に示される例におけるデータ選択部２３における動作と同じ動作が行われ、その出力端子から、図２に示される例におけるものと同様な出力乱数データＤＯＰ、即ち、データ入力端子２７に供給される０からＮまでの数値範囲内の乱数値をあらわす乱数データＤＥＮに基づいて得られて、０からＭまでに制限された数値範囲内の乱数値をあらわし、各乱数値に関する出現頻度を実質的に等しいものとする出力乱数データＤＯＰが送出される。
【００６９】
図５は、本願の特許請求の範囲における請求項５に記載された発明に係る乱数データ形成装置の一例を示す。
【００７０】
図５に示される例においては、乱数データ発生部３１，カウンタ部３２，演算部３３，モジュロ演算部３４及びクロック信号発生部３５が備えられている。クロック信号発生部３５は、所定の周波数のクロック信号ＣＫを発生し、それをカウンタ部３２及び他の動作部に共通のクロック信号として供給する。それにより、乱数データ発生部３１，カウンタ部３２，演算部３３及びモジュロ演算部３４の各々は、クロック信号発生部３５からのクロック信号ＣＫに同期して作動する。
【００７１】
乱数データ発生部３１は、０からＮまでの数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データを、夫々の出現頻度を実質的に等しいものとするもとで選択的に発生し、それを乱数データＤＥＮとして送出する。また、カウンタ部３２は、クロック信号発生部３５からのクロック信号ＣＫに同期して０からＭまでの順次の計数を繰り返し、クロック信号ＣＫに応じて順次変化していく各計数値をあらわす計数値データＤＣＯを出力する。そして、乱数データ発生部３１からの乱数データＤＥＮとカウンタ部３２からの計数値データＤＣＯとが、演算部３３に供給される。
【００７２】
演算部３３は、乱数データＤＥＮがあらわす乱数値と計数値データＤＣＯがあらわす計数値とについての加算演算を行って、その結果得られる加算値をあらわす演算値データＤＡＲを出力し、それをモジュロ演算部３４に供給する。モジュロ演算部３４は、演算部３３からの演算値データＤＡＲがあらわす演算値をＭ＋１で除して得られる余りの数値を求めるモジュロＭ＋１演算を行い、求められた余りの数値をあらわす数値データを得て、それを出力乱数データＤＯＰとして送出する。
【００７３】
それにより、モジュロ演算部３４から、各々の出現頻度が実質的に等しいものとされた０からＭまでの数値範囲内の乱数値をあらわす出力乱数データＤＯＰが得られる。従って、図５に示される例にあっては、モジュロ演算部３４から送出される出力乱数データＤＯＰが、乱数データ発生部３１からの０からＮまでの数値範囲内の乱数値をあらわす乱数データＤＥＮに基づいて得られる、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データとされるのであり、０からＭまでに制限された数値範囲内の乱数値をあらわす出力乱数データＤＯＰは、夫々の出現頻度を実質的に等しいものとすることになる。このことは、以下のように証明される。
【００７４】
乱数データ発生部３１から選択的に出力される、０からＮまでの数値範囲内の乱数値を夫々あらわし、夫々の出現頻度を実質的に等しいものとする、Ｎ＋１個の乱数データＤＥＮの各々の出現確率Ｐ（ｘ）  は、数７によって与えられる。
【００７５】
【数７】
Ｐ（ｘ）  ＝１／（Ｎ＋１）
【００７６】
乱数データ発生部３１に、十分大なる数値をＫとしてＫ回の乱数データＤＥＮの出力を行わせると、０からＮまでの数値範囲内の乱数値を夫々あらわすＮ＋１個の乱数データＤＥＮの各々の出現回数Ａ（ｘ）  は、数８によって求められる。
【００７７】
【数８】
Ａ（ｘ）  ＝Ｋ・Ｐ（ｘ）  ＝Ｋ／（Ｎ＋１）
【００７８】
乱数データＤＥＮがあらわす乱数値をｘ，計数値データＤＣＯがあらわす計数値をｃ，出力乱数データＤＯＰがあらわす数値をｙとすると、数９が成立する。
【００７９】
【数９】
ｙ＝（ｘ＋ｃ）ｍｏｄ（Ｍ＋１）
【００８０】
数９における（ｘ＋ｃ）ｍｏｄ（Ｍ＋１）は、ｘ＋ｃをＭ＋１で除した余りを意味する。この（ｘ＋ｃ）ｍｏｄ（Ｍ＋１）について計算すると、ｙは０からＭまでの数値範囲内の数値をとり、０≦ｙ≦Ｍとなる。
【００８１】
ｃ＝０のとき、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現確率Ｐａ（ｙ）  は、数１０によって求められる。
【００８２】
【数１０】
Ｐａ（ｙ）  ＝２／（Ｎ＋１）  但し、０≦ｙ≦Ｎ−Ｍ−１
Ｐａ（ｙ）  ＝１／（Ｎ＋１）  但し、Ｎ−Ｍ≦ｙ≦Ｍ
【００８３】
ｃ＝０のもとで、乱数データ発生部３１にＫ回の乱数データＤＥＮの出力を行わせ、モジュロ演算部３４にＫ回の出力乱数データＤＯＰの送出を行わせたときの、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現回数Ａａ（ｙ）  は、数１１によって求められる。
【００８４】
【数１１】
2004185170.tif 000005
【００８５】
１≦ｃ≦Ｍ−（Ｎ−Ｍ）のとき、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現確率Ｐｂ（ｙ）  は、数１２によって求められる。
【００８６】
【数１２】
Ｐｂ（ｙ）  ＝２／（Ｎ＋１）  但し、０≦ｙ≦ｃ＋Ｎ−Ｍ−１
Ｐｂ（ｙ）  ＝１／（Ｎ＋１）  但し、ｙ≦ｃ−１，ｃ＋Ｎ−Ｍ≦ｙ≦Ｍ
【００８７】
１≦ｃ≦Ｍ−（Ｎ−Ｍ）のもとで、乱数データ発生部３１にＫ回の乱数データＤＥＮの出力を行わせ、モジュロ演算部３４にＫ回の出力乱数データＤＯＰの送出を行わせたときの、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現回数Ａｂ（ｙ）  は、数１３によって求められる。
【００８８】
【数１３】
2004185170.tif 000006
【００８９】
Ｍ−（Ｎ−Ｍ）＋１≦ｃ≦Ｍのとき、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現確率Ｐｃ（ｙ）  は、数１４によって求められる。
【００９０】
【数１４】
Ｐｃ（ｙ）  ＝２／（Ｎ＋１）  但し、ｃ≦ｙ≦Ｍ，０≦ｙ≦ｃ＋Ｎ−Ｍ−１
Ｐｃ（ｙ）  ＝１／（Ｎ＋１）  但し、ｙ≦ｃ−１，ｃ＋Ｎ−Ｍ≦ｙ≦Ｍ
【００９１】
Ｍ−（Ｎ−Ｍ）＋１≦ｃ≦Ｍのもとで、乱数データ発生部３１にＫ回の乱数データＤＥＮの出力を行わせ、モジュロ演算部３４にＫ回の出力乱数データＤＯＰの送出を行わせたときの、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現回数Ａｃ（ｙ）  は、数１５によって求められる。
【００９２】
【数１５】
2004185170.tif 000007
【００９３】
ｃが０からＭまでの数値範囲内の計数値のいずれかをとり、各計数値に対して、乱数データ発生部３１にＫ回の乱数データＤＥＮの出力を行わせ、モジュロ演算部３４にＫ回の出力乱数データＤＯＰの送出を行わせたときの、０からＭまでに制限された数値範囲内の乱数値を夫々あらわすＭ＋１個の出力乱数データＤＯＰの各々の出現回数Ａｚｓ（ｙ）  は、数１６によって求められる。
【００９４】
【数１６】
2004185170.tif 000008
【００９５】
以上よりして、０からＭまでに制限された数値範囲内の乱数値をあらわす出力乱数データＤＯＰは、夫々の出現頻度を実質的に等しいものとすることになる。
【００９６】
図６は、本願の特許請求の範囲における請求項６に記載された発明に係る乱数データ形成装置の一例を示す。
【００９７】
図６に示される例は、図５に示される例において、乱数データ発生部３１に代えて、データ入力端子３６を備えるようにしたものに相当する。図６においては、図５に示される各部及び各データあるいは信号に対応する部分及びデータあるいは信号が、図５と共通の符号が付されており、それらについての重複説明は省略される。
【００９８】
図６に示されるデータ入力端子３６には、図５に示される例における乱数データ発生部３１と同様な乱数データ発生部３７からの、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データＤＥＮが供給される。そして、データ入力端子３６に供給された乱数データＤＥＮは、そのまま、演算部３３に供給される。演算部３３には、カウンタ部３２からの計数値データＤＣＯも供給される。
【００９９】
それにより、図６に示される例における演算部３３及びモジュロ演算部３４においても、図５に示される例における演算部３３及びモジュロ演算部３４における動作と同じ動作が行われ、モジュロ演算部３４から、図５に示される例におけるものと同様な出力乱数データＤＯＰ、即ち、データ入力端子３６に供給される０からＮまでの数値範囲内の乱数値をあらわす乱数データＤＥＮに基づいて得られて、０からＭまでに制限された数値範囲内の乱数値をあらわし、各乱数値に関する出現頻度を実質的に等しいものとする出力乱数データＤＯＰが送出される。
【０１００】
【発明の効果】
以上の説明から明らかな如く、本願の特許請求の範囲における請求項１から請求項４までのいずれかに記載された発明に係る乱数データ形成装置にあっては、データ選択部によって、各々の出現頻度が実質的に等しいものとされた０からＮまでの数値範囲内の乱数値をあらわす乱数データが、Ｍ以下の乱数値をあらわすものであるときにはその乱数データが出力乱数データとして取り出され、また、Ｍを越える乱数値をあらわすものであるときには、その乱数データに代えて、０からＭまでの計数値のいずれかをあらわす計数値データが出力乱数データとして取り出される。そして、少なくとも計数値データが出力乱数データとして取り出されるときには、その計数値データが、計数が一つ進められたものに変更される。その結果、データ選択部から得られる出力乱数データは、各々の出現頻度が実質的に等しいものとされた０からＮまでの数値範囲内の乱数値をあらわす乱数データを元にして、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで得られる、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データとされる。
【０１０１】
従って、本願の特許請求の範囲における請求項１から請求項４までのいずれかに記載された発明に係る乱数データ形成装置によれば、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データに基づき、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データを得ることができることになる。
【０１０２】
また、本願の特許請求の範囲における請求項５または請求項６に記載された発明に係る乱数データ形成装置にあっては、各々の出現頻度が実質的に等しいものとされた０からＮまでの数値範囲内の乱数値をあらわす乱数データと、０からＭまで順次変化していく計数値をあらわす計数値データとが、演算部に供給されて、演算部により、乱数データがあらわす乱数値と計数値データがあらわす計数値とについての加算演算が行われ、その結果得られる加算値をあらわす演算値データが形成される。そして、モジュロ演算部によって、演算値データがあらわす演算値をＭ＋１で除して得られる余りの数値を求めるモジュロＭ＋１演算が行われ、求められた余りの数値をあらわす数値データが出力乱数データとされる。その結果、モジュロ演算部から得られる出力乱数データは、各々の出現頻度が実質的に等しいものとされた０からＮまでの数値範囲内の乱数値をあらわす乱数データを元にして、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで得られる、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データとされる。
【０１０３】
従って、本願の特許請求の範囲における請求項５または請求項６に記載された発明に係る乱数データ形成装置によっても、各々の出現頻度が実質的に等しい０からＮまでの数値範囲内の乱数値をあらわす乱数データに基づき、各々の出現頻度が実質的に等しいものとされる状況が維持されるもとで、０からＭまでに制限された数値範囲内の乱数値をあらわす乱数データを得ることができることになる。
【図面の簡単な説明】
【図１】本願の特許請求の範囲における請求項１に記載された発明に係る乱数データ形成装置の一例を示すブロック構成図である。
【図２】本願の特許請求の範囲における請求項２に記載された発明に係る乱数データ形成装置の一例を示すブロック構成図である。
【図３】本願の特許請求の範囲における請求項３に記載された発明に係る乱数データ形成装置の一例を示すブロック構成図である。
【図４】本願の特許請求の範囲における請求項４に記載された発明に係る乱数データ形成装置の一例を示すブロック構成図である。
【図５】本願の特許請求の範囲における請求項５に記載された発明に係る乱数データ形成装置の一例を示すブロック構成図である。
【図６】本願の特許請求の範囲における請求項６に記載された発明に係る乱数データ形成装置の一例を示すブロック構成図である。
【図７】乱数データ発生部と加減モジュロ演算部とを用いた暗号化装置の説明に供されるブロック構成図である。
【図８】図７に示される暗号化装置の説明に供される乱数データ出現頻度ヒストグラムである。
【図９】図７に示される暗号化装置の説明に供される暗号化ワードデータ出現頻度ヒストグラムである。
【符号の説明】
２１，２６，２８，３１，３７・・・乱数データ発生部，  ２２，２３・・・カウンタ部，  ２３・・・データ選択部，  ２４，３５・・・クロック信号発生部，  ２５，２７，３６・・・データ入力端子，  ３３・・・演算部，  ３４・・・モジュロ演算部
【図１】
2004185170.tif 000009
【図２】
2004185170.tif 000010
【図３】
2004185170.tif 000011
【図４】
2004185170.tif 000012
【図５】
2004185170.tif 000013
【図６】
2004185170.tif 000014
【図７】
2004185170.tif 000015
【図８】
2004185170.tif 000016
【図９】
2004185170.tif 000017