説明

ランダム数を発生する装置及び方法

スレッシュホールド検出器(4)と、電気的ノイズジェネレータ(6)とを備えたランダム数発生装置(2)が説明される。電気的ノイズジェネレータ(6)は、少なくとも2つのチャンネル(8a-8d)を有し、各チャンネルは、電気的ノイズ信号を発生するように構成される。デジタル入力/出力(DIO)カードを含んでもよいスレッシュホールド検出器(4)は、この電気的ノイズ信号をスレッシュホールドと周期的に比較して、そのスレッシュホールドを越えたかどうか指示するバイナリーデータ出力を与えるように構成される。電気的ノイズジェネレータの各チャンネルは、好ましくは50000以上の利得を与える電気的に直列接続された少なくとも2つの増幅器(10a-10c)を備えている。量子暗号化アプリケーションにランダム数発生装置(2)を使用することも説明される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ランダム数の発生に係り、より詳細には、ランダム数を発生するための改良された方法及び装置に係る。
【背景技術】
【0002】
ランダム数の発生は、例えば、暗号、数値シミュレーション及びゲーム用途のような種々様々な用途において重要な役割を演じる。暗号の分野では、ランダム数のストリームを使用してキーが形成され、充分にランダムな数を供給できないと、暗号システムのセキュリティを著しく妥協することになる。更に、最もセキュリティが高い暗号技術は、非常に高いビットレートでランダム数を供給することを要求する。例えば、ワン・タイム・パッド(OTP)暗号機構の場合には、必要とされるランダムビットの数が、暗号化されるべき情報のビット数に等しい。
【0003】
従って、前記用途のクオリティ(即ち、ランダム性)及びビットレート要求を満足するために多数の異なる形式のランダム数ジェネレータ(RNG)が長年にわたり開発されている。例えば、量子現象を利用して、固有のランダム数発生を与えることが知られている。従って、元素の放射能減衰と、ビームスプリッタを通過する光の単一光子が進行する経路に関連したランダム性とに基づく装置が開発されている。このような装置は、真のランダム数発生を与えるが、それに関連した複雑さが、高ビットレート低コストの装置を不可能にしている。
【0004】
又、種々の電気的技術に基づくランダム数ジェネレータも知られている。しかしながら、このような装置は、典型的に、低レベルのランダム性が受け入れられる用途に使用される。電気的RNGの2つの典型的な例が、米国特許第5224165号及び米国特許第6369727号に説明されている。
【0005】
米国特許第5224165号は、一対のダイオードによってノイズが発生される複数のチャンネルを有する低コストランダム数ジェネレータを説明している。2つのダイオードのノイズは、比較器へ供給され、ランダムなバイナリーデータビットのストリームへと変換される。又、基準ノイズチャンネルも設けられて、基準データビットのストリームを出力する。各ノイズチャンネルにより発生されるランダムビットと、基準ノイズチャンネルにより与えられるランダムビットとに対して排他的オア(XOR)演算が実行される。このように、ランダムなバイナリーデータビットの比較的低いクオリティを改善することができる。しかしながら、米国特許第5224165号の装置は、暗号用途で要求されるビットレート及びクオリティ(即ち、ランダム性のレベル)に達しない。
【0006】
米国特許第6369727号は、増幅された電気的ノイズがアナログ/デジタルコンバータ(ADC)へ通される別のRNGを説明している。デジタルワードの正規分布がADCにより出力され、リダクティブマッピング技術を使用してランダム数ストリームへと変換される。リダクティブマッピング技術を実施する複雑さと、ADCの限定された速度は、このようなRNGから達成できるビットレートが若干限定されることを意味する。
【発明の開示】
【発明が解決しようとする課題】
【0007】
本発明の目的は、既知のランダム数発生装置及び方法に関連した上述した欠点の少なくとも幾つかを軽減することである。本発明の別の目的は、高いクオリティ(即ち、高いランダム性)のデータビットを発生し及び/又は高いビット出力レートを有する低コストRNGを提供することである。本発明の更に別の目的は、暗号システムに使用するためのRNGを提供することである。
【課題を解決するための手段】
【0008】
本発明によれば、ランダム数発生装置は、スレッシュホールド検出器と、少なくとも2つのチャンネルを有する電気的ノイズジェネレータとを備え、電気的ノイズジェネレータの各チャンネルは、電気的ノイズ信号を発生するように構成され、スレッシュホールド検出器は、各チャンネルにより発生された電気的ノイズ信号をスレッシュホールドと周期的に比較して、そのスレッシュホールドを越えたかどうか指示するバイナリーデータ出力を与えるように構成され、電気的ノイズジェネレータの各チャンネルが、電気的に直列に接続された少なくとも2つの増幅器を備えたことを特徴とする。
【0009】
従って、電気的ノイズ信号を各々発生する2つ以上のチャンネルを有する電気的ノイズジェネレータを備えたランダム数ジェネレータが提供される。各チャンネルにより発生される電気的ノイズ信号は、スレッシュホールド検出器(例えば、DIOカード)へ通され、そして所定のスレッシュホールド電圧レベルと周期的に比較される(例えば、10MHzのサンプルレートで)。スレッシュホールド検出器は、サンプリング時に、電気的ノイズ信号が当該スレッシュホールドを越えた場合にそれを指示するために、バイナリーデータビット(即ち、0及び1)を含むバイナリーデータ出力を発生する。充分に高いレベルの電気的ノイズを与えるために、電気的ノイズジェネレータの各チャンネルは、電気的に直列に接続された少なくとも2つの増幅器を備えている。電気的ノイズジェネレータの各チャンネルにより与えられる電気的ノイズは、本質的にランダムであり、従って、スレッシュホールド検出器は、本質的にランダムなバイナリーデータビットのストリームを含むバイナリーデータ出力を発生する。又、以下に述べるように、本発明の装置は、改善されたランダム数発生率を与えるようにチャンネルの数を容易に増加できるので、非常に融通性がある。
【0010】
直列に接続された2つ以上の増幅器のチェーンを使用して、第1増幅器の入力に存在する熱ノイズを増幅することで、米国特許第5224165号に説明された単純な低利得のシステムに比して、装置のランダム数出力のランダム性を改善する。更に、複数の電気的ノイズ信号を発生するために複数のチャンネルを含む電気的ノイズジェネレータを設けることは、アナログ/デジタルコンバータ(ADC)を使用して単一ノイズ源をサンプリングする米国特許第6369727号に説明された形式の装置に比して効果的である。例えば、本発明は、ADCの出力において遂行される米国特許第6369727号に説明された複雑なリダクティブマッピング技術を必要としない。従って、本発明は、実施が低廉で且つ簡単であり、ADCベースの装置より本来的に信頼性が高い。
【0011】
好都合なことに、電気的ノイズジェネレータの各チャンネルは、直列の少なくとも2つの増幅器を通るフィードバックを最小にするためにフィードバック減少手段を備えている。フィードバック作用が最小となる電気的構成は、電気的ノイズジェネレータの各チャンネル内の発振を減少又は排除するものであるのが好ましい。フィードバック作用で誘起される発振は、電気的ノイズ信号に周期性を導入し、従って、スレッシュホールド検出器により出力される数のランダム性を減少させる。従って、非フィードバック増幅器構成を有するのが好ましい。
【0012】
フィードバック減少手段は、種々の電気的コンポーネント及び構成を備え、その幾つかは、異なる技術的分野で既に適用されている。例えば、少なくとも1つのデカップリングキャパシタを増幅器の電源と並列に設けて、チャンネルの各増幅器を電源レール上の信号から分離することができる。更に、電気的ノイズジェネレータの各増幅器に対して個別の電源レギュレータを設けることができる。
【0013】
更に、チャンネルの各増幅器は、直列の隣接増幅器(1つ又は複数)のハイブリッド基板から物理的に分離されたハイブリッド基板に配置される。換言すれば、各増幅器がハイブリッド基板にマウントされ、次いで、これがメインPCBにマウントされる。便利なことに、例えば、回路板の個別の部分に各チャンネルを配置し、そして各チャンネルに個別の電源を設けることにより、少なくとも2つのチャンネル間のクロストークも最小にされる。
【0014】
好ましくは、電気的ノイズジェネレータの各チャンネルの少なくとも2つの増幅器は、50000ないし150000の範囲の全利得を与えるように構成される。便利なことに、電気的ノイズジェネレータの各チャンネルの少なくとも2つの増幅器は、約50000(例えば、±10000)又は約100000(例えば、±10000)の全利得を与えるように構成される。利得は、50000より大きく、100000より大きく、及び/又は150000より小さいのが好ましい。
【0015】
このような高レベルの利得を与えると、電気的ノイズ信号が充分に大きな電圧変動を有して、スレッシュホールド検出器の電圧スレッシュホールドにランダムに交差することが保証される。換言すれば、第1増幅器への入力に存在する微小なノイズレベルが増幅されて、高いノイズ対信号比を有する電気的ノイズ信号を与える。このような高利得の増幅は好ましいが、利得があまり高過ぎると、システムに関連したフィードバックが増加する。従って、上述した範囲内の利得を与えると、望ましからぬフィードバック作用を導入することなく、充分に増幅されたノイズ信号が与えられる。
【0016】
各チャンネルの少なくとも2つの増幅器の各々は、10MHzないし100MHzの範囲内の帯域巾を有するのが好都合である。例えば、帯域巾は、10MHzより大きく及び/又は100MHzより小さいのが好ましい。又、帯域巾は、40MHz又は45MHzより大きく及び/又は60MHz又は55MHzより小さいのが好ましい。又、各チャンネルの少なくとも2つの増幅器の各々は、約50MHz(例えば、±5MHz)の帯域巾を有するのが便利である。あるチャンネル又は種々のチャンネルにおける各増幅器の帯域巾は、必要に応じて、同一でも、同様でも、又は異なるものでもよい。
【0017】
各チャンネルは、電気的に直列に接続された3つの増幅器を備えているのが好ましい。3つの増幅器チップ、例えば、UA733を設けることは、望ましからぬフィードバック作用を導入することなく、充分な増幅利得を与えることが分かっている。
【0018】
各チャンネルは、更に、増幅器段の利得応答を整形するための利得整形手段を備えているのが好ましい。適当な利得整形手段は、イコライゼーションフィルタ、特に、プログラム可能なイコライゼーションフィルタである。増幅段の利得応答は、最大フラット応答として知られているように、拡張された周波数レンジにわたってフラットであるのが理想的であり、イコライゼーションフィルタは、このような利得応答を与える上で助けとなる。
【0019】
電気的ノイズジェネレータは、少なくとも4個のチャンネルを備えているのが好都合である。又、電気的ノイズジェネレータは、少なくとも6個、8個、又は10個のチャンネルを備えているのが更に好ましい。設けられるチャンネルが多いほど、達成できるランダム数ビットレートが大きくなる。
【0020】
各チャンネルは、少なくとも1つのバイアス制御手段を備え、この少なくとも1つのバイアス制御手段は、前記少なくとも2つの増幅器のうちの1つの増幅器の入力に接続され、そしてそのチャンネルにより出力される電気的ノイズ信号のDC電圧レベルにわたって制御を与えるように構成されるのが好都合である。このようなバイアス制御手段を設けることで、増幅されたノイズ信号(本質的にランダムな変形である)をDCバイアス電圧と合成することができる。従って、チャンネルにより出力される電気的ノイズ信号は、DCバイアス電圧に等しい平均レベルを有することができるが、信号の電圧は、平均レベルの周りでランダムに変化する。換言すれば、増幅されたランダムノイズ信号は、DC電圧に重畳される。従って、以下に詳細に述べるように、DCレベルは、スレッシュホールド検出器のスレッシュホールドレベルに実質的に等しくセットすることができる。次いで、増幅されたノイズは、電気的ノイズ信号がスレッシュホールドレベルにランダムに交差するようにさせる。
【0021】
ある条件のもとでは、スレッシュホールド検出器(特に、以下に詳細に述べる形式のDIOカード)のスレッシュホールドレベルは、時間と共に及び/又は温度と共に変化し得ることが分かった。従って、各チャンネルの少なくとも1つのバイアス制御手段(ひいては、DCレベル)を調整して、スレッシュホールド検出器のバイナリーデータ出力のバイアスを所定の範囲内に維持するために、ドリフト補償コントローラを設けるのが便利である。このドリフト補償コントローラは、スレッシュホールド検出器のバイナリーデータ出力に関連したバイアスを、45%ないし55%の範囲内に、又は更に好ましくは、49.5%ないし50.5%の範囲内に維持するように構成されるのが好都合である。当業者に理解されるように、バイナリーデータビットのストリームの「バイアス」は、そのデータストリームに含まれる0及び1のパーセンテージの差である。従って、バイナリーデータの真のランダムストリームは、50%のバイアスを有し、即ち出力ビットの半分が0であり、そして半分が1である。しかしながら、幾つかのアプリケーションでは、特定のチャンネルに関連したバイアスを他の値に変更することが望まれる。以下に詳細に説明するように、ランダム数ジェネレータの種々のチャンネルを合成して、多桁数を形成できるような幾つかのアプリケーションが存在する。例えば、1から10までのランダム数を発生するために、4つのチャンネルからの出力を使用して、4桁のバイナリー数を形成することができる。従って、合成された出力は、0000から1111までの範囲のバイナリー数となり、即ち0から16である。1から10の数を得るために、これらの可能性の6つを捨てる必要がある。それ故、使用する数は、0000から1001(0−9)だけである。10個の4桁バイナリー数の中から、最上位ビットは、8個のケースにおいて0であり、そして2つのケースにおいてのみ1である。従って、数1から10の各々が同じ確率で要求される場合には、最上位ビットに対応するチャンネルが、0の発生に好都合となるように、80%にバイアスされねばならない。最下位ビットに対応するチャンネルは、50%にバイアスされねばならない。それ故、複数のチャンネルの各々を独立してバイアスすることを許すことで、合成された数の任意のセットを、定義された確率でランダム数ジェネレータから出力できることが明らかである。従って、本発明のランダム数ジェネレータは、量子暗号化の分野より広いアプリケーションを有する。
【0022】
ドリフト補償コントローラは、ある周期中に各チャンネルから1及び0のインスタンスをカウントしそして不平衡制御信号を発生するための手段を備えている。統計学的に意義のある周期の場合に、1及び0の数は、50%のバイアスについて等しくなければならない。要求されたバイアスに対して1及び0の予想比からの不平衡に注目し、これを使用して、不平衡制御信号を発生する。好ましくは、不平衡制御信号は、デジタル数であり、ドリフト補償コントローラは、この数をDCバイアスに変換するためのデジタル/アナログコンバータを備え、そのDCバイアスは、チャンネルに印加されて、正しいバイアスを維持する。
【0023】
スレッシュホールド検出器が、各電気的ノイズ信号を共通のスレッシュホールドレベルと比較するように構成されるか、又は各電気的ノイズ信号が個別のスレッシュホールドレベルと比較されることに注意されたい。
【0024】
各チャンネルは、負荷抵抗器を備え、負荷抵抗器は、直列の少なくとも2つの増幅器のうちの第1増幅器の入力に接続される。抵抗器は熱ノイズ源をなし、即ちこれは、非決定論的であって、発生されるノイズは、真にランダムである。当業者であれば、このようなシステムに使用できる種々の異なる形式の抵抗器が明らかであろう。約50オームの抵抗値を有する抵抗器が好ましい。負荷抵抗器は良好な熱ノイズ源であるが、これを回路に含ませることは何ら重要でないことに注意されたい。実際上、負荷抵抗器よりも前記少なくとも2つの増幅器の第1増幅器によって著しく多くのノイズが発生される。
【0025】
スレッシュホールド検出器は、各電気的ノイズ信号に対し個別のバイナリーデータ出力ストリームを発生するのが好ましい。換言すれば、スレッシュホールド検出器は、電気的ノイズジェネレータにより与えられる各電気的ノイズ信号を並列に処理することができる。従って、N個の電気的ノイズ信号を受信するスレッシュホールド検出器は、バイナリーランダム数のN個のストリームを出力する。これらのバイナリーランダム数ストリームは、異なるアプリケーションへルーティングされるか、又は並列なストリームが合成されて多ビットランダムワードを形成する。或いは又、ビットが合成されて、より高いビットレートを有するバイナリーデータストリーを発生してもよい。
【0026】
スレッシュホールド検出器は、複数の入力を有するデジタル入力/出力(DIO)カードを備え、電気的ノイズジェネレータの各チャンネルにより発生された電気的ノイズ信号がDIOカードの個別の入力に与えられるのが好都合である。DIOカードは、標準パーソナルコンピュータへインターフェイスできる市販の品目であるのが好ましく、例えば、PCI7300Aカードで充分である。このカードは、必要以上に入力を有してもよく、即ち幾つかの入力が未使用でもよい。或いは又、サンプリングできる電気的ノイズ信号の数を増加するために、2つ以上のDIOカードが設けられてもよい。
【0027】
スレッシュホールド検出器は、複数のスレッシュホールド検出エレメントを含むことができる。例えば、スレッシュホールド検出器は、複数の個別のスレッシュホールド検出ユニットを含む。電気的ノイズ信号当たり少なくとも1つのスレッシュホールド検出エレメントが設けられるのが好ましい。或いは又、電気的ノイズ信号当たり2つ以上のスレッシュホールド検出エレメントが設けられてもよい。
【0028】
サンプルレートは、1MHz、5MHz、15MHz、25MHz又は50MHzより高いか又は実質的にそれに等しいのが便利である。より高速のサンプリングレートは、ランダムビットレート発生が改善されるという利点があるが、隣接データビット間の短期間相関が増加するという悩みがある。従って、各電気的ノイズ信号は、5MHzないし15MHzの範囲内のレートでスレッシュホールド検出器によりサンプリングされるのが好ましい。例えば、各電気的ノイズ信号は、約10MHzのレートでサンプリングされるのが好都合である。本発明の装置のビット発生レートは、高いサンプリングレートを有するDIOカードを使用するのではなく、余分なチャンネルを追加することで、容易に増加できることに注意されたい。
【0029】
この装置は、更に、データ処理モジュールを備え、このデータ処理モジュールは、スレッシュホールド検出器により出力されたバイナリーデータを受け取り、そしてその受け取ったバイナリーデータに対して処理ステップを遂行して、ランダム性特性が改善された処理済みバイナリーデータ出力を発生するように構成され、前記処理ステップは、少なくとも1つの排他的オア(XOR)演算を含むのが好都合である。
【0030】
従って、処理モジュールは、スレッシュホールド検出器により供給されるバイナリーデータのランダム性を高めて、ランダム性の改善された処理済みのバイナリーデータ出力を発生する。以下に詳細に述べるように、数のストリームのランダム性の便利な尺度は、シャノンエントロピーである。従って、処理モジュールは、XOR演算を使用してスレッシュホールド検出器のバイナリーデータ出力のシャノンエントロピーを高めることが明らかである。
【0031】
XOR論理演算を適用してランダムデータストリームのクオリティを改善する基本的な原理は知られているが、このような技術は、典型的に、従来の技術では、単一の疑似ランダムノイズ源(例えば、決定論的アルゴリズム)から導出された隣接データビット、又は異なる発生源を使用して同じ時点で発生されたデータビットに適用されている。このような構成では、XOR演算が遂行されるデータ対間の自己相関及びクロス相関が存在して、データのランダム性を減少させる。
【0032】
データ処理モジュールは、バイナリーデータビットの対においてXOR演算を遂行するように構成され、各対のデータビットは、同じチャンネルの電気的ノイズ信号からスレッシュホールド検出器により導出されるのが好都合である。或いは又、XOR演算は、異なるチャンネルの電気的ノイズからスレッシュホールド検出器により生成されたデータビットの対を使用して遂行されてもよい。
【0033】
好ましくは、バイナリーデータビットの各対は、1千を越える介在データビットにより一時的に分離されたデータビットを含む。更に好ましくは、バイナリーデータビットの各対は、1万を越える介在データビットにより一時的に分離されたデータビットを含む。従って、1千又は1万を越えるデータビットが、XOR演算に使用されるバイナリーデータビットの対を形成するデータビット間で、スレッシュホールド検出器により発生される。換言すれば、XOR演算は、1千又は1万ビットごとの間に遂行される。これは、XOR演算に使用されるデータ対間の自己相関作用を最小にする。
【0034】
データ処理モジュールは、少なくとも1つのデータバッファを備えているのが好都合である。少なくとも1つのデータバッファを設けることで、入力及び/又は出力データを、データ処理モジュールにより処理するか又はそこから出力する前に、記憶することができる。データ処理モジュールがコンピュータで実行されるソフトウェアを使用して実施される場合には、少なくとも1つのデータバッファは、コンピュータメモリの予約部分でもよい。
【0035】
データ処理モジュールは、電気的ノイズジェネレータの各チャンネルに対して少なくとも1つのデータバッファを備えているのが有用であり、各入力データバッファは、電気的ノイズジェネレータの各チャンネルの電気的ノイズ信号からスレッシュホールド検出器により発生されたバイナリーデータ出力を受け取るように構成される。このように、各チャンネルは、関連データバッファを有する。従って、各チャンネルにより発生される電気的ノイズ信号は、スレッシュホールド検出器によりバイナリーデータストリームへと変換され、そしてそのチャンネルに関連したデータバッファのみへルーティングされる。換言すれば、ランダムビット発生は並列に行われ、ビット発生のレートは、更なるチャンネルの追加により容易に増加することができる。
【0036】
各入力データバッファは、少なくとも第1及び第2のセグメントに分割され、各セグメントにはバイナリーデータビットが順に完全にロードされ、前記少なくとも1つのXOR演算は、バイナリーデータビットの対において遂行され、バイナリーデータビットの各対は、第1セグメントからのデータビット及び第2セグメントからのデータビットで構成されるのが好都合である。各セグメントは、多数(例えば、100、500、1000、10000)のデータビット位置を含む。次いで、第1セグメントに、例えば、1000個のデータビットをロードした後に、第2チャンネルに1000個のデータビットをロードすることができる。従って、第1及び第2セグメントの第1データビットにおいてXOR演算を遂行することは、1000個の介在データビットを有するデータビットにおいてXOR演算を遂行することであることが明らかである。従って、このようなバッファ構成を使用すると、上述した一般的なXOR処理技術を遂行する便利な仕方が与えられる。
【0037】
各入力データバッファは、少なくとも、第1、第2、第3及び第4セグメントを含み、前記少なくとも1つのXOR演算は、第1及び第2セグメントに含まれたデータにおいて遂行され、その間に、第3及び第4セグメントには、バイナリーデータがロードされる。換言すれば、例えば、第1及び第2セグメントにロードされたデータを処理することができ、その間に、新たなデータが第3及び第4セグメントにロードされる。第3及び第4セグメントが完全にロードされると、それに対してXOR演算を遂行することができ、その間に、第1及び第2セグメントが再ロードされる。このように、セグメントがロードされている間に、処理及びデータ出力は遅延されない。
【0038】
或いは又、入力データバッファの全てのセグメントにデータがロードされた後に、XOR演算が遂行されてもよい。付加的なバッファ作用が与えられない場合には、処理が遂行されている間にデータビットのロスを招くことになる。しかしながら、ランダムビットが短いバーストで要求される(例えば、暗号化キー発生のために)場合、低いビットレートが要求される場合、又は電気的ノイズジェネレータが複数のチャンネルを含む場合には、これを受け入れることができる。
【0039】
多くの場合は単一のXOR演算で充分であるが、データに対して2回以上のこのような演算を実行できることに注意されたい。次いで、暫定的なXOR結果を記憶するために、セグメント又は個別データバッファを設けることができる。
【0040】
データ処理モジュールは、更に、出力データバッファも備えている。出力データバッファを使用すると、ホストシステムにより要求されるレート(例えば、PCバスの速度)、又はその後のアプリケーション(例えば、暗号化システム)により要求されるレートで、処理済のバイナリーデータを出力することができる。出力バッファは、例えば、入力データバッファのセグメントのロードや、処理ステップの遂行、等に関連した中断を伴うことなく、ランダム数の一定のストリームを必要に応じて与えるのを許す。或いは又、出力バッファは、関連アプリケーションによって出力が要求されるまでランダム数を記憶してもよい。
【0041】
データ処理モジュールは、適当にプログラムされたコンピュータを備えているのが好ましい。例えば、コンピュータプログラムがデータ処理モジュールを実施してもよい。このようなコンピュータプログラムは、適当なパーソナルコンピュータ(PC)上で実行されるように書き込まれる。又、コンピュータは、DIOカードを備えてもよい。このようにして、スレッシュホールド検出器及び処理モジュールの機能は、単一のPCにより遂行される。DIOカードは、多数の既知の仕方で、例えば、PCIバス、又はUSB、SCSIコネクタ、等を使用して、PCにインターフェイスすることができる。
【0042】
ソフトウェアベースの実施に代わって、データ処理モジュールは、適当に構成された電子回路を備えているのが好都合である。例えば、現場でプログラムできるゲートアレー(FPGA)実施に、マイクロコンピュータを設けることができる。これは、ホストPCの処理パワーを必要とせずに、処理を遂行できるようにする。このようなケースでは、データ処理モジュールは、多数の既知の仕方の1つ(例えば、PCIバスを経て、又はUSB接続を経て、等々)でPCにインターフェイスされるが、ホストPCのリソースを著しく使用する必要はない。
【0043】
又、適当に構成された電子回路がスレッシュホールド検出器及び電気的ノイズジェネレータ回路を含むのが好都合である。このようにして、単一の回路(例えば、FPGAカード)が本発明のランダム数発生装置を備えることができる。従って、単一の「プラグイン」ランダム数発生カードを設けることができる。PCに対してこのようなプラグインランダム数発生カードを設けることで、PCは、カードからランダム数出力を受け取る簡単な制御ソフトウェアをもつことができる。カードにおいてXOR演算が行われ、これは、ホストPC上の処理負荷を減少するだけでなく、カードからPCへ送信されるデータの量も減少する。最終的な出力データを通信するだけでよく、これは、PCにより実行されるすべての処理に比して、データ転送要求を減少する。バイアス制御もカードにおいて実行される。カードは、必要とされるランダム数出力、即ちランダムなバイナリーシーケンスを出力することが要求されるか、1から10の範囲のランダム数を出力することが要求されるかに基づいて異なるバイアス設定へ、且つファームウェアに記憶された種々の設定へ、再構成することができる。これらの設定は、次いで、ホストPCからの制御信号に応答して、必要に応じて変更することができる。
【0044】
上述したデータ処理モジュール及びこのようなモジュールにより使用される方法は、ランダム数ジェネレータの出力に適用できることに注意されたい。従って、上述した特性を有するスタンドアローン型データ処理モジュールが提供される。
【0045】
本発明の更に別の態様によれば、ランダム数発生装置は、スレッシュホールド検出器と、少なくとも2つのチャンネルを有する電気的ノイズジェネレータとを備え、電気的ノイズジェネレータの各チャンネルは、電気的ノイズ信号を発生するように構成され、スレッシュホールド検出器は、各チャンネルにより発生された電気的ノイズ信号をスレッシュホールドと周期的に比較して、そのスレッシュホールドを越えたかどうか指示するバイナリーデータ出力を与えるように構成され、電気的ノイズジェネレータの各チャンネルが、少なくとも50000の利得を各々与える増幅手段を備えたことを特徴とする。更に好ましくは、各増幅手段は、少なくとも100000の利得を与える。各増幅手段は、電気的に直列に、好ましくは、非フィードバック(即ち、非発振)構成で配列された1つ以上の増幅器を備えている。
【0046】
本発明の更に別の態様によれば、ランダム数発生装置は、スレッシュホールド検出手段と、少なくとも1つのチャンネルを有する電気的ノイズジェネレータとを備え、電気的ノイズジェネレータの前記少なくとも1つのチャンネルは、電気的ノイズ信号を発生するように構成され、スレッシュホールド検出手段は、前記少なくとも1つのチャンネルにより発生された電気的ノイズ信号をスレッシュホールドと周期的に比較して、そのスレッシュホールドを越えたかどうか指示するバイナリーデータ出力を与えるように構成され、電気的ノイズジェネレータの少なくとも1つのチャンネルが、少なくとも50000の利得を各々与える増幅手段を備え、そして前記スレッシュホールド検出手段がデジタル入力/出力(DIO)カードを備えたことを特徴とする。前記DIOカードにインターフェイスされるパーソナルコンピュータも設けられるのが好ましい。
【0047】
本発明の更に別の態様によれば、ランダム数発生装置は、デジタル入力/出力(DIO)カードを備えている。このDIOカードは、増幅されたノイズ信号をサンプリングするように構成されるのが好都合である。前記DIOカードとインターフェイスされ及び/又はそれを含むパーソナルコンピュータも設けられるのが好ましい。
【0048】
本発明の更に別の態様によれば、ランダム数発生方法は、(i)少なくとも2つのチャンネルを有する電気的ノイズジェネレータを準備するステップと、(ii)各チャンネルにより発生された電気的ノイズ信号をスレッシュホールドと周期的に比較して、そのスレッシュホールドを越えたかどうかを指示するバイナリーデータ出力を与えるステップとを備え、少なくとも2つのチャンネルを有する電気的ノイズジェネレータを準備する前記ステップ(i)は、各チャンネルが電気的に直列に接続された少なくとも2つの増幅器を備えた電気的ノイズジェネレータを準備するステップを含むことを特徴とする。
【0049】
以下、添付図面を参照して、本発明を一例として詳細に説明する。
【発明を実施するための最良の形態】
【0050】
図1は、本発明のランダム数ジェネレータ(RNG)2の概略図である。RNG2は、電気的ノイズジェネレータ回路6と、デジタル入力/出力(DIO)カードを含むパーソナルコンピュータ(PC)4とを備えている。
【0051】
PC4のDIOカードは、PCI−7300A高速カードであって、8ビットのデータ入力モードで動作し且つ10Mバイト/秒のデータ転送レートで転送できるように構成されている。
【0052】
又、RNGは、PCI上に実施されて、PCに直結することもできる。
【0053】
図2を参照すれば、熱ノイズジェネレータ回路6は、4つのチャンネル(8a−8d)を備えている。各チャンネルは、電気的に直列に接続された3つの差動ワイドバンド増幅器10a−10cを備えている。これらワイドバンド増幅器は、UA733集積回路である。第1増幅器10aの入力は、ランダム熱ノイズ源として働く接地抵抗器12に接続される。3つの増幅器をこのように連結すると、ほぼ20MHzの帯域巾で約100000の全利得を達成することができる。従って、チェーンの第1増幅器10aの入力に存在するノイズが増幅されて、第3増幅器10cは、ほぼ1V RMSの出力信号を出力する。又、各チャンネル8の出力は約1VのDCオフセットを有する。この電圧レベルの微同調は、チェーンの第2増幅器10bの出力に接続されたポテンショメータ16を調整することにより達成される。
【0054】
このような高利得増幅システムで生じ得る正のフィードバック及び発振を回避するために、接地平面回路板構成が使用される。更に、各増幅器には、電源カップリング作用を減少するためにローカルデカップリングキャパシタ(図示せず)が設けられる。又、電気的なアイソレーションを更に改善するために、各増幅器チャンネル8には個別の+5V及び−5Vレギュレータも設けられ、ローカル電源レールへの外部+7.5V及び−7.5V電源を変換する。又、増幅器チップは、互いに物理的に分離されて、アイソレーションを最大にするよう確保される。使用する電源は、電源からのカップリングを減少するように低ノイズ電源であるのが好ましい。
【0055】
考えられる干渉作用を更に減少するために、ランダム数ジェネレータ全体が、RFエンクロージャー(EMIシールド)、実際には、接地されたメタルボックス内に更に包囲される。これは、外部信号がデータのランダム性に影響するのを防止すると共に、機密性が重要である量子暗号化アプリケーションに使用するときには、盗聴者が、発生されているランダム数に関する情報を決定するのを防止し又はそのような機会を減少させる。QCシステムの場合には、出力ケーブル等を含む全てのコンポーネントがRFシールドされる。
【0056】
又、各増幅段は、その増幅段の利得ができるだけ最大フラット応答に近付くように確保するためにプログラム可能なイコライゼーションフィルタ(図示せず)も有する。
【0057】
4つのチャンネル8a−8dの各々により発生された出力信号は、ワイドバンドバッファ及びケーブル14を経てPC4のDIOカードの入力へ供給される。ケーブル14は、4つのノイズ出力の各々をDIOカードの4つの各入力へ別々に接続する16芯リボンケーブルである。4つのチャンネル間のクロストークを最小にするために、リボンケースの4番目ごとのワイヤが、熱ノイズジェネレータ回路6のチャンネル8から信号出力を搬送し、リボンケーブルの他の全てのワイヤは、接地される。
【0058】
PC4のDIOカードは、電気的ノイズジェネレータ回路6の各チャンネルにより出力されたアナログ信号をバイナリーロジックレベル(即ち、“0”又は“1”)へ変換するように構成される。アナログ信号は、DIOカードにより通常のレート(この場合は10MHz)でサンプリングされ、そして得られたバイナリーデータストリームは、バッファを経てPCのメモリへ転送される。
【0059】
DIOカードにより出力されたランダムデータを分析したところ、ある環境のもとでは、完全なランダム性からのずれが生じ得ることが示された。注目すべき3つの作用、即ち自己相関、クロス相関、及び熱ドリフト、が分かった。
【0060】
自己相関は、ビットがその以前のもの(1つ又は複数)と同じになる(又は相違する)傾向を表す。ある程度の自己相関は不可避であるが、サンプリングされるノイズの限定帯域幅が与えられると、約1%未満の自己相関係数が典型的に観察されている。クロス相関は、同じサンプル時間又はより早期のサンプル時間において、他のチャンネルにより影響される1つのチャンネルのビットの値で、クロストークの作用を表す。クロス相関は、熱ノイズ発生回路6内のクロスチャンネル結合から、又はDIOカードへのケーブル14から、又はDIOカード内から生じる。典型的に、約3%のクロス相関係数が観察されている。
【0061】
DIOカードのバイナリーデータ出力のバイアス、即ちより大きな割合の“1”又は“0”を出力することに向かうバイアスも観察されている。熱ノイズジェネレータ回路6の各チャンネル8におけるポテンショメータ16を調整することにより、論理“1”であったビットの割合を、4つのチャンネルの各々に対して、49.5%から50.5%の範囲にセットすることができる。このような調整でバイアスの問題が最初に解明されるが、バイアスは、ゆっくりとした熱ドリフトを受けることが分かった。3日間の周期で行われた1つのテストにおいて、周囲温度が約6℃変化する間にバイアスが3%変化した。この作用は、システムが最初にスイッチオンされたときのウオームアップ周期中にも現れる。
【0062】
図3は、RNG(即ち、PC4及び熱ノイズ発生回路6)が丁度スイッチオンされたときに、生のランダムビットの4つの各チャンネルのバイアスを時間の関数として示す。この作用に対する最も大きな貢献は、温度に伴うPC内のDIOカードのスレッシュホールドの変化によるものであることが分かった。
【0063】
当業者は、典型的に、ランダムビットのバッチのクオリティをシャノンエントロピーにより定義することに注意されたい。ランダム数ジェネレータがnビットのグループを生成すると仮定する。次いで、考えられる異なるビットパターンの数がN=2nで、これは、1からNまで番号付けできるとする。又、RNGがi番目のビットパターンを与える確率がpiであるとする。次いで、このプロセスのシャノンエントロピーは、次のように定義される。

【0064】
理想的なランダムプロセスの場合、全てのビットパターンが等しい確率を有し、そしてエントロピーがnとなる。換言すれば、理想的なバイナリーRNGは、1のシャノンエントロピーを有する。
【0065】
上述したように、バイアスは、温度と共に変化し、ひいては、温度にも依存するシャノンエントロピーを招く。通常の動作のもとで、温度が、バイアス調整がなされた温度の約2℃以内であるときには、ビット当たり0.999のシャノンエントロピーが得られる。温度の変化が約10℃という最悪の仮定でも、4つの全チャンネルに約55%のバイアスが与えられると、ビット当たり0.993のエントロピーが与えられる。それ故、このようなRNGを使用して256ビットキーを発生する場合には、キーは、256x0.993≒254ビットのエントロピーを有することになる。換言すれば、RNGからの256ビットキーは、完全なランダム数ジェネレータにより発生される254ビットキーに等しいセキュリティのレベルを与えることになる。
【0066】
上述したランダム性のレベルは、多くのアプリケーションで受け容れられる。しかしながら、あるアプリケーションでは、より高いレベルのシャノンエントロピーを有するRNGが必要とされる。これは、DIOカードの温度制御を与えることにより達成できる。或いは又、熱ノイズジェネレータ回路6の各チャンネル8のポテンショメータ16は、各チャンネルに関連したバイアスを最小にするように動的に変化させることができる。しかしながら、別の実施形態では、各チャンネルのポテンショメータ16が、コンピュータにより発生された不平衡制御信号に応答して、デジタル/アナログコンバータ(DAC)に置き換えられる。DACは、良好な分解能のために基準電圧を有する校正型DACである。
【0067】
この実施形態では、チャンネルの出力は、1のインスタンスの数及び0のインスタンスの数をカウントするためにコンピュータによって監視される。50%のバイアスをもつチャンネルについて上述したように、発生される1の数は、時間と共に発生される0の数に等しくなければならない。それ故、コンピュータは、ある周期で1の数と0の数を合計するように構成される。当業者であれば、この周期は、統計学的に意義のあるビット数をカウントできるものでなければならないことが明らかであろう。10Mビット/秒のデータレートで1秒間カウントすることは、百万ビットがカウントされることを意味する。
【0068】
この周期における1及び0の数を、必要な特定バイアスに対して予想されるべきものと比較することができる。50%バイアスの場合には、1及び0の数が等しくなければならない。次いで、コンピュータは、1及び0の数を処理して、不平衡を表す数を発生し、この数をDACへ出力する。DACは、この信号をアナログDC電圧レベルへ変換し、これがチャンネルに付与される。特定のチャンネルが必要に応じて動作し、即ち50%バイアスに対して動作する場合には、1及び0の数が等しく、不平衡制御信号は、同じバイアスレベルを保持するための電流レベルに維持される。しかしながら、例えば、1が0より多い場合は、制御信号が増加されて、印加されるバイアスを増加し、等価性を回復させる。増加の程度が、検出される不平衡の程度にリンクされる。同様に、0が1より多い場合には、DACに出力される数が減少され、印加されるバイアスを減少して、等価性を回復させる。
【0069】
カウンティング及び処理は、ソフトウェアで実施され、生の出力ストリームに作用を及ぼすことができる。このように、出力データの流れを中断することなく熱ドリフトを調整するためのフィードバック制御で恒常的な自動監視が達成される。
【0070】
又、各チャンネルにより発生されたバイナリーランダムデータに対して排他的オア(XOR)演算が遂行される。このような演算は、RNGのランダム性を更に改善し、そして真のランダム出力を与えることが分かった。
【0071】
図4を参照すれば、PC4のDIOカードにより出力されるデータのランダム性を改善するXORベースの方法の基礎的原理が示されている。この方法は、DIOカードのチャンネルにより発生されたランダムなバイナリーデータストリームを第1データバッファ30及び第2データバッファ32の一方に順次にロードすることを含む。
【0072】
使用中、DIOカードのチャンネルからの第1の1000個のバイナリーデータビットは、第1データバッファ30の第1セグメント34へロードされる。第2の1000個のデータビットは、第1データバッファ30の第2セグメント36へロードされる。第1データバッファの第1及び第2セグメントがロードされると、その第1データバッファ30の第1及び第2セグメントの対応するデータ対において排他的オア(XOR)演算が順次に遂行される。特に、(i)第1データバッファ30の第1セグメント34に含まれた第1データビット、及び(ii) 第1データバッファ30の第2セグメント36に含まれた第1データビットにおいてXOR演算が遂行される。XOR計算の結果が出力され、そして第1データバッファの第1及び第2のセグメントに記憶された値の対についてプロセスが順次に繰り返される。
【0073】
第1データバッファ30に含まれたデータにおいて遂行されるXOR演算と並列に、次の2000個のデータビットが、第2データバッファ32の第1セグメント38に、次いで、第2セグメント40にロードされる。第2データバッファ32が完全にロードされ、第1データバッファ30のデータにおいてXOR演算が完了すると、第2データバッファ32の第1及び第2セグメントに含まれたデータ対においてXOR演算が遂行される。第2データバッファ32からのデータにおいてXOR演算が遂行されている間に、第1データバッファ30にデータが再ロードされる。
【0074】
他のバッファにロードされたデータにおいてXOR演算を遂行している間にあるバッファにロードするプロセスが繰り返される。従って、毎秒nビットの第1ストリーム42が第2ストリーム44に変換されることが明らかである。第2ストリーム44は、毎秒n/2ビットのビットレートを有するが、以下に詳細に示すように、改善されたランダム特性を有する。従って、この形式のランダム性向上アルゴリズムが、ビットレートを犠牲にして、ランダムビットのクオリティを改善する。
【0075】
前記方法は、1000ビット分離されたビットにおいてXOR演算を遂行するが、当業者であれば、より大きな又はより小さなビット分離を使用できることが明らかであろう。分離は、単に、PCのDIOカードによって出力されるランダムビットデータ流におけるローカル相関が除去されることを保証するに足る大きさであればよい。例えば、数百ビット又は数千ビットの分離もランダム性の改善を与える。XOR演算が遂行されるビットの分離度の選択は、単に、システムの特性に依存する。
【0076】
又、XOR演算のための多数の別の構成を使用することもできる。例えば、XOR演算は、DIOカードの異なるチャンネルにより発生されたデータビット対において遂行することができる。XOR演算に使用されるデータビット及び/又はデータの分離も、システムのオペレーション中に変更することができる。又、ソフトウェアは、第2ストリーム44及び/又は第1ストリーム42のデータ出力の完全なランダム性からのずれを計算し、それに応じてビット分離を調整するように構成することもできる。
【0077】
又、ここに述べる技術は、ソフトウェアを使用して実施されるが、それに代わってハードウェアの実施(例えば、FPGAカードを使用した)も行えることに注意されたい。これは、ホストPC処理パワーの費用を必要としないPCカード解決策を提供する。埋め込まれた処理、即ちFPGAアレー及びマイクロコントローラを使用する概念も、カードとPCとの間のデータ送信要求を容易にする。明らかなように、全てのデータ処理がカードにおいて行われる場合には、その出力が最終的なランダム数シーケンスとなるが、PCがXOR演算を行う場合には、全てのデータチャンネルをPCへ転送することが必要である。埋め込み処理の実施は、潜在的な送信ボトルネックを容易にすることができる。
【0078】
上述した処理機構の変形が、図1及び2を参照して上述した装置のDIOカードからの生のデータ出力に適用された。この機構は、次のように動作する。
(i)RNGハードウェアから数千万のランダムビットのバッチが得られ、そしてこのバッチが8つの等しいセグメント(例えば、セグメントa、b、c、d、e、f、g、h)に分割される。
(ii)8つのセグメントのうちの4つを、XOR演算を使用して合成して、1つの新たな出力セグメントを発生し、例えば、演算bXORcXORdXOReが遂行される。
(iii)4つの入力セグメントの3つの異なる選択を使用して、ステップ(ii)を更に3回繰り返す(例えば、演算aXORcXORdXORf、aXORbXORdXORg、及びaXORbXORcXORhが遂行される)。
(iv)それにより得られる4つの出力セグメントは、最初に発生されたビット数の半分を与えるが、4倍のXORプロセスのためにクオリティが改善される。
【0079】
上述した方法は、55%バイアスを50.005%バイアスに、そして5.7%の自己相関又はクロス相関係数を0.001%の相関係数に変換することが分かった。従って、シャノンエントロピーが0.993である55%バイアスのプロセスは、シャノンエントロピーが0.99999997のプロセスに変換される。このような高レベルエントロピーは、RNGが完全なランダム数ジェネレータと実際上区別がつかないことを意味する。
【0080】
図5を参照すれば、上述した処理方法を適用した後のランダムデータが示されている。図5のグラフは、処理済みビットのバイアス(4つの全チャンネルにわたり平均化された)をスタート後の時間の関数として示している。バイアスの作用は、ほぼ完全に除去されたことが明らかであり、このプロットで観察されるバイアスの変動は、完全に、各プロット点を作り上げている約8億ビットの各バッチに関連した統計値によるものである。
【0081】
生のランダムビットを発生してデータファイルにセーブできるレートは、毎秒2.64x107ビットであることが分かった。DIOカードは、毎秒107サンプルというレートで4ビットをサンプリングしたが、データをフォーマットし、それをPCメモリに転送し、次いで、ハードディスクへ書き込むことに関連したオーバーヘッドで、データレートが理論的最大値の65%へ減少された。PC4は、400MHzペンティウムIIマシンであり、1.7GHzPCを使用して行われたテストでは、毎秒3.73x107ビットというビットレートが達成された。上述したように、XORベースの補償機構を使用する場合には、RNGのビットレートは、ほぼ半分になる。PC4は、毎秒1.44x107ビットというレートで本質的に完全なランダムビットを発生できるが、1.7GHzPCは、毎秒2.00x107ビット(即ち、20Mb/s)というビット発生レートを与えることが分かった。
【0082】
当業者であれば、ランダム数ジェネレータのランダム性をテストする方法は多数あることが明らかであろう。ここに述べるRNGは、ドキュメントFIPS140−1“Security requirements for cryptographic modules”に記載されたテストを受けた。FIPS140−1は、U.S. based National Institute of Standards and Technologyによって発行されたアメリカン規格である。FIP140−1は、暗号アプリケーションに意図されたランダム数ジェネレータがパスしなければならない1組のテストを含む。
【0083】
本発明のRNGの出力は、XOR処理方法を使用せずに、FIPS140−1テストにパスできることが分かった。しかしながら、これは、装置が完全にウオームアップされ、そしてそれが最後に調整された温度に近い周囲温度で動作するときである。より健全な振舞いを立証するために、ソフトウェア補償されたRNG出力においてもFIPS140−1テストが行われた。手短に述べると、RNGは、冷たい温度から広範囲な温度にわたりテストにパスすることが分かった。使用したテスト手順を以下に説明する。
【0084】
広い温度範囲にわたってシステムを動作するときに予想される性能の低下をシミュレーションするために、生の出力における1の確率を55%にするようにバイアス調整が慎重にオフセットされた。次いで、使用中のソフトウェア補償アルゴリズムで20分間システムを動作させることにより、8ギガビットのランダム数ファイルが生成された。FIPS140に規定されたテストは、20000ビットしか必要としないので、ファイル内の全てのビットを使用するために全てのテストを400000回繰り返した。その結果、テストの1つ(実行テスト)が1回不合格となり、他の全てのテストはパスした。この結果は、予想されたものである。というのは、これらの統計学的テストの性質上、理想的なランダム数ジェネレータは、稀に不合格になることが予想されるからである。従って、上述したRNGのランダム性は、これらのテストに関する限り、完全である。
【0085】
要約すれば、DIOカードに結合したときに、毎秒37Mビットまでのレートでランダムビットを発生することのできる4チャンネルノイズ源を備えたRNGが説明された。上述したDIOカードは、毎秒10Mサンプルのレートで並列に32ビットを読み取れることに注意されたい。従って、32チャンネルを有するランダムノイズ発生回路を設けることで、DIOカードの全32ビットを使用することができる。上述した4ビットシステムではなく、32チャンネルシステムは、100Mビット/sを越えるランダム数発生レートを許す。
【0086】
上述したように、RNGは、主として、1及び0の発生確率が等しい状態でランダムなバイナリーデータストリングを発生するのに使用されていた。しかしながら、RNGは、特定のチャンネルを適当にバイアスし、次いで、種々のチャンネルからのデータを合成することにより、定義された確率で任意の形式のランダム数を発生するように構成できる。例えば、RNGは、N個の数のどの1つも等しい確率で発生するように構成できる。RNGを使用して、1と10との間の数を等しい確率で発生することを想像されたい。この数を発生するために、4つのチャンネルからの出力を合成して、4桁のバイナリー数を発生することができる。従って、0000から1111までのバイナリー数、即ち0から15まで、を合成出力により発生することができる。1から10の数しか必要とされない場合には、処理ソフトウェアは、この範囲外の数を破棄するように気をつけ、即ち、数0000又は数1011−1111のいずれかを破棄する。従って、受け容れられる数は、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010となる。これらの数の各々が等しい見込みである場合には、最下位ビットが1である確率は、それが0である確率と同じであり、即ち50%であることが分かる。それ故、最下位ビットに対応する出力を発生するチャンネルに対するバイアスは、50%にセットされる。最下位から2番目のビットについても同じことが言える。しかしながら、各々の数が等しい見込みである場合には、最上位ビットは、10回のうち7回は0になり、そして最上位から2番目のビットは、10回のうち6回はそうなる。それ故、これらチャンネルに対するバイアスは、0を発生することに向かって各々70%及び60%にセットされる。このように、コンピュータは、各チャンネルのバイアスを独立して調整し、それを正しいバイアスに維持する。又、種々のチャンネルの出力も正しく合成して、必要な出力を発生する。
【図面の簡単な説明】
【0087】
【図1】電気的ノイズ発生回路と、デジタル入力/出力カード(DIO)を含むパーソナルコンピュータとを備えた本発明のランダム数ジェネレータを示す図である。
【図2】電気的ノイズジェネレータを実施するのに使用される熱ノイズ発生回路を示す図である。
【図3】ウオームアップ中のRNGのランダム性からのずれを示すグラフである。
【図4】本発明のデジタルデータ処理の基礎となる原理を示す図である。
【図5】XOR処理方法が生のデータ出力に適用されるときにRNGのランダム性からのずれを示すグラフである。

【特許請求の範囲】
【請求項1】
スレッシュホールド検出器と、少なくとも2つのチャンネルを有する電気的ノイズジェネレータとを備え、電気的ノイズジェネレータの各チャンネルは、電気的ノイズ信号を発生するように構成され、スレッシュホールド検出器は、各チャンネルによって発生された電気的ノイズ信号をスレッシュホールドと周期的に比較して、そのスレッシュホールドを越えたかどうか指示するバイナリーデータ出力を与えるように構成されたランダム数発生装置において、前記電気的ノイズジェネレータの各チャンネルが、電気的に直列に接続された少なくとも2つの増幅器を備えたことを特徴とするランダム数発生装置。
【請求項2】
前記電気的ノイズジェネレータの各チャンネルは、前記直列の少なくとも2つの増幅器を通るフィードバックを最小にするためのフィードバック減少手段を備えた、請求項1に記載の装置。
【請求項3】
前記電気的ノイズジェネレータの各チャンネルの少なくとも2つの増幅器は、50000ないし150000の範囲の全利得を与えるように構成される、請求項1又は2に記載の装置。
【請求項4】
前記電気的ノイズジェネレータの各チャンネルの少なくとも2つの増幅器は、約100000の全利得を与えるように構成される、請求項3に記載の装置。
【請求項5】
各チャンネルの少なくとも2つの増幅器の各々は、10MHzから100MHzの範囲内の帯域巾を有する請求項1から4のいずれかに記載の装置。
【請求項6】
各チャンネルの少なくとも2つの増幅器の各々は、約50MHzの帯域巾を有する請求項5に記載の装置。
【請求項7】
各チャンネルは、直列に接続された3つの増幅器を含む、請求項1から6のいずれかに記載の装置。
【請求項8】
各チャンネルは、イコライゼーションフィルタを含む、請求項1から7のいずれかに記載の装置。
【請求項9】
前記電気的ノイズジェネレータは、少なくとも4つのチャンネルを含む、請求項1から8のいずれかに記載の装置。
【請求項10】
各チャンネルは、少なくとも1つのバイアス制御手段を備え、この少なくとも1つのバイアス制御手段は、前記少なくとも2つの増幅器のうちの1つの増幅器の入力に接続されて、チャンネルにより出力される電気的ノイズ信号のDC電圧レベルにわたって制御を与えるように構成される、請求項1から9のいずれかに記載の装置。
【請求項11】
前記スレッシュホールド検出器のバイナリーデータ出力のバイアスを所定範囲内に維持するために、各チャンネルの少なくとも1つのバイアス制御手段を調整するためのドリフト補償コントローラを更に備えた、請求項10に記載の装置。
【請求項12】
前記ドリフト補償コントローラは、前記スレッシュホールド検出器のバイナリーデータ出力のバイアスを49.5%から50.5%の範囲内に維持するように構成される、請求項11に記載の装置。
【請求項13】
各チャンネルは、負荷抵抗器を備え、この負荷抵抗器は、前記直列の少なくとも2つの増幅器のうちの第1増幅器の入力に接続される、請求項1から12のいずれかに記載の装置。
【請求項14】
前記スレッシュホールド検出器は、複数のスレッシュホールド検出エレメントを含む、請求項1から13のいずれかに記載の装置。
【請求項15】
前記スレッシュホールド検出器は、各電気的ノイズ信号に対して個別のバイナリーデータ出力ストリームを発生する、請求項1から14のいずれかに記載の装置。
【請求項16】
前記スレッシュホールド検出器は、複数の入力を有するデジタル入力/出力(DIO)カードを備え、前記電気的ノイズジェネレータの各チャンネルにより発生される電気的ノイズ信号は、このDIOカードの個別の入力に与えられる、請求項15に記載の装置。
【請求項17】
各電気的ノイズ信号は、5MHzから15MHzの範囲内のレートで前記スレッシュホールド検出器によりサンプリングされる、請求項1から16のいずれかに記載の装置。
【請求項18】
各電気的ノイズ信号は、約10MHzのレートでサンプリングされる、請求項17に記載の装置。
【請求項19】
データ処理モジュールを更に備え、該データ処理モジュールは、前記スレッシュホールド検出器により出力されたバイナリーデータを受け取り、そしてその受け取ったバイナリーデータに対して処理ステップを遂行して、ランダム特性が改善された処理済みバイナリーデータ出力を発生するように構成され、前記処理ステップは、少なくとも1つの排他的オア(XOR)演算を含む、請求項1から18のいずれかに記載の装置。
【請求項20】
前記データ処理モジュールは、バイナリーデータビットの対においてXOR演算を遂行するように構成され、各対のデータビットは、同じチャンネルの電気的ノイズ信号から前記スレッシュホールド検出器により導出される、請求項19に記載の装置。
【請求項21】
バイナリーデータビットの各対は、1000を越える介在データビットにより一時的に分離されたデータビットを含む、請求項20に記載の装置。
【請求項22】
バイナリーデータビットの各対は、10000を越える介在データビットにより一時的に分離されたデータビットを含む、請求項21に記載の装置。
【請求項23】
前記データ処理モジュールは、少なくとも1つのデータバッファを含む、請求項19から22のいずれかに記載の装置。
【請求項24】
前記データ処理モジュールは、前記電気的ノイズジェネレータの各チャンネルに対して少なくとも1つの入力データバッファを備え、各入力データバッファは、前記電気的ノイズジェネレータの各チャンネルの電気的ノイズ信号から前記スレッシュホールド検出器により発生されたバイナリーデータ出力を受け取るように構成される、請求項23に記載の装置。
【請求項25】
各入力データバッファは、少なくとも第1及び第2セグメントに分割され、各セグメントには、バイナリーデータビットが順次に完全にロードされ、前記少なくとも1つのXOR演算は、バイナリーデータビットの対において遂行され、バイナリーデータビットの各対は、第1セグメントからのデータビット及び第2セグメントからのデータビットを含む、請求項24に記載の装置。
【請求項26】
各入力データバッファは、少なくとも第1、第2、第3及び第4セグメントを備え、前記少なくとも1つのXOR演算は、第1及び第2セグメントに含まれたデータにおいて遂行され、その間に、第3及び第4セグメントにバイナリーデータがロードされる、請求項25に記載の装置。
【請求項27】
前記データ処理モジュールは、更に、出力データバッファを含む、請求項19から26のいずれかに記載の装置。
【請求項28】
前記データ処理モジュールは、適当にプログラムされたコンピュータを含む、請求項19から27のいずれかに記載の装置。
【請求項29】
前記コンピュータもDIOカードを含む、請求項16又は28に記載の装置。
【請求項30】
前記データ処理モジュールは、適当に構成された電子回路を含む、請求項19から28のいずれかに記載の装置。
【請求項31】
前記適当に構成された電子回路も、スレッシュホールド検出器及び電気的ノイズジェネレータ回路を含む、請求項30に記載の装置。
【請求項32】
スレッシュホールド検出器と、少なくとも2つのチャンネルを有する電気的ノイズジェネレータとを備え、電気的ノイズジェネレータの各チャンネルは、電気的ノイズ信号を発生するように構成され、スレッシュホールド検出器は、各チャンネルによって発生された電気的ノイズ信号をスレッシュホールドと周期的に比較して、そのスレッシュホールドを越えたかどうか指示するバイナリー出力を与えるように構成されたランダム数発生装置において、前記電気的ノイズジェネレータの各チャンネルが、少なくとも50000の利得を各々与える増幅手段を備えたことを特徴とするランダム数発生装置。
【請求項33】
スレッシュホールド検出手段と、少なくとも1つのチャンネルを有する電気的ノイズジェネレータとを備え、電気的ノイズジェネレータの前記少なくとも1つのチャンネルは、電気的ノイズ信号を発生するように構成され、スレッシュホールド検出器は、前記少なくとも1つのチャンネルにより発生された電気的ノイズ信号をスレッシュホールドと周期的に比較して、そのスレッシュホールドを越えたかどうか指示するバイナリー出力を与えるように構成されたランダム数発生装置において、電気的ノイズジェネレータの前記少なくとも1つのチャンネルは、少なくとも50000の利得を与える増幅手段を備え、且つ前記スレッシュホールド検出手段は、デジタル入力/出力(DIO)カードを含むことを特徴とするランダム数発生装置。
【請求項34】
実質的に図1、2及び4を参照して説明したランダム数発生装置。
【請求項35】
(i)少なくとも2つのチャンネルを有する電気的ノイズジェネレータを準備するステップと、(ii)電気的ノイズジェネレータの各チャンネルにより発生された電気的ノイズ信号をスレッシュホールドと周期的に比較して、そのスレッシュホールドを越えたかどうかを指示するバイナリーデータ出力を与えるステップと、を備えたランダム数発生方法において、少なくとも2つのチャンネルを有する電気的ノイズジェネレータを準備する前記ステップ(i)は、各チャンネルが電気的に直列に接続された少なくとも2つの増幅器を備えた電気的ノイズジェネレータを準備するステップを含むことを特徴とする方法。
【請求項36】
実質的に図1、2及び4を参照して説明したランダム数発生方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2009−527963(P2009−527963A)
【公表日】平成21年7月30日(2009.7.30)
【国際特許分類】
【出願番号】特願2008−555860(P2008−555860)
【出願日】平成19年2月19日(2007.2.19)
【国際出願番号】PCT/GB2007/000580
【国際公開番号】WO2007/096598
【国際公開日】平成19年8月30日(2007.8.30)
【出願人】(501297550)キネティック リミテッド (57)
【Fターム(参考)】