(57)【要約】ハードウェアによる乱数生成器（１０）は、電圧振動信号（ＶＯＳ）の受信に応答して乱数ビット（ＲＮＢ）をラッチするよう動作する双安定ラッチ（４０）を備えている。切換え装置（２０）が第１動作状態にあるとき、双安定ラッチ（４０）は非動作状態で、発振器（３０）は起動して１つまたは複数の予測できない電圧振動信号（ＶＯＳ）を生成する。これらの電圧振動信号は、双安定ラッチ（４０）が起動するとそのラッチ（４０）を準安定状態にする。切換え装置（２０）が第２動作状態にあるとき、発振器（３０）は非動作状態で、双安定ラッチ（４０）が起動すると、予測できない電圧振動信号（ＶＯＳ）の関数として乱数ビット（ＲＮＢ）をラッチし、乱数ビット（ＲＮＢ）の無作為性は、電圧振動信号（ＶＯＳ）により双安定ラッチ（４０）を準安定状態にすることで高められる。
2005534249.tif 000002
【特許請求の範囲】
【請求項１】
選択的に動作状態および非動作状態になる発振器と、
選択的に動作状態および非動作状態になる双安定ラッチとを含み、
前記双安定ラッチが非動作状態になると、前記発振器が動作して１つまたは複数の電圧振動信号を生成し、各電圧振動信号の論理電圧レベルは予測不可能であり、
前記発振器が非動作状態になると、前記双安定ラッチが動作して１つまたは複数の電圧振動信号を受け取り、前記双安定ラッチにより１つまたは複数の電圧振動信号を受信したときに各電圧振動信号の予測不可能な論理レベルの関数として乱数ビットをラッチすることを特徴とするハードウェアによる乱数生成器。
【請求項２】
第１動作状態と第２動作状態の間で遷移するよう動作する切換え装置をさらに含み、前記切換え装置が第１動作状態で動作しているときには前記双安定ラッチが非動作状態で前記発振器が動作しており、
前記切換え装置が第２動作状態で動作しているときには前記発振器が非動作状態で前記双安定ラッチが動作していることを特徴とする請求項１に記載のハードウェアによる乱数生成器。
【請求項３】
前記切換え装置は、第１動作状態と第２動作状態の間で遷移するよう動作する電子スイッチを含み、さらに、前記発振器は、前記電子スイッチが第１動作状態で動作しているときに同時に動作する遅延要素とインバータを含んでいることを特徴とする請求項２に記載のハードウェアによる乱数生成器。
【請求項４】
前記切換え装置は、第１動作状態と第２動作状態の間で遷移するよう動作する電子スイッチを含み、さらに、前記双安定ラッチは、前記電子スイッチが第１動作状態で動作しているときに同時に動作する第１インバータと第２インバータとを含んでいることを特徴とする請求項２に記載のハードウェアによる乱数生成器。
【請求項５】
前記切換え装置は、第１動作状態で閉まり第２動作状態で開くよう動作する第１電子スイッチと、第１動作状態で開き第２動作状態で閉まるよう動作する第２電子スイッチと、クロック信号を供給するよう動作するクロックと、前記クロック信号に応答して前記第１電子スイッチおよび前記第２電子スイッチが交互に閉じたり開いたりするよう動作させるフリップフロップとを含むことを特徴とする請求項２に記載のハードウェアによる乱数生成器。
【請求項６】
前記発振器は、前記第１電子スイッチが閉じると同時に動作する遅延要素とインバータとを含むことを特徴とする請求項５に記載のハードウェアによる乱数生成器。
【請求項７】
前記双安定ラッチは、前記第２電子スイッチが閉じると同時に動作する第１インバータと第２インバータとを含むことを特徴とする請求項５に記載のハードウェアによる乱数生成器。
【請求項８】
前記発振器は、遅延要素と、インバータと、バッファとを含み、前記切換え装置は、クロック信号を供給するよう動作するクロックと、前記第１動作状態を表す電圧レベルを有するクロック信号に応答して、前記遅延要素、前記インバータ、および前記バッファを集合的に動作させるフリップフロップとを含むことを特徴とする請求項２に記載のハードウェアによる乱数生成器。
【請求項９】
前記発振器は、第１インバータと、第２インバータとを含み、前記切換え装置は、クロック信号を供給するよう動作するクロックと、前記第２動作状態を表す電圧レベルを有するクロック信号に応答して、前記第１インバータおよび前記第２インバータを集合的に動作させるフリップフロップとを含むことを特徴とする請求項２に記載のハードウェアによる乱数生成器。
【請求項１０】
前記発振器は、マルチプレクサと、前記マルチプレクサの出力からその反転入力への帰還を形成するよう動作する遅延要素とを含むことを特徴とする請求項１に記載のハードウェアによる乱数生成器。
【請求項１１】
前記双安定ラッチは、マルチプレクサを含み、前記マルチプレクサはその出力から非反転入力への帰還を形成するように動作することを特徴とする請求項１に記載のハードウェアによる乱数生成器。
【請求項１２】
前記発振器は、ＸＯＲゲートと、前記マルチプレクサの出力からその入力への帰還を形成するよう動作する遅延要素とを含むことを特徴とする請求項１に記載のハードウェアによる乱数生成器。
【請求項１３】
前記双安定ラッチは、ＸＯＲゲートと、前記マルチプレクサの出力からその入力への帰還を形成するよう動作する遅延要素とを含むことを特徴とする請求項１に記載のハードウェアによる乱数生成器。
【請求項１４】
複数の乱数ビットを供給するよう動作する複数の乱数生成器と、複数の乱数ビットの受信に応答してシステム乱数ビットを供給するよう動作する論理回路とを含み、第１の乱数生成器は、選択的に動作および非動作状態になる発振器と、選択的に動作および非動作状態になる双安定ラッチとを含み、前記双安定ラッチが非動作状態になると、前記発振器が動作して１つまたは複数の電圧振動信号を生成し、各電圧振動信号は予測できない論理電圧レベルをもち、前記発振器が非動作状態になると、前記双安定ラッチが動作して１つまたは複数の電圧振動信号を受け取り、前記双安定ラッチにより前記１つまたは複数の電圧振動信号が受け取られるときの各電圧振動信号の前記予測できない論理電圧レベルの関数として乱数ビットをラッチすることを特徴とするハードウェアによる乱数生成システム。
【請求項１５】
前記第１乱数生成器はさらに、第１動作状態と第２動作状態の間で遷移するよう動作可能な切換え装置を含み、前記切換え装置が第１動作状態で動作しているときには前記双安定ラッチが非動作で前記発振器が動作しており、前記切換え装置が第２動作状態で動作しているときには前記発振器が非動作で前記双安定ラッチが動作していることを特徴とする請求項１４に記載のハードウェアによる乱数生成システム。
【請求項１６】
前記切換え装置は、前記第１動作状態と前記第２動作状態の間で遷移されるよう動作する電子スイッチを含み、前記発振器は、前記電子スイッチが前記第１動作状態で動作しているときに同時に動作する遅延要素とインバータとを含むことを特徴とする請求項１５に記載のハードウェアによる乱数生成システム。
【請求項１７】
前記切換え装置は、前記第１動作状態と前記第２動作状態の間で遷移されるように動作する電子スイッチを含み、前記双安定ラッチは、前記電子スイッチが前記第１動作状態で動作しているときに同時に動作する第１インバータおよび第２インバータとを含むことを特徴とする請求項１５に記載のハードウェアによる乱数生成システム。
【請求項１８】
前記切換え装置は、前記第１動作状態で閉じ前記第２動作状態で開くよう動作する第１電子スイッチと、前記第１動作状態で開き前記第２動作状態で閉じるよう動作する第２電子スイッチと、クロック信号を供給するよう動作するクロックと、前記クロック信号に応答して前記第１電子スイッチおよび前記第２電子スイッチを交互に閉じたり開いたりするよう動作するフリップフロップとを含むことを特徴とする請求項１５に記載のハードウェアによる乱数生成システム。
【請求項１９】
前記発振器は、前記第１電子スイッチが閉じているときに同時に動作する遅延要素とインバータとを含むことを特徴とする請求項１８に記載のハードウェアによる乱数生成システム。
【請求項２０】
前記双安定ラッチは、前記第２電子スイッチが閉じると同時に動作する第１インバータと第２インバータとを含むことを特徴とする請求項１８に記載のハードウェアによる乱数生成システム。
【請求項２１】
前記発振器は、遅延要素と、インバータと、バッファとを含み、前記切換え装置は、クロック信号を供給するよう動作するクロックと、前記第１動作状態を表す電圧レベルのクロック信号に応答して前記遅延要素、前記インバータ、および前記バッファとを集合的に動作させるフリップフロップとを含むことを特徴とする請求項１５に記載のハードウェアによる乱数生成システム。
【請求項２２】
前記発振器は、第１インバータと第２インバータとを含み、前記切換え装置は、クロック信号を供給するよう動作するクロックと、前記第２動作状態を表す電圧レベルのクロック信号に応答して前記第１インバータおよび前記第２インバータとを集合的に動作させるフリップフロップとを含むことを特徴とする請求項１５に記載のハードウェアによる乱数生成システム。
【請求項２３】
前記発振器は、マルチプレクサと、前記マルチプレクサの出力から前記マルチプレクサの反転入力への帰還を形成するよう動作する遅延要素とを含むことを特徴とする請求項１４に記載のハードウェアによる乱数生成システム。
【請求項２４】
前記双安定ラッチは、出力から非反転入力への帰還を形成するよう動作するマルチプレクサを含むことを特徴とする請求項１４に記載のハードウェアによる乱数生成システム。
【請求項２５】
前記発振器は、ＸＯＲゲートと、前記マルチプレクサの出力から前記マルチプレクサの入力への帰還を形成するように動作する遅延要素とを含むことを特徴とする請求項１４に記載のハードウェアによる乱数生成システム。
【請求項２６】
前記双安定ラッチは、ＸＯＲゲートと、前記マルチプレクサの出力から前記マルチプレクサの入力への帰還を形成するように動作する遅延要素とを含むことを特徴とする請求項１４に記載のハードウェアによる乱数生成システム。
【請求項２７】
第１動作状態と第２動作状態の間で遷移するハードウェアによる乱数生成器であって、
前記乱数生成器の第１動作状態の間に、それぞれが予測できない論理電圧レベルをもつ１つまたは複数の電圧振動信号を生成する手段と、
前記乱数生成器の第２動作状態の間に、各電圧振動信号の前記予測できない論理電圧レベルの関数である乱数ビットをラッチする手段とを含むことを特徴とするハードウェアによる乱数生成器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は全体的にはハードウェアによる乱数生成器（すなわち、不確定に装置の１つまたは複数のコンポーネントを動作させて１つの数を代表する１つまたは複数のビットを生成する装置）に関する。具体的には、本発明は、様々な型の電子装置内へのハードウェアによる乱数生成器の組込みが容易な乱数生成器の動作効率に関する。
【背景技術】
【０００２】
図１は、双安定ラッチへの１つまたは複数の入力を介して双安定ラッチの準安定状態を引き起こす方法を例示している。双安定ラッチの各入力の電圧レベルが高論理電圧レベルＶＨＬ以上になると、双安定ラッチの各出力は、かなりの程度の確度（すなわち、安定状態）で事前に定められる。同様に、双安定ラッチの各入力の電圧レベルが低論理電圧レベルＶＬＬ以下になると、双安定ラッチの各出力もかなりの確度で事前に定められる。逆に、双安定ラッチの任意の入力の電圧レベルが高論理電圧レベルＶＨＬと低論理電圧レベルＶＬＬの間（すなわち、不確定範囲）にあると、双安定ラッチの各出力はあまりたかい確度では事前に定められない（すなわち、準安定状態）。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、ハードウェアによる乱数生成器を基礎として双安定ラッチの準安定状態を引きだすものである。本発明の様々な態様は新規で、進歩性があり、様々な利点を提供するものである。本明細書における本発明の実際の特質は、添付された請求項により定められたもののみであるが、本明細書に開示される実施例の特徴であるいくつかの特色を以下にまとめて記載する。
【課題を解決するための手段】
【０００４】
本発明の１つの形態は、発振器と、双安定ラッチと、スイッチとを備えたハードウェアによる乱数生成器である。双安定ラッチが非動作のときには、発振器が動作して１つ以上の電圧振動信号を供給する。各電圧振動信号の論理電圧レベルは予測できない。発振器が非動作のときには、双安定ラッチが動作して、１つまたは複数の電圧振動信号を受け取り、双安定ラッチにより電圧振動信号が受け取られたときの各電圧振動信号の予測できない論理電圧レベルの関数として乱数ビットをラッチする。
【０００５】
本発明の上記の形態ならびに他の形態、特色および利点は、添付図面に関連して以下に示す好適実施例の詳細な説明からさらに明らかになるであろう。詳細な説明と図面は、制限ではなく本発明を例示しているだけであり、本発明の範囲は添付請求項ならびにそれらの等価項により限定されるものである。
【発明を実施するための最良の形態】
【０００６】
図２は、従来の切換え装置２０と、従来の発振器３０と、従来の双安定ラッチ４０とから成るハードウェアによる乱数生成器１０（以後、「ＰＲＮＧ１０」とよばれる（ＰＲＮＧ：physical random number generator）を示す。切換え装置２０の第１動作状態では、双安定ラッチ４０は動作しておらず、発振器３０が動作して、電圧振動信号ＶＯＳを送り出している。以下に述べられるが、この信号ＶＯＳの論理電圧レベルは予測不可能である。切換え装置２０の第２動作状態では、発振器３０が動作しておらず、双安定ラッチ４０が動作して、電圧振動信号ＶＯＳを受け取って、その双安定ラッチ４０により電圧振動信号ＶＯＳが受け取られた時の電圧振動信号ＶＯＳの予測できない論理電圧レベルの関数として乱数ビット（ＲＮＢ：Random Number Bit）をラッチする。代わりに、発振器３０が動作していると、双安定ラッチ４０は発振器３０により生成された複数の電圧振動信号ＶＯＳを受け取って、各電圧振動信号ＶＯＳの予想できない論理電圧レベルの関数として乱数ビットＲＮＢをラッチする。
【０００７】
ゼロ（例えば、図１に示す低論理電圧レベルＶＬＬ）または１（例えば、図１に示す高論理電圧レベルＶＨＬ）としての乱数ビットＲＮＢの論理電圧レベルの無作為性は、発振器３０の内部ノイズ（例えば、当技術分野では周知である位相ノイズ、周波数ずれ、または他の種類のノイズなど）および／または双安定ラッチ４０の内部ノイズ（例えば、当技術分野では周知である熱接合ノイズ、ショットノイズ、または他の種類のノイズなど）により影響を及ぼされる。特に、発振器３０の内部ノイズは、電圧振動信号ＶＯＳの予測できない論理電圧レベルを生み出してしまう。理想的には、双安定ラッチ４０により受信されたときには、電圧振動信号ＶＯＳの予測できない論理電圧レベルが、図１に示してあるように不確定論理電圧レベルＶＩＬ１と不確定論理電圧レベルＶＩＬ２の間などの低論理電圧レベルＶＬＬ高論理電圧レベルＶＨＬの間（すなわち、不確定範囲）にある。理想的な状態では、双安定ラッチ４０の準安定状態が電圧振動信号ＶＯＳにより引き起こされて、その結果として、電圧振動信号ＶＯＳの予想不可能な論理電圧レベルが、遅延後、低論理電圧レベルＶＬＬまたは高論理電圧レベルＶＨＬに安定したことを反映する論理電圧レベルにより乱数ビットＲＮＢがラッチされることになる。理想的な条件の下で双安定ラッチ４０の準安定状態が電圧振動信号ＶＯＳにより引き起こされない場合または電圧振動信号ＶＯＳの予測できない論理電圧レベルが双安定ラッチ４０の不確定範囲の外にある場合には、乱数ビットＲＮＢは、双安定ラッチ４０により電圧振動信号が受信されたときの電圧振動信号ＶＯＳの予測できない論理電圧レベルに従うことになる。
【０００８】
本発明による切換え装置２０と、発振器３０と、双安定ラッチ４０とから成る構成の数は制限されない。たとえば、発振器３０および双安定ラッチ４０は別々の装置でもいいし、部分的または完全に統合された装置でもいい。さらに一例として、切換え装置は、発振器３０、双安定ラッチ４０、または発振器３０と双安定ラッチ４０の部分的／完全統合体内に部分的または完全に統合可能であってもよい。その上、発振器３０による電圧振動信号ＶＯＳの双安定ラッチ４０への通信は、様々な方法（たとえば、電気的、光学的、音響的、および／または磁気的）で達成可能である。したがって、本発明によるＰＲＮＧ１０の実施例の数は本質的には制限がない。
【０００９】
図３乃至図７に示してあるＰＲＮＧ１０の５つの実施例についての以下の記載は、発振器３０と双安定ラッチ４０の共通の温度依存性に向けられた動作特性に基づいている。こうした共通の温度依存性は、１つのチップ上に発振器３０と双安定ラッチ４０の標準ライブラリセルを配置することで最もよく達成可能である。さらに、電圧源２０と双安定ラッチ４０の間の短絡電気接続により、双安定ラッチ４０の無作為動作に影響を及ぼす非無作為信号が防げる。この短絡電気接続も、電圧源２０と双安定ラッチ４０を１つのチップに配置することで達成可能である。
【００１０】
図３Ａと図３Ｂは、ＰＲＮＧ１０（図１）の１つの実施例としてハードウェアによる乱数生成器１１（以後「ＰＲＮＧ１１」と呼ぶ）を示す。ＰＲＮＧ１１は、単極／双投スイッチ混合型の電子スイッチ２１（以後「ＳＰＤＴ２１」と呼ぶ）の形をした切換え装置と、遅延要素３１とインバータ３２から成る発振器と、インバータ３２とインバータ４１から成る双安定ラッチとから構成される。ＳＰＤＴ２１が図３Ａに示すような第１動作状態にあるときには、インバータ４１の出力はインバータ３２の入力から外れており（すなわち、双安定ラッチは非動作）、遅延要素３１とインバータ３２が起動して、インバータ４１の出力がインバータ３２の入力に接続されるときにのみインバータ３２とインバータ４１を準安定状態にする電圧振動信号ＶＯＳを生成する。ＳＰＤＴ２１が図３Ｂに示すように第２動作状態にあるときには、遅延要素３１の出力がインバータ３２の入力から外れて（すなわち、発振器が非動作）、インバータ３２とインバータ４１が動作して、電圧振動信号ＶＯＳを受け取って、乱数ビットＲＮＢをラッチする。電圧振動信号ＶＯＳにより双安定ラッチが準安定状態になると、乱数ビットＲＮＢの論理電圧レベルＶＲＮＢが、遅延後、電圧振動信号ＶＯＳの予測できない論理電圧レベルのゼロまたは１への安定化を反映することになる。そうでない場合には、乱数ビットＲＮＢの論理電圧レベルＶＲＮＢが、ゼロまたは１のどちらかになる電圧振動信号ＶＯＳの予測できない論理電圧レベルに従うことになる。第１動作状態と第２動作状態の間でのＳＰＤＴ２１の遷移は、乱数ビットＲＮＢの生成の周波数およびデューティーサイクルの動作仕様に応じてある周波数（固定または可変）またはデューティーサイクル（固定または可変）で、発生する。
【００１１】
図４Ａと図４Ｂは、ＰＲＮＧ１０（図１）の他の実施例としてのハードウェアとしての乱数生成器１２（以後「ＰＲＮＧ１２」と呼ぶ）を示す。ＰＲＮＧ１２は、クロック２２の形を取った切換え装置と、Ｄ型フリップフロップ２３（以後、「フリップフロップ２３」と呼ぶ）と、単極／単投スイッチ混合型の１対の電子スイッチ２４と電子スイッチ２５（以後「ＳＰＳＴ２４」および「ＳＰＳＴ２５」と呼ぶ）（たとえば、逆平列ＦＥＴの形を取った双方向型アナログＣＭＯＳスイッチ）とから構成される。フリップフロップ２３に他の型のフリップフロップも代替可能であり、こうした代替要素を論理回路構成に組み込むと、反対の出力が作成できる。ＰＲＮＧ１２はさらに、遅延要素３１と、インバータ３２およびインバータ４１とから構成される。クロック２２とフリップフロップ２３は、反対の開放位置と閉鎖位置の間で循環的にＳＰＳＴ２４とＳＰＳＴ２５を遷移させるよう動作する。
【００１２】
具体的には、高論理電圧レベル（たとえば、図１のＶＨＬ）にあるクロック信号ＣＳに応答すると、ＳＰＳＴ２４は閉鎖位置にあり、ＳＰＳＴ２５は開放位置（すなわち、第１動作状態）にある。図４Ａに示してあるようにＳＰＳＴ２４が閉鎖位置にありＳＰＳＴ２５が開放位置にあるとき、インバータ４１の出力はインバータ３２の入力から外れており（すなわち、双安定ラッチが非動作状態）、遅延要素３１とインバータ３２が動作して、双安定ラッチが動作しているときにインバータ３２と４１を準安定状態にする電圧振動信号ＶＯＳを暫定的に生成する。逆に、低論理電圧レベル（たとえば、図１のＶＬＬ）にあるクロック信号ＣＳに応答すると、ＳＰＳＴ２４は開放位置にありＳＰＳＴ２５は閉鎖位置にある（すなわち、第２動作状態）。図４Ｂに示すようにＳＰＳＴ２４が開放位置にありＳＰＳＴ２５が閉鎖位置にあるときには、遅延要素３１の出力がインバータ３２の入力から外れ（すなわち、発振器が非動作状態）、インバータ３２と４１が動作して、電圧振動信号ＶＯＳを受け取り、乱数ビットＲＮＢをラッチする。双安定ラッチが電圧振動信号ＶＯＳにより準安定状態になると、乱数ビットＲＮＢの論理電圧レベルＶＲＮＢは、遅延後、電圧振動信号ＶＯＳの予測できない論理電圧レベルのゼロまたは１への安定化を反映することになる。そうでない場合は、乱数ビットＲＮＢの論理電圧レベルＶＲＮＢは、将来ゼロまたは１になる電圧振動信号ＶＯＳの予測できない論理電圧レベルに従うことになる。ＳＰＳＴ２４とＳＰＳＴ２５の開放および閉鎖は、乱数ビットＲＮＢの生成の周波数およびデューティーサイクルの動作周波数に応じたクロック信号ＣＳの周波数（固定または可変）およびデューティーサイクル（固定または可変）で発生する。
【００１３】
図５Ａおよび図５Ｂは、ＰＲＮＧ１０（図１）の他の実施例としてハードウェアによる乱数生成器１３（以後「ＰＲＮＧ１３」と呼ぶ」を示す。ＰＲＮＧ１３は、クロック２２とフリップフロップ２３の形を取った切換え装置から成る。再び、フリップフロップ２３の代わりに他の型のフリップフロップを置くこともできる。こうした代替要素を論理回路機構に統合することで、反対の出力が作成できる。ＰＲＮＧ１３はさらに、遅延要素３１の形を取った発振器と、インバータ３２と、トライステートバッファ３３と、インバータ３２およびインバータ４２の形を取った双安定ラッチとから構成される。クロック２２とフリップフロップ２３は、反対のオン状態とオフ状態の間でバッファ３３とインバータ４２を、出力が高インピーダンスであるときに、循環的に遷移させるよう動作する。
【００１４】
具体的には、高論理電圧レベル（たとえば、図１のＶＨＬ）のクロック信号ＣＳに応答して、バッファ３３はオン状態にあり、インバータ４２はオフ状態にある。図５Ａに示すようにバッファ３３がオン状態にありインバータ４２がオフ状態にあるときには、インバータ４２の出力はインバータ３２の入力から外れ（すなわち、双安定ラッチは非動作状態）、遅延要素３１と、インバータ３２と、バッファ３３とが動作して、インバータ３２と４２が動作するとインバータ３２と４２を暫定的に準安定状態にする電圧振動信号ＶＯＳを生成する。逆に、低論理電圧レベル（たとえば、図１のＶＬＬ）にあるクロック信号ＣＳに応答して、バッファ３３はオフ状態にありインバータ４２はオン状態にある。図５Ｂに示すようにバッファ３３がオフ状態にありインバータ４２がオン状態にあるときには、バッファ３３の出力がインバータ３２の入力から外れ（すなわち、発振器は非動作状態）、インバータ３２およびインバータ４２が動作して、電圧振動信号ＶＯＳを受け取り、乱数ビットＲＮＢをラッチする。双安定ラッチが電圧振動信号ＶＯＳにより準安定状態になる場合には、乱数ビットＲＮＢの論理電圧レベルＶＲＮＢは、遅延後、電圧振動信号ＶＯＳの予測できない論理電圧レベルのゼロまたは１への安定化を反映することになる。そうでない場合、乱数ビットＲＮＢの論理電圧レベルＶＲＮＢは、将来ゼロまたは１になる電圧振動信号ＶＯＳの予測できない論理電圧レベルに従うようになる。オンおよびオフ状態の間でのバッファ３３と４２の遷移は、乱数ビットＲＮＢを生成する周波数とデューティーサイクルの動作仕様に従ったクロック信号ＣＳの周波数（固定または可変）およびデューティーサイクル（固定または可変）で発生する。
【００１５】
図６Ａと図６Ｂは、ＰＲＮＧ１０（図１）の他の実施例としてハードウェアによる乱数生成器１４（以後「ＰＲＮＧ１４」と呼ぶ）を示す。ＰＲＮＧ１４は、切換え装置２０と、遅延要素３１と、マルチプレクサ３４とから構成される。切換え装置２０は切換え信号ＳＳをマルチプレクサ３４に送り、遅延要素３１とマルチプレクサ３４を発振器として働かせるマルチプレクサ３４の例示された反転入力（すなわち、第１動作状態）またはマルチプレクサ３４を双安定ラッチとして働かせるマルチプレクサ３４の例示された非反転入力（すなわち、第２動作状態）を選択する。切換え信号ＳＳの周波数（固定または可変）およびデューティーサイクル（固定または可変）は、乱数ビットＲＮＢを生成する周波数とデューティーサイクルの動作仕様に従う。
【００１６】
マルチプレクサ３４の反転入力が切換え装置２０により選択されると（すなわち、発振器が動作状態で双安定ラッチが非動作状態）、遅延要素３１を介してマルチプレクサ３４の反転入力へのマルチプレクサ３４の出力の負帰還が、図６Ａに示すように電圧振動信号ＶＯＳが生成されるリング発振器を形成する。マルチプレクサ３４の非反転入力が切換え装置２０により選択されると（すなわち、発振器が非動作状態で双安定ラッチが動作）、マルチプレクサ３４の出力からマルチプレクサ３４の非反転入力への帰還が、図６Ｂに示すように論理電圧レベルＶＲＮＢの乱数ビットＲＮＢがラッチされる双安定ラッチを形成する。発振器が非動作状態で双安定ラッチが動作すると、発振器の内部ノイズによる位相ノイズと周波数ずれにより発振器の論理電圧レベルが予測できなくなる。電圧振動信号ＶＯＳの予測できない論理電圧レベルが双安定ラッチの不確定範囲内にあるときに、双安定ラッチが準安定状態になる。この状態では、乱数ビットの論理電圧レベルＶＲＮＢは、遅延後、ゼロまたは１に安定することになる。そうでない場合には、論理電圧レベルＶＲＮＢは、ゼロまたは１である電圧振動信号ＶＯＳの予測できない論理電圧レベルに従うことになる。双安定ラッチが非動作状態になり、リング発振器が遅延要素３１により再び形成されるときに、その結果生成される乱数ビットＲＮＢは次の切換え変更時に読み取られるのが好ましい。
【００１７】
図７Ａと図７Ｂは、ＰＲＮＧ１０（図１）の他の実施例としてハードウェアによる乱数生成器１５（以後「ＰＲＮＧ１５」と呼ぶ）を示す。ＰＲＮＧ１５は、切換え装置２０と、遅延要素３１と、ＸＯＲゲート３５とから構成される。切換え装置２０は、切換え信号ＳＳをＸＯＲゲート３５の第１入力に供給して、高論理電圧レベルＶＨＬ（図１）で、遅延要素３１とＸＯＲゲート３５を発振器として働かせ（すなわち、第１動作状態）または低論理電圧レベルＶＬＬ（図１）で、ＸＯＲゲート３５を双安定状態として働かせる（すなわち、第２動作状態）。切換え信号ＳＳの周波数（固定または可変）およびデューティーサイクル（固定または可変）は、乱数ビットＲＮＢを生成する周波数とデューティーサイクルの動作仕様に従う。
【００１８】
切換え信号が高論理電圧レベルＶＨＬにあるとき（すなわち、発振器が動作して双安定ラッチは非動作状態）、遅延要素３１を介したＸＯＲゲート３５の第２入力へのＸＯＲゲート３５の出力の帰還は、リング発振器を形成する。このリング発振器では、図７Ａに示すように電圧振動信号ＶＯＳが生成される。ＸＯＲゲート３５の非反転入力が切換え装置２０により選択されると（すなわち、発振器が非動作状態で、双安定ラッチは動作状態）、遅延要素３１を介したＸＯＲゲート３５の第２入力へのＸＯＲゲート３５の出力の帰還は、双安定ラッチを形成する。この双安定ラッチでは、図６Ｂに示すように論理電圧レベルＶＲＮＢである乱数ビットＲＮＢがラッチされる。発振器が非動作状態で双安定ラッチが起動しているときには、発振器の内部ノイズによる位相ノイズや周波数ずれにより発振器の論理電圧レベルは予測できない。電圧発振器信号ＶＯＳの予測できない論理電圧レベルが双安定ラッチの不確定範囲内にあるときには、双安定ラッチが準安定状態になり、この状態では、乱数ビットの論理電圧レベルＶＲＮＢが、遅延後、ゼロまたは１に安定する。そうでない場合には、論理電圧レベルＶＲＮＢは、ゼロまたは１となる電圧振動信号ＶＯＳの予測できない論理電圧レベルに従うことになる。その結果生成される乱数ビットＲＮＢは次の切換えのときに読み取られるのが好ましい。この時には、双安定ラッチが非動作状態になり、リング発振器が再度遅延要素３１により形成される。
【００１９】
実際、温度と供給電圧の依存性が正確に一致しているＰＲＮＧ１０（図１）はこれまでめったに達成されたことはない。さらに、ＰＲＩＮＧ１０の製造の際の公差には、ＰＲＩＮＧ１０が乱数ビットを１として生成するよりはるかに高い頻度でゼロとして生成したり、またはその逆となるような不均衡が生じる。図８は、論理回路５１（たとえば、多入力ＸＯＲゲート）に電気的に接続された複数のＰＲＮＧ１０１−１０ｘを利用して複数の乱数ビットＲＮＢ１−ＲＮＢＸを論理回路５１に供給するハードウェアによる乱数生成システム５０を示す。それに応答して、論理回路５１は、一定のビット流として対応する乱数ビットＲＮＢ１−ＲＮＢｘを生成する複数のＰＲＮＧ１０１−１０Ｘの任意のものには十分には反応しないシステム乱数ビットＳＲＮＢを供給する。ＰＲＮＧ１０１−１０Ｘの任意のものが乱数ビットを生成している限り、その結果作成されるシステム乱数ビットＳＲＮＢも無作為になる。ＶＬＳＩチップ上で、数百のやや異なるＰＲＮＧ１０Ｘの集積は実現可能であり、その結果作成されるビット流は極めて予測が難しい。
【００２０】
ＰＲＮＧ１０−１５の記載から、当業者には本発明の様々な利点が理解されるであろう。本発明の１つの利点は、低電力で、比較的安価なハードウェアによる乱数生成器が簡単に実現できることである。
【００２１】
本明細書に開示された本発明の実施例は好ましいものと現時点では考えられているが、本発明の精神と範囲から逸脱しないかぎり様々な変更や修正が可能である。本発明の範囲は請求の範囲に示されており、請求項の意味や範囲内のあらゆる変更は本明細書に含まれるものである。
【図面の簡単な説明】
【００２２】
【図１】双安定ラッチへの１つまたは複数の入力を介して双安定ラッチの準安定状態を引き起こす可能な方法を示す図である。
【図２】本発明によるハードウェアによる乱数生成器の基本実施例の構成図である。
【図３Ａ】本発明によるハードウェアによる乱数生成器の第１実施例の概略構成図である。
【図３Ｂ】本発明によるハードウェアによる乱数生成器の第１実施例の概略構成図である。
【図４Ａ】本発明によるハードウェアによる乱数生成器の第２実施例の概略構成図である。
【図４Ｂ】本発明によるハードウェアによる乱数生成器の第２実施例の概略構成図である。
【図５Ａ】本発明によるハードウェアによる乱数生成器の第３実施例の概略構成図である。
【図５Ｂ】本発明によるハードウェアによる乱数生成器の第３実施例の概略構成図である。
【図６Ａ】本発明によるハードウェアによる乱数生成器の第４実施例の概略構成図である。
【図６Ｂ】本発明によるハードウェアによる乱数生成器の第４実施例の概略構成図である。
【図７Ａ】本発明によるハードウェアによる乱数生成器の第５実施例の概略構成図である。
【図７Ｂ】本発明によるハードウェアによる乱数生成器の第５実施例の概略構成図である。
【図８】本発明によるハードウェアによる乱数生成器の基本実施例の構成図である。
【符号の説明】
【００２３】
１０  乱数生成器
２０  切換え装置
３０  発振器
３２  インバータ
４０  双安定ラッチ
【図１】
2005534249.tif 000003
【図２】
2005534249.tif 000004
2005534249.tif 000005
2005534249.tif 000006
2005534249.tif 000007
【図５Ｂ】
2005534249.tif 000008
2005534249.tif 000009
2005534249.tif 000010
【図８】
2005534249.tif 000011
【国際調査報告】
2005534249.tif 000012
2005534249.tif 000013