(57)【要約】  本発明は、ランダムビットシーケンス発生装置（１）に関している。この装置はデジタル式のリングオシレータ回路（２）を有しており、該リングオシレータ回路（２）は、少なくとも１つの第１のフィードバックパス（Ｒ８）と第２のフィードバックパス（Ｒ１４）を備え、これらのフィードバックパス（Ｒ８，Ｒ１４）間で切り替えが所定の時点で行われるように構成されている。さらに前記リングオシレータ回路（２）の出力ノード（４）からはランダムなレベル経過特性を伴うランダム信号（ＯＳ）が取出される。
2011520178.tif 000002
【特許請求の範囲】
【請求項１】
ランダムビットシーケンス発生装置（１）において、
デジタルリングオシレータ回路（２）を有しており、
前記デジタルリングオシレータ回路（２）は、少なくとも１つの第１のフィードバックパス（Ｒ８）と第２のフィードバックパス（Ｒ１４）を備え、これらのフィードバックパス（Ｒ８，Ｒ１４）間で切り替えが所定の時点で行われるように構成されており、さらに前記リングオシレータ回路（２）の出力ノード（４）からランダムなレベル経過特性を伴うランダム信号（ＯＳ）が取出されるように構成されていることを特徴とする装置。
【請求項２】
所定の時点でフィードバックパス（ＲＳ）の切り替えを実施する回路装置（２８）が設けられている、請求項１記載の装置。
【請求項３】
前記回路装置（２８）は、スイッチング信号（ＣＴ１）に依存して前記フィードバックパス（Ｒ８，Ｒ１８）間の切り替えを実施する、請求項２記載の装置。
【請求項４】
切り替えは周期的に行われる、請求項１から３いずれか１項記載の装置。
【請求項５】
前記リングオシレータ回路（２）はさらに入力ノード（３）を有し、該入力ノード（３）に入力される論理信号としての開始信号（ＳＴ）の状態変化のもとで発振が行われるように構成されている、請求項１から４いずれか１項記載の装置。
【請求項６】
前記リングオシレータ回路（２）は、直列に接続された複数の論理素子（１２〜２７）を有している、請求項１から５いずれか１項記載の装置。
【請求項７】
少なくとも７つの直列に接続された論理素子（１２〜２７）が設けられている、請求項６記載の装置。
【請求項８】
前記論理素子（１３〜２７）はインバータである、請求項６または７記載の装置。
【請求項９】
前記装置（１）は、出力ノード（４）に接続されたバッファ素子（８）を有しており、該バッファ素子（８）は、ランダム信号（ＯＳ）に依存して論理レベルを記憶する、請求項１から８いずれか１項記載の装置。
【請求項１０】
前記バッファ素子（８）は、サンプリング信号（ＣＬＫ）に依存して、ランダム信号（ＯＳ）に相応する論理レベルを記憶する、請求項８または９記載の装置。
【請求項１１】
前記装置（１）は、サンプリング信号発生装置（６）を有しており、該サンプリング信号発生装置（６）は、所定の時点でサンプリング信号（ＣＬＫ）の論理状態の変更を発生させる、請求項１０記載の装置。
【請求項１２】
前記装置（１）は、入力ノード（３）に接続された矩形波信号発生装置（７）を有しており、該矩形波信号発生装置（７）は論理レベルの変更を伴う開始信号（ＳＴ）を発生する、請求項１から１１いずれか１項記載の装置。
【請求項１３】
前記装置（１）は、制御デバイス（５）を有しており、該制御デバイス（５）はプログラミングに従って出力ノード（４）若しくはバッファ素子（８）からのランダムビット値の取出しを引き起こすし、及び／又は、開始信号（ＳＴ）及び／又はスイッチング信号（ＣＴ１）の発生を引き起こす、請求項１から１２いずれか１項記載の装置。
【請求項１４】
前記リングオシレータ回路（２）は、ガロアリングオシレータまたはフィボナッチリングオシレータである、請求項１から１３いずれか１項記載の装置。
【請求項１５】
前記装置（１）は、ＦＰＧＡ回路として実現されている、請求項１から１４いずれか１項記載の装置。
【請求項１６】
ランダム信号（ＯＳ）から導出される複数のランダムビット（ＺＢ）が暗号化装置によって、暗号化認証の実行、暗号署名の生成及び／又は暗号鍵の生成のために用いられる、請求項１から１５いずれか１項記載の装置と暗号化装置とを備えたＲＦＩＤチップ。
【請求項１７】
出力ノードから取出されるランダム信号（ＯＳ）のレベル値若しくはバッファ素子（８）によって記憶される複数の論理レベル（ＺＢ）が、乱数（ＺＺ）またはビット値としてサンプリングされる、請求項１から１５いずれか１項記載の装置（１）を有している乱数発生器。
【請求項１８】
少なくとも１つの第１のフィードバックパス（Ｒ８）と第２のフィードバックパス（Ｒ１４）を備えたデジタルリングオシレータ回路（２）の使用方法において、
それぞれのフィードバックパス（ＲＳ）が所定の時点で切り替えられ、
前記リングオシレータ回路（２）の出力ノード（４）から、少なくとも１つのランダムビット発生のために、ランダムなレベル経過特性を伴うランダム信号（ＯＳ）が取出されるようにしたことを特徴とする使用方法。
【請求項１９】
ランダムビットシーケンス発生方法であって、
デジタルリングオシレータ回路（２）から取出されるランダム信号（ＯＳ）のレベル経過に依存してランダム値（ＺＢ）が決定され、
前記デジタルリングオシレータ回路（２）は、少なくとも１つの第１のフィードバックパス（Ｒ８）と第２のフィードバックパス（Ｒ１４）を備え、これらのフィードバックパス（Ｒ８，Ｒ１４）間で切り替えが所定の時点で行われ、さらに前記リングオシレータ回路（２）の出力ノード（４）からランダムなレベル経過特性を伴うランダム信号（ＯＳ）が取出されるようにしたことを特徴とする方法。
【請求項２０】
デジタルリングオシレータ回路（２）を作動するステップ（Ｓ１）と、
第１と第２のフィードバックパス（Ｒ８，Ｒ１４）の間の切り替えを行うステップ（Ｓ２）と、
前記リングオシレータ回路（２）によって生成されたランダム発振信号（ＯＳ）の１つ又は複数のレベル値を取出すステップ（Ｓ２，Ｓ２１）とを有している、請求項１９記載の方法。
【請求項２１】
前記リングオシレータ回路（２）を、複数のランダムビット値の発生のために複数回作動させる、請求項１９または２０記載の方法。
【請求項２２】
第１と第２のフィードバックパス（Ｒ８，Ｒ１４）の間の切り替えを周期的に行う、請求項１９から２１いずれか１項記載の方法。
【請求項２３】
ランダム信号（ＯＳ）の経過に依存して、ランダム値を確定する（Ｓ２１，Ｓ２２）、請求項１９から２２いずれか１項記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ランダムビットとランダムビットシーケンスを発生するための装置及び方法に関している。これらは例えば乱数発生器への実用に適している。
【背景技術】
【０００２】
乱数、特にデジタル方式でランダムビットシーケンスと称される乱数は、セキュリティに係わる分野で頻繁に用いられている。例えば非対称認証方式では、乱数を発生させて用いることが重要である。特にセキュリティ機能を備えたＲＦＩＤタグでは、低コストのハードウエアを用いて相応の乱数が生成されている。その際にはできるだけデジタル論理回路を使用して、なるべくコストをかけずに実現することが望ましい。
【０００３】
しかしながらこれまでの乱数発生器では、アナログのノイズ源が用いられており、それらの信号がデジタル変換されて用いられていた。そのためハイブリッドのアナログ／デジタル回路では、コストをかけずに実現することが不可能であった。
【０００４】
専ら複数のデジタル論理回路を備える典型的な乱数発生器は、例えば国際公開第２００６/０１５６２４号パンフレットに開示されている。この国際出願では、複数のデジタルゲートで構成されたリングオシレータのランダムな位相変動を利用することが提案されている。しかしながらこの国際公開第２００６/０１５６２４号パンフレットによるここでの乱数発生器には、非常に特殊なリングオシレータ、詳細には特別な特性を備えたガロアリングオシレータかまたはフィボナッチリングオシレータしか適していなかった。そのような特殊な構成の回路では、リングオシレータが固定点を有さなくてもよいことが前提とされている。この国際公開第２００６/０１５６２４号パンフレットにおいて充たすべき条件は、前述のガロアリングオシレータ回路やフィボナッチリングオシレータ回路では数式で表わすことが可能であり、それ故相応の実施例においてはまず、リングオシレータが固定点を有しているか否かが検査されている。但しこのような手段に伴う欠点は、問題となるオシレータ回路の選択肢が非常に限られたものになってしまうことである。
【０００５】
それ故に本発明の課題は、このような従来技術における欠点に鑑み、ランダムビット発生装置をさらに改善することにある。
【０００６】
前記課題は、請求項１の特徴部分に記載された本発明による装置によって解決される。
【０００７】
本発明のランダムビットシーケンス発生装置によれば、デジタルリングオシレータ回路を有し、該デジタルリングオシレータ回路は、少なくとも１つの第１のフィードバックパスと第２のフィードバックパスを備えている。これらのフィードバックパスの間では、所定の時点で切り替えが行われ、さらに前記リングオシレータ回路の出力ノードからは、ランダムなレベル経過特性を伴うランダム信号が取り出されている。
【０００８】
デジタルリングオシレータ回路では、通常は奇数個の論理ゲートがフィードバック結合されている。すなわち、論理ゲートの１つの出力側が他の論理ゲートの入力側に結合されている。それによって、所定の条件下で予測のできない信号形態をとる発振信号、いわゆるランダム信号が生じる。ここでは、相互間で切り替えが可能な複数のフィードバックパスを設けることが提案されている。それにより、ランダム信号の改善されたランダムな信号特性が得られる。このリングオシレータの発振特性に変化をもたらす切り替えによって、多大なコストをかけずにランダムビットを発生させることが可能になる。
【０００９】
発振器の実現に用いられる半導体素子内部の熱的及び量子力学的過程によって、例えば位相変動やジッタが生じる。これらは内部的にランダムな信号経過ないし電位経過を引き起こす。論理構成素子、例えば奇数個のインバータ回路は、リングオシレータの形成のために縦続接続ないしは１つのリングに鎖状に結合される。通常の基準とされる発信周波数は、使用されるインバータ回路若しくは論理回路の数に依存している。個々の論理素子による信号処理の際に様々に現れる遅延によって、通常は一定の位相が生じるのではなく、ジッタが生じる。そのため不規則な信号形態が頻繁に出現する。
【００１０】
しかしながら基本的には次のようなことを基礎とすることはできない。すなわち長い期間の間には絶対的にランダムな"変動経過"が常に存在することである。あらゆるリングオシレータ回路は、その活動化ないしスタート後の信号経過においてランダムで一時的なレベル経過を有している。それらは基本的にはいずれにせよ立ち上がり振動過程の後であっても所定の経過に入りこむ。
【００１１】
しかしながらフィードバックパスの切り替えによって、例えば１つの固定点への同期化が回避される。例えばそれぞれのリングオシレータ回路のフィードバックはクロック制御を介してあるいは周期的に変更させることが可能である。たとえそれぞれのリングオシレータの基本コンセプトが周期的な発振に向けられ、そのことが当初はランダム信号の発生に適していないように見えても、この種の周期的な潜在的発振形態を乱すことは、切り替えによって達成することができる。それによって、非周期的でかつランダムな発振をいつでも生じさせることができるようになり、その結果、ランダムビット値のさらなる発生への多大なエントロピーを達成することが可能になる。その際には小規模なガロアリングオシレータまたはフィボナッチリングオシレータを用いることも可能である。それにより、ハードウエアコストと生産コストを低減させることができる。切り替えは例えば少なくとも２つの異なるガロアリングオシレータ若しくはフィボナッチリングオシレータの間で行うことが可能である。
【００１２】
本願によるランダムビットを発生するための装置は、実現が容易である点と、従来技法では固定点除外のために必要であった複雑な計算の実施が不要となった点で非常に有利である。これによりリングオシレータ回路として比較的大規模な発振器の適用も考慮できるようになる。さらに、設定されたフィードバックに依存して１つの作動状態若しくは別の作動状態におかれる一般的なリングオシレータでも次のような利点、すなわち本願で提案されるランダムビットシーケンス発生装置では、固定点の達成ですら、無作為性の品質を何等損なうことなくエネルギ消費の低減が得られるようになる。このことは、特にＣＭＯＳ技法を用いて相応の回路装置を実現する際に当て嵌まる。
【００１３】
フィードバックパス間の切り替えは、直列に接続された、いくつかの論理素子を使用するだけで可能になる。これによりさらに付加的なエネルギセーブが達成される。例えば１つの実施例において、所定の時点でフィードバックパスの切り替えを行う唯１つの回路が付加的に設けられる。これは例えば１つのスイッチング信号に依存して行われてもよい。このようなスイッチング信号は、有利には１つのクロック信号に相応し、それによってフィードバックパス間の切り替えが周期的に行われる。
【００１４】
専らデジタル素子を有する特にコスト的に有利な実施例として、例えばＦＰＧＡタイプの回路形態が有利である。このＦＰＧＡタイプとは、デジタル技術を用いたプログラミング可能な集積回路と理解されたい。つまりＦＰＧＡ（field programmable gate array）とは、論理ゲートを形成し得る内的構造の構成によってフィールド内のプログラミングを実現させるゲート配列のことである。もちろん相応の乱数発生装置は、用途別集積回路（ＡＳＩＣ＝Application Specific Integrated Circuit）、例えばＣＭＯＳとして実施されてもよい。乱数信号発生のための通常の回路装置に比べて改善されたこの装置は、例えば生成される信号の無作為性を高めるために、既に使用されている古いランダムビット発生器を交換若しく改造するようなケースでは、別々の構成素子で構成することも可能である。
【００１５】
装置の有利な実施形態によれば、出力ノードに接続されたバッファ素子が設けられ、このバッファ素子はランダム信号に依存して論理レベルを記憶する。
【００１６】
例えば１つのバッファ素子をフリップフロップとして構成することも可能である。このフリップフロップは所定の論理閾値を通過した場合に、その内部に記憶されている状態を変更する。公知のフリップフロップでは、例えば記憶されている内的論理状態が、入力されたランダム信号の各上昇縁毎若しくは各下降縁毎に変更される。すなわち、ランダム信号が２つの論理レベルの間で不規則に変動する限り、バッファ素子は、ランダム信号の不確定な数の例えば上昇縁若しくは下降縁に依存してランダムビット値を供給する。例えばバッファ素子はランダム信号に相応する論理レベルを記憶し得る。
【００１７】
例えばバッファ素子は、フリップフロップのように、サンプリング信号に依存して、ランダム信号に相応する論理レベルを記憶することも考えられる。サンプリング信号、例えば外部からのクロック信号は、所定の時点でバッファ素子にランダム信号のレベルを検出させ、ランダムビットとして使用させるか若しくはバッファ素子内で記憶されている論理レベルの反転を引き起こさせる。フィードバックパス間の切り替えのためのスイッチング信号は、有利にはサンプリング信号よりも高い周波数を有し得る。しかしながら他方では、開始信号、切り替え信号及びサンプリング信号が同じ周波数を有し、同期化すること若しくは時間的に相互にずらすことも考えられる。時間的に相互にずらす場合には有利には、それらの信号に対して異なる信号発生装置を準備することが不用になる。
【００１８】
リングオシレータの再スタートのための相応の開始信号は、例えば論理レベルの入れ替わる開始信号を生成する矩形波信号発生装置によって供給可能である。そのために使用されるリングオシレータ回路は、規則的に再スタートされ、ランダムな振動特性ないし同期特性を示す。
【００１９】
本発明の別の有利な装置によれば、制御デバイスが設けられ、該制御デバイスはプログラミングに従って出力ノード若しくはバッファ素子からのランダムビット値の取出しを引き起こすか、及び／又は、開始信号（ＳＴ）及び／又はスイッチング信号（ＣＴ１）の発生を引き起こす。
【００２０】
ランダムビットシーケンスの発生は、特に出力ノードに接続されたフリップフロップの反転によって、ランダム信号の０−１経過毎に行われ、その際ランダムビットは当該フリップフロップのバッファされた論理レベルの周期的なサンプリングによって確定可能である。
【００２１】
本発明は、少なくとも１つの第１のフィードバックパスと第２のフィードバックパスを備えたデジタルリングオシレータの使用方法にも関している。その際、それぞれのフィードバックパスは所定の時点で切換えられ、さらにリングオシレータの出力ノードからはランダムなレベル経過を伴うランダム信号が取出される。このことは少なくとも１つのランダムビットの生成に用いられる。
【００２２】
本発明のさらに別の実施例では、前述してきたようなランダムビットシーケンス発生装置を備えた乱数発生器が提案されている。この乱数発生器は例えばＲＦＩＤチップに使用され得る。このチップはランダムビットシーケンス発生装置と暗号化装置を有し、ランダム信号から導出される複数のランダムビットが暗号化装置によって、暗号化認証の実行、暗号署名の生成及び／又は暗号鍵の生成のために用いられる。
【００２３】
さらに本発明は、請求項１９に記載されているように、ランダムビットシーケンス発生方法にも関している。
【００２４】
それによれば、ランダムビットシーケンス発生方法において、デジタルリングオシレータ回路から取出されるランダム信号のレベル経過に依存してランダム値が決定され、前記デジタルリングオシレータ回路は、少なくとも１つの第１のフィードバックパスと第２のフィードバックパスを備え、これらのフィードバックパス間で切り替えが所定の時点で行われ、さらに前記リングオシレータ回路の出力ノードからランダムなレベル経過特性を伴うランダム信号が取出される。
【００２５】
前記方法の別の有利な実施例によれば、以下のステップが実行される。すなわち、
デジタルリングオシレータ回路を作動するステップと、
第１と第２のフィードバックパスの間の切り替えを行うステップと、
前記リングオシレータ回路によって生成されたランダム発振信号の１つ又は複数のレベル値を取出すステップが実行される。
【００２６】
相応の方法は、例えば適切なプログラムによってプログラミング可能なデジタル論理回路、例えばＦＰＧＡにおいて実施され得る。リングオシレータ回路の作動は例えば相応の回路装置への適切な供給電圧の印加ないし供給によって行われてもよい。さらにリングオシレータ回路のそれぞれの実施形態に応じた作動は、適切な制御信号ないし開始信号の供給によっても可能である。前記「作動」とは、リングオシレータ回路の発振において、有利には使用されている論理ゲートの所定の開始状態から結果として引き起こされた１つの動作過程と理解されたい。
【００２７】
その場合リングオシレータ回路は複数のランダムビット値の発生のために作動され得る。その場合本発明で提案されている方法ステップは、相互に時間的に依存することなく実行可能である。特にその場合のフィードバックパス間の切り替え過程は、レベル経過において無作為化を促進する。
【００２８】
既にランダムビットシーケンス発生装置に関して説明したように、ランダム信号は複数回サンプリングされ得るし、サンプリング信号のそのつどのレベル値に依存してランダムビットの論理レベルを変更し得る。このことは、例えば前述したようにバッファ素子によって得られる。
【００２９】
本発明のさらに別の有利な実施例は従属請求項の対象であり、以下の明細書でも詳細に説明する。
【００３０】
以下の明細書では本発明を添付に図面に基づいて詳細に説明する。
【図面の簡単な説明】
【００３１】
【図１】乱数発生器の実施例を示した図
【図２】リングオシレータ回路の第１実施例を示した図
【図３】リングオシレータ回路の第１実施例のランダム信号の経過を示した図
【図４】リングオシレータ回路の第２実施例を示した図
【図５】リングオシレータ回路の第２実施例のランダム信号の経過を示した図
【図６】リングオシレータ回路の第３実施例を示した図
【図７】リングオシレータ回路の第３実施例のランダム信号の経過を示した図
【００３２】
前記図面中、同じ構成要素若しくは機能の同じ構成要素には同じ番号が付されている。
【００３３】
図１には、乱数発生器１の実施例が示されている。この乱数発生器１は、入力ノード３と出力ノード４を備えたリングオシレータ回路２を有している。リングオシレータ回路の実施例は例えば図２、図４、及び図６に詳細に示されている。
【００３４】
例えばリングオシレータは、複数のインバータの縦続接続によって実現されていてもよい。その場合これらのインバータないしその他の論理素子は遅延素子として用いられ、この場合個々の遅延素子の予測不能な変動は、発振における予測不能な変化、いわゆるジッタを引き起こす。このような遅延変動は、通常は様々な内外のノイズ要因、例えばハードウエアを実現している構成素子、電流、電圧及び／又は温度の変動に起因している。インバータ又は論理ゲートに該当するケースでは、遅延時間は極端に短く、この予測不能な変動は、基本的に振動ないし発振している信号の無作為な予期せぬレベル経過を提供する。この信号は出力ノード４からランダム信号ＯＳとして取出し可能である。
【００３５】
リングオシレータ２はさらに切り替え信号ＣＴ１のための端子５を有している。このリングオシレータ回路は内部的には既に前述したように直列接続若しくは縦続接続された複数の論理素子を有しており、それらが少なくとも２つの異なるフィードバックパスを介してフィードバック可能である。リングオシレータ２内では前記切り替え信号ＣＴ１に依存してフィードバックパスの切り替えが行われる。それにより付加的な無作為化が達成される。なぜならそれぞれのフィードバックパスの変更の際に生じる信号経過に乱れが発生するからである。
【００３６】
リングオシレータ回路２は、適切な開始信号ＳＴ（これは入力ノード３に入力される）によって作動ないし起動される。基本的にリングオシレータ回路２は、その内部的構造に基づいて、固定点を有することが可能である。すなわち、安定した状態が存在する。そのような状態では論理素子は時間的にもはや変化しない論理状態を有する。しかしながらこの種の固定点の到達までには、相応に取り出し可能なレベルにおいて実質的にランダムな変化が起きている。さらに切り替えとそれに伴うリングオシレータ２の接続構成の変化によって通常は、リングオシレータの内部で完全に安定した状態が生じることが回避される。
【００３７】
ランダム信号ＯＳはバッファ素子８，例えばフリップフロップ装置に供給される。このフリップフロップ装置８，例えばＤフリップフロップはデータ入力側においてランダム信号を受取り、データ出力側からバッファされた論理レベルをランダムビットＺＢとして出力する。ランダム信号ＯＳは時間的に変化し偶発的な変動も生じているので、次のようなことも考えられる。例えばクロック信号ＣＬＫの形態でサンプリング信号をフリップフロップ８のクロック入力側へ入力結合することによって、サンプリング時点において、例えば上昇するクロック信号エッジ又は下降するクロック信号エッジの発生のもとで、ランダム信号ＯＳのそのときの値を検出してバッファすることが考えられる。
【００３８】
相応のサンプリング信号ないしクロック信号ＣＬＫは、図１に例示的に示されているように、制御装置６によって供給されている。この制御装置６は、適切な切り替え信号ＣＴ１も発生しており、この切り替え信号ＣＴ１はリングオシレータ回路２内のフィードバックパスの切り替えのために端子５に供給されている。さらに制御装置６は、矩形波信号発生器７を制御するための制御信号ＣＴ２も発生している。この矩形波信号発生器７は開始信号ＳＴをリングオシレータ２の入力ノード３に供給している。
【００３９】
フィードバックパス間の周期的な切り替えとそれに伴うリングオシレータ回路２の内在する発信特性の間の切り替わりによって、潜在的に存在する固定点は、乱数若しくはランダムビットの発生に対して無批判的となる。複数の結合手段ないしパスの設置とそれらの間の切り替えとによって、（決定的な形態では生じない）振動特性のみがランダム信号ＯＳの取り出しの際に考慮される。その限りでは、本願のリングオシレータ回路としては、従来からのあらゆるリングオシレータの適用が可能である。そしてそれらは、複数の代替的なフィードバックパスを設置し、それらの間で切り替えができるようにするための変更がなされるだけである。
【００４０】
乱数発生器１においては様々な作動モードの実施が考えられる。例えば前述したように、各サンプリング時点毎にランダム信号ＯＳをバッファ素子８によって検出し、それをランダムビットＺＢとして出力することも可能である。この信号は例えばシフトレジスタ９へ供給される。所定の数のサンプリング時点の後ではシフトレジスタ９内にランダムビットシーケンスが存在する。代替的に、図１では詳細には示されていないが、このシフトレジスタをクロック信号ＣＬＫによって駆動することも可能である。乱数発生器１の出力側１１からは二進化された乱数ＺＺが取り出し可能である。それらの二進数字は例えばクロック毎に読出しが可能である。
【００４１】
代替的にバッファ素子ないしフリップフロップ８も次のように構成することが可能である。すなわちランダム信号ＯＳの０から１ないしは１から０への変化毎に、バッファ素子８内部に記憶されているランダムビットＺＢの値を変更するように構成することも可能である。これにより、さらなる偶発的要素としてランダム信号ＯＳの変動若しくは振動の数もランダムビットの生成に利用され得る。サンプリングないしクロック信号ＣＬＫに依存して、無作為的に生成されたバッファ素子８内のレベル状態がランダムビットＺＢとして出力される。
【００４２】
さらに、固定点に達する危険性を避けるために、ランダムビットの発生毎に、リングオシレータ回路２をリセット若しくは再起動させるようにすることも考えられる。それにより有利にはリングオシレータ回路２のリセットないし初期化の際に、その開始状態、つまりリングオシレータ回路２内に用いられている全ての論理デジタル素子の論理レベルが１つの固定点状態に相応しないことが達成される。
【００４３】
以下では本願のランダムビットシーケンス発生装置へ用いるのに適したフィードバックパスを備えたリングオシレータ回路の例を詳細に説明する。
【００４４】
図２には、直列に接続された１６個の論理素子１２〜２７を有するリングオシレータ回路２が示されている。このケースではゼロ番目の論理素子がＮＡＮＤゲート１２として構成され、その他の論理素子１３〜２７はインバータ回路段として構成されている。この配置構成は、１６個の直列に配置されたインバーターゲートに相当している。それぞれの出力信号には符号Ｗ０〜Ｗ１５が付されている。第１の論理素子１２，すなわちＮＡＮＤゲート１２は２つの入力側３７と３８を有し、そのうちの第２の入力側３８がリングオシレータ回路２の入力ノード３に接続している。この入力ノード３には開始信号ＳＴが供給される。ＮＡＮＤゲート１２の出力側３９からは、ランダム信号ＯＳが取り出し可能である。この信号はリングオシレータ２の出力ノード４に供給される。
【００４５】
第１５番目、すなわち最後のインバータ２７の出力信号Ｗ１５は、外部フィードバック信号Ｒ１５として前記ＮＡＮＤゲート１２の入力側３７に供給される。この外部フィードバックパスＲの他にさらに第１のインバータ１３と、第３のインバータ１５と、第５のインバータ１５と、第８のインバータ２０と、第１１のインバータ２３と、第１４のインバータ２６の出力側からはそれぞれ出力信号Ｗ１，Ｗ３，Ｗ５，Ｗ８，Ｗ１１，Ｗ１４が取り出し可能であり、それらは潜在的フィードバック信号Ｒ１，Ｒ３．Ｒ５．Ｒ８．Ｒ１１．Ｒ１４として準備される。
【００４６】
フィードバック信号Ｒ１，Ｒ３，Ｒ５，Ｒ１１は加算器２９，３０，３１，３３を介して外部フィードバック信号Ｒ１５に加算され、これによって、不変の固定のフィードバックパスを形成している。同じように存在するフィードバック信号Ｒ８とＲ１４は、スイッチングデバイス２８を介してフィードバックパスとして切り替る。それに対してフィードバック信号Ｒ８とＲ１４は、スイッチングデバイス２８の入力側３４，３５に供給され、このスイッチングデバイス２８は、リングオシレータ回路２のスイッチング入力側５を介して供給されたスイッチング信号ＣＴ１に依存して、その出力側５１から切り換えられたフィードバック信号ＲＳを出力する。切り替えられたフィードバック信号ＲＳは、加算器３２を介して外部フィードバックパスＲ１５に加算される。この外部フィードバックパスＲ１５では加算器３３を介してフィードバック信号Ｒ１１が加算されている。加算器２９，３０，３１，３２，３３として示されている構成素子は論理ＸＯＲ素子に相応している。
【００４７】
スイッチングデバイス２８は、例えばマルチプレクサとして構成されていてもよい。それによりスイッチングデバイス２８を介して２つのフィードバックパスＲ８とＲ１４の間で切り替えが可能になる。リングオシレータ回路の作動中の切り替えによって、通常はランダムな発振又は振動が論理素子１２〜２７の縦続接続による信号パスにおいて生じ、それと同じような乱れも出現し、これによって第１の論理素子１２の出力側に生じるランダム信号ＯＳのさらなる無作為化が達成される。図２に示されているリングオシレータは実質的に長さ１６のフィボナッチリングオシレータに相当し、これは以下のフィードバック関数、
WO=NOT{W15 XOR[(W14 AND CT2) OR (W8 AND NOT CT2)] XOR W3 XOR W11 XOR W5 XOR W11 XOR W1}               Wi+1=NOT Wi
でもって表わすことができる。これにより、実質的にランダム信号ＯＳは完全にランダムな特性を得る。
【００４８】
図３には例示的に図２によるＦＰＧＡとして構成されたリングオシレータのランダム信号ＯＳの信号経過が示されている。この場合は、２つの生じ得るフィードバックパスＲ８とＲ１４の間の切り替えが１０ｎｓ毎に行われていることが前提となっている。このことは例えば適切なスイッチング信号ＣＴ１の形成を介して実施できる。例えばマルチプレクサ又はスイッチングデバイス２８のスイッチング入力側３６はスイッチング信号としての相応のクロック信号を供給され得る。図３に示されている信号経過は、時間ｔ（ｎｓ）に依存して示されている。この信号は電圧経過として任意の単位で描写されている。
【００４９】
この図からもわかるように、ここでは周期的な若しくは決定的な信号経過は見られない。異なるフィードバックパス間の切り替えによって、それぞれ生じる振動特性は図３に示されているように、偶発的な信号経過が発生するように乱されている。前述したようにこれらのランダム信号ＯＳの取り出し若しくはバッファによってそれぞれランダムビットが導出される。
【００５０】
図４にはリングオシレータの第２実施例２００が示されている。このリングオシレータ２００もフィボナッチリングオシレータであり、ここでは７つのインバータを伴って実施されている。このケースでも第１のインバータはＮＡＮＤゲート１２として構成されており、それに対して６つの直列接続されたインバータ１３〜１８が接続している。信号の流れについては図２で説明したものが当て嵌まる。基本的にこのリングオシレータ２００の構造は図２に示されているリングオシレータの第１実施例と類似している。ここでも同じ素子には新たな番号を付していない。
【００５１】
第１のインバータないしＮＡＮＤゲート１２の出力側からはランダム信号ＯＳが取り出し可能であり、それは出力ノード４に供給される。インバータ１３，１５，１７，１８の出力側からは、相応のフィードバック信号Ｒ１，Ｒ３，Ｒ５，Ｒ６が取り出し可能である。最後のフィードバック信号Ｒ６は外部フィードバック信号Ｒ１５として用いられ、ＮＡＮＤゲート１２の入力側３７に供給される。さらにフィードバックパスＲ１とＲ２は、スイッチングデバイス２８を介して相互に切り替えられ、そのため基本的に異なったフィボナッチリングオシレータ構成が生じる。フィードバック信号Ｒ３は、固定的に加算器ないしＸＯＲゲート３０を介して外部フィードバック信号Ｒ６に加算される。
【００５２】
スイッチング信号ＣＴ１に依存して、フィードバック信号Ｒ１またはフィードバック信号Ｒ５は切り替えられたフィードバック信号ＲＳとして加算器若しくはＸＯＲゲート２９を介して外部フィードバック信号Ｒ６に加算される。これにより、２つの可能なフィードバックパス、すなわち第１のインバータ１３からＮＡＮＤゲート１２の入力側３７までのフィードバックパス又は第５インバータの出力側からＮＡＮＤゲート１２の入力側３７までのフィードバックパスが生じる。
【００５３】
開始信号ＲＳのレベル切り替えによってリングオシレータ２００は起動され、無作為の発振を開始する。７つのインバータないし論理素子が設けられているだけなので、基本的に非常に高い発振周波数が生じ、これは例えばＮＡＮＤゲートの出力側からランダム信号として取り出し可能である。安定した固定点若しくは振動が生じ得ることを避けるためにここでも比較的高い周波数でもってフィードバックパス間の切り替えが行われる。このことはスイッチング信号ＣＴ１の周期、クロックないしは周波数の設定によって生じ得る。
【００５４】
図５にはリングオシレータ２００のランダム信号に対する図３に類似の信号経過が示されている。この図５に示されている特性曲線は２つの代替的フィードバックパスＲ１とＲ３の間で１００ｎｓ毎に切り替えが行われているケースに相応している。ここでは例えば５０ｎｓと１２０ｎｓの間の領域において、ほぼ周期的な振動が生じているのがわかる。そのつどの別のフィードバックパスへの切り替えによって、すなわち当該フィボナッチリングオシレータの振動特性の１２５ｎｓのところにおける変化によって、ほぼ周期的な特性に乱れが生じる。それにより、偶発的に生じる信号経過への比較的高いエントロピーが生じる。この例示的な周期的切り替えによって、前述したようにランダムビット値の生成に適したランダム信号ＯＳの複雑でかつ非周期的な特性が得られる。
【００５５】
出願人の試行結果によれば、特に７つ以上の論理素子のカスケード接続によるリングオシレータ回路のケースにおいて、無作為性の高い信号品質が確実に得られることがわかった。しかしながら１０個よりも多く論理素子を設けることも有利である。
【００５６】
図６にはリングオシレータ回路のさらなる実施例２０１が示されている。このケースでは、８つのＮＡＮＤゲート４０〜４７が縦続接続されて設けられている。これらのＮＡＮＤゲート４０〜４７の各々の入力側の１つには、開始信号ＳＴが印加されている。この場合０番目のＮＡＮＤゲート４０の出力側から供給されるランダム信号ＯＳが内部フィードバック信号Ｒ０として用いられる。第１のＮＡＮＤゲート４１の出力側からのさらなるフィードバック信号Ｒ１は、フィードバック信号Ｒ６によって形成される外部フィードバックパスとは別のさらなるフィードバックパスを実現する。前述したそれぞれのフィードバック信号Ｒ０、Ｒ１はＸＯＲゲート４８，４９を介して加算される。
【００５７】
さらに２つの可能な代替的フィードバックパスが設けられ、それらは第４及び第５ＮＡＮＤゲート４４，４５の出力側から得られる信号Ｒ４，Ｒ５を供給する。マルチプレクサ２８によって、スイッチング信号ＣＴ１に依存して供給される切り替え可能なフィードバック信号ＲＳとしてのフィードバックは、フィードバック信号Ｒ４又はＲ５によって生じている。開始信号と論理素子としてのＮＡＮＤゲートの利用によって、状態０から１への変更のもとで、すなわち開始信号ＳＴの上昇縁のもとで、リングオシレータ回路２０１が作動若しくは起動される。
【００５８】
図７には、本発明によるランダムビットシーケンス発生方法の専ら例示的なフローチャートが概略的に示されている。既に前述したように、この方法は特にランダム信号生成のための図２，４，または６の実施例によるリングオシレータに適している。任意の準備ステップＳ０では、複数のフィードバックパス間での切り替えが可能なように構成された相応のリングオシレータが準備される。
【００５９】
基本的に相互に時間的に依存することなく実施される方法ステップＳ１１，Ｓ１２及びＳ１３において、リングオシレータ、例えば図２によるリングオシレータがステップＳ１１では開始され、ステップ１２ではランダム信号ＯＳがサンプリングされ、その結果としてランダムビット値が導出される。この導出は後続のステップＳ２で行われる。これらのステップに平行して所定の時点では、潜在的に存在するフィードバックパス間の切り替えがステップＳ１３において連続的に行われる。
【００６０】
所定のないしはランダム信号ＯＳから例えばステップＳ２において導出されたランダムビットからは、引き続きステップＳ３においてランダムビットシーケンスが生成される。このランダムビットシーケンスは、二進化された乱数に相応し、これはさらなる利用のために供給される。
【００６１】
既に前述したようにリングオシレータの起動は、時間に依存することなくランダム信号ＯＳのサンプリングと異なるフィードバックパス間の切り替えを引き起こし得る。この切り替えは、ランダム信号のサンプリングよりも頻繁に起すことが可能である。既に図１においても説明してきたように個々のランダムビットのサンプリングと導出に関しては多くの変化例が可能である。基本的に、第１のフィードバックパスから第２のフィードバックパスへの切り替えの頻度は、一時的に安定した周期的振動が何も存在しないように選択することが可能である。それらは例えば先行的に行われた実験の結果やシミュレートによって求めることも可能である。基本的に言えることは、リングオシレータ回路における論理素子の数が少なければ少ないほど、潜在的に生じる周期的な振動を中断させて乱れを生じさせるために必要な切り替え頻度は高くなる。
【００６２】
例示的に乱数発生器の形態で示された本発明によるリングオシレータ回路及び関連する方法ステップは、非常に少ないハードウエアコストのもとで信頼度の高い乱数発生を達成する。これらの乱数ないしランダムビットシーケンスは、安定した高い品質を達成することができ、例えば暗号化手段や認証アルゴリズムのケース、特にＲＦＩＤチップに対して高い信頼性のもとで用いることが可能である。
【図１】
2011520178.tif 000003
【図２】
2011520178.tif 000004
【図３】
2011520178.tif 000005
【図４】
2011520178.tif 000006
【図５】
2011520178.tif 000007
【図６】
2011520178.tif 000008
【図７】
2011520178.tif 000009
【国際調査報告】
2011520178.tif 000010
2011520178.tif 000011
2011520178.tif 000012
2011520178.tif 000013
2011520178.tif 000014
2011520178.tif 000015