物理乱数発生器および物理乱数発生装置および乱数検証方法
【課題】高品位の物理乱数を高速に生成できる安価で信頼性の高い物理乱数発生器を提供する。
【解決手段】2組のノイズ源1a、1bと、これらノイズ源より発生するノイズの直流分を除去して増幅する第1増幅回路2と第2増幅回路3と、第1増幅回路2と第2増幅回路3の出力電圧を比較して0または1を出力する比較回路4と、比較回路4の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップ5と、比較回路4の一方の入力に接続され、比較回路4のオフセット電圧を設定するオフセット電圧回路7と、オフセット電圧回路7を制御する一様化フィードバック回路6とで構成される。
【解決手段】2組のノイズ源1a、1bと、これらノイズ源より発生するノイズの直流分を除去して増幅する第1増幅回路2と第2増幅回路3と、第1増幅回路2と第2増幅回路3の出力電圧を比較して0または1を出力する比較回路4と、比較回路4の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップ5と、比較回路4の一方の入力に接続され、比較回路4のオフセット電圧を設定するオフセット電圧回路7と、オフセット電圧回路7を制御する一様化フィードバック回路6とで構成される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、各種の用途に用いて好適な物理乱数発生器に関するものであり、その具体的な用途として、シミュレーション(例えば、確率モデルシミュレーション、マルコフ連鎖モンテカルロ法、粒子フィルタ)、セキュリティ(例えば、共通鍵暗号の鍵、認証鍵、認証用乱数、量子暗号の鍵)、ゲーム機(例えば、アミューズメント、アーケードゲーム、パソコンゲーム、シミュレーションゲーム)、コンピュータグラフィックス等が挙げられる。
【背景技術】
【0002】
近年、通信技術の進歩や個人情報、電子取引等の取り扱いにより、大量のデータを暗号化処理したり認証したりするために、セキュリティ通信分野等において高速で高品位な乱数が必要とされており、また、数値シミュレーションにおいても、CPUの高速化や並列処理の進歩、高精度高効率の追求等により、さらなる大量のデータを処理できるようになったため、高速で高品位の大量な乱数が必要とされている。
【0003】
乱数には、アルゴリズム(計算)により生成される疑似乱数と、自然界の物理現象を利用して生成される物理乱数(真性乱数)とがある。
疑似乱数は計算により生成されるため高速化が容易であるが、初期値を与えたアルゴリズムで算出されることから再現性が有り、初期値やアルゴリズムから乱数列が予測され易いという欠点がある。加えて、疑似乱数は乱数列に周期性を有するため、セキュリティやシミュレーション等の分野での使用には不向きな場合がある。
他方、物理乱数は、半導体内部の熱雑音に代表されるランダムな物理現象を利用して生成されるため、疑似乱数のような初期値やアルゴリズムは不要であり、且つ、乱数列に周期性がないことから、乱数を予測することは不可能であり、よって、予測の困難さを必要とするセキュリティ通信分野や再現性のない真の乱数を必要とする統計シミュレーション分野等においては、物理乱数の需要が急増している。
【0004】
物理乱数は、乱数源としてダイオードやトランジスタ等で発生する電気的ノイズをフィルター回路、増幅回路、A/D変換器等を通してデータ化(2値化)する方式が主流である(例えば、特許文献1、特許文献2)。
【特許文献1】特開平11−085472号公報
【特許文献2】特開2002−41281号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、物理乱数を高速に生成するためには、乱数源となる電気的ノイズを高速に発生させて増幅し、確実にデータ化できる高速回路が必要であるが、回路の高速化には多大なコストと高度な回路技術が要求されるため(通常、乱数の生成速度は、使用するA/D変換器の性能に大きく影響される)、低コストで手軽に高速の物理乱数を得ることは困難であった。
また、高速化することにより、乱数源が不安定になったり、ノイズの計測精度が低下したりして、生成される物理乱数の品質が低下する場合もある。
【0006】
本発明は、このような問題点に鑑み成されたもので、高品位の物理乱数を高速に生成できる安価で信頼性の高い物理乱数生発生器および物理乱数発生装置および乱数検証方法を提供することを目的としている。
【課題を解決するための手段】
【0007】
すなわち、請求項1に記載の物理乱数発生器は、2組のノイズ源と、これらのノイズ源より発生する各々ノイズの直流分を除去して増幅する第1増幅回路と第2増幅回路と、前記第1増幅回路と前記第2増幅回路の各出力電圧を比較して0または1を出力する比較回路と、当該比較回路の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップと、前記比較回路の一方の入力に接続されて、当該比較回路のオフセット電圧を設定するオフセット電圧回路と、前記オフセット電圧回路を制御する一様化フィードバック回路とで構成されることを特徴としている。
【0008】
また、請求項2に記載の物理乱数発生器は、2組のノイズ源と、これらノイズ源より発生する各々ノイズの直流分を除去してノイズの差分を増幅する差動増幅回路と、前記差動増幅回路の出力電圧と基準電圧を比較して0または1を出力する比較回路と、前記比較回路の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップと、当該比較回路の基準電圧側の入力に接続され、前記比較回路のオフセット電圧を設定するオフセット電圧回路と、前記オフセット電圧回路を制御する一様化フィードバック回路とで構成されることを特徴としている。
【0009】
また、請求項3に記載の発明は、請求項1または請求項2に記載の物理乱数発生器において、前記一様化フィードバック回路は、前記フリップ・フロップ出力を保持するレジスターと、当該レジスターの出力に1を加算し、比較値を生成する加算器と、前記基準クロック数を計測する第1カウンターと、当該第1カウンターの計数値と前記加算器からの比較値より当該比較値の2倍の前記繰り返し周期を発生する第1比較器と、前記繰り返し周期毎に前記フリップ・フロップ出力の0または1の出現数を計測する第2カウンターと、前記第2カウンターの計数値と前記比較値とを比較して比較出力(計数値<比較値)または比較出力(計数値>比較値)を発生する第2比較器とを備えることにより、前記フリップ・フロップ出力の0または1の出現率が前記物理乱数で決まる繰り返し周期内で50%になるように前記オフセット電圧回路を制御することを特徴としている。
【0010】
また、請求項4に記載の発明は、請求項3に記載の物理乱数発生器において、前記オフセット電圧回路は、前記第2比較器出力(計数値<比較値、計数値>比較値)に基づいて動作する2組のスイッチ回路と、抵抗、コンデンサのCR回路を備え、前記スイッチ回路のオン動作により前記コンデンサの充放電を行う充放電回路と、当該充放電回路の出力を増幅してオフセット電圧を発生する第3増幅回路とで構成されることを特徴としている。
【0011】
また、請求項5に記載の発明は、請求項4に記載の物理乱数発生器において、
前記比較回路の、前記オフセット電圧回路が接続される入力とは別の入力に、前記第3増幅回路と同じ構成の増幅回路を設けたことを特徴としている。
【0012】
また、請求項6に記載の発明は、請求項3に記載の物理乱数発生器において、前記オフセット電圧回路は、前記第2比較器の出力(n<m、n>m)にて動作する可逆カウンターと、当該可逆カウンターの出力値をアナログ値に変換して前記オフセット電圧を発生するD/Aコンバータとで構成されることを特徴としている。
【0013】
また、請求項7に記載の発明は、請求項3から請求項6までの何れかに記載の物理乱数発生器において、前記繰り返し周期中において、前記第2比較器の出力(計数値<比較値)または、出力(計数値>比較値)の何れか一方が連続して所定回数出現したことを検出した時、異常信号を発生する異常検知手段を備えることを特徴としている。
【0014】
また、請求項8に記載の発明は、請求項1から請求項7までの何れかに記載の物理乱数発生器において、前記ノイズ源は、抵抗とツェナーダイオードの直列回路、または、定電流源に接続されたツェナーダイオード、または、PチャンネルMOSトランジスタとNチャンネルMOSトランジスタを直列に接続し、入出力間を短絡したトランジスタ回路で構成されることを特徴としている。
【0015】
また、請求項9に記載の発明は、請求項1から請求項8までの何れかに記載の物理乱数発生器において、シフトレジスターと、当該シフトレジスターの保持データの一部を入力データとすると共に、その他の一部をアドレスデータとする選択回路と、当該選択回路の出力と前記フリップ・フロップより出力された物理乱数との排他的論理和を行う排他的論理和回路とを備え、当該排他的論理和回路の出力を前記シフトレジスターの入力データとする一様化回路を備えることを特徴としている。
【0016】
また、請求項10に記載の物理乱数発生装置は、並列動作可能に配設された請求項1から請求項9までの何れかに記載の複数の物理乱数発生器と、これら複数の物理乱数発生器の内の1つの物理乱数発生器の乱数出力と残りの物理乱数発生器の乱数出力のそれぞれと個々に排他的論理和を行う複数の排他的論理和回路とを備えることを特徴としている。
【0017】
また、請求項11に記載の乱数検証方法は、請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、これら複数の乱数列の内の任意の2列間について各バイト間の相関係数を求め、得られた相関係数より各乱数列間の相関関係を検証することを特徴としている。
【0018】
また、請求項12に記載の乱数検証方法は、請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について偶数番目のバイトと、奇数番目のバイト間の相関係数を求め、得られた相関係数より各乱数列における自己相関関係を検証することを特徴としている。
【0019】
また、請求項13に記載の乱数検証方法は、請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について所定バイト数おいたバイト間の相関係数を求め、得られた相関係数より各乱数列における自己相関関係を検証することを特徴としている。
【0020】
また、請求項14に記載の乱数検証方法は、請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について1バイト度数のカイ自乗値を求め、得られたカイ自乗値より各乱数列における一様性を検証することを特徴としている。
【0021】
また、請求項15に記載の発明は、請求項11から請求項14までの何れかに記載の乱数検証方法において、前記乱数列における物理乱数の検証をバイト単位に換えて複数ビット単位にて行うことを特徴としている。
【発明の効果】
【0022】
請求項1〜9に記載の発明によれば、ノイズ源からのノイズを高価なA/D変換器を用いずに、増幅回路と比較回路によりデータ化(2値化)する構成としたので、外来ノイズ、電源変動、環境変化等に影響されることなく高品位の物理乱数を高速で生成できる物理乱数発生器を実現することができる。
また、一様化フィードバック回路を設け、乱数出力に基づき上記比較回路のオフセット電圧を調整して、乱数の0または1の出現率が50%になるように補正するようにしたので、一様性を有し、且つ、規則性や相関性や周期性を有しない高品位な物理乱数を高速で生成することができる。
さらに、請求項9に記載のように、一様化回路を設けることにより、より一様性に優れる物理乱数を高速で生成することができる。
【0023】
また、請求項10に記載の発明によれば、上記物理乱数発生器を多段に接続して並列動作させると共に、これら物理乱数発生器の各乱数出力を別の物理乱数発生器の乱数出力と排他的論理和を行うことにより、高品位の高速物理乱数を大量に生成できる物理乱数発生装置を実現することができる。
【0024】
また、請求項11〜15に記載の発明によれば、上記物理乱数発生装置で生成された物理乱数の品質、すなわち、一様性、規則性や相関性や周期性の有無を効率良く容易に検定することができ、物理乱数の品質確保に大いに寄与できる。
【発明を実施するための最良の形態】
【0025】
以下、図面に基づいて本発明に係る物理乱数発生器の実施形態を説明する。
【0026】
図1は、本発明による物理乱数発生器の第1実施形態を示し、図2は各部の波形を示している。
図1、図2に示すように、本実施形態の物理乱数発生器10は、2組のノイズ源1a、1bと、これらのノイズ源1a、1bから発生するノイズA、ノイズBの直流分を除去して高周波成分を増幅する第1増幅回路2と第2増幅回路3と、これら第1増幅回路2と第2増幅回路3の出力電圧を相互に比較して0または1を出力する比較回路4と、この比較回路4の比較出力、0または1を基準クロックの立ち上がりに同期して逐次保持し、物理乱数を生成するDタイプのフリップ・フロップ5と、上記比較回路4の+入力にオフセット電圧vfbを供給するオフセット電圧回路7と、このオフセット電圧回路7のオフセット電圧vfbを調整する一様化フィードバック回路6とで構成されている。
【0027】
ここで、上記したノイズ源1a、1bとしては、図9(a)に示すような、抵抗R1とツェナーダイオードD1の直列回路によるノイズ源、図9(b)のような、定電流源25に接続されたツェナーダイオードD1によるノイズ源、図9(c)のような、PチャンネルMOSトランジスタQ1とNチャンネルMOSトランジスタQ2を直列に接続(カスケード接続)し、その入出力間を短絡したトランジスタ回路で構成されるノイズ源等、様々なノイズ源を用いることができる。
【0028】
一様化フィードバック回路6は、図3に示すように、レジスター11(例えば、シフトレジスター)、加算器12、第1比較器13、第1カウンター14、第2カウンター15、第2比較器16、制御回路17等で構成されている。
【0029】
図3、および図4のタイミング図に示すように、レジスター11は、上記フリップ・フロップ5からの乱数出力の一部を基準クロックに同期して順次保持し、その保持データの値(c)を、当一様化フィードバック回路6の繰り返し周期を設定するための周期設定値(c)とする。
加算器12は、この周期設定値(c)に1を加算して比較値(m=c+1)を生成し、この比較値(m)が第1比較器13の一方の比較入力に比較データ(2m−1)となるように入力される。この第1比較器13は、フィードバック制御の繰り返し周期を発生するための比較器であり、周期設定値(c)に1を加算するのは、レジスター11に保持される出力乱数(0〜m−1)の範囲を(1〜m)の範囲に変換するためである。
【0030】
第1カウンター14は、基準クロックの数を計測し、その計数値を第1比較器13の他方の比較入力に入力して上記した比較データ(2m−1)と比較することにより、その比較出力として基準クロックの(2m)倍の繰り返し周期を有する一致信号(t=2m)を発生する。
また、この繰り返し周期(t)によって、上記したレジスター11および第1カウンターはリセットされ、リセット解除後、レジスター11による乱数保持動作と第1カウンター14による基準クロックの計側動作が新たに開始される。
本構成では、レジスター11に保持される乱数値に応じて、繰り返し周期(t)はランダムに変化する。
【0031】
第2カウンター15は、上記した繰り返し周期(t)毎に上記フリップ・フロップ5の乱数出力の1(または0)の出現数を計測し、その計数値(n)が第2比較器16の一方の比較入力に入力される。また、この第2比較器16の他方の比較入力には加算器12で生成された比較値(m)が入力されており、第2比較器16において計測値(n)と比較値(m)が比較され、その比較結果に応じた比較出力(n<m、n>m)が出力される。
比較出力(n<m、n>m)は制御回路17において電流増幅され、後述するオフセット電圧回路7のスイッチ回路Q1、Q2を駆動するための駆動信号Driv_pとDriv_nが出力される。
【0032】
オフセット電圧回路7は、図1に示すように、制御回路17から出力された駆動信号Driv_pとDriv_nにより動作する2組のスイッチ回路(PチャンネルMOSトランジスターQ1、NチャンネルMOSトランジスターQ2)と抵抗器R1、R2、およびコンデンサーC1のCR回路で成る充放電回路9と、この充放電回路9の出力を増幅してオフセット電圧vfbを発生するバッファ用の第3増幅回路8とで構成されている。
【0033】
そして、図4に示すように、制御回路17より駆動信号Driv_pが出力されMOSトランジスターQ1がオンすると(この時、MOSトランジスターQ2はオフ)、電源VccよりMOSトランジスターQ1と抵抗R1を介してコンデンサーC1が充電され、その充電電圧によりオフセット電圧vfbが上昇する。また、制御回路17より駆動信号Driv_nが出力されMOSトランジスターQ2がオンすると(この時、MOSトランジスターQ1はオフ)、抵抗R2とMOSトランジスターQ2を介して、コンデンサーC1の電荷が電源Vee側へ放電され、オフセット電圧vfbは降下する。
オフセット電圧vfbを高くすると、比較回路4の比較出力の1の出現数が多くなり、0の出現数が少なくなる。逆に、オフセット電圧vfbを低くすると、1の出現数が少なくなり、0の出現数は多くなる。
【0034】
このように、一様化フィードバック回路6の制御により繰り返し周期(t)内に発生する乱数出力の1(または0)の数に応じて比較回路4の+入力側のオフセット電圧を調整し、比較回路4の比較出力、すなわち、0と1の出現状態を変化させることにより、フリップ・フロップ5からの乱数出力の1または0の出現率を確率的に50%に収束するように自動調整することができる。これにより、一様化された物理乱数の生成が可能となる。
【0035】
また、本第1実施形態の物理乱数発生器10では、図1に替えて、図5に示すように、比較回路4の−入力側に上記したオフセット電圧回路7を構成する第3増幅回路8と同様の回路構成を設けることにより、比較回路4の入力形態を対称型とすることができ、これにより、上記第3増幅回路8を介して比較回路4の各入力に重畳される外来ノイズや電源ノイズ、或いは電源変動による波形歪み等を比較回路4において確実に相殺することができ、耐ノイズ性に優れる回路構成を実現することができる。尚、その他の回路構成は図1と全く同様である。
【0036】
また、オフセット電圧回路7は、図1、図5に示すような、充放電回路9と第3増幅回路8の組み合わせ回路に替え、図6に示すように、可逆カウンター18(アップ・ダウンカウンター)とD/Aコンバータ19との組み合わせ回路で構成することもできる。
【0037】
上記構成のオフセット電圧回路7において、可逆カウンター18は、第2比較器16より比較出力(n<m、n>m)が出力された時に基準クロックに同期して動作する。すなわち、比較出力(n<m)が出力されると可逆カウンター18はカウントアップし、比較出力(n<m)にてカウントダウンするように動作する。
この可逆カウンター18のデジタル出力値はD/Aコンバータ19によりアナログ値に変換され、オフセット電圧vfbとして比較回路4の+入力に供給される。すなわち、可逆カウンター18のカウントアップによりオフセット電圧vfbが上昇し、可逆カウンター18のカウントダウンによりオフセット電圧vfbが降下するように動作する。可逆カウンター18は、繰り返し周期(t)毎にリセットされる。リセット解除後、可逆カウンター18は比較出力(n<m、n>m)に基づいてカウント動作を開始する。
【0038】
このように、本回路構成においても、一様化フィードバック回路6により繰り返し周期(t)内に発生する乱数出力の1(または0)の数に応じて比較回路4の+入力側のオフセット電圧を調整し、比較回路4の比較出力、すなわち、0と1の出現状態を変化させることにより、フリップ・フロップ5からの乱数出力、1または0の出現率を確率的に50%に自動調整することができる。
【0039】
また、本実施形態の物理乱数発生器10は、上記した一様化フィードバック回路6によるフィードバック制御の動作を監視する異常検知回路(異常検知手段)を備えている。
【0040】
図7は、その一例を示し、第2比較器16の比較出力(n<m)または(n>m)が連続的に出力されることを検出する連続性検出器21と、比較出力(n<m)および(n>m)の連続回数を計測する第3カウンター22と、この第3カウンター22の計数値を予め定めた所定数(比較データ)と比較する第3比較器23とで構成され、何らかの理由で第3カウンター22の計数値が所定数を越えた場合に、第3比較器23より異常動作確認信号が出力される。
【0041】
図8は、異常検知回路の別の例を示し、オフセット電圧回路7の可逆カウンター18(アップ・ダウンカウンター)出力にオーバーフローを検出するオーバーフロー検出回路24を設けたものである。
可逆カウンター18に第2比較器16の比較出力(n<m)或いは比較出力(n>m)が連続的に入力され、カウントオーバーした場合に(例えば、可逆カウンター18が8ビット構成であれば、オーバーフローすることにより、カウンタ出力はFFH、或いは00Hとなる)、オーバーフロー検出回路24においてカウント出力FFH、或いは00Hが検知された場合に、異常動作確認信号が出力される。
【0042】
異常検知回路からの異常動作確認信号を監視し、物理乱数発生器10における回路動作の異常を素早く察知することにより、物理乱数発生器10にて生成される物理乱数の品質劣化を未然に防止することが可能となる。
【0043】
図10は、本発明による物理乱数発生器の第2実施形態を示している。
第2実施形態による物理乱数発生器10は、第1増幅回路2と第2増幅回路3の代わりに1個の差動増幅回路26を用いたことを除き、図1に示す第1実施形態の物理乱数発生器10と同様である。
【0044】
第2実施形態の物理乱数発生器10では、差動増幅回路26により各々直流分を除去したノイズの差分が増幅され、その出力電圧が比較回路4において基準電圧と比較され、比較出力0または1が出力される。比較回路4の基準電圧は、オフセット電圧回路7の出力(オフセット電圧vfb)であり、第1実施形態と同様に、一様化フィードバック回路6を介してオフセット電圧vfbを調整することにより、乱数出力の1または0の出現率を確率的に50%に収束するように自動調整することができる。
尚、この場合も、図示しないが、図5と同様に、比較回路4の−入力側に第3増幅回路8と同様の回路を設けて、比較回路4の入力形態を対称型とすることにより、耐ノイズ性を向上することができる。
【0045】
図11は、物理乱数の一様化回路30の構成を示し、排他的論理和回路33、シフトレジスター31、セレクター32(選択回路)とで構成されている。シフトレジスター31の保持データの一部はセレクター32の入力データとなり、その他の一部はアドレスデータとされている。
物理乱数発生器10(フリップ・フロップ5)にて生成された物理乱数は、排他的論理和回路33においてセレクター32の乱数出力との排他的論理和が行われると共に、シフトレジスター31のデータ入力に入力される。
【0046】
このように、シフトレジスター31のデータ入力に入力される物理乱数は、その一部がアドレスデータとなって、自分自身の保持データをランダムに選択して出力するので、物理乱数発生器10からの乱数が偏りを持っていても、この一様化回路30にて一様化されることになるため、一様性に優れる物理乱数(一様化物理乱数)を得ることができる。
【0047】
図12は、物理乱数発生器10を複数(P台)配設して並列動作させる多ビット出力の物理乱数発生装置40である。この物理乱数発生装置40は、上記したP台の物理乱数発生器10の他にさらなる一台の品位向上用の物理乱数発生器10を具備すると共に、各物理乱数出力に対応して設けたP個の排他的論理和回路41により、この(P+1台)目の品位向上用の物理乱数発生器10の乱数出力とP台の各物理乱数発生器10の乱数出力の排他的論理和が行なわれることにより、物理乱数の更なる品位向上が図られ、高品位の多ビット(Pビット)物理乱数(高品位物理乱数)を得ることができる。
【0048】
尚、この物理乱数発生装置40は、図11に示した乱数一様化回路30を具備した物理乱数発生器10を用いることにより、優れた一様性を有するより高品位な多ビット物理乱数が得られるようになる。
【0049】
次に、図12の物理乱数発生装置40にて生成される物理乱数の一様性を検証する検証方法について説明する。
【0050】
第1の検証方法は、図12において複数(P+1)台の物理乱数発生器10から出力される各々乱数(一様化物理乱数(1〜P+1))を、図13に示すように、複数バイト(qバイト)乱数列として同時に取得し(例えば、装置搭載のメモリに保存しておく)、これら複数の乱数列(1〜P+1列)の内の任意の2列間について各バイト間の相関係数(r)を式1より算出し、得られた相関係数より各乱数列間の相関関係を検証する方法である。
表1は、相関関数(r)に対する相関関係の一例を示し、算出された相関関数(r)の0〜1の範囲値で表1に基づいて相関性の善し悪しを判断する。
【0051】
【0052】
次に第2の検証方法は、上記同様、図12において複数(P+1)台の物理乱数発生器10から出力される各々乱数(一様化物理乱数(1〜P+1))を、複数バイト同時に取得し、各乱数列(1〜P+1列)について任意のバイト間の相関計数(r)を式1より算出し、得られた相関係数より、表1に基づいて各乱数列における自己相関関係を検証する方法である。
【0053】
この検証方法では、図14に示すように、複数(P+1)台の物理乱数発生器10から出力される各々乱数の取得バイト数を(2×q)バイトとして、各乱数列について偶数番目のバイトと、奇数番目のバイト間の相関係数を求める方法、或いは、図15に示すように、複数(P+1)台の物理乱数発生器10から出力される各々乱数の取得バイト数を(q+s)として、各乱数列について(s)バイトおいたバイト間の相関関係を求める方法等を採用できる。
【0054】
【表1】
【0055】
次に、第3の検証方法は、上記同様、図12において複数(P+1)台の物理乱数発生器10から出力される各々乱数(一様化物理乱数(1〜P+1))を、複数バイト同時に取得し、各乱数列1バイト度数のカイ自乗値(X2)を式2より算出すると共に、得られたカイ自乗値と有意水準値を比較して各乱数列における一様性を検証する方法である。
すなわち、例えば、検証基準として有意水準1%のカイ自乗値(X2)は310.475、有意水準5%のカイ自乗値(X2)は293.248とし、検証データ量(バイト量)に対して算出されたカイ自乗値が有意水準を下回るかを検証する。
【0056】
式2において、kは乱数を表現するビット数で8、nは乱数の数量でバイト数、piは乱数値iの出現確率(一様乱数の場合は全てのiについてpi=1/256)、xiは乱数値iの度数を示す。
【0057】
以上、本実施形態による検証方法では、各乱数列における乱数の検証をバイト単位で行ったが、複数ビット単位で行うことも勿論可能である。また、検証用データとして各物理乱数発生器10の出力乱数(一様化物理乱数(1〜P+1))を用いたが、複数(P個)の排他的論理和回路41の出力乱数(高品位物理乱数(1〜P))を検証用データとしても良い。
【0058】
当検証方法により、物理乱数発生装置40で生成される物理乱数の品質、すなわち、一様性、規則性や相関性や周期性の有無を効率良く容易に検証することができ、物理乱数の品質確保に大いに寄与できるものである。
【図面の簡単な説明】
【0059】
【図1】本発明の第1実施形態による物理乱数発生器の構成を示す図。
【図2】本発明の物理乱数発生器の各部の波形を示す図。
【図3】一様化フィードバック回路の構成を示す図。
【図4】図3の一様化フィードバック回路の動作を示すタイミング図。
【図5】本発明の第1実施形態による物理乱数発生器の図1とは別の構成を示す図。
【図6】オフセット電圧回路の図1とは別の構成を示す図。
【図7】異常検知回路の構成を示す図。
【図8】異常検知回路の図7とは別の構成を示す図。
【図9】ノイズ源の構成例を示す図。
【図10】本発明の第2実施形態による物理乱数発生器の構成を示す図。
【図11】乱数一様化回路の構成を示す図。
【図12】本発明の実施形態による物理乱数発生装置の構成を示す。
【図13】本発明の物理乱数発生装置の検定用データを示す図。
【図14】本発明の物理乱数発生装置の自己相関検定用データを示す図。
【図15】本発明の物理乱数発生装置の図14とは別の自己相関検定用データを示す図。
【符号の説明】
【0060】
1a、1b ノイズ源
2 第1増幅回路
3 第2増幅回路
4 比較回路
5 フリップ・フロップ
6 一様化フィードバック回路
7 オフセット電圧回路
8 第3の増幅回路
9 充放電回路
10 物理乱数発生器
11 レジスター
12 加算器
14 第1カウンター
13 第1比較器
15 第2カウンター
16 第2比較器
18 可逆カウンター(アップ・ダウンカウンター)
19 D/Aコンバータ
26 差動増幅回路
30 一様化回路
31 シフトレジスター
32 選択回路(セレクター)
33、41 排他的論理和回路
40 物理乱数発生装置
Q1、Q2 スイッチ回路(MOSトランジスター)
【技術分野】
【0001】
本発明は、各種の用途に用いて好適な物理乱数発生器に関するものであり、その具体的な用途として、シミュレーション(例えば、確率モデルシミュレーション、マルコフ連鎖モンテカルロ法、粒子フィルタ)、セキュリティ(例えば、共通鍵暗号の鍵、認証鍵、認証用乱数、量子暗号の鍵)、ゲーム機(例えば、アミューズメント、アーケードゲーム、パソコンゲーム、シミュレーションゲーム)、コンピュータグラフィックス等が挙げられる。
【背景技術】
【0002】
近年、通信技術の進歩や個人情報、電子取引等の取り扱いにより、大量のデータを暗号化処理したり認証したりするために、セキュリティ通信分野等において高速で高品位な乱数が必要とされており、また、数値シミュレーションにおいても、CPUの高速化や並列処理の進歩、高精度高効率の追求等により、さらなる大量のデータを処理できるようになったため、高速で高品位の大量な乱数が必要とされている。
【0003】
乱数には、アルゴリズム(計算)により生成される疑似乱数と、自然界の物理現象を利用して生成される物理乱数(真性乱数)とがある。
疑似乱数は計算により生成されるため高速化が容易であるが、初期値を与えたアルゴリズムで算出されることから再現性が有り、初期値やアルゴリズムから乱数列が予測され易いという欠点がある。加えて、疑似乱数は乱数列に周期性を有するため、セキュリティやシミュレーション等の分野での使用には不向きな場合がある。
他方、物理乱数は、半導体内部の熱雑音に代表されるランダムな物理現象を利用して生成されるため、疑似乱数のような初期値やアルゴリズムは不要であり、且つ、乱数列に周期性がないことから、乱数を予測することは不可能であり、よって、予測の困難さを必要とするセキュリティ通信分野や再現性のない真の乱数を必要とする統計シミュレーション分野等においては、物理乱数の需要が急増している。
【0004】
物理乱数は、乱数源としてダイオードやトランジスタ等で発生する電気的ノイズをフィルター回路、増幅回路、A/D変換器等を通してデータ化(2値化)する方式が主流である(例えば、特許文献1、特許文献2)。
【特許文献1】特開平11−085472号公報
【特許文献2】特開2002−41281号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、物理乱数を高速に生成するためには、乱数源となる電気的ノイズを高速に発生させて増幅し、確実にデータ化できる高速回路が必要であるが、回路の高速化には多大なコストと高度な回路技術が要求されるため(通常、乱数の生成速度は、使用するA/D変換器の性能に大きく影響される)、低コストで手軽に高速の物理乱数を得ることは困難であった。
また、高速化することにより、乱数源が不安定になったり、ノイズの計測精度が低下したりして、生成される物理乱数の品質が低下する場合もある。
【0006】
本発明は、このような問題点に鑑み成されたもので、高品位の物理乱数を高速に生成できる安価で信頼性の高い物理乱数生発生器および物理乱数発生装置および乱数検証方法を提供することを目的としている。
【課題を解決するための手段】
【0007】
すなわち、請求項1に記載の物理乱数発生器は、2組のノイズ源と、これらのノイズ源より発生する各々ノイズの直流分を除去して増幅する第1増幅回路と第2増幅回路と、前記第1増幅回路と前記第2増幅回路の各出力電圧を比較して0または1を出力する比較回路と、当該比較回路の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップと、前記比較回路の一方の入力に接続されて、当該比較回路のオフセット電圧を設定するオフセット電圧回路と、前記オフセット電圧回路を制御する一様化フィードバック回路とで構成されることを特徴としている。
【0008】
また、請求項2に記載の物理乱数発生器は、2組のノイズ源と、これらノイズ源より発生する各々ノイズの直流分を除去してノイズの差分を増幅する差動増幅回路と、前記差動増幅回路の出力電圧と基準電圧を比較して0または1を出力する比較回路と、前記比較回路の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップと、当該比較回路の基準電圧側の入力に接続され、前記比較回路のオフセット電圧を設定するオフセット電圧回路と、前記オフセット電圧回路を制御する一様化フィードバック回路とで構成されることを特徴としている。
【0009】
また、請求項3に記載の発明は、請求項1または請求項2に記載の物理乱数発生器において、前記一様化フィードバック回路は、前記フリップ・フロップ出力を保持するレジスターと、当該レジスターの出力に1を加算し、比較値を生成する加算器と、前記基準クロック数を計測する第1カウンターと、当該第1カウンターの計数値と前記加算器からの比較値より当該比較値の2倍の前記繰り返し周期を発生する第1比較器と、前記繰り返し周期毎に前記フリップ・フロップ出力の0または1の出現数を計測する第2カウンターと、前記第2カウンターの計数値と前記比較値とを比較して比較出力(計数値<比較値)または比較出力(計数値>比較値)を発生する第2比較器とを備えることにより、前記フリップ・フロップ出力の0または1の出現率が前記物理乱数で決まる繰り返し周期内で50%になるように前記オフセット電圧回路を制御することを特徴としている。
【0010】
また、請求項4に記載の発明は、請求項3に記載の物理乱数発生器において、前記オフセット電圧回路は、前記第2比較器出力(計数値<比較値、計数値>比較値)に基づいて動作する2組のスイッチ回路と、抵抗、コンデンサのCR回路を備え、前記スイッチ回路のオン動作により前記コンデンサの充放電を行う充放電回路と、当該充放電回路の出力を増幅してオフセット電圧を発生する第3増幅回路とで構成されることを特徴としている。
【0011】
また、請求項5に記載の発明は、請求項4に記載の物理乱数発生器において、
前記比較回路の、前記オフセット電圧回路が接続される入力とは別の入力に、前記第3増幅回路と同じ構成の増幅回路を設けたことを特徴としている。
【0012】
また、請求項6に記載の発明は、請求項3に記載の物理乱数発生器において、前記オフセット電圧回路は、前記第2比較器の出力(n<m、n>m)にて動作する可逆カウンターと、当該可逆カウンターの出力値をアナログ値に変換して前記オフセット電圧を発生するD/Aコンバータとで構成されることを特徴としている。
【0013】
また、請求項7に記載の発明は、請求項3から請求項6までの何れかに記載の物理乱数発生器において、前記繰り返し周期中において、前記第2比較器の出力(計数値<比較値)または、出力(計数値>比較値)の何れか一方が連続して所定回数出現したことを検出した時、異常信号を発生する異常検知手段を備えることを特徴としている。
【0014】
また、請求項8に記載の発明は、請求項1から請求項7までの何れかに記載の物理乱数発生器において、前記ノイズ源は、抵抗とツェナーダイオードの直列回路、または、定電流源に接続されたツェナーダイオード、または、PチャンネルMOSトランジスタとNチャンネルMOSトランジスタを直列に接続し、入出力間を短絡したトランジスタ回路で構成されることを特徴としている。
【0015】
また、請求項9に記載の発明は、請求項1から請求項8までの何れかに記載の物理乱数発生器において、シフトレジスターと、当該シフトレジスターの保持データの一部を入力データとすると共に、その他の一部をアドレスデータとする選択回路と、当該選択回路の出力と前記フリップ・フロップより出力された物理乱数との排他的論理和を行う排他的論理和回路とを備え、当該排他的論理和回路の出力を前記シフトレジスターの入力データとする一様化回路を備えることを特徴としている。
【0016】
また、請求項10に記載の物理乱数発生装置は、並列動作可能に配設された請求項1から請求項9までの何れかに記載の複数の物理乱数発生器と、これら複数の物理乱数発生器の内の1つの物理乱数発生器の乱数出力と残りの物理乱数発生器の乱数出力のそれぞれと個々に排他的論理和を行う複数の排他的論理和回路とを備えることを特徴としている。
【0017】
また、請求項11に記載の乱数検証方法は、請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、これら複数の乱数列の内の任意の2列間について各バイト間の相関係数を求め、得られた相関係数より各乱数列間の相関関係を検証することを特徴としている。
【0018】
また、請求項12に記載の乱数検証方法は、請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について偶数番目のバイトと、奇数番目のバイト間の相関係数を求め、得られた相関係数より各乱数列における自己相関関係を検証することを特徴としている。
【0019】
また、請求項13に記載の乱数検証方法は、請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について所定バイト数おいたバイト間の相関係数を求め、得られた相関係数より各乱数列における自己相関関係を検証することを特徴としている。
【0020】
また、請求項14に記載の乱数検証方法は、請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について1バイト度数のカイ自乗値を求め、得られたカイ自乗値より各乱数列における一様性を検証することを特徴としている。
【0021】
また、請求項15に記載の発明は、請求項11から請求項14までの何れかに記載の乱数検証方法において、前記乱数列における物理乱数の検証をバイト単位に換えて複数ビット単位にて行うことを特徴としている。
【発明の効果】
【0022】
請求項1〜9に記載の発明によれば、ノイズ源からのノイズを高価なA/D変換器を用いずに、増幅回路と比較回路によりデータ化(2値化)する構成としたので、外来ノイズ、電源変動、環境変化等に影響されることなく高品位の物理乱数を高速で生成できる物理乱数発生器を実現することができる。
また、一様化フィードバック回路を設け、乱数出力に基づき上記比較回路のオフセット電圧を調整して、乱数の0または1の出現率が50%になるように補正するようにしたので、一様性を有し、且つ、規則性や相関性や周期性を有しない高品位な物理乱数を高速で生成することができる。
さらに、請求項9に記載のように、一様化回路を設けることにより、より一様性に優れる物理乱数を高速で生成することができる。
【0023】
また、請求項10に記載の発明によれば、上記物理乱数発生器を多段に接続して並列動作させると共に、これら物理乱数発生器の各乱数出力を別の物理乱数発生器の乱数出力と排他的論理和を行うことにより、高品位の高速物理乱数を大量に生成できる物理乱数発生装置を実現することができる。
【0024】
また、請求項11〜15に記載の発明によれば、上記物理乱数発生装置で生成された物理乱数の品質、すなわち、一様性、規則性や相関性や周期性の有無を効率良く容易に検定することができ、物理乱数の品質確保に大いに寄与できる。
【発明を実施するための最良の形態】
【0025】
以下、図面に基づいて本発明に係る物理乱数発生器の実施形態を説明する。
【0026】
図1は、本発明による物理乱数発生器の第1実施形態を示し、図2は各部の波形を示している。
図1、図2に示すように、本実施形態の物理乱数発生器10は、2組のノイズ源1a、1bと、これらのノイズ源1a、1bから発生するノイズA、ノイズBの直流分を除去して高周波成分を増幅する第1増幅回路2と第2増幅回路3と、これら第1増幅回路2と第2増幅回路3の出力電圧を相互に比較して0または1を出力する比較回路4と、この比較回路4の比較出力、0または1を基準クロックの立ち上がりに同期して逐次保持し、物理乱数を生成するDタイプのフリップ・フロップ5と、上記比較回路4の+入力にオフセット電圧vfbを供給するオフセット電圧回路7と、このオフセット電圧回路7のオフセット電圧vfbを調整する一様化フィードバック回路6とで構成されている。
【0027】
ここで、上記したノイズ源1a、1bとしては、図9(a)に示すような、抵抗R1とツェナーダイオードD1の直列回路によるノイズ源、図9(b)のような、定電流源25に接続されたツェナーダイオードD1によるノイズ源、図9(c)のような、PチャンネルMOSトランジスタQ1とNチャンネルMOSトランジスタQ2を直列に接続(カスケード接続)し、その入出力間を短絡したトランジスタ回路で構成されるノイズ源等、様々なノイズ源を用いることができる。
【0028】
一様化フィードバック回路6は、図3に示すように、レジスター11(例えば、シフトレジスター)、加算器12、第1比較器13、第1カウンター14、第2カウンター15、第2比較器16、制御回路17等で構成されている。
【0029】
図3、および図4のタイミング図に示すように、レジスター11は、上記フリップ・フロップ5からの乱数出力の一部を基準クロックに同期して順次保持し、その保持データの値(c)を、当一様化フィードバック回路6の繰り返し周期を設定するための周期設定値(c)とする。
加算器12は、この周期設定値(c)に1を加算して比較値(m=c+1)を生成し、この比較値(m)が第1比較器13の一方の比較入力に比較データ(2m−1)となるように入力される。この第1比較器13は、フィードバック制御の繰り返し周期を発生するための比較器であり、周期設定値(c)に1を加算するのは、レジスター11に保持される出力乱数(0〜m−1)の範囲を(1〜m)の範囲に変換するためである。
【0030】
第1カウンター14は、基準クロックの数を計測し、その計数値を第1比較器13の他方の比較入力に入力して上記した比較データ(2m−1)と比較することにより、その比較出力として基準クロックの(2m)倍の繰り返し周期を有する一致信号(t=2m)を発生する。
また、この繰り返し周期(t)によって、上記したレジスター11および第1カウンターはリセットされ、リセット解除後、レジスター11による乱数保持動作と第1カウンター14による基準クロックの計側動作が新たに開始される。
本構成では、レジスター11に保持される乱数値に応じて、繰り返し周期(t)はランダムに変化する。
【0031】
第2カウンター15は、上記した繰り返し周期(t)毎に上記フリップ・フロップ5の乱数出力の1(または0)の出現数を計測し、その計数値(n)が第2比較器16の一方の比較入力に入力される。また、この第2比較器16の他方の比較入力には加算器12で生成された比較値(m)が入力されており、第2比較器16において計測値(n)と比較値(m)が比較され、その比較結果に応じた比較出力(n<m、n>m)が出力される。
比較出力(n<m、n>m)は制御回路17において電流増幅され、後述するオフセット電圧回路7のスイッチ回路Q1、Q2を駆動するための駆動信号Driv_pとDriv_nが出力される。
【0032】
オフセット電圧回路7は、図1に示すように、制御回路17から出力された駆動信号Driv_pとDriv_nにより動作する2組のスイッチ回路(PチャンネルMOSトランジスターQ1、NチャンネルMOSトランジスターQ2)と抵抗器R1、R2、およびコンデンサーC1のCR回路で成る充放電回路9と、この充放電回路9の出力を増幅してオフセット電圧vfbを発生するバッファ用の第3増幅回路8とで構成されている。
【0033】
そして、図4に示すように、制御回路17より駆動信号Driv_pが出力されMOSトランジスターQ1がオンすると(この時、MOSトランジスターQ2はオフ)、電源VccよりMOSトランジスターQ1と抵抗R1を介してコンデンサーC1が充電され、その充電電圧によりオフセット電圧vfbが上昇する。また、制御回路17より駆動信号Driv_nが出力されMOSトランジスターQ2がオンすると(この時、MOSトランジスターQ1はオフ)、抵抗R2とMOSトランジスターQ2を介して、コンデンサーC1の電荷が電源Vee側へ放電され、オフセット電圧vfbは降下する。
オフセット電圧vfbを高くすると、比較回路4の比較出力の1の出現数が多くなり、0の出現数が少なくなる。逆に、オフセット電圧vfbを低くすると、1の出現数が少なくなり、0の出現数は多くなる。
【0034】
このように、一様化フィードバック回路6の制御により繰り返し周期(t)内に発生する乱数出力の1(または0)の数に応じて比較回路4の+入力側のオフセット電圧を調整し、比較回路4の比較出力、すなわち、0と1の出現状態を変化させることにより、フリップ・フロップ5からの乱数出力の1または0の出現率を確率的に50%に収束するように自動調整することができる。これにより、一様化された物理乱数の生成が可能となる。
【0035】
また、本第1実施形態の物理乱数発生器10では、図1に替えて、図5に示すように、比較回路4の−入力側に上記したオフセット電圧回路7を構成する第3増幅回路8と同様の回路構成を設けることにより、比較回路4の入力形態を対称型とすることができ、これにより、上記第3増幅回路8を介して比較回路4の各入力に重畳される外来ノイズや電源ノイズ、或いは電源変動による波形歪み等を比較回路4において確実に相殺することができ、耐ノイズ性に優れる回路構成を実現することができる。尚、その他の回路構成は図1と全く同様である。
【0036】
また、オフセット電圧回路7は、図1、図5に示すような、充放電回路9と第3増幅回路8の組み合わせ回路に替え、図6に示すように、可逆カウンター18(アップ・ダウンカウンター)とD/Aコンバータ19との組み合わせ回路で構成することもできる。
【0037】
上記構成のオフセット電圧回路7において、可逆カウンター18は、第2比較器16より比較出力(n<m、n>m)が出力された時に基準クロックに同期して動作する。すなわち、比較出力(n<m)が出力されると可逆カウンター18はカウントアップし、比較出力(n<m)にてカウントダウンするように動作する。
この可逆カウンター18のデジタル出力値はD/Aコンバータ19によりアナログ値に変換され、オフセット電圧vfbとして比較回路4の+入力に供給される。すなわち、可逆カウンター18のカウントアップによりオフセット電圧vfbが上昇し、可逆カウンター18のカウントダウンによりオフセット電圧vfbが降下するように動作する。可逆カウンター18は、繰り返し周期(t)毎にリセットされる。リセット解除後、可逆カウンター18は比較出力(n<m、n>m)に基づいてカウント動作を開始する。
【0038】
このように、本回路構成においても、一様化フィードバック回路6により繰り返し周期(t)内に発生する乱数出力の1(または0)の数に応じて比較回路4の+入力側のオフセット電圧を調整し、比較回路4の比較出力、すなわち、0と1の出現状態を変化させることにより、フリップ・フロップ5からの乱数出力、1または0の出現率を確率的に50%に自動調整することができる。
【0039】
また、本実施形態の物理乱数発生器10は、上記した一様化フィードバック回路6によるフィードバック制御の動作を監視する異常検知回路(異常検知手段)を備えている。
【0040】
図7は、その一例を示し、第2比較器16の比較出力(n<m)または(n>m)が連続的に出力されることを検出する連続性検出器21と、比較出力(n<m)および(n>m)の連続回数を計測する第3カウンター22と、この第3カウンター22の計数値を予め定めた所定数(比較データ)と比較する第3比較器23とで構成され、何らかの理由で第3カウンター22の計数値が所定数を越えた場合に、第3比較器23より異常動作確認信号が出力される。
【0041】
図8は、異常検知回路の別の例を示し、オフセット電圧回路7の可逆カウンター18(アップ・ダウンカウンター)出力にオーバーフローを検出するオーバーフロー検出回路24を設けたものである。
可逆カウンター18に第2比較器16の比較出力(n<m)或いは比較出力(n>m)が連続的に入力され、カウントオーバーした場合に(例えば、可逆カウンター18が8ビット構成であれば、オーバーフローすることにより、カウンタ出力はFFH、或いは00Hとなる)、オーバーフロー検出回路24においてカウント出力FFH、或いは00Hが検知された場合に、異常動作確認信号が出力される。
【0042】
異常検知回路からの異常動作確認信号を監視し、物理乱数発生器10における回路動作の異常を素早く察知することにより、物理乱数発生器10にて生成される物理乱数の品質劣化を未然に防止することが可能となる。
【0043】
図10は、本発明による物理乱数発生器の第2実施形態を示している。
第2実施形態による物理乱数発生器10は、第1増幅回路2と第2増幅回路3の代わりに1個の差動増幅回路26を用いたことを除き、図1に示す第1実施形態の物理乱数発生器10と同様である。
【0044】
第2実施形態の物理乱数発生器10では、差動増幅回路26により各々直流分を除去したノイズの差分が増幅され、その出力電圧が比較回路4において基準電圧と比較され、比較出力0または1が出力される。比較回路4の基準電圧は、オフセット電圧回路7の出力(オフセット電圧vfb)であり、第1実施形態と同様に、一様化フィードバック回路6を介してオフセット電圧vfbを調整することにより、乱数出力の1または0の出現率を確率的に50%に収束するように自動調整することができる。
尚、この場合も、図示しないが、図5と同様に、比較回路4の−入力側に第3増幅回路8と同様の回路を設けて、比較回路4の入力形態を対称型とすることにより、耐ノイズ性を向上することができる。
【0045】
図11は、物理乱数の一様化回路30の構成を示し、排他的論理和回路33、シフトレジスター31、セレクター32(選択回路)とで構成されている。シフトレジスター31の保持データの一部はセレクター32の入力データとなり、その他の一部はアドレスデータとされている。
物理乱数発生器10(フリップ・フロップ5)にて生成された物理乱数は、排他的論理和回路33においてセレクター32の乱数出力との排他的論理和が行われると共に、シフトレジスター31のデータ入力に入力される。
【0046】
このように、シフトレジスター31のデータ入力に入力される物理乱数は、その一部がアドレスデータとなって、自分自身の保持データをランダムに選択して出力するので、物理乱数発生器10からの乱数が偏りを持っていても、この一様化回路30にて一様化されることになるため、一様性に優れる物理乱数(一様化物理乱数)を得ることができる。
【0047】
図12は、物理乱数発生器10を複数(P台)配設して並列動作させる多ビット出力の物理乱数発生装置40である。この物理乱数発生装置40は、上記したP台の物理乱数発生器10の他にさらなる一台の品位向上用の物理乱数発生器10を具備すると共に、各物理乱数出力に対応して設けたP個の排他的論理和回路41により、この(P+1台)目の品位向上用の物理乱数発生器10の乱数出力とP台の各物理乱数発生器10の乱数出力の排他的論理和が行なわれることにより、物理乱数の更なる品位向上が図られ、高品位の多ビット(Pビット)物理乱数(高品位物理乱数)を得ることができる。
【0048】
尚、この物理乱数発生装置40は、図11に示した乱数一様化回路30を具備した物理乱数発生器10を用いることにより、優れた一様性を有するより高品位な多ビット物理乱数が得られるようになる。
【0049】
次に、図12の物理乱数発生装置40にて生成される物理乱数の一様性を検証する検証方法について説明する。
【0050】
第1の検証方法は、図12において複数(P+1)台の物理乱数発生器10から出力される各々乱数(一様化物理乱数(1〜P+1))を、図13に示すように、複数バイト(qバイト)乱数列として同時に取得し(例えば、装置搭載のメモリに保存しておく)、これら複数の乱数列(1〜P+1列)の内の任意の2列間について各バイト間の相関係数(r)を式1より算出し、得られた相関係数より各乱数列間の相関関係を検証する方法である。
表1は、相関関数(r)に対する相関関係の一例を示し、算出された相関関数(r)の0〜1の範囲値で表1に基づいて相関性の善し悪しを判断する。
【0051】
【0052】
次に第2の検証方法は、上記同様、図12において複数(P+1)台の物理乱数発生器10から出力される各々乱数(一様化物理乱数(1〜P+1))を、複数バイト同時に取得し、各乱数列(1〜P+1列)について任意のバイト間の相関計数(r)を式1より算出し、得られた相関係数より、表1に基づいて各乱数列における自己相関関係を検証する方法である。
【0053】
この検証方法では、図14に示すように、複数(P+1)台の物理乱数発生器10から出力される各々乱数の取得バイト数を(2×q)バイトとして、各乱数列について偶数番目のバイトと、奇数番目のバイト間の相関係数を求める方法、或いは、図15に示すように、複数(P+1)台の物理乱数発生器10から出力される各々乱数の取得バイト数を(q+s)として、各乱数列について(s)バイトおいたバイト間の相関関係を求める方法等を採用できる。
【0054】
【表1】
【0055】
次に、第3の検証方法は、上記同様、図12において複数(P+1)台の物理乱数発生器10から出力される各々乱数(一様化物理乱数(1〜P+1))を、複数バイト同時に取得し、各乱数列1バイト度数のカイ自乗値(X2)を式2より算出すると共に、得られたカイ自乗値と有意水準値を比較して各乱数列における一様性を検証する方法である。
すなわち、例えば、検証基準として有意水準1%のカイ自乗値(X2)は310.475、有意水準5%のカイ自乗値(X2)は293.248とし、検証データ量(バイト量)に対して算出されたカイ自乗値が有意水準を下回るかを検証する。
【0056】
式2において、kは乱数を表現するビット数で8、nは乱数の数量でバイト数、piは乱数値iの出現確率(一様乱数の場合は全てのiについてpi=1/256)、xiは乱数値iの度数を示す。
【0057】
以上、本実施形態による検証方法では、各乱数列における乱数の検証をバイト単位で行ったが、複数ビット単位で行うことも勿論可能である。また、検証用データとして各物理乱数発生器10の出力乱数(一様化物理乱数(1〜P+1))を用いたが、複数(P個)の排他的論理和回路41の出力乱数(高品位物理乱数(1〜P))を検証用データとしても良い。
【0058】
当検証方法により、物理乱数発生装置40で生成される物理乱数の品質、すなわち、一様性、規則性や相関性や周期性の有無を効率良く容易に検証することができ、物理乱数の品質確保に大いに寄与できるものである。
【図面の簡単な説明】
【0059】
【図1】本発明の第1実施形態による物理乱数発生器の構成を示す図。
【図2】本発明の物理乱数発生器の各部の波形を示す図。
【図3】一様化フィードバック回路の構成を示す図。
【図4】図3の一様化フィードバック回路の動作を示すタイミング図。
【図5】本発明の第1実施形態による物理乱数発生器の図1とは別の構成を示す図。
【図6】オフセット電圧回路の図1とは別の構成を示す図。
【図7】異常検知回路の構成を示す図。
【図8】異常検知回路の図7とは別の構成を示す図。
【図9】ノイズ源の構成例を示す図。
【図10】本発明の第2実施形態による物理乱数発生器の構成を示す図。
【図11】乱数一様化回路の構成を示す図。
【図12】本発明の実施形態による物理乱数発生装置の構成を示す。
【図13】本発明の物理乱数発生装置の検定用データを示す図。
【図14】本発明の物理乱数発生装置の自己相関検定用データを示す図。
【図15】本発明の物理乱数発生装置の図14とは別の自己相関検定用データを示す図。
【符号の説明】
【0060】
1a、1b ノイズ源
2 第1増幅回路
3 第2増幅回路
4 比較回路
5 フリップ・フロップ
6 一様化フィードバック回路
7 オフセット電圧回路
8 第3の増幅回路
9 充放電回路
10 物理乱数発生器
11 レジスター
12 加算器
14 第1カウンター
13 第1比較器
15 第2カウンター
16 第2比較器
18 可逆カウンター(アップ・ダウンカウンター)
19 D/Aコンバータ
26 差動増幅回路
30 一様化回路
31 シフトレジスター
32 選択回路(セレクター)
33、41 排他的論理和回路
40 物理乱数発生装置
Q1、Q2 スイッチ回路(MOSトランジスター)
【特許請求の範囲】
【請求項1】
2組のノイズ源と、
これらのノイズ源より発生する各々ノイズの直流分を除去して増幅する第1増幅回路と第2増幅回路と、
前記第1増幅回路と前記第2増幅回路の各出力電圧を比較して0または1を出力する比較回路と、
当該比較回路の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップと、
前記比較回路の一方の入力に接続されて、当該比較回路のオフセット電圧を設定するオフセット電圧回路と、
前記オフセット電圧回路を制御する一様化フィードバック回路とで構成されることを特徴とする物理乱数発生器。
【請求項2】
2組のノイズ源と、
これらノイズ源より発生する各々ノイズの直流分を除去してノイズの差分を増幅する差動増幅回路と、
前記差動増幅回路の出力電圧と基準電圧を比較して0または1を出力する比較回路と、
前記比較回路の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップと、
当該比較回路の基準電圧側の入力に接続され、前記比較回路のオフセット電圧を設定するオフセット電圧回路と、
前記オフセット電圧回路を制御する一様化フィードバック回路とで構成されることを特徴とする物理乱数発生器。
【請求項3】
前記一様化フィードバック回路は、前記フリップ・フロップ出力を保持するレジスターと、
当該レジスターの出力に1を加算し、比較値を生成する加算器と、
前記基準クロック数を計測する第1カウンターと、
当該第1カウンターの計数値と前記加算器からの比較値より当該比較値の2倍の前記繰り返し周期を発生する第1比較器と、
前記繰り返し周期毎に前記フリップ・フロップ出力の0または1の出現数を計測する第2カウンターと、
前記第2カウンターの計数値と前記比較値とを比較して比較出力(計数値<比較値)または比較出力(計数値>比較値)を発生する第2比較器とを備えることにより、前記フリップ・フロップ出力の0または1の出現率が前記物理乱数で決まる繰り返し周期内で50%になるように前記オフセット電圧回路を制御することを特徴とする請求項1または請求項2に記載の物理乱数発生器。
【請求項4】
前記オフセット電圧回路は、前記第2比較器出力(計数値<比較値、計数値>比較値)に基づいて動作する2組のスイッチ回路と、当該スイッチ回路に接続された抵抗、コンデンサのCR回路を備え、前記スイッチ回路のオン動作により前記コンデンサの充放電を行う充放電回路と、
当該充放電回路の出力を増幅してオフセット電圧を発生する第3増幅回路とで構成されることを特徴とする請求項3に記載の物理乱数発生器。
【請求項5】
前記比較回路の、前記オフセット電圧回路が接続される入力とは別の入力に、前記第3増幅回路と同じ構成の増幅回路を設けたことを特徴とする請求項4に記載の物理乱数発生器。
【請求項6】
前記オフセット電圧回路は、前記第2比較器の出力(n<m、n>m)にて動作する可逆カウンターと、当該可逆カウンターの出力値をアナログ値に変換してオフセット電圧を発生するD/Aコンバータとで構成されることを特徴とする請求項3に記載の物理乱数発生器。
【請求項7】
前記繰り返し周期中において、前記第2比較器の出力(計数値<比較値)または、出力(計数値>比較値)の何れか一方が連続して予め設定した回数出現したことを検出した時、異常信号を発生する異常検知手段を備えることを特徴とする請求項3から請求項6までの何れかに記載の物理乱数発生器。
【請求項8】
前記ノイズ源は、抵抗とツェナーダイオードの直列回路、または、定電流源に接続されたツェナーダイオード、または、PチャンネルMOSトランジスタとNチャンネルMOSトランジスタを直列に接続し、入出力間を短絡したトランジスタ回路で構成されることを特徴とする請求項1から請求項7までの何れかに記載の物理乱数発生器。
【請求項9】
シフトレジスターと、当該シフトレジスターの保持データの一部を入力データとすると共に、その他の一部をアドレスデータとする選択回路と、当該選択回路の出力と前記フリップ・フロップより出力された物理乱数との排他的論理和を行う排他的論理和回路とを備え、当該排他的論理和回路の出力を前記シフトレジスターの入力データとする一様化回路を備えることを特徴とする請求項1から請求項8までの何れかに記載物理乱数発生器。
【請求項10】
並列動作可能に配設された請求項1から請求項9までの何れかに記載の複数の物理乱数発生器と、これら複数の物理乱数発生器の内の1つの物理乱数発生器の乱数出力と残りの物理乱数発生器の乱数出力のそれぞれと個々に排他的論理和を行う複数の排他的論理和回路とを備えることを特徴とする物理乱数発生装置。
【請求項11】
請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、
前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、これら複数の乱数列の内の任意の2列間について各バイト間の相関係数を求め、得られた相関係数より各乱数列間の相関関係を検証することを特徴とする乱数検証方法。
【請求項12】
請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、
前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について偶数番目のバイトと、奇数番目のバイト間の相関係数を求め、得られた相関係数より各乱数列における自己相関関係を検証することを特徴とする乱数検証方法。
【請求項13】
請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、
前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について予め設定したバイト数おいたバイト間の相関係数を求め、得られた相関係数より各乱数列における自己相関関係を検証することを特徴とする乱数検証方法。
【請求項14】
請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、
前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について1バイト度数のカイ自乗値を求め、得られたカイ自乗値より各乱数列における一様性を検証することを特徴とする乱数検証方法。
【請求項15】
前記乱数列における物理乱数の検証をバイト単位に換えて複数ビット単位にて行うことを特徴とする請求項11から請求項14までの何れかに記載の乱数検証方法。
【請求項1】
2組のノイズ源と、
これらのノイズ源より発生する各々ノイズの直流分を除去して増幅する第1増幅回路と第2増幅回路と、
前記第1増幅回路と前記第2増幅回路の各出力電圧を比較して0または1を出力する比較回路と、
当該比較回路の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップと、
前記比較回路の一方の入力に接続されて、当該比較回路のオフセット電圧を設定するオフセット電圧回路と、
前記オフセット電圧回路を制御する一様化フィードバック回路とで構成されることを特徴とする物理乱数発生器。
【請求項2】
2組のノイズ源と、
これらノイズ源より発生する各々ノイズの直流分を除去してノイズの差分を増幅する差動増幅回路と、
前記差動増幅回路の出力電圧と基準電圧を比較して0または1を出力する比較回路と、
前記比較回路の出力を基準クロックに同期して保持し、物理乱数を得るフリップ・フロップと、
当該比較回路の基準電圧側の入力に接続され、前記比較回路のオフセット電圧を設定するオフセット電圧回路と、
前記オフセット電圧回路を制御する一様化フィードバック回路とで構成されることを特徴とする物理乱数発生器。
【請求項3】
前記一様化フィードバック回路は、前記フリップ・フロップ出力を保持するレジスターと、
当該レジスターの出力に1を加算し、比較値を生成する加算器と、
前記基準クロック数を計測する第1カウンターと、
当該第1カウンターの計数値と前記加算器からの比較値より当該比較値の2倍の前記繰り返し周期を発生する第1比較器と、
前記繰り返し周期毎に前記フリップ・フロップ出力の0または1の出現数を計測する第2カウンターと、
前記第2カウンターの計数値と前記比較値とを比較して比較出力(計数値<比較値)または比較出力(計数値>比較値)を発生する第2比較器とを備えることにより、前記フリップ・フロップ出力の0または1の出現率が前記物理乱数で決まる繰り返し周期内で50%になるように前記オフセット電圧回路を制御することを特徴とする請求項1または請求項2に記載の物理乱数発生器。
【請求項4】
前記オフセット電圧回路は、前記第2比較器出力(計数値<比較値、計数値>比較値)に基づいて動作する2組のスイッチ回路と、当該スイッチ回路に接続された抵抗、コンデンサのCR回路を備え、前記スイッチ回路のオン動作により前記コンデンサの充放電を行う充放電回路と、
当該充放電回路の出力を増幅してオフセット電圧を発生する第3増幅回路とで構成されることを特徴とする請求項3に記載の物理乱数発生器。
【請求項5】
前記比較回路の、前記オフセット電圧回路が接続される入力とは別の入力に、前記第3増幅回路と同じ構成の増幅回路を設けたことを特徴とする請求項4に記載の物理乱数発生器。
【請求項6】
前記オフセット電圧回路は、前記第2比較器の出力(n<m、n>m)にて動作する可逆カウンターと、当該可逆カウンターの出力値をアナログ値に変換してオフセット電圧を発生するD/Aコンバータとで構成されることを特徴とする請求項3に記載の物理乱数発生器。
【請求項7】
前記繰り返し周期中において、前記第2比較器の出力(計数値<比較値)または、出力(計数値>比較値)の何れか一方が連続して予め設定した回数出現したことを検出した時、異常信号を発生する異常検知手段を備えることを特徴とする請求項3から請求項6までの何れかに記載の物理乱数発生器。
【請求項8】
前記ノイズ源は、抵抗とツェナーダイオードの直列回路、または、定電流源に接続されたツェナーダイオード、または、PチャンネルMOSトランジスタとNチャンネルMOSトランジスタを直列に接続し、入出力間を短絡したトランジスタ回路で構成されることを特徴とする請求項1から請求項7までの何れかに記載の物理乱数発生器。
【請求項9】
シフトレジスターと、当該シフトレジスターの保持データの一部を入力データとすると共に、その他の一部をアドレスデータとする選択回路と、当該選択回路の出力と前記フリップ・フロップより出力された物理乱数との排他的論理和を行う排他的論理和回路とを備え、当該排他的論理和回路の出力を前記シフトレジスターの入力データとする一様化回路を備えることを特徴とする請求項1から請求項8までの何れかに記載物理乱数発生器。
【請求項10】
並列動作可能に配設された請求項1から請求項9までの何れかに記載の複数の物理乱数発生器と、これら複数の物理乱数発生器の内の1つの物理乱数発生器の乱数出力と残りの物理乱数発生器の乱数出力のそれぞれと個々に排他的論理和を行う複数の排他的論理和回路とを備えることを特徴とする物理乱数発生装置。
【請求項11】
請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、
前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、これら複数の乱数列の内の任意の2列間について各バイト間の相関係数を求め、得られた相関係数より各乱数列間の相関関係を検証することを特徴とする乱数検証方法。
【請求項12】
請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、
前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について偶数番目のバイトと、奇数番目のバイト間の相関係数を求め、得られた相関係数より各乱数列における自己相関関係を検証することを特徴とする乱数検証方法。
【請求項13】
請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、
前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について予め設定したバイト数おいたバイト間の相関係数を求め、得られた相関係数より各乱数列における自己相関関係を検証することを特徴とする乱数検証方法。
【請求項14】
請求項10に記載の物理乱数発生装置にて生成された物理乱数の品質を検証する方法であって、
前記複数の物理乱数発生器または複数の排他的論理和回路から出力される各々乱数を複数バイト同時に取得し、各乱数列について1バイト度数のカイ自乗値を求め、得られたカイ自乗値より各乱数列における一様性を検証することを特徴とする乱数検証方法。
【請求項15】
前記乱数列における物理乱数の検証をバイト単位に換えて複数ビット単位にて行うことを特徴とする請求項11から請求項14までの何れかに記載の乱数検証方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2008−165500(P2008−165500A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2006−354453(P2006−354453)
【出願日】平成18年12月28日(2006.12.28)
【出願人】(000237721)FDK株式会社 (449)
【出願人】(504202472)大学共同利用機関法人情報・システム研究機構 (119)
【Fターム(参考)】
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願日】平成18年12月28日(2006.12.28)
【出願人】(000237721)FDK株式会社 (449)
【出願人】(504202472)大学共同利用機関法人情報・システム研究機構 (119)
【Fターム(参考)】
[ Back to top ]