JP6212728B2 - Random number generator and mapping operation circuit - Google Patents

Random number generator and mapping operation circuit Download PDF

Info

Publication number
JP6212728B2
JP6212728B2 JP2014211554A JP2014211554A JP6212728B2 JP 6212728 B2 JP6212728 B2 JP 6212728B2 JP 2014211554 A JP2014211554 A JP 2014211554A JP 2014211554 A JP2014211554 A JP 2014211554A JP 6212728 B2 JP6212728 B2 JP 6212728B2
Authority
JP
Japan
Prior art keywords
circuit
random number
mapping
data
multiplier
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
JP2014211554A
Other languages
Japanese (ja)
Other versions
JP2016081274A (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.)
Toshiba Information Systems Japan Corp
Original Assignee
Toshiba Information Systems Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Information Systems Japan Corp filed Critical Toshiba Information Systems Japan Corp
Priority to JP2014211554A priority Critical patent/JP6212728B2/en
Publication of JP2016081274A publication Critical patent/JP2016081274A/en
Application granted granted Critical
Publication of JP6212728B2 publication Critical patent/JP6212728B2/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 device and a mapping operation circuit that can be used in the random number generation device.

コンピュータによって作成する擬似乱数は、一定の規則で生成されるため、厳密にいえば乱数とはいえない。また、ソフトウェア的な擬似乱数生成手法では、仮に鍵発行サーバがハッキングされた場合などには、擬似乱数生成プログラムが流出する危険性がある。この場合、暗号鍵発行(乱数生成)パターンを把握されてしまう恐れがある。   Strictly speaking, pseudo-random numbers created by a computer are generated according to certain rules, and are not strictly random numbers. Also, with the software-like pseudo-random number generation method, there is a risk that the pseudo-random number generation program will leak if the key issuing server is hacked. In this case, there is a risk that an encryption key issue (random number generation) pattern will be grasped.

擬似乱数生成としては、著名な線形シフトレジスタ系が知られている。これらは電子回路化も容易で、かつ高速提供が可能であるが、根本的にソフトウェアでも再現可能である。従って、「ソフトウェアでは再現困難」といった(アナログ的)効果を得ることはできない。   A well-known linear shift register system is known as pseudorandom number generation. These can be easily made into an electronic circuit and can be provided at high speed, but can be fundamentally reproduced by software. Therefore, an (analog) effect such as “difficult to reproduce with software” cannot be obtained.

真性乱数生成は、一般的に、擬似乱数生成法に比べ生成速度が遅いという問題がある。また、真性乱数として熱電子を利用するものがあるが、1/0に偏りがあり、それを補正する機構を必要とする。また,計算機シミュレーションで利用する乱数として真性乱数を利用しようとしても、真性乱数生成は遅いため、今日のコンピュータの高速処理に間に合わない。従って、真正乱数生成がボトルネックとなって全体の処理時間が長くなるという問題がある。これについては、大量の真性乱数生成器を並列導入してスループットを上げることが考えられる。しかしながら、この手法によるときには、システムが大掛かりとなる問題が生じる。   True random number generation generally has a problem that its generation speed is slower than that of a pseudo-random number generation method. In addition, there are those that use thermoelectrons as true random numbers, but they are biased at 1/0 and require a mechanism for correcting them. Even if an attempt is made to use a true random number as a random number to be used in computer simulation, the generation of the true random number is slow, and it is not in time for the high-speed processing of today's computers. Therefore, there is a problem that the total processing time becomes longer due to the generation of genuine random numbers as a bottleneck. For this, it is conceivable to increase the throughput by introducing a large number of true random number generators in parallel. However, when this method is used, there is a problem that the system becomes large.

特許文献1には、アナログカオス信号をA/D変換し、データ圧縮処理後に乱数取得を行いアナログカオス信号から乱数値を取得する方法が開示されている。この特許文献1の方式ではアナログカオスのディジタル化が行われるだけで、カオスディジタル演算回路に不確定要素を付与することにより再現困難性の高い乱数を得るものではない。   Patent Document 1 discloses a method of A / D converting an analog chaotic signal, acquiring a random number after data compression processing, and acquiring a random value from the analog chaotic signal. In the method of Patent Document 1, only analog chaos is digitized, and random numbers that are difficult to reproduce are not obtained by adding an indeterminate element to the chaos digital arithmetic circuit.

また、簡単なLRC閉回路にてアナログカオス信号を生成し、そのままA/D変換し乱数データとして出力するような乱数生成回路によると、一見乱数のように見える出力を得ることができるものの、乱数性能を定量的に測ることにより相関性が発見される可能性があり、相関性を除去する工夫が必要となる。   Moreover, according to the random number generation circuit that generates an analog chaotic signal with a simple LRC closed circuit and outputs it as random number data after A / D conversion, an output that looks like a random number can be obtained. Correlation may be discovered by measuring performance quantitatively, and a device for removing the correlation is required.

また、特許文献2には、アナログカオス信号を協調させてA/D変換し、良質な乱数値を取り出す回路が開示されている。しかしながら、抽出されるデータ量は一回のクロックパルスにつき、1ビットのみであり、乱数生成スピードはアナログカオス信号を生成させる最適な外部周期信号(正弦波)の周波数に左右され、擬似乱数生成と比べてスピードがそれほど期待できない。   Patent Document 2 discloses a circuit that performs analog-to-digital conversion of analog chaotic signals to extract high-quality random values. However, the amount of data to be extracted is only 1 bit per clock pulse, and the random number generation speed depends on the frequency of the optimum external periodic signal (sine wave) that generates an analog chaotic signal, I can't expect that much speed.

一方、ロジスティック写像には理論的に、ある初期値により短い周期をとることが知られている。周期1となる値は、0.25, 0.5, 0.75があり、初期値を選択する際には注意が必要である。   On the other hand, it is theoretically known that a logistic map takes a short period with a certain initial value. There are 0.25, 0.5, and 0.75 values for period 1, and care must be taken when selecting the initial value.

Figure 0006212728
Figure 0006212728

他にもいくつか短い周期をとるパラメータが内在しており、固定演算で実装した場合でも該当するパラメータではこれらの周期帯を持っていることが報告されている。このため、注意して初期値を設定し、短いループに入らない工夫が必要となる。ところが、固定演算では写像の計算の過程において丸め誤差により、これらのパラメータに一致してしまう懸念がある。   There are some other parameters that take a short period, and it is reported that these parameters have these period bands even if they are implemented by fixed operations. For this reason, it is necessary to set an initial value with care and to avoid entering into a short loop. However, in a fixed operation, there is a concern that these parameters may coincide with a rounding error in the process of mapping.

カオス写像を固定演算で実装した場合、演算精度の最大値と比べて、かなり短い周期にいずれ落ち込む機構がある。
後述の整数演算化したロジスティック写像(7)式により演算精度N=6[bit]とした場合、初期値X=25からの写像は
25 → 60 → 15 → 45 → 53 → 36 → 63 → 3 → 11 → 36
と、遷移し、36 → 63 → 3 → 11の周期長4の周期帯に落ち込むことが分かる。
また初期値X=51では
51 → 58 → 21 → 56 → 28 → 63 → 3 → 11 → 36 → 63
と、遷移し、同様に36 → 63 → 3 → 11の周期長4の周期帯に落ち込むことが分かる。
When a chaotic map is implemented with a fixed calculation, there is a mechanism that eventually falls into a considerably shorter period than the maximum calculation accuracy.
When the calculation accuracy is N = 6 [bit] according to the integer calculation logistic map (7) described later, the mapping from the initial value X 0 = 25 is
25 → 60 → 15 → 45 → 53 → 36 → 63 → 3 → 11 → 36
It can be seen that a transition occurs and falls into a period band of period length 4 of 36 → 63 → 3 → 11.
In addition, in the initial value X 0 = 51
51 → 58 → 21 → 56 → 28 → 63 → 3 → 11 → 36 → 63
It can be seen that the transition occurs and falls into a period band of 36 → 63 → 3 → 11 with a period length of 4 similarly.

例えば、演算精度N=6[bit]は最大値が64であるが、演算精度の割にかなり短い周期になる。これは演算精度を上げた場合でも同様な機構を持つため、カオス写像をディジタル演算実装して乱数生成を行う場合に、乱数性能が悪くなるといった問題がある。このため、周期に落ち込まないような工夫が根本的に必要である。   For example, the maximum value of the calculation accuracy N = 6 [bit] is 64, but the cycle is considerably short for the calculation accuracy. Since this has the same mechanism even when the calculation accuracy is increased, there is a problem that the random number performance is deteriorated when random number generation is performed by mounting a chaotic mapping digitally. For this reason, the idea which does not fall into a period is fundamentally required.

更に、特許文献3には、固定演算を行うロジスティック写像が開示されている。しかしながら、この写像は、ディジタルな有限精度演算という性格上、乱数生成パターンや周期の存在は確定的である。   Further, Patent Document 3 discloses a logistic map for performing a fixed operation. However, this mapping has a definite presence of random number generation patterns and periods due to the nature of digital finite precision arithmetic.

また、特許文献4、特許文献5には、固定演算実装による短周期の問題については周期を延ばす手段により、統計的に乱数性能を向上させるという提案がなされている。しかしながら、周期を延ばす工夫をした場合、レジスタや制御回路などを追加することで、回路規模や処理工程が増大し、設計段階でのコストも上昇する問題がある。   Further, Patent Document 4 and Patent Document 5 propose that the random number performance is statistically improved by means of extending the period for the problem of a short period due to fixed arithmetic implementation. However, when a device for extending the cycle is used, adding a register, a control circuit, or the like increases the circuit scale and processing steps, and increases the cost at the design stage.

また、その機能を演算処理過程の内部に入れ、複雑化することで処理性能や回路面積の柔軟なスケールアップ/ダウンが難しくなる懸念がある。更に、周期を延ばす仕組みを追加したとしても、写像の系列の中にごく毫ながらも短周期帯が存在する可能性があるため、周期帯の全件探索を行ってみないとわからないといった問題がある。   Moreover, there is a concern that it is difficult to scale up / down the processing performance and circuit area flexibly by adding the function into the arithmetic processing process and making it complicated. In addition, even if a mechanism for extending the period is added, there is a possibility that a short period band may exist in the map sequence, but there is a problem that it is not known unless a full search is performed for the period band. is there.

更に、ロジスティック写像による乱数生成をソフトウェアで実装しようとすると、後述のように、NIST乱数検定に合格するためには、演算精度を64ビット以上とする必要があり、最大の演算幅は128ビット以上となる。現状のパーソナルコンピュータは演算精度幅の最大が64ビットであり、乱数性の良いものを作成しようとすると、多倍長演算ライブラリを利用する必要があり、乱数生成のスピードが遅くなる。このため、専用回路化を行うほうが望ましい。   Furthermore, if random number generation by logistic mapping is to be implemented by software, as will be described later, in order to pass the NIST random number test, the calculation accuracy must be 64 bits or more, and the maximum calculation width is 128 bits or more. It becomes. The current personal computer has a maximum calculation accuracy width of 64 bits, and if it is intended to create a random number with good randomness, it is necessary to use a multiple length arithmetic library, and the speed of random number generation is reduced. For this reason, it is desirable to use a dedicated circuit.

また、特許文献6には、CMOS電子回路を用いた一次元写像回路が開示されている。しかしながら、ロジスティック写像のアナログ電子回路で決定した内部状態をA/D変換し、乱数として取り出す必要がある。   Patent Document 6 discloses a one-dimensional mapping circuit using a CMOS electronic circuit. However, the internal state determined by the analog electronic circuit of the logistic map needs to be A / D converted and taken out as a random number.

また、一次元写像のディジタル演算実装などにおいて、写像の上位ビットを取り出すように構成すると、統計的に乱数性が悪いため、中位から下位側のビットを取り出すなど、取り方を工夫する必要がある。設計段階で予め乱数検定を行い、統計的な把握を事前に行っておくことが望ましい。   Also, in the implementation of one-dimensional mapping digital operations, if the configuration is such that the upper bits of the mapping are extracted, the randomness is statistically poor, so it is necessary to devise a method such as extracting the lower bits from the middle. is there. It is desirable to conduct a random number test in advance at the design stage, and to obtain a statistical grasp in advance.

更に、引用文献7には、乱数生成器として一般的に知られるフィードバックシフトレジスタに熱雑音を組み合わせることにより、ディジタル演算の持つ高速性とアナログの持つ不規則性を助長するように乱数性の向上を図った提案がなされている。   Further, in Cited Document 7, randomness is improved so as to promote the high speed of digital computation and the irregularity of analog by combining thermal noise with a feedback shift register generally known as a random number generator. The proposal which aimed at is made.

上記引用文献7に用いられるフィードバックシフトレジスタは、頻度と周期が理想的に作られており、一度生成されたパターンは周期内では2度とは生成されない。このため不規則な信号で系列を変動させるとしても、元に戻って同じパターンを繰り返すようになり、一方向的なパターン化された乱数を繰り返し出力する懸念がある。   The feedback shift register used in the cited document 7 is ideally made in frequency and period, and a pattern once generated is not generated twice in the period. For this reason, even if the sequence is fluctuated by an irregular signal, the same pattern is returned to the original, and there is a concern that a random number that is patterned in one direction is repeatedly output.

また、熱雑音は物理条件により、周期的なパターンを繰り返すといった懸念があり、製造後の品質にも左右される。このため、予め設計段階で乱数検定を行い、統計的な把握を事前に行えることがより望ましい。   Moreover, there is a concern that thermal noise repeats a periodic pattern depending on physical conditions, and it also depends on the quality after manufacture. For this reason, it is more desirable that a random number test is performed in advance at the design stage so that statistical grasping can be performed in advance.

更に、特許文献8には、32ビットの演算を別レジスタにいれて、演算精度を拡張するようにしたロジスティック写像の乱数生成回路が開示されている。しかしながら、ロジスティック写像に留まっており、周期性が生じることは免れようがないものと思われる。   Further, Patent Document 8 discloses a random number generation circuit for a logistic map in which a 32-bit operation is put in a separate register to extend the operation accuracy. However, it remains a logistic map, and it seems inevitable that periodicity will occur.

特許第3036698号明細書Japanese Patent No. 3036698 specification 特開2008−123374号公報JP 2008-123374 A 特開2004−93756号公報JP 2004-93756 A 特開2005−228169号公報JP 2005-228169 A 特開平9−292978号公報Japanese Patent Laid-Open No. 9-292978 特開平7−262159号公報JP-A-7-262159 特開昭51−224165号公報Japanese Patent Laid-Open No. 51-224165 特開2005−228169号公報JP 2005-228169 A

一般的に、予測不可能性を有するといわれるカオス現象を数理的に生成させるものとして、ロジスティック写像が知られている。その数式は簡単なため、回路規模が少ない擬似乱数生成回路として使用できる。そして、ロジスティック写像はバタフライ効果で知られるそのカオス的振る舞いにより、初期値もしくは計算値にわずかな誤差を与えるのみで予測不可能性を助長させるという特徴を備えている。   In general, a logistic map is known as a mathematically generated chaotic phenomenon that is said to have unpredictability. Since the mathematical formula is simple, it can be used as a pseudo-random number generation circuit with a small circuit scale. And the logistic map has the feature that the unpredictability is promoted only by giving a slight error to the initial value or the calculated value due to its chaotic behavior known as the butterfly effect.

本発明は、このようなロジスティック写像の特徴と、前述の通りの乱数生成技術の現状とに鑑みなされたもので、その目的は、小型化と高速化が可能であり、系列が予測不可能で再現不可能な良質の乱数列を生成することが可能な乱数生成装置を提供することである。また、本発明は、この乱数生成装置に用いることのできる写像演算回路を提供することを目的とする。   The present invention has been made in view of the characteristics of such a logistic map and the current state of the random number generation technology as described above, and its purpose is that it can be reduced in size and speed, and the sequence is unpredictable. To provide a random number generator capable of generating a high-quality random number sequence that cannot be reproduced. It is another object of the present invention to provide a mapping operation circuit that can be used in this random number generation device.

本発明に係る乱数生成装置は、アナログカオス生成回路によりアナログカオス信号を発生するアナログカオス生成回路と、このアナログカオス信号を、それぞれ別の参照電圧を用いて1または0のディジタル値に変換するn個の差分増幅回路を用いてnビット中1ビットが選択指示信号となるnビットのデータを得て、前記nビットのデータの選択指示信号に基づきn個のレジスタの1つを選択してデータを抽出することによりディジタル変換して変動用データを得るビット抽出・A/D変換回路とを備える変動データ生成部と、ロジスティック写像を行う写像演算回路と、前記変動データに基づき前記写像演算回路における写像に変動を生じさせるデータ変動手段と、前記写像演算回路による写像結果に基づき乱数値を取得する乱数値取得手段とを具備することを特徴とする。 The random number generation device according to the present invention includes an analog chaos generation circuit that generates an analog chaos signal by an analog chaos generation circuit, and converts the analog chaos signal to a digital value of 1 or 0 using different reference voltages. Using n differential amplifier circuits, n-bit data in which 1 bit out of n bits is a selection instruction signal is obtained, and one of n registers is selected based on the n-bit data selection instruction signal. In the mapping operation circuit based on the variation data, a variation data generation unit including a bit extraction / A / D conversion circuit that obtains variation data by digital conversion by extracting the data, a map operation circuit that performs logistic mapping, Data variation means for causing variation in mapping, and random value acquisition for acquiring a random value based on the mapping result by the mapping operation circuit Characterized by comprising a stage.

本発明に係る乱数生成装置では、変動データ生成部は、カオス信号をディジタル化したデータの一部をそのまま又は所定演算を行って変動データとすることを特徴とする。   In the random number generation device according to the present invention, the fluctuation data generation unit is characterized in that a part of the data obtained by digitizing the chaotic signal is used as the fluctuation data as it is or by performing a predetermined calculation.

本発明に係る乱数生成装置では、データ変動手段は、変動データを写像データの一部と置換することを特徴とする。   In the random number generation device according to the present invention, the data variation means replaces the variation data with a part of the mapping data.

本発明に係る乱数生成装置では、データ変動手段は、変動データと写像データの少なくとも一部との演算に基づき写像に変動を生じさせることを特徴とする。   In the random number generation device according to the present invention, the data changing means generates the change in the mapping based on the calculation of the fluctuation data and at least a part of the mapping data.

本発明に係る乱数生成装置では、乱数値取得手段は、前記写像演算回路による写像結果をそのまま又は所定演算を行って乱数値とすることを特徴とする。   The random number generation device according to the present invention is characterized in that the random value acquisition means uses the mapping result obtained by the mapping calculation circuit as it is or performs a predetermined calculation to obtain a random value.

本発明に係る乱数生成装置では、前記アナログカオス生成回路は、所定のタイミングで回路定数を変更することを特徴とする。   In the random number generation device according to the present invention, the analog chaos generation circuit changes a circuit constant at a predetermined timing.

本発明に係る写像演算回路は、乗数Xと、2Nから前記乗数Xを引算した結果である被乗数(2N−X)との掛け算結果に、定数aを掛ける式により定義されるロジスティック方程式を用いてロジスティック写像を行う写像演算回路において、前記被乗数を得る演算として2Nから乗数Xを引算する減算部と、前記減算部により得られた被乗数と乗数とを乗算する乗算部と、前記乗算部により得られた結果について、定数aに対応するシフト演算を行うシフト演算部と、前記シフト演算部により得られた結果から下位Nビットを棄却して次の乗数として前記減算部へ送出する第1の処理部とを具備することを特徴とする。 Mapping operation circuit according to the present invention, and the multiplier X i, the multiplication result of the multiplicand is the result of subtracting the multiplier X i from 2 N (2 N -X i) , defined by the equation multiplying the constant a that the mapping operation circuit for performing a logistic map by using the logistic equation, multiplication that multiplies a subtraction unit for subtracting the multiplier X i from 2 N as the operation of obtaining the multiplicand, the multiplicand and the multiplier obtained by the subtraction unit And a shift operation unit that performs a shift operation corresponding to a constant a with respect to the result obtained by the multiplication unit, and rejects the lower N bits from the result obtained by the shift operation unit and performs the subtraction as the next multiplier And a first processing unit to be sent to the unit.

本発明に係る写像演算回路では、乗数を置数する乗数レジスタと、被乗数を置数する被乗数レジスタと、加算器と、1を供給する1供給源と、を有し、前記減算部が、前記乗数レジスタに置数された乗数を反転して補数を得るインバータと、前記インバータの出力と前記1供給源より1を夫々前記加算器へ導く第1の経路と、前記加算器へ導かれた前記インバータの出力と前記1供給源からの1が加算された結果を前記被乗数レジスタへ導く第2の経路とにより構成されることを特徴とする。   The mapping operation circuit according to the present invention includes a multiplier register for placing a multiplier, a multiplicand register for placing a multiplicand, an adder, and a single supply source for supplying 1; An inverter that inverts the multiplier set in the multiplier register to obtain a complement, a first path that leads 1 to the adder from the output of the inverter and the one supply source, and the lead that is led to the adder It is characterized by comprising an output of the inverter and a second path for guiding the result of adding 1 from the one supply source to the multiplicand register.

本発明に係る写像演算回路では、更に、シフトレジスタと前記乗数レジスタに置数された乗数の下位ビットから順に1ビット取り出して、この1ビットと前記被乗数レジスタに置数された被乗数との論理積をアンド回路により求めて、結果を前記加算器に出力する第2の処理部と、前記加算器を用いて、初期データ或いは前回の加算器の出力を前記シフトレジスタによりシフトしたデータと前記第2の処理部の出力との加算を行い、前記シフトレジスタへ出力する第3の処理部とを備え、前記乗数レジスタに置数された乗数のビットすべてについて処理が行われるまで、シフトレジスタ、前記第2の処理部及び前記第3の処理部による処理を繰り返し実行することを特徴とする。   In the mapping operation circuit according to the present invention, one bit is extracted in order from the lower bits of the multiplier set in the shift register and the multiplier register, and the logical product of the one bit and the multiplicand set in the multiplicand register is obtained. Is obtained by an AND circuit, and the result is output to the adder, the initial data or the data obtained by shifting the output of the previous adder by the shift register using the adder, and the second And a third processing unit that outputs to the shift register and outputs the shift register until the processing is performed for all the bits of the multiplier placed in the multiplier register. The processing by the second processing unit and the third processing unit is repeatedly executed.

本発明によれば、小型化と高速化が可能であり、系列が予測不可能で再現不可能であり、良質な乱数列を生成することが可能である。   According to the present invention, it is possible to reduce the size and increase the speed, and it is possible to generate a high-quality random number sequence whose sequence is unpredictable and cannot be reproduced.

本発明の乱数生成装置の実施形態を示すブロック図。The block diagram which shows embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられるアナログカオス生成回路を示すブロック図。The block diagram which shows the analog chaos generation circuit used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられるアナログカオス生成回路であり、パラメータを自動変動可能な回路を示すブロック図。The block diagram which shows the circuit which is an analog chaos generating circuit used for embodiment of the random number generator of this invention, and can change a parameter automatically. 本発明の乱数生成装置の実施形態に用いられるビット抽出・A/D変換回路を示すブロック図。The block diagram which shows the bit extraction and A / D conversion circuit used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられるアナログカオス生成回路においてパラメータを変更した場合のアナログカオス電圧の変化を示すブロック図。The block diagram which shows the change of an analog chaos voltage at the time of changing a parameter in the analog chaos generation circuit used for embodiment of the random number generator of this invention. ロジスティック写像の時系列と対応するリターンマップを示す図。The figure which shows the return map corresponding to the time series of a logistic map. 本発明の実施形態に係るロジスティック写像演算部の動作を示すフローチャート。The flowchart which shows operation | movement of the logistic map calculating part which concerns on embodiment of this invention. 本発明の実施形態に係るロジスティック写像演算部の動作を詳細に示すフローチャート。The flowchart which shows the operation | movement of the logistic map calculating part which concerns on embodiment of this invention in detail. 本発明の乱数生成装置の実施形態に用いられる写像演算回路の構成を示す回路図。The circuit diagram which shows the structure of the mapping arithmetic circuit used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられる制御回路の構成を示す回路図。The circuit diagram which shows the structure of the control circuit used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられる制御回路を回路シミュレーションした具体的な波形図。The specific wave form diagram which carried out the circuit simulation of the control circuit used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられるセレクタの構成を示す回路図。The circuit diagram which shows the structure of the selector used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられる乗数レジスタの構成を示す回路図。The circuit diagram which shows the structure of the multiplier register | resistor used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられる被乗数レジスタの構成を示す回路図。The circuit diagram which shows the structure of the multiplicand register used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられる加算器の構成を示す回路図。The circuit diagram which shows the structure of the adder used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態に用いられるシフトレジスタの構成を示す回路図。The circuit diagram which shows the structure of the shift register used for embodiment of the random number generator of this invention. 本発明に係る乱数生成装置の実施形態のシフトレジスタに用いられる1ビットシフト回路の構成を示す回路図。The circuit diagram which shows the structure of the 1-bit shift circuit used for the shift register of embodiment of the random number generator based on this invention. 本発明の乱数生成装置の実施形態に用いられるロジスティック写像演算部を回路シミュレーションした波形図。The wave form diagram which carried out the circuit simulation of the logistic map calculating part used for embodiment of the random number generator of this invention. 本発明の乱数生成装置の実施形態によるビット乗算のフローチャート。The flowchart of the bit multiplication by embodiment of the random number generator of this invention. 実施例1と実施例2で行った乱数値抽出されるまでのロジスティック写像演算のビット配列フロー図。The bit arrangement | sequence flow figure of the logistic mapping operation until random value extraction performed in Example 1 and Example 2 is performed. 負性抵抗回路のポアンカレプロットを示す図。The figure which shows the Poincare plot of a negative resistance circuit. ロジスティック写像において1ビットを強制変更した場合の時系列と変更しない場合の時系列を示す図。The figure which shows the time series when not changing the time series when changing 1 bit compulsorily in a logistic map.

以下添付図面を参照して、本発明に係る乱数生成装置及びそれに用いられる写像演算回路の実施形態を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。図1に、本発明に係る乱数生成装置の実施形態の構成図を示す。乱数生成装置の実施形態は、変動データ生成部10と、ロジスティック写像を行う写像演算回路21を備えている。   Embodiments of a random number generation device according to the present invention and a mapping operation circuit used therein will be described below with reference to the accompanying drawings. In each figure, the same components are denoted by the same reference numerals, and redundant description is omitted. FIG. 1 shows a configuration diagram of an embodiment of a random number generation device according to the present invention. The embodiment of the random number generation device includes a variation data generation unit 10 and a mapping operation circuit 21 that performs logistic mapping.

変動データ生成部10は、アナログカオス生成回路によりアナログカオス信号を発生し、この信号からディジタル変換して変動用データを得るものである。変動データ生成部10には、アナログカオス生成回路11とビット抽出・A/D変換回路12とが備えられている。   The fluctuation data generation unit 10 generates an analog chaos signal by an analog chaos generation circuit and digitally converts the signal to obtain fluctuation data. The variation data generation unit 10 includes an analog chaos generation circuit 11 and a bit extraction / A / D conversion circuit 12.

また、写像演算回路21は、ロジスティック写像演算部20に含まれており、ロジスティック写像演算部20には、写像演算回路21、初期値レジスタ22及び乱数出力回路23が備えられている。   The map operation circuit 21 is included in the logistic map operation unit 20, and the logistic map operation unit 20 includes a map operation circuit 21, an initial value register 22, and a random number output circuit 23.

この乱数生成装置は、制御回路30を備えており、制御回路30は、ビット抽出・A/D変換回路12、写像演算回路21、乱数出力回路23の出力を制御する。また、外部からクロック信号が制御回路30とビット抽出・A/D変換回路12とに与えられており、アナログカオス生成回路11には、外部から周期信号が与えられている。なお、乱数出力回路23は、写像演算回路21による写像結果に基づき乱数値を取得する乱数値取得手段として機能する。乱数値取得手段は、上記写像演算回路21による写像結果をそのまま又は所定演算を行って乱数値とすることができる。   The random number generation device includes a control circuit 30, which controls the outputs of the bit extraction / A / D conversion circuit 12, the mapping operation circuit 21, and the random number output circuit 23. Further, a clock signal is given from the outside to the control circuit 30 and the bit extraction / A / D conversion circuit 12, and a periodic signal is given to the analog chaos generation circuit 11 from the outside. The random number output circuit 23 functions as a random value acquisition unit that acquires a random value based on the mapping result obtained by the mapping operation circuit 21. The random value acquisition means can use the mapping result obtained by the mapping calculation circuit 21 as it is or perform a predetermined calculation to obtain a random value.

本実施形態では、上記アナログカオス生成回路11として電子回路を用いてカオス信号を発生させる。アナログカオス生成回路11としての電子回路は、負性発振回路、非線形インダクタンスを備える直列共振回路、ダブルスクロール回路等のいずれを用いてもよいし、また、別の構成によるアナログカオス生成を行う電子回路であってもよい。   In the present embodiment, a chaos signal is generated using an electronic circuit as the analog chaos generation circuit 11. The electronic circuit as the analog chaos generation circuit 11 may be any of a negative oscillation circuit, a series resonance circuit with a nonlinear inductance, a double scroll circuit, and the like, and an electronic circuit that generates analog chaos with another configuration. It may be.

本実施形態では、図2に示すような負性抵抗発振回路をアナログカオス生成回路11として採用することができる。即ち、RL直列回路にコンデンサCと負性抵抗MRとの並列回路を接続し、この回路に外部から周期信号としてEcos(ωt)の信号を与える。   In the present embodiment, a negative resistance oscillation circuit as shown in FIG. 2 can be employed as the analog chaos generation circuit 11. That is, a parallel circuit of a capacitor C and a negative resistance MR is connected to the RL series circuit, and a signal of Ecos (ωt) is given to this circuit as a periodic signal from the outside.

Figure 0006212728
Figure 0006212728

本実施形態では、図2の回路をアナログカオス生成回路11として用いたが、図3に示す回路を用いてもよい。この図3の回路は、図2のコンデンサCに代えてコンデンサC0を接続し、コンデンサ(C1〜C8)とスイッチ(SW1〜SW8)による直列回路を、上記のコンデンサC0に並列接続したものである。スイッチの開閉は、乱数生成装置により得られた乱数(例えば、その内の8ビット)により制御を行うように構成することができる。即ち、アナログカオス生成回路は、所定のタイミングで回路定数を変更するように構成することができる。 In the present embodiment, the circuit of FIG. 2 is used as the analog chaos generation circuit 11, but the circuit shown in FIG. 3 may be used. In the circuit of FIG. 3, a capacitor C 0 is connected instead of the capacitor C of FIG. 2, and a series circuit including capacitors (C 1 to C 8 ) and switches (SW 1 to SW 8 ) is connected in parallel to the capacitor C 0. It is a thing. The opening and closing of the switch can be configured to be controlled by a random number (for example, 8 bits among them) obtained by a random number generator. That is, the analog chaos generation circuit can be configured to change the circuit constant at a predetermined timing.

ビット抽出・A/D変換回路12は、例えば図4に示すように構成することができる。このビット抽出・A/D変換回路12では、1ビット抽出用の構成であり、図の横方向に1群として並ぶ回路要素により1ビット分の基本回路が構成されている。従って、カオス信号を分割するビット数に対応して上記基本回路が設けられる。このビット抽出・A/D変換回路12は、アナログカオス信号よりビット抽出をするためのA/D変換回路図であり、一般的に用いられる高速A/Dコンバータ方式のものである。   The bit extraction / A / D conversion circuit 12 can be configured as shown in FIG. 4, for example. The bit extraction / A / D conversion circuit 12 has a configuration for extracting one bit, and a basic circuit for one bit is configured by circuit elements arranged in a group in the horizontal direction in the figure. Therefore, the basic circuit is provided corresponding to the number of bits for dividing the chaotic signal. This bit extraction / A / D conversion circuit 12 is an A / D conversion circuit diagram for extracting bits from an analog chaotic signal, and is of a generally used high-speed A / D converter system.

ここでは入力されたアナログカオス信号を抵抗素子によって分圧し、分圧された信号を各差動増幅回路により参照電圧と比較して1/0へ変換する構成を採用している。1/0に変換された各差動増幅回路の出力は、次段のラッチ回路へと転送される。ラッチ回路では、アナログカオス信号から乱数ビット値を読み出すべき所望サイクルのタイミングにより、クロック信号CLKがHレベルとされ、これにより次段の排他的論理和回路(Exclusive OR)へデータ転送が行われる。   Here, the input analog chaotic signal is divided by a resistance element, and the divided signal is compared with a reference voltage by each differential amplifier circuit and converted to 1/0. The output of each differential amplifier circuit converted to 1/0 is transferred to the latch circuit at the next stage. In the latch circuit, the clock signal CLK is set to the H level at a desired cycle timing at which the random bit value is to be read from the analog chaos signal, and data is transferred to the exclusive OR circuit (Exclusive OR) in the next stage.

各差動増幅回路の参照電圧はGND電圧に近いものほど順に低く設定されているため、アナログカオス電圧のサンプリング時に各参照電圧により隣同士が“1”または“0”のラッチ回路の出力群2つに分割され、1/0の境界部の排他的論理和回路1つのみが“1”を出力する。   Since the reference voltage of each differential amplifier circuit is set lower in order as it is closer to the GND voltage, the output group 2 of the latch circuit whose neighbors are “1” or “0” depending on each reference voltage when sampling the analog chaos voltage. Only one exclusive OR circuit at the 1/0 boundary outputs “1”.

排他的論理和回路の出力により1/0レジスタが選択される構成を有しており、選択された1/0レジスタは格納している1ビットのデータを出力する。ここで1/0レジスタには図4に示すようにデータ1/0が交互に格納されている。この動作により、アナログカオス信号がディジタル変換され、更に1ビット抽出がサンプリング周期毎(クロック信号CLKがHレベル)のときに行われる。   The 1/0 register is selected by the output of the exclusive OR circuit, and the selected 1/0 register outputs stored 1-bit data. Here, data 1/0 is alternately stored in the 1/0 register as shown in FIG. By this operation, the analog chaotic signal is converted into a digital signal, and 1-bit extraction is performed at every sampling period (clock signal CLK is at H level).

更に、1/0レジスタについても任意クロック数(取得ビット数)ごとに、クロックカウンタ回路により1→0または0→1と反転される。これは振幅値による1/0頻度のずれ補正と、ランダム性能向上のため行われる。このように、本実施形態では、アナログカオス生成回路によりアナログカオス信号を発生し、この信号からディジタル変換して変動用データを得る変動データ生成部を備えている。変動データ生成部は、カオス信号をディジタル化したデータの一部をそのまま又は所定演算を行って変動データとすることができる。   Further, the 1/0 register is also inverted by 1 → 0 or 0 → 1 by the clock counter circuit every arbitrary number of clocks (number of acquired bits). This is performed to correct the 1/0 frequency shift by the amplitude value and to improve the random performance. As described above, the present embodiment includes a variation data generation unit that generates an analog chaos signal by the analog chaos generation circuit and digitally converts the signal to obtain variation data. The fluctuation data generation unit can use a part of the data obtained by digitizing the chaos signal as it is or perform a predetermined calculation to obtain the fluctuation data.

アナログカオス信号について、このビット抽出・A/D変換回路12より生成される乱数ビット信号が、本実施形態の乱数生成装置によって生成される乱数全体の質を左右するものになるため、例えば特開2008−123374号に示されているような、相関性や平均値の検定に合格しているものを使用すると好適である。   For an analog chaos signal, the random number bit signal generated by the bit extraction / A / D conversion circuit 12 affects the quality of the entire random number generated by the random number generation device of the present embodiment. It is preferable to use one that has passed the correlation and average test as shown in 2008-123374.

ここで、先に図3に示したようなLRC回路によって、パラメータCをある時点で僅かに変えるアナログカオス生成回路11を用いる有利性を説明する。図5はカオス振動を起こすLRC回路のパラメータCの値をある時点で僅かに変えた場合(C=0.3[μF]→0.3005[μF]) の時系列の電圧値V1と、パラメータCの値を不変とした場合(C=0.3[μF]固定) での時系列の電圧値V2の変動を比較したグラフである。この図5に明らかなように、カオスは初期鋭敏性により微妙にL/R/C等の各種パラメータを変化させただけで系列が徐々に離れてゆき、一定の時間後より全く異なる系のように振る舞うという特徴を持つことが分かる。このことから、L/R/C値を、既に出力された乱数値を用いる等の手法によって変動させることで、系列が変わるため、予測不可能性を助長するものとして望ましいことが明白である。   Here, the advantage of using the analog chaos generation circuit 11 that slightly changes the parameter C at a certain point in time by the LRC circuit as shown in FIG. 3 will be described. FIG. 5 shows the time series voltage value V1 and the parameter C value when the value of the parameter C of the LRC circuit causing the chaotic oscillation is slightly changed at a certain time (C = 0.3 [μF] → 0.3005 [μF]). It is the graph which compared the fluctuation | variation of the time-sequential voltage value V2 when not changing (C = 0.3 [micro F] fixed). As can be seen in FIG. 5, chaos is a system that is gradually different after a certain period of time only by changing various parameters such as L / R / C slightly due to initial sensitivity. It can be seen that it has the characteristic of behaving. From this, it is clear that the sequence is changed by changing the L / R / C value by a method such as using a random number value that has already been output, and therefore it is desirable to promote unpredictability.

ロジスティック写像演算部20の写像演算回路21では、次のようにロジスティック写像を実現する。ロジスティック写像の数式は以下で定義される。   In the map calculation circuit 21 of the logistic map calculation unit 20, the logistic map is realized as follows. The mathematical formula for the logistic map is defined below.

Figure 0006212728
Figure 0006212728

ロジスティック写像の値域は[0,1] 区間のあらゆる値をとるように振る舞い、無限精度演算が可能ならば過去算出したXには戻らない性質を備えている。初期値X0には任意の値を選択できるが、例えばX=0.25,0.5,0.75とした場合、解が収束してしまうため、これらの初期値は採用することができず、初期値としては解が収束しない値を注意して選択する必要がある。図6(a)に、初期値にX0=0.4を代入し、不規則に値をとる数列 { Xi } の横軸“i ”に対する時系列を示し、図6(b)にその幾何学構造(リターンマップ)を示す。また、ロジスティック写像を整数演算化したものは、次の式になる。演算精度のビット数を以降、“N ”とする。ロジスティック写像のディジタル演算実装については(7)式によるものとなる。 Range of logistic map behaves like take any value of [0,1] interval, and a property that does not return in the past calculated X i possibly infinite precision arithmetic. Although any value can be selected as the initial value X 0 , for example, when X 0 = 0.25, 0.5, 0.75, the solution converges, so these initial values cannot be adopted, and the initial value is Must carefully select values that do not converge. FIG. 6 (a) shows the time series for the horizontal axis “i” of the sequence {X i } in which X 0 = 0.4 is assigned to the initial value and takes values irregularly, and FIG. 6 (b) shows its geometry. The structure (return map) is shown. A logistic map obtained by converting it to an integer is expressed as follows. In the following, the number of bits of calculation accuracy is “N”. The digital arithmetic implementation of the logistic map is based on equation (7).

Figure 0006212728
Figure 0006212728

本実施形態に係るロジスティック写像演算部20の写像演算回路21では、初期値レジスタ22にセットされた初期値X0を用いてロジスティック写像演算を開始する。初期値X0としては、短い周期に陥らない固定値を求めて、予め初期値レジスタ22に格納しておく。或いは、アナログカオス生成回路11において作成したアナログカオス信号をA/D変換して、短い周期に陥らないディジタル値を取り出し、予め初期値レジスタ22に格納しておくようにしてもよい。 In the map calculation circuit 21 of the logistic map calculation unit 20 according to the present embodiment, the logistic map calculation is started using the initial value X 0 set in the initial value register 22. As the initial value X 0 , a fixed value that does not fall within a short cycle is obtained and stored in the initial value register 22 in advance. Alternatively, the analog chaos signal generated in the analog chaos generation circuit 11 may be A / D converted to extract a digital value that does not fall within a short period, and stored in the initial value register 22 in advance.

本実施形態に係るロジスティック写像演算部20においては、上記の変動データに基づき上記写像演算回路21における写像に変動を生じさせるデータ変動手段を備える。このため、乱数抽出を行うべき写像回数RNと、ビット抽出・A/D変換回路12による不確定ビットを用いてロジスティック写像結果に変動を生じさせるべき乱数抽出回数ANとが設定される。本実施形態では、データ変動手段は、変動データを写像データの一部と置換する。即ち、ロジスティック写像結果の所定ビットを、ビット抽出・A/D変換回路12の出力で置換する。しかし、データ変動手段は、変動データと写像データの少なくとも一部との演算に基づき写像に変動を生じさせるようにしてもよい。なお、ここで行われる演算は、加減乗除や適当な関数によるものなど、どのようなものを用いても良い。   The logistic map calculation unit 20 according to the present embodiment includes data changing means for causing a change in the mapping in the map calculation circuit 21 based on the change data. For this reason, the number of mappings RN to be subjected to random number extraction and the number of random number extractions AN to be used to cause fluctuation in the logistic mapping result using the uncertain bit by the bit extraction / A / D conversion circuit 12 are set. In this embodiment, the data changing means replaces the changing data with a part of the mapping data. That is, a predetermined bit of the logistic mapping result is replaced with the output of the bit extraction / A / D conversion circuit 12. However, the data changing means may change the mapping based on the calculation of the fluctuation data and at least a part of the mapping data. The calculation performed here may be any calculation such as addition / subtraction / division / division or an appropriate function.

以上のような本実施形態に係るロジスティック写像演算部20は、図7に示すフローチャートに示すように動作する。初期値レジスタ22から初期値X0を取り出し(S11)、これを用いてロジスティック写像演算を行う(S12)。ステップS12では、初期状態で0の演算回数iを1インクリメントする。次に、演算回数が乱数抽出を行うべき写像回数RNに達したかを検出し(S13)、RNに達していなければステップS12に戻って処理を続ける。 The logistic map computing unit 20 according to the present embodiment as described above operates as shown in the flowchart shown in FIG. From the initial value register 22 fetches the initial value X 0 (S11), performs a logistic mapping operation using this (S12). In step S12, the number of calculations i of 0 is incremented by 1 in the initial state. Next, it is detected whether the number of computations has reached the number of mappings RN that should be subjected to random number extraction (S13). If the number has not reached RN, the process returns to step S12 to continue the processing.

一方、ステップS13において演算回数iがRNに達していることが検出されると、乱数出力回路23において写像演算回路21により演算された結果から乱数値を抽出し、乱数抽出回数jを1インクリメントする(S14)。次に、乱数抽出回数jがロジスティック写像結果に変動を生じさせるべき乱数抽出回数ANに達したかを検出する(S15)。ここで、ANに達していなければ、ステップS12に戻って処理を続ける。   On the other hand, if it is detected in step S13 that the number of operations i has reached RN, the random number output circuit 23 extracts a random value from the result calculated by the mapping operation circuit 21, and increments the random number extraction number j by one. (S14). Next, it is detected whether the random number extraction number j has reached the random number extraction number AN that should cause a change in the logistic mapping result (S15). If it has not reached AN, the process returns to step S12 and continues.

また、ステップS15において乱数抽出回数jがANに達した場合には、変動データ生成部10によって生成された変動用データである誤差ビットにより、ロジスティック写像結果に変動を生じさせて新たな写像結果X[k]を求め、次にステップS12において用いられるように処理する(S16)。なお、kは、変動用データである誤差ビットを挿入する写像結果Xi中の下位ビット桁を示すものである。 When the random number extraction count j reaches AN in step S15, the logistic mapping result is changed by the error bit that is the changing data generated by the changing data generation unit 10, and a new mapping result X is generated. i [k] is determined and then processed to be used in step S12 (S16). Note that k indicates a lower-order bit digit in the mapping result X i into which error bits that are data for variation are inserted.

本実施形態に係るロジスティック写像演算部20は、更に詳細には、図8に示すフローチャートに示すように減算部(S21)、乗算部(S22)、シフト演算部(S23)、処理部(S24)による動作により、(7)式のロジスティック写像を実行する。まず、初期値供給源である初期値レジスタ22から初期値X0[N]を取り出し(S20)、これを用いてロジスティック写像演算を行う。なお、図8において、Nは演算精度を示し、Xi[N]は写像のビット配列を示し、MINUS[N]は引き算結果のビット配列を示し、MULTI[N]は掛け算結果のビット配列を示す。 More specifically, the logistic mapping operation unit 20 according to the present embodiment includes a subtraction unit (S21), a multiplication unit (S22), a shift operation unit (S23), and a processing unit (S24) as shown in the flowchart of FIG. The logistic mapping of the expression (7) is executed by the operation according to the above. First, the initial value X 0 [N] is extracted from the initial value register 22 which is an initial value supply source (S20), and a logistic mapping operation is performed using this. In FIG. 8, N indicates the calculation accuracy, X i [N] indicates the bit arrangement of the mapping, MINUS [N] indicates the bit arrangement of the subtraction result, and MULTI [N] indicates the bit arrangement of the multiplication result. Show.

減算部(S21)では、被乗数を得る演算として2Nから乗数Xを引算する次に、乗算部(S22)では、上記引算の結果(2N−X)に乗数であるXを掛けて2Nビット分の解を得る。更に、シフト演算部(S23)においては、上記乗算の結果を2ビット左シフトして、上記(7)式の4倍に相当する演算を行う。そして、処理部(S24)においては、2Nによる割り算に相当する下位Nビット分を削除(棄却)してNビット分の写像結果Xを得る。以下繰り返しステップS21からステップS24を実行して、設定された有限精度の計算を行う。 The subtraction unit (S21), the next subtracting the 2 multiplier from N X i as the operation to obtain the multiplicand, the multiplier unit (S22), a multiplier to the result of the subtraction (2 N -X i) X i To obtain a 2N-bit solution. Further, in the shift operation unit (S23), the result of the multiplication is left-shifted by 2 bits, and an operation corresponding to four times the equation (7) is performed. In the processing unit (S24), the lower N bits corresponding to the division by 2 N are deleted (rejected) to obtain a mapping result X i for N bits. Thereafter, steps S21 to S24 are repeatedly executed to perform the set finite precision calculation.

以上が本実施形態に係るロジスティック写像演算部20の写像演算回路21による処理である。これによって1回の写像演算でNビット分を格納するレジスタ配列X[N]が得られるが、本実施形態の乱数生成装置では、データ変動手段が、レジスタ配列X[N]の所定位置の所定ビットを、ビット抽出・A/D変換回路12により抽出された不確定ビット(本実施形態では、1ビット)により置換して予測不可能性を助長させることができる。 The above is the processing by the map calculation circuit 21 of the logistic map calculation unit 20 according to the present embodiment. As a result, a register array X i [N] for storing N bits in one mapping operation is obtained. In the random number generation device of the present embodiment, the data changing means is a predetermined position of the register array X i [N]. Can be replaced with an indeterminate bit (1 bit in this embodiment) extracted by the bit extraction / A / D conversion circuit 12 to promote unpredictability.

上記の写像演算回路21による処理を実現させるために、ロジスティック写像演算部20における写像演算回路21の詳細構成を図9に示すようにすることができる。ロジスティック写像演算部20では、制御回路30がクロック信号を外部から取り込み、このクロックに基づき生成したパルスPulse1〜パルスPulse3を所要部に与えることにより制御を行う構成となっている。   In order to realize the processing by the map calculation circuit 21, the detailed configuration of the map calculation circuit 21 in the logistic map calculation unit 20 can be as shown in FIG. In the logistic map calculation unit 20, the control circuit 30 takes in a clock signal from the outside, and performs control by applying pulses Pulse1 to Pulse3 generated based on this clock to the required units.

図10に、制御回路30の具体的な構成図を示す。この図10に明らかなように、制御回路30は、カスケード接続された3つのDフリップフロップ回路31〜33と、インバータ34、アンド回路35、36、EX−OR(排他的論理和)回路37、38とにより構成されている。Dフリップフロップ回路31〜33は、クロック端子に入力される信号のHighエッジをトリガとして、D入力端子の信号を取り込み、上記クロック端子に次のHighエッジが入力されるまで、上記D入力端子から取り込んだ信号を保持してQ出力端子から出力を継続する。上記3つのDフリップフロップ回路31〜33により8進カウンタが構成されている。   FIG. 10 shows a specific configuration diagram of the control circuit 30. As apparent from FIG. 10, the control circuit 30 includes three D flip-flop circuits 31 to 33 connected in cascade, an inverter 34, AND circuits 35 and 36, an EX-OR (exclusive OR) circuit 37, 38. The D flip-flop circuits 31 to 33 receive the signal at the D input terminal using the high edge of the signal input to the clock terminal as a trigger, and from the D input terminal until the next high edge is input to the clock terminal. The captured signal is held and output is continued from the Q output terminal. The three D flip-flop circuits 31 to 33 constitute an octal counter.

アンド回路35は、Dフリップフロップ回路31のクロック端子に入力されるクロック信号CLK及びDフリップフロップ回路31〜33のD端子の出力信号(CNT2,CNT4,CNT8)を入力として論理積演算を行い、アンド回路36は、Dフリップフロップ回路31のクロック端子に入力されるクロック信号CLK、Dフリップフロップ回路32、33のD端子の出力信号(CNT4,CNT8)を直接に入力し、また、Dフリップフロップ回路31のD端子の出力信号(CNT2)をインバータ34を介して入力し、これらの信号の論理積演算を行う。アンド回路35の出力信号がパルスPulse1とされ、アンド回路36の出力信号がパルスPulse2とされる。   The AND circuit 35 performs an AND operation with the clock signal CLK input to the clock terminal of the D flip-flop circuit 31 and the output signals (CNT2, CNT4, CNT8) of the D terminal of the D flip-flop circuits 31 to 33 as inputs. The AND circuit 36 directly inputs the clock signal CLK input to the clock terminal of the D flip-flop circuit 31 and the output signals (CNT4 and CNT8) of the D terminal of the D flip-flop circuits 32 and 33, and also the D flip-flop The output signal (CNT2) at the D terminal of the circuit 31 is input via the inverter 34, and the logical product operation of these signals is performed. The output signal of the AND circuit 35 is a pulse Pulse1, and the output signal of the AND circuit 36 is a pulse Pulse2.

EX−OR回路37は、Dフリップフロップ回路31のクロック端子に入力される信号とアンド回路35の出力信号を入力として排他的論理和演算を行う。EX−OR回路38は、上記EX−OR回路37の出力信号とアンド回路36の出力信号との排他的論理和演算を行う。EX−OR回路38の出力信号は、パルスPulse3とされる。   The EX-OR circuit 37 performs an exclusive OR operation using the signal input to the clock terminal of the D flip-flop circuit 31 and the output signal of the AND circuit 35 as inputs. The EX-OR circuit 38 performs an exclusive OR operation on the output signal of the EX-OR circuit 37 and the output signal of the AND circuit 36. The output signal of the EX-OR circuit 38 is a pulse Pulse3.

図11に、制御回路30を回路シミュレーションした具体的な波形図を示す。前述の通り、パルスPulse1は、クロック信号CLK及びD端子の出力信号(CNT2,CNT4,CNT8)とにより論理演算された1個のパルスであり、パルスPulse2は、クロック信号CLK とD端子の出力信号(CNT4,CNT8)とD端子の出力信号(CNT2)の反転信号とにより論理演算された1個のパルスである。また。パルスPulse3は、パルスPulse2とクロック信号CLK との排他的論理和演算の結果を用いて、この結果とパルスPulse2との論理和演算を行った結果であり、演算精度N=6[bit]に相当する6個のパルスである。この例では、N=6[bit]であるため、1回の写像ではパルスPulse1とパルスPulse2が1パルス用いられ、パルスPulse3は演算精度N[bit]に対応して6パルス用いられ、合計で8パルス(クロック)が用いられることになる。すなわち、1回の写像計算に必要なクロック数はN+2 個となる。   FIG. 11 shows a specific waveform diagram obtained by circuit simulation of the control circuit 30. As described above, the pulse Pulse1 is one pulse logically calculated by the clock signal CLK and the output signal (CNT2, CNT4, CNT8) of the D terminal, and the pulse Pulse2 is the output signal of the clock signal CLK and the D terminal. This is one pulse logically operated by (CNT4, CNT8) and the inverted signal of the output signal (CNT2) of the D terminal. Also. Pulse Pulse3 is the result of performing an OR operation between this result and pulse Pulse2, using the result of the exclusive OR operation between pulse Pulse2 and clock signal CLK, and corresponds to an operation accuracy of N = 6 [bit] 6 pulses. In this example, since N = 6 [bit], one pulse uses Pulse 1 and Pulse 2 in one mapping, and Pulse Pulse 3 uses 6 pulses corresponding to the calculation accuracy N [bit], for a total of Eight pulses (clock) will be used. That is, the number of clocks required for one mapping calculation is N + 2.

上記パルスPulse1、Pulse2、Pulse3の役割は以下の通りである。パルスPulse1においては、その初回のパルスによって初期値レジスタ22にセットされている初期値X0の読み出しが行われ、2回目以降のパルスによって乗数レジスタ221に対し1回毎の写像の結果であるXiのセットが行われる。また、パルスPulse1によって乱数出力回路23からの乱数値の出力が行われる。また、パルスPulse2においては、そのパルスによってロジスティック写像の引算(2N−X)が行われる。 The roles of the pulses Pulse1, Pulse2, and Pulse3 are as follows. In the pulse Pulse 1, the initial value X 0 set in the initial value register 22 is read by the first pulse, and X is a result of mapping for each time to the multiplier register 221 by the second and subsequent pulses. i is set. Further, the random number value is output from the random number output circuit 23 by the pulse Pulse1. Further, in the pulse Pulse2, the logistic map subtraction (2 N −X i ) is performed by the pulse.

更に、パルスPulse3においては、そのパルスは演算精度N[bit]分のN個により構成され、そのパルスによってロジスティック写像の掛け算X(2N−X)が行われる。パルス個数は複数あり、演算精度N[bit]分のN 個分になる。以上のパルスPulse1、Pulse2、Pulse3を1回の写像においてその順に用い、ユーザによって決められる所要回数の写像を繰り返すことで(7)式のロジスティック写像の計算を順次行うことができる。 Further, in the pulse Pulse3, the pulse is composed of N pulses with the calculation accuracy N [bit], and logistic multiplication X i (2 N −X i ) is performed by the pulse. There are multiple pulses, which is equivalent to N for calculation accuracy of N [bit]. The above-described pulses Pulse1, Pulse2, and Pulse3 are used in that order in one mapping, and the required number of mappings determined by the user are repeated, thereby making it possible to sequentially calculate the logistic mapping of equation (7).

図9に示すロジスティック写像演算部20には、写像演算回路21、初期値レジスタ22及び乱数出力回路23が備えられている。初期値レジスタ22は、初期値X0がセットされており、この初期値X0が写像演算回路21に供給される。また、写像演算回路21からは、乱数出力回路23により乱数値が出力される。本実施形態では、乱数出力回路23としてアンド回路が用いられ、制御回路30から出力されるパルスPulse1により出力制御が行われる。 The logistic map calculation unit 20 shown in FIG. 9 includes a map calculation circuit 21, an initial value register 22, and a random number output circuit 23. The initial value register 22 is the initial value X 0 is set, the initial value X 0 is supplied to the mapping operation circuit 21. The random number output circuit 23 outputs a random value from the mapping operation circuit 21. In the present embodiment, an AND circuit is used as the random number output circuit 23, and output control is performed by the pulse Pulse 1 output from the control circuit 30.

写像演算回路21を、乗数Xと、2Nから前記乗数Xを引算した結果である被乗数(2N−X)との掛け算結果に、定数aを掛ける式により定義されるロジスティック方程式を用いてロジスティック写像を行う写像演算回路とすることができる。本実施形態では、写像が周期性を持たないカオス領域となるように、定数a=4とする。写像演算回路21は、減算部、乗算部、シフト演算部、処理部を備える構成とすることができる。 The mapping operation circuit 21, and the multiplier X i, the multiplication result of the multiplicand is the result of subtracting the multiplier X i from 2 N (2 N -X i) , logistic equation defined by formula multiplying the constant a Can be used as a mapping operation circuit for performing logistic mapping. In the present embodiment, constant a = 4 is set so that the mapping is a chaotic region having no periodicity. The mapping operation circuit 21 can include a subtraction unit, a multiplication unit, a shift operation unit, and a processing unit.

減算部は、上記被乗数を得る演算として2Nから乗数Xを引算するものである。乗算部は、上記減算部により得られた被乗数と乗数とを乗算するものである。シフト演算部は、乗算部により得られた結果について、定数aに対応するシフト演算を行うものである。更に処理部は、上記シフト演算部により得られた結果から下位Nビットを棄却して次の乗数として上記減算部へ送出するものである。 The subtracting unit subtracts the multiplier X i from 2 N as an operation for obtaining the multiplicand. The multiplication unit multiplies the multiplicand obtained by the subtraction unit and the multiplier. The shift operation unit performs a shift operation corresponding to the constant a for the result obtained by the multiplication unit. Further, the processing unit rejects the lower N bits from the result obtained by the shift calculation unit and sends it to the subtraction unit as the next multiplier.

写像演算回路21は、乗数を置数する乗数レジスタ221と、被乗数を置数する被乗数レジスタ222と、加算器223と、1を供給する1供給源224とを有する。また、上記減算部を構成すべく、写像演算回路21は、インバータ225と、第1の経路と、第2の経路を備えている。   The mapping operation circuit 21 includes a multiplier register 221 for placing a multiplier, a multiplicand register 222 for placing a multiplicand, an adder 223, and a 1 supply source 224 for supplying 1. Further, the mapping operation circuit 21 includes an inverter 225, a first path, and a second path so as to constitute the subtracting unit.

インバータ225は、乗数レジスタ221に置数された乗数を反転して補数を得るものである。第1の経路は、上記インバータ225の出力と上記1供給源224より1を夫々上記加算器223へ導く経路であり、セレクタ252とセレクタ253を含むものである。第2の経路は、上記加算器223へ導かれた上記インバータ225の出力と上記1供給源224からの1が加算された結果を、上記被乗数レジスタ222へ導く経路であり、アンド回路263を含む。   The inverter 225 inverts the multiplier placed in the multiplier register 221 to obtain a complement. The first path is a path for leading 1 from the output of the inverter 225 and the one supply source 224 to the adder 223, and includes a selector 252 and a selector 253. The second path is a path for leading the result of adding the output of the inverter 225 led to the adder 223 and 1 from the one supply source 224 to the multiplicand register 222 and includes an AND circuit 263. .

写像演算回路21は、更に、シフトレジスタ226、アンド回路262、第2の処理部、第3の処理部を備える。第2の処理部は、上記乗数レジスタ221に置数された乗数の下位ビットから順に1ビット取り出して、この1ビットと上記被乗数レジスタ222に置数された被乗数との論理積をアンド回路262により求めて、結果を上記加算器223に出力するものである。   The mapping operation circuit 21 further includes a shift register 226, an AND circuit 262, a second processing unit, and a third processing unit. The second processing unit sequentially extracts one bit from the lower bits of the multiplier set in the multiplier register 221, and ANDs the 1 bit and the multiplicand set in the multiplicand register 222 by the AND circuit 262. The result is obtained and the result is output to the adder 223.

第3の処理部は、上記加算器223を用いて、初期データ或いは前回の加算器223の出力を上記シフトレジスタ226によりシフトしたデータと上記第2の処理部の出力との加算を行い、アンド回路264を介して上記シフトレジスタ226へ出力するものである。   The third processing unit uses the adder 223 to add the initial data or the data obtained by shifting the output of the previous adder 223 by the shift register 226 and the output of the second processing unit. The data is output to the shift register 226 via the circuit 264.

上記第2の処理部及び上記第3の処理部による処理は、上記乗数レジスタ221に置数された乗数のビットすべてについて処理が行われるまで、繰り返し実行される。上記第2の処理部及び上記第3の処理部による処理の詳細は、後述する。   The processing by the second processing unit and the third processing unit is repeatedly executed until processing is performed for all the bits of the multipliers placed in the multiplier register 221. Details of processing by the second processing unit and the third processing unit will be described later.

更に写像演算回路21には、初期値X0を選択するかシフトレジスタ226の出力を選択するか制御するために、セレクタ251が備えられている。このセレクタ251は、1ビットシフトレジスタ271の直接の出力またはインバータ272を介した出力により制御される。1ビットシフトレジスタ271の、D端子にはソース電圧VDDが与えられ、クリア端子CLRにはソース電圧VSSが与えられ、クロック端子CLKにはオア回路273を介してパルスPulse1とパルスPulse2が与えられる。 Further, the mapping operation circuit 21 is provided with a selector 251 for controlling whether the initial value X 0 or the output of the shift register 226 is selected. The selector 251 is controlled by a direct output of the 1-bit shift register 271 or an output via the inverter 272. In the 1-bit shift register 271, the source voltage VDD is supplied to the D terminal, the source voltage VSS is supplied to the clear terminal CLR, and the pulse Pulse1 and the pulse Pulse2 are supplied to the clock terminal CLK via the OR circuit 273.

更に、乗数レジスタ221のDW端子にはパルスPulse1が与えられ、クロック端子CLKにはオア回路274を介してパルスPulse1とパルスPulse3が与えられる。   Further, the pulse Pulse 1 is given to the DW terminal of the multiplier register 221, and the pulse Pulse 1 and the pulse Pulse 3 are given to the clock terminal CLK via the OR circuit 274.

上記の写像演算回路21に備えられているセレクタ251、252、253は同一の構成とされ、図12に示すような回路図である。本実施形態ではN=6ビットであるから、6ブロックの論理回路ブロック250を備える。各論理回路ブロック250には、A端子からの入力データをSA端子への制御信号によって通過制御するアンド回路と、B端子からの入力データをSB端子への制御信号によって通過制御するアンド回路と上記2つのアンド回路の出力信号を受けて論理和演算結果をS端子から出力するオア回路とが備えられている。従って、SA端子とSB端子のいずれかにHレベルが与えられた側の入力端子A、Bのいずれかが選択されてNビットが出力される。   The selectors 251, 252, and 253 provided in the mapping arithmetic circuit 21 have the same configuration and are circuit diagrams as shown in FIG. In this embodiment, since N = 6 bits, the logic circuit block 250 of 6 blocks is provided. Each logic circuit block 250 includes an AND circuit that controls passage of input data from the A terminal by a control signal to the SA terminal, an AND circuit that controls passage of input data from the B terminal by a control signal to the SB terminal, and the above-described circuit. An OR circuit that receives the output signals of the two AND circuits and outputs a logical sum operation result from the S terminal. Therefore, one of the input terminals A and B on the side where the H level is given to either the SA terminal or the SB terminal is selected, and N bits are output.

また、上記の写像演算回路21に備えられている乗数レジスタ221は、図13に示すような並列入力直列出力シフトレジスタの回路図の構成を有している。乗数レジスタ221は、入力データを保持する6個のDフリップフロップ130と、右1ビットシフトした結果を保持するためにDフリップフロップ130の最下位側に接続された1つのDフリップフロップ130Aと、6個のDフリップフロップ130のD端子へのデータ書き込みを制御する6個の論理回路ブロック140とを備えている。   Further, the multiplier register 221 provided in the above mapping operation circuit 21 has a circuit diagram configuration of a parallel input serial output shift register as shown in FIG. The multiplier register 221 includes six D flip-flops 130 that hold input data, and one D flip-flop 130A that is connected to the least significant side of the D flip-flop 130 to hold the right-shifted result. And six logic circuit blocks 140 for controlling data writing to the D terminals of the six D flip-flops 130.

論理回路ブロック140は、パルスPulse1がHレベルのときにPD端子の入力をDフリップフロップ130のD端子へ通過させてクロックにより取り込みを行わせ、パルスPulse1がLレベルのときにクロック端子CLKに到来するパルスPulse3によるシフトが行われるように制御を行う回路である。なお、本実施形態では、アンド回路261の出力端子は、入力端子PD1〜PD6のいずれかに接続され、この入力端子(PD1〜PD6のいずれか)には、セレクタ251の出力は与えられない。   The logic circuit block 140 allows the input of the PD terminal to pass through the D terminal of the D flip-flop 130 when the pulse Pulse1 is at the H level, and takes in the clock, and arrives at the clock terminal CLK when the pulse Pulse1 is at the L level. This is a circuit that performs control so that the shift by the pulse Pulse3 is performed. In the present embodiment, the output terminal of the AND circuit 261 is connected to one of the input terminals PD1 to PD6, and the output of the selector 251 is not given to this input terminal (any one of PD1 to PD6).

更に、上記の写像演算回路21に備えられている被乗数レジスタ222は、図14に示すように構成される。被乗数レジスタ222は、クロック端子CLKに共通のクロックとしてパルスPulse2を入力する並列に設けられた6個のDフリップフロップ150により構成される。   Further, the multiplicand register 222 provided in the mapping operation circuit 21 is configured as shown in FIG. The multiplicand register 222 includes six D flip-flops 150 provided in parallel for inputting a pulse Pulse2 as a common clock to the clock terminal CLK.

また、上記の写像演算回路21に備えられている加算器223は、図15に示されるように構成される。この加算器223は、最下位にハーフアダー160を設け、このハーフアダー160に対し、5個の縦続接続したフルアダー170を接続した構成とされている。   Further, the adder 223 provided in the mapping calculation circuit 21 is configured as shown in FIG. The adder 223 is configured such that a half adder 160 is provided at the lowest position, and five cascaded full adders 170 are connected to the half adder 160.

また、上記の写像演算回路21に備えられているシフトレジスタ226は、図16に示すような並列入力並列出力シフトレジスタの回路図の構成を有している。つまり、シフトレジスタ226は、図16に示すようにN+1個の1ビットシフトレジスタ180により構成され、このN+1個の1ビットシフトレジスタ180のD端子に入力されたデータを1ビットシフトしてSFT端子から出力する。   Further, the shift register 226 provided in the mapping arithmetic circuit 21 has a circuit diagram configuration of a parallel input parallel output shift register as shown in FIG. That is, the shift register 226 is composed of N + 1 1-bit shift registers 180 as shown in FIG. 16, and the data input to the D terminal of the N + 1 1-bit shift registers 180 is shifted by 1 bit and the SFT terminal Output from.

各1ビットシフトレジスタ180は、図17に示すように2個の縦続接続されたDフリップフロップ190により構成される。クロック端子CLKに入力される一つ目のクロック(パルスPulse3)によって初段のDフリップフロップ190にD端子からデータが取り込まれて保持され、LTC(Q)端子の出力となる。クロック端子CLKに入力される一つ目のクロック(パルスPulse3)によって上記初段のDフリップフロップ190のLTC(Q)端子における出力が第2段のDフリップフロップ190にD端子からデータが取り込まれて保持されることにより、右シフトが実行される。なお、図9における1ビットシフトレジスタ271の構成も、図17に示されている回路に等しく、同様に動作するものである。   Each 1-bit shift register 180 is composed of two cascaded D flip-flops 190 as shown in FIG. By the first clock (pulse Pulse 3) input to the clock terminal CLK, data is fetched and held from the D terminal in the first stage D flip-flop 190 and becomes the output of the LTC (Q) terminal. The output from the LTC (Q) terminal of the first stage D flip-flop 190 is taken into the second stage D flip-flop 190 from the D terminal by the first clock (pulse Pulse 3) input to the clock terminal CLK. By being held, a right shift is executed. The configuration of the 1-bit shift register 271 in FIG. 9 is also equivalent to the circuit shown in FIG. 17 and operates in the same manner.

以上のように構成された写像演算回路21は、以下の通りに動作する。パルスPulse1の出力により演算スタートとなり、予め初期値X0が格納された初期値レジスタ22から、セレクタ251を介して、パルスPulse1の信号が乗数レジスタ221のDW端子と、オア回路274を介してクロック端子CLKに入力される。これにより、予め初期値X0が格納された初期値レジスタ22からセレクタ251を介して、乗数レジスタ221にセットされる。 The mapping operation circuit 21 configured as described above operates as follows. The calculation is started by the output of the pulse Pulse1, and the signal of the pulse Pulse1 is clocked via the selector 251 and the DW terminal of the multiplier register 221 and the OR circuit 274 from the initial value register 22 in which the initial value X 0 is stored in advance. Input to terminal CLK. As a result, the initial value X 0 is stored in advance in the multiplier register 221 via the selector 251 from the initial value register 22.

乗数レジスタ221では、DW端子がHレベルの間、端子PD<1:6>に到来するデータをクロック端子CLKに与えられる信号がHレベルのタイミングにて、内部のDフリップフロップ130に取り込む。つまり、パルスPulse1がHレベルのときに端子PD<1:6>にデータが転送される。   In the multiplier register 221, while the DW terminal is at the H level, the data supplied to the terminal PD <1: 6> is taken into the internal D flip-flop 130 at the timing when the signal applied to the clock terminal CLK is at the H level. That is, data is transferred to the terminals PD <1: 6> when the pulse Pulse1 is at the H level.

セレクタ251は演算スタート時のみ、初期値X0を読み出すように入力の選択を実行する。図17に示した通りに構成されている1ビットシフトレジスタ271は初期段階では出力端子SFTがLレベルとなっており、インバータ272を介してセレクタ251のSA端子にHレベルが与えられるため、入力端子Aから到来する初期値X0を選択する。パルスPulse1とパルスPulse2により構成される最初の2つ分のパルスがオア回路273に入力されることによって、1ビットシフトレジスタ271のD端子に接続されたソース電圧VDDのHレベルのデータが取り込まれて出力端子SFTに永続的にHレベルの信号が出力されるため、インバータ272を介してセレクタ251のSA端子にはLレベルが与えられるようになり、2回目以降の写像X1から、セレクタ251のSB端子にはHレベルが与えられるようになり、毎回の写像Xiを乗数レジスタ221へ転送することになる。 The selector 251 during operation start only, executes input selection of to read the initial value X 0. In the 1-bit shift register 271 configured as shown in FIG. 17, the output terminal SFT is at the L level in the initial stage, and the H level is given to the SA terminal of the selector 251 via the inverter 272. The initial value X 0 coming from the terminal A is selected. By inputting the first two pulses composed of the pulse Pulse1 and the pulse Pulse2 to the OR circuit 273, H level data of the source voltage VDD connected to the D terminal of the 1-bit shift register 271 is captured. since the signal of the permanently H level is output to the output terminal SFT Te, via the inverter 272 to the SA terminal of the selector 251 is as given is L level, the second and subsequent from mapping X 1, selector 251 The SB terminal is given an H level, and each time the mapping X i is transferred to the multiplier register 221.

なお、本実施形態では、初期値X0を初期値レジスタ22から取り込んでいるが、初期値X0としてはアナログカオス信号のA/D変換値をレジスタに取り込んで用いるように構成しても良い。また、予め選択した初期値X0を用いる場合は、固定値としてソース電圧(VDD/VSS)をセレクタ251に結線しておいても良い。この構成を採用する場合には、初期値レジスタ22は不要となり、その分回路面積を抑制して装置の構成を小型化することができる。 In the present embodiment, the initial value X 0 is fetched from the initial value register 22. However, as the initial value X 0 , an A / D conversion value of an analog chaotic signal may be fetched into the register and used. . When the initial value X 0 selected in advance is used, the source voltage (VDD / VSS) may be connected to the selector 251 as a fixed value. In the case of adopting this configuration, the initial value register 22 is not necessary, and the circuit area can be suppressed correspondingly, thereby reducing the size of the apparatus.

次に、パルスPulse2のパルスによって、引き算(2N −X0 )が実行される。本実施形態においては、引き算は1の補数に1を加える方法で行われる。上記パルスPulse2がHレベルの状態において、セレクタ252ではB入力端子を選択している。このとき、乗数レジスタ221の端子PO<1:6>の出力データがインバータ225により反転されて1の補数とする処理が実行される。 Next, subtraction (2 N −X 0 ) is executed by the pulse Pulse 2. In the present embodiment, the subtraction is performed by adding 1 to the one's complement. In the state where the pulse Pulse2 is at the H level, the selector 252 selects the B input terminal. At this time, the output data of the terminal PO <1: 6> of the multiplier register 221 is inverted by the inverter 225 so as to be a one's complement.

一方、セレクタ253ではパルスPulse2がHレベルの状態において、ソース電圧(VDD/VSS)に結線された固定値1(00 …001)2 が選択されている。この結果、上記セレクタ252により選択された反転データ(1の補数)と1の足し算用の固定値(00..001)2が加算器223に揃った状態となり、加算器223において引き算(2N −X0 )が実行される。計算結果(2N −X0 )はパルスPulse2により通過可能状態のアンド回路263を介して、被乗数レジスタ222へ到り、被乗数レジスタ222のクロック端子CLKにパルスPulse2によるHレベルが与えられるタイミングで同期して被乗数レジスタ222に格納される。 On the other hand, the selector 253 selects the fixed value 1 (00... 001) 2 connected to the source voltage (VDD / VSS) when the pulse Pulse2 is at the H level. As a result, the inverted data (1's complement) selected by the selector 252 and the fixed value (00..001) 2 for addition of 1 are aligned in the adder 223, and the adder 223 performs subtraction (2 N -X 0) is executed. The calculation result (2 N −X 0 ) reaches the multiplicand register 222 via the AND circuit 263 that is allowed to pass by the pulse Pulse2, and is synchronized at the timing when the H level by the pulse Pulse2 is given to the clock terminal CLK of the multiplicand register 222. And stored in the multiplicand register 222.

次に、パルスPulse3による乗算X0 (2N −X0 )が実行される。この乗算は、加算器223とシフトレジスタ226を用いることによって行われる。ここで加算器223は上記の引き算に用いたものであるが、この加算器223を乗算にも用いることにより回路部品点数を削減し装置全体の小型化低コスト化を実現する。 Next, multiplication X 0 (2 N −X 0 ) by the pulse Pulse3 is executed. This multiplication is performed by using an adder 223 and a shift register 226. Here, the adder 223 is used for the above subtraction. However, by using the adder 223 for multiplication, the number of circuit parts can be reduced and the entire apparatus can be reduced in size and cost.

セレクタ252とセレクタ253ではパルスPulse3により、A入力端子からのデータが選択される。演算結果としての積であるXi (2N −Xi )を格納するレジスタとなるシフトレジスタ226は、直前のパルスPulse2によりゼロクリアされる。乗数レジスタ221には乗数Xi が、被乗数レジスタ222には被乗数(2N −X0 )が格納された状態でパルスPulse3が与えられると、乗数レジスタ221の乗数Xi の最下位ビットから順にアンド回路262において乗算が実行される。乗数レジスタ221から送られる乗数Xi のビットが0であれば、アンド回路262により0が加算器223のA入力端子に送出され、乗数レジスタ221から送られる乗数Xi のビットが1であればアンド回路262により被乗数レジスタ222の内容が加算器223のA入力端子に送出される。加算器223では、上記のA入力端子のデータと、シフトレジスタ226の上位ビット群のデータ(B入力端子)のデータとの加算が行われ、その加算結果がシフトレジスタ226に再帰的に格納される。 In the selector 252 and the selector 253, data from the A input terminal is selected by the pulse Pulse3. The shift register 226 serving as a register for storing X i (2 N −X i ), which is the product as the operation result, is cleared to zero by the immediately preceding pulse Pulse2. When the multiplier X i by the multiplier register 221, the pulse Pulse3 is given in a state where the multiplicand (2 N -X 0) is stored in the multiplicand register 222, and the least significant bit of the multiplier X i multiplier register 221 sequentially Multiplication is performed in circuit 262. If the bit of the multiplier X i sent from the multiplier register 221 is 0, the AND circuit 262 sends 0 to the A input terminal of the adder 223, and if the bit of the multiplier X i sent from the multiplier register 221 is 1. The AND circuit 262 sends the contents of the multiplicand register 222 to the A input terminal of the adder 223. In the adder 223, the data of the A input terminal and the data of the upper bit group (B input terminal) of the shift register 226 are added, and the addition result is recursively stored in the shift register 226. The

順を追って説明する。初めにパルスPulse3による1つ目のパルスがオア回路274を経て乗数レジスタ221のクロック端子CLKに入力され、乗数レジスタ221に格納されているデータが1ビット右側にシフトされ、乗数Xi の下位1ビット目がアンド回路262に入力され、それに基づき、加算器223のA入力端子には被乗数(2N −Xi )が入力される。 I will explain in order. First pulse by the pulse Pulse3 is inputted to a clock terminal CLK of the multiplier register 221 via the OR circuit 274, data stored in the multiplier register 221 is shifted one bit right at the beginning, the lower one of the multiplier X i The bit is input to the AND circuit 262, and based on this, the multiplicand (2 N −X i ) is input to the A input terminal of the adder 223.

加算器223のB入力端子にはシフトレジスタ226から初期の0データ(シフトレジスタ226内の1ビットシフトレジスタ180のSFT端子のデータ)が入力され、パルスPulse3に同期して、同時に加算結果がシフトレジスタ226(シフトレジスタ226内の1ビットシフトレジスタ180のLTC端子)に格納される。   The initial 0 data (data at the SFT terminal of the 1-bit shift register 180 in the shift register 226) is input from the shift register 226 to the B input terminal of the adder 223, and the addition result is simultaneously shifted in synchronization with the pulse Pulse3. It is stored in the register 226 (the LTC terminal of the 1-bit shift register 180 in the shift register 226).

次に、パルスPulse3による2つ目のパルスがオア回路274を経て乗数レジスタ221のクロック端子CLKに入力され、乗数レジスタ221に格納されている乗数Xi の内容が1ビット右シフトされる。これにより、乗数レジスタ221からは乗数の下位2ビット目がアンド回路262に入力されることになる。同時に、パルスPulse3の2つ目のパルスによって、シフトレジスタ226に格納されているデータが右に1ビットシフトされる。つまり、シフトレジスタ226内の1ビットシフトレジスタ180におけるLTC端子のデータがSFT端子へ転送される。 Next, the second pulse by the pulse Pulse3 is inputted to a clock terminal CLK of the multiplier register 221 via the OR circuit 274, the contents of the multiplier X i stored in the multiplier register 221 is shifted one bit to the right. As a result, the lower-order second bit of the multiplier is input to the AND circuit 262 from the multiplier register 221. At the same time, the data stored in the shift register 226 is shifted to the right by one bit by the second pulse of the pulse Pulse3. That is, the data of the LTC terminal in the 1-bit shift register 180 in the shift register 226 is transferred to the SFT terminal.

1ビット右シフトされたデータは、加算器223に転送されて、加算が行われる。この演算は、直前の計算結果を筆算で1ビット左シフトして加算を行う処理と同等になる。途中の計算結果は、パルスPulse3によりデータの通過が可能状態にあるアンド回路264を経て、シフトレジスタ226へ送られる。また、シフトレジスタ226からは計算結果を右に1ビットシフトしたデータが、パルスPulse3によりデータの通過が可能状態にあるセレクタ253を介して加算器223へパルスPulse3のパルス毎に順次送られる。このシフトレジスタ226においては、本実施形態はN=6[bit]であるから、次の加算のために加算器223へ与える信号は、図16に示した7個の1ビットシフトレジスタ180において、上位ビット群のSFT端子からの出力信号“SC”、“S6”、“S5”、“S4”、“S3”、“S2”(SCは、桁あふれ[キャリーアウト] )となる。   The data shifted right by 1 bit is transferred to the adder 223 and added. This calculation is equivalent to a process in which the previous calculation result is shifted left by one bit by writing to perform addition. The calculation result on the way is sent to the shift register 226 through the AND circuit 264 in which data can be passed by the pulse Pulse3. Further, data obtained by shifting the calculation result to the right by 1 bit is sequentially sent from the shift register 226 to the adder 223 for each pulse of the pulse Pulse3 via the selector 253 in a state where data can be passed by the pulse Pulse3. In this shift register 226, N = 6 [bit] in the present embodiment, so that the signal to be supplied to the adder 223 for the next addition is the seven 1-bit shift registers 180 shown in FIG. Output signals “SC”, “S6”, “S5”, “S4”, “S3”, “S2” (SC is an overflow [carry out]) from the SFT terminal of the upper bit group.

最後に、ロジスティック写像の演算としては、乗算結果に対して4倍する計算“4Xi (2N −Xi )”と割り算“4Xi (2N −Xi )/2N ”が残っている。まず4倍の演算は、乗算結果を左に2ビットシフトすることで実現できる。割り算は、上記の左2ビットシフトした後に、右にNビットシフト(2N ビットから下位Nビットを棄却)を行うことで実現できる。しかし、このシフト処理は、“Xi (2N −Xi )/2N-2”を行うのと等価である。このため、計算結果に対して、右にN-2 ビットシフト(下位“N-2 ”ビット分は棄却)して、残ったN+2 ビット分のうち下位側Nビット分を次の写像Xi として転送すればよい。 Finally, the calculation “4X i (2 N −X i )” and the division “4X i (2 N −X i ) / 2 N ” to be multiplied by 4 with respect to the multiplication result remain as operations of the logistic map. . First, the quadruple operation can be realized by shifting the multiplication result to the left by 2 bits. The division can be realized by shifting the left 2 bits, and then shifting N bits to the right (rejecting the lower N bits from 2 N bits). However, this shift processing is equivalent to performing “X i (2 N −X i ) / 2 N−2 ”. Therefore, the calculation result is shifted N-2 bits to the right (the lower “N-2” bits are discarded), and the lower N bits of the remaining N + 2 bits are mapped to the next mapping X. Transfer as i .

そこで、シフトレジスタ226では、計算結果Nビットの下位側にプラス2ビット分をストックしておけば良い。本実施形態はN=6[bit]であるから、図16に示した7個の1ビットシフトレジスタ180において、そのLTC端子からの出力信号“L5”、“L4”、“L3”、“L2”、“L1”、“S1”を次の写像Xiに用いるデータとして、パルスPulse1に同期して乗数レジスタ221のPD端子ピンへ転送する(L1,S1 が下位側2ビット分のストックである)。このために、図16に示すように、シフトレジスタ226はN+1個の1ビットシフトレジスタ180を必要最小限の数として用意すればよい。 Therefore, in the shift register 226, plus 2 bits may be stocked on the lower side of the calculation result N bits. Since N = 6 [bit] in this embodiment, the output signals “L5”, “L4”, “L3”, “L2” from the LTC terminals in the seven 1-bit shift registers 180 shown in FIG. "," L1 "," as the data using the S1 "to the next mapping X i, is transferred to the PD terminal pins of the multiplier register 221 in synchronism with the pulse Pulse1 (L1, S1 is a stock lower 2 bits ). For this purpose, as shown in FIG. 16, the shift register 226 may prepare N + 1 1-bit shift registers 180 as a minimum number.

図18に、初期値X0を25(011001)としてロジスティック写像を行った場合のシミュレーション結果の波形を示す。このとき、上記初期値から被乗数2N−X0が引き算により39(100111)として求められている。パルスPulse3による掛け算は、図19に示すように行われる。これを説明する。まず、パルスPulse3の1番目のパルスによって、(000000)と(100111)との加算によって、(100111)が得られている。 FIG. 18 shows a waveform of a simulation result when logistic mapping is performed with the initial value X 0 being 25 (011001). At this time, the multiplicand 2 N -X 0 is obtained as 39 (100111) by subtraction from the initial value. The multiplication by the pulse Pulse3 is performed as shown in FIG. This will be explained. First, (100111) is obtained by adding (000000) and (100111) by the first pulse of the pulse Pulse3.

パルスPulse3の2番目のパルスによっては、次の処理が行われる。1番目のパルスによる演算結果(100111)を1ビット右シフトした結果(010011)と、次のアンド回路262の出力(000000)の加算が行われる。   Depending on the second pulse of pulse Pulse3, the following processing is performed. The result (010011) obtained by shifting the calculation result (100111) by the first pulse to the right by 1 bit and the output (000000) of the next AND circuit 262 are added.

パルスPulse3の3番目のパルスによっては、次の処理が行われる。2番目のパルスによる演算結果(010011)を1ビット右シフトした結果(001001)と、次のアンド回路262の出力(000000)の加算が行われる。パルスPulse3の4番目のパルスによっては、次の処理が行われる。3番目のパルスによる演算結果(001001)を1ビット右シフトした結果(000100)と、次のアンド回路262の出力(100111)の加算が行われる。以下、同様にして処理が行われる。そして、1回目の写像では最終的に加算結果について4ビット分の右シフトを行って下位6ビット(111100)=60が次の写像の乗数として乗数レジスタ221へ送られる。   Depending on the third pulse of the pulse Pulse3, the following processing is performed. The result (001001) obtained by shifting the calculation result (010011) by the second pulse to the right by 1 bit and the output (000000) of the next AND circuit 262 are added. The following processing is performed depending on the fourth pulse of the pulse Pulse3. The result (000100) obtained by shifting the calculation result (001001) by the third pulse to the right by 1 bit and the output (100111) of the next AND circuit 262 are added. Thereafter, processing is performed in the same manner. In the first mapping, the addition result is finally shifted to the right by 4 bits, and the lower 6 bits (111100) = 60 are sent to the multiplier register 221 as a multiplier of the next mapping.

そして図18に示すように、第1回目の写像では(111100)=60が、第2回目の写像では(001111)=15が、第3回目の写像では(101101)=45がそれぞれ得られ、乱数としては、図18の例では上位3ビット目から5ビット目までの3ビットが、それぞれ(110)、(111)、(110)と得られる。   Then, as shown in FIG. 18, (111100) = 60 is obtained in the first mapping, (001111) = 15 is obtained in the second mapping, and (101101) = 45 is obtained in the third mapping. As random numbers, in the example of FIG. 18, 3 bits from the upper 3rd bit to the 5th bit are obtained as (110), (111), and (110), respectively.

図9に示した実施形態の回路では、乱数抽出とアナログカオスからの不規則なビットの書き込みタイミングを、アンド回路261を介してパルスPulse1に同期させて、写像の度に行っている。しかしながら、乱数出力回路23において行っている乱数抽出については、パルスPulse1をカウントして、所定回数の写像が行われたときに行うようにしても良く、また、アナログカオス信号から得る不規則なビットの書き込みについても、所定回数の乱数取得を行ったタイミングで行うようにしてもよい。   In the circuit of the embodiment shown in FIG. 9, random bit extraction and irregular bit write timing from analog chaos are synchronized with the pulse Pulse1 via the AND circuit 261 for each mapping. However, the random number extraction performed in the random number output circuit 23 may be performed when the pulse Pulse1 is counted and a predetermined number of mappings are performed, or an irregular bit obtained from the analog chaos signal. This writing may also be performed at a timing when a predetermined number of random numbers are acquired.

また、実施形態の乱数生成装置では、アナログカオスのA/D変換を行って1ビット抽出するビット抽出・A/D変換回路12を用いている。このビット抽出・A/D変換回路12では、写像Xi を強制的に変更する不規則信号のデータ量はわずか1ビットである。係るビット抽出・A/D変換回路12を用い、ロジスティック写像の信号に変更を与えるタイミングを写像回数が所定回数毎として、変更の間隔を大きくしても、乱数性能の向上に効果があることは、後述の実施例2により明かになった。このため、ロジスティック写像演算部20に与えるクロック周波数は可能な限り速くすることで、乱数生成速度を上げることができ、アナログカオスからのビット情報が少量でも、乱数性能を向上できることが期待できる。 In addition, the random number generation device according to the embodiment uses the bit extraction / A / D conversion circuit 12 that performs analog chaos A / D conversion and extracts one bit. In the bit extraction / A / D conversion circuit 12, the data amount of the irregular signal for forcibly changing the mapping X i is only 1 bit. Even if the bit extraction / A / D conversion circuit 12 is used and the number of times of mapping is set to a predetermined number of times to change the signal of the logistic mapping, it is effective to improve the random number performance. This was clarified by Example 2 described later. For this reason, it is expected that the random number generation speed can be increased by increasing the clock frequency applied to the logistic map calculation unit 20 as much as possible, and the random number performance can be improved even with a small amount of bit information from analog chaos.

また、実施形態に示すように回路構成も簡単なため、回路内の結線も比較的容易に変更が可能である。例えば演算精度を6ビットから5ビットに変更する(同時に、パルスPulse3のパルス数を6個から5個に変更する)ことで、乱数パターンを増加させることが可能であるため、より少ない演算精度で乱数性を向上させる効果が期待できる。これらをシミュレーションによる設計段階において、予め乱数性能や回路面積、乱数生成速度に対して最適なチューニングを行った後、実装を行うようにすれば、実装コストを抑える効果が期待できる。   Further, since the circuit configuration is simple as shown in the embodiment, the connection in the circuit can be changed relatively easily. For example, it is possible to increase the random number pattern by changing the calculation accuracy from 6 bits to 5 bits (at the same time, changing the number of pulses of Pulse Pulse 3 from 6 to 5). The effect of improving randomness can be expected. In the design stage by simulation, an effect of suppressing the mounting cost can be expected by performing the tuning after optimal tuning is performed in advance on the random number performance, the circuit area, and the random number generation speed.

(1)実施例1
図7に示したロジスティック写像演算部20の動作を示すフローチャートによる処理によって、ロジスティック写像演算のみを用いて乱数抽出を行い、NIST乱数検定を行った。
演算精度N=64とN=56ビット長の2種類を用意し、乱数の抽出方法は算出したロジスティック写像Xiを図20に示すように、配列における下位5ビットから12ビットまでの8ビットと、下位21ビットから28ビットまでの8ビットとを取り出し、各8ビットずつを排他的論理和して得た結果の8ビット分を乱数値として出力した。
(1) Example 1
By the process according to the flowchart showing the operation of the logistic map operation unit 20 shown in FIG. 7, random numbers are extracted using only the logistic map operation, and the NIST random number test is performed.
Two types of operation accuracy N = 64 and N = 56 bits long are prepared, and the random number extraction method uses the calculated logistic map X i as shown in FIG. 20 as 8 bits from the lower 5 bits to 12 bits in the array. Then, 8 bits from the lower 21 bits to 28 bits were taken out, and 8 bits of the result obtained by exclusive ORing each 8 bits was output as a random value.

写像の初期値は0.125 (0.0010000 …)2 の固定値を用意し、写像の計算を3回行う毎に、8ビット分の乱数を抽出した。
得た乱数に対してNIST乱数検定を実施し評価した。ここでNIST乱数検定の概要について説明する。
The initial value of the mapping was a fixed value of 0.125 (0.0010000 ...) 2 and a random number of 8 bits was extracted every time the mapping was calculated three times.
The obtained random numbers were evaluated by performing a NIST random number test. Here, an outline of the NIST random number test will be described.

<NIST乱数検定>
現在最も広く使われている乱数検定法の1つで、米国国立標準技術研究所(NIST:National Institute of Standard and Technology)が公開し、15の検定方式で構成される。
検定データは、1系列を1,000,000[bit]とし,それを1,000 系列分用意、計1,000,000,000[bit]で検定することを推奨している。
系列ごとにp-value を算出し、計1,000 個のp-value に対して、UNIFORMITY(一様性)とPROPORTION(棄却率1%での3σ範囲にあるかどうか)の視点から乱数性を評価している。
上記方法にて乱数値を計1,000,000,000[bit]分取得し、NIST乱数検定ツールにより検定を実施した。各演算精度での結果は以下の表1のようになった。
<NIST random number test>
It is one of the most widely used random number test methods at present and is published by the National Institute of Standards and Technology (NIST) and consists of 15 test methods.
For the test data, it is recommended that one series is 1,000,000 [bit], and that 1,000 series are prepared for a total of 1,000,000,000 [bit].
P-value is calculated for each series, and randomness is evaluated from the viewpoint of UNIFORMITY (uniformity) and PROPORTION (whether it is in 3σ range with a rejection rate of 1%) for a total of 1,000 p-values doing.
A total of 1,000,000,000 [bits] of random values were acquired by the above method, and the test was performed using the NIST random number test tool. The results at each calculation accuracy are shown in Table 1 below.

Figure 0006212728
Figure 0006212728

実施例1の結果は、表1のように計算精度を56ビットとした場合、PROPORTIONでは合計10個のエラーがあり、UNIFORMITYは合計8つのエラーが生じたが、計算精度を64ビットとした場合ではPROPORTION、UNIFORMITYともに全て合格した。
以上から上記方法のロジスティック写像の演算のみで乱数値を取得し、NIST乱数検定を行うと64ビットの演算精度幅程度でNIST乱数検定に合格することがわかる。
As a result of Example 1, as shown in Table 1, when the calculation accuracy is 56 bits, PROPORTION has a total of 10 errors, and UNIFORMITY has a total of 8 errors, but the calculation accuracy is 64 bits. Then, both PROPORTION and UNIFORMITY passed.
From the above, it can be seen that when the random number value is obtained only by the operation of the logistic map of the above method and the NIST random number test is performed, the NIST random number test is passed with a calculation accuracy width of about 64 bits.

(2)実施例2
次に本実施形態の不確定要素としてアナログカオス信号のディジタル値抽出を行い、そのビット値をロジスティック写像演算回路に繰り込む手法にて乱数を取得し、NIST乱数検定を実施した。
(2) Example 2
Next, a digital value extraction of an analog chaotic signal was performed as an uncertain element of this embodiment, a random number was obtained by a method of transferring the bit value to a logistic mapping arithmetic circuit, and a NIST random number test was performed.

乱数を取得する方法は図7に示したフローチャートに対応する処理にて行い、実施例1と同じく図20のように算出したロジスティック写像Xi を配列における下位5ビットから12ビットまでの8ビットと下位21ビットから28ビットまでの8ビットを取り出し、各8ビットずつを排他的論理和による演算を実行して、得られた結果の8ビット分を乱数値として出力した。乱数抽出のタイミングは3回分の写像を行う毎に、8ビット分の乱数を取り出し、100回分の乱数値を取得する毎に不確定なビットとして、アナログカオス信号よりA/D変換して抽出した1ビットを写像Xi のレジスタ配列における下位2ビット目に強制的に組み込むようにした。 The random number is obtained by a process corresponding to the flowchart shown in FIG. 7, and the logistic map X i calculated as shown in FIG. 20 is converted into the 8 bits from the lower 5 bits to the 12 bits in the array as in the first embodiment. Eight bits from the lower 21 bits to 28 bits were taken out, and each 8 bits were subjected to an exclusive OR operation, and the resulting 8 bits were output as a random value. Random number extraction is performed by extracting 8-bit random numbers every time mapping is performed three times, and extracting the random number values for 100 times by performing A / D conversion from analog chaos signals as uncertain bits. One bit is forcibly incorporated into the lower 2 bits of the register array of mapping X i .

なお理論シミュレーションとして使用した(5)式に該当するアナログカオス信号のパラメータ帯は、以下の表2に示すようになる。   The parameter band of the analog chaotic signal corresponding to the equation (5) used as the theoretical simulation is as shown in Table 2 below.

Figure 0006212728
Figure 0006212728

この実施例2では、カオス信号の電圧値は0.5[V]昇圧させ、A/D変換回路に入力されるものとし、電圧値の分解能は32とした。
ここで上記パラメータ条件にて外部入力信号の1周期あたりのVを時間で微分した横軸dV/dtと、縦軸Vをプロット(ポアンカレプロット)したグラフを図21に示す。カオスの特徴であるストレンジアトラクタが観察できる。
In the second embodiment, the voltage value of the chaotic signal is boosted by 0.5 [V] and is input to the A / D conversion circuit, and the resolution of the voltage value is 32.
FIG. 21 shows a graph in which the horizontal axis dV / dt obtained by differentiating V per cycle of the external input signal with time under the above parameter conditions and the vertical axis V plotted (Poincare plot). The strange attractor, a characteristic of chaos, can be observed.

アナログカオス信号ディジタル変換後のビット抽出のタイミングは、アナログカオス生成回路における外部周期入力電圧の1周期毎に取得した。ロジスティック写像演算精度は実施例1と同じくN=56とN=64ビット長の2種類を用意し、乱数値を計1,000,000,000[bit]分取得し、NIST乱数検定ツールにより検定を実施した。各精度での結果は以下の表3に示すようになった。   The timing of bit extraction after analog chaos signal digital conversion was acquired for each cycle of the external cycle input voltage in the analog chaos generation circuit. As in the first embodiment, two types of logistic map calculation accuracy, N = 56 and N = 64 bits, were prepared, a total of 1,000,000,000 [bits] of random values were obtained, and a test was performed using the NIST random number test tool. The results at each accuracy are shown in Table 3 below.

Figure 0006212728
Figure 0006212728

実施した結果は、表3のように計算精度を56ビットと64ビットの両方が、PROPORTION、UNIFORMITYともに全て合格した。
実施例1では56ビットの演算精度での乱数検定は複数エラーが生じたが、1ビットの誤差を予測不可能なアナログカオス信号よりディジタル抽出して繰り込んだことにより、写像の系が変更されたことで乱数性能が向上したと推測される。このことから、僅かなビット量でも不確定な要素を組み込むことにより、演算精度を低くしても非再現性を持った良質な乱数性能を得ることができる。
As a result, as shown in Table 3, both 56-bit and 64-bit calculation accuracy passed both PROPORTION and UNIFORMITY.
In the first embodiment, the random number test with the calculation accuracy of 56 bits resulted in a plurality of errors. However, the mapping system was changed by digitally extracting the 1-bit error from the unpredictable analog chaotic signal and transferring it. It is estimated that the random number performance has improved. Therefore, by incorporating an uncertain element even with a small bit amount, it is possible to obtain a high-quality random number performance with non-reproducibility even if the calculation accuracy is lowered.

本実施例では、強制的に変更するビットの位置が下位2ビット目に限られているが、同じ位置だけだと写像のパターンが限定されてくる。このため、変更するビットの位置を変動させパターンを増やすことで、乱数性能をより向上させることが期待できる。   In the present embodiment, the position of the bit to be forcibly changed is limited to the lower 2 bits, but the mapping pattern is limited only at the same position. For this reason, it can be expected that the random number performance is further improved by changing the position of the bit to be changed and increasing the number of patterns.

また、アナログカオスより抽出された予測不可能なビットを繰り込むタイミングを短めに取るか、1ビットだけでなく、もっと多くのビットを取り込み、写像Xi を強制変更することで、演算精度の制約によって不可能であった写像Xi の値にも行き渡るようになると思料される。このことからロジスティック写像演算回路の演算精度(回路規模)を更に減少させても、良質な乱数性能が得られるという傾向が推測される。 Also, take the timing convolving unpredictable bits extracted from the analog chaos short, not only one bit takes the more bits, by force change the mapping X i, computation precision constraints It is assumed that the value of the map X i that could not be obtained will be spread by the above. From this, it is presumed that even if the calculation accuracy (circuit scale) of the logistic map calculation circuit is further reduced, a good random number performance can be obtained.

以上のように本発明の実施形態は、ロジスティック写像による擬似乱数生成時の所定ループにおいて予測不可能なビット値を繰り込むことによって乱数性能が向上し、かつ乱数生成速度が高速になるといった効果を得ることができる。これは、一般的に真性乱数の生成速度は遅いといった問題を有していることと対比して極めて有利である。また、セキュリティの乱数種の用途として比較的短い乱数列を生成する場合に好適である。つまり、本発明の実施形態は、ロジスティック写像の演算回路に対し、アナログカオス回路から予測不可能なビットを短周期で組み込むようにすることによって、セキュリティ用途の乱数を提供することが可能である特徴を有する。   As described above, the embodiment of the present invention has an effect that random number performance is improved and a random number generation speed is increased by introducing an unpredictable bit value in a predetermined loop at the time of pseudo random number generation by logistic mapping. Can be obtained. This is extremely advantageous in comparison with the problem that the generation speed of intrinsic random numbers is generally slow. In addition, it is suitable for generating a relatively short random number sequence for use as a security random number seed. In other words, the embodiment of the present invention can provide a random number for security use by incorporating unpredictable bits from an analog chaos circuit in a short cycle into an arithmetic circuit of a logistic map. Have

実施例に示したように、本発明に係る実施形態に用いられるカオス発生回路は、LRC等価回路が数式化される。数式に対してコンピュータシミュレーション行うことで、設計段階で乱数性能を見積るチューニングが可能であり、所望の乱数性能を有する乱数生成装置の開発コストの削減効果を期待することができる。   As shown in the examples, the chaos generation circuit used in the embodiment according to the present invention is expressed as an LRC equivalent circuit. By performing computer simulation on the mathematical formula, tuning for estimating the random number performance at the design stage is possible, and the effect of reducing the development cost of the random number generation device having the desired random number performance can be expected.

本発明に係る実施形態は、主要な構成として擬似乱数生成法を用いている。そして、本発明に係る実施形態は、擬似乱数生成時の所定ループ毎に予測不可能なアナログカオスの出力を利用し、擬似乱数生成法の内部状態に変更を加える。これにより本発明に係る実施形態は、全体として、生成規則の掴めない(再現性の無い)乱数生成を可能としている。そして、本発明に係る実施形態は、主要な構成として擬似乱数生成法を採用しているため、一般的な擬似乱数生成と同等の処理速度でありながら、生成規則の掴めない(再現性の無い)乱数生成を可能としていることが特徴である。   The embodiment according to the present invention uses a pseudo random number generation method as a main configuration. The embodiment according to the present invention uses an analog chaos output that cannot be predicted for each predetermined loop at the time of pseudo-random number generation, and changes the internal state of the pseudo-random number generation method. As a result, the embodiment according to the present invention as a whole makes it possible to generate a random number that does not grasp the generation rule (without reproducibility). Since the embodiment according to the present invention employs the pseudo random number generation method as a main configuration, the generation rule cannot be grasped (there is no reproducibility) while the processing speed is equal to that of general pseudo random number generation. It is characterized by enabling random number generation.

ここで、アナログカオスに内在されている特徴ないしは効果を挙げると次の通りである。
(1)生成する乱数の前後関係、規則が掴めない。
(2)生成乱数列は2度と再現できない。
(3)アナログ実装の利用により如何なる計算機シミュレーション手法を用いても忠実に再現(解析)はできない。
本発明に係る実施形態は、上記のアナログカオスの出力を利用していることから、その特徴ないしは効果をそのまま引き継いでいる。
Here, the characteristics or effects inherent in analog chaos are as follows.
(1) I cannot grasp the context and rules of the random numbers to be generated.
(2) The generated random number sequence cannot be reproduced again.
(3) It is impossible to reproduce (analyze) faithfully using any computer simulation method by using analog implementation.
Since the embodiment according to the present invention uses the output of the above-mentioned analog chaos, the characteristics or effects are inherited as they are.

今日、情報セキュリティの重要性が叫ばれており、特に暗号技術では暗号鍵生成の種として乱数が使用されている。そこで、例えば、本発明に係る実施形態を暗号鍵発行サーバに実装した場合には、仮にサーバがハッキングを受けた場合でも、乱数生成アルゴリズム流出による暗号鍵生成系列が把握される心配は不要である。   Today, the importance of information security is screamed, and random numbers are used as seeds for generating cryptographic keys, particularly in cryptographic techniques. Therefore, for example, when the embodiment according to the present invention is implemented in the encryption key issuing server, there is no need to worry about the encryption key generation sequence due to outflow of the random number generation algorithm even if the server is hacked. .

乱数列が必要とされる一般的ニーズにおいて、本発明に係る実施形態を用いることによって、特に、時間的に前後に生成された乱数の関連性は、原理的に把握されない(乱数列生成系列が掴めない)といった効果を与えることができる。   In general needs where a random number sequence is required, by using the embodiment according to the present invention, in particular, the relevance of random numbers generated around time is not grasped in principle (the random number sequence generation sequence is Can not be grasped).

近年、IT適応領域が拡大する中、流通するデータ量が飛躍的に増大している。係る環境において、各データに対して128ビット長のユニバーサルなユニークID(UUID)を適用することでデータの識別管理を行うシーン、家電相互のチャレンジレスポンス認証を行うシーン、ユビキタス端末の保存データの安全な乱数書き込み及び消去などのニーズなど、が存在している。このようなシーンやニーズに対して、良質な乱数を生成可能で高速な乱数生成器を小規模に実装する場合には、本発明に係る実施形態は好適である。   In recent years, the amount of data to be distributed has increased dramatically as the IT adaptation area has expanded. In such an environment, a scene where data identification management is applied by applying a universal unique ID (UUID) of 128 bits to each data, a scene where home appliance mutual challenge response authentication is performed, and safety of data stored in a ubiquitous terminal Needs such as random number writing and erasing. The embodiment according to the present invention is suitable when a high-speed random number generator capable of generating high-quality random numbers is mounted on a small scale for such scenes and needs.

更に、カオス写像をディジタル演算で実装した場合、短周期の問題が根本的に存在するため、周期を伸ばす検討がいくつかの提案においてなされている。しかしながら、周期を伸ばすためには複雑な制御が必要になったり、周期を伸ばすための構成に要するメモリなどの実装面積の増大による装置の大型化やコスト高が招来したりという問題が新たに発生する。   Further, when a chaotic map is implemented by digital calculation, there is a fundamental problem of short period, and therefore some proposals have been made to extend the period. However, in order to extend the period, new problems such as complicated control are required, and the size and cost of the apparatus are increased due to an increase in the mounting area of the memory and the like required for the structure for extending the period. To do.

また、周期帯に入った場合に異常値として検出する機構を設けることで、短周期の問題を回避する策を講じるようにした例もあるが、その実現のための機構が必要となる。本発明に係る実施形態の乱数生成回路は、アナログカオス信号による真性乱数を取り込むという手法を用いることで、周期帯を検出する機構や装置は全く不要である。   In addition, there is an example in which a measure for avoiding a short cycle problem is provided by providing a mechanism for detecting an abnormal value when entering a periodic band, but a mechanism for realizing this is required. The random number generation circuit according to the embodiment of the present invention uses a technique of taking a true random number based on an analog chaotic signal, so that no mechanism or device for detecting a periodic band is required.

本発明に係る実施形態が用いているロジスティック写像は、カオスが有する初期鋭敏性(バタフライ効果)から、図22及び次に示す図22の説明から明らかな如く、「1ビットだけを変動するという」少ない制御によって極めて大きな効果を得ることができる。   The logistic map used by the embodiment according to the present invention “has only one bit fluctuate” as apparent from the description of FIG. 22 and the following FIG. 22 from the initial sensitivity (butterfly effect) of chaos. An extremely large effect can be obtained with a small amount of control.

この図22は、(7)式による整数演算化したロジスティック写像において、演算精度N=16ビット、初期値X0=26214に設定した場合の写像の時系列IM1と、ある時点で1ビットを書き換えたときの写像の時系列IM2を示すものである。写像の回数が10回目の時に、X10 =18977(=(0100101000100001)2)からX10=18981(=(0100101000100101)2)へと、下位3ビット目を“0”から“1”へ強制的に変更したときの軌道を示している。系列に対して、僅か1ビットを強制的に変更したことによって、時間発展的に系が全く別個のものとなり、異なる振る舞いを持つ系列を得ることが可能であることが、有限演算精度においても確認できた。 FIG. 22 shows the time series IM1 of the mapping when the calculation accuracy is set to N = 16 bits and the initial value X 0 = 26214 in the logistic map converted to the integer calculation by the equation (7), and 1 bit is rewritten at a certain time. The time series IM2 of the mapping at the time of shooting is shown. When the number of mappings is the 10th time, the lower third bit is forcibly changed from “0” to “1” from X 10 = 18977 (= (0100101000100001) 2 ) to X 10 = 18981 (= (0100101000100101) 2 ) The trajectory when changed to is shown. It was confirmed even in finite arithmetic accuracy that the system was completely separated in terms of time development by forcibly changing only 1 bit for the sequence, and it was possible to obtain a sequence with different behavior. did it.

一般的に演算精度幅を大きく取るほど乱数性能は向上する。本発明に係る実施形態は、演算精度による丸め誤差により取り得なくなる写像Xi の値にまで行き渡るように、アナログカオスからの不規則な信号のビットを用いて写像の系列に変動を与える。これにより、本発明に係る実施形態を採用することで、演算精度幅(回路規模)を小さくでき、かつ良質な乱数性能を得ることができる。 Generally, the larger the calculation accuracy range, the better the random number performance. The embodiment according to the present invention uses a bit of an irregular signal from the analog chaos to vary the mapping sequence so as to reach a value of the mapping X i that cannot be obtained due to a rounding error due to calculation accuracy. Thereby, by employing the embodiment according to the present invention, it is possible to reduce the calculation accuracy width (circuit scale) and to obtain a good random number performance.

本発明に係る実施形態を採用するロジスティック写像の演算を行うディジタル回路は、外部入力がクロック信号のみで構成されているため、本発明に係る実施形態は、クロック信号の周波数を調整するたけで容易に乱数生成速度を変更できる利点がある。また、本発明に係る実施形態は、シンプルな回路構成のため、配線の結線を自律的に変更する機構を盛り込むことで、乱数系列の変動が比較的容易に行える。   Since the digital circuit that performs the operation of the logistic map adopting the embodiment according to the present invention is configured only with the clock signal from the external input, the embodiment according to the present invention is easy only by adjusting the frequency of the clock signal. Has the advantage that the random number generation speed can be changed. In addition, since the embodiment according to the present invention has a simple circuit configuration, the random number sequence can be changed relatively easily by incorporating a mechanism for autonomously changing the wiring connection.

また、乱数生成ロジックとしてフィードバックシフトレジスタが知られており、これによれば、頻度と周期が理想的な乱数の系列を得ることができる。しかしながら、このフィードバックシフトレジスタによると、1度生成されたパターンは2度と生成されないという一方向的に生成パターンが限られている。これに対し、本発明に係る実施形態においては、系列を予測し難いという乱数性能面でのメリットを有するアナログカオスを採用するので、生成パターンが限られるという欠点がなく、様々な分野の乱数生成に好適である利点を有するものである。   Further, a feedback shift register is known as a random number generation logic, and according to this, a sequence of random numbers having an ideal frequency and cycle can be obtained. However, according to this feedback shift register, the generation pattern is limited in one direction such that the pattern generated once is not generated again. On the other hand, in the embodiment according to the present invention, since analog chaos having a merit in random performance that makes it difficult to predict a sequence is adopted, there is no disadvantage that the generation pattern is limited, and random number generation in various fields is performed. It has the advantage of being suitable for.

10 変動データ生成部
11 アナログカオス生成回路
12 1ビット抽出・A/D変換回路
20 ロジスティック写像演算部
21 写像演算回路
22 初期値レジスタ
23 乱数出力回路
30 制御回路
221 乗数レジスタ
222 被乗数レジスタ
223 加算器
226 シフトレジスタ
224 1供給源



DESCRIPTION OF SYMBOLS 10 Fluctuation data production | generation part 11 Analog chaos production | generation circuit 12 1 bit extraction and A / D conversion circuit 20 Logistic map operation part 21 Mapping operation circuit 22 Initial value register 23 Random number output circuit 30 Control circuit 221 Multiplier register 222 Multiplicand register 223 Adder 226 Shift register 224 1 supply source



Claims (9)

アナログカオス生成回路によりアナログカオス信号を発生するアナログカオス生成回路と、このアナログカオス信号を、それぞれ別の参照電圧を用いて1または0のディジタル値に変換するn個の差分増幅回路を用いてnビット中1ビットが選択指示信号となるnビットのデータを得て、前記nビットのデータの選択指示信号に基づきn個のレジスタの1つを選択してデータを抽出することによりディジタル変換して変動用データを得るビット抽出・A/D変換回路とを備える変動データ生成部と、
前記変動データを用いてロジスティック写像を行う写像演算回路と、
前記変動データに基づき前記写像演算回路における写像に変動を生じさせるデータ変動手段と、
前記写像演算回路による写像結果に基づき乱数値を取得する乱数値取得手段と
を具備することを特徴とする乱数生成装置。
An analog chaos generation circuit that generates an analog chaos signal by an analog chaos generation circuit, and n differential amplification circuits that convert the analog chaos signal to a digital value of 1 or 0 using different reference voltages, respectively, n N-bit data in which 1 bit of the bit is a selection instruction signal is obtained, and digital conversion is performed by selecting one of the n registers based on the n-bit data selection instruction signal and extracting the data. A fluctuation data generation unit comprising a bit extraction / A / D conversion circuit for obtaining fluctuation data;
A mapping operation circuit that performs logistic mapping using the variation data;
Data variation means for causing a variation in the mapping in the mapping operation circuit based on the variation data;
A random number generation device, comprising: random number acquisition means for acquiring a random value based on a mapping result obtained by the mapping operation circuit.
変動データ生成部は、カオス信号をディジタル化したデータの一部をそのまま又は所定演算を行って変動データとすることを特徴とする請求項1に記載の乱数生成装置。   2. The random number generation device according to claim 1, wherein the variation data generation unit converts the data obtained by digitizing the chaotic signal into the variation data as it is or by performing a predetermined calculation. データ変動手段は、変動データを写像データの一部と置換することを特徴とする請求項1または2に記載の乱数生成装置。   3. The random number generation device according to claim 1, wherein the data changing unit replaces the changed data with a part of the mapping data. データ変動手段は、変動データと写像データの少なくとも一部との演算に基づき写像に変動を生じさせることを特徴とする請求項1または2に記載の乱数生成装置。   The random number generation device according to claim 1 or 2, wherein the data changing means changes the mapping based on the calculation of the fluctuation data and at least a part of the mapping data. 乱数値取得手段は、前記写像演算回路による写像結果をそのまま又は所定演算を行って乱数値とすることを特徴とする請求項1乃至4のいずれか1項に記載の乱数生成装置。   5. The random number generation device according to claim 1, wherein the random value acquisition unit uses the mapping result obtained by the mapping calculation circuit as it is or performs a predetermined calculation to obtain a random value. 6. 前記アナログカオス生成回路は、所定のタイミングで回路定数を変更することを特徴とする請求項1乃至5のいずれか1項に記載の乱数生成装置。 6. The random number generation device according to claim 1 , wherein the analog chaos generation circuit changes a circuit constant at a predetermined timing. 乗数Xiと、2Nから前記乗数Xiを引算した結果である被乗数(2N−Xi)との掛け算結果に、定数aを掛ける式により定義されるロジスティック方程式を用いてロジスティック写像を行う写像演算回路において、
前記被乗数を得る演算として2Nから乗数Xiを引算する減算部と、
前記減算部により得られた被乗数と乗数とを乗算する乗算部と、
前記乗算部により得られた結果について、定数aに対応するシフト演算を行うシフト演算部と
前記シフト演算部により得られた結果から下位Nビットを棄却して次の乗数として前記減算部へ送出する第1の処理部と
を具備する写像演算回路。
In a mapping operation circuit that performs logistic mapping using a logistic equation defined by a formula obtained by multiplying the multiplier Xi and the multiplicand (2N−Xi), which is the result of subtracting the multiplier Xi from 2N, by a constant a ,
A subtractor for subtracting a multiplier Xi from 2N as an operation for obtaining the multiplicand;
A multiplier that multiplies the multiplicand and multiplier obtained by the subtractor;
A shift operation unit that performs a shift operation corresponding to a constant a with respect to the result obtained by the multiplication unit, and rejects the lower N bits from the result obtained by the shift operation unit and sends the result to the subtraction unit as the next multiplier. A mapping operation circuit comprising: a first processing unit.
乗数を置数する乗数レジスタと、被乗数を置数する被乗数レジスタと、加算器と、1を供給する1供給源と、を有し、
前記減算部が、
前記乗数レジスタに置数された乗数を反転して補数を得るインバータと、
前記インバータの出力と前記1供給源より1を夫々前記加算器へ導く第1の経路と、
前記加算器へ導かれた前記インバータの出力と前記1供給源からの1が加算された結果を前記被乗数レジスタへ導く第2の経路と
により構成されることを特徴とする請求項7に記載の写像演算回路。
A multiplier register for placing a multiplier; a multiplicand register for placing a multiplicand; an adder;
The subtracting unit is
An inverter for inverting a multiplier placed in the multiplier register to obtain a complement;
A first path for leading 1 to the adder from the output of the inverter and the one supply source,
According to claim 7, characterized in that it is constituted by a second path leading to the result 1 is added from the first supply source and the output of the inverter guided to the adder to the multiplicand register Mapping operation circuit.
更に、 シフトレジスタと
前記乗数レジスタに置数された乗数の下位ビットから順に1ビット取り出して、この1ビットと前記被乗数レジスタに置数された被乗数との論理積をアンド回路により求めて、結果を前記加算器に出力する第2の処理部と、
前記加算器を用いて、初期データ或いは前回の加算器の出力を前記シフトレジスタによりシフトしたデータと前記第2の処理部の出力との加算を行い、前記シフトレジスタへ出力する第3の処理部と
を備え、
前記乗数レジスタに置数された乗数のビットすべてについて処理が行われるまで、シフトレジスタ、前記第2の処理部及び前記第3の処理部による処理を繰り返し実行することを特徴とする請求項8に記載の写像演算回路。
Further, one bit is extracted in order from the lower bits of the multiplier placed in the shift register and the multiplier register, the logical product of this 1 bit and the multiplicand placed in the multiplicand register is obtained by an AND circuit, and the result is obtained. A second processing unit for outputting to the adder;
A third processing unit that uses the adder to add initial data or data obtained by shifting the output of the previous adder by the shift register and the output of the second processing unit, and outputs the result to the shift register And
Until said processing of all bits of the numeral been multiplier multiplier register is performed, a shift register, to claim 8, characterized in that repeatedly executes the processing by the second processing unit and the third processing unit The mapping operation circuit described.
JP2014211554A 2014-10-16 2014-10-16 Random number generator and mapping operation circuit Expired - Fee Related JP6212728B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014211554A JP6212728B2 (en) 2014-10-16 2014-10-16 Random number generator and mapping operation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014211554A JP6212728B2 (en) 2014-10-16 2014-10-16 Random number generator and mapping operation circuit

Publications (2)

Publication Number Publication Date
JP2016081274A JP2016081274A (en) 2016-05-16
JP6212728B2 true JP6212728B2 (en) 2017-10-18

Family

ID=55958666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014211554A Expired - Fee Related JP6212728B2 (en) 2014-10-16 2014-10-16 Random number generator and mapping operation circuit

Country Status (1)

Country Link
JP (1) JP6212728B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158662A (en) * 1991-12-03 1993-06-25 Hitachi Ltd Uniform random number generating method
JPH09244876A (en) * 1996-03-05 1997-09-19 Fujitsu Ltd Method and device for artificial ramdom number generation using chaos
JP2004093756A (en) * 2002-08-30 2004-03-25 Torex Device Co Ltd Fixed point computing element for logistic mapping
JP2005228169A (en) * 2004-02-16 2005-08-25 Bittech Inc Random number generating device
JP4451841B2 (en) * 2005-12-27 2010-04-14 東芝情報システム株式会社 Random number generation apparatus and random number generation method

Also Published As

Publication number Publication date
JP2016081274A (en) 2016-05-16

Similar Documents

Publication Publication Date Title
Karakaya et al. A true random bit generator based on a memristive chaotic circuit: Analysis, design and FPGA implementation
US10007488B2 (en) Secured pseudo-random number generator
Holleman et al. A 3$\mu $ W CMOS True Random Number Generator With Adaptive Floating-Gate Offset Cancellation
Merah et al. A pseudo random number generator based on the chaotic system of Chua’s circuit, and its real time FPGA implementation
JP3696209B2 (en) Seed generation circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device
US4691291A (en) Random sequence generators
KR20100127789A (en) Digital random number generator based on digitally-controlled oscillators
US8843539B2 (en) Generation of seed value for pseudo random number generator
KR20070048641A (en) Method and apparatus for cellular automata based generation of pseudorandom sequences with controllable period
Veljković et al. Low-cost implementations of on-the-fly tests for random number generators
JP5670849B2 (en) Pseudorandom number generation device and pseudorandom number generation method
Yang et al. A high speed pseudo-random bit generator driven by 2D-discrete hyperchaos
Zalivaka et al. FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability
Gupta et al. Hardware efficient pseudo-random number generator using Chen chaotic system on FPGA
Ciçek et al. A novel dual entropy core true random number generator
Othman et al. Implementation of neural-cryptographic system using FPGA
Tang et al. Design and implementation of a configurable and aperiodic pseudo random number generator in FPGA
Demir et al. Cryptanalysis of a random number generator based on continuous‐time chaos
JP6212728B2 (en) Random number generator and mapping operation circuit
KR100735953B1 (en) Device and method for generating a sequence of numbers
CN107016292A (en) Prevent the electronic circuit eavesdropped by power analysis and the method for preventing eavesdropping
Yadav Design and analysis of digital true random number generator
JP2007520798A (en) Random number generator and method using digital logic
Garipcan et al. A gigabit TRNG with novel lightweight post-processing method for cryptographic applications
Mita et al. Pseudo-random sequence generators with improved inviolability performance

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170804

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170822

R150 Certificate of patent or registration of utility model

Ref document number: 6212728

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees