JP5356362B2 - 乱数生成回路 - Google Patents

乱数生成回路 Download PDF

Info

Publication number
JP5356362B2
JP5356362B2 JP2010279262A JP2010279262A JP5356362B2 JP 5356362 B2 JP5356362 B2 JP 5356362B2 JP 2010279262 A JP2010279262 A JP 2010279262A JP 2010279262 A JP2010279262 A JP 2010279262A JP 5356362 B2 JP5356362 B2 JP 5356362B2
Authority
JP
Japan
Prior art keywords
output
ring oscillator
logic gate
sampling clock
input
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
JP2010279262A
Other languages
English (en)
Other versions
JP2012129784A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010279262A priority Critical patent/JP5356362B2/ja
Publication of JP2012129784A publication Critical patent/JP2012129784A/ja
Application granted granted Critical
Publication of JP5356362B2 publication Critical patent/JP5356362B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、デジタル論理ゲート回路からなるリングオシレータをもとに高い品質の真性乱数を低ゲートな回路構成で生成する乱数生成回路に関する。特に、電源のON/OFF制御機能を備えた乱数生成回路において、電源ON直後の生成乱数の品質を向上させるための技術に関する。
暗号技術をベースとするセキュリティ分野においては、乱数の生成が重要な役割を果たしている。チャレンジレスポンス認証や鍵共有など暗号技術において利用される乱数の条件として、予測不可能であることがあげられる。乱数の予測不可能性を根拠とする暗号技術への適用においては、自然界に存在する揺らぎ現象のようなランダム性を備えた物理現象を利用して乱数を生成する真性乱数生成回路が重要な役割を果たす。
非特許文献1に示す従来の真性乱数生成回路は、図10に示すように、奇数段のインバータからなる複数のリングオシレータの中間ノード出力のXOR(排他的論理和)を取り、その出力をD−FF(D型フリップフロップ)でラッチし、乱数値として出力する構成である。複数のリングオシレータは、発振周期に常に一定量のジッタを伴って互いに独立に自己発振しているため、これらの独立なリングオシレータの中間ノード値のXOR出力は、予測不可能なランダム性を備える。このXOR出力に対して、D−FFにより一定周期でサンプリング動作を行うことにより、予測不可能な真性乱数列を取り出すことができる。
ところで、乱数生成回路において乱数を生成する必要がない場合、消費電力をセーブするために回路動作を停止することが必要となる。この場合、例えばリングオシレータを構成する奇数個のインバータの1つをNANDゲートまたはNORゲートとしてゲーティングを行うことにより、リングオシレータの発振動作のON/OFFの制御を行うことができる。
Sunar B., Martin W., Stinson D.,"A provably secure true random number generator with built-in tolerance to active attacks", IEEE Trans. Computers 56(1), pp.109-119 (2007)
例えば、図11に示すようにNANDゲートを用いたリングオシレータでは、NANDゲートに入力する動作ON/OFF制御信号がLow のときにNANDゲート出力がHighに固定され、動作ON/OFF制御信号をLow からHighに切り替えると、NANDゲートがインバータとして機能して発振動作を開始する。ただし、このときの発振動作は、常にNANDゲートを起点として出力電位がHighの状態を初期状態として開始することになる。
発振動作の初期においては、電源ONの度に毎回NANDゲートを起点として同じ初期動作状態から回路動作を開始するため、リングオシレータの発振ジッタがまだ十分獲得できていない電源ON後のしばらくの間は、電源ONの度に毎回同じパターンの乱数列が発生する確率が高くなる傾向がある。この電源ON後の最初の数ビットが毎回同じ乱数列であるとすると、再現性がないという本来の真性乱数が満たすべき重要な条件に反し、チャレンジレスポンス認証等においてセキュリティの低下をもたらすと考えられる。このため、有効な乱数として外部へ出力する際に、電源ON後の最初の数10ビット、場合によっては 100ビット以上を破棄する必要がある問題があった。
また、高いサンプリング周波数の場合、サンプリング間隔が短くなるため、従来のフリーランニング動作を基本とするリングオシレータでは、サンプリング前後の生成乱数が互いになんらかの相関を持ってしまい、乱数品質が低下する問題がある。
本発明は、回路動作開始直後の初回サンプリングにおいてもランダム性の高い真性乱数を生成することができる乱数生成回路を提供することを目的とする。
第1の発明は、1以上のリングオシレータの出力を用いて乱数を生成する乱数生成回路において、少なくとも1つのリングオシレータは、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成され、各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、各論理ゲートの出力にそれぞれインバータが接続され、それらインバータのいずれか1つの出力を当該リングオシレータの出力とする構成である。
第2の発明は、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、第1のリングオシレータの中間ノード出力と第2のリングオシレータの中間ノード出力の排他的論理和をとる(M1+M2)入力XORと、(M1+M2)入力XORの出力をサンプリングクロックでラッチし、乱数値として出力するD−FFと、サンプリングクロックを生成する制御部とを備え、第1のリングオシレータを構成する各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である。
第3の発明は、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、第1のリングオシレータの中間ノード出力と第2のリングオシレータの中間ノード出力の排他的論理和をとる(M1+M2)入力XORと、(M1+M2)入力XORの出力をサンプリングクロックでラッチし、乱数値として出力するD−FFと、サンプリングクロックを生成する制御部とを備え、第1のリングオシレータを構成する各論理ゲートの他方の入力に、当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号とサンプリングクロックの反転信号とのAND出力が接続され、第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である。
第4の発明は、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、第1のリングオシレータの中間ノード出力と第2のリングオシレータの中間ノード出力をサンプリングクロックでそれぞれラッチする(M1+M2)個の前段D−FFと、(M1+M2)個の前段D−FFの各ラッチ出力の排他的論理和をとる(M1+M2)入力XORと、(M1+M2)入力XORの出力をサンプリングクロックでラッチし、乱数値として出力する後段D−FFと、サンプリングクロックを生成する制御部とを備え、第1のリングオシレータを構成する各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である。
第5の発明は、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、第1のリングオシレータの中間ノード出力と第2のリングオシレータの中間ノード出力をサンプリングクロックでそれぞれラッチする(M1+M2)個の前段D−FFと、(M1+M2)個の前段D−FFの各ラッチ出力の排他的論理和をとる(M1+M2)入力XORと、(M1+M2)入力XORの出力をサンプリングクロックでラッチし、乱数値として出力する後段D−FFと、サンプリングクロックを生成する制御部とを備え、第1のリングオシレータを構成する各論理ゲートの他方の入力に、当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号とサンプリングクロックの反転信号とのAND出力が接続され、第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である。
第6の発明は、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたリングオシレータと、リングオシレータの中間ノード出力を周波数Sのサンプリングクロックでラッチする第1の前段D−FFと、周波数Sのサンプリングクロックで入力信号をラッチする第2の前段D−FFと、第2の前段D−FFのラッチ出力と、第1の前段D−FFのラッチ出力との排他的論理和をとる2入力XORと、セレクタ制御信号により、サンプリングクロックのM回(Mは2以上の整数)に1回の頻度で第1の前段D−FFの出力を選択し、サンプリングクロックの(M−1)回は2入力XORの出力を選択し、第2の前段D−FFに入力するセレクタと、周波数SのサンプリングクロックをM分周した周波数S/Mの出力用クロックで第2の前段D−FFの出力をラッチし、乱数値として出力する後段D−FFと、周波数Sのサンプリングクロック、セレクタ制御信号、周波数S/Mの出力用クロックを生成する制御部とを備え、リングオシレータを構成する各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、リングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である。
第7の発明は、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたリングオシレータと、リングオシレータの中間ノード出力を周波数Sのサンプリングクロックでラッチする第1の前段D−FFと、周波数Sのサンプリングクロックで入力信号をラッチする第2の前段D−FFと、第2の前段D−FFのラッチ出力と、第1の前段D−FFのラッチ出力との排他的論理和をとる2入力XORと、セレクタ制御信号により、サンプリングクロックのM回(Mは2以上の整数)に1回の頻度で第1の前段D−FFの出力を選択し、サンプリングクロックの(M−1)回は2入力XORの出力を選択し、第2の前段D−FFに入力するセレクタと、周波数SのサンプリングクロックをM分周した周波数S/Mの出力用クロックで第2の前段D−FFの出力をラッチし、乱数値として出力する後段D−FFと、周波数Sのサンプリングクロック、セレクタ制御信号、周波数S/Mの出力用クロックを生成する制御部とを備え、リングオシレータを構成する各論理ゲートの他方の入力に、当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号と周波数Sのサンプリングクロックの反転信号とのAND出力が接続され、リングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である。
また、上記の論理ゲートは、NANDゲートまたはNORゲートとしてもよい。
本発明の乱数生成回路で用いる奇数段の論理ゲート(NANDゲートまたはNORゲート)で構成されるリングオシレータでは、動作ON/OFF制御信号のON制御により、どの論理ゲートが発振動作の起点となるかは熱的な揺らぎをもとにランダムに決まる。すなわち、回路動作開始後はランダムに初期状態を決定して発振動作を開始するので、回路動作開始直後の初回サンプリングにおいても、再現性が少なくランダム性の高い真性乱数を生成することができる。
さらに、第6および第7の発明の乱数生成回路はシリアル処理型構成であるため、単一のリングオシレータのみで複数のリングオシレータを用いた場合と等価な効果を得ることができる。これにより、小さなゲート規模で複数のリングオシレータの回路構成と同等レベルで高品質の真性乱数を生成することができる。
本発明の実施例1の乱数生成回路の構成例を示す図である。 実施例1における制御部100の動作例を示すタイムチャートである。 本発明の実施例1の乱数生成回路の他の構成例を示す図である。 本発明の実施例2の乱数生成回路の構成例を示す図である。 本発明の実施例3の乱数生成回路の構成例を示す図である。 本発明の実施例4の乱数生成回路の構成例を示す図である。 本発明の実施例5の乱数生成回路の構成例を示す図である。 実施例5における制御部200の動作例を示すタイムチャートである。 本発明の実施例6の乱数生成回路の構成例を示す図である。 従来の乱数生成回路の構成例1を示す図である。 従来の乱数生成回路の構成例2を示す図である。
図1は、本発明の実施例1の乱数生成回路の構成例を示す。
図1において、実施例1は、図11に示す従来の乱数生成回路の複数個(M個)のリングオシレータ10−1〜10−Mの1つ(ここでは10−1)を、N個(Nは奇数)のNANDゲートにより構成した場合の回路を示す。すなわち、請求項におけるM1=1、M2=(M−1)の例を示す。
当該リングオシレータ10−1は、中間ノードの負荷容量を均等化するために、NANDゲートの出力ノードにインバータが等しく接続される。1つのインバータの出力はサンプリングのため、M入力XOR21を介してD−FF22に接続される。動作ON/OFF制御信号は、リングオシレータ10−1のバッファ11を介して各NANDゲートに均等に分配入力され、さらに他のリングオシレータ10−2〜10−MのNANDゲートに入力され、それぞれリングオシレータのON(動作)、OFF(非動作)を切り替える構成である。なお、リングオシレータ10−1およびリングオシレータ10−2〜10−Mは、NANDゲートの代わりにNORゲートを用いた構成としてもよい。
図2は、実施例1における制御部100の動作例を示す。
制御部100は、動作ON/OFF制御信号とシステムクロックを入力し、動作ON/OFF制御信号がHighのときにシステムクロックを分周(ここでは4分周)してD−FF22に与えるサンプリングクロックを生成し、必要に応じて乱数有効表示信号を生成する。
ここで、N個のNANDゲートで構成されるリングオシレータ10−1の回路動作について説明する。まず、回路動作OFF 状態ではNANDゲート入力への共通の動作ON/OFF制御信号はLow に設定される。この状態ではN個のNANDゲート出力は全てHighに固定され、発振動作は停止状態となる。動作ON/OFF制御信号がHighに切り替ると、NANDゲートはインバータとして機能し始めるが、動作ON/OFF制御信号がHighに切り替わった時点ではN個のNANDゲートの出力電圧は全てHighであるため、いずれかのNANDゲートを起点として出力をLow 側に遷移する動作が発生する。NANDゲート出力にインバータを付加することによりノードの負荷容量の均等化が行われているため、N個のNANDゲートの中のどのNANDゲートが発振動作の起点となるかは熱的な揺らぎをもとにランダムに決まる。そのため、他のリングオシレータ10−2〜10−Mのように、常に特定のNANDゲートを起点として発振動作が開始することを回避することができる。これにより、M入力XOR21を介してD−FF22の出力には、ランダム性の高い乱数値を取り出すことができる。
なお、図1に示す実施例1の構成では、乱数生成回路を構成するM個のリングオシレータの中で、N個のNANDゲートで構成されるリングオシレータが1個で、残りの(M−1)個は従来のリングオシレータである場合を示したが、図3に示すように、N個のNANDゲートで構成されるリングオシレータの個数は1個以上M個以下の任意の個数であってもよい。図3の構成では、すべてのリングオシレータに本発明を適用しているため(M1=M、M2=0)、回路動作開始直後の初回サンプリングにおいて、図1の構成よりもさらに再現性が少なくランダム性の高い真性乱数の生成が可能となる。以下に示す実施例においても同様である。
次に、乱数有効表示信号について説明する。
一般に1つのNANDゲートを用いるリングオシレータでは、自己発振動作の開始直後は、発振のジッタ成分が十分蓄積されておらずランダム性の効果が不十分と考えられる。そのため、制御部100でサンプリングクロック数をカウントし、カウンタ値がある一定数に達した段階で乱数有効表示信号を有効にすることにより、D−FFから十分なランダム性を備えた乱数値を取得する。この乱数有効表示信号を有効にするカウンタ値は、実評価結果から経験値として決める。例えば、最初の 100ビットを破棄して 101ビット目から有効とする。
一方、N個のNANDゲートで構成されるリングオシレータを用いる本発明の乱数生成回路は、原理的に回路動作ON時点でD−FFにセットされる最初の値だけを破棄すればよいため、乱数有効表示信号を省略することも可能である。しかし、実際の回路では、NANDゲートの駆動力や配線長のアンバランスが避けられないため、最初の生成ビットから完全にランダム化することは難しい。そこで、所定のタイミングで乱数有効表示信号を有効にする構成としてもよい。ただし、その場合でも乱数有効表示信号を有効にするタイミングは、上記の 101ビット目より早い例えば5ビット目からとするような設定が可能である。
図4は、本発明の実施例2の乱数生成回路の構成例を示す。
図4において、実施例2は、図1または図3に示す実施例1の動作ON/OFF制御信号をリングオシレータ10−1の各NANDゲートに分配するバッファ11に代えて、インバータ31で反転したサンプリングクロックと動作ON/OFF制御信号の論理積出力を各NANDゲートに分配するAND回路12を用いた構成である。
これにより、動作ON/OFF制御信号がLow またはサンプリングクロックがHighのときに、リングオシレータ10−1のNANDゲート出力はHighに固定され、動作ON/OFF制御信号がHighかつサンプリングクロックがLow で発振動作を開始する。このとき、特定のNANDゲートではなく、ランダムに決まるいずれかのNANDゲートを起点として発振動作が開始する。したがって、動作開始直後に再現性のないランダムな乱数を生成できるだけでなく、本実施例の構成では1クロック毎にリセット動作が入るため1クロック前後の生成乱数と相関を持たないランダム乱数を生成することができる。
図5は、本発明の実施例3の乱数生成回路の構成例を示す。
図5において、M個のリングオシレータ10−1〜10−Mのうち、実施例1と同様に少なくとも1つのリングオシレータがN個のNANDゲートで構成される場合に、各リングオシレータの中間ノード出力をサンプリングクロックに同期した前段D−FF23−1〜23−Mでそれぞれラッチする。さらに、前段D−FF23−1〜23−Mの各出力はM入力XOR21に入力され、その出力が後段D−FF24に入力される。後段D−FF24は、前段D−FF23−1〜23−Mと同期したサンプリングクロックにより、M入力XOR21の出力をラッチし、乱数値として出力する。基本的な動作は実施例1と同様である。
図6は、本発明の実施例4の乱数生成回路の構成例を示す。
図6において、実施例4は、図5に示す実施例3の動作ON/OFF制御信号をリングオシレータ10−1の各NANDゲートに分配するバッファ11に代えて、インバータ31で反転したサンプリングクロックと動作ON/OFF制御信号の論理積出力を各NANDゲートに分配するAND回路12を用いた構成である。
これにより、動作ON/OFF制御信号がLow またはサンプリングクロックがHighのときに、リングオシレータ10−1のNANDゲート出力はHighに固定され、動作ON/OFF制御信号がHighかつサンプリングクロックがLow で発振動作を開始する。このとき、特定のNANDゲートではなく、ランダムに決まるいずれかのNANDゲートを起点として発振動作が開始する。したがって、動作開始直後に再現性のないランダムな乱数を生成できるだけでなく、本実施例の構成では1クロック毎にリセット動作が入るため1クロック前後の生成乱数と相関を持たないランダム乱数を生成することができる。
図7は、本発明の実施例5の乱数生成回路の構成例を示す。本実施例は、実施例3の回路をシリアル処理化した構成である。
図7において、実施例1,3と同様にN個のNANDゲートで構成されるリングオシレータ10の中間ノード出力を周波数Sのサンプリングクロックに同期した前段D−FF23−1でラッチする。さらに、前段D−FF23−1の出力と2入力XOR25の出力とをセレクタ26で選択した出力を、周波数Sのサンプリングクロックに同期した前段D−FF23−2でラッチする。2入力XOR25は、前段D−FF23−1の出力と前段D−FF23−2の出力とを入力し、XOR出力をセレクタ26に出力する。さらに、前段D−FF23−2の出力は後段D−FF24に入力される。後段D−FF24は、周波数SのサンプリングクロックをM分周した周波数S/Mの出力用クロックで前段D−FF23−2の出力をラッチし、乱数値として出力する。
制御部200は、動作ON/OFF制御信号とシステムクロックを入力し、システムクロックを分周して前段D−FF23−1,23−2に与えるサンプリングクロック、セレクタ26に与えるセレクタ制御信号、後段D−FF24に与える出力用クロック、および乱数有効表示信号を生成する。
図8は、実施例5における制御部200の動作例を示す。
動作ON/OFF制御信号がHighのときにシステムクロックを4分周して生成されるサンプリングクロックは、前段D−FF23−1,23−2に与えられる。さらに、動作ON/OFF制御信号がHighのときに、サンプリングクロックからセレクタ制御信号および出力用クロックが生成される。セレクタ26を制御するセレクタ制御信号は、サンプリングクロックのM回に1回の頻度で前段D−FF23−1のラッチ出力を選択し、(M−1)回は前段D−FF23−1のラッチ出力と前段D−FF23−2のラッチ出力とのXOR出力を選択するように設定される。これは、実施例3のM個のリングオシレータ10−1〜10−Mの1サンプリング毎の出力を前段D−FF23−1〜23−Mでラッチし、M入力XOR21に入力することと等価である。出力用クロックは、周波数SのサンプリングクロックをM分周した周波数S/Mのクロックである。後段D−FF22は、この出力用クロックで前段D−FF23−2の出力をラッチし、乱数値として出力する。
このように、周波数SのサンプリングクロックがMクロック経過すると、実施例3で示したM個のリングオシレータ10−1〜10−Mの中間ノードのXOR出力を得る構成と等価な回路がシリアル回路として実現される。乱数有効表示信号については、実施例1で説明したことと同様に、所定のタイミングで有効とする構成であればよい。
図9は、本発明の実施例6の乱数生成回路の構成例を示す。
図9において、実施例6は、図7に示す実施例5の動作ON/OFF制御信号をリングオシレータ10の各NANDゲートに分配するバッファ11に代えて、インバータ31で反転したサンプリングクロックと動作ON/OFF制御信号の論理積出力を各NANDゲートに分配するAND回路12を用いた構成である。
これにより、動作ON/OFF制御信号がLow またはサンプリングクロックがHighのときに、リングオシレータ10のNANDゲート出力はHighに固定され、動作ON/OFF制御信号がHighかつサンプリングクロックがLow で発振動作を開始する。このとき、特定のNANDゲートではなく、ランダムに決まるいずれかのNANDゲートを起点として発振動作が開始する。したがって、動作開始直後に再現性のないランダムな乱数を生成できるだけでなく、本実施例の構成では1クロック毎にリセット動作が入るため1クロック前後の生成乱数と相関を持たないランダム乱数を生成することができる。
10 リングオシレータ
11 バッファ
12 AND回路
21 M入力XOR
22 D−FF
23 前段D−FF
24 後段D−FF
25 2入力XOR
26 セレクタ
31 インバータ
100,200 制御部

Claims (8)

  1. 1以上のリングオシレータの出力を用いて乱数を生成する乱数生成回路において、
    少なくとも1つのリングオシレータは、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成され、各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、各論理ゲートの出力にそれぞれインバータが接続され、それらインバータのいずれか1つの出力を当該リングオシレータの出力とする構成である
    ことを特徴とする乱数生成回路。
  2. 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、
    偶数段のインバータと1段の論理ゲートで構成されたM2個(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、
    前記第1のリングオシレータの中間ノード出力と前記第2のリングオシレータの中間ノード出力の排他的論理和をとる(M1+M2)入力XORと、
    前記(M1+M2)入力XORの出力をサンプリングクロックでラッチし、乱数値として出力するD−FFと、
    前記サンプリングクロックを生成する制御部と
    を備え、
    前記第1のリングオシレータを構成する各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、
    前記第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
    前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
    ことを特徴とする乱数生成回路。
  3. 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、
    偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、
    前記第1のリングオシレータの中間ノード出力と前記第2のリングオシレータの中間ノード出力の排他的論理和をとる(M1+M2)入力XORと、
    前記(M1+M2)入力XORの出力をサンプリングクロックでラッチし、乱数値として出力するD−FFと、
    前記サンプリングクロックを生成する制御部と
    を備え、
    前記第1のリングオシレータを構成する各論理ゲートの他方の入力に、当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号と前記サンプリングクロックの反転信号とのAND出力が接続され、
    前記第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
    前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
    ことを特徴とする乱数生成回路。
  4. 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、
    偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、
    前記第1のリングオシレータの中間ノード出力と前記第2のリングオシレータの中間ノード出力をサンプリングクロックでそれぞれラッチする(M1+M2)個の前段D−FFと、
    前記(M1+M2)個の前段D−FFの各ラッチ出力の排他的論理和をとる(M1+M2)入力XORと、
    前記(M1+M2)入力XORの出力を前記サンプリングクロックでラッチし、乱数値として出力する後段D−FFと、
    前記サンプリングクロックを生成する制御部と
    を備え、
    前記第1のリングオシレータを構成する各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、
    前記第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
    前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
    ことを特徴とする乱数生成回路。
  5. 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたM1個(M1は1以上の整数)の第1のリングオシレータと、
    偶数段のインバータと1段の論理ゲートで構成されたM2(M2は0以上の整数、M1+M2は2以上の整数)の第2のリングオシレータと、
    前記第1のリングオシレータの中間ノード出力と前記第2のリングオシレータの中間ノード出力をサンプリングクロックでそれぞれラッチする(M1+M2)個の前段D−FFと、
    前記(M1+M2)個の前段D−FFの各ラッチ出力の排他的論理和をとる(M1+M2)入力XORと、
    前記(M1+M2)入力XORの出力を前記サンプリングクロックでラッチし、乱数値として出力する後段D−FFと、
    前記サンプリングクロックを生成する制御部と
    を備え、
    前記第1のリングオシレータを構成する各論理ゲートの他方の入力に、当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号と前記サンプリングクロックの反転信号とのAND出力が接続され、
    前記第1のリングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
    前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
    ことを特徴とする乱数生成回路。
  6. 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたリングオシレータと、
    前記リングオシレータの中間ノード出力を周波数Sのサンプリングクロックでラッチする第1の前段D−FFと、
    周波数Sのサンプリングクロックで入力信号をラッチする第2の前段D−FFと、
    前記第2の前段D−FFのラッチ出力と、前記第1の前段D−FFのラッチ出力との排他的論理和をとる2入力XORと、
    セレクタ制御信号により、前記サンプリングクロックのM回(Mは2以上の整数)に1回の頻度で前記第1の前段D−FFの出力を選択し、前記サンプリングクロックの(M−1)回は前記2入力XORの出力を選択し、前記第2の前段D−FFに入力するセレクタと、
    前記周波数SのサンプリングクロックをM分周した周波数S/Mの出力用クロックで前記第2の前段D−FFの出力をラッチし、乱数値として出力する後段D−FFと、
    前記周波数Sのサンプリングクロック、前記セレクタ制御信号、前記周波数S/Mの出力用クロックを生成する制御部と
    を備え、
    前記リングオシレータを構成する各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、
    前記リングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
    前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
    ことを特徴とする乱数生成回路。
  7. 一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたリングオシレータと、
    前記リングオシレータの中間ノード出力を周波数Sのサンプリングクロックでラッチする第1の前段D−FFと、
    周波数Sのサンプリングクロックで入力信号をラッチする第2の前段D−FFと、
    前記第2の前段D−FFのラッチ出力と、前記第1の前段D−FFのラッチ出力との排他的論理和をとる2入力XORと、
    セレクタ制御信号により、前記サンプリングクロックのM回(Mは2以上の整数)に1回の頻度で前記第1の前段D−FFの出力を選択し、前記サンプリングクロックの(M−1)回は前記2入力XORの出力を選択し、前記第2の前段D−FFに入力するセレクタと、
    前記周波数SのサンプリングクロックをM分周した周波数S/Mの出力用クロックで前記第2の前段D−FFの出力をラッチし、乱数値として出力する後段D−FFと、
    前記周波数Sのサンプリングクロック、前記セレクタ制御信号、前記周波数S/Mの出力用クロックを生成する制御部と
    を備え、
    前記リングオシレータを構成する各論理ゲートの他方の入力に、当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号と前記周波数Sのサンプリングクロックの反転信号とのAND出力が接続され、
    前記リングオシレータを構成する各論理ゲートの出力にそれぞれインバータが接続され、
    前記インバータのいずれか1つの出力を当該リングオシレータの中間ノード出力とする構成である
    ことを特徴とする乱数生成回路。
  8. 請求項1〜請求項7のいずれかに記載の乱数生成回路において、
    前記論理ゲートは、NANDゲートまたはNORゲートであることを特徴とする乱数生成回路。
JP2010279262A 2010-12-15 2010-12-15 乱数生成回路 Active JP5356362B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010279262A JP5356362B2 (ja) 2010-12-15 2010-12-15 乱数生成回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010279262A JP5356362B2 (ja) 2010-12-15 2010-12-15 乱数生成回路

Publications (2)

Publication Number Publication Date
JP2012129784A JP2012129784A (ja) 2012-07-05
JP5356362B2 true JP5356362B2 (ja) 2013-12-04

Family

ID=46646355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010279262A Active JP5356362B2 (ja) 2010-12-15 2010-12-15 乱数生成回路

Country Status (1)

Country Link
JP (1) JP5356362B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141338B2 (en) 2012-11-16 2015-09-22 Arm Limited Storage circuit with random number generation mode
JP6034153B2 (ja) * 2012-11-21 2016-11-30 株式会社東芝 乱数生成回路
JP2018112861A (ja) * 2017-01-11 2018-07-19 キヤノン株式会社 乱数生成装置、集積回路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3052691B2 (ja) * 1993-09-28 2000-06-19 株式会社デンソー パルス位相差符号化回路
JP4248950B2 (ja) * 2003-06-24 2009-04-02 株式会社ルネサステクノロジ 乱数発生装置
JP2005057164A (ja) * 2003-08-07 2005-03-03 Matsushita Electric Ind Co Ltd 半導体装置
JP4471901B2 (ja) * 2005-07-28 2010-06-02 株式会社ルネサステクノロジ 乱数発生装置
JP5034834B2 (ja) * 2007-09-28 2012-09-26 富士通セミコンダクター株式会社 半導体装置、および半導体装置における制御方法
DE102008018678B4 (de) * 2008-04-14 2011-02-03 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge

Also Published As

Publication number Publication date
JP2012129784A (ja) 2012-07-05

Similar Documents

Publication Publication Date Title
Golic New methods for digital generation and postprocessing of random data
US8531247B2 (en) Device and method for generating a random bit sequence
US9405510B2 (en) Random number generator
Danger et al. High speed true random number generator based on open loop structures in FPGAs
JP5074359B2 (ja) 乱数生成回路
US9846568B2 (en) System and method for dynamic tuning feedback control for random number generator
KR101987141B1 (ko) 난수 발생기
TWI520055B (zh) 用於產生隨機數之裝置與方法
KR20050001377A (ko) 링 발진 회로를 구비한 난수 발생 장치
US20130346459A1 (en) Method for generating random numbers
Wu et al. A new digital true random number generator based on delay chain feedback loop
Sivaraman et al. FPGA based generic RO TRNG architecture for image confusion
JP5465636B2 (ja) 乱数生成回路
JP5356362B2 (ja) 乱数生成回路
Wu et al. Ultra-lightweight true random number generators
Yakut et al. Secure and efficient hybrid random number generator based on sponge constructions for cryptographic applications
Jin et al. A dynamically reconfigurable entropy source circuit for high-throughput true random number generator
TWI579763B (zh) 具有亂數產生模式的儲存電路
TW202105919A (zh) 熵產生器及產生增強熵的方法
Choe et al. A self-timed ring based TRNG with feedback structure for FPGA implementation
Acar et al. A random number generator based on irregular sampling and transient effect ring oscillators
Ni et al. MRCO: A multi-ring convergence oscillator-based high-efficiency true random number generator
TWI497409B (zh) 亂數產生器及其亂數產生方法
Ma et al. A low-cost high-efficiency true random number generator on FPGAs
Yao et al. DCDRO: A true random number generator based on dynamically configurable dual-output ring oscillator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130329

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: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130828

R150 Certificate of patent or registration of utility model

Ref document number: 5356362

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350