(57)【要約】【課題】  携帯端末等の移動端末の位置情報をシードとして利用し、「予測不可能性」の性質を満足する擬似乱数を処理量の増大を抑制しながら生成することを可能とする。【解決手段】  入力される移動端末の位置情報に基づいた当該移動端末の移動方向からコイン系列に係るサンプルデータを生成するコイン系列サンプルデータ生成部１２と、一定期間分のサンプルデータを保存するサンプルデータ記憶部１３と、該サンプル群を使用してコイン系列の確率分布を計算する確率分布算出部１４と、該確率分布データを保存する確率分布記憶部１５と、前記サンプル群及び確率分布データを使用して、変形型区間アルゴリズムに従い、サンプル群のサンプルデータをシードにした擬似乱数を生成する変形型区間アルゴリズム部１７とを備える。【選択図】    図１
2006053715.tif 000002
【特許請求の範囲】
【請求項１】
入力される移動端末の位置情報に基づき、一定周期で前記移動端末の以前の位置からの移動方向を算出する移動方向算出手段と、
前記算出された移動方向に基づき、複数の要素から成るコイン系列に係るサンプルデータを生成するコイン系列サンプルデータ生成手段と、
一定期間分の前記生成されたサンプルデータを保存するサンプルデータ記憶手段と、
前記サンプルデータ記憶手段に保存されているサンプル群を使用して、前記コイン系列の確率分布を計算する確率分布算出手段と、
前記算出された確率分布データを保存する確率分布記憶手段と、
前記サンプルデータ記憶手段からサンプル群を読み出し、また、前記確率分布記憶手段から確率分布データを読み出し、読み出したサンプル群及び確率分布データを使用して、変形型区間アルゴリズムに従い、前記サンプル群のサンプルデータをシードにした擬似乱数を生成する変形型区間アルゴリズム手段とを備え、
前記変形型区間アルゴリズム手段は、
複数の要素から成るターゲット乱数列の確率分布に基づいて分割された複数のターゲット乱数列区間及び当該ターゲット乱数列の要素値に係るデータを予めメモリに記憶し、
前記確率分布記憶手段から読み出した確率分布データに基づいて前記コイン系列の要素数分にコイン系列区間を分割し、この分割内容を示すデータをメモリに保存し、
前記サンプルデータ記憶手段から読み出したサンプル群の中からサンプルデータを一つ取り出し、当該サンプルデータに対応するコイン系列区間を前記分割したコイン系列区間の中から選択し、
前記選択したコイン系列区間に最も重複している前記ターゲット乱数列区間を選択し、
前記選択したターゲット乱数列区間に対応する前記ターゲット乱数列の要素値を擬似乱数列の要素値として得る
ことを特徴とする擬似乱数生成装置。
【請求項２】
前記コイン系列サンプルデータ生成手段は、定期的に、前記サンプルデータ記憶手段に保存するサンプル群を更新することを特徴とする請求項１に記載の擬似乱数生成装置。
【請求項３】
入力される移動端末の位置情報に基づき、一定周期で前記移動端末の以前の位置からの移動方向を算出する過程と、
前記算出された移動方向に基づき、複数の要素から成るコイン系列に係るサンプルデータを生成する過程と、
一定期間分の前記生成されたサンプルデータを記憶手段に保存する過程と、
前記記憶手段に保存されているサンプル群を使用して、前記コイン系列の確率分布を計算する過程と、
前記算出された確率分布データを記憶手段に保存する過程と、
前記記憶手段からサンプル群を読み出し、また、前記記憶手段から確率分布データを読み出し、読み出したサンプル群及び確率分布データを使用して、変形型区間アルゴリズムに従い、前記サンプル群のサンプルデータをシードにした擬似乱数を生成する擬似乱数生成過程とを含み、
複数の要素から成るターゲット乱数列の確率分布に基づいて分割された複数のターゲット乱数列区間及び当該ターゲット乱数列の要素値に係るデータが、予めメモリに記憶されており、
前記擬似乱数生成過程において、
前記記憶手段から読み出した確率分布データに基づいて前記コイン系列の要素数分にコイン系列区間を分割し、この分割内容を示すデータをメモリに保存し、
前記記憶手段から読み出したサンプル群の中からサンプルデータを一つ取り出し、当該サンプルデータに対応するコイン系列区間を前記分割したコイン系列区間の中から選択し、
前記選択したコイン系列区間に最も重複している前記ターゲット乱数列区間を選択し、
前記選択したターゲット乱数列区間に対応する前記ターゲット乱数列の要素値を擬似乱数列の要素値として得る
ことを特徴とする擬似乱数生成方法。
【請求項４】
定期的に、前記記憶手段に保存するサンプル群を更新することを特徴とする請求項３に記載の擬似乱数生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、擬似乱数の生成装置および方法に関する。
【背景技術】
【０００２】
従来の擬似乱数生成技術として、例えば特許文献１に記載の技術が知られている。この従来技術１では、移動体端末の有する機能手段が発生する状態情報のうちで時間的に不規則に変化する再現性のない情報の一部を抽出して得られるサンプルデータ、例えば電波の強度レベル、位置情報、通信内容又は電池電圧を一定期間ごとにサンプリングしたサンプルデータを種（シード）として、線形フィードバックシフトレジスタ（ＬＦＳＲ）から成る擬似乱数発生手段に入力し、擬似乱数を発生している。
【０００３】
また、非特許文献１には、区間アルゴリズムと呼ばれる擬似乱数生成アルゴリズムが記載されている（従来技術２）。この区間アルゴリズムでは、任意の確率分布を有する２つ以上（Ｍ個）の要素をもつ系列（コイン系列）から所望の確率分布を有する２つ以上の要素をもつ擬似乱数列（ターゲット乱数列）を生成している。その具体的な手順としては、先ず、コイン系列およびターゲット乱数列の各確率分布にしたがって、それぞれ０以上１未満の区間を複数の区間に分割する。次いで、Ｍ面のコイン投げを行う。次いで、出た面に対応するコイン系列区間を全て含むターゲット乱数列区間があれば、当該ターゲット乱数列区間に対応するターゲット乱数列を出力する。一方、出た面に対応するコイン系列区間を全て含むターゲット乱数列区間が無ければ、つまり、出た面に対応するコイン系列区間が複数のターゲット乱数列区間にまたがっていたならば、当該コイン系列区間をさらにコイン系列の確率分布にしたがって分割し、Ｍ面のコイン投げを再度行い、ターゲット乱数列区間の確定を試みる。これをターゲット乱数列区間が確定するまで繰り返す。
【特許文献１】特開２００２−２１５０３０号公報
【非特許文献１】Te Sun Han、Mamoru Hoshi，“Interval Algorithm for Random Number Generation”，IEEE Transactions on Information Theory，Vol.43，No.2，pp.599-611，Mar．1997
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来技術１では、例えば位置情報のサンプルデータを具体的にどのように加工してＬＦＳＲに入力するシードを生成するのかが示されていないために、実際に擬似乱数生成装置を構成するための技術としては不十分である。
【０００５】
また、上述した従来技術２の区間アルゴリズムでは、Ｍ面のコイン投げの平均回数の上限は有限値になることが上記非特許文献１に示されているが、コイン系列及びターゲット乱数列の確率分布、並びにコイン投げの状況によってはコイン投げが無限に繰り返されることが生じる。このように、従来技術２では、擬似乱数生成に要する処理量が大量となりうるので、擬似乱数生成に十分な処理能力を割当てることが難しい例えば携帯電話機などの携帯端末には不向きである。
【０００６】
このような理由から、特に暗号技術に用いられる擬似乱数として、過去の数列から次の数を予測できないという「予測不可能性」の性質を満足する擬似乱数を、処理量の増大を抑制しながら生成可能な擬似乱数生成装置が要望されている。上記「予測不可能性」の性質を満足するためには、動的に変化する可変的な情報、例えば端末の位置情報をシードとして利用することが望ましい。
【０００７】
本発明は、このような事情を考慮してなされたもので、その目的は、携帯端末等の移動端末の位置情報をシードとして利用し、「予測不可能性」の性質を満足する擬似乱数を処理量の増大を抑制しながら生成することができる擬似乱数生成装置および方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本発明に係る擬似乱数生成装置は、入力される移動端末の位置情報に基づき、一定周期で前記移動端末の以前の位置からの移動方向を算出する移動方向算出手段と、前記算出された移動方向に基づき、複数の要素から成るコイン系列に係るサンプルデータを生成するコイン系列サンプルデータ生成手段と、一定期間分の前記生成されたサンプルデータを保存するサンプルデータ記憶手段と、前記サンプルデータ記憶手段に保存されているサンプル群を使用して、前記コイン系列の確率分布を計算する確率分布算出手段と、前記算出された確率分布データを保存する確率分布記憶手段と、前記サンプルデータ記憶手段からサンプル群を読み出し、また、前記確率分布記憶手段から確率分布データを読み出し、読み出したサンプル群及び確率分布データを使用して、変形型区間アルゴリズムに従い、前記サンプル群のサンプルデータをシードにした擬似乱数を生成する変形型区間アルゴリズム手段とを備え、前記変形型区間アルゴリズム手段は、複数の要素から成るターゲット乱数列の確率分布に基づいて分割された複数のターゲット乱数列区間及び当該ターゲット乱数列の要素値に係るデータを予めメモリに記憶し、前記確率分布記憶手段から読み出した確率分布データに基づいて前記コイン系列の要素数分にコイン系列区間を分割し、この分割内容を示すデータをメモリに保存し、前記サンプルデータ記憶手段から読み出したサンプル群の中からサンプルデータを一つ取り出し、当該サンプルデータに対応するコイン系列区間を前記分割したコイン系列区間の中から選択し、前記選択したコイン系列区間に最も重複している前記ターゲット乱数列区間を選択し、前記選択したターゲット乱数列区間に対応する前記ターゲット乱数列の要素値を擬似乱数列の要素値として得ることを特徴としている。
【０００９】
本発明に係る擬似乱数生成装置においては、前記コイン系列サンプルデータ生成手段は、定期的に、前記サンプルデータ記憶手段に保存するサンプル群を更新することを特徴とする。
【００１０】
本発明に係る擬似乱数生成方法は、入力される移動端末の位置情報に基づき、一定周期で前記移動端末の以前の位置からの移動方向を算出する過程と、前記算出された移動方向に基づき、複数の要素から成るコイン系列に係るサンプルデータを生成する過程と、一定期間分の前記生成されたサンプルデータを記憶手段に保存する過程と、前記記憶手段に保存されているサンプル群を使用して、前記コイン系列の確率分布を計算する過程と、前記算出された確率分布データを記憶手段に保存する過程と、前記記憶手段からサンプル群を読み出し、また、前記記憶手段から確率分布データを読み出し、読み出したサンプル群及び確率分布データを使用して、変形型区間アルゴリズムに従い、前記サンプル群のサンプルデータをシードにした擬似乱数を生成する擬似乱数生成過程とを含み、複数の要素から成るターゲット乱数列の確率分布に基づいて分割された複数のターゲット乱数列区間及び当該ターゲット乱数列の要素値に係るデータが、予めメモリに記憶されており、前記擬似乱数生成過程において、前記記憶手段から読み出した確率分布データに基づいて前記コイン系列の要素数分にコイン系列区間を分割し、この分割内容を示すデータをメモリに保存し、前記記憶手段から読み出したサンプル群の中からサンプルデータを一つ取り出し、当該サンプルデータに対応するコイン系列区間を前記分割したコイン系列区間の中から選択し、前記選択したコイン系列区間に最も重複している前記ターゲット乱数列区間を選択し、前記選択したターゲット乱数列区間に対応する前記ターゲット乱数列の要素値を擬似乱数列の要素値として得ることを特徴としている。
【００１１】
本発明に係る擬似乱数生成方法は、定期的に、前記記憶手段に保存するサンプル群を更新することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、一つのシードに対して、常にほぼ一定の処理量で一つの擬似乱数を生成することができるので、擬似乱数を生成するための処理量の増大を抑制することが可能となる。さらに、移動端末の位置情報から当該移動端末の移動方向を得てコイン系列のサンプルデータを生成し、該サンプルデータをシードとして使用するので、当該シードから生成された擬似乱数は「予測不可能性」の性質を満足するものとなる。
これにより、過去の数列から次の数を予測できないという「予測不可能性」の性質を満足する擬似乱数を、処理量の増大を抑制しながら生成することができるという優れた効果が得られる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は、本発明の一実施形態に係る擬似乱数生成装置１の構成を示すブロック図である。この擬似乱数生成装置１は、例えば携帯電話機やＰＤＡ等の携帯端末装置に具備される。携帯端末装置にはＧＰＳ（Global Positioning System）等の位置情報取得手段が具備されている。位置情報取得手段は、携帯端末装置の現在位置を示す位置情報を取得する。擬似乱数生成装置１には、位置情報取得手段から該位置情報が入力される。
【００１４】
図１において、移動方向算出部１１は、入力される位置情報に基づき、一定の周期で携帯端末装置の以前の位置からの移動方向（方角）を算出し、コイン系列サンプルデータ生成部１２に移動方向データを出力する。なお、移動なしの場合はその旨を示すデータを出力する。コイン系列サンプルデータ生成部１２は、その移動方向データに基づき、コイン系列のサンプルデータを生成する。図２は、本実施形態に係るコイン系列のサンプルデータ生成方法の一例を説明するための説明図である。
【００１５】
図２には、コイン系列の要素値として、携帯端末装置３０が移動した方向（方角）に応じた８個の値が定義されている。北に移動した場合は“０”、北東に移動した場合は“１”、東に移動した場合は“２”、南東に移動した場合は“３”、南に移動した場合は“４”、南西に移動した場合は“５”、西に移動した場合は“６”、北西に移動した場合は“７”である。コイン系列サンプルデータ生成部１２は、移動方向算出部１１から入力された移動方向データに対応する要素値をサンプルデータとして順番にサンプルデータ記憶部１３に保存する。なお、移動なしの場合には、前回のサンプルデータに１を加えた値（但し、前回のサンプルデータが７の場合は０）を今回のサンプルデータとする。
【００１６】
コイン系列サンプルデータ生成部１２は、一定期間分のサンプルデータをコイン系列の一サンプル群として、サンプルデータ記憶部１３に蓄積する。また、定期的に、サンプルデータ記憶部１３に保存するサンプルデータを全面的に新たなサンプルデータに入れ替える。この更新タイミングは、更新タイミング発生部１６から通知される。
【００１７】
確率分布算出部１４は、サンプルデータ記憶部１３に保存されているサンプル群に基づき、コイン系列の確率分布を計算する。図２に示されるコイン系列では、８個の要素値“０”〜“７”のそれぞれについて、サンプル群中の該当するサンプルデータの個数を合計し、サンプルデータの総数で除算し、確率分布データを得る。そして、得られた確率分布データを確率分布記憶部１５に保存する。また、サンプルデータ記憶部１３に保存されるサンプルデータの更新に合わせて、確率分布を計算し直し、確率分布記憶部１５に保存する確率分布データを更新する。
【００１８】
更新タイミング発生部１６は、上記したサンプルデータ及び確率分布の更新タイミングを一定周期で発生し、更新タイミング信号をコイン系列サンプルデータ生成部１２及び確率分布算出部１４に出力する。
【００１９】
変形型区間アルゴリズム部１７は、入力される乱数生成命令に従って、サンプルデータ記憶部１３からサンプル群を読み出し、また、確率分布記憶部１５から確率分布データを読み出し、読み出したサンプル群及び確率分布データを使用して擬似乱数列を生成する。
【００２０】
図３は、本実施形態に係る変形型区間アルゴリズムを説明するための説明図である。なお、図３では、説明の便宜上、コイン系列の要素数は３、ターゲット乱数列の要素数は４である。また、コイン系列の確率分布は、要素値“０”が０．３、要素値“１”が０．５、要素値“２”が０．２である。ターゲット乱数列の確率分布は、要素値“０”，“１”，“２”，“３”の全てについて０．２５である。
【００２１】
図３において、コイン系列の確率分布にしたがって、０以上１未満の区間が３つの区間Ｉ（０），Ｉ（１），Ｉ（２）に分割される。区間Ｉ（０）は、要素値“０”の確率分布“０．３”の区間である。区間Ｉ（１）は、要素値“１”の確率分布“０．５”の区間である。区間Ｉ（２）は、要素値“２”の確率分布“０．２”の区間である。
【００２２】
また、ターゲット乱数列の確率分布にしたがって、０以上１未満の区間が４つの区間Ｊ（０），Ｊ（１），Ｊ（２），Ｊ（３）に分割される。区間Ｊ（０）は、要素値“０”の確率分布“０．２５”の区間である。区間Ｊ（１）は、要素値“１”の確率分布“０．２５”の区間である。区間Ｊ（２）は、要素値“２”の確率分布“０．２５”の区間である。区間Ｊ（３）は、要素値“３”の確率分布“０．２５”の区間である。
【００２３】
今、コイン系列の要素数に対応する３面のコイン投げを行い、今回の出た面が要素値“１”の面である。これにより、コイン系列の区間Ｉ（１）が選択される。次いで、この区間Ｉ（１）に対応するターゲット乱数列の区間を区間Ｊ（０），Ｊ（１），Ｊ（２），Ｊ（３）の中から一つだけ選択する。
【００２４】
このターゲット乱数列区間の選択方法は、コイン系列の選択された区間に重複するターゲット乱数列区間のうち、重複部分が最も大きい区間を選択する。本選択方法は、上述した従来技術２の区間アルゴリズムにおいて、コイン系列の区間が複数のターゲット乱数列の区間にまたがった場合、コイン投げを繰り返し行うが、最終的には初回のコイン投げ時に重複部分が最も大きかったターゲット乱数列の区間に収束する可能性が高いという知見に基づいている。
なお、複数のターゲット乱数列区間が選択された場合、つまり、重複部分の最大値を有するターゲット乱数列区間が複数存在した場合には、所定の優先順位、例えば要素値の小さい方を選択する。
【００２５】
本ターゲット乱数列区間選択方法によれば、一回のコイン投げでターゲット乱数列区間を一意に決定できるので、常にほぼ一定の処理量で擬似乱数を生成することが可能となる。
【００２６】
上記ターゲット乱数列区間選択方法により、図３の例では、１回のコイン投げの結果から、コイン系列の区間Ｉ（１）に重複するのは、ターゲット乱数列の区間Ｊ（１），Ｊ（２），Ｊ（３）の３つ存在するが、区間Ｊ（２）唯一に決定される。この結果、当該擬似乱数列の要素値として、区間Ｊ（２）に対応するターゲット乱数列の要素値“２”が得られる。
【００２７】
図４は、図１に示す変形型区間アルゴリズム部１７に係る擬似乱数列の生成手順を説明するための説明図である。図４において、変形型区間アルゴリズム部１７は、確率分布記憶部１５から読み出した確率分布データを使用し、コイン系列の確率分布にしたがって、０以上１未満の区間を８つの区間Ｉ（０），Ｉ（１），Ｉ（２），Ｉ（３），Ｉ（４），Ｉ（５），Ｉ（６），Ｉ（７）に分割し、この分割内容を示すデータを変形型区間アルゴリズム部１７内のメモリに保存する（ステップＳ１）。
【００２８】
ターゲット乱数列の要素群及び区間Ｊ（０）〜Ｊ（Ｎ）のデータは、予め変形型区間アルゴリズム部１７内のメモリに保持されている。或いは、乱数生成命令入力時に外部から設定されるようにしてもよい。
【００２９】
次いで、変形型区間アルゴリズム部１７は、サンプルデータ記憶部１３から読み出したサンプル群の中から、順番に一つずつサンプルデータを取り出し、シードとして使用する（ステップＳ２）。つまり、一つのサンプルデータがコイン投げで出た面に相当する。
【００３０】
次いで、変形型区間アルゴリズム部１７は、一つのサンプルデータ“ａ”に対応するコイン系列の区間を、区間Ｉ（０）〜Ｉ（７）の中から選択し、上記したターゲット乱数列区間選択方法に従って、該選択したコイン系列区間に対応するターゲット乱数列区間を、区間Ｊ（０）〜Ｊ（Ｎ）の中から唯一に選択する（ステップＳ３）。
【００３１】
次いで、変形型区間アルゴリズム部１７は、選択したターゲット乱数列区間に対応するターゲット乱数列の要素値“ｊ”を擬似乱数列の一要素値として出力する（ステップＳ４）。変形型区間アルゴリズム部１７は、乱数生成命令で指示された個数分の擬似乱数列の要素を同様にして生成し出力する。
【００３２】
上述したように本実施形態によれば、一回のコイン投げで出た面、即ち一つのシードに対して、常にほぼ一定の処理量で一つの擬似乱数を生成することができる。これにより、擬似乱数を生成するための処理量の増大を抑制することが可能となる。
【００３３】
また、携帯端末装置の位置情報から当該携帯端末装置の移動方向を得てコイン系列のサンプルデータを生成し、該サンプルデータをシードとして使用するので、当該シードから生成された擬似乱数は「予測不可能性」の性質を満足するものとなる。これにより、本実施形態によれば、過去の数列から次の数を予測できないという「予測不可能性」の性質を満足する擬似乱数を、処理量の増大を抑制しながら生成することができるという優れた効果が得られる。
【００３４】
なお、擬似乱数列の長さおよび基数については任意の値に設定可能である。擬似乱数列の長さについては、コイン系列のサンプル群の中から所望の長さ分だけサンプルデータをシードとして使用すればよい。また、擬似乱数列の基数については、例えば、２進数の場合、ターゲット乱数列の要素は要素値“０”と“１”の２個であり、双方の要素値の確率分布をともに０．５とする。また、１０進数の場合、ターゲット乱数列の要素は要素値“０”〜“９”の１０個であり、各要素値の確率分布をともに０．１とする。
また、擬似乱数列が非一様な発生確率になるように設定することも可能である。
【００３５】
なお、図１に示す擬似乱数生成装置１は、専用のハードウェアにより実現されるものであってもよく、また、擬似乱数生成装置１はメモリおよびＤＳＰ（デジタルシグナルプロセッサ）などの演算処理装置により構成され、擬似乱数生成装置１の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【００３６】
以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、本発明に係る擬似乱数生成装置は、各種の移動端末装置に適用可能である。例えば、上記した携帯端末装置の他、自動車電話装置やカーナビゲーションシステム、ノート型パーソナルコンピュータ、コンピュータゲーム端末装置などに具備されてもよい。
【００３７】
なお、本発明は、暗号鍵の生成やワンタイムパスワードなどのアプリケーションで使用される擬似乱数の生成に適用することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係る擬似乱数生成装置１の構成を示すブロック図である。
【図２】同実施形態に係るコイン系列生成方法の一例を説明するための説明図である。
【図３】同実施形態に係る変形型区間アルゴリズムを説明するための説明図である。
【図４】図１に示す変形型区間アルゴリズム部１７に係る擬似乱数列の生成手順を説明するための説明図である。
【符号の説明】
【００３９】
１…擬似乱数生成装置、１１…移動方向算出部、１２…コイン系列サンプルデータ生成部、１３…サンプルデータ記憶部、１４…確率分布算出部、１５…確率分布記憶部、１６…更新タイミング発生部、１７…変形型区間アルゴリズム部、３０…携帯端末装置。
【図１】
2006053715.tif 000003
【図２】
2006053715.tif 000004
【図３】
2006053715.tif 000005
【図４】
2006053715.tif 000006