(57)【要約】【課題】乱数の予測可能性を低く抑えつつ、生成される乱数のビット数を大きくする。【解決手段】乱数生成装置１は、物理現象を測定するセンサ２と、シード値生成器３と、乱数生成器４とを有する。シード値生成器３は、センサ２の測定値を示すＮビット（Ｎは１以上の整数）のデジタル値のうちのｎビット（ｎは１以上Ｎ以下の整数）を用いて、乱数生成のためのシード値を生成する。乱数生成器４は、シード値生成器３により生成されたシード値を用いて、シード値のビット数よりも大きなビット数の疑似乱数を生成する予め定められた疑似乱数生成アルゴリズムによりＭビット（Ｍはｎよりも大きい整数）の乱数を生成する。【選択図】図１
2018128783.tif 000002
【特許請求の範囲】
【請求項１】
物理現象を測定するセンサと、
前記センサの測定値を示すＮビット（Ｎは１以上の整数）のデジタル値のうちのｎビット（ｎは１以上Ｎ以下の整数）を用いて、乱数生成のためのシード値を生成するシード値生成器と、
前記シード値生成器により生成された前記シード値を用いて、前記シード値のビット数よりも大きなビット数の疑似乱数を生成する予め定められた疑似乱数生成アルゴリズムによりＭビット（Ｍはｎよりも大きい整数）の乱数を生成する乱数生成器と
を有する乱数生成装置。
【請求項２】
前記測定値は、Ｎビット（Ｎは２以上の整数）のデジタル値であり、
前記シード値生成器は、前記測定値の下位ｎビット（ｎは１以上Ｎ未満の整数）を用いて前記シード値を生成する
請求項１に記載の乱数生成装置。
【請求項３】
前記センサを複数有し、
前記シード値生成器は、複数の前記センサのそれぞれの前記測定値の下位ｎビットを用いて、ｍビット（ｍはｎよりも大きい整数）の前記シード値を生成する
請求項２に記載の乱数生成装置。
【請求項４】
前記センサと、前記シード値生成器と、前記乱数生成器とが、同一の半導体チップに実装されている
請求項１に記載の乱数生成装置。
【請求項５】
前記半導体チップが多層配線構造の半導体チップである
請求項４に記載の乱数生成装置。
【請求項６】
前記半導体チップが封止材により封止されている
請求項４に記載の乱数生成装置。
【請求項７】
前記測定値が、さらに、乱数生成以外の他の予め定められた処理に用いられる
請求項１に記載の乱数生成装置。
【請求項８】
物理現象を測定し、
前記物理現象の測定値を示すＮビット（Ｎは１以上の整数）のデジタル値のうちのｎビット（ｎは１以上Ｎ以下の整数）を用いて、乱数生成のためのシード値を生成し、
生成された前記シード値を用いて、前記シード値のビット数よりも大きなビット数の疑似乱数を生成する予め定められた疑似乱数生成アルゴリズムによりＭビット（Ｍはｎよりも大きい整数）の乱数を生成する
乱数生成方法。
【請求項９】
前記測定値は、Ｎビット（Ｎは２以上の整数）のデジタル値であり、
前記測定値の下位ｎビット（ｎは１以上Ｎ未満の整数）を用いて前記シード値を生成する
請求項８に記載の乱数生成方法。
【請求項１０】
複数の前記測定値のそれぞれの下位ｎビットを用いて、ｍビット（ｍはｎよりも大きい整数）の前記シード値を生成する
請求項９に記載の乱数生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は乱数生成装置及び乱数生成方法に関し、例えば物理現象の測定値を用いて乱数を生成する乱数生成装置及び乱数生成方法に関する。
【背景技術】
【０００２】
物理現象の測定値から乱数を生成する技術として、例えば、特許文献１に記載された技術がある。特許文献１に記載された乱数生成装置では、センサの測定値を圧縮手段により圧縮することで、予測可能性を低下させている。そして、この乱数生成装置は、圧縮されたデジタル値にハッシュ関数を適用して、乱数を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００５−５２６２９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載された技術では、測定値を圧縮し、その圧縮値についてのハッシュ値を算出しているため、生成される乱数のビット数が小さくなってしまう。このように、乱数の予測可能性を低く抑えつつ、十分なビット数の乱数を生成することが困難であるという問題があった。
【０００５】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００６】
一実施の形態によれば、乱数生成装置は、物理現象の測定値を示すＮビット（Ｎは１以上の整数）のデジタル値のうちのｎビット（ｎは１以上Ｎ以下の整数）を用いて、乱数生成のためのシード値を生成するシード値生成器と、前記シード値を用いて、予め定められた疑似乱数生成アルゴリズムによりＭビット（Ｍはｎよりも大きい整数）の乱数を生成する乱数生成器とを有する。
【発明の効果】
【０００７】
前記一実施の形態によれば、乱数の予測可能性を低く抑えつつ、生成される乱数のビット数を大きくすることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態の概要にかかる乱数生成装置の構成の一例を示すブロック図である。
【図２】実施の形態１にかかる乱数生成装置の構成例を示すブロック図である。
【図３】実施の形態１にかかる乱数生成装置における乱数生成動作の流れを示すフローチャートである。
【図４】実施の形態２にかかる乱数生成装置を含む半導体装置を示す模式図である。
【発明を実施するための形態】
【０００９】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１０】
＜実施の形態の概要＞
実施の形態の詳細について説明する前に、まず、実施の形態の概要について説明する。図１は、実施の形態の概要にかかる乱数生成装置１の構成の一例を示すブロック図である。図１に示すように、乱数生成装置１は、センサ２と、シード値生成器３と、乱数生成器４とを有する。
【００１１】
センサ２は、物理現象を測定するセンサである。すなわち、センサ２は、ランダムに変動する任意の物理量を測定するセンサである。
シード値生成器３は、センサ２の測定値を示すＮビットのデジタル値のうちのｎビットを用いて、乱数生成のためのシード値を生成する。ここで、Ｎは１以上の整数であり、ｎは１以上Ｎ以下の整数である。したがって、シード値生成器３は、測定値の全ビットを用いて乱数生成のためのシード値を生成してもよいし、測定値の一部のビットを用いて乱数生成のためのシード値を生成してもよい。
乱数生成器４は、シード値生成器３により生成されたシード値を用いて、予め定められた疑似乱数生成アルゴリズムによりＭビットの乱数を生成する。ここで、Ｍはｎよりも大きい整数である。なお、予め定められた疑似乱数生成アルゴリズムは、生成されたシード値のビット数よりも大きなビット数の疑似乱数を生成することが可能な任意のアルゴリズムであればよい。
【００１２】
このように、乱数生成装置１では、シード値生成器３は、ランダムに変動する物理量の測定値からシード値を生成する。したがって、予測が困難なシード値を生成することができる。そして、乱数生成器４は、このシード値を用いて、このシード値の生成に用いられたビット数よりも大きいビット数の乱数を生成する。したがって、乱数生成装置１によれば、乱数の予測可能性を低く抑えつつ、生成される乱数のビット数を大きくすることができる。
【００１３】
＜実施の形態１＞
次に実施の形態の詳細について説明する。図２は、実施の形態１にかかる乱数生成装置１０の構成例を示すブロック図である。図２に示すように、乱数生成装置１０は、加速度センサ１００Ａと、地磁気センサ１００Ｂと、ジャイロセンサ１００Ｃと、Ａ／Ｄ変換器１１０Ａ〜１１０Ｃと、センサフュージョン装置１２０と、シード値生成器１３０と、乱数生成器１４０とを有する。
【００１４】
このように、本実施の形態では、乱数生成装置１０は、複数のセンサを有しており、加速度センサ１００Ａ、地磁気センサ１００Ｂ、及びジャイロセンサ１００Ｃは、図１におけるセンサ２に相当する。加速度センサ１００Ａは、加速度を検出するセンサであり、検出した加速度のアナログデータをＡ／Ｄ変換器１１０Ａに出力する。地磁気センサ１００Ｂは、地磁気を検出するセンサであり、検出した地磁気のアナログデータをＡ／Ｄ変換器１１０Ｂに出力する。ジャイロセンサ１００Ｃは、角速度を検出するセンサであり、検出した角速度のアナログデータをＡ／Ｄ変換器１１０Ｃに出力する。加速度センサ１００Ａ、地磁気センサ１００Ｂ、及びジャイロセンサ１００Ｃは、それぞれ、Ｘ方向、Ｙ方向、及びＺ方向の３軸の各検出値をアナログデータとして出力する。
【００１５】
Ａ／Ｄ変換器１１０Ａは、加速度センサ１００Ａが出力した加速度のアナログ値をデジタル値に変換するアナログデジタル変換器である。本実施の形態では、Ａ／Ｄ変換器１１０Ａは、各軸のアナログ値をそれぞれ１６ビットのデジタル値に変換して出力する。Ａ／Ｄ変換器１１０Ａの全ての出力は、センサフュージョン装置１２０に入力される。また、Ａ／Ｄ変換器１１０Ａの出力は、シード値生成器１３０に入力される。本実施の形態では、一例として、Ｘ方向、Ｙ方向、及びＺ方向についての検出値のデジタル値がシード値生成器１３０に入力される。特に、本実施の形態では、Ａ／Ｄ変換器１１０Ａが出力するＸ方向についての検出値である１６ビットのデジタル値のうちの下位８ビット、Ｙ方向についての検出値である１６ビットのデジタル値のうちの下位８ビット、及びＺ方向についての検出値である１６ビットのデジタル値のうちの下位８ビットがシード値生成器１３０に入力される。
【００１６】
Ａ／Ｄ変換器１１０Ｂは、地磁気センサ１００Ｂが出力した地磁気のアナログ値をデジタル値に変換するアナログデジタル変換器である。本実施の形態では、Ａ／Ｄ変換器１１０Ｂは、各軸のアナログ値をそれぞれ１６ビットのデジタル値に変換して出力する。Ａ／Ｄ変換器１１０Ｂの全ての出力は、センサフュージョン装置１２０に入力される。また、Ａ／Ｄ変換器１１０Ｂの出力は、シード値生成器１３０に入力される。本実施の形態では、一例として、Ｘ方向、Ｙ方向、及びＺ方向についての検出値のデジタル値がシード値生成器１３０に入力される。特に、本実施の形態では、Ａ／Ｄ変換器１１０Ｂが出力するＸ方向についての検出値である１６ビットのデジタル値のうちの下位８ビット、Ｙ方向についての検出値である１６ビットのデジタル値のうちの下位８ビット、及びＺ方向についての検出値である１６ビットのデジタル値のうちの下位８ビットがシード値生成器１３０に入力される。
【００１７】
Ａ／Ｄ変換器１１０Ｃは、ジャイロセンサ１００Ｃが出力した角速度のアナログ値をデジタル値に変換するアナログデジタル変換器である。本実施の形態では、Ａ／Ｄ変換器１１０Ｃは、各軸のアナログ値をそれぞれ１６ビットのデジタル値に変換して出力する。Ａ／Ｄ変換器１１０Ｃの全ての出力は、センサフュージョン装置１２０に入力される。また、Ａ／Ｄ変換器１１０Ｃの出力は、シード値生成器１３０に入力される。本実施の形態では、一例として、Ｘ方向、Ｙ方向、及びＺ方向についての検出値のデジタル値がシード値生成器１３０に入力される。特に、本実施の形態では、Ａ／Ｄ変換器１１０Ｃが出力するＸ方向についての検出値である１６ビットのデジタル値のうちの下位８ビット、Ｙ方向についての検出値である１６ビットのデジタル値のうちの下位８ビット、及びＺ方向についての検出値である１６ビットのデジタル値のうちの下位８ビットがシード値生成器１３０に入力される。
【００１８】
センサフュージョン装置１２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、又はハードウェア演算器などにより構成される演算装置であり、測定値に対する所定の演算を行って、図示しない後段の機器に出力する。本実施の形態では、センサフュージョン装置１２０には、Ａ／Ｄ変換器１１０Ａによりデジタル値に変換された３軸のそれぞれの加速度と、Ａ／Ｄ変換器１１０Ｂによりデジタル値に変換された３軸のそれぞれの地磁気と、Ａ／Ｄ変換器１１０Ｃによりデジタル値に変換された３軸のそれぞれの角速度とが入力される。センサフュージョン装置１２０は、例えば、入力された現在の測定データ及び過去の測定データ等を用いて所定の演算を行って、位置、速度、高度、及び、傾きなどの各種データを出力する。
【００１９】
次に、シード値生成器１３０及び乱数生成器１４０について説明する。乱数生成装置１０は、加速度センサ１００Ａ、地磁気センサ１００Ｂ、及びジャイロセンサ１００Ｃから取得した物理現象の測定値に基づいて、乱数を生成する。このため、上述の通り、測定値のデジタル値は、センサフュージョン装置１２０のみならず、シード値生成器１３０にも入力される。
【００２０】
なお、例えば、センサフュージョン装置１２０からの出力データを外部の機器へ送信する場合、この出力データを保護するため、チャレンジ・アンド・レスポンスなどのセキュリティ技術が用いられることがある。チャレンジ・アンド・レスポンスによる通信を行う場合、乱数が必要とされる。乱数生成装置１０は、例えばこのような通信に利用されるための乱数を生成してもよい。なお、乱数生成装置１０が生成する乱数が他の用途に利用されてもよい。
【００２１】
シード値生成器１３０は、加速度センサ１００Ａ、地磁気センサ１００Ｂ、及びジャイロセンサ１００Ｃの測定値のデジタル値を用いて、乱数生成のためのシード値を生成するハードウェア回路である。シード値生成器１３０は、Ｎ（ただし、ここではＮは２以上の整数）のデジタル値である測定値の下位ｎビット（ただし、ここではｎは１以上Ｎ未満の整数）を用いてシード値を生成する。具体的には、本実施の形態では、シード値生成器１３０は、加速度センサ１００ＡのＸ方向、Ｙ方向、Ｚ方向それぞれについての１６ビットの測定値の下位８ビットと、地磁気センサ１００ＢのＸ方向、Ｙ方向、Ｚ方向それぞれについての１６ビットの測定値の下位８ビットと、ジャイロセンサ１００ＣのＸ方向、Ｙ方向、Ｚ方向それぞれについての１６ビットの測定値の下位８ビットとを用いて、シード値を生成する。
【００２２】
シード値生成器１３０は、入力されたデジタル値を有するビット列を生成する。具体的には、シード値生成器１３０は、例えば、入力されたデジタル値を連結したビット列をシード値として生成する。すなわち、シード値生成器１３０は、加速度の測定値の下位８ビットと、地磁気の測定値の下位８ビットと、角速度の測定値の下位８ビットとを連結して、７２ビットのビット列を生成して、シード値として乱数生成器１４０に出力する。つまり、本実施の形態では、シード値生成器１３０は、複数のセンサのそれぞれの測定値の下位ｎビットを用いて、ｎよりも大きいｍビットのシード値を生成している。シード値のビット数の大きさは、生成される疑似乱数の再出頻度に反比例するため、シード値のビット数をより大きくするほど、生成される疑似乱数の予測可能性は低減される。
【００２３】
なお、シード値生成器１３０は、他の方法によりシード値を生成してもよい。例えば、シード値生成器１３０が、入力されたデジタル値を有するビット列を生成し、さらに、このビット列に対し圧縮処理等の処理を行ったビット列をシード値としてもよい。また、シード値生成器１３０は、入力されたデジタル値を有するビット列として、時系列において異なる時点に入力された複数のデジタル値を含んでもよい。
【００２４】
加速度センサ１００Ａ、地磁気センサ１００Ｂ、及びジャイロセンサ１００Ｃの出力は、周囲の人若しくは物又は地球からの影響などにより、常に変化している。このため、これらのセンサからは不規則な測定値が得られる。このため、シード値生成器１３０が出力するシード値の予測は困難である。
【００２５】
乱数生成器１４０は、シード値生成器１３０により生成されたこのようなシード値を用いて、予め定められた疑似乱数生成アルゴリズムによりＭビット（ただし、Ｍは上記下位ｎビットのｎの値よりも大きい整数）の乱数を生成する。本実施の形態では、一例として、乱数生成器１４０は、１２８ビットの乱数を生成する。ここで、予め定められた疑似乱数生成アルゴリズムは、シード値のビット数よりも大きなビット数の疑似乱数を生成するアルゴリズムであればよい。具体的には、例えば、乱数生成器１４０は、ｍビットのシード値と、予め定められたビット列とを連結し、Ｍビットのビット列を生成し、このＭビットのビット列を疑似乱数生成回路である線形帰還シフトレジスタに入力し、ｋ回（ただし、ｋは１以上の整数）のシフト後に得られるＭビットのビット列を疑似乱数として出力してもよい。本実施の形態では、具体的には、乱数生成器１４０は、予め定められたビット列としての５６（＝１２８−７２）ビットのビット列（例えば、各ビットが全て１であるビット列）と、入力された７２ビットのシード値とを連結し、１２８ビットのビット列を生成し、生成した１２８ビットのビット列を線形帰還シフトレジスタに入力し、シフト操作後の線形帰還シフトレジスタの各ビットを出力することで、１２８ビットの疑似乱数を出力する。ただし、この場合、初期に生成される乱数のビットは１が多いため、予測可能性が高くなってしまう。そのため、シフト回数が予め定められた回数以上となるまでは、線形帰還シフトレジスタの値を乱数として使用しないことが望ましい。乱数として使用しない回数は、固定値（例えば１０回程度）でも良いし、測定値の値又はシード値の値を用いて得られる値でもよい。なお、上記アルゴリズムは、一例であり、これに限らず他のアルゴリズムにより乱数が生成されてもよい。
【００２６】
次に、乱数生成装置１０における乱数生成動作について説明する。図３は、乱数生成装置１０における乱数生成動作の流れを示すフローチャートである。乱数生成装置１０は、以下の流れで乱数を生成する。
【００２７】
まず、ステップ１０（Ｓ１０）において、加速度センサ１００Ａ、地磁気センサ１００Ｂ、及び、ジャイロセンサ１００Ｃにより物理現象が測定される。測定結果は、Ａ／Ｄ変換器１１０Ａ、１１０Ｂ、１１０Ｃによりデジタル値に変換され、シード値生成器１３０に入力される。
次に、ステップ２０（Ｓ２０）において、入力された測定値を用いて、シード値生成器１３０がシード値を生成する。
その後、ステップ３０（Ｓ３０）において、乱数生成器１４０が、生成されたシード値を用いて乱数を生成する。
【００２８】
以上、実施の形態１について説明した。本実施の形態では、予測が困難なシード値を用いて、シード値の生成に用いられたビット数よりも大きいビット数の乱数が生成される。したがって、乱数生成装置１０によれば、乱数の予測可能性を低く抑えつつ、生成される乱数のビット数を大きくすることができる。
【００２９】
また、特に、シード値生成器１３０は、測定値の下位ｎビットを用いてシード値を生成する。加速度センサ１００Ａ、地磁気センサ１００Ｂ、及び、ジャイロセンサ１００Ｃの測定値の上位ビットの値は、センシングデータとして有効であるのに対し、下位ビットの値は各物理量の微妙な変化のセンシング結果が反映されてしまうため、一般的に、誤差として扱われることが多い。しかしながら、本実施の形態では、その微妙な変化による不規則性に着目し、シード値の生成に用いている。これにより、シード値の生成に利用されるビット数は測定値の全ビット数よりも小さくなるものの、予測が困難なシード値を生成することができる。つまり、予測が困難な乱数の生成が可能となる。なお、生成されたシード値は、乱数生成器１４０に入力され、所定のビット数を持つ乱数が生成されるため、シード値のビット数が小さいことは、問題にならない。ここで、シード値の生成に必要とされるビット数の抑制は、信号線の数の抑制等をもたらすため、シード値生成器１３０等の回路規模の抑制をもたらす。つまり、本実施の形態では、測定値の全ビットではなく所定の下位ビットだけをシード値の生成に用いることで、回路規模を抑制しつつ、予測が困難な乱数を生成することができる。
【００３０】
また、本実施の形態では、センサの測定値が、シード値生成器１３０及びセンサフュージョン装置１２０にも入力されている。つまり、センサの測定値が、シード値の生成のみならず、乱数生成以外の他の予め定められた処理にも用いられている。したがって、本実施の形態によれば、センサの測定値を利用して予め定められた処理を行う装置に、シード値生成器１３０及び乱数生成器１４０を追加するだけで、乱数の生成が可能となる。したがって、既存の装置に、乱数生成の機能を追加する際のコストを抑制することが可能となる。
【００３１】
なお、本実施の形態において、シード値生成器１３０及び乱数生成器１４０は、ハードウェア回路により実現されるものとして説明したが、これらのいずれか又は両方が、ソフトウェアにより実現されてもよい。すなわち、メモリにロードされたプログラムがプロセッサに実行されることにより実現されてもよい。
【００３２】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００３３】
＜実施の形態２＞
次に、実施の形態２について説明する。本実施の形態では、乱数生成装置１０は、その構成要素が同一の半導体チップに実装されている。図４は、実施の形態２にかかる乱数生成装置１０を含む半導体装置１１を示す模式図である。
【００３４】
半導体装置１１は、半導体チップ１２を含むパッケージ１３を有する。パッケージ１３において、半導体チップ１２は封止材により封止されている。半導体チップ１２は、実施の形態１にかかる乱数生成装置１０を含む。すなわち、加速度センサ１００Ａ、地磁気センサ１００Ｂ、ジャイロセンサ１００Ｃ、Ａ／Ｄ変換器１１０Ａ、１１０Ｂ、１１０Ｃ、シード値生成器１３０、乱数生成器１４０、及びセンサフュージョン装置１２０が、同一の半導体チップ１２に実装されている。なお、センサフュージョン装置１２０は、必ずしも同一の半導体チップに実装されていなくてもよい。
【００３５】
乱数を生成する装置においては、その信号線の電圧等が検知されることにより、シード値又は乱数値がハッキングされる恐れがある。ところで、近年、半導体装置の微細化が進み、信号線の幅の細線化が進んでいる。このため、半導体チップ１２において、乱数生成装置１０の信号線は例えば４０ｎｍ程度となっている。本実施の形態では、乱数生成装置１０の各要素が同一半導体チップ１２内に収まっているため、乱数生成装置１０の信号線を細線化することが可能になる。このため、本実施の形態においては、信号線から電圧等を検知することが困難となる。
【００３６】
また、本実施の形態では、半導体チップ１２は、封止材により封止されている。したがって、物理的に信号線の読み取りが困難な構成となっている。
【００３７】
ここで、半導体チップ１２は、多層配線構造の半導体チップであることが好ましい。複数の層に配線がある場合、表面ではない配線層の信号線の検知には、表面の配線層を削る必要がある。しかしながら、配線層が削られた場合には、乱数生成装置１０は動作できないため、動作中の乱数生成装置１０の信号線の電圧等を検知することはもはやできない。つまり、半導体チップ１２が、多層配線構造である場合、ハッキングの危険性をさらに低減することができる。
【００３８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。例えば、センサは、加速度センサ、地磁気センサ、ジャイロセンサに限られず、他の物理現象を測定するセンサが用いられてもよい。また、用いられるセンサ数は３つでなくてもよく、１以上であればよい。１つのセンサの測定値からシード値が生成される場合、シード値生成器１３０は、入力されたデジタル値をそのままシード値として出力してもよい。
また、上記の実施の形態では、Ｘ方向、Ｙ方向、及びＺ方向についての測定値がシード値の生成に用いられたが、いずれかの方向のみの測定値が用いられてもよい。また、これらの任意の測定値が組み合わされて用いられてもよい。
なお、上記の実施の形態の説明で言及した具体的なビット数は一例であり、これらのビット数に限定されない。
【符号の説明】
【００３９】
１、１０    乱数生成装置
２    センサ
３、１３０    シード値生成器
４、１４０    乱数生成器
１１    半導体装置
１２    半導体チップ
１３    パッケージ
１００Ａ    加速度センサ
１００Ｂ    地磁気センサ
１００Ｃ    ジャイロセンサ
１１０Ａ、１１０Ｂ、１１０Ｃ    Ａ／Ｄ変換器
１２０    センサフュージョン装置
【図１】
2018128783.tif 000003
【図２】
2018128783.tif 000004
【図３】
2018128783.tif 000005
【図４】
2018128783.tif 000006