JP2009259013A - Pseudorandom number generator - Google Patents

Pseudorandom number generator Download PDF

Info

Publication number
JP2009259013A
JP2009259013A JP2008107517A JP2008107517A JP2009259013A JP 2009259013 A JP2009259013 A JP 2009259013A JP 2008107517 A JP2008107517 A JP 2008107517A JP 2008107517 A JP2008107517 A JP 2008107517A JP 2009259013 A JP2009259013 A JP 2009259013A
Authority
JP
Japan
Prior art keywords
random number
data
pseudo
circuit
generation circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008107517A
Other languages
Japanese (ja)
Other versions
JP5119417B2 (en
Inventor
Yoshiaki Makii
義明 牧井
Keisuke Yamaguchi
桂介 山口
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.)
NEC Electronics Corp
NEC Engineering Ltd
Original Assignee
NEC Electronics Corp
NEC Engineering 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 NEC Electronics Corp, NEC Engineering Ltd filed Critical NEC Electronics Corp
Priority to JP2008107517A priority Critical patent/JP5119417B2/en
Publication of JP2009259013A publication Critical patent/JP2009259013A/en
Application granted granted Critical
Publication of JP5119417B2 publication Critical patent/JP5119417B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To increase the randomness of pseudorandom numbers generated by a pseudorandom number generator. <P>SOLUTION: The pseudorandom number generator 1 comprises pseudorandom number generation circuits 30-1 to 30-4 and a data generation circuit 20 connected to the first stage 30-1. Each pseudorandom number generation circuit comprises an input terminal for N-bit input data Din, an N-bit register, an output terminal for output data Dout from the N-bit register, and a modulation circuit on a feedback path from the output to input of the N-bit register. The modulation circuit modulates DRout from the N-bit register with Din to generate DRin to be input into the N-bit register. The data generation circuit 20 generates N-bit random number data Drnd from count values of a plurality of clock signals CLK1, CLK3 and CLK4, and outputs Drnd as Din to the first stage pseudorandom number generation circuit 30-1. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、擬似乱数(pseudo-random number)を生成するための技術に関する。   The present invention relates to a technique for generating a pseudo-random number.

従来より、擬似乱数は、暗号や認証などに利用されている。擬似乱数は、例えば線形フィードバックシフトレジスタ(LFSR: Linear Feedback Shift Register)を用いることにより生成することができる。LFSRは直列に接続された複数のレジスタを有しており、その複数のレジスタのうち所定の出力が排他的論理和回路(EXOR回路)を介して先頭のレジスタにフィードバックされる。初期値が設定された後、LFSRは所定のシフトクロックに基づいて動作する。その結果、LFSRは、初期値に依存するパターンの擬似乱数列を所定の周期で繰り返し出力する。フィードバック経路にEXOR回路を設けることにより、長周期の乱数列を得ることが可能である。   Conventionally, pseudo-random numbers have been used for encryption and authentication. The pseudo random number can be generated by using, for example, a linear feedback shift register (LFSR). The LFSR has a plurality of registers connected in series, and a predetermined output among the plurality of registers is fed back to the first register via an exclusive OR circuit (EXOR circuit). After the initial value is set, the LFSR operates based on a predetermined shift clock. As a result, the LFSR repeatedly outputs a pseudo random number sequence having a pattern depending on the initial value at a predetermined cycle. By providing an EXOR circuit in the feedback path, a long-period random number sequence can be obtained.

但し、LFSRによる擬似乱数の生成論理は、出力パターンから数学的に容易に解析可能である。従って、LFSRを利用した擬似乱数生成回路では、生成される擬似乱数の乱数性を高めるための工夫が必要となる。例えば、初期値を外部から変更可能にしたり、複数段のLFSRをカスケード接続したりすることが一般的である。あるいは、非線形フィードバックシフトレジスタ(NLFSR: Non-Linear Feedback Shift Register)を用いることも考えられる。   However, the pseudorandom number generation logic by LFSR can be easily analyzed mathematically from the output pattern. Therefore, in the pseudo random number generation circuit using LFSR, a device for increasing the randomness of the generated pseudo random number is required. For example, it is common that the initial value can be changed from the outside or a plurality of LFSRs are cascade-connected. Alternatively, a non-linear feedback shift register (NLFSR) may be used.

特許文献1には、LFSRを用いて擬似乱数を生成する擬似乱数発生回路が記載されている。その擬似乱数発生回路は、LFSRと、信号生成回路と、Pre−SEED生成回路とを備えている。LFSRは、直列に接続された複数のレジスタ、レジスタの所定出力の排他的論理和を出力する第1のEXOR回路、及び外部から供給される入力信号と第1のEXOR回路の出力信号との排他的論理和を複数のレジスタのうちの先頭のレジスタに入力する第2のEXOR回路を備える。信号生成回路は、一定周期の第1のクロック及びそれに同期し周波数が異なる第2のクロックを用いることにより、シフトクロック及び上記入力信号となるクロックを生成する。リセット期間において、Pre−SEED回路は、第3のクロックとそれに非同期な第4のクロックとの排他的論理和をシフトクロックとしてLFSRに供給し、且つ、その第4のクロックを上記入力信号としてLFSRに供給する。リセット期間において、LFSRは、シフトクロックである第3のクロックに基づいて動作し、初期値の元になるPre−SEEDを生成する。   Patent Document 1 describes a pseudo random number generation circuit that generates pseudo random numbers using LFSR. The pseudorandom number generation circuit includes an LFSR, a signal generation circuit, and a Pre-SEED generation circuit. The LFSR includes a plurality of registers connected in series, a first EXOR circuit that outputs an exclusive OR of a predetermined output of the register, and an exclusive of an input signal supplied from the outside and an output signal of the first EXOR circuit A second EXOR circuit that inputs the logical OR to the first register of the plurality of registers. The signal generation circuit generates a shift clock and a clock serving as the input signal by using a first clock having a constant period and a second clock having a different frequency in synchronization with the first clock. In the reset period, the Pre-SEED circuit supplies the exclusive OR of the third clock and the fourth clock asynchronous to the third clock to the LFSR as a shift clock, and uses the fourth clock as the input signal to the LFSR. To supply. In the reset period, the LFSR operates based on the third clock that is the shift clock, and generates Pre-SEED that is the basis of the initial value.

特開2004−302915号公報JP 2004-302915 A

本願発明者は次の点に着目した。特許文献1に記載された擬似乱数発生回路では、LFSRの出力からのフィードバック信号とクロック信号との排他的論理和が、LFSRの先頭レジスタに入力される。しかしながら、そのクロック信号の周波数がLFSRのシフトクロックの周波数と比較して極端に低い場合、乱数性が高くならない。   The inventor of the present application paid attention to the following points. In the pseudo random number generation circuit described in Patent Document 1, the exclusive OR of the feedback signal from the output of the LFSR and the clock signal is input to the leading register of the LFSR. However, when the frequency of the clock signal is extremely low compared with the frequency of the shift clock of the LFSR, randomness does not increase.

以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。   [Means for Solving the Problems] will be described below using the numbers and symbols used in [Best Mode for Carrying Out the Invention]. These numbers and symbols are added in parentheses in order to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers and symbols should not be used for the interpretation of the technical scope of the invention described in [Claims].

本発明の1つの観点において、擬似乱数生成装置(1)が提供される。その擬似乱数生成装置(1)は、擬似乱数を生成する擬似乱数生成回路(30)と、その擬似乱数生成回路(30)に接続されたデータ生成回路(20)とを備える。擬似乱数生成回路(30)は、Nビットの入力データ(Din)が入力される入力端子(IN)と、Nビットレジスタ(32)と、Nビットレジスタ(32)からの出力データ(Dout)が出力される出力端子(OUT)と、Nビットレジスタ(32)の出力から入力へのフィードバック経路に設けられる変調回路(33)と、を備える。変調回路(33)は、上記入力データ(Din)を用いてNビットレジスタ(32)からの出力データ(DRout)を変調することによって、Nビットレジスタ(32)に入力されるレジスタ入力データ(DRin)を生成する。データ生成回路(20)は、複数のクロック信号(CLK1,CLK2)のそれぞれのカウント値に基づいてNビットの乱数データ(Drnd)を生成し、その乱数データ(Drnd)を擬似乱数生成回路(30)に対する入力データ(Din)として出力する。   In one aspect of the present invention, a pseudorandom number generator (1) is provided. The pseudo random number generation device (1) includes a pseudo random number generation circuit (30) that generates pseudo random numbers, and a data generation circuit (20) connected to the pseudo random number generation circuit (30). The pseudo random number generation circuit (30) has an input terminal (IN) to which N-bit input data (Din) is input, an N-bit register (32), and output data (Dout) from the N-bit register (32). An output terminal (OUT) to be output, and a modulation circuit (33) provided in a feedback path from the output of the N-bit register (32) to the input. The modulation circuit (33) modulates the output data (DRout) from the N-bit register (32) using the input data (Din), thereby register input data (DRin) input to the N-bit register (32). ) Is generated. The data generation circuit (20) generates N-bit random number data (Drnd) based on the count values of the plurality of clock signals (CLK1, CLK2), and generates the random number data (Drnd) as a pseudo-random number generation circuit (30). ) As input data (Din).

本発明によれば、擬似乱数生成装置によって生成される擬似乱数の乱数性が向上する。   According to the present invention, the randomness of the pseudorandom numbers generated by the pseudorandom number generator is improved.

添付図面を参照して、本発明の実施の形態に係る擬似乱数生成装置を説明する。   With reference to the accompanying drawings, a pseudo-random number generator according to an embodiment of the present invention will be described.

1.第1の実施の形態
1−1.全体構成
図1は、本発明の第1の実施の形態に係る擬似乱数生成装置1の構成を示すブロック図である。擬似乱数生成装置1は、クロック生成回路10、データ生成回路20、擬似乱数生成回路30、及び擬似乱数制御回路40を備えている。
1. 1. First embodiment 1-1. Overall Configuration FIG. 1 is a block diagram showing a configuration of a pseudorandom number generator 1 according to a first embodiment of the present invention. The pseudo random number generation device 1 includes a clock generation circuit 10, a data generation circuit 20, a pseudo random number generation circuit 30, and a pseudo random number control circuit 40.

クロック生成回路10は、複数種のクロック信号(CLK1,CLK3,CLK4)を生成し、それらクロック信号をデータ生成回路20に出力する。データ生成回路20は、クロック生成回路10によって生成された複数種のクロック信号(CLK1,CLK3,CLK4)に基づいて、乱数性を有するデータ(以下、「乱数データDrnd」と参照される)を生成する。   The clock generation circuit 10 generates a plurality of types of clock signals (CLK 1, CLK 3, CLK 4) and outputs these clock signals to the data generation circuit 20. The data generation circuit 20 generates data having randomness (hereinafter referred to as “random number data Drnd”) based on a plurality of types of clock signals (CLK1, CLK3, CLK4) generated by the clock generation circuit 10. To do.

擬似乱数生成回路30は、擬似乱数データを生成するための回路であり、非線形フィードバックシフトレジスタ(NLFSR)と同様の機能を提供する。後に詳しく説明されるように、擬似乱数生成回路30はNビットレジスタを有しており、そのNビットレジスタのデータがNビットの出力データDoutとして出力端子から出力される。ここで、Nは2以上の整数であり、例えば16である。この出力端子から出力されるNビットの出力データDoutが擬似乱数データ(擬似乱数列)である。また、擬似乱数生成回路30の入力端子には、Nビットの入力データDinが入力される。後に詳しく説明されるように、この入力データDinは、擬似乱数データを生成する際に周期性を乱し乱数性を高めるために用いられる。   The pseudo random number generation circuit 30 is a circuit for generating pseudo random number data, and provides a function similar to that of the non-linear feedback shift register (NLFSR). As will be described in detail later, the pseudo-random number generation circuit 30 includes an N-bit register, and data in the N-bit register is output from the output terminal as N-bit output data Dout. Here, N is an integer greater than or equal to 2, for example, 16. The N-bit output data Dout output from this output terminal is pseudo-random number data (pseudo-random number sequence). Further, N-bit input data Din is input to the input terminal of the pseudorandom number generation circuit 30. As will be described in detail later, the input data Din is used for disturbing periodicity and improving randomness when generating pseudo-random number data.

図1の例において、擬似乱数生成装置1は、直列に接続された複数段の擬似乱数生成回路30を備えている。すなわち、ある擬似乱数生成回路30の出力端子が、後段の擬似乱数生成回路30の入力端子に接続されている。図1の例では、4個の擬似乱数生成回路30−1〜30−4が直列に接続されており、ある擬似乱数生成回路30−iの出力端子は、次段の擬似乱数生成回路30−(i+1)の入力端子に直接接続されている(i=1,2,3)。従って、擬似乱数生成回路30−iの出力端子から出力される出力データDoutが、次段の擬似乱数生成回路30−(i+1)の入力端子に入力データDinとして入力される。   In the example of FIG. 1, the pseudorandom number generation device 1 includes a plurality of stages of pseudorandom number generation circuits 30 connected in series. In other words, the output terminal of a certain pseudorandom number generation circuit 30 is connected to the input terminal of the subsequent pseudorandom number generation circuit 30. In the example of FIG. 1, four pseudo random number generation circuits 30-1 to 30-4 are connected in series, and the output terminal of a certain pseudo random number generation circuit 30-i is the pseudo random number generation circuit 30- in the next stage. It is directly connected to the input terminal (i + 1) (i = 1, 2, 3). Accordingly, the output data Dout output from the output terminal of the pseudo random number generation circuit 30-i is input as input data Din to the input terminal of the pseudo random number generation circuit 30- (i + 1) at the next stage.

但し、初段の擬似乱数生成回路30−1の入力端子は、上述のデータ生成回路20の出力に接続されている。よって、データ生成回路20によって生成される乱数データDrndが、初段の擬似乱数生成回路30−1の入力端子に入力データDinとして入力される。言い換えれば、データ生成回路20は、Nビットの乱数データDrndを生成し、その乱数データDrndを初段の擬似乱数生成回路30−1に対する入力データDinとして出力する。   However, the input terminal of the first-stage pseudorandom number generation circuit 30-1 is connected to the output of the data generation circuit 20 described above. Therefore, the random number data Drnd generated by the data generation circuit 20 is input as input data Din to the input terminal of the first-stage pseudorandom number generation circuit 30-1. In other words, the data generation circuit 20 generates N-bit random number data Drnd and outputs the random number data Drnd as input data Din to the first-stage pseudorandom number generation circuit 30-1.

擬似乱数制御回路40は、複数段の擬似乱数生成回路30−1〜30−4の各々の出力端子に接続されている。それら擬似乱数生成回路30−1〜30−4のそれぞれから出力される出力データDoutは、擬似乱数データX1〜X4である。擬似乱数制御回路40は、擬似乱数生成回路30−1〜30−4のそれぞれから擬似乱数データX1〜X4を受け取る。そして、擬似乱数制御回路40は、制御信号CONに応じて擬似乱数データX1〜X4のうち1つを選択し、選択された擬似乱数データを擬似乱数出力PRとして出力する。   The pseudo random number control circuit 40 is connected to each output terminal of the plurality of stages of pseudo random number generation circuits 30-1 to 30-4. The output data Dout output from each of the pseudo random number generation circuits 30-1 to 30-4 is pseudo random number data X1 to X4. The pseudo random number control circuit 40 receives the pseudo random number data X1 to X4 from each of the pseudo random number generation circuits 30-1 to 30-4. Then, the pseudo random number control circuit 40 selects one of the pseudo random number data X1 to X4 according to the control signal CON, and outputs the selected pseudo random number data as the pseudo random number output PR.

以下、各回路の構成及び動作を詳細に説明する。   Hereinafter, the configuration and operation of each circuit will be described in detail.

1−2.クロック生成回路及びデータ生成回路
図2は、本実施の形態に係るクロック生成回路10及びデータ生成回路20の構成を示すブロック図である。
1-2. Clock Generation Circuit and Data Generation Circuit FIG. 2 is a block diagram showing configurations of the clock generation circuit 10 and the data generation circuit 20 according to the present embodiment.

データ生成回路20は、第1Nビットカウンタ21、第2Nビットカウンタ22、及びEXOR回路(排他的論理和回路)23を有している。第1Nビットカウンタ21及び第2Nビットカウンタ22は、リセットを持たないクロックカウンタである。具体的には、第1Nビットカウンタ21は、第1クロック信号CLK1をカウントし、その第1クロック信号CLK1のカウント値c1(Nビット)を出力する。一方、第2Nビットカウンタ22は、第1クロック信号CLK1とは異なる第2クロック信号CLK2をカウントし、その第2クロック信号CLK2のカウント値c2(Nビット)を出力する。   The data generation circuit 20 includes a first N-bit counter 21, a second N-bit counter 22, and an EXOR circuit (exclusive OR circuit) 23. The first N-bit counter 21 and the second N-bit counter 22 are clock counters that do not have a reset. Specifically, the first N-bit counter 21 counts the first clock signal CLK1, and outputs a count value c1 (N bits) of the first clock signal CLK1. On the other hand, the second N-bit counter 22 counts a second clock signal CLK2 different from the first clock signal CLK1, and outputs a count value c2 (N bits) of the second clock signal CLK2.

EXOR回路23は、第1Nビットカウンタ21によるカウント値c1と第2Nビットカウンタ22によるカウント値c2との排他的論理和を算出する。異なるクロック信号のカウント値から得られる排他的論理和は“乱数性”を有しており、このEXOR回路23から出力される排他的論理和が、上述のNビットの乱数データDrndとして用いられる。つまり、EXOR回路23は、第1クロック信号CLK1のカウント値c1と第2クロック信号CLK2のカウント値c2との排他的論理和を、Nビットの乱数データDrndとして生成する。   The EXOR circuit 23 calculates an exclusive OR of the count value c1 from the first N-bit counter 21 and the count value c2 from the second N-bit counter 22. The exclusive OR obtained from the count values of different clock signals has “randomness”, and the exclusive OR output from the EXOR circuit 23 is used as the N-bit random number data Drnd described above. That is, the EXOR circuit 23 generates an exclusive OR of the count value c1 of the first clock signal CLK1 and the count value c2 of the second clock signal CLK2 as N-bit random number data Drnd.

好適には、第1クロック信号CLK1と第2クロック信号CLK2とは、非同期であり、互いに異なる周波数を有している。この場合、生成される乱数データDrndの乱数性が向上する。   Preferably, the first clock signal CLK1 and the second clock signal CLK2 are asynchronous and have different frequencies. In this case, the randomness of the generated random number data Drnd is improved.

第1クロック信号CLK1は、クロック生成回路10に含まれる発振回路11によって生成される。発振回路11は、例えばリングオシレータである。   The first clock signal CLK1 is generated by the oscillation circuit 11 included in the clock generation circuit 10. The oscillation circuit 11 is a ring oscillator, for example.

第2クロック信号CLK2は、発振回路11とは異なる発振回路を用いて生成することができる。あるいは、複数種類のクロック信号を組み合わせることによって、第2クロック信号CLK2を生成することもできる。例えば図2に示されるように、データ生成回路20は、第2クロック信号CLK2を生成するためのEXOR回路24を有していてもよい。このEXOR回路24は、第3クロック信号CLK3と第4クロック信号CLK4との排他的論理和を、第2クロック信号CLK2として出力する。好適には、第3クロック信号CLK3と第4クロック信号CLK4とは、非同期であり、異なる周波数を有している。第3クロック信号CLK3は、クロック生成回路10に含まれる発振回路12によって生成される。第4クロック信号CLK4は、クロック生成回路10に含まれる発振回路13によって生成される。発振回路12、13は、例えばリングオシレータである。このようにして、第1クロック信号CLK1と非同期であり周波数の異なる第2クロック信号CLK2を、複数種のクロック信号(CLK3、CLK4)から生成することが可能である。   The second clock signal CLK2 can be generated using an oscillation circuit different from the oscillation circuit 11. Alternatively, the second clock signal CLK2 can be generated by combining a plurality of types of clock signals. For example, as shown in FIG. 2, the data generation circuit 20 may include an EXOR circuit 24 for generating the second clock signal CLK2. The EXOR circuit 24 outputs an exclusive OR of the third clock signal CLK3 and the fourth clock signal CLK4 as the second clock signal CLK2. Preferably, the third clock signal CLK3 and the fourth clock signal CLK4 are asynchronous and have different frequencies. The third clock signal CLK3 is generated by the oscillation circuit 12 included in the clock generation circuit 10. The fourth clock signal CLK4 is generated by the oscillation circuit 13 included in the clock generation circuit 10. The oscillation circuits 12 and 13 are, for example, ring oscillators. In this manner, the second clock signal CLK2 that is asynchronous with the first clock signal CLK1 and has a different frequency can be generated from the plurality of types of clock signals (CLK3, CLK4).

以上に説明されたように、データ生成回路20は、複数のクロック信号(CLK1,CLK2)のそれぞれのカウント値に基づいて、乱数性を有するNビットの乱数データDrndを自動的に生成する。生成された乱数データDrndは、初段の擬似乱数生成回路30−1の入力端子に入力される。   As described above, the data generation circuit 20 automatically generates N-bit random number data Drnd having randomness based on the count values of the plurality of clock signals (CLK1, CLK2). The generated random number data Drnd is input to the input terminal of the first-stage pseudorandom number generation circuit 30-1.

1−3.擬似乱数生成回路
図3は、本実施の形態に係る1つの擬似乱数生成回路30の構成を示すブロック図である。図3に示されるように、擬似乱数生成回路30は、入力端子IN、出力端子OUT、Nビットレジスタ32、及び変調回路33を有している。入力端子INには、Nビットの入力データDinが入力される。出力端子OUTからは、Nビットの出力データDoutが出力される。
1-3. Pseudorandom Number Generation Circuit FIG. 3 is a block diagram showing a configuration of one pseudorandom number generation circuit 30 according to the present embodiment. As illustrated in FIG. 3, the pseudorandom number generation circuit 30 includes an input terminal IN, an output terminal OUT, an N-bit register 32, and a modulation circuit 33. N-bit input data Din is input to the input terminal IN. N-bit output data Dout is output from the output terminal OUT.

Nビットレジスタ32は、N個のフリップフロップ31から構成される。Nは2以上の整数であり、例えば16である。Nビットレジスタ32には、Nビットのレジスタ入力データDRinがパラレルに入力される。また、Nビットレジスタ32から、Nビットのレジスタ出力データDRoutがパラレルに出力される。Nビットレジスタ32からのレジスタ出力データDRoutが、Nビットの出力データDout(擬似乱数データ)であり、出力端子OUTから出力される。   The N bit register 32 is composed of N flip-flops 31. N is an integer of 2 or more, for example, 16. N-bit register 32 receives N-bit register input data DRin in parallel. The N-bit register 32 outputs N-bit register output data DRout in parallel. The register output data DRout from the N-bit register 32 is N-bit output data Dout (pseudo random number data) and is output from the output terminal OUT.

本実施の形態において、レジスタクロックは、上述の第1クロック信号CLK1である。つまり、Nビットレジスタ32は、第1クロック信号CLK1に基づいて動作する。第1クロック信号CLK1に同期して、Nビットレジスタ32はレジスタ入力データDRinを取り込む。すなわち、第1クロック信号CLK1と同期して、Nビットレジスタ32のデータ値が一括して更新される。   In the present embodiment, the register clock is the first clock signal CLK1 described above. That is, the N-bit register 32 operates based on the first clock signal CLK1. In synchronization with the first clock signal CLK1, the N-bit register 32 takes in the register input data DRin. That is, the data value of the N-bit register 32 is updated at once in synchronization with the first clock signal CLK1.

変調回路33は、Nビットレジスタ32の出力から入力へのフィードバック経路上に設けられており、レジスタ出力データDRoutを変調することによってレジスタ入力データDRinを生成する。この変調(モジュレーション)により、レジスタ出力データDRoutの周期性が乱され、乱数性が高まる。また、この変調は、レジスタ出力データDRoutとレジスタ入力データDRinとの関係を非線形化することに相当する。この変調において、入力端子INから入力されるNビットの入力データDinが用いられる。初段の擬似乱数生成回路30−1の場合、入力データDinは、データ生成回路20によって生成される乱数データDrndである。それ以外の擬似乱数生成回路30−(i+1)の場合、入力データDinは、前段の擬似乱数生成回路30−iによって生成される出力データDout(擬似乱数データ)である。   The modulation circuit 33 is provided on a feedback path from the output of the N-bit register 32 to the input, and generates register input data DRin by modulating the register output data DRout. Due to this modulation, the periodicity of the register output data DRout is disturbed and the randomness is improved. This modulation corresponds to making the relationship between the register output data DRout and the register input data DRin non-linear. In this modulation, N-bit input data Din input from the input terminal IN is used. In the case of the first-stage pseudorandom number generation circuit 30-1, the input data Din is random number data Drnd generated by the data generation circuit 20. In the case of the other pseudo random number generation circuit 30- (i + 1), the input data Din is output data Dout (pseudo random number data) generated by the pseudo random number generation circuit 30-i in the previous stage.

より詳細には、図3に示されるように、変調回路33はEXOR回路34を有している。EXOR回路34は、入力データDinとNビットレジスタ32からのレジスタ出力データDRoutとの排他的論理和を出力する。このようにして、入力データDinを用いることによって、レジスタ出力データDRoutが変調される。EXOR回路34から出力されるNビットのデータは、以下「変調データDA」と参照される。   More specifically, as shown in FIG. 3, the modulation circuit 33 includes an EXOR circuit 34. The EXOR circuit 34 outputs an exclusive OR of the input data Din and the register output data DRout from the N-bit register 32. In this way, the register output data DRout is modulated by using the input data Din. The N-bit data output from the EXOR circuit 34 is hereinafter referred to as “modulation data DA”.

Nビットレジスタ32へのレジスタ入力データDRinは、この変調データDAから生成される。例えば、変調データDAがそのままレジスタ入力データDRinとして用いられる。あるいは、Nビットの変調データDAのうち任意の1ビットを置換ビットD1で更に置換することによって、レジスタ入力データDRinが生成されてもよい。例えば図3において、EXOR回路34とNビットレジスタ32との間に、置換回路35が設けられている。この置換回路35は、Nビットの変調データDAのうち例えば最下位ビットを置換ビットD1で置換することによって、レジスタ入力データDRinを生成する。これにより非線形化が促進され、レジスタ出力データDRoutの乱数性が更に向上する。   Register input data DRin to the N-bit register 32 is generated from this modulation data DA. For example, the modulation data DA is used as it is as the register input data DRin. Alternatively, the register input data DRin may be generated by further replacing any one bit of the N-bit modulation data DA with the replacement bit D1. For example, in FIG. 3, a replacement circuit 35 is provided between the EXOR circuit 34 and the N-bit register 32. The replacement circuit 35 generates register input data DRin by replacing, for example, the least significant bit of the N-bit modulation data DA with a replacement bit D1. This promotes non-linearization and further improves the randomness of the register output data DRout.

図3で示される変調回路33は、上述の置換ビットD1を生成するために、AND回路36とEXOR回路37を更に有している。AND回路36は、入力データDinとレジスタ出力データDRoutとの論理積を算出し、Nビットの置換データDBを生成する。EXOR回路37は、置換データDBのそれぞれのビットの排他的論理和を算出することによって、置換ビットD1(1ビット)を生成する。置換回路35は、この置換ビットD1を用いることによりレジスタ入力データDRinを生成する。   The modulation circuit 33 shown in FIG. 3 further includes an AND circuit 36 and an EXOR circuit 37 in order to generate the above-described replacement bit D1. The AND circuit 36 calculates the logical product of the input data Din and the register output data DRout, and generates N-bit replacement data DB. The EXOR circuit 37 generates a replacement bit D1 (1 bit) by calculating an exclusive OR of each bit of the replacement data DB. The replacement circuit 35 generates register input data DRin by using the replacement bit D1.

以上の構成により、擬似乱数生成回路30は、NLFSRと同様の機能を実現することができる。但し、擬似乱数生成回路30から出力されるのは、Nビットの出力データDout(擬似乱数データ)である。   With the above configuration, the pseudo-random number generation circuit 30 can realize the same function as that of the NLFSR. However, the N-bit output data Dout (pseudo random number data) is output from the pseudo random number generation circuit 30.

直列に接続された複数段の擬似乱数生成回路30−1〜30−4は、それぞれの入力データDinを用いることによって、Nビットの出力データDoutを別々に生成する。図1で示されたように、擬似乱数生成回路30−1〜30−4のそれぞれから出力される出力データDoutは、擬似乱数データX1〜X4であるとする。それら擬似乱数データX1〜X4の値は互いに異なっている。また、擬似乱数データX1〜X4は、互いに異なる乱数周期と乱数強度を有している。具体的には、ある擬似乱数生成回路30から出力される擬似乱数データの乱数周期は、前段の擬似乱数生成回路30から出力される擬似乱数データの乱数周期の2乗となる。   The plurality of stages of pseudo-random number generation circuits 30-1 to 30-4 connected in series generate N-bit output data Dout separately by using the respective input data Din. As shown in FIG. 1, the output data Dout output from each of the pseudo random number generation circuits 30-1 to 30-4 is assumed to be pseudo random number data X1 to X4. The values of the pseudorandom data X1 to X4 are different from each other. Further, the pseudo random number data X1 to X4 have different random number periods and random number strengths. Specifically, the random number period of the pseudo random number data output from a certain pseudo random number generation circuit 30 is the square of the random number period of the pseudo random number data output from the preceding pseudo random number generation circuit 30.

1−4.擬似乱数制御回路
図4は、本実施の形態に係る擬似乱数制御回路40の構成を示すブロック図である。擬似乱数制御回路40は、擬似乱数生成回路30−1〜30−4のそれぞれから異なる擬似乱数データX1〜X4を受け取る。そして、擬似乱数制御回路40は、受け取った擬似乱数データX1〜X4の中から1つを選択し、選択された擬似乱数データを擬似乱数出力PRとして出力する。
1-4. Pseudo Random Number Control Circuit FIG. 4 is a block diagram showing a configuration of the pseudo random number control circuit 40 according to the present embodiment. The pseudo random number control circuit 40 receives different pseudo random number data X1 to X4 from each of the pseudo random number generation circuits 30-1 to 30-4. Then, the pseudo random number control circuit 40 selects one of the received pseudo random number data X1 to X4 and outputs the selected pseudo random number data as a pseudo random number output PR.

より詳細には、図4に示されるように、擬似乱数制御回路40は、出力制御回路41、セレクタ42、及びAND回路43を有している。出力制御回路41は、制御信号CONに基づいて、セレクト信号SEL及びイネーブル信号ENを生成する。制御信号CONは、上述の第1クロック信号CLK1と同期している。セレクト信号SELは、擬似乱数データX1〜X4の中から選択される1つの擬似乱数データXsを指定する。イネーブル信号ENは、選択された擬似乱数データXsの出力を制御するための信号である。   More specifically, as shown in FIG. 4, the pseudo random number control circuit 40 includes an output control circuit 41, a selector 42, and an AND circuit 43. The output control circuit 41 generates a select signal SEL and an enable signal EN based on the control signal CON. The control signal CON is synchronized with the first clock signal CLK1 described above. The select signal SEL designates one pseudo random number data Xs selected from the pseudo random number data X1 to X4. The enable signal EN is a signal for controlling the output of the selected pseudorandom number data Xs.

セレクタ42は、セレクト信号SELに応じて、擬似乱数データX1〜X4から1つの擬似乱数データXsを選択する。AND回路43には、選択された擬似乱数データXsとイネーブル信号ENが入力される。イネーブル信号ENがHighレベルの場合、AND回路43は、Nビットの擬似乱数データXsを擬似乱数出力(擬似乱数列)PRとして出力する。一方、イネーブル信号ENがLowレベルの場合、AND回路43は、擬似乱数を出力しない。   The selector 42 selects one pseudo random number data Xs from the pseudo random number data X1 to X4 according to the select signal SEL. The AND circuit 43 receives the selected pseudo random number data Xs and the enable signal EN. When the enable signal EN is at a high level, the AND circuit 43 outputs N-bit pseudo random number data Xs as a pseudo random number output (pseudo random number sequence) PR. On the other hand, when the enable signal EN is at the Low level, the AND circuit 43 does not output a pseudo random number.

このように、本実施の形態によれば、複数段の擬似乱数生成回路30−1〜30−4によってそれぞれ異なる擬似乱数データX1〜X4が生成され、擬似乱数制御回路40によって任意の1つの擬似乱数データXsが選択的に出力される。その結果、乱数性が高く、且つ、安全性の高い擬似乱数列を出力することが可能となる。   As described above, according to the present embodiment, different pseudo-random number data X1 to X4 are generated by the plurality of stages of pseudo-random number generation circuits 30-1 to 30-4, and the pseudo-random number control circuit 40 performs arbitrary one pseudo-random data. Random number data Xs is selectively output. As a result, it is possible to output a pseudo-random number sequence having high randomness and high safety.

1−5.効果
本実施の形態によれば、データ生成回路20が、複数のクロック信号(CLK1,CLK2)のそれぞれのカウント値に基づいて、乱数データDrndを自動的に生成する。生成された乱数データDrndは、初段の擬似乱数生成回路30−1に対する入力データDinとなる。また、ある擬似乱数生成回路30−iによって生成される出力データDout(擬似乱数データ)が、次段の擬似乱数生成回路30−(i+1)に対する入力データDinとなる。各々の擬似乱数生成回路30は、その入力データDinを用いることによって、Nビットレジスタ32から出力されるレジスタ出力データDRoutを変調し、変調結果をNビットレジスタ32にフィードバックする。これにより、乱数性の高い擬似乱数データDoutが生成される。また、この変調により非線形化が実現され、乱数性が向上する。
1-5. Effect According to the present embodiment, the data generation circuit 20 automatically generates random number data Drnd based on the count values of the plurality of clock signals (CLK1, CLK2). The generated random number data Drnd becomes input data Din for the first-stage pseudorandom number generation circuit 30-1. Further, output data Dout (pseudorandom number data) generated by a certain pseudorandom number generation circuit 30-i becomes input data Din for the next-stage pseudorandom number generation circuit 30- (i + 1). Each pseudo random number generation circuit 30 modulates the register output data DRout output from the N-bit register 32 by using the input data Din, and feeds back the modulation result to the N-bit register 32. Thereby, pseudo-random number data Dout having high randomness is generated. In addition, non-linearization is realized by this modulation, and randomness is improved.

ここで、既出の特許文献1(特開2004−302915号公報)に記載された擬似乱数発生回路では、LFSRの出力からのフィードバック信号とクロック信号との排他的論理和が、LFSRの先頭レジスタに入力されることに留意されたい。しかしながら、そのクロック信号の周波数がLFSRのシフトクロックの周波数と比較して極端に低い場合、乱数性が高くならない。一方、本実施の形態によれば、各々の擬似乱数生成回路30において用いられる入力データDinは、クロック信号ではなく、Nビットの乱数データDrndあるいはNビットの擬似乱数データDoutである。従って、上記問題が解決され、乱数性が向上する。   Here, in the pseudo random number generation circuit described in Patent Document 1 (Japanese Patent Laid-Open No. 2004-302915), the exclusive OR of the feedback signal from the output of the LFSR and the clock signal is stored in the first register of the LFSR. Note that it is entered. However, when the frequency of the clock signal is extremely low compared with the frequency of the shift clock of the LFSR, randomness does not increase. On the other hand, according to the present embodiment, the input data Din used in each pseudo-random number generation circuit 30 is not a clock signal but N-bit random number data Drnd or N-bit pseudo-random data Dout. Therefore, the above problem is solved and randomness is improved.

また、乱数データDrndは、外部制御に依存することなく、自動的に生成されることに留意されたい。外部制御に依存しないので、乱数データDrndの秘匿性が向上する。また、擬似乱数生成回路30における処理も外部制御には一切依存していない。もし、擬似乱数の生成に外部制御が加えられると、その外部制御の内容が擬似乱数のヒントとなり、例えば暗号解読を容易にしてしまう。本実施の形態によれば、擬似乱数の生成には外部制御は一切加えられない。従って、生成される擬似乱数から、その生成論理を推測することが困難になる。すなわち、生成される擬似乱数の強度が向上する。   It should be noted that the random number data Drnd is automatically generated without depending on external control. Since it does not depend on external control, the confidentiality of the random number data Drnd is improved. Further, the processing in the pseudo random number generation circuit 30 does not depend on any external control. If external control is added to the generation of the pseudo random number, the content of the external control becomes a hint of the pseudo random number, and for example, the decryption is facilitated. According to the present embodiment, no external control is applied to the generation of pseudo random numbers. Therefore, it is difficult to infer the generation logic from the generated pseudorandom numbers. That is, the strength of the generated pseudo random number is improved.

また、乱数データDrandの生成に用いられるクロック信号(CLK1,CLK3,CLK4)をリングオシレータによって生成することは、次の観点から好ましい。電源投入直後、リングオシレータの発振状態は不安定である、すなわち、そのリングオシレータによって生成されるクロック信号の周波数は不規則である。従って、クロック信号のカウント値に基づいて生成される乱数データDrndは、電源投入毎に異なることになる。電源投入直後に生成される乱数データDrndは、擬似乱数生成回路30における初期値の設定に利用される。よって、その初期値も電源投入毎に異なることになり、初期値の乱数性が向上する。結果として、擬似乱数生成回路30によって生成される擬似乱数データDoutの乱数性も高まる。   In addition, it is preferable from the following viewpoint that the clock signals (CLK1, CLK3, CLK4) used for generating the random number data Drand are generated by the ring oscillator. Immediately after the power is turned on, the oscillation state of the ring oscillator is unstable, that is, the frequency of the clock signal generated by the ring oscillator is irregular. Therefore, the random number data Drnd generated based on the count value of the clock signal differs every time the power is turned on. Random number data Drnd generated immediately after power-on is used for setting an initial value in the pseudo-random number generation circuit 30. Therefore, the initial value also changes every time the power is turned on, and the randomness of the initial value is improved. As a result, the randomness of the pseudorandom number data Dout generated by the pseudorandom number generation circuit 30 also increases.

更に、本実施の形態によれば、複数段の擬似乱数生成回路30−1〜30−4によってそれぞれ異なる擬似乱数データX1〜X4が生成され、擬似乱数制御回路40によって任意の1つの擬似乱数データXsが選択的に出力される。その結果、乱数性が高く、且つ、安全性の高い擬似乱数列を出力することが可能となる。   Furthermore, according to the present embodiment, different pseudo random number data X1 to X4 are generated by the plurality of stages of pseudo random number generation circuits 30-1 to 30-4, and any one pseudo random number data is generated by the pseudo random number control circuit 40. Xs is selectively output. As a result, it is possible to output a pseudo-random number sequence having high randomness and high safety.

2.第2の実施の形態
図5は、本発明の第2の実施の形態に係る擬似乱数生成装置1の構成を示すブロック図である。第1の実施の形態と同じ構成には同一の符号が付され、重複する説明は適宜省略される。第1の実施の形態と比較して、第2の実施の形態は、擬似乱数生成回路30間の接続が異なっている。
2. Second Embodiment FIG. 5 is a block diagram showing a configuration of a pseudorandom number generator 1 according to a second embodiment of the present invention. The same components as those in the first embodiment are denoted by the same reference numerals, and redundant descriptions are omitted as appropriate. Compared with the first embodiment, the second embodiment is different in connection between the pseudo-random number generation circuits 30.

具体的には、ある擬似乱数生成回路30−iの出力端子OUTは、EXOR回路50を介して、次段の擬似乱数生成回路30−(i+1)の入力端子INに接続される(i=1,2,3)。EXOR回路50は、データ生成回路20によって生成される乱数データDrndと前段の擬似乱数生成回路30から出力される出力データDout(擬似乱数データ)との排他的論理和を出力する。そして、そのEXOR回路50からの出力データが、次段の擬似乱数生成回路30の入力端子INに入力される。すなわち、乱数データDrndと擬似乱数生成回路30−iからの出力データDoutとの排他的論理和が、次段の擬似乱数生成回路30−(i+1)に対するNビットの入力データDinとして利用される。結果として、生成される擬似乱数データの乱数性が更に向上する。   Specifically, the output terminal OUT of a certain pseudo-random number generation circuit 30-i is connected to the input terminal IN of the next-stage pseudo-random number generation circuit 30- (i + 1) via the EXOR circuit 50 (i = 1). , 2, 3). The EXOR circuit 50 outputs an exclusive OR of the random number data Drnd generated by the data generation circuit 20 and the output data Dout (pseudo random number data) output from the preceding pseudo random number generation circuit 30. The output data from the EXOR circuit 50 is input to the input terminal IN of the pseudo random number generation circuit 30 at the next stage. That is, the exclusive OR of the random number data Drnd and the output data Dout from the pseudo random number generation circuit 30-i is used as N-bit input data Din for the next stage pseudo random number generation circuit 30- (i + 1). As a result, the randomness of the generated pseudorandom data is further improved.

以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。   The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the above-described embodiments, and can be appropriately changed by those skilled in the art without departing from the scope of the invention.

図1は、本発明の第1の実施の形態に係る擬似乱数生成装置の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a pseudo-random number generator according to the first embodiment of the present invention. 図2は、本実施の形態に係るクロック生成回路及びデータ生成回路の構成を示すブロック図である。FIG. 2 is a block diagram illustrating the configuration of the clock generation circuit and the data generation circuit according to the present embodiment. 図3は、本実施の形態に係る擬似乱数生成回路の構成を示すブロック図である。FIG. 3 is a block diagram showing the configuration of the pseudorandom number generation circuit according to the present embodiment. 図4は、本実施の形態に係る擬似乱数制御回路の構成を示すブロック図である。FIG. 4 is a block diagram showing the configuration of the pseudo-random number control circuit according to the present embodiment. 図5は、本発明の第2の実施の形態に係る擬似乱数生成装置の構成を示すブロック図である。FIG. 5 is a block diagram showing a configuration of a pseudorandom number generator according to the second embodiment of the present invention.

符号の説明Explanation of symbols

1 擬似乱数生成装置
10 クロック生成回路
11〜13 発振回路
20 データ生成回路
21 第1Nビットカウンタ
22 第2Nビットカウンタ
23、24 EXOR回路
30 擬似乱数生成回路
31 フリップフロップ
32 Nビットレジスタ
33 変調回路
34 EXOR回路
35 置換回路
40 擬似乱数制御回路
42 セレクタ
50 EXOR回路
IN 入力端子
OUT 出力端子
Drnd 乱数データ
Din 入力データ
Dout 出力データ
PR 擬似乱数列
DESCRIPTION OF SYMBOLS 1 Pseudo random number generator 10 Clock generation circuit 11-13 Oscillation circuit 20 Data generation circuit 21 1st N bit counter 22 2nd N bit counter 23, 24 EXOR circuit 30 Pseudo random number generation circuit 31 Flip-flop 32 N bit register 33 Modulation circuit 34 EXOR Circuit 35 Replacement circuit 40 Pseudo random number control circuit 42 Selector 50 EXOR circuit IN Input terminal OUT Output terminal Drnd Random number data Din Input data Dout Output data PR Pseudo random number sequence

Claims (15)

擬似乱数を生成する擬似乱数生成回路と、
前記擬似乱数生成回路に接続されたデータ生成回路と
を具備し、
前記擬似乱数生成回路は、
Nビット(Nは2以上の整数)の入力データが入力される入力端子と、
Nビットレジスタと、
前記Nビットレジスタの出力から入力へのフィードバック経路に設けられ、前記入力データを用いて前記Nビットレジスタからの出力データを変調することによって、前記Nビットレジスタに入力されるレジスタ入力データを生成する変調回路と、
前記Nビットレジスタからの出力データが出力される出力端子と
を備え、
前記データ生成回路は、複数のクロック信号のそれぞれのカウント値に基づいてNビットの乱数データを生成し、前記乱数データを前記擬似乱数生成回路に対する前記入力データとして出力する
擬似乱数生成装置。
A pseudo-random number generator for generating pseudo-random numbers;
A data generation circuit connected to the pseudo-random number generation circuit,
The pseudo random number generation circuit includes:
An input terminal to which input data of N bits (N is an integer of 2 or more) is input;
An N-bit register;
Provided in a feedback path from the output of the N-bit register to the input, and modulates output data from the N-bit register using the input data, thereby generating register input data input to the N-bit register A modulation circuit;
An output terminal from which output data from the N-bit register is output;
The data generation circuit generates N-bit random number data based on count values of a plurality of clock signals, and outputs the random number data as the input data to the pseudo random number generation circuit.
請求項1に記載の擬似乱数生成装置であって、
前記データ生成回路は、
第1クロック信号をカウントする第1のNビットカウンタと、
第2クロック信号をカウントする第2のNビットカウンタと、
前記第1のNビットカウンタによる第1カウント値と前記第2のNビットカウンタによる第2カウント値との排他的論理和を前記乱数データとして生成する第1EXOR回路と
を有する
擬似乱数生成装置。
The pseudorandom number generator according to claim 1,
The data generation circuit includes:
A first N-bit counter for counting a first clock signal;
A second N-bit counter for counting a second clock signal;
A pseudo-random number generation device comprising: a first EXOR circuit that generates, as the random number data, an exclusive OR of a first count value obtained by the first N-bit counter and a second count value obtained by the second N-bit counter.
請求項2に記載の擬似乱数生成装置であって、
前記第1クロック信号と前記第2クロック信号とは、非同期であり、異なる周波数を有する
擬似乱数生成装置。
The pseudorandom number generator according to claim 2,
The pseudo-random number generation device, wherein the first clock signal and the second clock signal are asynchronous and have different frequencies.
請求項2又は3に記載の擬似乱数生成装置であって、
前記データ生成回路は、更に、第3クロック信号と第4クロック信号との排他的論理和を前記第2クロック信号として出力する第2EXOR回路を有する
擬似乱数生成装置。
The pseudorandom number generator according to claim 2 or 3,
The data generation circuit further includes a second EXOR circuit that outputs an exclusive OR of a third clock signal and a fourth clock signal as the second clock signal.
請求項4に記載の擬似乱数生成装置であって、
前記第3クロック信号と前記第4クロック信号とは、非同期であり、異なる周波数を有する
擬似乱数生成装置。
The pseudorandom number generation device according to claim 4,
The third clock signal and the fourth clock signal are asynchronous and have different frequencies.
請求項2乃至5のいずれか一項に記載の擬似乱数生成装置であって、
前記第1クロック信号を生成するリングオシレータを更に具備する
擬似乱数生成装置。
A pseudo-random number generator according to any one of claims 2 to 5,
A pseudo-random number generator further comprising a ring oscillator for generating the first clock signal.
請求項4又は5に記載の擬似乱数生成装置であって、
前記第1クロック信号を生成する第1リングオシレータと、
前記第3クロック信号を生成する第2リングオシレータと、
前記第4クロック信号を生成する第3リングオシレータと
を更に具備する
擬似乱数生成装置。
The pseudo-random number generator according to claim 4 or 5,
A first ring oscillator for generating the first clock signal;
A second ring oscillator for generating the third clock signal;
A pseudo-random number generation device, further comprising: a third ring oscillator that generates the fourth clock signal.
請求項2乃至7のいずれか一項に記載の擬似乱数生成装置であって、
前記Nビットレジスタは、前記第1クロック信号に基づいて動作する
擬似乱数生成装置。
The pseudo-random number generation device according to any one of claims 2 to 7,
The N-bit register operates based on the first clock signal.
請求項1乃至8のいずれか一項に記載の擬似乱数生成装置であって、
前記変調回路は、前記Nビットレジスタの出力データと前記入力データとの排他的論理和を出力する第3EXOR回路を有し、
前記レジスタ入力データは、前記第3EXOR回路の出力データから生成される
擬似乱数生成装置。
The pseudorandom number generation device according to any one of claims 1 to 8,
The modulation circuit includes a third EXOR circuit that outputs an exclusive OR of the output data of the N-bit register and the input data,
The register input data is generated from output data of the third EXOR circuit.
請求項9に記載の擬似乱数生成装置であって、
前記変調回路は、前記第3EXOR回路の出力データのうち1ビットを置換ビットで置換することによって前記レジスタ入力データを生成する置換回路を更に有する
擬似乱数生成装置。
The pseudorandom number generation device according to claim 9,
The modulation circuit further includes a replacement circuit that generates the register input data by replacing one bit of output data of the third EXOR circuit with a replacement bit.
請求項10に記載の擬似乱数生成装置であって、
前記変調回路は、
前記Nビットレジスタの出力データと前記入力データとの論理積を算出することによって置換データを生成するAND回路と、
前記置換データのそれぞれのビットの排他的論理和を前記置換ビットとして生成する第4EXOR回路と
を更に有する
擬似乱数生成装置。
The pseudorandom number generator according to claim 10,
The modulation circuit includes:
An AND circuit that generates replacement data by calculating a logical product of the output data of the N-bit register and the input data;
And a fourth EXOR circuit that generates an exclusive OR of each bit of the replacement data as the replacement bit.
請求項1乃至11のいずれか一項に記載の擬似乱数生成装置であって、
前記擬似乱数生成回路は、直列に複数段接続され、
前記データ生成回路は、前記乱数データを、前記複数段の擬似乱数生成回路のうち初段の擬似乱数生成回路に対する前記入力データとして出力する
擬似乱数生成装置。
The pseudorandom number generator according to any one of claims 1 to 11,
The pseudo-random number generation circuit is connected in multiple stages in series,
The data generation circuit outputs the random number data as the input data to the first-stage pseudo-random number generation circuit among the plurality of stages of pseudo-random number generation circuits.
請求項12に記載の擬似乱数生成装置であって、
前記複数段の擬似乱数生成回路において、ある擬似乱数生成回路の前記出力端子は、次段の擬似乱数生成回路の前記入力端子に直接接続された
擬似乱数生成装置。
The pseudo-random number generator according to claim 12,
In the plurality of stages of pseudorandom number generation circuits, the output terminal of a pseudorandom number generation circuit is directly connected to the input terminal of the next stage pseudorandom number generation circuit.
請求項12に記載の擬似乱数生成装置であって、
前記複数段の擬似乱数生成回路において、ある擬似乱数生成回路の前記出力端子は、第5EXOR回路を介して、次段の擬似乱数生成回路の前記入力端子に接続され、
前記第5EXOR回路は、前記乱数データと前記ある擬似乱数生成回路からの出力データとの排他的論理和を、前記次段の擬似乱数生成回路の前記入力端子に出力する
擬似乱数生成装置。
The pseudo-random number generator according to claim 12,
In the multi-stage pseudo-random number generation circuit, the output terminal of a pseudo-random number generation circuit is connected to the input terminal of the next-stage pseudo-random number generation circuit via a fifth EXOR circuit,
The fifth EXOR circuit outputs an exclusive OR of the random number data and output data from the certain pseudo random number generation circuit to the input terminal of the pseudo random number generation circuit at the next stage.
請求項12乃至14のいずれか一項に記載の擬似乱数生成装置であって、
更に、前記複数段の擬似乱数生成回路の各々の前記出力端子に接続された制御回路を具備し、
前記制御回路は、前記複数段の擬似乱数生成回路のそれぞれからの出力データのうち1つを選択し、前記選択された1つの出力データを擬似乱数として出力する
擬似乱数生成装置。
The pseudo-random number generation device according to any one of claims 12 to 14,
And a control circuit connected to each of the output terminals of the plurality of stages of pseudorandom number generation circuits,
The control circuit selects one of output data from each of the plurality of stages of pseudo-random number generation circuits, and outputs the selected one output data as a pseudo-random number.
JP2008107517A 2008-04-17 2008-04-17 Pseudo random number generator Expired - Fee Related JP5119417B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008107517A JP5119417B2 (en) 2008-04-17 2008-04-17 Pseudo random number generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008107517A JP5119417B2 (en) 2008-04-17 2008-04-17 Pseudo random number generator

Publications (2)

Publication Number Publication Date
JP2009259013A true JP2009259013A (en) 2009-11-05
JP5119417B2 JP5119417B2 (en) 2013-01-16

Family

ID=41386346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008107517A Expired - Fee Related JP5119417B2 (en) 2008-04-17 2008-04-17 Pseudo random number generator

Country Status (1)

Country Link
JP (1) JP5119417B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009288339A (en) * 2008-05-27 2009-12-10 Kddi Corp Ciphering device and deciphering device for stream cipher, mac generating device, ciphering method and deciphering method for stream cipher, mac generating method, and program
JP2013064898A (en) * 2011-09-19 2013-04-11 Nec Engineering Ltd Pseudo random number generation device, and pseudo random number generation method
WO2016132506A1 (en) * 2015-02-19 2016-08-25 三菱電機株式会社 Pseudorandom number generation device and pseudorandom number generation program
JP2021026290A (en) * 2019-07-31 2021-02-22 株式会社デンソーテン Information processing device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07311674A (en) * 1994-05-17 1995-11-28 Nippon Telegr & Teleph Corp <Ntt> Pseudo-random number generation device
JPH1195984A (en) * 1997-09-24 1999-04-09 Nec Corp Method and device for generating pseudo random number
JP2005202757A (en) * 2004-01-16 2005-07-28 Mitsubishi Electric Corp Pseudo random number generator and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07311674A (en) * 1994-05-17 1995-11-28 Nippon Telegr & Teleph Corp <Ntt> Pseudo-random number generation device
JPH1195984A (en) * 1997-09-24 1999-04-09 Nec Corp Method and device for generating pseudo random number
JP2005202757A (en) * 2004-01-16 2005-07-28 Mitsubishi Electric Corp Pseudo random number generator and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009288339A (en) * 2008-05-27 2009-12-10 Kddi Corp Ciphering device and deciphering device for stream cipher, mac generating device, ciphering method and deciphering method for stream cipher, mac generating method, and program
JP2013064898A (en) * 2011-09-19 2013-04-11 Nec Engineering Ltd Pseudo random number generation device, and pseudo random number generation method
WO2016132506A1 (en) * 2015-02-19 2016-08-25 三菱電機株式会社 Pseudorandom number generation device and pseudorandom number generation program
JPWO2016132506A1 (en) * 2015-02-19 2017-07-13 三菱電機株式会社 Pseudorandom number generation device and pseudorandom number generation program
JP2021026290A (en) * 2019-07-31 2021-02-22 株式会社デンソーテン Information processing device
JP7253470B2 (en) 2019-07-31 2023-04-06 株式会社デンソーテン Information processing equipment

Also Published As

Publication number Publication date
JP5119417B2 (en) 2013-01-16

Similar Documents

Publication Publication Date Title
JP3732188B2 (en) Pseudo random number generator
JP2937919B2 (en) Pseudo random number generator
US8744073B2 (en) Digital random number generator based on digitally-controlled oscillators
KR20140110142A (en) Random number generator
WO2012016588A1 (en) Bit sequence generator
US20130346459A1 (en) Method for generating random numbers
JP5171420B2 (en) Pseudo random number generator
JP5119417B2 (en) Pseudo random number generator
Fujieda On the feasibility of TERO-based true random number generator on Xilinx FPGAs
US10187044B1 (en) Bistable-element for random number generation
US9619206B2 (en) Pseudo-random bit sequence generator
US6507247B2 (en) Circuit and method for generating a variable frequency clock signal
JP4417389B2 (en) Random number generator and method using digital logic
CN112306456A (en) Entropy generator and method for generating enhanced entropy
US20100201409A1 (en) Frequency Divider Circuit
US9116764B2 (en) Balanced pseudo-random binary sequence generator
US7502814B2 (en) Device and method for generating a pseudorandom sequence of numbers
JPH11224183A (en) Pseudo-random number generating device
KR20050084153A (en) System and method for true random number generation
JP4363273B2 (en) Random number generator
JP6386904B2 (en) Random number generation apparatus and random number generation method
CN114089810A (en) Method and clock generation circuit for providing a processing clock signal for an encryption core
CN115867885A (en) True random number generator
JP2009053906A (en) Random number generating device
JP2000278099A (en) M-sequencies generating circuit and pn code generating circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110318

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110323

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees