JP6960697B2 - 乱数発生器 - Google Patents

乱数発生器 Download PDF

Info

Publication number
JP6960697B2
JP6960697B2 JP2020143443A JP2020143443A JP6960697B2 JP 6960697 B2 JP6960697 B2 JP 6960697B2 JP 2020143443 A JP2020143443 A JP 2020143443A JP 2020143443 A JP2020143443 A JP 2020143443A JP 6960697 B2 JP6960697 B2 JP 6960697B2
Authority
JP
Japan
Prior art keywords
random number
signal
number generator
generator according
multiplexing means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020143443A
Other languages
English (en)
Other versions
JP2021144672A (ja
Inventor
アドリアーン・ペーテルマンス
ヴラジーミル・ロジック
イングリッド・フェルバウヘーデ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Katholieke Universiteit Leuven
Original Assignee
Katholieke Universiteit Leuven
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Katholieke Universiteit Leuven filed Critical Katholieke Universiteit Leuven
Publication of JP2021144672A publication Critical patent/JP2021144672A/ja
Application granted granted Critical
Publication of JP6960697B2 publication Critical patent/JP6960697B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Description

本発明は、概して、乱数発生器の分野に関し、詳細には、ハードウェア真乱数発生器に関する。
乱数は様々な分野に応用されている。重要な応用分野の1つに暗号技術がある。乱数はセキュリティシステムにおいて秘密鍵を生成するために、チャレンジ・レスポンス・プロトコルのパラメータ、パディング値、マスク等として用いられ得る。他の応用分野としては、ゲーム(ダイスロール、カードシャッフル、ルーレット等)、信号処理及び画像処理、金融及び科学システムのモデリング等がある。乱数発生器はこのような応用分野で用いられる。真乱数は、ランダム性の源として機能する物理的なノイズ源から生成され、予測不可能であり、従って周期性を持たない。
例えばフィールドプログラマブルゲートアレイ(FPGA)等の再構成可能ハードウェアデバイスにおいて真乱数発生器(TRNG)を実装することは、設計者が利用可能なTRNG固有のリソース及び技術が限られているため、困難である。FPGA等のハードウェアデバイスにおいてはデジタルリソースのみが利用可能のため、このようなTRNGの設計は通常、メモリエレメントのメタスタビリティ、又はフリーランニングオシレータのタイミングジッタの、2つの可能なノイズ生成プロセスのうちの1つに基づいて行われる。メタスタビリティは確率的特性が良好だが、メタスタビリティ状態に至るイベントのタイミングにおける正確な制御が求められる。この要件により、この種類のTRNGは設計が難しく、実世界への応用は実用的ではない。
従って、再構成可能ハードウェアデバイス上における実装のために調整されたTRNGの設計は、ほとんどの場合、エントロピ源としてタイミングジッタを用いる。しかしながら、このアプローチを採用する場合も、設計者は実装の実質的な課題に直面する。TRNG設計者は、異なるFPGAファミリ又はベンダ間におけるエントロピ源の移植性、さらに重要なこととして、同一の再構成可能ハードウェアデバイス間における設計の再現性等、追加の設計制約に対処する必要がある。すべてのディープサブマイクロメーターCMOS技術に存在するプロセスバリエーションのため、製造されたデバイスはそれぞれ独自の特性を持つ。ジッタベースのTRNGの場合、これらのプロセスのばらつきは、主にロジックのタイミング遅延のばらつきで表現される。出力で最小レベルのエントロピ密度を実現するために、特定のTRNG設計では、タイミング遅延のばらつきをある上限値以内に抑える必要がある。例えばFPGA実装等では、TRNG回路を構成するプリミティブ(基本的な構造ブロック)の物理的な配置及び配線を設計者が非常に限定的に制御できるため、低タイミング遅延変動を実現することは容易ではない。
TRNGは通常、手動でのセットアップ又は配置及び配線の制約を要求する。例えば、自己時限リングオシレータ(STR)又は遅延チェーンをベースにした設計では、FPGAファミリ毎にセットアップを行わねばならない配置制約を必要とし、これらの設計の移植性が制限される。加えて、一部のエントロピ源は、FPGA上のすべての場所で正しく動作するわけではない。従って、適切な配置が見つかるまで、個々のデバイス毎に検索手順が必要となる。
従って、良好な移植性を達成するために、TRNG設計は、好ましくは、任意の最高性可能なハードウェアデバイスで利用可能な基本的なハードウェアプリミティブのみを用いて構築される。従って、これらの設計は、好ましくは、ロジックとメモリの実装にそれぞれルックアップテーブル(LUT)及びフリップフロップ(FF)といったコンポーネントのみを必要とする。これらの制約を満たす設計が利用可能である。そのような設計の1つに、コヒーレントサンプリングリングオシレータベースTRNG(COSO−TRNG)がある。COSO−TRNG実装は、最小限のチップ面積で1メガビット毎秒のスループットを達成できると説明されている。このようなTRNG設計のエントロピ源は、2つの同一設計されたリングオシレータ(RO)から構成される。しかしながら、プロセス及びインターコネクトの遅延にはばらつきがあるため、FPGAのような再構成可能デバイスの2つのROの周期を一致させることは非常に難しい。このため、2つのよく一致したROが偶然見つかるまで、検索手続きを適用する必要がある。この手続は同じFPGAファミリからのデバイスであったとしても各デバイスに対して繰り返されねばならず、この手間のため最新のCOSO−TRNG実装は実用的ではない。
従って、良好な移植性及び再現性を確保するために基本的な構成要素のみが採用される乱数発生器が必要とされている。
本発明の実施形態の目的は、生成器の設計労力を大幅に削減することを可能にするエントロピ源からなる真乱数発生器を提供することである。
上記の目的は、本発明に係る解決手段により達成される。
第1の態様において、本発明は、乱数発生器であって、
第1の遅延値を入力信号に適用して第1の信号を得るように配置された第1のデジタルデバイス、並びに、第1の遅延値から独立した第2の遅延値を入力信号に適用して第2の信号を得るように配置された第2のデジタルデバイスを備えるエントロピ源と、
第1及び第2の信号のうちの一方を基準クロックとして用いて他方の信号をサンプリングし、それによりサンプリングされた信号を得るように構成されたサンプリングユニットと、
基準クロックに対するサンプリングされた信号の遅延差の測定を実行する測定手段と、
サンプリングされた信号の測定された遅延差を監視し、計測された遅延差の値をチェックし、計測された遅延差に関する所与の条件が満たされたときに、構成信号を出力するように配置されたコントローラ回路と、
を備え、
第1及び第2のデジタルデバイスは、複数の連続するステージをそれぞれ備え、ステージの各々は、それぞれ第1及び第2の遅延を用いて第1及び第2の信号を生成するのに貢献し、ここで、各デジタルデバイスには、少なくとも2つの並列な多重化手段を備える少なくとも1つのステージ、第1及び第2の信号をそれぞれ出力する1つの多重化手段を備える出力ステージであって、第1及び第2の信号は対応する先行ステージの少なくとも2つの並列な多重化手段のうちの1つにより出力された信号である、出力ステージ、並びに、少なくとも2つのイネーブル回路を備える1つのステージが存在し、イネーブル回路は、外部のイネーブル信号及び入力信号を受け取って少なくとも少なくとも2つの多重化手段を有するステージに入力信号を転送するように配置され、少なくとも2つの多重化手段の各々は少なくとも2つのイネーブル回路の各々に接続されかつ先行ステージからの入力信号を選択するための構成信号をコントローラ回路から受け取るように配置されている、
乱数発生器に関する。
提案された解決手段により、コントローラ回路が2つのデジタルデバイス間の「良好な」マッチングを得るための検索を操作するため、設計の労力を大幅に削減することが可能となる。コントローラ回路は、デジタルデバイスのマッチングを監視し、監視された遅延差の値をチェックし、例えばそれらが所定の境界値の間にあるか否かを確認する。例えばサンプリングされた信号の基準クロック信号と比較した遅延差の値が所定の数だけ連続して所定の境界値の外にあるのが発見されて所与の条件が満たされると、コントローラ回路は、適用された構成を変更、即ちデジタルデバイスのマルチプレクサ構造を介して他の利用可能なパスを活性化するために、エントロピ源中のデジタルデバイスの少なくとも1つに構成信号を送信する。その後、乱数を導出するために、周期長の測定値の最下位ビットを用いることができる。
好適な実施形態において、第1及び第2のデジタルデバイス(11,12)のうちの少なくとも1つは、1つ以上のさらなるステージ(15)を備え、当該ステージはそれぞれ少なくとも2つの多重化手段を備え、ここで、少なくとも2つの多重化手段は先行ステージの少なくとも2つの多重化手段にそれぞれ接続される。好ましくは、第1及び第2のデジタルデバイスの両方が、1つ以上のさらなるステージを備える。
本発明の実施形態において、第1及び第2のデジタルデバイスはオシレータであり、第1及び第2の信号は異なる周波数を有する。有利には、オシレータはリングオシレータである。
好適な実施形態において、構成信号は、少なくとも2つの並列な多重化手段を備える少なくとも1つのステージの複数の多重化手段に適用される。
別の実施形態において、上記の値に関する所与の条件は、所定の範囲外の値が所与の数だけ連続して得られたことである。
一実施形態において、サンプリングユニットは、データフリップフロップを備える。
好適な実施形態において、イネーブル回路は論理NANDゲートを備える。
一実施形態において、多重化手段は組み合わせ論理回路を備える。
ある実施形態において、コントローラは、前記計測された遅延差の前記値が所与の範囲内にあるか否かをチェックするのに適合している。
いくつかの実施形態において、先述の乱数発生器は、再構成可能なハードウェアデバイス上で実装される。有利には、当該再構成可能なハードウェアデバイスは、フィールドプログラマブルゲートアレイである。
他の実施形態において、先述の乱数発生器は、特定用途向け集積回路として実装される。
本発明と、先行技術に対して達成された利点とを要約する目的で、本発明の特定の目的及び利点が上述の本明細書に記載される。当然ながら、必ずしも全ての目的又は利点が、本発明の任意の特定の実施形態に従って達成され得るわけではないことは理解される。従って、例えば、当業者は、本明細書で教示又は示唆される他のオブジェクト又は利点を必ずしも達成することなく、本明細書で教示された1つ以上の利点を達成又は最適化するようなやり方で本発明を具体化又は実施し得ることが認識される。
本発明の上記及び他の態様は、以下に記載の実施形態を参照することで明らかになり、解明される。
本発明は、例示的なやり方で、添付の図面を参照しながら説明される。ここで、様々な図において、同様の参照番号は同様の要素を指す。
本発明に係る乱数発生器のハイレベルブロックスキームを示す図 エントロピ源に含まれるデジタルデバイスの実施形態を示す図 エントロピ源に含まれるデジタルデバイスの実施形態を示す図 マッチされたデジタルデバイスに対する需要を説明するための、悪いマッチングの場合の図 マッチされたデジタルデバイスに対する需要を説明するための、良いマッチングの場合の図 タイミング遅延Δに対する最小エントロピ曲線及びHTP曲線の例を示す図 コントローラ内で実行されているアルゴリズムの可能な実装の単純化された疑似コードを示す図
本発明は、特定の実施形態について、特定の図面を参照しながら記載される。しかしながら、発明はそれにより限定されず、請求項によってのみ限定される。
さらに、本明細書及び特許請求の範囲における「第1の」「第2の」等の用語は、類似の要素を区別するために用いられており、時間的、空間的、順位的、又は他のどのようにも、必ずしも順序を記述するために用いられているわけではない。そのように用いられる用語は、適切な状況下で交換可能であり、本明細書に記載された本発明の実施形態は、本明細書に記載又は図示された実施形態とは異なる順序で動作可能であることが理解される。
特許請求の範囲で用いられる「含む(備える)」という用語は、その後に記載された手段に限定されると解釈されるべきではなく、他の要素又はステップを除外しないことには注目すべきである。従って、それは、言及されているような記載された特徴、整数、ステップ又は構成要素の存在を特定していると解釈されるべきであるが、1つ以上の他の特徴、整数、ステップ若しくは構成要素、又はそれらのグループの存在若しくは追加を除外しない。従って、「手段A及びBを含む(備える)デバイス」の表現の保護範囲は、構成要素Aのみ、及び構成要素Bのみから構成されるデバイスに限定されるべきではない。それは、本発明に関して、デバイスの関連する構成要素がA及びBのみであることを意味する。
本明細書全体を通して、「一実施形態」又は「ある実施形態」の記載は、実施形態に関連して記載された特定の特徴、構造又は特性が、本発明の少なくとも1つの実施形態に含まれていることを意味する。従って、本明細書中の様々な箇所における「一実施形態において」又は「ある実施形態において」の記述の出現は、必ずしもすべてが同じ実施形態を指すわけではないが、同じ実施形態を指すこともあり得る。さらに、特定の特徴、構造、又は特性は、本開示から当業者に明らかとなるように、1つ以上の実施形態において、任意の適切なやり方で組み合わせられ得る。
同様に、本発明の例示的な実施形態の説明において、開示を合理的なものとし、様々な発明の形態の1つ以上の理解を助ける目的で、本発明の様々な特徴を単独の実施形態、図面、又はその説明にまとめて記載することがあることは理解されるべきである。しかしながら、この開示のやり方は、請求項の発明が、各請求項で明示的に記述されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、以下の請求項に反映されているように、発明の形態は、開示された単一の実施形態のすべての特徴よりも少ない特徴の中に存在する。従って、詳細な説明に続く請求項は、各請求項が本発明の別個の実施形態として独立しているものとして、ここに明示的に本明細書に組み込まれる。
さらに、本明細書に記載のいくつかの実施形態は、他の実施形態に含まれるいくつかの(ただし他の特徴ではない)特徴を含むが、異なる実施形態の特徴の組み合わせは、当業者に理解されるように、発明の保護範囲に含まれ、異なる実施形態を形成することが意図されている。例えば、以下の請求項において、請求された実施形態のいずれかを任意の組み合わせで用いることができる。
本発明の特定の特徴又は態様を記載する際の特定の用語の使用は、本明細書において、その用語に関連する本発明の特徴又は態様の任意の特定の特性を含めるよう限定されるように用語が再定義されていることを示唆すると取られるべきではない。
本明細書で提供される説明において、多数の具体的な詳細が記載される。しかしながら、本発明の実施形態は、これらの特定の詳細なしに実施され得ることは理解される。他の実施例では、本明細書の理解を曖昧にしないために、周知の方法、構造及び技術は詳細には示されていない。
本発明は、特にエントロピ源の設計が様々な興味深い利点を提供する真乱数発生器を提案する。これにより、複雑なシステムにエントロピ源を簡単に統合することが可能になる。さらに、これにより再構成可能ハードウェアデバイス上における自動配置を行うことが可能となり、ある再構成可能ハードウェアデバイスのファミリから別の再構成可能ハードウェアデバイスのファミリに容易に移植することができる。また、これは乱数発生器のASIC実装にも適用できる。
図1は、本発明に係る乱数発生器(1)の高レベルスキームを示す。エントロピ源(3)は、第1の信号(17)及び第2の信号(19)を出力する。エントロピ源の設計では、真のランダム性を達成するために、2つの出力信号の動的タイミング遅延変動が利用される。エントロピ源は、エントロピ源から出力される信号のうちの1つをそれぞれ生成する2つのデジタルデバイス(11,12)を備える。ある実施形態において、デジタルデバイスは、デジタル遅延ラインとして実装される。各デジタルデバイスは、例えば入力クロック信号等の信号エッジを受信する。これはその後、遅延ライン内で所定量の時間(サンプルの対応する数(整数か否かに関わらず)としても表され得る)にわたり遅延される。しかしながら、クロック信号及びデジタル遅延ラインに存在する非決定性ジッタのため、各デジタルデバイスにより出力される信号は、非決定性遅延を有する。
図2は、エントロピ源のデジタルデバイスのある実施形態を示す。構成可能デジタルデバイスは、連続する複数のステージを用いて構築される。最小セットアップにおいて、デバイスは即ち、複数のイネーブル回路を備えるステージ(14)と、それに続いて複数の多重化手段を含むステージ(15)と、及び、先行ステージのマルチプレクサにより出力された信号から1つをデジタルデバイスの最終出力信号として選択する1つの多重化手段を含む出力ステージ(16)と、を含む。好適な実施形態において、複数の多重化手段を含むステージは複数存在する。最終ステージ(16)を除き、デジタルデバイスの各ステージは、並列に配置された複数のブロック(即ち、イネーブルステージではイネーブル回路、多重化ステージでは多重化手段)を含む。各イネーブル回路は、その出力が、後続のステージの様々な多重化手段の入力に接続されている。所与のあるステージにおける各多重化手段は、その入力が、先行ステージの異なるマルチプレクサの出力(又はイネーブル回路の出力)に接続される。好適な実施形態において、多重化手段は、組み合わせ論理回路として実装される。
図2に示す実施例において、各ステージは複数の並列ブロック(例えば4ブロック)を含む。複数の並列多重化コンポーネントを含む多重化手段のステージ(15)はn個あり、従って、イネーブル回路のステージ(14)及び、1つの多重化手段を含む出力ステージ(16)と合わせて、1つのデジタルデバイスは合計n+2個のステージを有する。先述の通り、nの最小値は1に等しい。例えば4つの並列ブロックを持つトポロジの例は、エントロピ源の単一のデジタルデバイスにおける多重化ステージの構造を通る4n+1通りのパスを実現する。各遅延ライン要素は、いくつかの追加のジッタを導入する。これにより、各パスは、ジッタにより生じる変動性のため、わずかに異なる量の遅延を有する信号に帰結する。図2のようなアーキテクチャを有するエントロピ源には2つのそのようなデジタルデバイスが2つあるため、合計(4・4)個の組み合わせが可能である。従って、2m個のブロックを並列に配置した一般化したケースでは、(2m(n+1)通りのパスがある。
より一般化したケースにおいて、同じステージにおける異なるマルチプレクサへの入力が同一の構成信号に接続されている必要はない。2個のイネーブルゲートの各々は異なる入力を受け取ることができ、最後の多重化ステージからの2個の出力の各々が、出力ステージ(図示なし)により出力され得る。これが、図3に示すようなスキームとなる。この構成により、2nm2^m個の固有構成が可能となり、それらは2個の固有遅延ラインを構成し得る。
エントロピ源がどのように構成されるかを説明するために、先に図1の高レベルスキームの残りの部分を議論する必要がある。サンプリングユニット(5)において、エントロピ源から出力された遅延クロック信号のうちの1つが、基準クロックとしての他の遅延クロック信号を用いてサンプリングされる。これは図4に示される。結果のサンプリングされた信号は、低周波信号となる。サンプリングされた信号の基準クロック信号に対する遅延の差異が、測定手段(7)により測定される。エントロピ源の2つのデジタルデバイスにおける独立したランダムジッタのため、測定手段の結果(即ち測定された遅延差)は離散ランダム変数である。いくつかの実施形態において、測定手段は、サンプリングユニットにより用いられるのと同じクロック信号を用いるカウンタである。得られた離散ランダム変数は、可能な限り高い分散を有することが望ましい。一方で、分散はスループットに悪影響を及ぼすため、高すぎてはならない。その後、測定された周期長のうち最も小さいビットを、ランダムデータを生成するために用いることができる。図4は、上側のグラフが不一致デバイスを有するシナリオを示し、下側のグラフが一致デバイスを有するシナリオを示す。図4Aの例において、信号はそれぞれ255MHz及び400MHzの周波数を有するが、サンプリングされた信号は依然比較的高い周波数を有し、測定された値は小さい。対して図4Bでは、第1の信号の周波数は385MHzまで増加している。このよりよい一致により、サンプリングされた信号(Sbeat)がより低い周波数を有し、測定手段により得られた測定された遅延差(周期長)measがより大きくなっていることが容易に見て取れる。しかしながら、サンプリングされた信号の1周期あたり1つのランダムビットのみが出力されるため、よりよい一致によりスループットが低下する。従って、スループットはエントロピとのトレードオフになり、これら2つの量の間のバランスを見つけねばならない。
基準クロック信号と比較して、サンプリングされた信号の遅延差は、測定値に対するサンプリングされた信号の周期長における変化としても見て取れる。従って、以下の説明において量measは、遅延差ではなく周期長として解釈され得る。
十分に高い分散を得るためには、一致したデジタルデバイスが必要であり、従ってそれらの遅延タイミング値の比率を正確に制御できる必要がある。ここに例を示す。デバイスを一致させると、測定された信号の周期長が増加し、測定値も高くなる。ランダム変数measの平均及び分散は、以下の式で示される。
Figure 0006960697
Figure 0006960697
ここで、Tdev0及びTdev1は、エントロピ源から出力される信号の周期長を示す。これら2つの信号の間の周期差Δの平均及び分散は、以下の式で示される。
Figure 0006960697
Figure 0006960697
生成されたビットあたりのエントロピを計算するために、測定手段からの信号の統計的分布を知る必要がある。この分布を計算するために、サンプリングされた信号の平均周期長E[Tdev0]、平均周期長差E[Δ]、ジッタ強度Var[Tdev0]/E[Tdev0]が変数として用いられる。ランダム変数Tdev0及びTdev1は独立かつガウス分布であると仮定する。さらに、両方の信号の分散は等しいと仮定する(Var[Tdev0]=Var[Tdev1])。これは、これらが同じ技術で実装されており(同じジッタ強度を持つ)、周期差E[Δ]が小さいからである。計算された分布から、ゼロ/ワン(p0/p1)の確率は、以下の式で推定される。
Figure 0006960697
最小エントロピは、以下のように計算される。
Figure 0006960697
スループットTは、以下の式と等しい。
Figure 0006960697
既に示した通り、スループットは、2つのデジタルデバイスが厳密に一致したとき、エントロピとトレードオフとなる。従って、最小エントロピ−スループット積(HTP)を、良好なエントロピ/スループットペアを見つけるための指標として用いることができる。上述の式により、HTPを推定することができる。図5はその例を示す。上側の曲線は、最小エントロピを示す。TRNGのためのAIS 31規格によると、この最小エントロピは0.91より高くあるべきである。これに適合する領域が、図中で陰付きになっている。この条件を満たす最小周期長の値の点を縦線で示す。測定された周期長の全ての値、又は、下の曲線においてその右側の周期長Δの全ての値が、AIS−31規格に適合した構成を提供する。しかし、下側の図にも反映されているように、さらに右にある構成はスループットが低下し、従ってあまり望ましくはない。スループットを最大化するためには、縦線に近い構成、好適にはそれに可能な限り近づけた構成が望ましい。図5のHTP曲線ではE[Δ]の特定の値に対して、最大HTP値が達成され、これは、一方では十分なエントロピを提供するための長い蓄積時間と、他方では高いスループットの維持との間の、最良のトレードオフを示す。米国NIST 800−90B規格は、AIS−31規格のように生成される最小エントロピに厳密な制限を定義してはいない。最小エントロピの限定は、むしろアプリケーションにより用いられる後処理に依存する。本発明に係る解決策は、コントローラ入力L及びHを変更することにより、この境界の柔軟な調整を提供する。
図1に示すように、コントローラ(9)は、測定手段により出力された信号measを監視する。測定値は、例えば、所定の境界L,Hの範囲兄に収まっているかどうかがチェックされる。下界Lは、例えばAIS−31規格で設定された上述の最小エントロピ値0.91に対応する値であり得る。上界Hは、想定されるアプリケーションの最小スループット要件により決定され得る。このチェックが真であった場合、エントロピ源内のデジタルデバイスの同じ構成が維持される。他の場合、即ちLとHとの間の範囲内の値が見つからない場合、外れ値の数を数えるカウンタがインクリメントされる。所与の長さの連続した外れ値の列が見つかった場合、コントローラは更新された構成を選択し、対応する選択信号は、2つのデジタルデバイスの様々なマルチプレクサに送信されるか、又は、デバイスの構成設定のうちの1つだけを適合させる必要がある場合は、デジタルデバイスのうちの少なくとも1つに送信される。
図6は、コントローラ内で実行されるアルゴリズムの可能な実施形態を記載する単純化された擬似コードを示す。同一の目的を達成するための他のアルゴリズムが用いられ得ることは明白である。コントローラは、測定された信号が予め定義された境界L,Hの間の範囲にまだあるかどうかを監視し、必要に応じて新しいマルチプレクサの組み合わせ(Select)を選択する。E[meas]は、上述の式E[meas]=E[Tdev0]/E[Δ]を通じて、2つのデジタルデバイスのマッチング(E[Δ])に直接関連する。この特定の例において、構成設定を変更するための条件は、所与の長さ連続している境界L,Hの外側の値の列であることが仮定される。従って、127個の連続した「悪い」値が発生した場合、コントローラは、様々なステージの多重化手段の新しい設定を選択する。コントローラは、適切な構成が見つかるまで、可能な構成を順次実行していく。図5から、理想的な境界L,Hは、スループットを最大化して十分なエントロピを提供するように選択されねばならない。より小さい範囲[L;H)は、より精密な制御を可能にするが、適切な構成を見つけるためのコントローラの遅延を増加させる。
コントローラ内で実行されるアルゴリズムの他の実施形態において、新しい構成信号が選択される条件は、より厳密であってもよいし、より厳密でなくともよい。より肝要なアプリケーションは、上述の範囲外の値が1つ観測された後に新しい設定を要求し得る。他のアプリケーションでは、所定の範囲の外のより多くの値が許容され得る。新しい構成を選択する手順もまた、最適化され得る。コントローラは、可能性のある全ての構成を順次試すのではなく、それまでに観測された測定値に基づいて、望まないマッチングの発生が予測される特定の構成をスキップすることができる。
コントローラは、上述のように確率モデルを検証する構成を見つけるために、スタートアップ時に起動される。スタートアップの後、コントローラは測定手段の出力値を能動的にチェックし、必要に応じてデジタルデバイスを動的に再較正する。従って、本発明は、生成された値が所定の条件を満たすか否か(例えば所与のエントロピ範囲内に収まるか否か)をチェックするために、安価かつ簡単なテストを即座に実行することを可能にする。
図2又は図3に提案される乱数発生器におけるエントロピ源の構成可能な設計は、2つのデジタルデバイスのタイミング遅延(周期長)のマッチングを、例えばピコ秒オーダーの精度で制御することを可能にする。精度は、デジタルデバイスのステージ数及びゲート数に依存する。好適な実施形態において、遅延線を有するデジタルデバイスは、発振器として実装される。最も好適な実施形態において、デジタルデバイスはリングオシレータである。リングオシレータは、論理ゲートのカスケードのゲート遅延から形成される遅延線を用いる。
本発明の実施形態において、サンプリングユニットは、データフリップフロップとして実装され得る。他の実施形態において、サンプリングブロックは、トグルフリップフロップ(TFF)を用いて実装され得る。この場合、どの信号が最初に受信されたかを判断できるようにするために、フリップフロップ/ラッチが必要となる。
コントローラは、様々なやり方で実装され得る。一実施形態において、コントローラは有限状態機械として実現される。他の実施形態において、コントローラは、例えばマイクロコントローラ上で実装され得る。いずれにせよ、コントローラにより導入される遅延を確実に低く保たねばならない。
有利な実施形態において、デジタルデバイスの第1のステージのイネーブル回路は、NANDゲートを用いて実装される。1つのNANDゲート入力は、外部信号であり得る。別の実施形態において、信号は外部ではなくコントローラからの信号である。第2の入力信号は、遅延信号である。いくつかの実施形態において、この遅延信号は、外部制御ロジック(例えば乱数発生器が使用されるアプリケーション)から来る信号であり得る。他の実施形態において、例えば後述のリングオシレータを用いる実装では、遅延信号は、複数の多重化手段を用いて、最終ステージの出力からフィードバックされる。さらに他の実施形態において、例えば遷移効果リングオシレータの設計では、遅延信号は、同様のデバイスの出力から来る信号である。いくつかの実施形態において、NANDゲートは、それぞれ1つのルックアップテーブル(LUT)により実装される。
サンプリングされた信号の遅延差(周期長)を測定するための測定手段は、サンプリングユニットが用いるクロック信号と同じクロック信号を受信するカウンタであり得る。例えば、8ビット又は16ビットの非同期カウンタが用いられ得る。カウンタは、新たなランダムビットが生成されるたびにリセットされる。
デジタルデバイスに多重化ステージをいくつ提供するかは、設計上の選択である。ステージ数が多いと、可能性のある構成の数が増え、十分なマッチングを見つける可能性が増加する。一部のFPGAデバイスにおける実験において、1つ又は2つの多重化ステージのみでは、図5の斜線領域(最小エントロピ要件を満たす領域)内に収まる測定周期長を得るのが困難な場合があることが示されている。多重化ステージが3つ以上あれば、当該領域内でより多くの測定値が得られる。さらに、多重化ステージが多ければ多いほど、より多くの領域が消費される。従って、特定のFPGAデバイスにおいて、3つの多重化ステージを備えるデジタルデバイスが最も好適であり得る。
本発明の真乱数発生器のいくつかの実施形態において、エントロピ源の2つのデジタルデバイスは同じステージ数を有する。これは、望まれる遅延比率が1に近い場合に有利である。しかしながら、目標とする比率の一致が1と異なる他の実施形態において、2つのデジタルデバイスの数は異なる。
本発明に係る乱数発生器は、好ましくは、フィールドプログラマブルゲートアレイ(FPGA)等の再構成可能なハードウェアデバイス上で実現される。本発明に係る解決手段は、乱数発生器の実装に必要となるのがLUT及びフリップフロップ等の基本的な構成ブロックのみであるという利点を提供する。従って、この解決手段は、再構成可能なハードウェアデバイスの1つのファミリから別のファミリへと容易に移植可能である。
また、FPGAに基づく有利な実施形態において、マルチプレクサはLUTで実装され得る。例えば、図2又は図3に示すように、4入力のマルチプレクサの場合、6入力のLUTが用いられ得る。いくつかの実施形態において、マルチプレクサは組み合わせ回路として実現され得る。
有利な実施形態において、FPGAベースの設計は、リングオシレータを用いる。得られた実施例として、コヒーレントサンプリングリングオシレータベースのTRNG(COSO−TRNG)、エレメンタリーリングオシレータベースのTRNG(ERO−TRNG)、遷移効果リングオシレータベースのTRNG(TERO−TRNG)、又は、セルフタイミングリングオシレータベースのTRNG(STR−TRNG)等がある。
さらに、提案された解決手段は、チップ状の乱数発生器の広域配置(システム内の他の機能ブロックに対する位置)にかなりの柔軟性を提供する。チップ状の様々な位置において、エントロピ源のデジタルデバイスは一致され得る。これは、デジタルデバイス間で十分に一致するFPGAの位置を手動で見つけるために大規模な設計努力を必要としていた従来の解決手段と比較して、大きな利点である。製造されたデバイス毎に繰り返さねばならなかった当該設計努力は、提案された乱数発生器では不要となる。
提案された解決手段の利点の1つは、局所的な配置制約が不要、即ちエントロピ源を構成する個々のコンポーネントの相対的な位置及びルーティングが不要という点である。これにより、標準的なデジタル設計フローを用いて、最終的なアプリケーションを構成するデジタルロジックの残りの部分と一緒に提案された解決手段を実装することが可能となる。これにより、乱数生成の専門家でない設計者は、ランダム性生成回路の設計と広汎に関係する実装詳細から切り分けられる。この特性は、必要なマッチング結果を得るために回路を手動で配置及び配線していた従来の解決手段とは対照的である。
本発明に係る真乱数発生器は、必ずしも再構成可能なハードウェアデバイス上で実現される必要はない。特定の実施形態において、デバイスはASIC上で実装され得る。フルカスタムASIC設計及び標準セルASIC設計の両方が考えられる。フルカスタムASIC設計において、提案された回路は完全にデジタルであり、さらなるCMOSスケーリングの恩恵を受けることができる。これは、面積/エネルギー比率の点でより最適な他の解決手段とは対照的である。
本質的に、本発明の乱数発生器は、例えばFPGAファブリックに実装された2つのデジタルデバイスの自動遅延マッチング(又は周波数マッチング(これらは同じ意味))を可能にする。オンチップのコントローラアルゴリズムは、タイミング遅延の点で厳密に一致する2つのデジタルデバイスが得られる構成を見つけるまで、上述のように、様々な構成を順次試行する。構成設定が多数存在するため、パス伝搬遅延は最低で数ピコセカンド分解能で制御され得る。
本発明は、図面及び上述の説明において詳細に図示及び説明されてきたが、これらの図示及び説明は、例示又は例示的とみなされるべきであり、限定的ではない。上述の説明は、本発明の特定の実施形態を詳述する。しかしながら、上述の説明が文面でどれだけ詳細に示されていても、本発明は多くの方法で実施され得ることは理解される。本発明は、開示された実施形態に限定されない。
開示された実施形態に対する他の変形例は、図面、開示、及び添付の特許請求の範囲の検討から、当業者により理解され、効果を得られる。特許請求の範囲において、「構成する」「備える」の語は、他の要素又はステップを除外せず、「ある」「1つの」は、複数を除外しない。単一のプロセッサ又は他のユニットは、特許請求の範囲に引用された複数の物品の機能を果たし得る。特定の手段が互いに異なる従属請求項で引用されているというだけの事実は、これらの手段の組み合わせが有利に用いられ得ないことを示さない。コンピュータプログラムは、光記憶媒体又は他のハードウェアとともに、又は他のハードウェアの一部として提供される個体媒体等の適切な媒体に保存/配布され得るが、インターネット又は他の有線/無線の通信システムを介して配布されるような他の形態でも配布され得る。特許請求の範囲に記載の参照符号は、その範囲を限定すると解釈されるべきではない。
本願につながる本プロジェクト欧州連合(EU)のERCアドバンスドグラントカセドラルプロジェクト(Advanced Grant Cathedral project)から、グラント契約番号第ERC−2015−AdG 695305号の元で資金提供を受けている。

Claims (14)

  1. 乱数発生器(1)であって、
    第1の遅延値を入力信号に適用して第1の信号(17)を得るのに適合した第1のデジタルデバイス(11)、並びに、前記第1の遅延値から独立した第2の遅延値を前記入力信号に適用して第2の信号(19)を得るのに適合した第2のデジタルデバイス(12)を備えるエントロピ源(3)と、
    前記第1及び第2の信号のうちの一方を基準クロックとして用いて他方の信号をサンプリングし、それによりサンプリングされた信号を得るように構成されたサンプリングユニット(5)と、
    前記基準クロックに対する前記サンプリングされた信号の遅延差の測定を実行する測定手段(7)と、
    前記サンプリングされた信号の前記測定された遅延差を監視し、前記測定された遅延差に関する所与の条件が満たされたときに構成信号を出力するのに適合したコントローラ回路(9)と、
    を備え、
    前記第1及び第2のデジタルデバイスは、複数の連続するステージをそれぞれ備え、前記ステージの各々は、それぞれ前記第1及び第2の遅延値を用いて前記第1及び第2の信号を生成するのに貢献し、ここで、各デジタルデバイスには、少なくとも2つの並列な多重化手段を備える少なくとも1つのステージ(15)、先行ステージの前記少なくとも2つの並列な多重化手段のうちの1つにより出力された信号をそれぞれ前記第1又は第2の信号として選択する1つの多重化手段を備える出力ステージ(16)、並びに、少なくとも2つのイネーブル回路を備える1つのステージ(14)が存在し、前記イネーブル回路は、イネーブル信号及び前記入力信号を受け取って少なくとも前記少なくとも2つの多重化手段を有する前記ステージに前記入力信号を転送するように配置され、前記少なくとも2つの多重化手段の各々は前記少なくとも2つのイネーブル回路の各々に接続されかつ先行ステージからの入力信号を選択するための前記構成信号を前記コントローラ回路から受け取るように配置されている、
    乱数発生器。
  2. 前記第1及び第2のデジタルデバイス(11,12)のうちの少なくとも1つは、1つ以上のさらなるステージ(15)を備え、当該ステージはそれぞれ少なくとも2つの多重化手段を備え、ここで、前記少なくとも2つの多重化手段は先行ステージの前記少なくとも2つの多重化手段にそれぞれ接続される、
    請求項1に記載の乱数発生器。
  3. 前記第1及び第2のデジタルデバイスはオシレータであり、前記第1及び第2の信号は異なる周波数を有する、
    請求項1に記載の乱数発生器。
  4. 前記オシレータはリングオシレータである、
    請求項3に記載の乱数発生器。
  5. 前記構成信号は、前記少なくとも2つの並列な多重化手段を備える前記少なくとも1つのステージの複数の多重化手段に適用される、
    請求項1に記載の乱数発生器。
  6. 前記測定された遅延差に関する前記所与の条件は、所定の範囲外の値が所与の数だけ連続して得られたことである、
    請求項1に記載の乱数発生器。
  7. 前記サンプリングユニットは、データフリップフロップを備える、
    請求項1に記載の乱数発生器。
  8. 前記イネーブル回路は、論理NANDゲートを備える、
    請求項1に記載の乱数発生器。
  9. 前記測定手段(7)は、前記コントローラ回路に組み込まれている、
    請求項1に記載の乱数発生器。
  10. 前記多重化手段は、組み合わせ論理回路を備える、
    請求項1に記載の乱数発生器。
  11. 前記コントローラ回路は、前記測定された遅延差の値が所与の範囲内にあるか否かをチェックするのに適合している、
    請求項1に記載の乱数発生器。
  12. 再構成可能なハードウェアデバイス上で実装された、
    請求項1に記載の乱数発生器。
  13. 前記再構成可能なハードウェアデバイスは、フィールドプログラマブルゲートアレイである、
    請求項12に記載の乱数発生器。
  14. 特定用途向け集積回路として実装された、
    請求項1に記載の乱数発生器。
JP2020143443A 2020-03-12 2020-08-27 乱数発生器 Active JP6960697B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/817,130 2020-03-12
US16/817,130 US10761809B1 (en) 2020-03-12 2020-03-12 Random number generator

Publications (2)

Publication Number Publication Date
JP2021144672A JP2021144672A (ja) 2021-09-24
JP6960697B2 true JP6960697B2 (ja) 2021-11-05

Family

ID=72241354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020143443A Active JP6960697B2 (ja) 2020-03-12 2020-08-27 乱数発生器

Country Status (3)

Country Link
US (1) US10761809B1 (ja)
JP (1) JP6960697B2 (ja)
KR (1) KR102170985B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11615782B2 (en) * 2020-11-12 2023-03-28 Sony Interactive Entertainment Inc. Semi-sorted batching with variable length input for efficient training

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0582083A1 (en) * 1992-08-05 1994-02-09 Motorola, Inc. A method and apparatus for generating pseudo-random numbers
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
CN101076775A (zh) * 2004-10-15 2007-11-21 皇家飞利浦电子股份有限公司 具有真随机数发生器的集成电路
WO2006071380A2 (en) * 2004-11-12 2006-07-06 Pufco, Inc. Securely field configurable device
FR2899352B1 (fr) * 2006-03-29 2008-06-20 Eads Secure Networks Soc Par A Generateur de nombres aleatoires
DE102008003946A1 (de) * 2008-01-11 2009-07-23 Micronas Gmbh Schaltung und Verfahren zur Generierung einer echten, schaltungsspezifischen und zeitinvarianten Zufallszahl
DE102008018678B4 (de) * 2008-04-14 2011-02-03 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
JP5794741B2 (ja) * 2009-11-25 2015-10-14 アクララ・テクノロジーズ・リミテッド・ライアビリティ・カンパニーAclara Technologies LLC. 乱数発生器
US8841974B2 (en) * 2012-09-06 2014-09-23 Silicon Image, Inc. Test solution for ring oscillators
KR101987141B1 (ko) * 2013-03-04 2019-10-01 삼성전자주식회사 난수 발생기

Also Published As

Publication number Publication date
KR102170985B1 (ko) 2020-10-29
JP2021144672A (ja) 2021-09-24
US10761809B1 (en) 2020-09-01

Similar Documents

Publication Publication Date Title
Johnson et al. An improved DCM-based tunable true random number generator for Xilinx FPGA
Petura et al. A survey of AIS-20/31 compliant TRNG cores suitable for FPGA devices
Cherkaoui et al. A very high speed true random number generator with entropy assessment
US9377997B2 (en) Random number generator
CN106293617A (zh) 真随机数发生器
US7236557B1 (en) Counter-based clock multiplier circuits and methods
JP2007108172A (ja) 半導体回路のオンチップ特性を測定するための装置及びそれに関する方法
Wieczorek Lightweight TRNG based on multiphase timing of bistables
WO2011085139A2 (en) Method and apparatus for increasing distribution of jitter within a random number generator
JP6960697B2 (ja) 乱数発生器
Mei et al. A highly flexible lightweight and high speed true random number generator on FPGA
Beer et al. Metastability challenges for 65nm and beyond; simulation and measurements
US20220100475A1 (en) System, method and apparatus for race-condition true random number generator
US20070040593A1 (en) Frequency divider and associated applications and methods
Mustapa et al. Frequency uniqueness in ring oscillator Physical Unclonable Functions on FPGAs
CN111124363B (zh) 一种真随机数生成方法及真随机数发生器
Cartagena et al. A fully-synthesized TRNG with lightweight cellular-automata based post-processing stage in 130nm CMOS
Yang et al. Extracting more entropy for TRNGs based on coherent sampling
Valtchanov et al. Enhanced TRNG based on the coherent sampling
Torii et al. Implementation and evaluation of ring oscillator-based true random number generator
Delvaux Refutation and Redesign of a Physical Model of TERO-based TRNGs and PUFs
Peetermans et al. Design and analysis of configurable ring oscillators for true random number generation based on coherent sampling
KR20150117775A (ko) 테스트 장치 및 그의 동작 방법
Kumar et al. Challenge-response generation using RO-PUF with reduced hardware
Wong et al. Timing measurement platform for arbitrary black-box circuits based on transition probability

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20200901

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201215

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210823

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211005

R150 Certificate of patent or registration of utility model

Ref document number: 6960697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150