(57)【要約】【課題】ユーザが所望する安全性レベルの混合乱数を生成する。【解決手段】安全性レベルＬと要求混合乱数サイズＳＰが入力され（４０、Ｓ２２）、要求混合乱数サイズＳＰの混合乱数Ｐを生成するために必要な真性乱数のサイズＳＭと対策擬似乱数のサイズＳＲを求め（４２２、Ｓ２４、Ｓ２６）、暗号危殆化に対する対策処理をして、サイズＳＲ以上のサイズで対策擬似乱数Ｒａを生成し（４４、Ｓ２７）サイズＳＭの真性乱数Ｍと対策擬似乱数Ｒａとを混合させて要求混合乱数サイズＳＰの混合乱数Ｐを生成する（４２、Ｓ２８）。【選択図】図８
2008234051.tif 000002
【特許請求の範囲】
【請求項１】
要求混合乱数サイズが入力される入力部と、
擬似乱数から暗号危殆化に対する対策処理をして、前記要求混合乱数サイズに応じたサイズの対策擬似乱数を生成する対策部と、
真性乱数と前記対策擬似乱数とを混合させて前記要求混合乱数サイズの混合乱数を生成する混合部と、を有することを特徴とする混合乱数生成装置。
【請求項２】
安全性レベルと、要求混合乱数サイズと、が入力される入力部と、
前記安全性レベルに応じたサイズの真性乱数と、前記要求混合乱数サイズに応じたサイズの擬似乱数と、を混合させて前記要求混合乱数サイズの混合乱数を生成する混合部と、を有することを特徴とする混合乱数生成装置。
【請求項３】
請求項１記載の混合乱数生成装置において、
前記入力部は、更に安全性レベルが入力されるものであり、
前記混合部は、
安全性レベルに従って混合乱数を生成し、
要求された安全性レベルであり、要求混合乱数サイズの混合乱数を生成するために必要な真性乱数のサイズと対策擬似乱数のサイズを求めるサイズ計算部も有するものであり、
前記対策部は、混合乱数を生成するために必要な対策擬似乱数のサイズ以上のサイズを前記要求混合乱数サイズに応じたサイズとするものであることを特徴とする混合乱数生成装置。
【請求項４】
請求項１または３記載の混合乱数生成装置において、
前記対策部は、第１〜第Ｆ（Ｆは１以上の整数）の擬似乱数生成手段を有しており、
Ｆ≧２の場合は、第１の擬似乱数生成手段は、前記入力部よりの擬似乱数から第１の擬似乱数を生成するものであり、
第ｆ（ｆは１＜ｆ≦Ｆを満たす整数）の擬似乱数生成手段は、第ｆ−１の擬似乱数生成手段で生成された第ｆ−１の擬似乱数から、第ｆの擬似乱数を生成し、
第Ｆの擬似乱数生成手段は、第Ｆ−１の擬似乱数生成手段で生成された第Ｆ−１の擬似乱数から、前記対策擬似乱数を生成することを特徴とする混合乱数生成装置。
【請求項５】
請求項１または３記載の混合乱数生成装置において、
前記対策部は、前記入力部よりの複数の擬似乱数の排他的論理和を計算して、前記対策擬似乱数を生成するものであることを特徴とする混合乱数生成装置。
【請求項６】
請求項１〜５何れかに記載の混合乱数生成装置において、
前記混合部は、前記真性乱数の全ての要素と、当該要素に対応する前記擬似乱数もしくは前記対策擬似乱数の要素とを置換することで、混合乱数を生成することを特徴とする混合乱数生成装置。
【請求項７】
請求項１〜５何れかに記載の混合乱数生成装置において、
前記混合部は、前記真性乱数の全ての要素と、当該要素に対応する前記擬似乱数もしくは前記対策擬似乱数の要素との排他的論理和を計算することで、混合乱数を生成することを特徴とする混合乱数生成装置。
【請求項８】
請求項２〜５何れかに記載の混合乱数生成装置であって、
前記混合部は、
前記安全性レベルに応じて、前記真性乱数の一部から位置情報を生成する位置情報生成部と、
前記擬似乱数もしくは前記対策擬似乱数の前記位置情報に対応する要素と、前記真性乱数の残りの部分の要素とを置換することで混合乱数を生成する置換部と、を有することを特徴とする混合乱数生成装置。
【請求項９】
請求項２〜５何れかに記載の混合乱数生成装置であって、
前記混合部は、
前記安全性レベルに応じて、前記真性乱数の一部から位置情報を生成する位置情報生成部と、
前記擬似乱数もしくは前記対策擬似乱数の前記位置情報に対応する要素と、前記真性乱数の残りの部分の要素との排他的論理和を計算することで混合乱数を生成する排他的論理和計算部と、を有することを特徴とする混合乱数生成装置。
【請求項１０】
請求項１〜５何れかに記載の混合乱数生成装置であって、
前記混合部は、
前記擬似乱数もしくは前記対策擬似乱数をブロック化してブロック化擬似乱数もしくはブロック化対策擬似乱数を、前記真性乱数をブロック化してブロック化真性乱数を、生成するブロック化部と、
前記ブロック化擬似乱数もしくは前記ブロック化対策擬似乱数と、前記ブロック化真性乱数と、から定められる位置に前記ブロック化真性乱数の各々を前記ブロック化擬似乱数もしくは前記ブロック化対策擬似乱数に入れ込む入れ込み部と、を有することを特徴とする混合乱数生成装置。
【請求項１１】
請求項１〜５何れかに記載の混合乱数生成装置であって、
前記混合部は、
前記真性乱数の一部から位置情報を生成する位置情報生成部と、
残りの真性乱数をブロック化してブロック化真性乱数を、前記擬似乱数もしくは前記対策擬似乱数をブロック化してブロック化擬似乱数もしくはブロック化対策擬似乱数を、生成するブロック化部と、
前記位置情報に対応する前記ブロック化擬似乱数もしくは前記ブロック化対策擬似乱数に、前記ブロック化真性乱数を入れ込む入れ込み部を有することを特徴とする混合乱数生成装置。
【請求項１２】
安全性レベルと、暗号化を所望する情報と、が入力されるユーザ端末と、
真性乱数を生成もしくは記憶する真性乱数生成装置と、
擬似乱数を生成する擬似乱数生成装置と、
前記真性乱数生成装置よりの前記真性乱数と、前記擬似乱数生成装置よりの前記擬似乱数と、から前記混合乱数を生成する請求項１〜１１の何れかに記載の混合乱数生成装置と、
前記混合乱数生成装置よりの前記混合乱数を用いて、前記ユーザ端末よりの前記情報を暗号化した暗号文を前記ユーザ端末に送信する論理演算装置と、を有することを特徴とする情報処理システム。
【請求項１３】
安全性レベルと、暗号化を所望する情報と、が入力されるユーザ端末と、
真性乱数を生成もしくは記憶する真性乱数生成装置と、
擬似乱数を生成する擬似乱数生成装置と、
前記真性乱数生成装置よりの前記真性乱数と、前記擬似乱数生成装置よりの前記擬似乱数と、から前記混合乱数を生成する請求項１〜１１の何れかに記載の混合乱数生成装置と、
前記混合乱数生成装置よりの前記混合乱数を用いて、前記ユーザ端末よりの前記情報を秘密分散して秘密分散情報を生成する秘密分散装置と、
前記秘密分散情報を保存し、保存完了をすると、保存完了信号を前記ユーザ端末を生成して送信する保存装置と、を有することを特徴とする情報処理システム。
【請求項１４】
入力手段に、要求混合乱数サイズが入力される入力過程と、
対策手段が、複数の擬似乱数から暗号危殆化に対する対策処理をして、前記要求混合乱数サイズに応じたサイズの対策擬似乱数を生成する対策過程と、
混合手段が、真性乱数と前記対策擬似乱数とを混合させて前記要求混合乱数サイズの混合乱数を生成する混合過程と、を有することを特徴とする混合乱数生成方法。
【請求項１５】
入力手段に、安全性レベルと、要求混合乱数サイズと、が入力される入力過程と、
混合手段が、前記安全性レベルに応じたサイズの真性乱数と、前記要求混合乱数サイズに応じたサイズの擬似乱数と、を混合させて前記要求混合乱数サイズの混合乱数を生成する混合過程と、を有することを特徴とする混合乱数生成方法。
【請求項１６】
請求項１４記載の混合乱数生成方法において、
前記入力過程は、更に安全性レベルが入力される過程であり、
前記混合過程は、
安全性レベルに従って混合乱数を生成し、
サイズ計算手段が、要求された安全性レベルであり、要求混合乱数サイズの混合乱数を生成するために必要な真性乱数のサイズと対策擬似乱数のサイズを求めるサイズ計算過程も有する過程であり、
前記対策過程は、混合乱数を生成するために必要な対策擬似乱数のサイズ以上のサイズを前記要求混合乱数サイズに応じたサイズとする過程であることを特徴とする混合乱数生成方法。
【請求項１７】
請求項１〜１１記載の混合乱数生成装置の各処理をコンピュータに実行させるための混合乱数生成プログラム。
【請求項１８】
請求項１７記載の混合乱数生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報を暗号化する際などに用いる乱数の生成に関し、特に必要な安全性レベルの乱数を生成する混合乱数生成装置、その方法、そのプログラム、その記録媒体、及び混合乱数生成装置を用いた情報処理システムに関する。
【背景技術】
【０００２】
情報を暗号化する際などに用いる乱数として、以下の２つの乱数がある。
（１）真性乱数
真性乱数とは、熱雑音などの物理現象を数値化などをすることで得られる乱数である。極めて安全性レベルの高い乱数であるが、大量に得るのが難しい。従って、生成コストが高い。
（２）擬似乱数
擬似乱数は、暗号アルゴリズムにより生成される。真性乱数と比べると、安全性レベルは低いが、コンピュータ上で計算により生成されるため、大量に得ることができる。
【０００３】
真性乱数と擬似乱数の安全性について補足する。安全性の強い擬似乱数は無作為性（乱数性に統計的な偏りがないこと）、予測不可能性（過去の系列から次の系列を言い当てることができないこと）を持つ。しかし、再現不可能性（ある乱数列と同じ乱数列を生成できないことである。つまり、無限の周期を持つ必要がある。）を持たない。
一方、真性乱数は無作為性、予測不可能性の他に、再現不可能性をも併せ持つ。従って、真性乱数は擬似乱数よりも安全性が高いことが知られている。
真性乱数の詳細は、以下の非特許文献１に、擬似乱数の詳細は、以下の非特許文献１、２に記載されている。
【非特許文献１】「暗号技術入門」Ｐ２９８〜Ｐ３１５  ソフトバンクパブリッシング  ２００３
【非特許文献２】「現代暗号」Ｐ４５〜Ｐ６３  岡本龍明、山本博資  産業図書  １９９７
【発明の開示】
【発明が解決しようとする課題】
【０００４】
以下に解決しようとしている課題を２点述べる。
（１）従来の技術では、乱数を扱う場合、上述した擬似乱数、真性乱数からどちらかを選択する必要があった。しかし、安全性レベルが擬似乱数より高く、真性乱数より低い乱数で情報を暗号化したい場合がある。その場合に必要となる安全性レベルに応じた乱数を生成できなかった。
（２）従来の擬似乱数生成技術では、擬似乱数生成アルゴリズムが危殆化した場合に、生成される擬似乱数の安全性は失われる。このため、暗号危殆化に対する対策が必要となっていた。
本発明の目的は、上記（１）のみ、もしくは両方を解決することである。
【課題を解決するための手段】
【０００５】
この発明の混合乱数生成装置は、入力部と、対策部と、混合部と、を有する。入力部は要求混合乱数サイズが入力される。対策部は、擬似乱数から暗号危殆化に対する対策処理をして、要求混合乱数サイズに応じたサイズの対策擬似乱数を生成する。混合部は、真性乱数と対策擬似乱数とを混合させて要求混合乱数サイズの混合乱数を生成する。
また、入力部には、更に安全性レベルが入力されるようにしても良い。その場合には、混合部は、安全性レベルに従って混合乱数を生成し、要求された安全性レベルであり、要求混合乱数サイズの混合乱数を生成するために必要な真性乱数のサイズと対策擬似乱数のサイズを求めるサイズ計算部も有しても良い。対策部は、混合乱数を生成するために必要な対策擬似乱数のサイズ以上のサイズを要求混合乱数サイズに応じたサイズとしてもよい。
【０００６】
更に、対策部は、第１〜第Ｆ（Ｆは１以上の整数）の擬似乱数生成手段を有してもよい。Ｆ≧２の場合は、第１の擬似乱数生成手段は、入力部よりの擬似乱数から第１の擬似乱数を生成する。第ｆ（ｆは１＜ｆ≦Ｆを満たす整数）の擬似乱数生成手段は、第ｆ−１の擬似乱数生成手段で生成された第ｆ−１の擬似乱数から、第ｆの擬似乱数を生成する。第Ｆの擬似乱数生成手段は、第Ｆ−１の擬似乱数生成手段で生成された第Ｆ−１の擬似乱数から、対策擬似乱数を生成する。
更に、対策部は、複数の擬似乱数の排他的論理和を計算して、対策擬似乱数を生成してもよい。
【０００７】
この発明の混合乱数生成装置の別の構成として、入力部と、混合部と、を有する。入力部は、安全性レベルと、要求混合乱数サイズと、が入力される。混合部は、安全性レベルに応じたサイズの真性乱数と、要求混合乱数サイズに応じたサイズの擬似乱数と、を混合させて要求混合乱数サイズの混合乱数を生成する。
更に、混合部は、真性乱数の全ての要素と、当該要素に対応する擬似乱数もしくは対策擬似乱数の要素とを置換することで、混合乱数を生成してもよい。
更に、混合部は、真性乱数の全ての要素と、当該要素に対応する擬似乱数もしくは対策擬似乱数の要素との排他的論理和を計算することで、混合乱数を生成してもよい。
【０００８】
更に、混合部は、位置情報生成部と置換部とを有しても良い。位置情報生成部は、安全性レベルに応じて、真性乱数の一部から位置情報を生成する。置換部は、擬似乱数もしくは対策擬似乱数の位置情報に対応する要素と、真性乱数の残りの部分の要素とを置換することで混合乱数を生成する。
更に、混合部は、位置情報生成部と排他的論理和計算部とを有しても良い。位置情報生成部は、安全性レベルに応じて、真性乱数の一部から位置情報を生成する。排他的論理和計算部は、擬似乱数もしくは対策擬似乱数の位置情報に対応する要素と、真性乱数の残りの部分の要素と、の排他的論理和を計算することで混合乱数を生成する。
【０００９】
更に、混合部は、ブロック化部と入れ込み部とを有しても良い。ブロック化部は、擬似乱数もしくは対策擬似乱数をブロック化してブロック化擬似乱数もしくはブロック化対策擬似乱数を生成する。また真性乱数をブロック化してブロック化真性乱数を生成する。入れ込み部は、ブロック化擬似乱数もしくはブロック化対策擬似乱数と、真性乱数と、から定められる位置にブロック化真性乱数の各々を入れ込む。
更に、混合部は、位置情報生成部とブロック化部と入れ込み部とを有しても良い。位置情報生成部は、真性乱数の一部から位置情報を生成する。ブロック化部は、残りの真性乱数をブロック化してブロック化真性乱数を生成し、擬似乱数もしくは対策擬似乱数をブロック化してブロック化擬似乱数もしくはブロック化対策擬似乱数を生成する。入れ込み部は、位置情報に対応する前記ブロック化擬似乱数もしくは前記ブロック化対策擬似乱数に、前記ブロック化真性乱数を入れ込む。
【発明の効果】
【００１０】
上記の構成により、課題（１）が解決されたことを説明する。図１は、この発明の混合乱数生成装置により生成される混合乱数と、真性乱数と擬似乱数との安全性の関係を示した概略図である。図１に示すように、真性乱数の安全性レベルを上限（以下、上限レベルという）とし、擬似乱数の安全性レベルを下限（以下、下限レベルという）とすることが出来る。そうすると、混合乱数の安全性レベルは下限レベル以上であり、上限レベル以下とすることが出来る。そして、混合乱数の安全性レベルは、ユーザにより入力される安全性レベルにより定まる。よって、この発明の混合乱数生成装置により、ユーザは、所望の安全性レベルの混合乱数を生成することが出来る。また、生成された混合乱数は擬似乱数よりも安全性レベルが高く、真性乱数生成コストも抑えることが出来る。つまり、低コストで、擬似乱数より安全性レベルの高い混合乱数を生成することが出来る。従って、上記課題（１）を解決することが出来る。
【００１１】
次に、課題（２）が解決されたことを説明する。この発明の混合乱数生成装置中の対策部は、複数の擬似乱数から暗号危殆化に対する対策処理をして、要求混合乱数サイズに応じたサイズの対策擬似乱数を生成する。これにより、擬似乱数生成装置で用いる情報が危殆化した場合でも、混合乱数生成処理に用いられる擬似乱数の安全性は失われない。つまり、図１記載の下限レベルを上昇させることが出来る。従って、上記課題（２）も解決することが出来る。
【発明を実施するための最良の形態】
【００１２】
以下に、発明を実施するための最良の形態を示す。
【実施例１】
【００１３】
図２に実施例１の混合乱数生成装置２−１等の機能構成例を示し、図３に混合乱数生成装置２−１の主な処理の流れを示す。混合乱数生成装置２−１は入力部４、対策部６、混合部８、出力部１０により構成される。また、真性乱数生成装置１００で、真性乱数Ｍは生成され、擬似乱数生成装置１０２で、Ｎ個（ただしＮは１以上の整数）の擬似乱数Ｒ１〜ＲＮが生成される。Ｎ個の擬似乱数Ｒ１〜ＲＮのそれぞれがＸビット（例えばＸ＝１２８）単位で生成されるように、擬似乱数生成装置１０２は設定されている。なお、以下の説明では同一機能構成部分には同一参照番号を付け、重複説明を省略する。
【００１４】
入力部４には、真性乱数生成装置１００よりの真性乱数Ｍと、擬似乱数生成装置１０２よりのＮ個の擬似乱数Ｒ１〜ＲＮが入力される。また、ユーザよりの要求混合乱数サイズＳＰが受付サーバ１０８を介して入力部４に入力される（ステップＳ２）。要求混合乱数サイズＳＰとは、混合乱数のユーザが所望するサイズである。サイズとはビット数を示す。要求混合乱数サイズＳＰはＸの倍数である。擬似乱数Ｒ１〜ＲＮは対策部６に入力され、真性乱数Ｍと要求混合乱数サイズＳとは混合部８に入力される。
対策部６で、暗号危殆化に対する対策処理をして、複数の擬似乱数Ｒ１〜ＲＮから要求混合乱数サイズＳＰに応じたサイズＳＲの対策擬似乱数Ｒａが生成される（ステップＳ４）。対策擬似乱数Ｒａの生成処理は主に以下の２つがある。
【００１５】
対策擬似乱数生成処理１
図４−１に対策擬似乱数生成処理１を採用した対策部６の処理の過程を示し、図４−２に対策擬似乱数生成処理１の流れを示す。対策部６が対策擬似乱数生成処理１を採用した場合は、１つの擬似乱数Ｒ１が用いられる。つまり、入力部６には１つの擬似乱数Ｒ１を入力させるようにしてもよく、複数の擬似乱数Ｒ１〜ＲＮが入力され、そのうちの１つを用いるようにしても良い。
図４−１に示すように、対策擬似乱数生成処理１を採用した対策部６は第１〜第Ｆ（Ｆは１以上の整数）の擬似乱数生成手段６２１〜６２Ｆにより構成される。以下の説明では、ｆは１〜Ｆを満たす整数とし、第ｆの擬似乱数生成手段６２ｆで生成された擬似乱数をＧｆと示し、擬似乱数Ｇｆのビット数をＨｆとする。Ｈｆは整数である。第１の擬似乱数生成手段６２１は、入力部４よりの擬似乱数Ｒ１からα１ビットを用いて、第１の擬似乱数Ｇ１を生成する。第ｆ−１（ｆ≧３）の擬似乱数生成手段６２ｆ−１で生成されたＨｆ−１ビットの第ｆ−１の擬似乱数Ｇｆ−１からαｆビットを用いて、第ｆの擬似乱数生成手段６２ｆは擬似乱数Ｇｆを生成する。
【００１６】
Ｆ≧２の場合は、図４−１に示すように、第１の擬似乱数生成手段６２１で、入力部４よりの擬似乱数Ｒ１から、α１ビット用いて、第１の擬似乱数Ｇ１が生成される（ステップＳ２０２）。第１の擬似乱数Ｇ１中のα２ビットを用いて、第２の擬似乱数生成手段６２２（図示せず）で（ステップＳ２０４）、第２の擬似乱数Ｇ２が生成される。第２の擬似乱数Ｇ２中のα３ビットを用いて、第３の擬似乱数生成手段６２３（図示せず）で、第３の擬似乱数Ｇ３が生成される。これらの処理は繰り返される。
そして、第ｆ−１の擬似乱数生成手段６２ｆ−１で、第ｆ−１の擬似乱数Ｇｆ−１が生成される。第ｆ−１の擬似乱数Ｇｆ−１中のαｆビットを用いて、第ｆの擬似乱数生成手段６２ｆで、第ｆの擬似乱数Ｇｆが生成される（ステップＳ２０６）。そして、これらの処理は繰り返される（ステップＳ２０８、ステップＳ２１０）。
【００１７】
第Ｆ−１の擬似乱数生成手段６２（Ｆ−１）で、第Ｆ−１の擬似乱数ＧＦ−１が生成される。第Ｆ−１の擬似乱数ＧＦ−１中のαＦビットを用いて、第Ｆの擬似乱数生成手段６２Ｆで、対策擬似乱数Ｒａが生成される（ステップＳ２１２）。
Ｆの値が大きいほど、つまり、擬似乱数生成手段６２ｆの数が多いほど、対策擬似乱数の安全性は増加する。ただし、各々の擬似乱数生成手段６２ｆは独立していなければならない。第１〜第Ｆの擬似乱数生成手段６２１〜６２Ｆでは、例えば、公知の技術であるブロック暗号やストリーム暗号をベースとした擬似乱数生成アルゴリズムが用いられる。
【００１８】
Ｆ＝１の場合は、第１の擬似乱数生成手段６２１対策擬似乱数Ｒａが生成される。
対策擬似乱数生成処理２
図５−１に対策擬似乱数生成処理２を採用した対策部６の機能構成例と処理の流れを示し、図５−２に対策擬似乱数生成処理２を採用した対策部６の変形例を示す。対策部６が対策擬似乱数生成処理２を採用した場合は、複数の擬似乱数Ｒ１〜ＲＮ（Ｎ≧２）が入力部６に入力される。
対策部６は図５−１に示すように、第１〜第Ｎ−１の排他的論理和計算部６３１〜６３Ｎ−１で構成される。Ｎは上述したように、擬似乱数生成装置１０２よりの入力部４に入力される擬似乱数の数である。
【００１９】
図５−１に示すように、第１の排他的論理和計算手段６３１で、入力部４よりの第１の擬似乱数Ｒ１と、入力部４よりの第２の擬似乱数Ｒ２との排他的論理和が計算され、第１の計算後乱数Ｒｃ１が生成される。次に、第２の排他的論理和計算手段６３２で、第１の計算後乱数Ｒｃ１と、第３の擬似乱数Ｒ３との排他的論理和が計算されて、第２の計算後乱数Ｒｃ２が生成される。このような処理が繰り返される。そして、第Ｎ−１の排他的論理和計算手段６３Ｎ−１で、第Ｎ−２の排他的論理和計算手段６３Ｎ−２よりの計算後乱数ＲｃＮ−２と、入力部４よりの第Ｎの擬似乱数ＲＮとの排他的論理和を計算して、対策擬似乱数Ｒａが生成される。排他的論理和計算手段の数が多い、つまり入力部４よりの擬似乱数の数が多いほど、対策擬似乱数Ｒａの安全性は増加する。
【００２０】
また、図５−２に示すように、対策擬似乱数生成処理２を採用した対策部６を、排他的論理和計算部６３２としてもよい。排他的論理和計算部６３２は複数の擬似乱数の排他的論理和を計算できるものである。図５−２に示すように、排他的論理和計算部６３２で、複数の擬似乱数Ｒ１〜ＲＮの排他的論理和を計算して、対策擬似乱数Ｒａが生成される。つまり、以下の式を計算することで、生成できる。
【００２１】
【数１】
2008234051.tif 000003
【００２２】
この場合も、擬似乱数の数が多いほど、対策擬似乱数Ｒａの安全性は増加する。
説明を図２に戻す。混合部８は、真性乱数Ｍと対策擬似乱数Ｒａとを混合させて、要求混合乱数サイズＳの混合乱数Ｐを生成する（ステップＳ６）。具体的な混合方法は後ほど説明する。
もし、対策擬似乱数Ｒａのビット数が余った場合は、廃棄する。真性乱数Ｍのビット数が余った場合は、真性乱数Ｍは生産コストが高いので廃棄せずに、記憶部（図示せず）などで記憶させておくことが好ましい。生成された混合乱数Ｐは出力部１０から出力される。
実施例１の混合乱数生成装置２−１は上述のような構成なので、上記課題（１）と（２）を解決できる。
【実施例２】
【００２３】
図６に実施例２の混合乱数生成装置２−２の機能構成例を示し、図７に混合乱数生成装置２−２の主な処理の流れを示す。混合乱数生成装置２−２は入力部２０、混合部２２、出力部２４により構成される。実施例１の混合乱数生成装置２−２は、対策部６がなく、入力部に安全性レベルＬが入力される点が混合乱数生成装置２−２と異なる。
入力部２０には、ユーザが入力して受付サーバ１０８を介した安全性レベルＬ、要求混合乱数サイズＳと擬似乱数生成装置１０２よりの擬似乱数Ｒと、が入力される（ステップＳ１２）。ここで、安全性レベルＬとは、生成される混合乱数Ｐの安全性を定める値である。安全性レベルＬ、混合乱数サイズＳ、擬似乱数Ｒとが混合部２２に入力される。
【００２４】
混合部２２では、安全性レベルＬに応じたサイズＳＭの真性乱数Ｍと、要求混合乱数サイズＳＰに応じたサイズＳＲの擬似乱数Ｒと、を混合させて要求混合乱数サイズＳＰの混合乱数Ｐが生成される（ステップＳ１４）。
混合部２２で、真性乱数Ｍと擬似乱数Ｒとが混合されて混合乱数Ｐが生成される。真性乱数Ｍのビットが余れば図示しない記憶部に保存し、擬似乱数Ｒのビットが余れば、廃棄する。
生成された混合乱数Ｐは出力部２４から出力される。
実施例２の混合乱数生成装置２−２は、上述のような構成なので、上記課題（１）を解決することが出来る。また、安全性レベルを自由に変更できる。
【実施例３】
【００２５】
図８に実施例３の混合乱数生成装置２−３等の機能構成例を示し、図９に混合乱数生成装置２−３の主な処理の流れを示す。混合乱数生成装置２−３は、入力部に安全性レベルＬが入力される点が、混合乱数生成装置２−１と異なる。
混合乱数生成装置２−３は入力部４０、混合部４２、対策部４４、出力部４６とで構成される。ユーザよりの安全性レベルＬ、混合乱数サイズＳ、擬似乱数生成装置１０２よりの複数の擬似乱数Ｒ１〜ＲＮが入力される（ステップＳ２２）。
混合乱数生成装置２−３の混合部４２が実施例１、２で説明した混合部８、２２と違う点は、要求された安全性レベルＬであり、要求混合乱数サイズＳＰの混合乱数Ｐを生成するために必要な真性乱数サイズＳＭと対策擬似乱数のサイズＳＲを求めるサイズ計算部４２２を有しており、安全性レベルに従って混合乱数を生成することである。
【００２６】
サイズ計算部４２２による真性乱数サイズＳＭ、対策擬似乱数のサイズＳＲの求め方は、以下で説明する混合部４２の混合処理に依存する。
真性乱数サイズＳＭが求まると（ステップＳ２４）、真性乱数サイズＳＭの真性乱数Ｍを要求するための真性乱数サイズ信号を生成し、出力部２４を介して、真性乱数生成装置１００に出力する。真性乱数サイズ信号を受信した真性乱数生成装置１００は、当該信号から真性乱数サイズＳＭを読み取り、このサイズＳＭの真性乱数Ｍの混合乱数生成装置２−２に出力する。真性乱数サイズＳＭの真性乱数Ｍは入力部２０を介して、混合部２２に入力される。また、真性乱数生成装置１００で真性乱数Ｍが生成される度に、混合乱数生成装置２−３に送信し、入力部２０内の記憶部２０２（破線で示す）で記憶することも出来る。この場合は、サイズ計算部２２１で計算された真性乱数サイズＳＭ分だけ、混合部２２が記憶部２０２から真性乱数Ｍを取り込めばよい。
【００２７】
同様に、サイズ計算部４２２により、擬似乱数サイズＳＲが求まると（ステップＳ２６）、混合部４２で、入力された擬似乱数ＲからサイズＳＲ分だけ抽出し、その他の部分を廃棄することも出来る。また、生成された対策擬似乱数Ｒａを対策部４４内の記憶部４４２で記憶させ、サイズＳＲ分の対策擬似乱数Ｒａだけ取り込むことも出来る。また、サイズＳＲの対策擬似乱数Ｒａに対応する擬似乱数Ｒ１〜ＲＮを要求するための擬似乱数サイズ信号を生成し、出力部４６から擬似乱数生成装置１０２に対して出力し、擬似乱数生成装置１０２のＸの値を変更して、所望のサイズの擬似乱数を送信させるようにしてもよい。
【００２８】
対策部４４では、上述した対策擬似乱数生成処理１、２などで、対策擬似乱数Ｒａが生成される（ステップＳ２７）。対策部４４は、混合乱数Ｐを生成するために必要な対策擬似乱数Ｒａのサイズ以上のサイズを要求混合乱数サイズＳＰに応じたサイズとする。
混合部４２で、真性乱数Ｍと対策擬似乱数Ｒａとを混合させ混合乱数Ｐが生成される（ステップＳ２８）。
次に、実施例１〜３で説明した混合部の混合処理について説明する。混合処理は主に５種類ある。
混合処理１
混合部が混合処理１を採用すると、真性乱数Ｍの全ての要素と、当該要素に対応する擬似乱数Ｒもしくは対策擬似乱数Ｒａの要素とを置換することで混合乱数Ｐを生成できる。ここで要素とは例えば、１ビットであり、このことは以下、同様とする。図１０に混合処理１の処理過程を示す。図１０に示すように、上位ビットから、擬似乱数Ｒもしくは対策擬似乱数Ｒａのビットと、真性乱数Ｍのビットと、を置換して混合乱数Ｐを生成する。また、上位ビットではなく、下位ビット等から置換してもよいし、予め定められた中間のビット等を置換しても良い。
混合処理２
混合部が混合処理２を採用すると、真性乱数の全ての要素と、当該要素に対応する擬似乱数もしくは対策擬似乱数の要素との排他的論理和を計算することで、混合乱数Ｐを生成できる。図１１に混合処理２の処理過程を示す。図１１に示すように、上位ビットから、擬似乱数Ｒもしくは対策擬似乱数Ｒａのビットと、真性乱数Ｍのビットとの排他的論理和をビット毎に計算して、混合乱数Ｐを求めることが出来る。また、上位ビットではなく、下位ビットからや、中間のビットの排他的論理和を計算しても問題はない。
【００２９】
なお、混合処理１と混合処理２を比較すると、混合処理１は混合処理２より計算量は少ないというメリットがあるが、混合処理の安全性は、真性乱数Ｍと対策擬似乱数Ｒａ等のうち安全性が低い方に依存する。一方、混合処理２は混合処理１より計算量は多くなるが、真性乱数Ｍと対策擬似乱数Ｒａ等のうち安全性が高い方に依存し、混合処理１に比べて、安全性が高いというメリットがある。また、混合処理１、２の場合は、真性乱数のサイズＳＭは、安全性レベルＬと同値か、比例した値になる。対策擬似乱数Ｒａもしくは擬似乱数ＲのサイズＳＲは要求混合乱数サイズＳＰと同値である。また安全性レベルＬはＸ＋１段階になる。
混合処理３
図１２に、混合処理３を採用する混合部の機能構成例を示す。図１３に混合処理３を採用する混合部の主な処理の流れを示す。混合処理３を採用する混合部は、位置情報生成部４０４と置換部４０６とで構成される。また混合処理３を採用する場合は、安全性レベルＬは８段階（例えば、０〜７）である。また、安全性レベルＬから求まるセキュリティレベルＴを使用する。セキュリティレベルＴは２Ｌで表すことができる。つまり、Ｔ＝１、２、４、８、１６、３２、６４、１２８になる。
【００３０】
また、擬似乱数Ｒの生成される単位ＸはＸ＝２ｃと表すことができる。混合処理３を採用する場合、必要な真性乱数のサイズＳＭは以下の式（１）で定まる。
ＳＭ＝２Ｌ＋ｃ−Ｌ    （１）
例えば、安全性レベルＬ＝３とし、Ｘ＝１２８（＝２７）である場合は、真性乱数ＭのサイズはＳＭ＝２３＋７−３＝１２（ビット）になる。
まず、位置情報生成部４０４で、真性乱数Ｍの一部からランダムになる位置情報Ｍ１と置換真性乱数Ｍ２が生成される（ステップＳ３０）。置換真性乱数Ｍ２とは、真性乱数Ｍから位置情報Ｍ１のビット分、取り除かれたビットで主に、構成されるものである。位置情報Ｍ１とは、置換真性乱数Ｍ２が対策擬似乱数Ｒａに置換される位置を示す情報である。位置情報Ｍ１と置換真性乱数Ｍ２とは置換部４０６に入力される。
【００３１】
置換部４０６では、対策擬似乱数Ｒａの位置情報Ｍ１に対応する要素と、真性乱数Ｍの残りの部分の要素である置換真性乱数Ｍ２と、が置換され、混合乱数Ｐが生成される（ステップＳ３２）。
位置情報Ｍ１、置換真性乱数Ｍ２の生成例として、真性乱数Ｍの下位からＴビットが置換真性乱数Ｍ２になる。真性乱数Ｍの残りの部分が位置情報Ｍ１になる。対策擬似乱数ＲａはＴ等分され、位置情報Ｍ１に応じて置換される。以下の説明では、この生成例に基づいて説明する。また、混合処理に用いられるのは擬似乱数Ｒではなく、対策擬似乱数Ｒａであり、対策擬似乱数Ｒａの全てのビットは「０」であり、Ｘ＝１２８とする。図１４−１に対策擬似乱数Ｒａのビットの数え方の一例を示す。また、図１４−２〜図１４−７にそれぞれ安全性レベル０〜５の置換部４０６による置換後の対策擬似乱数Ｒａつまり、混合乱数Ｐを示す。また、図１２の括弧書きに示すように、置換部４０６を排他的論理和計算部４０７に代替してもよい。この場合は、排他的論理和計算部４０７で対策擬似乱数Ｒａの位置情報Ｍ１に対応する要素と、真性乱数の残りの部分である置換真性乱数Ｍ２の要素との排他的論理和を計算することで混合乱数Ｐが生成される。なお、この例では、置換部４０６の置換処理により生成される混合乱数Ｐと、排他的論理和計算部４０７の排他的論理和計算により生成される混合乱数Ｐとは同一である。よって、排他的論理和計算部４０７を設けた場合の、排他的論理和計算後の対策擬似乱数Ｒａ、つまり混合乱数Ｐは図１４−２〜図１４−７と同一であるため、省略する。
【００３２】
図１４−１に示すように、例えば、対策擬似乱数Ｒａの各ビットには、下位バイトの下位ビットからｂ０、ｂ１、、、、と付ける。例えばｂＹは下位バイトの下位ビットからＹ＋１番目になる。
図１４−２は安全性レベルＬ＝０、セキュリティレベルＴ＝２Ｌ＝２０＝１の場合を示したものである。真性乱数ＭのサイズＳＭは上記式（１）より８ビットである。図１４−２Ａに示すように、まず、Ｔ＝１であることから、真性乱数Ｍの下位ビットからＴ（＝１）ビット分が置換真性乱数Ｍ２になる（ハッチングを施した箇所、以下同じ）。また残りのビットが、位置情報Ｍ１になる。この場合は、置換真性乱数Ｍ２は「１」になり、位置情報Ｍ１は「１、０、１、１、１、０、０」になる。この位置情報Ｍ１を１０進数に変換すると「９２」になる。そして、図１４−２Ｂに示すように、ｂ９２に該当するビットと置換真性乱数Ｍ２である「１」とを置換部４０６により置換（網目状の模様を施した箇所、以下同じ）、もしくは排他的論理和計算部４０７により排他的論理和計算をする。置換後もしくは排他的論理和計算後の対策擬似乱数Ｒａが混合乱数Ｐとして出力される。
【００３３】
図１４−３は安全性レベルＬ＝１、セキュリティレベルＴ＝２Ｌ＝２１＝２の場合を示したものである。真性乱数ＭのサイズＳＭは上記式（１）より８ビットである。この場合は、Ｔ＝２であることから、図１４−３Ａに示すように、真性乱数Ｍの下位ビットからＴ（＝２）ビット分が置換真性乱数Ｍ２になる。また残りのビットが、位置情報Ｍ１になる。この場合は、置換真性乱数Ｍ２は「０、１」になり、位置情報Ｍ１は「１、０、１、１、１、０、」になる。この位置情報Ｍ１を１０進数に変換すると「４６」になる。また、図１４−３Ｂに示すように、対策擬似乱数ＲａはＴ（＝２）等分され、６４ビットずつに分けられる。そして、位置情報Ｍ１（＝４６）に対策擬似乱数Ｒａの分割されたビット数（＝６４）を加算していった値である、ｂ４６、ｂ１１０（＝４６＋６４）に該当するビットと、それぞれ置換真性乱数Ｍ２である「０、１」とを置換部４０６により置換、もしくは排他的論理和計算部４０７により排他的論理和計算をする。置換後もしくは排他的論理和計算後の対策擬似乱数Ｒａが混合乱数Ｐとして出力される。
【００３４】
図１４−４は安全性レベルＬ＝２、セキュリティレベルＴ＝２Ｌ＝２２＝４の場合を示したものである。真性乱数ＭのサイズＳＭは上記式（１）より１０ビットである。この場合は、Ｔ＝４であることから、図１４−４Ａに示すように、真性乱数Ｍの下位ビットからＴ（＝４）ビット分が置換真性乱数Ｍ２になる。また残りのビットが、主に、位置情報Ｍ１になる。この場合は、置換真性乱数Ｍ２は「１、０、１、１」になり、位置情報Ｍ１は「０、０、０、１、１」になる。この位置情報Ｍ１を１０進数に変換すると「３」になる。また、図１４−４Ｂに示すように、対策擬似乱数ＲａはＴ（＝４）等分され、３２ビットずつに分けられる。そして、位置情報（＝３）に対策擬似乱数Ｒａの分割されたビット数（＝３２）を加算していった値である、ｂ３、ｂ３５（＝３＋３２）、ｂ６７（＝３５＋３２）、ｂ９９（＝６７＋３２）に該当するビットと、それぞれ置換真性乱数Ｍ２である「１、０、１、１」とを置換部４０６により置換、もしくは排他的論理和計算部４０７により排他的論理和計算をする。置換後もしくは排他的論理和計算後の対策擬似乱数Ｒａが混合乱数Ｐとして出力される。また、次の混合乱数Ｐの生成処理は図１４−４Ａに示す「＊」から９ビットを使用すればよい。
【００３５】
図１４−５は安全性レベルＬ＝３、セキュリティレベルＴ＝２Ｌ＝２３＝８の場合を示したものである。真性乱数Ｍのサイズは上記式（１）より１３ビットである。この場合は、Ｔ＝８であることから、図１４−５Ａに示すように、真性乱数Ｍの下位ビットからＴ（＝８）ビット分が置換真性乱数Ｍ２になる。また残りのビットが、位置情報Ｍ１になる。この場合は、置換真性乱数Ｍ２は「０、０、１、１、１、０、１、１」になり、位置情報Ｍ１は「０、１、１、０」になる。この位置情報Ｍ１を１０進数に変換すると「６」になる。また、図１４−５Ｂに示すように、対策擬似乱数ＲａはＴ（＝８）等分され、１６ビットずつに分けられる。そして、位置情報（＝６）に対策擬似乱数Ｒａの分割されたビット数（＝３２）を加算していった値である、ｂ６に該当するビット、ｂ２２（＝６＋１６）、ｂ３８（＝２２＋１６）、・・・ｂ１１８（＝１０２＋１６）、に該当するビットと、それぞれ置換真性乱数Ｍ２である「０、０、１、１、１、０、１、１」とを置換部４０６により置換、もしくは排他的論理和計算部４０７により排他的論理和計算をする。置換後もしくは排他的論理和計算後の対策擬似乱数Ｒａが混合乱数Ｐとして出力される。また、次の混合乱数Ｐの生成処理は図１４−５Ａに示す「＊」から１２ビットを使用すればよい。
【００３６】
図１４−６は安全性レベルＬ＝４、セキュリティレベルＴ＝２Ｌ＝２４＝１６の場合を示したものである。真性乱数Ｍのサイズは上記式（１）より２０ビットである。この場合は、Ｔ＝１６であることから、図１４−６Ａに示すように、真性乱数Ｍの下位ビットからＴ（＝１６）ビット分が置換真性乱数Ｍ２になる。また残りのビットが、位置情報Ｍ１になる。この場合は、置換真性乱数Ｍ２は「１、１、０、１、０、１、１、０、１、０、１、１、１、０、０、１」になり、位置情報Ｍ１は「０、０、１」になる。この位置情報Ｍ１を１０進数に変換すると「１」になる。また、図１４−６Ｂに示すように、対策擬似乱数ＲａはＴ（＝１６）等分され、８ビットずつに分けられる。そして、位置情報（＝１）に対策擬似乱数Ｒａの分割されたビット数（＝８）を加算していった値である、ｂ１、ｂ９（＝１＋８）、ｂ１７（＝９＋８）・・・ｂ１２１（＝１１３＋８）に該当するビットと、それぞれ置換真性乱数Ｍ２である「１、１、０、１、０、１、１、０、１、０、１、１、１、０、０、１」とを置換部４０６により置換、もしくは排他的論理和計算部４０７により排他的論理和計算をする。置換後もしくは排他的論理和計算後の対策擬似乱数Ｒａが混合乱数Ｐとして出力される。また、次の混合乱数Ｐの生成処理は図１４−６Ａに示す「＊」から１９ビットを使用すればよい。
【００３７】
図１４−７は安全性レベルＬ＝５、セキュリティレベルＴ＝２Ｌ＝２５＝３２の場合を示したものである。真性乱数Ｍのサイズは上記式（１）より３５ビットである。この場合は、Ｔ＝３２であることから、図１４−７Ａに示すように、真性乱数Ｍの下位ビットからＴ（＝３２）ビット分が置換真性乱数Ｍ２になる。また残りのビットが、位置情報Ｍ１になる。この場合は、置換真性乱数Ｍ２は「０、１、０、０、０、１、０、０、１、０、１、０、１、０、０、１、１、１、０、１、０、１、１、０、１、０、１、１、１、０、０、１」になり、位置情報Ｍ１は「１、０」になる。この位置情報Ｍ１を１０進数に変換すると「２」になる。また、図１４−７Ｂに示すように、対策擬似乱数ＲａはＴ（＝３２）等分され、４ビットずつに分けられる（太線で示す）。そして、位置情報（＝２）に対策擬似乱数Ｒａの分割されたビット数（＝４）を加算していった値である、ｂ２、ｂ６（＝２＋４）、ｂ６（＝６＋４）・・・ｂ１２６（＝１２２＋４）に該当するビットと、それぞれ置換真性乱数Ｍ２である「０、１、０、０、０、１、０、０、１、０、１、０、１、０、０、１、１、１、０、１、０、１、１、０、１、０、１、１、１、０、０、１」とを置換部４０６により置換、もしくは排他的論理和計算部４０７により排他的論理和計算をする。置換後もしくは排他的論理和計算後の対策擬似乱数Ｒａが混合乱数Ｐとして出力される。また、次の混合乱数Ｐの生成処理は図１４−６Ａに示す「＊」から１９ビットを使用すればよい。
【００３８】
次に、安全性レベルＬ＝６、セキュリティレベルＴ＝２Ｌ＝２６＝６４の場合を説明する。安全性レベルＬ＝０〜５と同様なので、図面は省略する。真性乱数Ｍのサイズは上記式（１）より６６ビットである。従って、位置情報Ｍ１は１ビットであり、「０」もしくは「１」になる。また、対策擬似乱数ＲａはＴ（＝６４）等分され、２ビットずつ分けられる。位置情報Ｍ１が「１」の場合は、ｂ１、ｂ３、ｂ５、．．．、ｂ１２５、ｂ１２７に該当するビットと置換真性乱数Ｍ２とを置換させる。
次に、安全性レベルＬ＝７、セキュリティレベルＴ＝２Ｌ＝２７＝１２８の場合を説明する。真性乱数Ｍのサイズは上記式（１）より１２９ビットである。従って、位置情報Ｍ１はない。従って、全ての置換真性乱数Ｍ２と対策擬似乱数Ｒａとを置換させる。
【００３９】
このように、混合処理３では、安全性レベルＬによって、置換の態様が異なる。上述したように、混合処理３では、真性乱数ＭのサイズＳＭは上記式（１）で示される関数により定まり、対策擬似乱数ＲａのサイズＳＲは、要求混合乱数サイズＳＰと同値である。
また、図１２の括弧書きに示すように、置換部４０６を排他的論理和計算部４０７に代替してもよい。この場合は、排他的論理和計算部４０７で対策擬似乱数Ｒａの位置情報Ｍ１に対応する要素と、真性乱数の残りの部分である置換真性乱数Ｍ２の要素とのを置換することで混合乱数Ｐが生成される
混合処理４
図１５に、混合処理４を採用する混合部の機能構成例を示し、図１６に混合処理４を採用する混合部の主な処理の流れを示す。図１５に示すように、混合処理４を採用する混合部は、ブロック化部４１０と入れ込み部４１２とで構成される。真性乱数Ｍと擬似乱数Ｒ（実施例２の場合）もしくは対策擬似乱数Ｒａ（実施例１、３の場合）はブロック化部４００に入力される。ブロック化部４００は擬似乱数Ｒもしくは対策擬似乱数Ｒａをブロック化してｒ個の（ｒは１以上の整数）ブロック化擬似乱数ＢＲもしくはブロック化対策擬似乱数ＢＲａを生成し、真性乱数Ｍをブロック化してｍ個の（ｍは１以上の整数）ブロック化真性乱数ＢＭを、生成する（ステップＳ４０）。ブロック長は、例えば、擬似乱数が生成される単位であるＸビットにすればよい。以下の説明では、１０個のブロック化対策擬似乱数ＢＲａが生成され、つまりｒ＝１０とし、４個のブロック化真性乱数ＢＭが生成され、つまりｍ＝４として説明をする。
【００４０】
１０個のブロック化対策擬似乱数ＢＲａと、４個のブロック化真性乱数ＢＭとは入れ込み部４１２に入力される。
入れ込み部４１２は、ブロック化擬似乱数ＢＲもしくはブロック化対策擬似乱数ＢＲａと、ブロック化真性乱数ＢＭと、から定められる位置にブロック化真性乱数ＢＭの各々を入れ込む（ステップＳ４１）。また入れ込み部４１２は、例えば、分割部４１２２と付与部４１２４と統合部４１２６とにより構成される。図１７に入れ込み部４１２がこの機能構成例である場合の混合乱数Ｐの生成過程を示す。以下の説明では、入れ込み部４０２がこの機能構成例であるとして説明する。
【００４１】
分割部４１２２では、図１７に示すように、ｒ（＝１０）個のブロック化対策擬似乱数ＢＲａが例えば、先頭からｍ（＝４）個のグループに分割される（ステップＳ４２）。付与部４１２４では、分割された各グループの例えば先頭にブロック化真性乱数ＢＭを付与される（ステップＳ４４）。付与する場所は先頭ではなく、最後尾や、各ブロックのＵ（Ｕは２以上の整数）番目としてもよい。統合部４１２６では、ブロック化真性乱数ＢＭが付与された各グループを統合して、混合乱数Ｐは生成される（ステップＳ４６）。
混合処理５
図１８に混合処理５を採用した混合部の機能構成例を示し、図１９に混合処理５を採用した混合部の処理の流れを示し、図２０に混合処理５による混合乱数Ｐの生成過程を示す。
【００４２】
図１８に示すように、混合処理５を採用した混合部は位置情報生成部４１４、ブロック化部４１６、入れ込み部４１８とで構成されている。
まず位置情報生成部４１４で、真性乱数Ｍから任意のビットを使用して、位置情報Ｍ１を生成する（ステップＳ５２）。次に、ブロック化部４１６は、擬似乱数Ｒ（実施例２の場合）もしくは対策擬似乱数Ｒａ（実施例１、３の場合）をブロック化してｒ個の（ｒは１以上の整数）ブロック化擬似乱数ＢＲもしくはブロック化対策擬似乱数ＢＲａを生成する（ステップＳ５４）。また位置情報Ｍ１のビット分が抜き取られた真性乱数をブロック化してｍ個の（ｍは１以上の整数）ブロック化真性乱数ＢＭを生成する。図２０には、１０個のブロック化対策擬似乱数ＢＲａが生成され、つまりｒ＝１０とし、４個のブロック化真性乱数ＢＭが生成され、つまりｍ＝４として示す。
【００４３】
入れ込み部４０８で、位置情報Ｍ１に対応するブロック化対策擬似乱数ＢＲａに４個のブロック化真性乱数ＢＭを入れ込むことで、混合乱数Ｐは生成される（ステップＳ５６）。
なお、混合処理４、５では、ブロック化擬似乱数ＢＲもしくは、ブロック化対策擬似乱数ＢＲａを増やせば、生成される混合乱数の安全性は下がる。なぜなら、ブロック化対策擬似乱数ＢＲａを増やすということは、ブロック化真性乱数ＢＭの比率が小さくなるからである。混合処理４、５での真性乱数ＭのサイズＳＭは、安全性レベルＬと同値か比例した値になる。また、対策擬似乱数Ｒａもしくは擬似乱数ＲのサイズＳＲはＳＰ−ＳＭで求まる。
【００４４】
混合処理１〜５の説明から、要求混合乱数サイズＳＰはＸ（擬似乱数が生成される単位）の倍数であることが理解できよう。実施例３の混合乱数生成装置３−３は、上述のような構成なので、課題（１）（２）の両方を解決することが出来る。更に、安全性レベルを自由に変更できる。
【実施例４】
【００４５】
この実施例４では、上述した混合乱数生成装置を用いた情報処理システムを説明する。この実施例４、以下で説明する実施例５では、実施例３で説明した混合乱数生成装置２−３を用いた場合を説明する。図２１は情報処理システムを示した図であり、図２２は情報処理システムの主なやり取りを示したシーケンス図である。
まず、ユーザ端末１０５にユーザから安全性レベルＬと、暗号化を所望する情報Ｑが入力される。情報Ｑはテキストファイル等である。受付サーバ１０８は安全性レベルＬと情報Ｑを受信すると（ステップＳ１００）、処理ＩＤを発行する。処理ＩＤとは、情報を暗号化する処理を一意に認識させるものである。情報Ｑと処理ＩＤを論理演算装置１０６に送信し（ステップＳ１０６）、安全性レベルＬと処理ＩＤを混合乱数生成装置２−３に送信する。
【００４６】
実施例３で説明したように、混合乱数生成装置２−３は、サイズ計算部４２２が真性乱数ＭのサイズＳＭと対策擬似乱数ＲａのサイズＳＲを求める。混合乱数生成装置２−３は、サイズＳＭの真性乱数Ｍを要求するための真性乱数サイズ信号を真性乱数生成装置１００に送信して、サイズＳＭの真性乱数Ｍを要求する（Ｓ１０６）。そして、サイズＳＭの真性乱数Ｍが真性乱数生成装置１００から混合乱数生成装置２−３に返却される（ステップＳ１０８）。
同様に、混合乱数生成装置２−３は、サイズＳＲの対策擬似乱数Ｒａに対応する擬似乱数Ｒ１〜ＲＮを要求するための擬似乱数サイズ信号を擬似乱数生成装置１０２に送信する（ステップＳ１１０）。そして、擬似乱数Ｒ１〜ＲＮが疑似性乱数生成装置１０４から混合乱数生成装置２−３に返却される（ステップＳ１１２）。なお、擬似乱数サイズ信号を生成せずに、擬似乱数生成装置１０２を予めＸビットで生成されるようにしてもよい。
【００４７】
混合乱数生成装置２−３内の対策部４４で、疑似性乱数生成装置１０４から返却された複数の擬似乱数Ｒ１〜ＲＮから、上記対策擬似乱数生成処理１、２等を用いて、対策擬似乱数Ｒａは生成される。そして、混合乱数生成装置２−３内の混合部４２で、対策擬似乱数Ｒａと真性乱数Ｍから、上記混合処理１〜５等を用いて、混合乱数Ｐは生成される（ステップＳ１１４）。
混合乱数生成装置２−３は生成された混合乱数Ｐと処理ＩＤを論理演算装置１０６に送信する（ステップＳ１１６）。論理演算装置１０６で、受付サーバ１０８から送信された処理ＩＤと混合乱数生成装置２−３から送信された処理ＩＤとが一致するか否かを判定する。一致すれば、情報Ｑを混合乱数Ｐで暗号化して暗号文ｑを生成する（ステップＳ１１８）。暗号化の具体的処理は、例えば、情報Ｑと混合乱数Ｐとの排他的論理和を計算する等がある。生成された暗号文ｑと処理ＩＤは受付サーバ１０８に送信される。
【００４８】
また、混合乱数生成装置２−３は真性乱数Ｍと処理ＩＤを受付サーバ１０８に送信する（ステップＳ１２２）。受付サーバ１０８は混合乱数生成装置２−３よりの処理ＩＤと論理演算装置１０６よりの処理ＩＤとが一致するか否かを判定する。一致すると判定すれば、受付サーバ１０８はユーザ端末１０５に暗号文ｑと真性乱数Ｍを送信する（ステップＳ１２４）。ここで、ユーザ端末１０５に真性乱数Ｍではなく、混合乱数Ｐを送信することが考えられるが、混合乱数Ｐの容量の方が、真性乱数Ｍの容量より大きく、保存、通信等に適さない。従って、真性乱数Ｍの他に、擬似乱数Ｒの生成の元となる擬似乱数生成情報と、混合処理方法と、を送信することで、ユーザ端末１０５で、混合乱数Ｐを生成でき、その結果、暗号文ｑを復号できる。
【実施例５】
【００４９】
図２３に実施例５の情報処理システムを示し、図２４に実施例５の情報処理システムのシーケンス図を示す。実施例４と違う点は、実施例４で説明した論理演算装置１０６が、秘密分散装置１１０と保存装置１１２に代替された点である。実施例４での説明と重複する箇所は省略する。
混合乱数生成装置２−３で生成された混合乱数Ｐと処理ＩＤは秘密分散装置１１０に送信される（ステップＳ１２６）。秘密分散装置１１０で、情報Ｑと混合乱数Ｐと秘密分散演算を行い、Ｄ個の秘密分散情報Ｅ１〜ＥＤを生成する（ステップＳ１２８）。ここで秘密分散について簡単に説明する。
【００５０】
図２５に秘密分散の処理過程を示す。秘密分散とは、暗号化したい情報Ｑを暗号化しながら、Ｄ個の秘密分散情報Ｅ１〜ＥＤに分割・分散することである。秘密分散情報Ｅ１〜ＥＤのうちの１つからは元データである情報Ｑを復号することが出来ない。分割した秘密分散情報Ｅ１〜ＥＤがある数揃えば（例えばｄ個、ｄ≦Ｄとする）、元データである情報Ｑを復号することが出来る。共通鍵暗号方式等の鍵暗号と比較して、鍵に寿命がなく、毎年証明書を更新するといった問題がなく、運用コスト面で、大きなコスト削減が可能である。なお、秘密分散演算の詳細は「特開２００４−２１３６５０号公報」に記されている。
【００５１】
生成された秘密分散情報Ｅ１〜ＥＤは保存装置１１２に保存される（ステップ
Ｓ１２９）。保存装置１１２の保存が完了すると、保存装置１１２は秘密分散装置１１０に保存完了信号Ｊを送信する（ステップＳ１３０）。秘密分散装置１１０が保存完了信号Ｊを受信すると、保存完了信号Ｊと処理ＩＤを受付サーバ１０８に送信する（ステップＳ１３２）。受付サーバ１０８は秘密分散装置１１０よりの処理ＩＤが適正なものか否かを判断し、適正なものと判断すると、保存完了信号Ｊと情報名をユーザ端末１０５に送信する（ステップＳ１３４）。
【図面の簡単な説明】
【００５２】
【図１】混合乱数Ｐの安全性を示した図である。
【図２】この発明の実施例１の混合乱数生成装置２−１等を示したブロック図である。
【図３】この発明の実施例１の混合乱数生成装置２−１の主な処理の流れを示したフローチャートである。
【図４−１】対策擬似乱数生成処理１の過程を示した図である。
【図４−２】対策擬似乱数生成処理１の流れを示したフローチャートである。
【図５−１】対策擬似乱数生成処理２の過程を示した図である。
【図５−２】対策擬似乱数生成処理２の別の過程を示した図である。
【図６】この発明の実施例２の混合乱数生成装置２−２等を示したブロック図である。
【図７】この発明の実施例２の混合乱数生成装置２−２の主な処理の流れを示したフローチャートである。
【図８】この発明の実施例３の混合乱数生成装置２−３等を示したブロック図である。
【図９】この発明の実施例３の混合乱数生成装置２−３の主な処理の流れを示したフローチャートである。
【図１０】混合処理１の過程を示す図である。
【図１１】混合処理２の過程を示す図である。
【図１２】混合処理３を採用する混合部の機能構成例を示すブロック図である。
【図１３】混合処理３を採用する混合部の主な処理の流れを示すフローチャートである。
【図１４−１】混合処理３の場合の対策擬似乱数Ｒａのビットの数え方を示す図である。
【図１４−２】Ａは混合処理３の場合の、安全性レベルＬが「０」の場合の真性乱数Ｍを示し、Ｂは対策擬似乱数Ｒａを示す図である。
【図１４−３】Ａは混合処理３の場合の、安全性レベルＬが「１」の場合の真性乱数Ｍを示し、Ｂは対策擬似乱数Ｒａを示す図である。
【図１４−４】Ａは混合処理３の場合の、安全性レベルＬが「２」の場合の真性乱数Ｍを示し、Ｂは対策擬似乱数Ｒａを示す図である。
【図１４−５】Ａは混合処理３の場合の、安全性レベルＬが「３」の場合の真性乱数Ｍを示し、Ｂは対策擬似乱数Ｒａを示す図である。
【図１４−６】Ａは混合処理３の場合の、安全性レベルＬが「４」の場合の真性乱数Ｍを示し、Ｂは対策擬似乱数Ｒａを示す図である。
【図１４−７】Ａは混合処理３の場合の、安全性レベルＬが「５」の場合の真性乱数Ｍを示し、Ｂは対策擬似乱数Ｒａを示す図である。
【図１５】混合処理４を採用する混合部の機能構成例を示すブロック図である。
【図１６】混合処理４を採用する混合部の主な処理の流れを示すフローチャートである。
【図１７】混合処理４を採用した場合の混合乱数が生成される過程を示す図である。
【図１８】混合処理５を採用する混合部の機能構成例を示すブロック図である。
【図１９】混合処理５を採用する混合部の主な処理の流れを示すフローチャートである。
【図２０】混合処理５を採用した場合の混合乱数が生成される過程を示す図である。
【図２１】この発明の実施例４の情報処理システムを示したブロック図である。
【図２２】この発明の実施例４の情報処理システムのシーケンス図である。
【図２３】この発明の実施例５の情報処理システムを示したブロック図である。
【図２４】この発明の実施例５の情報処理システムのシーケンス図である。
【図２５】秘密分散について説明した図である。
【図１】
2008234051.tif 000004
【図２】
2008234051.tif 000005
【図３】
2008234051.tif 000006
【図４−１】
2008234051.tif 000007
【図４−２】
2008234051.tif 000008
【図５−１】
2008234051.tif 000009
【図５−２】
2008234051.tif 000010
【図６】
2008234051.tif 000011
【図７】
2008234051.tif 000012
【図８】
2008234051.tif 000013
【図９】
2008234051.tif 000014
【図１０】
2008234051.tif 000015
【図１１】
2008234051.tif 000016
【図１２】
2008234051.tif 000017
【図１３】
2008234051.tif 000018
【図１４−１】
2008234051.tif 000019
【図１４−２】
2008234051.tif 000020
【図１４−３】
2008234051.tif 000021
【図１４−４】
2008234051.tif 000022
【図１４−５】
2008234051.tif 000023
【図１４−６】
2008234051.tif 000024
【図１４−７】
2008234051.tif 000025
【図１５】
2008234051.tif 000026
【図１６】
2008234051.tif 000027
【図１７】
2008234051.tif 000028
【図１８】
2008234051.tif 000029
【図１９】
2008234051.tif 000030
【図２０】
2008234051.tif 000031
【図２１】
2008234051.tif 000032
【図２２】
2008234051.tif 000033
【図２３】
2008234051.tif 000034
【図２４】
2008234051.tif 000035
【図２５】
2008234051.tif 000036