JP4982750B2 - Random number generator and method of creating random number generator - Google Patents

Random number generator and method of creating random number generator Download PDF

Info

Publication number
JP4982750B2
JP4982750B2 JP2007011347A JP2007011347A JP4982750B2 JP 4982750 B2 JP4982750 B2 JP 4982750B2 JP 2007011347 A JP2007011347 A JP 2007011347A JP 2007011347 A JP2007011347 A JP 2007011347A JP 4982750 B2 JP4982750 B2 JP 4982750B2
Authority
JP
Japan
Prior art keywords
random number
number generator
circuit
ring oscillator
wiring
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
JP2007011347A
Other languages
Japanese (ja)
Other versions
JP2008176698A (en
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.)
THE UNIVERSITY OF ELECTRO-COMUNICATINS
Original Assignee
THE UNIVERSITY OF ELECTRO-COMUNICATINS
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 THE UNIVERSITY OF ELECTRO-COMUNICATINS filed Critical THE UNIVERSITY OF ELECTRO-COMUNICATINS
Priority to JP2007011347A priority Critical patent/JP4982750B2/en
Publication of JP2008176698A publication Critical patent/JP2008176698A/en
Application granted granted Critical
Publication of JP4982750B2 publication Critical patent/JP4982750B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、乱数発生器に関し、特にリングオシレータを基本構成とする真の乱数発生を可能とする乱数発生器及び乱数発生器の作成方法に関する。   The present invention relates to a random number generator, and more particularly to a random number generator capable of generating a true random number based on a ring oscillator and a method for creating the random number generator.

モンテカルロ法などのシミュレーション分野や、暗号およびセキュリティー分野における鍵生成、鍵交換、回路のマスクなどでは、大量の乱数やよく散らばった,乱数性のよい乱数が必要とされることが多い。   In simulation fields such as the Monte Carlo method, key generation, key exchange, and circuit masking in the cryptography and security fields, large numbers of random numbers and random numbers with good randomness are often required.

乱数には大きく分けて真の乱数と疑似乱数がある。真の乱数とは、予測が不可能で再現性のない乱数のことである。通常は、熱雑音や核分裂などの本質的にランダムな物理的現象を基に乱数を生成し、離散化・符号化の後に後処理をする。このため、アナログ回路を必要とするので、外部回路を付加することが多い。外部に特別な回路が必要となることから、実装の高密度化や低消費電力化,耐タンパー性などの点で問題がある。そのため、外部回路によらず、FPGA(Field Programmable Gate Array)のみを用いて真の乱数を生成する試みがなされている。   Random numbers are roughly classified into true random numbers and pseudo-random numbers. True random numbers are random numbers that cannot be predicted and are not reproducible. Normally, random numbers are generated based on essentially random physical phenomena such as thermal noise and fission, and post-processing is performed after discretization and encoding. For this reason, since an analog circuit is required, an external circuit is often added. Since a special circuit is required outside, there are problems in terms of mounting density, low power consumption, and tamper resistance. Therefore, an attempt has been made to generate a true random number using only an FPGA (Field Programmable Gate Array) regardless of an external circuit.

例えば、アナログPLL(Phase locked Loop)を用いて乱数を生成する例では、アナログPLLを搭載しているある特定のFPGAのみでしか構成できない。   For example, in an example in which a random number is generated using an analog PLL (Phase locked Loop), the random number can be configured only by a specific FPGA equipped with the analog PLL.

又、FPGAの外部に抵抗とコンデンサからなる外部回路を付加して乱数を生成する例では、FPGAの製造元やその種類に依存せず乱数を発生することができるが、乱数の生成が外部の回路に依存するため、付加回路が除去されれば乱数の生成が止まること、及び生成する乱数が外部からサンプリング可能であることから、セキュリティーの面で問題点がある。   In addition, in the example of generating a random number by adding an external circuit consisting of a resistor and a capacitor to the outside of the FPGA, the random number can be generated regardless of the manufacturer of the FPGA and its type, but the generation of the random number is an external circuit. Therefore, if the additional circuit is removed, the generation of random numbers stops, and the generated random numbers can be sampled from the outside, so there is a problem in terms of security.

一方、プログラマブルなデジタル回路であるFPGAを用い外部回路を要しない真の乱数の生成手法が提案されている(例えば、非特許文献1及び2参照。)。FPGAの内部で閉じた回路が構成できるので、耐タンパー性,コストの削減,IP(Intellectual Property)コアとしての回路の面で有用である。非特許文献1においては、デジタル回路のみを用い、複数のリングオシレータによるジッターを基にした乱数生成器を理論的な立場から検討している。非特許文献1においては、CPLD(Complex Programmable Logic Device)やFPGAも検討しているが実際の評価は行っていない。又、非特許文献2においては、特定の条件に限定した実装を行い評価を行っている。   On the other hand, a method of generating a true random number using an FPGA which is a programmable digital circuit and requiring no external circuit has been proposed (see, for example, Non-Patent Documents 1 and 2). Since a closed circuit can be configured inside the FPGA, it is useful in terms of tamper resistance, cost reduction, and a circuit as an IP (Intellectual Property) core. In Non-Patent Document 1, a random number generator using only a digital circuit and based on jitter caused by a plurality of ring oscillators is studied from a theoretical standpoint. In Non-Patent Document 1, CPLD (Complex Programmable Logic Device) and FPGA are also examined, but actual evaluation is not performed. Further, in Non-Patent Document 2, evaluation is performed by performing mounting limited to a specific condition.

一方、縦続接続された複数段の論理ゲート出力の一部を帰還抵抗を介して入力側に帰還させて発振する発振部を備え、論理ゲートには、所定の抵抗を介して電源電圧が供給され、所定の抵抗は絶縁層を介して信号線に積層されていることを特徴とする乱数発生集積回路については、既に開示されている(例えば、特許文献1参照。)。
特許第3650826号公報 ビー・スーナー,ダブリュー・ジェイ・マーティン,及びデイー・アール・スティンソン(B. Suner, W.J.Martin, and D.R.Stinson)著, “証明可能な安全性を有し攻撃耐性を内蔵する真の乱数生成器(A Provably Secure True Random Number Generator with Built-in Tolerance to Active Attacks)”, March 29, 2006,http://www.cacr.math.uwaterloo.ca/~dstinson/papers/rng-IEEE.pdf ディー・シェレケンス,ビィー・プレニール,及びアイ・ベルボウヘーデ(D.Schellekens, B. Preneel, and I. Verbauwhede)著, “FPGAベンダーに依存しない真の乱数生成器(FPGA vendor agnostic True Random Number Generator)”, Proc. 16th International Conference on Field Programmable Logic and Applications (FPL 2006), August 28-30,セッションM3.A Cryptographic Applications ,http://www.cosic.esat.kuleuven.be/publications/article-790.pdf
On the other hand, an oscillation unit that oscillates by feeding back some of the cascaded logic gate outputs to the input side via a feedback resistor is supplied to the logic gate via a predetermined resistor. A random number generating integrated circuit characterized in that the predetermined resistor is laminated on the signal line through an insulating layer has already been disclosed (see, for example, Patent Document 1).
Japanese Patent No. 3650826 By B. Suner, W. Martin, and DRStinson, “A true random number generator with provable security and built-in attack resistance (A Provably Secure True Random Number Generator with Built-in Tolerance to Active Attacks) ”, March 29, 2006, http://www.cacr.math.uwaterloo.ca/~dstinson/papers/rng-IEEE.pdf “FPGA vendor agnostic True Random Number Generator” by D. Schellekens, B. Preneel, and I. Verbauwhede, “FPGA vendor agnostic True Random Number Generator” Proc. 16th International Conference on Field Programmable Logic and Applications (FPL 2006), August 28-30, Session M3.A Cryptographic Applications, http://www.cosic.esat.kuleuven.be/publications/article-790.pdf

本発明は、積極的に配線資源による遅延回路 を導入し、配線資源のジッターも利用するリングオシレータによる真の乱数発生器及び乱数発生器の作成方法を提供することを目的とする。 The present invention is a delay circuit that actively uses wiring resources. The present invention aims to provide a true random number generator using a ring oscillator that also uses jitter of wiring resources and a method of creating the random number generator.

また本発明は、プログラム可能な集積回路において、積極的に配線資源による遅延回路 を導入し、配線資源のジッターも利用するリングオシレータによる真の乱数発生器及び乱数発生器の作成方法を提供することを目的とする。 The present invention also relates to a delay circuit that actively uses wiring resources in a programmable integrated circuit. The present invention aims to provide a true random number generator using a ring oscillator that also uses jitter of wiring resources and a method of creating the random number generator.

上記目的を達成するための本発明の請求項1に記載の乱数発生器は、 複数の論理素子で構成されるリングオシレータの当該論理素子間のいずれか又は全てに少なくとも一個以上の配線資源からなる遅延回路が設けられているリングオシレータと、前記リングオシレータの出力に接続され、所定のサンプリング周波数でジッター出力を抽出するサンプリング回路とを備え、前記論理素子は、プログラム可能な集積回路内に設けられるロジックエレメントで構成され、前記配線資源は、前記集積回路において、前記ロジックエレメント近傍に配置されるローカルインターコネクト、カラム方向に延伸するカラムインターコネクト、及び/又はロウ方向に延伸するロウインターコネクトで構成されることを特徴とする。 In order to achieve the above object, a random number generator according to claim 1 of the present invention comprises at least one or more wiring resources in any or all of the logic elements of a ring oscillator composed of a plurality of logic elements. A ring oscillator provided with a delay circuit; and a sampling circuit connected to an output of the ring oscillator and extracting a jitter output at a predetermined sampling frequency , wherein the logic element is provided in a programmable integrated circuit In the integrated circuit, the wiring resource is composed of a local interconnect arranged in the vicinity of the logic element, a column interconnect extending in the column direction, and / or a row interconnect extending in the row direction. It is characterized by.

本発明の請求項2に記載の乱数発生器は、複数の論理素子で構成されるリングオシレータの当該論理素子間のいずれか又は全てに少なくとも一個以上の配線資源からなる遅延回路が設けられている複数のリングオシレータと、前記複数のリングオシレータの出力に接続され,前記複数のリングオシレータの排他的論理和出力を発生する排他的論理和回路と、前記排他的論理和回路の出力に接続され,所定のサンプリング周波数でジッター出力を抽出するサンプリング回路とを備え、前記論理素子は、プログラム可能な集積回路内に設けられるロジックエレメントで構成され、前記配線資源は、前記集積回路において、前記ロジックエレメント近傍に配置されるローカルインターコネクト、カラム方向に延伸するカラムインターコネクト、及び/又はロウ方向に延伸するロウインターコネクトで構成されることを特徴とする。 The random number generator according to claim 2 of the present invention is provided with a delay circuit composed of at least one or more wiring resources in any or all of the logic elements of a ring oscillator composed of a plurality of logic elements. A plurality of ring oscillators, connected to outputs of the plurality of ring oscillators, connected to an exclusive OR circuit for generating an exclusive OR output of the plurality of ring oscillators, and connected to an output of the exclusive OR circuit; A sampling circuit for extracting a jitter output at a predetermined sampling frequency , wherein the logic element is composed of a logic element provided in a programmable integrated circuit, and the wiring resource is in the vicinity of the logic element in the integrated circuit. A local interconnect, a column interconnect extending in the column direction, and / or Characterized in that consists of row interconnect extending in the row direction.

本発明の請求項3に記載の乱数発生器は、請求項1又は請求項2に記載の乱数発生器において、前記サンプリング回路の出力に接続され,前記ジッター出力を加工処理する後処理回路を更に備えることを特徴とする。 The random number generator according to claim 3 of the present invention is the random number generator according to claim 1 or 2, further comprising a post-processing circuit connected to the output of the sampling circuit and for processing the jitter output. It is characterized by providing.

本発明の請求項4に記載の乱数発生器の作成方法は、複数のロジックエレメントと,当該ロジックエレメントを電気的に接続する配線資源と,当該配線資源の交差点に設けられ,配線切り替えを行うスイッチング素子を少なくとも備えるプログラム可能な集積回路内に乱数発生器を設ける乱数発生器の作成方法において、前記複数のロジックエレメントを用いて少なくとも一つのリングオシレータを形成するリングオシレータ形成ステップと、前記リングオシレータを構成する一のロジックエレメントと他のロジックエレメントの間に、少なくとも一つ以上のスイッチング素子を含む一定長の配線資源を設けるジッター生成ステップと、前記リングオシレータ形成ステップ及びジッター生成ステップにより生成された出力信号を所定のサンプリング周波数でサンプリング抽出するサンプリング抽出ステップとを有する乱数発生器の作成方法。 According to a fourth aspect of the present invention, there is provided a method for creating a random number generator, comprising: a plurality of logic elements; a wiring resource for electrically connecting the logic elements; In a method for producing a random number generator in which a random number generator is provided in a programmable integrated circuit including at least an element, a ring oscillator forming step for forming at least one ring oscillator using the plurality of logic elements, and the ring oscillator A jitter generation step of providing a fixed-length wiring resource including at least one or more switching elements between one logic element and another logic element, and an output generated by the ring oscillator formation step and the jitter generation step Predetermined signal The method of creating a random number generator and a sampling extracting step of sampling extracted with ring frequency.

本発明の乱数発生器及び乱数発生器の作成方法によれば、真の乱数を発生することができる。   According to the random number generator and the method of creating the random number generator of the present invention, a true random number can be generated.

次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであり、現実のものとは異なることに留意すべきである。又、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることはもちろんである。 Next, embodiments of the present invention will be described with reference to the drawings. In the following description of the drawings, the same or similar parts are denoted by the same or similar reference numerals. However, it should be noted that the drawings are schematic and different from the actual ones. Moreover, it is a matter of course that portions having different dimensional relationships and ratios are included between the drawings.

また、以下に示す実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、各構成部品の配置などを下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。 Further, the embodiment described below exemplifies an apparatus and a method for embodying the technical idea of the present invention. The technical idea of the present invention is the arrangement of each component as described below. It is not something specific. The technical idea of the present invention can be variously modified within the scope of the claims.

[第1実施形態]
本発明の第1の実施の形態に係る乱数発生器は、複数の論理素子で構成されるリングオシレータの当該論理素子間のいずれか又は全てに少なくとも一個以上の配線資源からなる遅延回路が設けられているリングオシレータと、リングオシレータの出力に接続され、所定のサンプリング周波数でジッター出力を抽出するサンプリング回路とを備える。
[First embodiment]
The random number generator according to the first embodiment of the present invention is provided with a delay circuit composed of at least one wiring resource in any or all of the logic elements of a ring oscillator composed of a plurality of logic elements. A ring oscillator, and a sampling circuit connected to the output of the ring oscillator for extracting a jitter output at a predetermined sampling frequency.

リングオシレータとは、複数のゲートをリング状につなぎ発振させる回路である。通常、奇数段のNOTゲートQ1, Q2,…,Q2n+1(ここで、nは、1以上の整数)を図1(a)のように構成する。リングオシレータによる発振器は温度や外部の状況などの影響を強く受け、水晶発振器などと比べると不安定であり、ジッターが大きい。 A ring oscillator is a circuit that connects and oscillates a plurality of gates in a ring shape. Normally, odd-numbered NOT gates Q 1 , Q 2 ,..., Q 2n + 1 (where n is an integer of 1 or more) are configured as shown in FIG. An oscillator based on a ring oscillator is strongly affected by temperature and external conditions, and is unstable and has a large jitter compared to a crystal oscillator.

本発明の第1の実施の形態に係る乱数発生器においては、図1(b)に示すように、奇数段のNOTゲートQ1, Q2,…,Q2n+1に加えて、このジッターの発生源として、積極的に配線資源による遅延回路Dn を導入し、乱数発生に利用する。 In the random number generator according to the first embodiment of the present invention, as shown in FIG. 1 (b), an odd number of stages NOT gate Q 1, Q 2, ..., in addition to Q 2n + 1, the jitter As a generation source, a delay circuit D n based on wiring resources is positively introduced and used for random number generation.

本発明の第1の実施の形態に係るリングオシレータによる真の乱数発生回路は、図1(c)に示すように、ノイズソース部14とノイズソースの偏りやビットレートの調整などを行う後処理部16からなる。   The true random number generation circuit using the ring oscillator according to the first embodiment of the present invention performs post-processing for adjusting the bias of the noise source 14 and the noise source, adjusting the bit rate, and the like, as shown in FIG. Part 16.

ノイズソース部14は、単位時間当たりのジッターの割合を増やすために複数のリングオシレータの出力を排他的論理和で束ねてもよく、そのため、図1(c)に示す構成例では、排他的論理和リングオシレータ10を備える。更に、一定時間間隔で乱数を発生するため、一定周波数で排他的論理和リングオシレータ10出力をサンプリングするためのサンプリング回路12を備える。複数のリングオシレータの代わりに、図1(b)に示すように、単一のリングオシレータを用いてもよい。   The noise source unit 14 may bundle the outputs of a plurality of ring oscillators with exclusive OR in order to increase the rate of jitter per unit time. Therefore, in the configuration example shown in FIG. A sum ring oscillator 10 is provided. Further, in order to generate a random number at a constant time interval, a sampling circuit 12 for sampling the output of the exclusive OR ring oscillator 10 at a constant frequency is provided. Instead of a plurality of ring oscillators, a single ring oscillator may be used as shown in FIG.

図2は、リングオシレータによる真の乱数発生回路において、図1(a)に示すように、積極的に配線資源による遅延回路Dn を導入しない場合のリングオシレータ(タイプA:比較例)の発振波形と、図1(b)に示すように、積極的に配線資源による遅延回路Dn を導入した場合のリングオシレータ(タイプB:本発明)の発振波形との比較を模式的に示す。 FIG. 2 shows an oscillation of a ring oscillator (type A: comparative example) in a case where a true random number generating circuit using a ring oscillator does not actively introduce a delay circuit D n due to wiring resources as shown in FIG. FIG. 1 schematically shows a comparison between the waveform and the oscillation waveform of the ring oscillator (type B: the present invention) when the delay circuit D n is actively introduced as shown in FIG. 1B.

図2中には、サンプリング波形も示されている。本発明の第1の実施の形態に係るリングオシレータによる真の乱数発生回路においては、積極的に配線資源による遅延回路Dn を導入することによって、ジッター間隔を、j1>j0と増大するとともに、発振周期もT1>T0と増加し、発振周期に対するジッター間隔の割合も、j1/T1>j0/T0となり増大する。 In FIG. 2, a sampling waveform is also shown. In the true random number generation circuit using the ring oscillator according to the first embodiment of the present invention, the jitter interval is increased as j 1 > j 0 by positively introducing the delay circuit D n using the wiring resources. At the same time, the oscillation period increases as T 1 > T 0, and the ratio of the jitter interval to the oscillation period also increases as j 1 / T 1 > j 0 / T 0 .

図3は、本発明の第1の実施の形態に係る乱数発生器において、単位時間当たりのジッターの割合を増やすためにノイズソース部14において、3個のリングオシレータの出力を排他的論理和回路18で束ねて、全信号中のジッターの割合を増加する波形例を模式的に示す。図3(a)乃至図3(c)に示す個々のリングオシレータの出力を、排他的論理和回路18で束ねて図3(d)に示すように、ジッター間隔、ジッター割合の増大した出力波形を得ることができる。   FIG. 3 shows an exclusive OR circuit that outputs the outputs of three ring oscillators in the noise source unit 14 in order to increase the rate of jitter per unit time in the random number generator according to the first embodiment of the present invention. 18 schematically shows an example of a waveform that is bundled at 18 to increase the ratio of jitter in all signals. Outputs of individual ring oscillators shown in FIGS. 3 (a) to 3 (c) are bundled by an exclusive OR circuit 18 and an output waveform having an increased jitter interval and jitter ratio is obtained as shown in FIG. 3 (d). Can be obtained.

図4乃至図5は本発明の第1の実施の形態に係る乱数発生回路において、リングオシレータの構成の各種変形例を示す。   4 to 5 show various modifications of the configuration of the ring oscillator in the random number generation circuit according to the first embodiment of the present invention.

図4(a)は、3段のNOTゲートQ1,Q2, Q3と遅延回路D1からなるリングオシレータを示す。図4(b)は、3段のNOTゲートQ1,Q2, Q3と遅延回路D1,D2からなるリングオシレータを示す。図4(c)も、3段のNOTゲートQ1,Q2, Q3と遅延回路D1,D2からなるリングオシレータを示し、遅延回路D1,D2の配置を変更した例を示す。 FIG. 4A shows a ring oscillator including three stages of NOT gates Q 1 , Q 2 , Q 3 and a delay circuit D 1 . FIG. 4B shows a ring oscillator comprising three stages of NOT gates Q 1 , Q 2 , Q 3 and delay circuits D 1 , D 2 . FIG. 4C also shows a ring oscillator comprising three stages of NOT gates Q 1 , Q 2 , Q 3 and delay circuits D 1 , D 2 , and shows an example in which the arrangement of the delay circuits D 1 , D 2 is changed. .

図5(a)は、複数の奇数段のNOTゲート・・・Qn-1,Qn,Qn+1,・・・と各々のNOTゲートに対応する遅延回路・・・Dn-1,Dn,Dn+1,・・・からなるリングオシレータを示す。図5(b)は、図5(a)のNOTゲート・・・Qn-1,Qn,Qn+1,・・・の各々をpチャネルトランジスタQA、及びnチャネルトランジスタQBからなるCMOSインバータによって構成した例を示す。各々のCMOSインバータは電源電圧VDDと接地電位間に接続され、かつ各々のCMOSインバータ間には、遅延回路・・・Dn-1,Dn,Dn+1,・・・が接続されている。 5A shows a plurality of odd-stage NOT gates Q n−1 , Q n , Q n + 1 ,... And delay circuits corresponding to the respective NOT gates D n−1. , D n , D n + 1 ,... 5B shows the NOT gates... Q n−1 , Q n , Q n + 1 ,... Of FIG. 5A from the p-channel transistor Q A and the n-channel transistor Q B. An example constituted by a CMOS inverter is shown. Each CMOS inverter is connected between the power supply voltage V DD and the ground potential, and delay circuits... D n−1 , D n , D n + 1 ,. ing.

ここで、配線資源とは、集積回路内の配線のみならず、バッファ回路、NOTゲート間のルート選択により、中間に介在する複数の論理素子(ロジックエレメント)、スイッチ回路なども含まれる。   Here, the wiring resources include not only wiring in the integrated circuit but also a plurality of logic elements (logic elements), switch circuits, and the like that are interposed between the buffer circuit and the route selection between the NOT gates.

又、NOTゲートQ1, Q2,…,Q2n+1は単なるインバータのみならず、ロジックアレイ内,ゲートアレイ内,プログラマブルゲートアレイ内,或いは図9乃至図16において詳述するFPGA内などの論理素子(ロジックエレメント)も含まれる。 In addition, NOT gates Q 1 , Q 2 ,..., Q 2n + 1 are not only inverters but also in logic arrays, gate arrays, programmable gate arrays, or FPGAs described in detail in FIGS. A logic element is also included.

又、NOTゲートには、単純な1入力1出力のNOTゲート以外にも、2入力1出力のNANDゲートの入力をつなげて1入力として用いた場合なども含まれ、更に又、排他的論理和(XOR)ゲートなども利用可能である。   In addition to a simple 1-input 1-output NOT gate, the NOT gate includes a case where a 2-input 1-output NAND gate is connected to be used as one input. An (XOR) gate or the like can also be used.

従って、配線資源には、これらの集積回路内の配線のみならず、このようなロジックアレイ内,ゲートアレイ内,プログラマブルゲートアレイ内,或いはFPGA内などの論理素子(ロジックエレメント)間のルート選択により、中間に介在する複数のバッファ回路、複数の論理素子、スイッチ回路なども含まれる。   Therefore, the wiring resources include not only wiring in these integrated circuits but also route selection between logic elements (logic elements) such as in a logic array, in a gate array, in a programmable gate array, or in an FPGA. In addition, a plurality of buffer circuits, a plurality of logic elements, a switch circuit, and the like interposed in the middle are also included.

従って、本発明の実施の形態に係る乱数発生器に適用されるリングオシレータは、単なるインバータチェーンのみならず、積極的に配線資源を介在し、ロジックアレイ内,ゲートアレイ内,プログラマブルゲートアレイ内,或いはFPGA内などの論理素子(ロジックエレメント)間をリング状に接続した回路構成も含まれる。   Therefore, the ring oscillator applied to the random number generator according to the embodiment of the present invention is not only a simple inverter chain but also actively intervenes wiring resources, in a logic array, in a gate array, in a programmable gate array, Alternatively, a circuit configuration in which logic elements in the FPGA or the like are connected in a ring shape is also included.

本発明の第1の実施の形態に係る乱数発生器によれば、積極的に配線資源による遅延回路 を導入し、配線資源のジッターも利用するリングオシレータによる真の乱数発生器を提供することができる。 According to the random number generator according to the first embodiment of the present invention, the delay circuit positively using wiring resources And a true random number generator using a ring oscillator that also uses the jitter of the wiring resources can be provided.

[第2実施形態]
本発明の第2の実施の形態に係る乱数発生器は、複数の論理素子で構成されるリングオシレータの当該論理素子間のいずれか又は全てに少なくとも一個以上の配線資源からなる遅延回路が設けられている複数のリングオシレータと、複数のリングオシレータの出力に接続され,複数のリングオシレータの排他的論理和出力を発生する排他的論理和回路と、排他的論理和回路の出力に接続され,所定のサンプリング周波数でジッター出力を抽出するサンプリング回路とを備える。
[Second Embodiment]
The random number generator according to the second embodiment of the present invention is provided with a delay circuit including at least one wiring resource in any or all of the logic elements of a ring oscillator composed of a plurality of logic elements. Are connected to the outputs of the plurality of ring oscillators and the outputs of the plurality of ring oscillators, and are connected to the outputs of the exclusive OR circuits for generating the exclusive OR outputs of the plurality of ring oscillators and the outputs of the exclusive OR circuits. And a sampling circuit for extracting the jitter output at the sampling frequency.

図6は、本発明の比較例に係る乱数発生器の模式的回路構成を示す。ノイズソース部について示されており、後処理部については、省略している。   FIG. 6 shows a schematic circuit configuration of a random number generator according to a comparative example of the present invention. The noise source section is shown, and the post-processing section is omitted.

図6に示す比較例に係る乱数発生器では、図1(a)に示すリングオシレータの基本回路構成例を複数配置し、複数のリングオシレータの出力を排他的論理和回路18で束ねる。更に、排他的論理和回路18の出力信号を、Dタイプフリップフロップ回路(D−FF)20に入力し、一定時間間隔で乱数を発生させるため、一定の周波数でサンプリングし、乱数出力を得る。ここで、図6に示すように、リングオシレータの長さをl、リングオシレータの数をk、サンプリング周波数をfSと定義する。 In the random number generator according to the comparative example shown in FIG. 6, a plurality of basic circuit configuration examples of the ring oscillator shown in FIG. 1A are arranged, and the outputs of the plurality of ring oscillators are bundled by the exclusive OR circuit 18. Further, the output signal of the exclusive OR circuit 18 is input to a D-type flip-flop circuit (D-FF) 20, and a random number is sampled at a constant frequency to generate a random number at a constant time interval, thereby obtaining a random number output. Here, as shown in FIG. 6, the length of the ring oscillator is defined as l, the number of ring oscillators is defined as k, and the sampling frequency is defined as f S.

図7は、本発明の第2の実施の形態に係る乱数発生器の模式的回路構成を示す。ノイズソース部について示されており、後処理部については、省略している。   FIG. 7 shows a schematic circuit configuration of a random number generator according to the second embodiment of the present invention. The noise source section is shown, and the post-processing section is omitted.

図7に示す本発明の第2の実施の形態に係る乱数発生器では、図4(c)に示す本発明の第1の実施の形態に係る乱数発生器に適用したリングオシレータと同様の構成例をk個配置し、k個のリングオシレータの出力を排他的論理和回路18で束ねる。更に、排他的論理和回路18の出力信号を、Dタイプフリップフロップ回路(D−FF)20に入力し、一定時間間隔で乱数を発生させるため、サンプリング周波数fSでサンプリングし、乱数出力を得る。図7において、A1,A2,…,Ak、1,B2,,Bk、及びC1,C2,…,Ckと表示する23は、いずれもNOTゲートを示す。ICと表示する22は、インターコネクトであり、配線資源を示す。 The random number generator according to the second embodiment of the present invention shown in FIG. 7 has the same configuration as the ring oscillator applied to the random number generator according to the first embodiment of the present invention shown in FIG. K examples are arranged, and outputs of k ring oscillators are bundled by an exclusive OR circuit 18. Further, the output signal of the exclusive OR circuit 18 is input to a D-type flip-flop circuit (D-FF) 20 and a random number is sampled at a sampling frequency f S in order to generate a random number at regular time intervals to obtain a random number output. . In FIG 7, A 1, A 2, ..., A k, B 1, B 2 ,, B k, and C 1, C 2, ..., 23 for displaying the C k are each shows a NOT gate. An IC 22 is an interconnect indicating a wiring resource.

図8は、本発明の第2の実施の形態の変形例に係る乱数発生器の模式的回路構成を示す。図8に示す例では、図5(a)に示す本発明の第1の実施の形態に係る乱数発生器に適用したリングオシレータと同様の構成例をk個配置し、k個のリングオシレータの出力を排他的論理和回路18で束ねる。更に、排他的論理和回路18の出力信号を、Dタイプフリップフロップ回路(D−FF)20に入力し、一定時間間隔で乱数を発生させるため、サンプリング周波数fSでサンプリングし、乱数出力を得る。図8において、N11,N21,…,Nk1、12,N22,…,Nk2、…及びN1n,N2n,…,Nknと表示する23は、いずれもNOTゲートを示す。ICと表示する22は、インターコネクトであり、配線資源を示すことは図7と同様である。 FIG. 8 shows a schematic circuit configuration of a random number generator according to a modification of the second embodiment of the present invention. In the example shown in FIG. 8, k configuration examples similar to the ring oscillator applied to the random number generator according to the first embodiment of the present invention shown in FIG. 5A are arranged, and the k ring oscillators are arranged. The output is bundled by the exclusive OR circuit 18. Further, the output signal of the exclusive OR circuit 18 is input to a D-type flip-flop circuit (D-FF) 20 and a random number is sampled at a sampling frequency f S in order to generate a random number at regular time intervals to obtain a random number output. . In FIG. 8, N 11, N 21, ..., N k1, N 12, N 22, ..., N k2, ... and N 1n, N 2n, ..., to display the N kn 23 shows both NOT gate . An IC 22 is an interconnect, and the wiring resource is the same as in FIG.

本発明の第2の実施の形態に係る乱数発生器によれば、積極的に配線資源による遅延回路 を導入し、配線資源のジッターも利用するリングオシレータを並列化構成して、ジッター量を増加した真の乱数発生器を提供することができる。 According to the random number generator according to the second embodiment of the present invention, the delay circuit positively using wiring resources Can be provided, and a ring oscillator that also uses wiring resource jitter can be configured in parallel to provide a true random number generator with an increased amount of jitter.

[第3実施形態]
(FPGA)
本発明の第3の実施の形態に係る乱数発生器は、FPGAのみを用いる例を示す。FPGAのみを用いて真の乱数を生成するには、第1の実施の形態に係る乱数発生器に示すように、リングオシレータを用いる。しかも、必要とされる乱数性を得るために多数のリングオシレータを必要とするが、回路コストの増加を抑制するために、本発明の第3の実施の形態に係る乱数発生器においては、リングオシレータの一部に、乱数の基となるジッターを発生させる配線資源(インターコネクト)による遅延回路を積極的に導入し、真の乱数発生に利用する。
[Third embodiment]
(FPGA)
The random number generator according to the third embodiment of the present invention shows an example using only FPGA. In order to generate a true random number using only the FPGA, a ring oscillator is used as shown in the random number generator according to the first embodiment. In addition, a large number of ring oscillators are required to obtain the required randomness. In order to suppress an increase in circuit cost, the random number generator according to the third embodiment of the present invention uses a ring generator. A delay circuit using a wiring resource (interconnect) that generates jitter as a basis for random numbers is actively introduced into a part of the oscillator and used for generating a true random number.

FPGAの資源はルックアップテーブルやレジスタを含む論理素子資源と配線資源からなる。例えば、FPGAの基本単位は、図9に示すように、最小の回路単位であるロジックエレメント(LE)24が10個まとまったロジックアレイブロック(LAB)25と、LAB25の周囲に配置されるローカルインターコネクト26と、ローカルインターコネクト26及びLAB25の周囲に配置され,カラム方向に延伸するカラムインターコネクト(CL)27と、同じくローカルインターコネクト26及びLAB25の周囲に配置され,ロウ方向に延伸するロウインターコネクト(RL)28とを備える。   FPGA resources are composed of logic element resources including lookup tables and registers, and wiring resources. For example, as shown in FIG. 9, the basic unit of the FPGA is a logic array block (LAB) 25 in which 10 logic elements (LE) 24, which are the smallest circuit units, and a local interconnect arranged around the LAB 25. 26, a column interconnect (CL) 27 disposed around the local interconnect 26 and LAB 25 and extending in the column direction, and a row interconnect (RL) 28 disposed around the local interconnect 26 and LAB 25 and extending in the row direction. With.

ローカルインターコネクト26、カラムインターコネクト(CL)27及びロウインターコネクト(RL)28によって、FPGAにおけるプログラマブルな配線を実現することができる。カラムインターコネクト(CL)27及びロウインターコネクト(RL)28の交点には、トランジスタによるスイッチが配置されており、そこにはジッターが存在し得る。   Programmable wiring in the FPGA can be realized by the local interconnect 26, the column interconnect (CL) 27, and the row interconnect (RL) 28. At the intersection of the column interconnect (CL) 27 and the row interconnect (RL) 28, a transistor switch is arranged, and jitter may exist there.

本発明の第3の実施の形態に係る乱数発生器は、FPGAの最小の回路単位であるロジックエレメント(LE)24をNOTゲートとし、リングオシレータのNOTゲートの間に、ローカルインターコネクト26、カラムインターコネクト(CL)27及びロウインターコネクト(RL)28などによって構成される配線資源(インターコネクト)を挿入する。このように構成することで、発振波形のジッターを増加することができる。   The random number generator according to the third embodiment of the present invention uses a logic element (LE) 24, which is the smallest circuit unit of the FPGA, as a NOT gate, and a local interconnect 26 and a column interconnect between the NOT gates of the ring oscillator. A wiring resource (interconnect) composed of (CL) 27 and row interconnect (RL) 28 is inserted. With this configuration, the jitter of the oscillation waveform can be increased.

例えば、配線資源(インターコネクト)を積極的に導入しない場合には、LAB25内のLE24を個々のNOTゲートとして構成し、それぞれをリング状に接続したものを並列化することで、図6に示す比較例に係る乱数発生器と同様の乱数発生器を構成することができる。   For example, when wiring resources (interconnects) are not actively introduced, the LE 24 in the LAB 25 is configured as individual NOT gates, and each of them connected in a ring shape is parallelized, so that the comparison shown in FIG. A random number generator similar to the random number generator according to the example can be configured.

一方、配線資源(インターコネクト)を積極的に導入する場合には、例えば、図10に示すように、INV1、INV2、及びINV3で示される別々のLAB25内のLE24を個々のNOTゲートとして構成し、その間を点線及び実線で示すように、配線資源(インターコネクト)でリング状に接続したものを並列化することで、図7に示すに本発明の第2の実施の形態に係る乱数発生器と同様の乱数発生器をFPGA上において構成することができる。すなわち、図7に示すように、リングオシレータの長さl=3とし、インターコネクト(IC)22を2箇所に挿入したリングオシレータを並列化した構成例を、FPGAを用いて実現することができる。FPGAは、図11に示すように、マトリックス状に配置された複数のLAB25と、カラム方向に延伸する複数のカラムインターコネクト…,CLi-4,CLi-3,CLi-2,CLi-1,CLi,CLi+1,CLi+2,…と、ロウ方向に延伸する複数のロウインターコネクト…,RLi-1,RLi,RLi+1,…を備える。従って、NOTゲート間の配線資源(インターコネクト)は、FPGA上のカラムインターコネクト、ロウインターコネクトの経路選択により任意に選定することができる。図11においては、ローカルインターコネクト26については省略されている。 On the other hand, when actively introducing wiring resources (interconnects), for example, as shown in FIG. 10, the LEs 24 in separate LABs 25 indicated by INV1, INV2, and INV3 are configured as individual NOT gates. As shown by the dotted line and the solid line between them, the wiring resources (interconnects) connected in a ring shape are arranged in parallel, so that the random number generator according to the second embodiment of the present invention shown in FIG. Random number generators can be configured on the FPGA. That is, as shown in FIG. 7, a configuration example in which ring oscillator length l = 3 and ring oscillators with interconnects (ICs) 22 inserted in two places is parallelized can be realized using FPGA. As shown in FIG. 11, the FPGA includes a plurality of LABs 25 arranged in a matrix and a plurality of column interconnects extending in the column direction..., CL i-4 , CL i-3 , CL i-2 , CL i- 1 , CL i , CL i + 1 , CL i + 2 ,... And a plurality of row interconnects extending in the row direction, RL i−1 , RL i , RL i + 1 ,. Therefore, the wiring resources (interconnects) between the NOT gates can be arbitrarily selected by the route selection of the column interconnect and row interconnect on the FPGA. In FIG. 11, the local interconnect 26 is omitted.

リングオシレータの数kは、例えば、配線資源(インターコネクト)による遅延回路を積極的に導入しない場合には、k=110〜210であるのに対して、配線資源(インターコネクト)による遅延回路を積極的に導入した場合には、例えば、k=110よりも減少することができる。   The number k of ring oscillators is, for example, k = 110 to 210 when the delay circuit due to the wiring resource (interconnect) is not actively introduced, whereas the delay circuit due to the wiring resource (interconnect) is positive. For example, when it is introduced in FIG.

比較例に係る乱数発生器と配線資源(インターコネクト)を有効活用する本発明の第3の実施の形態に係る乱数発生器を比較する。   The random number generator according to the third embodiment of the present invention that effectively uses the wiring resource (interconnect) is compared with the random number generator according to the comparative example.

比較例に係る乱数発生器は、図6に示すようにリングオシレータを構成し、各リングオシレータの長さをl=3、リングオシレータの数をk=20としたものである。20個のリングオシレータの出力の排他的論理和をサンプリング周波数fS=50MHzでサンプリングし、乱数生成器の出力を得る。 The random number generator according to the comparative example constitutes a ring oscillator as shown in FIG. 6, wherein the length of each ring oscillator is 1 = 3 and the number of ring oscillators is k = 20. The exclusive OR of the outputs of the 20 ring oscillators is sampled at the sampling frequency f S = 50 MHz, and the output of the random number generator is obtained.

本発明の第3の実施の形態に係る乱数発生器の具体的な配置構成例を図12及び図13に示す。図13は、図12の経路選択を説明するために、FPGA上における詳細な配置構成例を示す。図12及び図13中のA,B,Cはそれぞれ1つのNOTゲートに対応し、Bをひとつだけ離すことで、A−B間、B−C間にインターコネクトを挿入している。   A specific arrangement configuration example of the random number generator according to the third embodiment of the present invention is shown in FIGS. FIG. 13 shows a detailed arrangement configuration example on the FPGA in order to explain the route selection of FIG. Each of A, B, and C in FIGS. 12 and 13 corresponds to one NOT gate, and an interconnect is inserted between A and B and B and C by separating B by one.

図12及び図13の例では、A−B間に1.365nsの配線遅延をもつインターコネクトを、B−C間に1.334nsの配線遅延をもつインターコネクトを挿入している。この配線遅延は、図13に示すように、ロウインターコネクト3単位分、カラムインターコネクト3単位分の和に相当する。C−A間の配線遅延は、同一のLAB25内であることから、0.367nsと小さい。   In the example of FIGS. 12 and 13, an interconnect having a wiring delay of 1.365 ns is inserted between A and B, and an interconnect having a wiring delay of 1.334 ns is inserted between B and C. As shown in FIG. 13, this wiring delay corresponds to the sum of three row interconnect units and three column interconnect units. The wiring delay between C and A is as small as 0.367 ns because it is within the same LAB 25.

(乱数発生器の作成方法)
本発明の第3の実施の形態に係る乱数発生器の作成方法は、例えば、以下の通りである。
(How to create a random number generator)
A method of creating a random number generator according to the third embodiment of the present invention is as follows, for example.

複数のLE24と,当該LE24を電気的に接続する配線資源(インターコネクト)と,当該配線資源(インターコネクト)の交差点に設けられ,配線切り替えを行うスイッチング素子を少なくとも備えるプログラム可能な集積回路内に乱数発生器を設ける乱数発生器の作成方法において、(a)複数のLE24を用いて少なくとも一つのリングオシレータを形成するリングオシレータ形成ステップと、(b)リングオシレータを構成する一のLE24と他のLE24の間に、少なくとも一つ以上のスイッチング素子を含む一定長の配線資源を設けるジッター生成ステップと、(c)リングオシレータ形成ステップ及びジッター生成ステップにより生成された出力信号を所定のサンプリング周波数fSでサンプリング抽出するサンプリング抽出ステップとを有する。 Random number generation in a programmable integrated circuit provided at the intersection of a plurality of LEs 24, wiring resources (interconnects) for electrically connecting the LEs 24, and the wiring resources (interconnects) and switching elements for switching the wirings In the method of creating a random number generator provided with a generator, (a) a ring oscillator forming step for forming at least one ring oscillator using a plurality of LEs 24, (b) one LE 24 constituting the ring oscillator and another LE 24 A jitter generation step of providing a fixed-length wiring resource including at least one or more switching elements in between, and (c) sampling the output signal generated by the ring oscillator formation step and the jitter generation step at a predetermined sampling frequency f S Sampling extraction to extract And a step.

(乱数性評価の方法)
乱数発生器の評価は、回路面積や生成速度、生成される乱数の乱数性により行うことができる。回路面積は、FPGAの必要とされるLE24によって決定され、生成速度は、回路動作周波数によって決定される。乱数性は、種々の統計テストから評価される。
(Randomness evaluation method)
The random number generator can be evaluated based on the circuit area, the generation speed, and the randomness of the generated random number. The circuit area is determined by the required LE 24 of the FPGA, and the generation speed is determined by the circuit operating frequency. Randomness is evaluated from various statistical tests.

本発明の第3の実施の形態に係る乱数発生器の評価においては、NISTSP800−22(http://csrc.nist.gov/publications/nistpubs/index.html: A Statistical Test Suite for Random and Pseudo-random Number Generators for Cryptographics Applications)に示される15種類の検定を行った。検定には、図6と同様に比較例の回路構成の場合と、
図7と同様に本発明の実施の形態に係る回路構成の場合を、それぞれについて1000サンプ(1サンプル当たり1,000,000ビット)で比較した。乱数テストで用いたパラメータは、図14に示すとおりである。パラメータl=3,k=20,fS=50MHzは同一とした。
In the evaluation of the random number generator according to the third embodiment of the present invention, NISTSP 800-22 (http://csrc.nist.gov/publications/nistpubs/index.html: A Statistical Test Suite for Random and Pseudo- random number generators for Cryptographics Applications). For the test, the case of the circuit configuration of the comparative example as in FIG.
As in FIG. 7, the circuit configurations according to the embodiment of the present invention were compared at 1000 sumps (1,000,000 bits per sample) for each. The parameters used in the random number test are as shown in FIG. The parameters l = 3, k = 20, and f S = 50 MHz were the same.

通常、真の乱数生成器は、より乱数性のよい乱数を生成するために、図1(c)に示したように、後処理部16を用いるが、ここでは、配線資源(インターコネクト)を追加したことによる乱数性の違いを見るために、後処理部16を介さず、乱数生成出力をそのまま直接NISTSP800−22にかけ、統計的性質を調べた。   Normally, a true random number generator uses a post-processing unit 16 as shown in FIG. 1C in order to generate a random number having better randomness, but here, a wiring resource (interconnect) is added. In order to see the difference in randomness due to the above, the random number generation output was directly applied to NISTSP 800-22 without going through the post-processing unit 16 and the statistical properties were examined.

(乱数性評価結果)
回路面積については、比較例に係る乱数発生器、本発明の第3の実施の形態に係る乱数発生器ともに、LE数67であった。生成速度については、比較例に係る乱数発生器、本発明の第3の実施の形態に係る乱数発生器ともに、サンプリング周波数fS=50MHzより50Mbpsであった。
(Randomness evaluation result)
Regarding the circuit area, both the random number generator according to the comparative example and the random number generator according to the third embodiment of the present invention had an LE number of 67. The generation speed was 50 Mbps from the sampling frequency f S = 50 MHz for both the random number generator according to the comparative example and the random number generator according to the third embodiment of the present invention.

乱数性の評価結果を図15に示す。図15はそれぞれの検定項目に対して有意確率(p-value)を計算し、その値の分布度合い(一様性)と検定合格率(比率)をまとめたものである。図15において、各検定につき、○は合格、×は不合格を意味する。Non-overlapping Template検定については、テンプレートサイズが9の時、148種のテンプレートに対して行った結果を合格、不合格の個数で表している。   The evaluation result of randomness is shown in FIG. FIG. 15 shows the significance (p-value) calculated for each test item, and the distribution degree (uniformity) of the value and the test pass rate (ratio) are summarized. In FIG. 15, for each test, ○ means pass and x means fail. With respect to the non-overlapping template test, when the template size is 9, the results obtained for 148 types of templates are represented by the number of accepted and rejected.

図15から明らかなように、比較例に係る乱数発生器、本発明の第3の実施の形態に係る乱数発生器ともに多くの検定に合格していない。これは前述のように、リングオシレータの個数kは20個であり、生成されるジッターの割合が少ないためである。しかしながら、配線資源(インターコネクト)を用いる本発明の第3の実施の形態に係る乱数発生器においては、明らかに比較例に係る乱数発生器よりも乱数性は増加していることがわかる。   As is clear from FIG. 15, neither the random number generator according to the comparative example nor the random number generator according to the third embodiment of the present invention has passed many tests. As described above, this is because the number k of ring oscillators is 20, and the ratio of generated jitter is small. However, it can be seen that the random number generator according to the third embodiment of the present invention using wiring resources (interconnect) clearly has a higher randomness than the random number generator according to the comparative example.

本発明の第3の実施の形態に係る乱数発生器において、Non-overlapping Template検定の結果の詳細は、図16に示すように表される。図16は、同検定の148種類のテンプレートの内、異なる検定結果をもたらす場合を抜き出したものである。図16から明らかなように、比較例に係る乱数発生器においては合格しなかった多くのテンプレート検定が、本発明の第3の実施の形態に係る乱数発生器においては合格していることがわかる。   In the random number generator according to the third embodiment of the present invention, details of the result of the non-overlapping template test are expressed as shown in FIG. FIG. 16 shows a case where different test results are obtained from 148 types of templates of the same test. As can be seen from FIG. 16, many template tests that did not pass in the random number generator according to the comparative example pass in the random number generator according to the third embodiment of the present invention. .

又、図16において、離散フーリエ変換(DFT:Discrete Fourier transform)やSerial 2の検定では、比較例に係る乱数発生器、本発明の第3の実施の形態に係る乱数発生器ともに合格しなかったが、本発明の第3の実施の形態に係る乱数発生器の合格比率(PROPORTION)は向上していることがわかる。   In FIG. 16, neither the random number generator according to the comparative example nor the random number generator according to the third embodiment of the present invention passed the discrete Fourier transform (DFT) or Serial 2 test. However, it can be seen that the acceptance ratio (PROPORTION) of the random number generator according to the third embodiment of the present invention is improved.

アプリケーションによっては、FPGA上の配線資源(インターコネクト)に余剰が生ずる場合もある。このため、この余剰の配線資源(インターコネクト)を有効に活用することで、回路設計の自由度を向上することができる。   Depending on the application, there may be a surplus in the wiring resources (interconnect) on the FPGA. For this reason, the degree of freedom in circuit design can be improved by effectively utilizing the surplus wiring resources (interconnects).

本発明の第3の実施の形態に係る乱数発生器によれば、FPGA上において、配線資源(インターコネクト)を積極的に活用し、リングオシレータによる真の乱数発生器を構成することができる。   According to the random number generator according to the third embodiment of the present invention, it is possible to construct a true random number generator using a ring oscillator by actively utilizing wiring resources (interconnects) on the FPGA.

[その他の実施の形態]
上記のように、本発明は第1乃至第3の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
[Other embodiments]
As described above, the present invention has been described according to the first to third embodiments. However, it should not be understood that the description and drawings constituting a part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art.

特に、本発明の第3の実施の形態に係る乱数発生器においては、FPGAを適用する例を開示しているが、FPGAに限定されるものではない。ゲートアレイ、ロジックアレイ、プログラマブルロジックアレイ或いはASICなどを用いても、同様に配線資源(インターコネクト)を積極的に活用することで、ジッターの増大した真の乱数発生器を構成することができる。
配線資源(インターコネクト)には、集積回路内の配線のみならず、NOTゲート間のルート選択により、中間に介在する複数の論理素子、スイッチ回路なども含まれる。又、NOTゲートは単なるインバータのみならず、ロジックアレイ内,ゲートアレイ内,或いはFPGA内のロジックエレメントなども含まれる。従って、配線資源(インターコネクト)には、これらの集積回路内の配線のみならず、このようなロジックアレイ内,ゲートアレイ内,或いはFPGA内のロジックエレメント間のルート選択により、中間に介在する複数の論理素子、スイッチ回路なども含まれる。
In particular, in the random number generator according to the third embodiment of the present invention, an example in which FPGA is applied is disclosed, but the present invention is not limited to FPGA. Even if a gate array, a logic array, a programmable logic array, an ASIC, or the like is used, a true random number generator with increased jitter can be configured by actively utilizing wiring resources (interconnects).
The wiring resource (interconnect) includes not only wiring in the integrated circuit but also a plurality of logic elements, switch circuits, and the like that are interposed in the middle by route selection between NOT gates. The NOT gate includes not only a simple inverter but also a logic element in the logic array, the gate array, or the FPGA. Therefore, in the wiring resource (interconnect), not only the wiring in these integrated circuits but also a plurality of intermediately arranged by route selection between logic elements in such logic array, gate array, or FPGA. Also included are logic elements, switch circuits, and the like.

従って、本発明の実施の形態に係る乱数発生器に適用されるリングオシレータは、単なるインバータチェーンのみならず、積極的に配線資源を介在し、ロジックアレイ内,ゲートアレイ内,或いはFPGA内のロジックエレメント間をリング状に接続した回路構成も含まれる。   Therefore, the ring oscillator applied to the random number generator according to the embodiment of the present invention is not only a simple inverter chain, but also actively intervenes wiring resources, and logic in the logic array, gate array, or FPGA. A circuit configuration in which elements are connected in a ring shape is also included.

従って、所望の長さl、所定の個数k、所定のサンプリング周波数fSを有する本発明の実施の形態に係る真の乱数発生器を所望のASICとして構成することもできる。 Therefore, a true random number generator according to the embodiment of the present invention having a desired length l, a predetermined number k, and a predetermined sampling frequency f S can be configured as a desired ASIC.

このように、本発明はここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。   As described above, the present invention naturally includes various embodiments that are not described herein. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.

[乱数発生器の使用方法]
本発明の実施の形態に係る乱数発生器は、例えば、鍵生成、鍵交換、回路のマスク、パチンコの確率変動等に用いることが可能である。これら鍵生成等に本乱数発生器を用いることにより、プログラム可能な集積回路の限られた資源を有効利用しつつ、真の乱数による鍵生成、鍵交換、回路のマスク、パチンコの確率変動等を行うことができる。
[How to use random number generator]
The random number generator according to the embodiment of the present invention can be used for, for example, key generation, key exchange, circuit mask, pachinko probability variation, and the like. By using this random number generator for key generation, etc., it is possible to generate keys with true random numbers, exchange keys, circuit masks, and change the probability of pachinko while effectively using the limited resources of programmable integrated circuits. It can be carried out.

又、本発明の実施の形態では乱数発生器として説明をしているが、この乱数発生器からサンプリング回路を除くことにより、単なるジッター発生器として利用することが可能である。この場合、本ジッター発生器は、ジッターを測定するジッター測定装置において、測定精度を検査するために用いるサンプル用のジッター発生器として用いることが可能である。   Although the embodiment of the present invention has been described as a random number generator, it can be used as a mere jitter generator by removing the sampling circuit from the random number generator. In this case, the present jitter generator can be used as a jitter generator for a sample used for inspecting measurement accuracy in a jitter measuring apparatus for measuring jitter.

(a)リングオシレータの基本回路構成例。(b)本発明の第1の実施の形態に係る乱数発生器を構成するリングオシレータの基本回路構成例。(c)本発明の第1の実施の形態に係る乱数発生器の模式的ブロック構成図。(A) A basic circuit configuration example of a ring oscillator. (B) The basic circuit structural example of the ring oscillator which comprises the random number generator which concerns on the 1st Embodiment of this invention. (C) The typical block block diagram of the random number generator which concerns on the 1st Embodiment of this invention. リングオシレータによる真の乱数発生回路において、積極的に配線資源による遅延回路Dn を導入しない場合のリングオシレータ(タイプA:比較例)の発振波形図と、積極的に配線資源による遅延回路Dn を導入した場合のリングオシレータ(タイプB:本発明)の発振波形図、及びサンプリング波形図。In the true random number generating circuit using a ring oscillator, actively in the case of not introducing a delay circuit D n-wired resources ring oscillator: delay and oscillation waveform diagram of the (Type A Comparative Example), due to aggressive interconnect resources circuits D n FIG. 2 is an oscillation waveform diagram and a sampling waveform diagram of a ring oscillator (type B: the present invention) in the case of introducing the signal. 本発明の第1の実施の形態に係る乱数発生器において、単位時間当たりのジッターの割合を増やすためにノイズソース部において、3個のリングオシレータの出力を排他的論理和回路で束ねて、全信号中のジッターの割合を増加する波形例を模式的に示す図であって、図3(a)乃至図3(c):個々のリングオシレータの出力波形図、図3(d):排他的論理和回路出力波形図。In the random number generator according to the first embodiment of the present invention, in order to increase the rate of jitter per unit time, in the noise source unit, the outputs of the three ring oscillators are bundled by an exclusive OR circuit. FIG. 3A to FIG. 3C are diagrams schematically showing waveform examples that increase the rate of jitter in a signal, and FIG. 3D is an exclusive waveform diagram of each ring oscillator. OR circuit output waveform diagram. (a)本発明の第1の実施の形態に係る乱数発生器を構成するリングオシレータの別の構成例。(b)本発明の第1の実施の形態に係る乱数発生器を構成するリングオシレータの更に別の構成例。(c)本発明の第1の実施の形態に係る乱数発生器を構成する更に別のリングオシレータの構成例。(A) Another configuration example of the ring oscillator constituting the random number generator according to the first embodiment of the present invention. (B) Still another configuration example of the ring oscillator constituting the random number generator according to the first embodiment of the present invention. (C) The structural example of another ring oscillator which comprises the random number generator which concerns on the 1st Embodiment of this invention. (a)本発明の第1の実施の形態に係る乱数発生器を構成する更に別のリングオシレータの構成例。(b)本発明の第1の実施の形態に係る乱数発生器を構成する更に別のリングオシレータの構成例。(A) The structural example of another ring oscillator which comprises the random number generator which concerns on the 1st Embodiment of this invention. (B) The structural example of another ring oscillator which comprises the random number generator which concerns on the 1st Embodiment of this invention. 本発明の比較例に係る乱数発生器の構成例。The structural example of the random number generator which concerns on the comparative example of this invention. 本発明の第2の実施の形態に係る乱数発生器の構成例。The structural example of the random number generator which concerns on the 2nd Embodiment of this invention. 本発明の第2の実施の形態の変形例に係る乱数発生器の構成例。The structural example of the random number generator which concerns on the modification of the 2nd Embodiment of this invention. 本発明の第3の実施の形態に係る乱数発生器に適用するFPGAの内部回路構成図。The internal circuit block diagram of FPGA applied to the random number generator which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施の形態に係る乱数発生器に適用するFPGAの内部回路構成例。The example of an internal circuit structure of FPGA applied to the random number generator which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施の形態に係る乱数発生器に適用するFPGAのLABの配置構成図。FIG. 10 is a layout configuration diagram of an FPGA LAB applied to a random number generator according to a third embodiment of the present invention. 本発明の第3の実施の形態に係る乱数発生器に適用するFPGAの中の回路位置図。The circuit position figure in FPGA applied to the random number generator which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施の形態に係る乱数発生器に適用するFPGAの中の詳細回路位置図。The detailed circuit position diagram in FPGA applied to the random number generator which concerns on the 3rd Embodiment of this invention. 本発明の第3の実施の形態に係る乱数発生器において、NISTSP800−22の統計テストで用いるパラメータ。The parameter used in the statistical test of NISTSP 800-22 in the random number generator according to the third embodiment of the present invention. 本発明の第3の実施の形態に係る乱数発生器において、NISTSP800−22による検査結果。In the random number generator which concerns on the 3rd Embodiment of this invention, the test result by NISTSP800-22. 本発明の第3の実施の形態に係る乱数発生器において、Non-overlapping Template検定の結果。The result of the Non-overlapping Template test in the random number generator concerning the 3rd embodiment of the present invention.

符号の説明Explanation of symbols

10…排他的論理和リングオシレータ
12…サンプリング回路
14…ノイズソース部
16…後処理部
18…排他的論理和回路(XOR)
20…Dタイプフリップフロップ(D−FF)
22…インターコネクト(IC)
23…NOTゲート
24…ロジックエレメント(LE)
25…ロジックアレイブロック(LAB)
26…ローカルインターコネクト
27,…,CLi-4,CLi-3,CLi-2,CLi-1,CLi,CLi+1,CLi+2,……カラムインターコネクト
28,…,RLi-1,RLi,RLi+1,……ロウインターコネクト
1,Q2,…,Qn-1,Qn,Qn+1,…,Q2n+1…、A1,A2,…,Ak、1,B2,,Bk、及びC1,C2,…,Ck、N11,N21,…,Nk1、12,N22,…,Nk2、…及びN1n,N2n,…,Nkn…NOTゲート
A…pチャネルMOSトランジスタ
B…nチャネルMOSトランジスタ
1,D2,…,Dn-1,Dn,Dn+1…遅延回路
τ1,τ2,…,τn-1,τn,τn+1…遅延時間
0,T1…周期
j0,j1…ジッター間隔
DESCRIPTION OF SYMBOLS 10 ... Exclusive OR ring oscillator 12 ... Sampling circuit 14 ... Noise source part 16 ... Post-processing part 18 ... Exclusive OR circuit (XOR)
20 ... D-type flip-flop (D-FF)
22 ... Interconnect (IC)
23 ... NOT gate 24 ... Logic element (LE)
25 ... Logic array block (LAB)
26 ... local interconnect 27, ..., CL i-4 , CL i-3, CL i-2, CL i-1, CL i, CL i + 1, CL i + 2, ...... column interconnect 28, ..., RL i-1, RL i, RL i + 1, ...... wax Interconnect Q 1, Q 2, ..., Q n-1, Q n, Q n + 1, ..., Q 2n + 1 ..., A 1, A 2 , ..., A k, B 1 , B 2 ,, B k, and C 1, C 2, ..., C k, N 11, N 21, ..., N k1, N 12, N 22, ..., N k2, ... and N 1n , N 2n , ..., N kn ... NOT gate Q A ... p-channel MOS transistor Q B ... n-channel MOS transistors D 1 , D 2 , ..., D n-1 , D n , D n + 1 ... Delay circuits τ 1 , τ 2 ,..., Τ n−1 , τ n , τ n + 1 ... Delay time T 0 , T 1 .
j 0 , j 1 ... Jitter interval

Claims (4)

複数の論理素子で構成されるリングオシレータの当該論理素子間のいずれか又は全てに少なくとも一個以上の配線資源からなる遅延回路が設けられているリングオシレータと、
前記リングオシレータの出力に接続され、所定のサンプリング周波数でジッター出力を抽出するサンプリング回路とを備え、
前記論理素子は、プログラム可能な集積回路内に設けられるロジックエレメントで構成され、前記配線資源は、前記集積回路において、前記ロジックエレメント近傍に配置されるローカルインターコネクト、カラム方向に延伸するカラムインターコネクト、及び/又はロウ方向に延伸するロウインターコネクトで構成されることを特徴とする乱数発生器。
A ring oscillator in which a delay circuit composed of at least one wiring resource is provided in any or all of the logic elements of a ring oscillator composed of a plurality of logic elements;
A sampling circuit connected to the output of the ring oscillator and extracting a jitter output at a predetermined sampling frequency ;
The logic element is composed of a logic element provided in a programmable integrated circuit, and the wiring resource is a local interconnect disposed in the vicinity of the logic element in the integrated circuit, a column interconnect extending in a column direction, and A random number generator comprising a row interconnect extending in the row direction .
複数の論理素子で構成されるリングオシレータの当該論理素子間のいずれか又は全てに少なくとも一個以上の配線資源からなる遅延回路が設けられている複数のリングオシレータと、
前記複数のリングオシレータの出力に接続され,前記複数のリングオシレータの排他的論理和出力を発生する排他的論理和回路と、
前記排他的論理和回路の出力に接続され,所定のサンプリング周波数でジッター出力を抽出するサンプリング回路とを備え、
前記論理素子は、プログラム可能な集積回路内に設けられるロジックエレメントで構成され、前記配線資源は、前記集積回路において、前記ロジックエレメント近傍に配置されるローカルインターコネクト、カラム方向に延伸するカラムインターコネクト、及び/又はロウ方向に延伸するロウインターコネクトで構成されることを特徴とする乱数発生器。
A plurality of ring oscillators in which a delay circuit composed of at least one wiring resource is provided in any or all of the logic elements of the ring oscillator composed of a plurality of logic elements;
An exclusive OR circuit connected to the outputs of the plurality of ring oscillators and generating an exclusive OR output of the plurality of ring oscillators;
A sampling circuit connected to the output of the exclusive OR circuit and extracting a jitter output at a predetermined sampling frequency ;
The logic element is composed of a logic element provided in a programmable integrated circuit, and the wiring resource is a local interconnect disposed in the vicinity of the logic element in the integrated circuit, a column interconnect extending in a column direction, and A random number generator comprising a row interconnect extending in the row direction .
前記サンプリング回路の出力に接続され,前記ジッター出力を加工処理する後処理回路を更に備えることを特徴とする請求項1又は請求項2に記載の乱数発生器。The random number generator according to claim 1, further comprising a post-processing circuit connected to an output of the sampling circuit and processing the jitter output. 複数のロジックエレメントと,当該ロジックエレメントを電気的に接続する配線資源と、当該配線資源の交差点に設けられ、配線切り替えを行うスイッチング素子を少なくとも備えるプログラム可能な集積回路内に乱数発生器を設ける乱数発生器の作成方法において、A random number in which a random number generator is provided in a programmable integrated circuit that includes at least a plurality of logic elements, wiring resources that electrically connect the logic elements, and switching elements that perform wiring switching at the intersection of the wiring resources. In the generator creation method,
前記複数のロジックエレメントを用いて少なくとも一つのリングオシレータを形成するリングオシレータ形成ステップと、  A ring oscillator forming step of forming at least one ring oscillator using the plurality of logic elements;
前記リングオシレータを構成する一のロジックエレメントと他のロジックエレメントの間に、少なくとも一つ以上のスイッチング素子を含む一定長の配線資源を設けるジッター生成ステップと、  A jitter generation step of providing a fixed-length wiring resource including at least one or more switching elements between one logic element and another logic element constituting the ring oscillator;
前記リングオシレータ形成ステップ及びジッター生成ステップにより生成された出力信号を所定のサンプリング周波数でサンプリング抽出するサンプリング抽出ステップと  A sampling extraction step for sampling the output signal generated by the ring oscillator formation step and the jitter generation step at a predetermined sampling frequency;
を有する乱数発生器の作成方法。  A method of creating a random number generator having
JP2007011347A 2007-01-22 2007-01-22 Random number generator and method of creating random number generator Active JP4982750B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007011347A JP4982750B2 (en) 2007-01-22 2007-01-22 Random number generator and method of creating random number generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007011347A JP4982750B2 (en) 2007-01-22 2007-01-22 Random number generator and method of creating random number generator

Publications (2)

Publication Number Publication Date
JP2008176698A JP2008176698A (en) 2008-07-31
JP4982750B2 true JP4982750B2 (en) 2012-07-25

Family

ID=39703655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007011347A Active JP4982750B2 (en) 2007-01-22 2007-01-22 Random number generator and method of creating random number generator

Country Status (1)

Country Link
JP (1) JP4982750B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011039846A1 (en) * 2009-09-29 2011-04-07 株式会社 東芝 Random number generation circuit
KR20120101837A (en) 2011-03-07 2012-09-17 삼성전자주식회사 Apparatus for generating random number
JP4983991B1 (en) 2011-04-07 2012-07-25 パナソニック株式会社 Random number generation apparatus and random number generation method
JP6472766B2 (en) 2016-03-16 2019-02-20 株式会社東芝 Random number generator
CN107222193B (en) * 2017-05-04 2020-12-22 河北新华北集成电路有限公司 Negative-voltage-to-positive-voltage control circuit with adjustable signal edge time delay at two sides
CN109117118B (en) * 2018-08-20 2022-09-30 合肥工业大学 Random number extraction method based on ring oscillator structure true random number generator
US11561769B2 (en) 2018-11-20 2023-01-24 Samsung Electronics Co., Ltd. Random number generator including a plurality of ring oscillators

Also Published As

Publication number Publication date
JP2008176698A (en) 2008-07-31

Similar Documents

Publication Publication Date Title
JP4982750B2 (en) Random number generator and method of creating random number generator
Kohlbrenner et al. An embedded true random number generator for FPGAs
US9405510B2 (en) Random number generator
Rosin et al. Ultra-fast physical generation of random numbers using hybrid boolean networks
EP1776757B1 (en) Random number generation based on logic circuits with feedback
Liu et al. A bias-bounded digital true random number generator architecture
Garipcan et al. Implementation and performance analysis of true random number generator on FPGA environment by using non-periodic chaotic signals obtained from chaotic maps
Mureddu et al. Experimental study of locking phenomena on oscillating rings implemented in logic devices
US8099449B1 (en) Method of and circuit for generating a random number using a multiplier oscillation
Sivaraman et al. FPGA based generic RO TRNG architecture for image confusion
Cerda et al. An efficient FPGA random number generator using LFSRs and cellular automata
Durga et al. Design and synthesis of LFSR based random number generator
Addabbo et al. Lightweight true random bit generators in PLDs: Figures of merit and performance comparison
Garipcan et al. Design, FPGA implementation and statistical analysis of a high-speed and low-area TRNG based on an AES s-box post-processing technique
Lin et al. A new method of true random number generation based on Galois ring oscillator with event sampling architecture in FPGA
Yao et al. M-RO PUF: a portable pure digital RO PUF based on MUX Unit
Addabbo et al. Digital nonlinear oscillators in PLDs: Pitfalls and open perspectives for a novel class of true random number generators
Öztürk et al. Higher dimensional baker map and its digital implementation with LSB-extension method
Souza et al. Pseudo-Chaotic Sequences Generated by the Discrete Arnold’s Map Over Z 2 m: Period Analysis and FPGA Implementation
Dridi et al. FPGA implementation of a pseudo-chaotic number generator and evaluation of its performance
Zacharias et al. Chaotic ring oscillator based true random number generator implementations in fpga
Acar et al. A random number generator based on irregular sampling and transient effect ring oscillators
JP5356362B2 (en) Random number generator
Robson A ring oscillator based truly random number generator
Schramm et al. Experimental assessment of FIRO-and GARO-based noise sources for digital TRNG designs on FPGAs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150