JP2016081274A - Random number generator and mapping calculation circuit - Google Patents
Random number generator and mapping calculation circuit Download PDFInfo
- Publication number
- JP2016081274A JP2016081274A JP2014211554A JP2014211554A JP2016081274A JP 2016081274 A JP2016081274 A JP 2016081274A JP 2014211554 A JP2014211554 A JP 2014211554A JP 2014211554 A JP2014211554 A JP 2014211554A JP 2016081274 A JP2016081274 A JP 2016081274A
- 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.)
- Granted
Links
Images
Abstract
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の方式ではアナログカオスのディジタル化が行われるだけで、カオスディジタル演算回路に不確定要素を付与することにより再現困難性の高い乱数を得るものではない。
また、簡単な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ビットのみであり、乱数生成スピードはアナログカオス信号を生成させる最適な外部周期信号(正弦波)の周波数に左右され、擬似乱数生成と比べてスピードがそれほど期待できない。
一方、ロジスティック写像には理論的に、ある初期値により短い周期をとることが知られている。周期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
他にもいくつか短い周期をとるパラメータが内在しており、固定演算で実装した場合でも該当するパラメータではこれらの周期帯を持っていることが報告されている。このため、注意して初期値を設定し、短いループに入らない工夫が必要となる。ところが、固定演算では写像の計算の過程において丸め誤差により、これらのパラメータに一致してしまう懸念がある。 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]とした場合、初期値X0=25からの写像は
25 → 60 → 15 → 45 → 53 → 36 → 63 → 3 → 11 → 36
と、遷移し、36 → 63 → 3 → 11の周期長4の周期帯に落ち込むことが分かる。
また初期値X0=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
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,
また、特許文献4、特許文献5には、固定演算実装による短周期の問題については周期を延ばす手段により、統計的に乱数性能を向上させるという提案がなされている。しかしながら、周期を延ばす工夫をした場合、レジスタや制御回路などを追加することで、回路規模や処理工程が増大し、設計段階でのコストも上昇する問題がある。
Further,
また、その機能を演算処理過程の内部に入れ、複雑化することで処理性能や回路面積の柔軟なスケールアップ/ダウンが難しくなる懸念がある。更に、周期を延ばす仕組みを追加したとしても、写像の系列の中にごく毫ながらも短周期帯が存在する可能性があるため、周期帯の全件探索を行ってみないとわからないといった問題がある。 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変換し、乱数として取り出す必要がある。
また、一次元写像のディジタル演算実装などにおいて、写像の上位ビットを取り出すように構成すると、統計的に乱数性が悪いため、中位から下位側のビットを取り出すなど、取り方を工夫する必要がある。設計段階で予め乱数検定を行い、統計的な把握を事前に行っておくことが望ましい。 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,
一般的に、予測不可能性を有するといわれるカオス現象を数理的に生成させるものとして、ロジスティック写像が知られている。その数式は簡単なため、回路規模が少ない擬似乱数生成回路として使用できる。そして、ロジスティック写像はバタフライ効果で知られるそのカオス的振る舞いにより、初期値もしくは計算値にわずかな誤差を与えるのみで予測不可能性を助長させるという特徴を備えている。 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.
本発明に係る乱数生成装置は、アナログカオス生成回路によりアナログカオス信号を発生し、この信号からディジタル変換して変動用データを得る変動データ生成部と、ロジスティック写像を行う写像演算回路と、前記変動データに基づき前記写像演算回路における写像に変動を生じさせるデータ変動手段と、前記写像演算回路による写像結果に基づき乱数値を取得する乱数値取得手段とを具備することを特徴とする。 A random number generation device according to the present invention generates an analog chaos signal by an analog chaos generation circuit, digitally converts the signal to obtain variation data, a mapping operation circuit that performs logistic mapping, and the variation Data fluctuation means for causing fluctuation in the mapping in the mapping arithmetic circuit based on data, and random value acquisition means for acquiring a random value based on the mapping result by the mapping arithmetic circuit are provided.
本発明に係る乱数生成装置では、変動データ生成部は、カオス信号をディジタル化したデータの一部をそのまま又は所定演算を行って変動データとすることを特徴とする。 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 variation data generation unit includes an analog chaos generation circuit, and the analog chaos generation circuit generates an analog chaos signal.
本発明に係る乱数生成装置では、前記アナログカオス生成回路は、所定のタイミングで回路定数を変更することを特徴とする。 In the random number generation device according to the present invention, the analog chaos generation circuit changes a circuit constant at a predetermined timing.
本発明に係る写像演算回路は、乗数Xiと、2Nから前記乗数Xiを引算した結果である被乗数(2N−Xi)との掛け算結果に、定数aを掛ける式により定義されるロジスティック方程式を用いてロジスティック写像を行う写像演算回路において、前記被乗数を得る演算として2Nから乗数Xiを引算する減算部と、前記減算部により得られた被乗数と乗数とを乗算する乗算部と、前記乗算部により得られた結果について、定数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.
以下添付図面を参照して、本発明に係る乱数生成装置及びそれに用いられる写像演算回路の実施形態を説明する。各図において、同一の構成要素には同一の符号を付して重複する説明を省略する。図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
変動データ生成部10は、アナログカオス生成回路によりアナログカオス信号を発生し、この信号からディジタル変換して変動用データを得るものである。変動データ生成部10には、アナログカオス生成回路11とビット抽出・A/D変換回路12とが備えられている。
The fluctuation
また、写像演算回路21は、ロジスティック写像演算部20に含まれており、ロジスティック写像演算部20には、写像演算回路21、初期値レジスタ22及び乱数出力回路23が備えられている。
The
この乱数生成装置は、制御回路30を備えており、制御回路30は、ビット抽出・A/D変換回路12、写像演算回路21、乱数出力回路23の出力を制御する。また、外部からクロック信号が制御回路30とビット抽出・A/D変換回路12とに与えられており、アナログカオス生成回路11には、外部から周期信号が与えられている。なお、乱数出力回路23は、写像演算回路21による写像結果に基づき乱数値を取得する乱数値取得手段として機能する。乱数値取得手段は、上記写像演算回路21による写像結果をそのまま又は所定演算を行って乱数値とすることができる。
The random number generation device includes a
本実施形態では、上記アナログカオス生成回路11として電子回路を用いてカオス信号を発生させる。アナログカオス生成回路11としての電子回路は、負性発振回路、非線形インダクタンスを備える直列共振回路、ダブルスクロール回路等のいずれを用いてもよいし、また、別の構成によるアナログカオス生成を行う電子回路であってもよい。
In the present embodiment, a chaos signal is generated using an electronic circuit as the analog
本実施形態では、図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
本実施形態では、図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
ビット抽出・A/D変換回路12は、例えば図4に示すように構成することができる。このビット抽出・A/D変換回路12では、1ビット抽出用の構成であり、図の横方向に1群として並ぶ回路要素により1ビット分の基本回路が構成されている。従って、カオス信号を分割するビット数に対応して上記基本回路が設けられる。このビット抽出・A/D変換回路12は、アナログカオス信号よりビット抽出をするためのA/D変換回路図であり、一般的に用いられる高速A/Dコンバータ方式のものである。
The bit extraction / A /
ここでは入力されたアナログカオス信号を抵抗素子によって分圧し、分圧された信号を各差動増幅回路により参照電圧と比較して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
排他的論理和回路の出力により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,
更に、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 /
ここで、先に図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
ロジスティック写像演算部20の写像演算回路21では、次のようにロジスティック写像を実現する。ロジスティック写像の数式は以下で定義される。
In the
ロジスティック写像の値域は[0,1] 区間のあらゆる値をとるように振る舞い、無限精度演算が可能ならば過去算出したXiには戻らない性質を備えている。初期値X0には任意の値を選択できるが、例えばX0=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).
本実施形態に係るロジスティック写像演算部20の写像演算回路21では、初期値レジスタ22にセットされた初期値X0を用いてロジスティック写像演算を開始する。初期値X0としては、短い周期に陥らない固定値を求めて、予め初期値レジスタ22に格納しておく。或いは、アナログカオス生成回路11において作成したアナログカオス信号をA/D変換して、短い周期に陥らないディジタル値を取り出し、予め初期値レジスタ22に格納しておくようにしてもよい。
In the
本実施形態に係るロジスティック写像演算部20においては、上記の変動データに基づき上記写像演算回路21における写像に変動を生じさせるデータ変動手段を備える。このため、乱数抽出を行うべき写像回数RNと、ビット抽出・A/D変換回路12による不確定ビットを用いてロジスティック写像結果に変動を生じさせるべき乱数抽出回数ANとが設定される。本実施形態では、データ変動手段は、変動データを写像データの一部と置換する。即ち、ロジスティック写像結果の所定ビットを、ビット抽出・A/D変換回路12の出力で置換する。しかし、データ変動手段は、変動データと写像データの少なくとも一部との演算に基づき写像に変動を生じさせるようにしてもよい。なお、ここで行われる演算は、加減乗除や適当な関数によるものなど、どのようなものを用いても良い。
The logistic
以上のような本実施形態に係るロジスティック写像演算部20は、図7に示すフローチャートに示すように動作する。初期値レジスタ22から初期値X0を取り出し(S11)、これを用いてロジスティック写像演算を行う(S12)。ステップS12では、初期状態で0の演算回数iを1インクリメントする。次に、演算回数が乱数抽出を行うべき写像回数RNに達したかを検出し(S13)、RNに達していなければステップS12に戻って処理を続ける。
The logistic
一方、ステップ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
また、ステップS15において乱数抽出回数jがANに達した場合には、変動データ生成部10によって生成された変動用データである誤差ビットにより、ロジスティック写像結果に変動を生じさせて新たな写像結果Xi[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
本実施形態に係るロジスティック写像演算部20は、更に詳細には、図8に示すフローチャートに示すように減算部(S21)、乗算部(S22)、シフト演算部(S23)、処理部(S24)による動作により、(7)式のロジスティック写像を実行する。まず、初期値供給源である初期値レジスタ22から初期値X0[N]を取り出し(S20)、これを用いてロジスティック写像演算を行う。なお、図8において、Nは演算精度を示し、Xi[N]は写像のビット配列を示し、MINUS[N]は引き算結果のビット配列を示し、MULTI[N]は掛け算結果のビット配列を示す。
More specifically, the logistic
減算部(S21)では、被乗数を得る演算として2Nから乗数Xiを引算する次に、乗算部(S22)では、上記引算の結果(2N−Xi)に乗数であるXiを掛けて2Nビット分の解を得る。更に、シフト演算部(S23)においては、上記乗算の結果を2ビット左シフトして、上記(7)式の4倍に相当する演算を行う。そして、処理部(S24)においては、2Nによる割り算に相当する下位Nビット分を削除(棄却)してNビット分の写像結果Xiを得る。以下繰り返しステップ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ビット分を格納するレジスタ配列Xi[N]が得られるが、本実施形態の乱数生成装置では、データ変動手段が、レジスタ配列Xi[N]の所定位置の所定ビットを、ビット抽出・A/D変換回路12により抽出された不確定ビット(本実施形態では、1ビット)により置換して予測不可能性を助長させることができる。
The above is the processing by the
上記の写像演算回路21による処理を実現させるために、ロジスティック写像演算部20における写像演算回路21の詳細構成を図9に示すようにすることができる。ロジスティック写像演算部20では、制御回路30がクロック信号を外部から取り込み、このクロックに基づき生成したパルスPulse1〜パルスPulse3を所要部に与えることにより制御を行う構成となっている。
In order to realize the processing by the
図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
アンド回路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
EX−OR回路37は、Dフリップフロップ回路31のクロック端子に入力される信号とアンド回路35の出力信号を入力として排他的論理和演算を行う。EX−OR回路38は、上記EX−OR回路37の出力信号とアンド回路36の出力信号との排他的論理和演算を行う。EX−OR回路38の出力信号は、パルスPulse3とされる。
The
図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
上記パルスPulse1、Pulse2、Pulse3の役割は以下の通りである。パルスPulse1においては、その初回のパルスによって初期値レジスタ22にセットされている初期値X0の読み出しが行われ、2回目以降のパルスによって乗数レジスタ221に対し1回毎の写像の結果であるXiのセットが行われる。また、パルスPulse1によって乱数出力回路23からの乱数値の出力が行われる。また、パルスPulse2においては、そのパルスによってロジスティック写像の引算(2N−Xi)が行われる。
The roles of the pulses Pulse1, Pulse2, and Pulse3 are as follows. In the
更に、パルスPulse3においては、そのパルスは演算精度N[bit]分のN個により構成され、そのパルスによってロジスティック写像の掛け算Xi(2N−Xi)が行われる。パルス個数は複数あり、演算精度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
写像演算回路21を、乗数Xiと、2Nから前記乗数Xiを引算した結果である被乗数(2N−Xi)との掛け算結果に、定数aを掛ける式により定義されるロジスティック方程式を用いてロジスティック写像を行う写像演算回路とすることができる。本実施形態では、写像が周期性を持たないカオス領域となるように、定数a=4とする。写像演算回路21は、減算部、乗算部、シフト演算部、処理部を備える構成とすることができる。
The
減算部は、上記被乗数を得る演算として2Nから乗数Xiを引算するものである。乗算部は、上記減算部により得られた被乗数と乗数とを乗算するものである。シフト演算部は、乗算部により得られた結果について、定数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
インバータ225は、乗数レジスタ221に置数された乗数を反転して補数を得るものである。第1の経路は、上記インバータ225の出力と上記1供給源224より1を夫々上記加算器223へ導く経路であり、セレクタ252とセレクタ253を含むものである。第2の経路は、上記加算器223へ導かれた上記インバータ225の出力と上記1供給源224からの1が加算された結果を、上記被乗数レジスタ222へ導く経路であり、アンド回路263を含む。
The
写像演算回路21は、更に、シフトレジスタ226、アンド回路262、第2の処理部、第3の処理部を備える。第2の処理部は、上記乗数レジスタ221に置数された乗数の下位ビットから順に1ビット取り出して、この1ビットと上記被乗数レジスタ222に置数された被乗数との論理積をアンド回路262により求めて、結果を上記加算器223に出力するものである。
The
第3の処理部は、上記加算器223を用いて、初期データ或いは前回の加算器223の出力を上記シフトレジスタ226によりシフトしたデータと上記第2の処理部の出力との加算を行い、アンド回路264を介して上記シフトレジスタ226へ出力するものである。
The third processing unit uses the
上記第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
更に、乗数レジスタ221のDW端子にはパルスPulse1が与えられ、クロック端子CLKにはオア回路274を介してパルスPulse1とパルスPulse3が与えられる。
Further, the
上記の写像演算回路21に備えられているセレクタ251、252、253は同一の構成とされ、図12に示すような回路図である。本実施形態ではN=6ビットであるから、6ブロックの論理回路ブロック250を備える。各論理回路ブロック250には、A端子からの入力データをSA端子への制御信号によって通過制御するアンド回路と、B端子からの入力データをSB端子への制御信号によって通過制御するアンド回路と上記2つのアンド回路の出力信号を受けて論理和演算結果をS端子から出力するオア回路とが備えられている。従って、SA端子とSB端子のいずれかにHレベルが与えられた側の入力端子A、Bのいずれかが選択されてNビットが出力される。
The
また、上記の写像演算回路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
論理回路ブロック140は、パルスPulse1がHレベルのときにPD端子の入力をDフリップフロップ130のD端子へ通過させてクロックにより取り込みを行わせ、パルスPulse1がLレベルのときにクロック端子CLKに到来するパルスPulse3によるシフトが行われるように制御を行う回路である。なお、本実施形態では、アンド回路261の出力端子は、入力端子PD1〜PD6のいずれかに接続され、この入力端子(PD1〜PD6のいずれか)には、セレクタ251の出力は与えられない。
The
更に、上記の写像演算回路21に備えられている被乗数レジスタ222は、図14に示すように構成される。被乗数レジスタ222は、クロック端子CLKに共通のクロックとしてパルスPulse2を入力する並列に設けられた6個のDフリップフロップ150により構成される。
Further, the
また、上記の写像演算回路21に備えられている加算器223は、図15に示されるように構成される。この加算器223は、最下位にハーフアダー160を設け、このハーフアダー160に対し、5個の縦続接続したフルアダー170を接続した構成とされている。
Further, the
また、上記の写像演算回路21に備えられているシフトレジスタ226は、図16に示すような並列入力並列出力シフトレジスタの回路図の構成を有している。つまり、シフトレジスタ226は、図16に示すようにN+1個の1ビットシフトレジスタ180により構成され、このN+1個の1ビットシフトレジスタ180のD端子に入力されたデータを1ビットシフトしてSFT端子から出力する。
Further, the
各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-
以上のように構成された写像演算回路21は、以下の通りに動作する。パルスPulse1の出力により演算スタートとなり、予め初期値X0が格納された初期値レジスタ22から、セレクタ251を介して、パルスPulse1の信号が乗数レジスタ221のDW端子と、オア回路274を介してクロック端子CLKに入力される。これにより、予め初期値X0が格納された初期値レジスタ22からセレクタ251を介して、乗数レジスタ221にセットされる。
The
乗数レジスタ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-
セレクタ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
なお、本実施形態では、初期値X0を初期値レジスタ22から取り込んでいるが、初期値X0としてはアナログカオス信号のA/D変換値をレジスタに取り込んで用いるように構成しても良い。また、予め選択した初期値X0を用いる場合は、固定値としてソース電圧(VDD/VSS)をセレクタ251に結線しておいても良い。この構成を採用する場合には、初期値レジスタ22は不要となり、その分回路面積を抑制して装置の構成を小型化することができる。
In the present embodiment, the initial value X 0 is fetched from the
次に、パルス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
一方、セレクタ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
次に、パルス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
セレクタ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
順を追って説明する。初めにパルス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
加算器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-
次に、パルス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
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
最後に、ロジスティック写像の演算としては、乗算結果に対して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
図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
パルス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
そして図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
また、実施形態の乱数生成装置では、アナログカオスの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 /
また、実施形態に示すように回路構成も簡単なため、回路内の結線も比較的容易に変更が可能である。例えば演算精度を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
(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
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.
実施例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.
この実施例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.
実施した結果は、表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
Claims (10)
ロジスティック写像を行う写像演算回路と、
前記変動データに基づき前記写像演算回路における写像に変動を生じさせるデータ変動手段と、
前記写像演算回路による写像結果に基づき乱数値を取得する乱数値取得手段と
を具備することを特徴とする乱数生成装置。 An analog chaos signal is generated by an analog chaos generation circuit, and a fluctuation data generation unit that obtains data for fluctuation by digital conversion from the signal;
A map operation circuit for logistic mapping;
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.
前記被乗数を得る演算として2Nから乗数Xiを引算する減算部と、
前記減算部により得られた被乗数と乗数とを乗算する乗算部と、
前記乗算部により得られた結果について、定数aに対応するシフト演算を行うシフト演算部と
前記シフト演算部により得られた結果から下位Nビットを棄却して次の乗数として前記減算部へ送出する第1の処理部と
を具備する写像演算回路。 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) , the logistic map by using the logistic equation defined by formula multiplying the constant a In the mapping operation circuit to be performed,
A subtraction unit that subtracts a multiplier X i from 2 N as an operation to obtain 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が加算された結果を前記被乗数レジスタへ導く第2の経路と
により構成されることを特徴とする請求項8に記載の写像演算回路。 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,
9. The output of the inverter guided to the adder and a second path for guiding a result of adding 1 from the one supply source to the multiplicand register, according to claim 8, Mapping operation circuit.
シフトレジスタと
前記乗数レジスタに置数された乗数の下位ビットから順に1ビット取り出して、この1ビットと前記被乗数レジスタに置数された被乗数との論理積をアンド回路により求めて、結果を前記加算器に出力する第2の処理部と、
前記加算器を用いて、初期データ或いは前回の加算器の出力を前記シフトレジスタによりシフトしたデータと前記第2の処理部の出力との加算を行い、前記シフトレジスタへ出力する第3の処理部と
を備え、
前記乗数レジスタに置数された乗数のビットすべてについて処理が行われるまで、シフトレジスタ、前記第2の処理部及び前記第3の処理部による処理を繰り返し実行することを特徴とする請求項9に記載の写像演算回路。
Furthermore,
One bit is extracted in order from the low-order 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 added. A second processing unit for outputting to the device;
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
The processing by the shift register, the second processing unit, and the third processing unit is repeatedly executed until processing is performed on all the bits of the multiplier placed in the multiplier register. The mapping operation circuit described.
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 true JP2016081274A (en) | 2016-05-16 |
JP6212728B2 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) |
Citations (5)
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 |
JP2007179280A (en) * | 2005-12-27 | 2007-07-12 | Toshiba Information Systems (Japan) Corp | Device and method for generating random number |
-
2014
- 2014-10-16 JP JP2014211554A patent/JP6212728B2/en not_active Expired - Fee Related
Patent Citations (5)
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 |
JP2007179280A (en) * | 2005-12-27 | 2007-07-12 | Toshiba Information Systems (Japan) Corp | Device and method for generating random number |
Also Published As
Publication number | Publication date |
---|---|
JP6212728B2 (en) | 2017-10-18 |
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 | |
KR20100127789A (en) | Digital random number generator based on digitally-controlled oscillators | |
Merah et al. | A pseudo random number generator based on the chaotic system of Chua’s circuit, and its real time FPGA implementation | |
US4691291A (en) | Random sequence generators | |
JP3696209B2 (en) | Seed generation circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device | |
US8843539B2 (en) | Generation of seed value for pseudo random number generator | |
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 | |
Gupta et al. | Hardware efficient pseudo-random number generator using Chen chaotic system on FPGA | |
Zhao et al. | Fully fixed-point integrated digital circuit design of discrete memristive systems | |
Othman et al. | Implementation of neural-cryptographic system using FPGA | |
Ciçek et al. | A novel dual entropy core true random number generator | |
Demir et al. | Cryptanalysis of a random number generator based on continuous‐time chaos | |
JP6212728B2 (en) | Random number generator and mapping operation circuit | |
Jalilian et al. | Hardware implementation of a chaotic pseudo random number generator based on 3d chaotic system without equilibrium | |
KR20060049298A (en) | Device and method for generating a sequence of numbers | |
Garipcan et al. | A gigabit TRNG with novel lightweight post-processing method for cryptographic applications | |
Ergun et al. | Truly random number generators based on a double-scroll attractor | |
Mita et al. | Pseudo-random sequence generators with improved inviolability performance | |
Sujitha et al. | Analysis of an Efficient Linear Congruential Generator Architecture for Digital Applications | |
Devi et al. | Design of Hybrid True Random Number Generator for Cryptographic Applications. | |
RU2815485C1 (en) | Pseudorandom number generator |
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 |