JP4363273B2 - Random number generator - Google Patents

Random number generator Download PDF

Info

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
Application number
JP2004219802A
Other languages
Japanese (ja)
Other versions
JP2006039998A (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.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
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 Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2004219802A priority Critical patent/JP4363273B2/en
Publication of JP2006039998A publication Critical patent/JP2006039998A/en
Application granted granted Critical
Publication of JP4363273B2 publication Critical patent/JP4363273B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 maximum period sequence 2 n −1.

図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 Patent Document 1, a basic clock signal is generated by providing a jitter component of a half cycle or more to the output of the oscillation means that oscillates at a constant frequency, and frequency division is performed based on this basic clock signal. There is known a random number generation circuit that amplifies jitter and supplies the amplified clock signal to sampling means to obtain random number data.
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で得られる擬似乱数列を時系列的に乱して乱数列の見かけ上の周期がレジスタ及び冗長レジスタのビット数で決定される周期よりも長くする擬似乱数列発生回路が知られている。
特開平9−146761号公報 特開平10−207695号公報
Further, as in the invention described in Patent Document 2, a redundant register is provided in the previous stage of the LFSR and a selector circuit for selecting one from a plurality of types of clocks is provided, and one selector circuit is selected based on the output value of the redundant register. By selecting a clock and inputting it to the LFSR, the pseudo random number sequence obtained by the LFSR is disturbed in a time series, and the apparent cycle of the random sequence is longer than the cycle determined by the number of bits of the register and the redundant register. There is known a pseudo-random number sequence generation circuit that performs the above.
Japanese Patent Laid-Open No. 9-146761 Japanese Patent Laid-Open No. 10-207695

しかしながら、特許文献1に記載された発明では、特に第1実施例に係る乱数発生回路を半導体集積回路に組み込んで使用した場合、発生させるジッタ成分は半導体プロセスのばらつき範囲内に分布が固定されやすいために、発生する乱数列の分布自体も制限される傾向となる問題がある。したがって、前述した従来のLFSRと同様に本乱数発生回路を暗号回路に使用した場合、この暗号回路から生成される暗号文は比較的容易に解読される危険性が高いという問題が残る。   However, in the invention described in Patent Document 1, especially when the random number generation circuit according to the first embodiment is incorporated in a semiconductor integrated circuit, the jitter component to be generated is easily distributed within a variation range of the semiconductor process. Therefore, there is a problem that the distribution of the generated random number sequence itself tends to be limited. Therefore, when the random number generation circuit is used in a cryptographic circuit as in the conventional LFSR described above, there remains a problem that the ciphertext generated from this cryptographic circuit has a high risk of being relatively easily deciphered.

また、特に第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 Patent Document 2, it is necessary to realize a circuit using a plurality of types of clocks. However, implementation of a plurality of types of clock systems is complicated, for example, a high frequency There is a problem in that the signal quality of the circuit may be deteriorated due to the influence, the arrangement of parts for preventing the deterioration, or the cost of the parts may be affected. Further, when these plural types of clocks are realized as synchronous clocks having different frequencies, the pseudo-random number generation circuit realized using these synchronous clocks has a drawback that it is similar to an LFSR having a large number of stages. .

そこで、本発明は、特別ジッタ発生源を必要とせず、又煩雑となる程の多種類のクロック信号も必要とせず、半導体集積回路内に容易に実装可能であって、発生させた乱数列の解析が極めて困難な乱数発生回路を提供することを目的とする。   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 claim 3 is the random number generation circuit according to claim 1 or 2, wherein the arithmetic unit receives a plurality of types of random number sequences obtained from the plurality of types of m-stage LFSRs as address values. It is characterized by comprising as a readable ROM.

本発明に係る乱数発生回路は、非同一周波数であって非同期の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 number generation circuit 1 is supplied with two asynchronous clock signals CK1 and CK2 at different frequencies, and generates two asynchronous random number disturbance signals EN1 and EN2 based on these two clock signals. The random number disturbance signal generator 11, the random number disturbance signal EN1 and the clock signal CK2, and the random number disturbance signal EN2 and the clock signal CK2 are supplied to generate LFSR units 12-1 and 12 that generate two types of random number sequences RAN1 and RAN2, respectively. -2 and random number sequences RAN1 and RAN2 are supplied to each other, and a calculation unit 13 that generates a random number sequence RAN3 by performing predetermined calculation processing described later.

次に、上記示した乱数発生回路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 number generation circuit 1 shown above will be described. First, FIG. 2 shows a schematic configuration example of the random number disturbance signal generation unit 11. In the figure, the random number disturbance signal generator 11 is supplied with two clock signals CK1 and CK2, respectively, of which the clock signal CK1 is supplied as a count enable signal and the clock signal CK2 is supplied as a count clock signal. Based on the bit determination process of the counter unit 21 and the count output value from the counter unit 21 and a specific bit pattern set in advance, the count decoder units 22-1 and 22 that output the random number disturbance signals EN1 and EN2, respectively. -2. As is apparent from the overall schematic configuration diagram of FIG. 1, the number of random number disturbance signals output from the random number disturbance signal generation unit 11 is configured to be the same as the number of LFSR units.

ここで、カウンタ部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 number generation circuit 1 is mounted. However, the m-bit value is preferably different from the number of bits of the random number sequences RAN1 and RAN2 generated by the LFSRs 12-1 and 12-2 from the viewpoint of guaranteeing the irregularity of the generated random number sequence. .

また、カウントデコーダ部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 number generation circuit 1, for example, a cryptographic circuit system (not shown), in order to prevent illegal analysis of the generated random number. It is desirable to use an operation clock (system clock). This is because when the random number generation circuit 1 is mounted on a semiconductor integrated circuit, the operation of the entire system is attempted when the random number is analyzed by stopping the oscillation of either one of the two clock signals CK1 and CK2. This is because the analysis is practically impossible.

次に、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 unit 32. The LFSR unit 12-1, as shown in the figure, cascades the data input / output of each register unit sequentially with the register unit 31-1 as the first stage (the data input of the register unit 31-1 and the last register unit). 31-6), the clock signal CK2 is supplied to each clock input of these six register sections. Then, the random number disturbance signal EN1 is supplied to each latch enable input of these six register units, and the data output of each register unit of the registers 31-2 and 31-6 is supplied to the exclusive OR unit 32. The logical sum output of the logical OR unit 32 is fed back to the data input of the first register unit 31-1. The 6-bit data obtained from the data outputs of the register units 31-1 to 31-6 is the random number sequence RAN1.

ここで、レジスタ部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 unit 32 has shown an example of a 2-input exclusive OR operation by feedback from the register units 31-2 and 31-6, this is not limited to this embodiment, and is exclusive. It is possible to arbitrarily set the number of inputs of the logical sum section 32 and the data output Q of which register section to supply data.

また、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 number generation circuit 1.

次に、演算部13の概略構成例を図4に示す。同図において、演算部13は、乱数列RAN1及びRAN2がそれぞれ6ビットづつ供給され、各対応するビット毎に排他的論理和部41−1〜41−6で排他的論理和演算が実行されて最終的な乱数列RAN3を生成する例である。   Next, a schematic configuration example of the calculation unit 13 is shown in FIG. In the figure, the arithmetic unit 13 is supplied with 6 bits each of the random number sequences RAN1 and RAN2, and the exclusive OR operation is executed by the exclusive OR units 41-1 to 41-6 for each corresponding bit. This is an example of generating a final random number sequence RAN3.

以上詳述したように、本実施の形態例で示した乱数発生回路1においては、外部から供給する2つのクロック信号CK1及びCK2が異なる周波数で互いに非同期なものであり、しかも乱数撹乱信号発生部11のカウンタ部21の内部状態は電源起動時のクロック位相によって決定されるため、システムの電源を入切することによっても乱数発生のパターンを再現させることは殆ど不可能である。   As described above in detail, in the random number generation circuit 1 shown in this embodiment, the two clock signals CK1 and CK2 supplied from the outside are asynchronous with each other at different frequencies, and the random number disturbance signal generation unit. Since the internal state of the 11 counter units 21 is determined by the clock phase at the time of power activation, it is almost impossible to reproduce the random number generation pattern even by turning the system power on and off.

特に、乱数発生回路1が半導体集積回路に搭載され、クロック信号CK1又はCK2を半導体集積回路が搭載されたシステムのシステムクロックとした場合、人為的に乱数列を解析するためにいずれかのクロック信号を停止させる等すると、システム全体の動作が停止する等システム全体に大きな影響が出るため、不正な乱数発生回路1の動作解析を防止することができるという優れた効果を有する。   In particular, when the random number generation circuit 1 is mounted on a semiconductor integrated circuit and the clock signal CK1 or CK2 is used as a system clock of a system on which the semiconductor integrated circuit is mounted, any one of the clock signals is used to artificially analyze the random number sequence. Since the operation of the entire system is significantly affected by stopping the operation of the entire system, for example, an illegal operation analysis of the random number generation circuit 1 can be prevented.

さらに、乱数発生回路1においては、クロック信号CK1及びCK2が非同期であるため、これらの位相関係によっては、カウンタ部21若しくはLFSR部12−1、又は12−2の初段の各レジスタ部でメタステーブルが発生する可能性がある。しかし、初段のレジスタ部でメタステーブルが発生したとしても、第2段目以降のレジスタ部にメタステーブルが伝播する可能性は低く、2つのLFSR部12−1及び12−2共にメタステーブルが同時に発生して全体の動作が停止するという可能性は更に低いため、本実施の形態例で示した乱数発生回路1の構成は極めて信頼性の高いものである。   Further, in the random number generation circuit 1, since the clock signals CK1 and CK2 are asynchronous, depending on their phase relationship, the metastable is performed in the first register unit of the counter unit 21 or the LFSR unit 12-1, or 12-2. May occur. However, even if a metastable occurs in the first-stage register unit, it is unlikely that the metastable will be propagated to the register units in the second and subsequent stages. Since the possibility of the occurrence and the entire operation being stopped is further reduced, the configuration of the random number generation circuit 1 shown in this embodiment is extremely reliable.

なお、乱数発生回路の別形態として、使用するクロック信号を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 signal generation unit 11, respectively. As shown in FIG. 5, the disturbance signal generator 11 is provided with two counter units (21-1 and 21-2) so that the clock signals CK1 and CK3 are supplied to the counter units as count enable signals of the counter units. May be. By doing so, it is possible to further increase the irregularity of the random number disturbance signals EN1 and EN2.

また、乱数撹乱信号発生部11のカウントデコーダ部及びLFSR部を2つに限定せず、さらに多くの個数で構成することも図示するまでもなく明確に可能である。これにより、乱数発生の不規則性を更に高める効果を有する。   Also, the number of count decoder units and LFSR units of the random number disturbance signal generation unit 11 is not limited to two, and it is clearly possible to configure with a larger number of units without illustration. This has the effect of further increasing the irregularity of random number generation.

さらに、本実施の形態例においては、演算部13は、LFSR部12−1及び12−2から得られる各6ビットの乱数列RAN1及びRAN2について、それぞれ同一ビット毎の排他的論理和演算によってRAN3を得る構成としたが、これに限らず、例えば各LFSR部のビット幅に対応して論理和、論理積、又は更に複雑な論理演算によってRAN3を生成したり、更にこれら演算をさせる際に同一ビット毎の演算ではなく意図的にずらして演算させるように構成してよい。このような複雑化した演算は、乱数列RANの不規則性を更に高める効果を有する。   Further, in the present embodiment, the operation unit 13 performs RAN3 by exclusive OR operation on each 6-bit random number sequence RAN1 and RAN2 obtained from the LFSR units 12-1 and 12-2. However, the present invention is not limited to this. For example, RAN3 is generated by logical sum, logical product, or more complicated logical operation corresponding to the bit width of each LFSR unit, or the same when performing these operations. You may comprise so that it may calculate by shifting intentionally instead of the calculation for every bit. Such a complicated operation has an effect of further increasing the irregularity of the random number sequence RAN.

また、演算部13自体をROMとして構成し、例えば乱数列RAN1及びRAN2の各ビットの全て又は一部分をROMのアドレスに対応させてそのアドレス値から読み出されるROMデータを最終的な乱数列RAN3となるようにしてもよい。こうすることで、最終的に得られる乱数列RAN3の値の範囲を所望のデータ範囲内に納める等、ユーザの自在なデータ操作が容易に可能となる。   Further, the calculation unit 13 itself is configured as a ROM, and for example, ROM data read from the address value corresponding to all or a part of each bit of the random number sequences RAN1 and RAN2 becomes the final random number sequence RAN3. You may do it. In this way, the user can easily perform data operations such as putting the range of the finally obtained random number sequence RAN3 within a desired data range.

本発明に係る乱数発生回路は、暗号、通信、又はマルチメディア分野等で乱数を必要とする処理装置において有用であって、特に半導体集積回路に搭載して使用することを容易にするものである。   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の概略基本構成例を示した図である。1 is a diagram illustrating a schematic basic configuration example of a random number generation circuit 1 according to an embodiment of the present invention. 本発明の実施形態例に係る乱数撹乱信号発生部11の概略構成例を示した図である。It is the figure which showed the example of schematic structure of the random number disturbance signal generation part 11 which concerns on the example of embodiment of this invention. 本発明の実施形態例に係るLFSR部12−1の概略構成例を示した図である。It is the figure which showed the example of schematic structure of the LFSR part 12-1 which concerns on the example of embodiment of this invention. 本発明の実施形態例に係る演算部13の概略構成例を示した図である。It is the figure which showed the example of schematic structure of the calculating part 13 which concerns on the example of embodiment of this invention. 3つのクロック信号を入力した場合の乱数撹乱信号発生部11の概略構成例を示した図である。It is the figure which showed the example of schematic structure of the random number disturbance signal generation part 11 at the time of inputting three clock signals. 6段のLFSRを用いた従来の乱数発生回路の概略構成例を示した図である。It is the figure which showed the example of schematic structure of the conventional random number generation circuit using 6 steps | paragraphs of LFSR.

符号の説明Explanation of symbols

1 乱数発生回路
11 乱数撹乱信号発生部
12−1,12−2 LFSR部
13 演算部
CK1,CK2 クロック信号
EN1,EN2 乱数撹乱信号
RAN1,RAN2,RAN3 乱数列

DESCRIPTION OF SYMBOLS 1 Random number generation circuit 11 Random number disturbance signal generation part 12-1, 12-2 LFSR part 13 Operation part CK1, CK2 Clock signal EN1, EN2 Random number disturbance signal RAN1, RAN2, RAN3 Random number sequence

Claims (3)

データラッチを許可するためのラッチイネーブル信号をそれぞれ入力可能なm個のレジスタをカスケード接続し、前記m個のレジスタのうち所定のレジスタの出力側を排他的論理和回路を介して前記カスケード接続された先頭のレジスタの入力側にフィードバックさせる構成の、前記m段のリニアフィードバックシフトレジスタ(LFSR)を用いた乱数発生回路において、
それぞれ異なる周波数であって非同期の第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.
前記m段のLFSRのm値と、前記nビットのカウンタ部のn値とを異ならせるように構成したことを特徴とする請求項1に記載の乱数発生回路。   2. The random number generation circuit according to claim 1, wherein the m value of the m-stage LFSR is configured to be different from the n value of the n-bit counter unit. 前記演算部は、前記複数種類のm段のLFSRから得られた複数種類の乱数列をアドレス値として読み出し可能なROMとして構成したことを特徴とする請求項1又は2に記載の乱数発生回路。

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.

JP2004219802A 2004-07-28 2004-07-28 Random number generator Expired - Fee Related JP4363273B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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