JP4363273B2 - Random number generator - Google Patents
Random number generator Download PDFInfo
- Publication number
- JP4363273B2 JP4363273B2 JP2004219802A JP2004219802A JP4363273B2 JP 4363273 B2 JP4363273 B2 JP 4363273B2 JP 2004219802 A JP2004219802 A JP 2004219802A JP 2004219802 A JP2004219802 A JP 2004219802A JP 4363273 B2 JP4363273 B2 JP 4363273B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- generation circuit
- lfsr
- register
- types
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、リニアフィードバックシフトレジスタを用いた乱数発生回路に関し、特に複数の非同期なクロックを用いることによって擬似乱数列の複雑性を高めた乱数発生回路に関する。 The present invention relates to a random number generation circuit using a linear feedback shift register, and more particularly to a random number generation circuit that increases the complexity of a pseudo-random number sequence by using a plurality of asynchronous clocks.
通信技術分野等においては、情報の保護や秘匿性を保証するために情報を暗号化することが通常行われる。この暗号化技術においては、一般的に乱数を用いることが多い。そしてこの乱数は、暗号化のためだけでなく例えばゲーム分野等において、不規則性の高い条件を作り出すために使用される。 In the communication technology field and the like, information is usually encrypted in order to ensure protection and confidentiality of information. In this encryption technique, generally random numbers are often used. This random number is used not only for encryption but also for creating highly irregular conditions in, for example, the game field.
この乱数を得るための手段としては、リニアフィードバックシフトレジスタ(以下、LFSRと略記する。)を用いて擬似乱数を発生させる乱数発生回路が知られている。このLFSRとは、カスケード接続された複数のレジスタのうち、所定のレジスタの出力側を排他的論理和回路を介して先頭レジスタの入力側にフィードバックする構造のものであり、このフィードバックする際の排他的論理和演算によって、乱数とみなされる程の長周期の擬似乱数列を得ることができるものである。例えば、複数(n個)のレジスタで構成されるLFSRから得られる擬似乱数列のパターン周期は、n次の線形最大周期列2n−1となる。
As means for obtaining this random number, a random number generating circuit that generates a pseudo random number using a linear feedback shift register (hereinafter abbreviated as LFSR) is known. The LFSR has a structure in which a predetermined register output side among a plurality of cascade-connected registers is fed back to the input side of the first register via an exclusive OR circuit. It is possible to obtain a pseudo-random number sequence having a long period enough to be regarded as a random number by performing a logical OR operation. For example, the pattern period of the pseudo random number sequence obtained from the LFSR composed of a plurality of (n) registers is the n-th order linear
図6に6段のLFSRを用いた従来の乱数発生回路の概略構成例を示す。同図に示したLFSRは、カスケード接続した6つのレジスタ61−1〜61−6それぞれについて単一の共通クロックを供給し、レジスタ61−2及び61−6の各レジスタの出力を排他的論理和回路62に入力して、この排他的論理和回路62の論理和出力を先頭のレジスタ61−1の入力にフィードバックさせる構成である。この構成例によるLFSRは、63(26−1)通りの6ビット擬似乱数列を生成することができる。 FIG. 6 shows a schematic configuration example of a conventional random number generation circuit using a six-stage LFSR. The LFSR shown in the figure supplies a single common clock to each of the six cascaded registers 61-1 to 61-6, and performs exclusive OR operation on the outputs of the registers 61-2 and 61-6. This is configured to input to the circuit 62 and feed back the logical sum output of the exclusive OR circuit 62 to the input of the first register 61-1. The LFSR according to this configuration example can generate 63 (2 6 -1) 6-bit pseudo random number sequences.
しかし、このようなn段のLFSRから生成される擬似乱数列は、n値が大きい程パターン周期性が長くなるものの、これを暗号回路のシードとして用いた場合に、この暗号回路から生成される暗号文は容易に解読される危険性が高いという問題があった。 However, although such a pseudo-random number sequence generated from the n-stage LFSR has a longer pattern periodicity as the n value increases, it is generated from this encryption circuit when it is used as a seed for the encryption circuit. There was a problem that the ciphertext had a high risk of being easily deciphered.
そこで、特許文献1に記載された発明のように、一定の周波数で発振する発振手段の出力に半周期以上のジッタ成分をもたせて基本クロック信号を生成し、この基本クロック信号を基に分周してジッタを増幅させ、この増幅されたクロック信号をサンプリング手段に供給して乱数データを得る乱数発生回路が知られている。
また、その応用例として、互いに非同期の2つの発振手段を設け、一方の発振手段から発振されるクロックに上記の如くジッタ成分をもたせて、そして他方の発振手段から発振されるジッタ成分を含まないクロックと共にサンプリング手段に供給して乱数データを得る乱数発生回路も知られている。
Therefore, as in the invention described in
As an application example thereof, two asynchronous means that are asynchronous with each other are provided so that a clock component oscillated from one oscillating means has a jitter component as described above and does not include a jitter component oscillated from the other oscillating means. There is also known a random number generating circuit that supplies random number data together with a clock to obtain random number data.
さらに、特許文献2に記載された発明のように、LFSRの前段に冗長レジスタを設けると共に複数種類のクロックから1つを選択するセレクタ回路を設け、冗長レジスタの出力値に基づきセレクタ回路から1つのクロックを選択してLFSRに入力することにより、LFSRで得られる擬似乱数列を時系列的に乱して乱数列の見かけ上の周期がレジスタ及び冗長レジスタのビット数で決定される周期よりも長くする擬似乱数列発生回路が知られている。
しかしながら、特許文献1に記載された発明では、特に第1実施例に係る乱数発生回路を半導体集積回路に組み込んで使用した場合、発生させるジッタ成分は半導体プロセスのばらつき範囲内に分布が固定されやすいために、発生する乱数列の分布自体も制限される傾向となる問題がある。したがって、前述した従来のLFSRと同様に本乱数発生回路を暗号回路に使用した場合、この暗号回路から生成される暗号文は比較的容易に解読される危険性が高いという問題が残る。
However, in the invention described in
また、特に第2実施例に係る乱数発生回路においては、ジッタ成分を含まない方の発振手段からの発振を停止させた場合、乱数列の発生自体が機能停止となってしまう欠点を有しており、本乱数発生回路を暗号発生回路に使用した場合にこの状態が発生すると暗号が容易に解析されてしまうという問題がある。また、本乱数発生回路を半導体集積回路に組み込んだ場合、サンプリング手段においてクロック入力とデータ入力との位相差によってはメタステーブルが発生する危険性を有する問題がある。 In particular, in the random number generation circuit according to the second embodiment, when the oscillation from the oscillation means that does not include the jitter component is stopped, the generation of the random number sequence itself stops functioning. Therefore, when this random number generation circuit is used as a cipher generation circuit, there is a problem that if this state occurs, the cipher is easily analyzed. Further, when this random number generation circuit is incorporated in a semiconductor integrated circuit, there is a problem that a metastable may occur depending on the phase difference between the clock input and the data input in the sampling means.
さらに、特許文献2に記載された発明に係る擬似乱数発生回路においては、複数種類のクロックを用いて回路を実現する必要があるが、複数種類のクロック系統の実装は煩雑であり、例えば高周波の影響による回路の信号品質の劣化やこれを防止するための部品配置、或は部品コスト等に影響が出る恐れを有する問題がある。また、この複数種類のクロックを互いに周波数の異なる同期クロックとして実現した場合、これらの同期クロックを用いて実現した擬似乱数発生回路は、単なる段数の多いLFSRと同様なものとなってしまう欠点を有する。
Furthermore, in the pseudo random number generation circuit according to the invention described in
そこで、本発明は、特別ジッタ発生源を必要とせず、又煩雑となる程の多種類のクロック信号も必要とせず、半導体集積回路内に容易に実装可能であって、発生させた乱数列の解析が極めて困難な乱数発生回路を提供することを目的とする。 Therefore, the present invention does not require a special jitter generation source, and does not require many kinds of complicated clock signals, can be easily mounted in a semiconductor integrated circuit, and can generate a random number sequence generated. An object is to provide a random number generation circuit that is extremely difficult to analyze.
上記の課題を解決するため、請求項1に記載の発明は、データラッチを許可するためのラッチイネーブル信号をそれぞれ入力可能なm個のレジスタ(31−1〜31−m)をカスケード接続し、前記m個のレジスタのうち所定のレジスタの出力側を排他的論理和回路(32)を介して前記カスケード接続された先頭のレジスタ(31−1)の入力側にフィードバックさせる構成の、前記m段のリニアフィードバックシフトレジスタ(12)を用いた乱数発生回路において、それぞれ異なる周波数であって非同期の第1及び第2のクロック信号(CK1,CK2)をそれぞれ供給し、前記第1のクロック信号をカウントイネーブル信号として用いると共に、前記第2のクロック信号でカウントしてnビットのカウント値を出力するカウンタ部(21)と、このカウンタ部で得られた前記nビットのカウント値を所定のビットパターンに基づきデコードして、複数種類の乱数撹乱信号(EN1,EN2)を生成するカウントデコーダ部(21−1,21−2)とをそれぞれ備え、前記生成された複数種類の乱数撹乱信号を、前記複数の前記m段のLFSR(12−1,12−2)に前記ラッチイネーブル信号としてそれぞれ供給すると共に、前記第2のクロック信号を前記同数の前記m段のLFSRにラッチクロック信号としてそれぞれ供給して前記複数種類の乱数列(RAN1,RAN2)を生成し、この生成された複数種類の乱数列に基づく所定の演算によって最終的な乱数列(RAN3)を生成する演算部(13)を備えた構成としたことを特徴とする。 In order to solve the above-mentioned problem, the invention according to claim 1 cascade-connects m registers (31-1 to 31-m) each capable of inputting a latch enable signal for permitting data latch. The m stages having a configuration in which an output side of a predetermined register among the m registers is fed back to an input side of the cascaded leading register (31-1) via an exclusive OR circuit (32). In the random number generation circuit using the linear feedback shift register (12), asynchronous first and second clock signals (CK1, CK2) having different frequencies are supplied, and the first clock signal is counted. A counter unit that is used as an enable signal and counts with the second clock signal to output an n-bit count value ( 1) and a count decoder unit (21-1, 2) that generates a plurality of types of random number disturbance signals (EN1, EN2) by decoding the n-bit count value obtained by the counter unit based on a predetermined bit pattern. 21-2) and supplying the generated plural types of random number disturbance signals to the plurality of m-stage LFSRs (12-1, 12-2) as the latch enable signals, respectively, A plurality of types of random number sequences (RAN1, RAN2) are generated by supplying second clock signals to the same number of m stages of LFSRs as latch clock signals, respectively, and a predetermined number based on the generated types of random number sequences. It is characterized by having a configuration including a calculation unit (13) that generates a final random number sequence (RAN3) by the calculation of (1).
また、請求項2に記載の発明は、前記請求項1に記載の乱数発生回路において、前記m段のLFSRのm値と、前記nビットのカウンタ部のn値とを異ならせるように構成したことを特徴とする。 According to a second aspect of the present invention, in the random number generation circuit according to the first aspect, the m value of the m-stage LFSR and the n value of the n-bit counter unit are made different. It is characterized by that.
さらに、請求項3に記載の発明は、前記請求項1又は2に記載の乱数発生回路において、前記演算部は、前記複数種類のm段のLFSRから得られた複数種類の乱数列をアドレス値として読み出し可能なROMとして構成したことを特徴とする。
Furthermore, the invention according to
本発明に係る乱数発生回路は、非同一周波数であって非同期の2つのクロック信号に基づいて生成される複数種類の乱数撹乱信号により、後段に設けられた前記複数と同数のLFSRからそれぞれ発生させる乱数列のパターン不規則性を従来方式よりも格段に高めることができ、更に各LFSRで得られた乱数列に基づいて演算した結果を最終的な乱数列とすることで、従来のLFSRを用いた擬似乱数列に比べて不規則性を飛躍的に高めることができるという格別な効果を有する。 The random number generation circuit according to the present invention generates a plurality of types of random number disturbance signals generated based on two asynchronous clock signals with non-same frequencies from the same number of LFSRs provided in the subsequent stage. The pattern irregularity of the random number sequence can be remarkably enhanced as compared with the conventional method, and the result of calculation based on the random number sequence obtained by each LFSR is used as the final random number sequence, so that the conventional LFSR can be used. Compared to the pseudo-random number sequence, the irregularity can be remarkably improved.
また、本発明に係る乱数発生回路は、特に半導体集積回路に搭載することが極めて容易に実現できるという優れた効果を有する。 In addition, the random number generation circuit according to the present invention has an excellent effect that it can be realized particularly easily to be mounted on a semiconductor integrated circuit.
以下、本発明に係る乱数発生回路を実施するための最良の形態例について説明する。まず、本発明に係る乱数発生回路の概略基本構成例を図1に示す。同図において、乱数発生回路1は、異なる周波数で互いに非同期な2つのクロック信号CK1及びCK2がそれぞれ供給されて、これら2つのクロック信号に基づいて2つの非同期な乱数撹乱信号EN1及びEN2を生成する乱数撹乱信号発生部11と、乱数撹乱信号EN1及びクロック信号CK2、並びに乱数撹乱信号EN2及びクロック信号CK2がそれぞれ供給されて、2種類の乱数列RAN1及びRAN2を生成するLFSR部12−1及び12−2と、乱数列RAN1及びRAN2がそれぞれ供給されて、後述する所定の演算処理を行って乱数列RAN3を生成する演算部13とから構成される。
The best mode for carrying out the random number generation circuit according to the present invention will be described below. First, FIG. 1 shows a schematic basic configuration example of a random number generation circuit according to the present invention. In the figure, a random
次に、上記示した乱数発生回路1の各要素の詳細な構成と動作について説明する。まず、乱数撹乱信号発生部11の概略構成例を図2に示す。同図において、乱数撹乱信号発生部11は、2つのクロック信号CK1及びCK2がそれぞれ供給されて、このうちクロック信号CK1がカウントイネーブル信号として、又クロック信号CK2がカウントクロック信号としてそれぞれを供給されるカウンタ部21と、このカウンタ部21からのカウント出力値と予め設定されている特定のビットパターンとのビット判定処理に基づき、乱数撹乱信号EN1及びEN2をそれぞれ出力するカウントデコーダ部22−1及び22−2とから構成される。図1の全体の概略構成図で明らかなように、乱数撹乱信号発生部11から出力される乱数撹乱信号の数は、LFSR部の数と同数となるように構成されるものである。
Next, the detailed configuration and operation of each element of the random
ここで、カウンタ部21は、例えばクロック信号CK1の論理レベルがハイレベルであるときのクロック信号CK2の立ち上がりエッジでインクリメント処理を行う2進mビットカウンタである。mビット値は任意の設定値であり、乱数発生回路1を搭載するシステムの回路規模によって決定されるものであってよい。但し、mビット値は、LFSR12−1及び12−2で発生される乱数列RAN1及びRAN2の各ビット数とは異なるビット数であることが発生乱数列の不規則性の保証の点からは望ましい。
Here, the counter unit 21 is, for example, a binary m-bit counter that performs increment processing at the rising edge of the clock signal CK2 when the logic level of the clock signal CK1 is high. The m-bit value is an arbitrary set value, and may be determined by the circuit scale of the system in which the random
また、カウントデコーダ部22−1及び22−2は、例えばカウンタ部21から供給されるmビットのカウント出力値とカウントデコーダ22−1及び22−2内でそれぞれ予め設定された特定のビットパターンとの比較判定を行って、等しい結果を得た場合に乱数撹乱信号EN1及びEN2をそれぞれロウレベルとして出力するものである。これにおいて、クロック信号CK1及びCK2は互いに非同期であり、そしてカウントデコーダ部22−1及び22−2にそれぞれ設定されたビットパターンが互いに異なるものとすれば、乱数撹乱信号EN1及びEN2はそれぞれ固定周期にはならず、周期の不規則性は保証されるものである。 The count decoder units 22-1 and 22-2 are, for example, m-bit count output values supplied from the counter unit 21, and specific bit patterns preset in the count decoders 22-1 and 22-2, respectively. The random number disturbance signals EN1 and EN2 are each output as a low level when equal results are obtained. In this case, if the clock signals CK1 and CK2 are asynchronous with each other and the bit patterns set in the count decoder units 22-1 and 22-2 are different from each other, the random number disturbance signals EN1 and EN2 are respectively set to a fixed period. The irregularity of the period is guaranteed.
なお、上記カウントデコーダ22−1及び22−2の各内部に設定した特定のビットパターンは、外部から変更可能なようにしておいて、乱数発生回路個別にユーザがソフトウェア制御によってビットパターン値を自在に設定できるようにしてもよい。 The specific bit pattern set inside each of the count decoders 22-1 and 22-2 can be changed from the outside, and the user can freely set the bit pattern value by software control for each random number generation circuit. It may be possible to set to.
さらに、2つのクロック信号CK1及びCK2のうち少なくとも一方は、発生する乱数の不正解析等を防止するために、乱数発生回路1を搭載するシステム、例えば暗号回路システム(不図示)で使用される基本動作クロック(システムクロック)を使用することが望ましい。これは、特に乱数発生回路1が半導体集積回路に搭載された場合において、2つのクロック信号CK1及びCK2のうちいずれか一方でも発振を停止させて乱数を解析しようとしたときに、システム全体の動作にも影響が出て実質的に解析が不可能になるためである。
Furthermore, at least one of the two clock signals CK1 and CK2 is used in a system including the random
次に、LFSR部12−1の概略構成例を図3に示す。同図において、LFSR部12−1は、6つのラッチイネーブル入力付きレジスタ部31−1〜31−6と、2入力1出力の排他的論理和部32とから構成される。このLFSR部12−1は、同図に示すようにレジスタ部31−1を初段として順次各レジスタ部のデータ入出力同士をカスケード接続し(レジスタ部31−1のデータ入力及び最後段のレジスタ部31−6のデータ出力を除く)、これら6つのレジスタ部の各クロック入力にクロック信号CK2をそれぞれ供給する。そして、これら6つのレジスタ部の各ラッチイネーブル入力に乱数撹乱信号EN1を供給し、レジスタ31−2及び31−6の各レジスタ部のデータ出力を排他的論理和部32に供給して、この排他的論理和部32の論理和出力を初段のレジスタ部31−1のデータ入力にフィードバックする構成である。そして、レジスタ部31−1〜31−6それぞれのデータ出力から得られる6ビットデータが乱数列RAN1である。
Next, FIG. 3 shows a schematic configuration example of the LFSR unit 12-1. In the figure, the LFSR unit 12-1 includes six register units 31-1 to 31-6 with latch enable inputs and a 2-input 1-output exclusive OR
ここで、レジスタ部31−1〜31−6は、上述したようにデータ入力D、データ出力Q、クロック入力CK、及びラッチイネーブル入力ENをそれぞれ備えており、例えばラッチイネーブル入力ENに供給された乱数撹乱信号EN1がハイレベルであるときのクロック入力CKに供給されたクロック信号CK2の立ち上がりエッジでデータ入力Dに供給されたデータを取り込んでデータ出力Qに出力し、又乱数撹乱信号EN1がロウレベルであるときのクロック信号信号CK2の立ち上がりエッジではデータの取り込みは行わずにデータ出力Qのデータを保持するという動作の、いわゆる正論理ラッチイネーブル付きDフリップフロップである。 Here, as described above, each of the register units 31-1 to 31-6 includes the data input D, the data output Q, the clock input CK, and the latch enable input EN, and is supplied to, for example, the latch enable input EN. The data supplied to the data input D is taken in at the rising edge of the clock signal CK2 supplied to the clock input CK2 when the random number disturbance signal EN1 is at the high level and output to the data output Q, and the random number disturbance signal EN1 is at the low level. This is a so-called D flip-flop with a positive logic latch enable, in which data is not taken in at the rising edge of the clock signal signal CK2 and the data of the data output Q is held.
なお、本実施の形態例においては、LFSR部12−1は6段のレジスタ構成を例示したが、段数はこれに限らずk段のレジスタ構成としてよい。前述したように、k段の値はカウンタ部21のmビット値と異なる段数であることが望ましい。また、排他的論理和部32はレジスタ部31−2及び31−6からのフィードバックによる2入力の排他的論理和演算の例を示したが、これについても本形態例に限定されず、排他的論理和部32の入力数やどのレジスタ部のデータ出力Qからデータを供給するかは任意の設定が可能である。
In the present embodiment, the LFSR unit 12-1 has a six-stage register configuration, but the number of stages is not limited to this and may be a k-stage register configuration. As described above, it is desirable that the k-stage value has a different number of stages from the m-bit value of the counter unit 21. In addition, although the exclusive OR
また、LFSR部12−2の概略構成例は図示しないが、図3に示したLFSR部12−1と機能的には同等なものである。但し、内蔵する複数のレジスタ部のラッチイネーブル入力ENには、乱数撹乱信号EN2が供給され、これらレジスタ部の各データ出力Qからは乱数列RAN2が出力される。 Further, although a schematic configuration example of the LFSR unit 12-2 is not illustrated, it is functionally equivalent to the LFSR unit 12-1 shown in FIG. However, the random number disturbance signal EN2 is supplied to the latch enable inputs EN of a plurality of built-in register units, and a random number sequence RAN2 is output from each data output Q of these register units.
なお、LFSR部12−1及び12−2それぞれのレジスタ部の段数は同一であっても異なっていてもよい。また、各LFSR部のフィードバック論理も同一であっても異なっていてもよい。本実施の形態例においては、各LFSR部のレジスタ部の段数が同一(6段)であるとして以下説明する。 Note that the number of register units in each of the LFSR units 12-1 and 12-2 may be the same or different. Also, the feedback logic of each LFSR unit may be the same or different. In the present embodiment, the following description will be made assuming that the number of register sections in each LFSR section is the same (six stages).
LFSR部12−1は、乱数撹乱信号EN1がハイレベルである間のみ乱数列RAN1が生成され、同様にLFSR部12−2は、乱数撹乱信号EN2がハイレベルである間のみ乱数列RAN2が生成されるが、乱数撹乱信号EN1又はEN2はLFSR12−1又は12−2と全く異なる周期でそれぞれロウレベルになり、このロウレベル期間は乱数列RAN1又はRAN2の生成が停止する。前述したように、乱数撹乱信号EN1及びEN2は、それぞれがロウレベルになるタイミングが異なっているため、両LFSR部の段数が同じであっても同時に乱数列の生成が停止することはない。つまり、何重にも事象の不規則性を発揮させているため、乱数発生回路1の外からはいつLFSR部が動作停止になっているかを予測することは事実上不可能である。
The LFSR unit 12-1 generates the random number sequence RAN1 only while the random number disturbance signal EN1 is at a high level. Similarly, the LFSR unit 12-2 generates the random number sequence RAN2 only while the random number disturbance signal EN2 is at a high level. However, the random number disturbance signal EN1 or EN2 becomes low level at a completely different period from that of the LFSR 12-1 or 12-2, and the generation of the random number sequence RAN1 or RAN2 is stopped during this low level period. As described above, since the random number disturbance signals EN1 and EN2 have different timings at which they become low levels, the generation of the random number sequence does not stop at the same time even if the number of stages of both LFSR units is the same. That is, since the irregularity of the event is exhibited many times, it is practically impossible to predict when the operation of the LFSR unit is stopped from outside the random
次に、演算部13の概略構成例を図4に示す。同図において、演算部13は、乱数列RAN1及びRAN2がそれぞれ6ビットづつ供給され、各対応するビット毎に排他的論理和部41−1〜41−6で排他的論理和演算が実行されて最終的な乱数列RAN3を生成する例である。
Next, a schematic configuration example of the
以上詳述したように、本実施の形態例で示した乱数発生回路1においては、外部から供給する2つのクロック信号CK1及びCK2が異なる周波数で互いに非同期なものであり、しかも乱数撹乱信号発生部11のカウンタ部21の内部状態は電源起動時のクロック位相によって決定されるため、システムの電源を入切することによっても乱数発生のパターンを再現させることは殆ど不可能である。
As described above in detail, in the random
特に、乱数発生回路1が半導体集積回路に搭載され、クロック信号CK1又はCK2を半導体集積回路が搭載されたシステムのシステムクロックとした場合、人為的に乱数列を解析するためにいずれかのクロック信号を停止させる等すると、システム全体の動作が停止する等システム全体に大きな影響が出るため、不正な乱数発生回路1の動作解析を防止することができるという優れた効果を有する。
In particular, when the random
さらに、乱数発生回路1においては、クロック信号CK1及びCK2が非同期であるため、これらの位相関係によっては、カウンタ部21若しくはLFSR部12−1、又は12−2の初段の各レジスタ部でメタステーブルが発生する可能性がある。しかし、初段のレジスタ部でメタステーブルが発生したとしても、第2段目以降のレジスタ部にメタステーブルが伝播する可能性は低く、2つのLFSR部12−1及び12−2共にメタステーブルが同時に発生して全体の動作が停止するという可能性は更に低いため、本実施の形態例で示した乱数発生回路1の構成は極めて信頼性の高いものである。
Further, in the random
なお、乱数発生回路の別形態として、使用するクロック信号をCK1及びCK2の2種類だけでなく、更に異なる周波数で相互に非同期なクロック信号CK3も乱数撹乱信号発生部11にそれぞれ供給し、この乱数撹乱信号発生部11を図5に示すようにカウンタ部を2つ設けて(21−1及び21−2)クロック信号CK1及びCK3を各カウンタ部のカウントイネーブル信号として各カウンタ部に供給するようにしてもよい。このようにすることで、乱数撹乱信号EN1及びEN2の不規則性を更に高めることが可能である。
As another form of the random number generation circuit, not only two types of clock signals CK1 and CK2 are used, but also a clock signal CK3 asynchronous with each other at different frequencies is supplied to the random number disturbance
また、乱数撹乱信号発生部11のカウントデコーダ部及びLFSR部を2つに限定せず、さらに多くの個数で構成することも図示するまでもなく明確に可能である。これにより、乱数発生の不規則性を更に高める効果を有する。
Also, the number of count decoder units and LFSR units of the random number disturbance
さらに、本実施の形態例においては、演算部13は、LFSR部12−1及び12−2から得られる各6ビットの乱数列RAN1及びRAN2について、それぞれ同一ビット毎の排他的論理和演算によってRAN3を得る構成としたが、これに限らず、例えば各LFSR部のビット幅に対応して論理和、論理積、又は更に複雑な論理演算によってRAN3を生成したり、更にこれら演算をさせる際に同一ビット毎の演算ではなく意図的にずらして演算させるように構成してよい。このような複雑化した演算は、乱数列RANの不規則性を更に高める効果を有する。
Further, in the present embodiment, the
また、演算部13自体をROMとして構成し、例えば乱数列RAN1及びRAN2の各ビットの全て又は一部分をROMのアドレスに対応させてそのアドレス値から読み出されるROMデータを最終的な乱数列RAN3となるようにしてもよい。こうすることで、最終的に得られる乱数列RAN3の値の範囲を所望のデータ範囲内に納める等、ユーザの自在なデータ操作が容易に可能となる。
Further, the
本発明に係る乱数発生回路は、暗号、通信、又はマルチメディア分野等で乱数を必要とする処理装置において有用であって、特に半導体集積回路に搭載して使用することを容易にするものである。 INDUSTRIAL APPLICABILITY The random number generation circuit according to the present invention is useful in a processing apparatus that requires a random number in the field of encryption, communication, multimedia, and the like, and particularly facilitates mounting and use in a semiconductor integrated circuit. .
1 乱数発生回路
11 乱数撹乱信号発生部
12−1,12−2 LFSR部
13 演算部
CK1,CK2 クロック信号
EN1,EN2 乱数撹乱信号
RAN1,RAN2,RAN3 乱数列
DESCRIPTION OF
Claims (3)
それぞれ異なる周波数であって非同期の第1及び第2のクロック信号をそれぞれ供給し、前記第1のクロック信号をカウントイネーブル信号として用いると共に、前記第2のクロック信号でカウントしてnビットのカウント値を出力するカウンタ部と、
このカウンタ部で得られた前記nビットのカウント値を所定のビットパターンに基づきデコードして、複数種類の乱数撹乱信号を生成するカウントデコーダ部とをそれぞれ備え、
前記生成された複数種類の乱数撹乱信号を、前記複数の前記m段のLFSRに前記ラッチイネーブル信号としてそれぞれ供給すると共に、前記第2のクロック信号を前記同数の前記m段のLFSRにラッチクロック信号としてそれぞれ供給して前記複数種類の乱数列を生成し、
この生成された複数種類の乱数列に基づく所定の演算によって最終的な乱数列を生成する演算部を備えた構成としたことを特徴とする乱数発生回路。 Cascade connection is made of m registers each capable of inputting a latch enable signal for permitting data latch, and the output side of a predetermined register among the m registers is cascade-connected via an exclusive OR circuit. In the random number generation circuit using the m-stage linear feedback shift register (LFSR) configured to feed back to the input side of the first register,
Asynchronous first and second clock signals having different frequencies are supplied, the first clock signal is used as a count enable signal, and an n-bit count value is counted using the second clock signal. A counter unit for outputting
A counter decoder for decoding the n-bit count value obtained by the counter unit based on a predetermined bit pattern to generate a plurality of types of random number disturbance signals,
The plurality of generated random number disturbance signals are supplied to the plurality of m-stage LFSRs as the latch enable signals, respectively, and the second clock signal is latched to the same number of m-stage LFSRs. To generate the plurality of types of random number sequences,
A random number generation circuit comprising a calculation unit that generates a final random number sequence by a predetermined calculation based on the plurality of types of generated random number sequences.
3. The random number generation circuit according to claim 1, wherein the arithmetic unit is configured as a ROM capable of reading out a plurality of types of random number sequences obtained from the plurality of types of m-stage LFSRs as address values. 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004219802A JP4363273B2 (en) | 2004-07-28 | 2004-07-28 | Random number generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004219802A JP4363273B2 (en) | 2004-07-28 | 2004-07-28 | Random number generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006039998A JP2006039998A (en) | 2006-02-09 |
JP4363273B2 true JP4363273B2 (en) | 2009-11-11 |
Family
ID=35904922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004219802A Expired - Fee Related JP4363273B2 (en) | 2004-07-28 | 2004-07-28 | Random number generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4363273B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4308293B2 (en) | 2007-11-20 | 2009-08-05 | 際国 董 | Random number generation apparatus and method |
JP6287785B2 (en) * | 2014-11-28 | 2018-03-07 | ソニー株式会社 | Cryptographic processing apparatus, cryptographic processing method, and program |
CN115080929B (en) * | 2022-07-20 | 2022-11-11 | 深圳研控自动化科技股份有限公司 | Encryption method, decryption method, system and storage medium of FPGA program |
-
2004
- 2004-07-28 JP JP2004219802A patent/JP4363273B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006039998A (en) | 2006-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2937919B2 (en) | Pseudo random number generator | |
EP1821196B1 (en) | Method and apparatus for seeding a cryptographic random number generator | |
US6954770B1 (en) | Random number generator | |
Golic | New methods for digital generation and postprocessing of random data | |
US7797361B2 (en) | System and method for generating random numbers using parity feedback | |
US8150900B2 (en) | Random number generation based on logic circuits with feedback | |
US7979482B2 (en) | Random number generator configured to combine states of memory cells | |
US20050097153A1 (en) | Pseudorandom number generator | |
US8166086B2 (en) | Method and circuit for generating random numbers, and computer program product therefor | |
US7480687B2 (en) | Pseudorandom number generator for a stream cipher | |
US9619206B2 (en) | Pseudo-random bit sequence generator | |
JP3940714B2 (en) | Arithmetic device and encryption / decryption arithmetic device | |
JP5171420B2 (en) | Pseudo random number generator | |
JP4363273B2 (en) | Random number generator | |
KR100735953B1 (en) | Device and method for generating a sequence of numbers | |
US20070150531A1 (en) | Apparatus and method for generating random number using digital logic | |
JP5119417B2 (en) | Pseudo random number generator | |
US7502814B2 (en) | Device and method for generating a pseudorandom sequence of numbers | |
JP2013167740A (en) | Encryption device, encryption method, and encryption program | |
JP5379558B2 (en) | Cryptographic operation circuit, cryptographic operation method, program, recording medium | |
Antoniadis et al. | An efficient implementation of a delay-based PUF construction | |
Addabbo et al. | Long period pseudo random bit generators derived from a discretized chaotic map | |
JP2004145010A (en) | Encryption circuit | |
Fúster Sabater et al. | A Deterministic Approach to Pseudorandom Pattern Generators | |
JP2006060663A (en) | Cyclic code circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070330 |
|
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: 20090728 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090810 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120828 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |