JP2012129784A - Random number generation circuit - Google Patents

Random number generation circuit Download PDF

Info

Publication number
JP2012129784A
JP2012129784A JP2010279262A JP2010279262A JP2012129784A JP 2012129784 A JP2012129784 A JP 2012129784A JP 2010279262 A JP2010279262 A JP 2010279262A JP 2010279262 A JP2010279262 A JP 2010279262A JP 2012129784 A JP2012129784 A JP 2012129784A
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.)
Granted
Application number
JP2010279262A
Other languages
Japanese (ja)
Other versions
JP5356362B2 (en
Inventor
Koyo Yamakoshi
公洋 山越
Mitsuru Harada
充 原田
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/en
Publication of JP2012129784A publication Critical patent/JP2012129784A/en
Application granted granted Critical
Publication of JP5356362B2 publication Critical patent/JP5356362B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a random number generation circuit that can generate high randomness true random numbers even at initial sampling just after a start of circuit operation.SOLUTION: The random number generation circuit includes: M1 first ring oscillators 10-1 comprising odd logic gate stages; M2 second ring oscillators 10-2 comprising even inverter stages and one logic gate stage; (M1+M2)input XOR 21 for computing an exclusive disjunction of intermediate node outputs of the first ring oscillators 10-1 and intermediate node outputs of the second ring oscillators 10-2; a D-FF 22 for latching outputs with a sampling clock to output random values; and a control section 100 for generating the sampling clock. An inverter is connected to the output of each logic gate constituting the first ring oscillator 10-1, and an output of any one inverter is the intermediate node output of the ring oscillator.

Description

本発明は、デジタル論理ゲート回路からなるリングオシレータをもとに高い品質の真性乱数を低ゲートな回路構成で生成する乱数生成回路に関する。特に、電源のON/OFF制御機能を備えた乱数生成回路において、電源ON直後の生成乱数の品質を向上させるための技術に関する。   The present invention relates to a random number generation circuit that generates a high-quality intrinsic random number with a low-gate circuit configuration based on a ring oscillator including a digital logic gate circuit. In particular, the present invention relates to a technique for improving the quality of a generated random number immediately after turning on the power in a random number generating circuit having a power ON / OFF control function.

暗号技術をベースとするセキュリティ分野においては、乱数の生成が重要な役割を果たしている。チャレンジレスポンス認証や鍵共有など暗号技術において利用される乱数の条件として、予測不可能であることがあげられる。乱数の予測不可能性を根拠とする暗号技術への適用においては、自然界に存在する揺らぎ現象のようなランダム性を備えた物理現象を利用して乱数を生成する真性乱数生成回路が重要な役割を果たす。   In the security field based on cryptographic technology, random number generation plays an important role. A condition for random numbers used in cryptographic techniques such as challenge-response authentication and key sharing is unpredictable. In the application to cryptographic technology based on the unpredictability of random numbers, an intrinsic random number generation circuit that generates random numbers using physical phenomena with randomness such as fluctuation phenomena existing in nature plays an important role. Fulfill.

非特許文献1に示す従来の真性乱数生成回路は、図10に示すように、奇数段のインバータからなる複数のリングオシレータの中間ノード出力のXOR(排他的論理和)を取り、その出力をD−FF(D型フリップフロップ)でラッチし、乱数値として出力する構成である。複数のリングオシレータは、発振周期に常に一定量のジッタを伴って互いに独立に自己発振しているため、これらの独立なリングオシレータの中間ノード値のXOR出力は、予測不可能なランダム性を備える。このXOR出力に対して、D−FFにより一定周期でサンプリング動作を行うことにより、予測不可能な真性乱数列を取り出すことができる。   As shown in FIG. 10, the conventional true random number generation circuit shown in Non-Patent Document 1 takes XOR (exclusive OR) of intermediate node outputs of a plurality of ring oscillators composed of odd-numbered inverters, and outputs the output as D It is configured to latch by -FF (D-type flip-flop) and output as a random value. Since the plurality of ring oscillators self-oscillate independently of each other with a constant amount of jitter in the oscillation period, the XOR output of the intermediate node value of these independent ring oscillators has unpredictable randomness. . By performing a sampling operation on the XOR output at a constant period by D-FF, an unpredictable true random number sequence can be extracted.

ところで、乱数生成回路において乱数を生成する必要がない場合、消費電力をセーブするために回路動作を停止することが必要となる。この場合、例えばリングオシレータを構成する奇数個のインバータの1つをNANDゲートまたはNORゲートとしてゲーティングを行うことにより、リングオシレータの発振動作のON/OFFの制御を行うことができる。   By the way, when it is not necessary to generate a random number in the random number generation circuit, it is necessary to stop the circuit operation in order to save power consumption. In this case, for example, ON / OFF control of the oscillation operation of the ring oscillator can be performed by performing gating by using one of an odd number of inverters constituting the ring oscillator as a NAND gate or a NOR gate.

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)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の状態を初期状態として開始することになる。   For example, in a ring oscillator using a NAND gate as shown in FIG. 11, when the operation ON / OFF control signal input to the NAND gate is Low, the NAND gate output is fixed to High, and the operation ON / OFF control signal is set to Low. When switching from high to high, the NAND gate functions as an inverter and starts oscillating. However, the oscillation operation at this time always starts from the NAND gate as a starting point, with the output potential being high as the initial state.

発振動作の初期においては、電源ONの度に毎回NANDゲートを起点として同じ初期動作状態から回路動作を開始するため、リングオシレータの発振ジッタがまだ十分獲得できていない電源ON後のしばらくの間は、電源ONの度に毎回同じパターンの乱数列が発生する確率が高くなる傾向がある。この電源ON後の最初の数ビットが毎回同じ乱数列であるとすると、再現性がないという本来の真性乱数が満たすべき重要な条件に反し、チャレンジレスポンス認証等においてセキュリティの低下をもたらすと考えられる。このため、有効な乱数として外部へ出力する際に、電源ON後の最初の数10ビット、場合によっては 100ビット以上を破棄する必要がある問題があった。   In the initial stage of the oscillation operation, the circuit operation is started from the same initial operation state every time the power is turned on, starting from the NAND gate. Therefore, for a while after the power is turned on, the oscillation jitter of the ring oscillator has not yet been sufficiently acquired. The probability that a random number sequence having the same pattern is generated every time the power is turned on tends to increase. If the first few bits after the power is turned on are the same random number sequence every time, it is considered that the original true random number that is not reproducible is contrary to an important condition that should be satisfied, and that security in challenge response authentication and the like is reduced. . For this reason, when outputting as a valid random number to the outside, there is a problem that it is necessary to discard the first several tens of bits after the power is turned on, and in some cases 100 bits or more.

また、高いサンプリング周波数の場合、サンプリング間隔が短くなるため、従来のフリーランニング動作を基本とするリングオシレータでは、サンプリング前後の生成乱数が互いになんらかの相関を持ってしまい、乱数品質が低下する問題がある。   In addition, since the sampling interval is shortened when the sampling frequency is high, the conventional ring oscillator based on the free-running operation has a problem that the generated random numbers before and after the sampling have some correlation with each other and the random number quality is deteriorated. .

本発明は、回路動作開始直後の初回サンプリングにおいてもランダム性の高い真性乱数を生成することができる乱数生成回路を提供することを目的とする。   An object of the present invention is to provide a random number generation circuit capable of generating a genuine random number with high randomness even in initial sampling immediately after the start of circuit operation.

第1の発明は、1以上のリングオシレータの出力を用いて乱数を生成する乱数生成回路において、少なくとも1つのリングオシレータは、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成され、各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、各論理ゲートの出力にそれぞれインバータが接続され、それらインバータのいずれか1つの出力を当該リングオシレータの出力とする構成である。   According to a first aspect of the present invention, in the random number generation circuit that generates a random number using the output of one or more ring oscillators, the at least one ring oscillator has an odd number of logic stages in which one input is connected to the output of the other logic gate. An operation ON / OFF control signal for turning the inverter operation of the logic gate ON or OFF is connected to the other input of each logic gate, and an inverter is connected to the output of each logic gate. Any one of the outputs is used as the output of the ring oscillator.

第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つの出力を当該リングオシレータの中間ノード出力とする構成である。   According to a second aspect of the present invention, there are provided M1 (M1 is an integer of 1 or more) first ring oscillators composed of odd-numbered logic gates having one input connected to the output of the other logic gate, A second ring oscillator of M2 (M2 is an integer of 0 or more, M1 + M2 is an integer of 2 or more), an intermediate node output of the first ring oscillator, and a second ring oscillator, each including an inverter and a one-stage logic gate; A (M1 + M2) input XOR that takes an exclusive OR of the intermediate node outputs of the two, a D-FF that latches the output of the (M1 + M2) input XOR with a sampling clock and outputs it as a random value, and a control unit that generates the sampling clock; ON / OF which turns ON or OFF the inverter operation of the logic gate at the other input of each logic gate constituting the first ring oscillator Control signal is connected, respectively inverter to the output of each logic gate constituting the first ring oscillator is connected to one of the output of the inverter is configured to an intermediate node output of the ring oscillator.

第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つの出力を当該リングオシレータの中間ノード出力とする構成である。   According to a third aspect of the present invention, there are provided M1 (M1 is an integer of 1 or more) first ring oscillators composed of odd-numbered logic gates having one input connected to the output of the other logic gate, A second ring oscillator of M2 (M2 is an integer of 0 or more, M1 + M2 is an integer of 2 or more), an intermediate node output of the first ring oscillator, and a second ring oscillator, each including an inverter and a one-stage logic gate; A (M1 + M2) input XOR that takes an exclusive OR of the intermediate node outputs of the two, a D-FF that latches the output of the (M1 + M2) input XOR with a sampling clock and outputs it as a random value, and a control unit that generates the sampling clock; ON / O which turns ON or OFF the inverter operation of the logic gate at the other input of each logic gate constituting the first ring oscillator An AND output of the F control signal and the inverted signal of the sampling clock is connected, an inverter is connected to the output of each logic gate constituting the first ring oscillator, and any one output of the inverter is connected to the middle of the ring oscillator. This is a node output.

第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つの出力を当該リングオシレータの中間ノード出力とする構成である。   According to a fourth aspect of the present invention, there are provided M1 (M1 is an integer of 1 or more) first ring oscillators composed of odd-numbered logic gates having one input connected to the output of the other logic gate, A second ring oscillator of M2 (M2 is an integer of 0 or more, M1 + M2 is an integer of 2 or more), an intermediate node output of the first ring oscillator, and a second ring oscillator, each including an inverter and a one-stage logic gate; (M1 + M2) of the preceding stage D-FF that latches the intermediate node output of each of the intermediate node outputs by the sampling clock, and (M1 + M2) the input XOR that takes the exclusive OR of the latch outputs of the preceding stage D-FF, M1 + M2) includes a post-stage D-FF that latches the output of the input XOR with a sampling clock and outputs it as a random value, and a control unit that generates the sampling clock. An operation ON / OFF control signal for turning the inverter operation of the logic gate ON or OFF is connected to the other input of each logic gate constituting the ring oscillator of the first ring oscillator, and the output of each logic gate constituting the first ring oscillator is connected to the other input. Each of the inverters is connected, and the output of any one of the inverters is used as the intermediate node output of the ring oscillator.

第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つの出力を当該リングオシレータの中間ノード出力とする構成である。   According to a fifth aspect of the present invention, there are provided M1 (M1 is an integer of 1 or more) first ring oscillators composed of odd-numbered logic gates having one input connected to the output of the other logic gate, A second ring oscillator of M2 (M2 is an integer of 0 or more, M1 + M2 is an integer of 2 or more), an intermediate node output of the first ring oscillator, and a second ring oscillator, each including an inverter and a one-stage logic gate; (M1 + M2) of the preceding stage D-FF that latches the intermediate node output of each of the intermediate node outputs by the sampling clock, and (M1 + M2) the input XOR that takes the exclusive OR of the latch outputs of the preceding stage D-FF, M1 + M2) includes a post-stage D-FF that latches the output of the input XOR with a sampling clock and outputs it as a random value, and a control unit that generates the sampling clock. An AND output of an operation ON / OFF control signal for turning ON or OFF the inverter operation of the logic gate and an inverted signal of the sampling clock is connected to the other input of each logic gate constituting the ring oscillator of the first oscillator. An inverter is connected to the output of each logic gate constituting the ring oscillator, and any one output of the inverter is used as an intermediate node output of the ring oscillator.

第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つの出力を当該リングオシレータの中間ノード出力とする構成である。   According to a sixth aspect of the present invention, there is provided a ring oscillator composed of an odd-numbered logic gate having one input connected to the output of another logic gate, and a first latch that latches an intermediate node output of the ring oscillator with a sampling clock having a frequency S. Front stage D-FF, a second front stage D-FF that latches an input signal with a sampling clock of frequency S, a latch output of the second front stage D-FF, and a latch output of the first front stage D-FF, The output of the first preceding D-FF is selected at a frequency of once every M times of the sampling clock (M is an integer equal to or greater than 2) by the 2-input XOR that takes the exclusive OR of and the selector control signal, and sampling The (M-1) times of the clock selects a 2-input XOR output, and outputs a selector for inputting to the second preceding stage D-FF and a frequency S / M output obtained by dividing the sampling clock of the frequency S by M. A latch that latches the output of the second preceding stage D-FF and outputs it as a random value; a control unit that generates a sampling clock of frequency S, a selector control signal, and an output clock of frequency S / M; And an operation ON / OFF control signal for turning the inverter operation of the logic gate ON or OFF is connected to the other input of each logic gate constituting the ring oscillator, and the output of each logic gate constituting the ring oscillator is respectively An inverter is connected, and any one output of the inverter is used as an intermediate node output of the ring oscillator.

第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つの出力を当該リングオシレータの中間ノード出力とする構成である。   According to a seventh aspect of the present invention, there is provided a ring oscillator composed of an odd number of logic gates having one input connected to an output of another logic gate, and a first latch that latches an intermediate node output of the ring oscillator with a sampling clock having a frequency S. Front stage D-FF, a second front stage D-FF that latches an input signal with a sampling clock of frequency S, a latch output of the second front stage D-FF, and a latch output of the first front stage D-FF, The output of the first preceding D-FF is selected at a frequency of once every M times of the sampling clock (M is an integer equal to or greater than 2) by the 2-input XOR that takes the exclusive OR of and the selector control signal, and sampling The (M-1) times of the clock selects a 2-input XOR output, and outputs a selector for inputting to the second preceding stage D-FF and a frequency S / M output obtained by dividing the sampling clock of the frequency S by M. A latch that latches the output of the second preceding stage D-FF and outputs it as a random value; a control unit that generates a sampling clock of frequency S, a selector control signal, and an output clock of frequency S / M; And an AND output of an operation ON / OFF control signal for turning on or off the inverter operation of the logic gate and an inverted signal of the sampling clock of frequency S is connected to the other input of each logic gate constituting the ring oscillator An inverter is connected to the output of each logic gate constituting the ring oscillator, and any one output of the inverter is used as an intermediate node output of the ring oscillator.

また、上記の論理ゲートは、NANDゲートまたはNORゲートとしてもよい。   The logic gate may be a NAND gate or a NOR gate.

本発明の乱数生成回路で用いる奇数段の論理ゲート(NANDゲートまたはNORゲート)で構成されるリングオシレータでは、動作ON/OFF制御信号のON制御により、どの論理ゲートが発振動作の起点となるかは熱的な揺らぎをもとにランダムに決まる。すなわち、回路動作開始後はランダムに初期状態を決定して発振動作を開始するので、回路動作開始直後の初回サンプリングにおいても、再現性が少なくランダム性の高い真性乱数を生成することができる。   In the ring oscillator composed of odd-numbered logic gates (NAND gates or NOR gates) used in the random number generation circuit of the present invention, which logic gate is the starting point of the oscillation operation by the ON control of the operation ON / OFF control signal Is randomly determined based on thermal fluctuations. That is, since the initial state is randomly determined after the circuit operation starts and the oscillation operation is started, a true random number with low reproducibility and high randomness can be generated even in the first sampling immediately after the circuit operation starts.

さらに、第6および第7の発明の乱数生成回路はシリアル処理型構成であるため、単一のリングオシレータのみで複数のリングオシレータを用いた場合と等価な効果を得ることができる。これにより、小さなゲート規模で複数のリングオシレータの回路構成と同等レベルで高品質の真性乱数を生成することができる。   Furthermore, since the random number generation circuits according to the sixth and seventh aspects have a serial processing type configuration, an effect equivalent to the case where a plurality of ring oscillators are used with only a single ring oscillator can be obtained. As a result, high-quality intrinsic random numbers can be generated at a level equivalent to the circuit configuration of a plurality of ring oscillators with a small gate scale.

本発明の実施例1の乱数生成回路の構成例を示す図である。It is a figure which shows the structural example of the random number generation circuit of Example 1 of this invention. 実施例1における制御部100の動作例を示すタイムチャートである。3 is a time chart illustrating an operation example of a control unit 100 according to the first embodiment. 本発明の実施例1の乱数生成回路の他の構成例を示す図である。It is a figure which shows the other structural example of the random number generation circuit of Example 1 of this invention. 本発明の実施例2の乱数生成回路の構成例を示す図である。It is a figure which shows the structural example of the random number generation circuit of Example 2 of this invention. 本発明の実施例3の乱数生成回路の構成例を示す図である。It is a figure which shows the structural example of the random number generation circuit of Example 3 of this invention. 本発明の実施例4の乱数生成回路の構成例を示す図である。It is a figure which shows the structural example of the random number generation circuit of Example 4 of this invention. 本発明の実施例5の乱数生成回路の構成例を示す図である。It is a figure which shows the structural example of the random number generation circuit of Example 5 of this invention. 実施例5における制御部200の動作例を示すタイムチャートである。10 is a time chart illustrating an operation example of a control unit 200 according to a fifth embodiment. 本発明の実施例6の乱数生成回路の構成例を示す図である。It is a figure which shows the structural example of the random number generation circuit of Example 6 of this invention. 従来の乱数生成回路の構成例1を示す図である。It is a figure which shows the structural example 1 of the conventional random number generation circuit. 従来の乱数生成回路の構成例2を示す図である。It is a figure which shows the structural example 2 of the conventional random number generation circuit.

図1は、本発明の実施例1の乱数生成回路の構成例を示す。
図1において、実施例1は、図11に示す従来の乱数生成回路の複数個(M個)のリングオシレータ10−1〜10−Mの1つ(ここでは10−1)を、N個(Nは奇数)のNANDゲートにより構成した場合の回路を示す。すなわち、請求項におけるM1=1、M2=(M−1)の例を示す。
FIG. 1 shows a configuration example of a random number generation circuit according to the first embodiment of the present invention.
Referring to FIG. 1, in the first embodiment, one (in this case, 10-1) of a plurality (M) of ring oscillators 10-1 to 10-M of the conventional random number generation circuit shown in FIG. N represents an odd number) NAND gate. That is, an example of M1 = 1 and M2 = (M−1) in the claims is shown.

当該リングオシレータ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ゲートを用いた構成としてもよい。   In the ring oscillator 10-1, the inverters are equally connected to the output node of the NAND gate in order to equalize the load capacity of the intermediate node. The output of one inverter is connected to the D-FF 22 via the M input XOR 21 for sampling. The operation ON / OFF control signal is equally distributed and input to each NAND gate via the buffer 11 of the ring oscillator 10-1, and is further input to the NAND gates of the other ring oscillators 10-2 to 10-M. In this configuration, the oscillator is switched ON (operation) and OFF (non-operation). Ring oscillator 10-1 and ring oscillators 10-2 to 10-M may be configured using NOR gates instead of NAND gates.

図2は、実施例1における制御部100の動作例を示す。
制御部100は、動作ON/OFF制御信号とシステムクロックを入力し、動作ON/OFF制御信号がHighのときにシステムクロックを分周(ここでは4分周)してD−FF22に与えるサンプリングクロックを生成し、必要に応じて乱数有効表示信号を生成する。
FIG. 2 illustrates an operation example of the control unit 100 according to the first embodiment.
The control unit 100 inputs an operation ON / OFF control signal and a system clock, and divides the system clock (here, divided by 4) when the operation ON / OFF control signal is High, and gives the sampling clock to the D-FF 22 And a random number valid display signal is generated as necessary.

ここで、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の出力には、ランダム性の高い乱数値を取り出すことができる。   Here, the circuit operation of the ring oscillator 10-1 composed of N NAND gates will be described. First, in the circuit operation OFF state, the common operation ON / OFF control signal to the NAND gate input is set to Low. In this state, all N NAND gate outputs are fixed to High, and the oscillation operation is stopped. When the operation ON / OFF control signal switches to High, the NAND gate starts to function as an inverter, but when the operation ON / OFF control signal switches to High, the output voltages of the N NAND gates are all High. Then, the operation of transitioning the output to the Low side occurs from any NAND gate. Since the load capacity of the nodes is equalized by adding an inverter to the NAND gate output, which NAND gate of the N NAND gates is the starting point of the oscillation operation has a thermal fluctuation. Randomly determined. Therefore, it is possible to avoid the oscillation operation starting from a specific NAND gate as a starting point as in the other ring oscillators 10-2 to 10-M. Thereby, a random value with high randomness can be taken out from the output of the D-FF 22 via the M input XOR 21.

なお、図1に示す実施例1の構成では、乱数生成回路を構成するM個のリングオシレータの中で、N個のNANDゲートで構成されるリングオシレータが1個で、残りの(M−1)個は従来のリングオシレータである場合を示したが、図3に示すように、N個のNANDゲートで構成されるリングオシレータの個数は1個以上M個以下の任意の個数であってもよい。図3の構成では、すべてのリングオシレータに本発明を適用しているため(M1=M、M2=0)、回路動作開始直後の初回サンプリングにおいて、図1の構成よりもさらに再現性が少なくランダム性の高い真性乱数の生成が可能となる。以下に示す実施例においても同様である。   In the configuration of the first embodiment shown in FIG. 1, there is one ring oscillator composed of N NAND gates among the M ring oscillators constituting the random number generation circuit, and the remaining (M−1 ) Is a conventional ring oscillator, but as shown in FIG. 3, the number of ring oscillators composed of N NAND gates may be any number between 1 and M. Good. In the configuration of FIG. 3, since the present invention is applied to all ring oscillators (M1 = M, M2 = 0), the initial sampling immediately after the start of the circuit operation is less reproducible than the configuration of FIG. It is possible to generate a highly reliable intrinsic random number. The same applies to the embodiments described below.

次に、乱数有効表示信号について説明する。
一般に1つのNANDゲートを用いるリングオシレータでは、自己発振動作の開始直後は、発振のジッタ成分が十分蓄積されておらずランダム性の効果が不十分と考えられる。そのため、制御部100でサンプリングクロック数をカウントし、カウンタ値がある一定数に達した段階で乱数有効表示信号を有効にすることにより、D−FFから十分なランダム性を備えた乱数値を取得する。この乱数有効表示信号を有効にするカウンタ値は、実評価結果から経験値として決める。例えば、最初の 100ビットを破棄して 101ビット目から有効とする。
Next, the random number effective display signal will be described.
In general, in a ring oscillator using one NAND gate, it is considered that an oscillation jitter component is not sufficiently accumulated immediately after the start of a self-oscillation operation and the effect of randomness is insufficient. Therefore, the control unit 100 counts the number of sampling clocks, and when the counter value reaches a certain number, the random number valid display signal is validated to obtain a random value with sufficient randomness from the D-FF. To do. The counter value for validating this random number valid display signal is determined as an empirical value from the actual evaluation result. For example, the first 100 bits are discarded and valid from the 101st bit.

一方、N個のNANDゲートで構成されるリングオシレータを用いる本発明の乱数生成回路は、原理的に回路動作ON時点でD−FFにセットされる最初の値だけを破棄すればよいため、乱数有効表示信号を省略することも可能である。しかし、実際の回路では、NANDゲートの駆動力や配線長のアンバランスが避けられないため、最初の生成ビットから完全にランダム化することは難しい。そこで、所定のタイミングで乱数有効表示信号を有効にする構成としてもよい。ただし、その場合でも乱数有効表示信号を有効にするタイミングは、上記の 101ビット目より早い例えば5ビット目からとするような設定が可能である。   On the other hand, the random number generation circuit of the present invention using a ring oscillator composed of N NAND gates, in principle, needs to discard only the first value set in the D-FF when the circuit operation is ON. It is also possible to omit the valid display signal. However, in an actual circuit, it is difficult to completely randomize from the first generated bit because an unbalance between the driving power of the NAND gate and the wiring length cannot be avoided. Therefore, the random number valid display signal may be validated at a predetermined timing. However, even in such a case, the timing for validating the random number valid display signal can be set to be, for example, from the fifth bit earlier than the 101st bit.

図4は、本発明の実施例2の乱数生成回路の構成例を示す。
図4において、実施例2は、図1または図3に示す実施例1の動作ON/OFF制御信号をリングオシレータ10−1の各NANDゲートに分配するバッファ11に代えて、インバータ31で反転したサンプリングクロックと動作ON/OFF制御信号の論理積出力を各NANDゲートに分配するAND回路12を用いた構成である。
FIG. 4 shows a configuration example of a random number generation circuit according to the second embodiment of the present invention.
4, in the second embodiment, the operation ON / OFF control signal of the first embodiment shown in FIG. 1 or FIG. 3 is inverted by an inverter 31 instead of the buffer 11 that distributes to each NAND gate of the ring oscillator 10-1. This is a configuration using an AND circuit 12 that distributes a logical product output of a sampling clock and an operation ON / OFF control signal to each NAND gate.

これにより、動作ON/OFF制御信号がLow またはサンプリングクロックがHighのときに、リングオシレータ10−1のNANDゲート出力はHighに固定され、動作ON/OFF制御信号がHighかつサンプリングクロックがLow で発振動作を開始する。このとき、特定のNANDゲートではなく、ランダムに決まるいずれかのNANDゲートを起点として発振動作が開始する。したがって、動作開始直後に再現性のないランダムな乱数を生成できるだけでなく、本実施例の構成では1クロック毎にリセット動作が入るため1クロック前後の生成乱数と相関を持たないランダム乱数を生成することができる。   As a result, when the operation ON / OFF control signal is Low or the sampling clock is High, the NAND gate output of the ring oscillator 10-1 is fixed to High, and the operation ON / OFF control signal is High and the sampling clock is Low. Start operation. At this time, the oscillation operation starts from any NAND gate determined at random instead of a specific NAND gate. Therefore, not only can random random numbers without reproducibility be generated immediately after the start of operation, but also the configuration of this embodiment generates a random random number that has no correlation with the generated random numbers around one clock because a reset operation is performed every clock. be able to.

図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と同様である。
FIG. 5 shows a configuration example of a random number generation circuit according to the third embodiment of the present invention.
In FIG. 5, when at least one of the M ring oscillators 10-1 to 10-M is configured with N NAND gates as in the first embodiment, the intermediate node output of each ring oscillator Are respectively latched by the preceding D-FFs 23-1 to 23-M synchronized with the sampling clock. Further, each output of the front stage D-FFs 23-1 to 23-M is input to the M input XOR 21 and the output thereof is input to the rear stage D-FF 24. The rear stage D-FF 24 latches the output of the M input XOR 21 by a sampling clock synchronized with the front stage D-FFs 23-1 to 23-M, and outputs it as a random value. The basic operation is the same as in the first embodiment.

図6は、本発明の実施例4の乱数生成回路の構成例を示す。
図6において、実施例4は、図5に示す実施例3の動作ON/OFF制御信号をリングオシレータ10−1の各NANDゲートに分配するバッファ11に代えて、インバータ31で反転したサンプリングクロックと動作ON/OFF制御信号の論理積出力を各NANDゲートに分配するAND回路12を用いた構成である。
FIG. 6 shows a configuration example of a random number generation circuit according to the fourth embodiment of the present invention.
In FIG. 6, the fourth embodiment has a sampling clock inverted by an inverter 31 instead of the buffer 11 that distributes the operation ON / OFF control signal of the third embodiment shown in FIG. 5 to each NAND gate of the ring oscillator 10-1. This is a configuration using an AND circuit 12 that distributes the logical product output of the operation ON / OFF control signal to each NAND gate.

これにより、動作ON/OFF制御信号がLow またはサンプリングクロックがHighのときに、リングオシレータ10−1のNANDゲート出力はHighに固定され、動作ON/OFF制御信号がHighかつサンプリングクロックがLow で発振動作を開始する。このとき、特定のNANDゲートではなく、ランダムに決まるいずれかのNANDゲートを起点として発振動作が開始する。したがって、動作開始直後に再現性のないランダムな乱数を生成できるだけでなく、本実施例の構成では1クロック毎にリセット動作が入るため1クロック前後の生成乱数と相関を持たないランダム乱数を生成することができる。   As a result, when the operation ON / OFF control signal is Low or the sampling clock is High, the NAND gate output of the ring oscillator 10-1 is fixed to High, and the operation ON / OFF control signal is High and the sampling clock is Low. Start operation. At this time, the oscillation operation starts from any NAND gate determined at random instead of a specific NAND gate. Therefore, not only can random random numbers without reproducibility be generated immediately after the start of operation, but also the configuration of this embodiment generates a random random number that has no correlation with the generated random numbers around one clock because a reset operation is performed every clock. be able to.

図7は、本発明の実施例5の乱数生成回路の構成例を示す。本実施例は、実施例3の回路をシリアル処理化した構成である。   FIG. 7 shows a configuration example of a random number generation circuit according to the fifth embodiment of the present invention. In this embodiment, the circuit of the third embodiment is serialized.

図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の出力をラッチし、乱数値として出力する。   In FIG. 7, as in the first and third embodiments, the intermediate node output of the ring oscillator 10 composed of N NAND gates is latched by the preceding stage D-FF 23-1 synchronized with the sampling clock of the frequency S. Further, the output selected by the selector 26 between the output of the previous stage D-FF 23-1 and the output of the 2-input XOR 25 is latched by the previous stage D-FF 23-2 synchronized with the sampling clock of the frequency S. The 2-input XOR 25 inputs the output of the previous stage D-FF 23-1 and the output of the previous stage D-FF 23-2, and outputs the XOR output to the selector 26. Further, the output of the front stage D-FF 23-2 is input to the rear stage D-FF 24. The rear stage D-FF 24 latches the output of the front stage D-FF 23-2 with an output clock having a frequency S / M obtained by dividing the sampling clock having the frequency S by M, and outputs the result as a random value.

制御部200は、動作ON/OFF制御信号とシステムクロックを入力し、システムクロックを分周して前段D−FF23−1,23−2に与えるサンプリングクロック、セレクタ26に与えるセレクタ制御信号、後段D−FF24に与える出力用クロック、および乱数有効表示信号を生成する。   The control unit 200 receives an operation ON / OFF control signal and a system clock, divides the system clock, provides a sampling clock to the preceding D-FFs 23-1 and 23-2, a selector control signal to be supplied to the selector 26, and a subsequent D An output clock to be supplied to the FF 24 and a random number valid display signal are generated.

図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の出力をラッチし、乱数値として出力する。
FIG. 8 illustrates an operation example of the control unit 200 according to the fifth embodiment.
A sampling clock generated by dividing the system clock by 4 when the operation ON / OFF control signal is High is supplied to the preceding D-FFs 23-1 and 23-2. Further, when the operation ON / OFF control signal is High, a selector control signal and an output clock are generated from the sampling clock. The selector control signal for controlling the selector 26 selects the latch output of the preceding stage D-FF 23-1 at a frequency of once every M sampling clocks, and (M-1) times the latch output of the preceding stage D-FF 23-1. And the XOR output of the latch output of the preceding stage D-FF 23-2. This is equivalent to latching the outputs for each sampling of the M ring oscillators 10-1 to 10-M of the third embodiment by the preceding stage D-FFs 23-1 to 23-M and inputting them to the M input XOR21. is there. The output clock is a clock having a frequency S / M obtained by dividing the sampling clock having the frequency S by M. The subsequent stage D-FF 22 latches the output of the previous stage D-FF 23-2 with this output clock and outputs it as a random value.

このように、周波数SのサンプリングクロックがMクロック経過すると、実施例3で示したM個のリングオシレータ10−1〜10−Mの中間ノードのXOR出力を得る構成と等価な回路がシリアル回路として実現される。乱数有効表示信号については、実施例1で説明したことと同様に、所定のタイミングで有効とする構成であればよい。   As described above, when M sampling clocks of the frequency S have elapsed, a circuit equivalent to the configuration for obtaining the XOR output of the intermediate nodes of the M ring oscillators 10-1 to 10-M shown in the third embodiment is a serial circuit. Realized. The random number valid display signal may be configured to be valid at a predetermined timing, as described in the first embodiment.

図9は、本発明の実施例6の乱数生成回路の構成例を示す。
図9において、実施例6は、図7に示す実施例5の動作ON/OFF制御信号をリングオシレータ10の各NANDゲートに分配するバッファ11に代えて、インバータ31で反転したサンプリングクロックと動作ON/OFF制御信号の論理積出力を各NANDゲートに分配するAND回路12を用いた構成である。
FIG. 9 shows a configuration example of a random number generation circuit according to the sixth embodiment of the present invention.
In FIG. 9, in the sixth embodiment, instead of the buffer 11 that distributes the operation ON / OFF control signal of the fifth embodiment shown in FIG. 7 to each NAND gate of the ring oscillator 10, the sampling clock inverted by the inverter 31 and the operation ON The AND circuit 12 distributes the logical product output of the / OFF control signal to each NAND gate.

これにより、動作ON/OFF制御信号がLow またはサンプリングクロックがHighのときに、リングオシレータ10のNANDゲート出力はHighに固定され、動作ON/OFF制御信号がHighかつサンプリングクロックがLow で発振動作を開始する。このとき、特定のNANDゲートではなく、ランダムに決まるいずれかのNANDゲートを起点として発振動作が開始する。したがって、動作開始直後に再現性のないランダムな乱数を生成できるだけでなく、本実施例の構成では1クロック毎にリセット動作が入るため1クロック前後の生成乱数と相関を持たないランダム乱数を生成することができる。   As a result, when the operation ON / OFF control signal is Low or the sampling clock is High, the NAND gate output of the ring oscillator 10 is fixed to High, and the oscillation operation is performed when the operation ON / OFF control signal is High and the sampling clock is Low. Start. At this time, the oscillation operation starts from any NAND gate determined at random instead of a specific NAND gate. Therefore, not only can random random numbers without reproducibility be generated immediately after the start of operation, but also the configuration of this embodiment generates a random random number that has no correlation with the generated random numbers around one clock because a reset operation is performed every clock. be able to.

10 リングオシレータ
11 バッファ
12 AND回路
21 M入力XOR
22 D−FF
23 前段D−FF
24 後段D−FF
25 2入力XOR
26 セレクタ
31 インバータ
100,200 制御部
10 Ring oscillator 11 Buffer 12 AND circuit 21 M input XOR
22 D-FF
23 First stage D-FF
24 latter stage D-FF
25 2-input XOR
26 Selector 31 Inverter 100, 200 Control unit

Claims (8)

1以上のリングオシレータの出力を用いて乱数を生成する乱数生成回路において、
少なくとも1つのリングオシレータは、一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成され、各論理ゲートの他方の入力に当該論理ゲートのインバータ動作をONまたはOFFとする動作ON/OFF制御信号が接続され、各論理ゲートの出力にそれぞれインバータが接続され、それらインバータのいずれか1つの出力を当該リングオシレータの出力とする構成である
ことを特徴とする乱数生成回路。
In a random number generation circuit that generates a random number using the output of one or more ring oscillators,
At least one ring oscillator is composed of an odd number of logic gates having one input connected to the output of another logic gate, and the inverter operation of the logic gate is turned ON or OFF at the other input of each logic gate. An operation ON / OFF control signal is connected, an inverter is connected to the output of each logic gate, and one of the outputs of the inverter is used as an output of the ring oscillator.
一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成された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つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。
M1 (M1 is an integer of 1 or more) first ring oscillators composed of odd-numbered logic gates, one input of which is connected to the output of the other logic gate;
M2 (M2 is an integer greater than or equal to 0, M1 + M2 is an integer greater than or equal to 2) second ring oscillator configured with an even number of stages of inverters and one stage of logic gates;
(M1 + M2) input XOR for exclusive-ORing the intermediate node output of the first ring oscillator and the intermediate node output of the second ring oscillator;
D-FF which latches the output of the (M1 + M2) input XOR with a sampling clock and outputs it as a random value;
A control unit for generating the sampling clock,
An operation ON / OFF control signal for turning ON or OFF the inverter operation of the logic gate is connected to the other input of each logic gate constituting the first ring oscillator,
An inverter is connected to the output of each logic gate that constitutes the first ring oscillator,
A random number generation circuit, characterized in that any one output of the inverter is used as an intermediate node output of the ring oscillator.
一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成された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つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。
M1 (M1 is an integer of 1 or more) first ring oscillators composed of odd-numbered logic gates, one input of which is connected to the output of the other logic gate;
A second ring oscillator of M2 (M2 is an integer greater than or equal to 0 and M1 + M2 is an integer greater than or equal to 2) composed of an even number of inverters and one logic gate;
(M1 + M2) input XOR for exclusive-ORing the intermediate node output of the first ring oscillator and the intermediate node output of the second ring oscillator;
D-FF which latches the output of the (M1 + M2) input XOR with a sampling clock and outputs it as a random value;
A control unit for generating the sampling clock,
An AND output of an operation ON / OFF control signal for turning the inverter operation of the logic gate ON or OFF and an inverted signal of the sampling clock is connected to the other input of each logic gate constituting the first ring oscillator. ,
An inverter is connected to the output of each logic gate that constitutes the first ring oscillator,
A random number generation circuit, characterized in that any one output of the inverter is used as an intermediate node output of the ring oscillator.
一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成された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つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。
M1 (M1 is an integer of 1 or more) first ring oscillators composed of odd-numbered logic gates, one input of which is connected to the output of the other logic gate;
A second ring oscillator of M2 (M2 is an integer greater than or equal to 0 and M1 + M2 is an integer greater than or equal to 2) composed of an even number of inverters and one logic gate;
(M1 + M2) preceding stage D-FFs that latch the intermediate node output of the first ring oscillator and the intermediate node output of the second ring oscillator, respectively, with a sampling clock;
(M1 + M2) input XOR for taking the exclusive OR of the latch outputs of the (M1 + M2) previous stage D-FFs;
A subsequent stage D-FF that latches the output of the (M1 + M2) input XOR with the sampling clock and outputs it as a random value;
A control unit for generating the sampling clock,
An operation ON / OFF control signal for turning ON or OFF the inverter operation of the logic gate is connected to the other input of each logic gate constituting the first ring oscillator,
An inverter is connected to the output of each logic gate that constitutes the first ring oscillator,
A random number generation circuit, characterized in that any one output of the inverter is used as an intermediate node output of the ring oscillator.
一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成された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つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。
M1 (M1 is an integer of 1 or more) first ring oscillators composed of odd-numbered logic gates, one input of which is connected to the output of the other logic gate;
A second ring oscillator of M2 (M2 is an integer greater than or equal to 0 and M1 + M2 is an integer greater than or equal to 2) composed of an even number of inverters and one logic gate;
(M1 + M2) preceding stage D-FFs that latch the intermediate node output of the first ring oscillator and the intermediate node output of the second ring oscillator, respectively, with a sampling clock;
(M1 + M2) input XOR for taking the exclusive OR of the latch outputs of the (M1 + M2) previous stage D-FFs;
A subsequent stage D-FF that latches the output of the (M1 + M2) input XOR with the sampling clock and outputs it as a random value;
A control unit for generating the sampling clock,
An AND output of an operation ON / OFF control signal for turning the inverter operation of the logic gate ON or OFF and an inverted signal of the sampling clock is connected to the other input of each logic gate constituting the first ring oscillator. ,
An inverter is connected to the output of each logic gate that constitutes the first ring oscillator,
A random number generation circuit, characterized in that any one output of the inverter is used as an intermediate node output of the ring oscillator.
一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたリングオシレータと、
前記リングオシレータの中間ノード出力を周波数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つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。
A ring oscillator composed of an odd number of logic gates with one input connected to the output of the other logic gate;
A first pre-stage D-FF that latches an intermediate node output of the ring oscillator with a sampling clock having a frequency S;
A second preceding stage D-FF that latches an input signal with a sampling clock of frequency S;
A two-input XOR that performs an exclusive OR of the latch output of the second previous stage D-FF and the latch output of the first previous stage D-FF;
According to the selector control signal, the output of the first preceding D-FF is selected once every M times of the sampling clock (M is an integer of 2 or more), and (M-1) times of the sampling clock. A selector for selecting an output of the two-input XOR and inputting the output to the second previous stage D-FF;
A second stage D-FF that latches an output of the second front stage D-FF with an output clock having a frequency S / M obtained by dividing the sampling clock of the frequency S by M;
A control unit for generating a sampling clock of the frequency S, the selector control signal, and an output clock of the frequency S / M;
An operation ON / OFF control signal for turning on or off the inverter operation of the logic gate is connected to the other input of each logic gate constituting the ring oscillator,
An inverter is connected to the output of each logic gate that constitutes the ring oscillator,
A random number generation circuit, characterized in that any one output of the inverter is used as an intermediate node output of the ring oscillator.
一方の入力が他の論理ゲートの出力に接続された奇数段の論理ゲートで構成されたリングオシレータと、
前記リングオシレータの中間ノード出力を周波数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つの出力を当該リングオシレータの中間ノード出力とする構成である
ことを特徴とする乱数生成回路。
A ring oscillator composed of an odd number of logic gates with one input connected to the output of the other logic gate;
A first pre-stage D-FF that latches an intermediate node output of the ring oscillator with a sampling clock having a frequency S;
A second preceding stage D-FF that latches an input signal with a sampling clock of frequency S;
A two-input XOR that performs an exclusive OR of the latch output of the second previous stage D-FF and the latch output of the first previous stage D-FF;
According to the selector control signal, the output of the first preceding D-FF is selected once every M times of the sampling clock (M is an integer of 2 or more), and (M-1) times of the sampling clock. A selector for selecting an output of the two-input XOR and inputting the output to the second previous stage D-FF;
A second stage D-FF that latches an output of the second front stage D-FF with an output clock having a frequency S / M obtained by dividing the sampling clock of the frequency S by M;
A control unit for generating a sampling clock of the frequency S, the selector control signal, and an output clock of the frequency S / M;
Connected to the other input of each logic gate constituting the ring oscillator is an AND output of an operation ON / OFF control signal for turning ON or OFF the inverter operation of the logic gate and an inverted signal of the sampling clock of the frequency S. ,
An inverter is connected to the output of each logic gate that constitutes the ring oscillator,
A random number generation circuit, characterized in that any one output of the inverter is used as an intermediate node output of the ring oscillator.
請求項1〜請求項7のいずれかに記載の乱数生成回路において、
前記論理ゲートは、NANDゲートまたはNORゲートであることを特徴とする乱数生成回路。
In the random number generation circuit according to any one of claims 1 to 7,
The random number generation circuit, wherein the logic gate is a NAND gate or a NOR gate.
JP2010279262A 2010-12-15 2010-12-15 Random number generator Active JP5356362B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010279262A JP5356362B2 (en) 2010-12-15 2010-12-15 Random number generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010279262A JP5356362B2 (en) 2010-12-15 2010-12-15 Random number generator

Publications (2)

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

Family

ID=46646355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010279262A Active JP5356362B2 (en) 2010-12-15 2010-12-15 Random number generator

Country Status (1)

Country Link
JP (1) JP5356362B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014102768A (en) * 2012-11-21 2014-06-05 Toshiba Corp Random number generator circuit
GB2510448A (en) * 2012-11-16 2014-08-06 Advanced Risc Mach Ltd Random number generator circuit with bit-level seed input
JP2018112861A (en) * 2017-01-11 2018-07-19 キヤノン株式会社 Random number generating device and integrated circuit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0799450A (en) * 1993-09-28 1995-04-11 Nippondenso Co Ltd Pulse phase difference coding circuit
JP2005018251A (en) * 2003-06-24 2005-01-20 Renesas Technology Corp Random number generator
JP2005057164A (en) * 2003-08-07 2005-03-03 Matsushita Electric Ind Co Ltd Semiconductor device
JP2007034836A (en) * 2005-07-28 2007-02-08 Renesas Technology Corp Random number generator
JP2009086848A (en) * 2007-09-28 2009-04-23 Fujitsu Microelectronics Ltd Semiconductor device, method for controlling semiconductor device, and method for creating control information of semiconductor device
JP2011520178A (en) * 2008-04-14 2011-07-14 シーメンス アクチエンゲゼルシヤフト Bit sequence generation method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0799450A (en) * 1993-09-28 1995-04-11 Nippondenso Co Ltd Pulse phase difference coding circuit
JP2005018251A (en) * 2003-06-24 2005-01-20 Renesas Technology Corp Random number generator
JP2005057164A (en) * 2003-08-07 2005-03-03 Matsushita Electric Ind Co Ltd Semiconductor device
JP2007034836A (en) * 2005-07-28 2007-02-08 Renesas Technology Corp Random number generator
JP2009086848A (en) * 2007-09-28 2009-04-23 Fujitsu Microelectronics Ltd Semiconductor device, method for controlling semiconductor device, and method for creating control information of semiconductor device
JP2011520178A (en) * 2008-04-14 2011-07-14 シーメンス アクチエンゲゼルシヤフト Bit sequence generation method and apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2510448A (en) * 2012-11-16 2014-08-06 Advanced Risc Mach Ltd Random number generator circuit with bit-level seed input
US9141338B2 (en) 2012-11-16 2015-09-22 Arm Limited Storage circuit with random number generation mode
GB2510448B (en) * 2012-11-16 2020-04-08 Advanced Risc Mach Ltd Storage circuit with random number generation mode
JP2014102768A (en) * 2012-11-21 2014-06-05 Toshiba Corp Random number generator circuit
US9547475B2 (en) 2012-11-21 2017-01-17 Kabushiki Kaisha Toshiba Random number generating circuit
JP2018112861A (en) * 2017-01-11 2018-07-19 キヤノン株式会社 Random number generating device and integrated circuit

Also Published As

Publication number Publication date
JP5356362B2 (en) 2013-12-04

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
US9846568B2 (en) System and method for dynamic tuning feedback control for random number generator
JP5074359B2 (en) Random number generator
KR100668554B1 (en) Random number generator with ring oscillation circuit
KR101987141B1 (en) Random number generator
TWI520055B (en) Apparatus and method for generating a random number
US9047152B2 (en) Delay device, method, and random number generator using the same
JP2018507468A (en) Method and apparatus for generating random numbers based on bit cell settling time
US20130346459A1 (en) Method for generating random numbers
Wu et al. A new digital true random number generator based on delay chain feedback loop
JP5465636B2 (en) Random number generator
JP5356362B2 (en) Random number generator
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 (en) Storage circuit with random number generation mode
Dan et al. A modeling attack resistant R-XOR APUF based on FPGA
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
Ma et al. A low-cost high-efficiency true random number generator on FPGAs
TWI497409B (en) Random number generator and method for generating random number thereof
Yao et al. DCDRO: A true random number generator based on dynamically configurable dual-output ring oscillator
Anchana et al. Design of PUF Based Chaotic Random Number Generator

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