CN105867878A - High-speed parallel true random number generator - Google Patents

High-speed parallel true random number generator Download PDF

Info

Publication number
CN105867878A
CN105867878A CN201610268917.9A CN201610268917A CN105867878A CN 105867878 A CN105867878 A CN 105867878A CN 201610268917 A CN201610268917 A CN 201610268917A CN 105867878 A CN105867878 A CN 105867878A
Authority
CN
China
Prior art keywords
random number
speed
input
random
parallel
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.)
Pending
Application number
CN201610268917.9A
Other languages
Chinese (zh)
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.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
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 Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN201610268917.9A priority Critical patent/CN105867878A/en
Publication of CN105867878A publication Critical patent/CN105867878A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Abstract

The invention discloses a high-speed parallel true random number generator. The generator comprises a random source, a collector and a data processing part. The generator is characterized in that the random source uses oscillation ring shaking generated in an FPGA (field programmable gate array), and the collector collects shaking random signals; the data processing part processes collected random signals and generates high-speed and parallel true random numbers. The method is based on an FPGA system, oscillation ring collecting system clock shaking in the FPGA is used as original random number signals, high-speed and parallel random numbers with good randomness are obtained through correction and parallel processing, and the generator has good randomness and reliability.

Description

A kind of high-speed parallel real random number generator
Technical field
The present invention relates to a kind of truly random generator and method for generation, send out particularly to a kind of high-speed parallel true random number Raw device and production method.
Background technology
Along with making rapid progress of science and technology, randomizer (RNG) has a wide range of applications in many aspects, as logical Letter safety, amusement, music, image multimedia, simulate and test, mathematics, ecommerce E-Government etc..This project just should A kind of realization for the randomizer of image procossing.Owing to hardware real random number generator (TRNG) is on randomness There is the advantage that software pseudorandom number generator (PRNG) is impassable.The design generates high-speed parallel random number based on FPGA, Velocity-stabilization, meets random number requirement.
Summary of the invention
It is an object of the invention to the FPGA inherent character utilized, a kind of hardware of design realizes simple, the good height of randomness with Parallel random number generation equipment.
The present invention solves technical problem and adopts the following technical scheme that
A kind of for high-speed parallel real random number generator system, including stochastic source, data acquisition unit, data processor;It is special Levy and be: described stochastic source provides original stochastic signal based on FPGA clock source, and described data acquisition unit is by multiple concussions Ring and XOR gate composition, the plurality of concussion ring gathers original stochastic signal respectively, after XOR gate processes, obtains random The more preferable continuous print serial stochastic signal of property, continuous print serial stochastic signal is after the correction, serioparallel exchange of data processor Obtain parallel random data signal, as random number seed;
Described stochastic source provides original stochastic signal based on FPGA clock source, and described FPGA clock source includes high-speed clock source CLK0, low-speed clock source CLK1;Described data acquisition unit 2 is made up of 3 concussion rings and XOR gate, described each shake Swinging ring to include and door, buffer chain, phase inverter and d type flip flop, high-speed clock source CLK0 accesses the input with door, defeated with door Going out to terminate into buffer chain, the outfan of buffer chain accesses phase inverter, the outfan output feedback of phase inverter respectively with door input With d type flip flop input;Meanwhile, low-speed clock source CLK1, as the clock signal of d type flip flop, gathers the output knot of phase inverter Really, original stochastic signal is obtained;
Described buffer chain includes the buffer that three head and the tail are sequentially connected, respectively buffer 0, buffer 1, buffer 2.
Described data processing section includes Feng's. Nuo Yiman corrector, FIFO, LSFR, before described Feng's. Nuo Yiman corrector End connects XOR gate, and described XOR gate carries out XOR process to described multichannel stochastic signal, generates a bit binary data;Two enter Data processed process through von Neumann corrector, form the random bit string that randomness is good;Described random bit string inputs extremely After FIFO going here and there and converting FIFO output speed stable, at a high speed, parallel random number sequence, described random number sequence conduct Random number seed inputs in described LFSR, for subsequent treatment.
High-speed parallel real random number generator of the present invention produces the method for high-speed parallel true random number and comprises the following steps:
(1) described high-speed clock source CLK0 is as in described stochastic source input signal to described concussion ring;
(2) described concussion ring output stochastic signal, after XOR gate processes, generates 0 or 1 random number, and this random number inputs extremely Described von Neumann corrector;
(3) random number is corrected by described von Neumann corrector, and well but speed shakiness needs to carry out to obtain randomness The bit string that string turns and processes;
(4) randomness is good but speed shakiness needs to carry out string and turns and the bit string input that processes carries out serioparallel exchange to FIFO;
(5) the parallel random number of the output of described FIFO is as random seed, after utilizing LFSR algorithm process, for actually used;
(6) random seed of input is processed by described LSFR, without new random number seed input, the most described LFSR By current output feedback result as the input of LSFR, carry out random number process next time;If there being new random number seed Input, then process new random number seed and generate random number sequence;Constantly change the input random seed of LSFR, obtain random The good high speed of property, parallel true random number sequence.
The present invention provides the benefit that against existing technologies:
1, hardware realizes simple
Utilize FPGA clock to produce stochastic source, stochastic source sampling is produced and organizes random number more, random number is carried out XOR, correction etc. Process, produce and stablize parallel random number at a high speed;
2, random quality is good
This programme, gathers multichannel stochastic signal, multichannel stochastic signal is carried out XOR process, utilizes von Neumann corrector to enter Row correction, it is ensured that the random number of generation has more preferable stochastic behaviour compared with similar scheme.
3, parallel, stable
Utilize the inherent characteristics of FIFO, the parallelization to serial data can be realized simultaneously and process and stable output.
4, at a high speed
Constantly change the input seed of LSFR, the good high speed of randomness, parallel true random number sequence can be obtained.
Accompanying drawing explanation
Fig. 1 is the system entire block diagram of the present invention;
Fig. 2 is the system logic structure figure of the present invention;
Fig. 3 is the data acquisition schematic diagram of the present invention;
Fig. 4 is the concussion ring schematic diagram of the present invention;
Fig. 5 is that the data of the present invention process schematic diagram.
Detailed description of the invention
As shown in Figure 1-2, a kind of for high-speed parallel real random number generator system, including stochastic source, data acquisition unit, Data processor;It is characterized in that: described stochastic source provides original stochastic signal, described data acquisition based on FPGA clock source Device is made up of multiple concussion rings and XOR gate, and the plurality of concussion ring gathers original stochastic signal, respectively through XOR gate After process, obtaining randomness more preferable continuous print serial stochastic signal, continuous print serial stochastic signal is through data processor 3 Parallel random data signal is obtained, as random number seed after correction, serioparallel exchange;
As in Figure 3-5, described stochastic source provides original stochastic signal based on FPGA clock source, and described FPGA clock source includes High-speed clock source CLK0, low-speed clock source CLK1;Described data acquisition unit is made up of 3 concussion rings and XOR gate, institute The each concussion ring stated includes and door, buffer chain, phase inverter and d type flip flop, and high-speed clock source CLK0 accesses the input with door End, accesses buffer chain with the outfan of door, and the outfan of buffer chain accesses phase inverter, and the outfan output feedback of phase inverter is respectively With door input and d type flip flop input;Meanwhile, low-speed clock source CLK1, as the clock signal of d type flip flop, gathers phase inverter Output result, obtain original stochastic signal;
Described buffer chain includes the buffer that three head and the tail are sequentially connected, respectively buffer 0, buffer 1, buffer 2.
As it is shown in figure 5, described data processor includes Feng's. Nuo Yiman corrector, FIFO, LSFR, described Feng. Nuo Yiman school Positive device front end connects XOR gate, and described XOR gate carries out XOR process to described multichannel stochastic signal, generates a bit According to;Binary data processes through von Neumann corrector, forms the random bit string that randomness is good;Described random bit string is defeated Enter after going here and there to FIFO and converting, FIFO output speed is stable, at a high speed, parallel random number sequence, described random number sequence Arrange and input in described LFSR as random number seed, for subsequent treatment.
Described Feng's. Nuo Yiman corrector is as follows with the combination of output to the input of binary data timing:
(1) input is combined as " 01 ", is output as 0;
(2) input is combined as " 10 ", is output as 1;
(3) input is combined as " 00 ", without output;
(4) input is combined as " 11 ", without output;
After described Feng's. Nuo Yiman corrector processes, obtain that the higher serial of randomness is non-at the uniform velocity exports random bit string, will be with Seat in the plane string inputs to FIFO, obtains 32 stable parallel-by-bit random number seeds.
The process that described FIFO processes random bit string is as follows:
(1) during random bit string is input to FIFO, and it is buffered in the RAM of described FIFO;
(2) described FIFO has two input states to external world, EMPTY and FULL, when the RAM within FIFO is empty, the most defeated Go out for " EMPTY=1, FULL=0 ", after FIFO internal data is full, be externally output as " EMPTY=0, FULL=1 ";
(3) described FIFO constantly receives continuous print random bit string, exports 32 stable parallel-by-bit randoms number;
Parallel random number through FIFO output can be input to described LSFR locate at random as the random number seed of system Reason, further enhances randomness;The processing procedure that described LSFR degree random number seed carries out random process is as follows:
(1) described LSFR software realizes, and for a random number seed, can obtain organizing random number list entries more;
(2) described LSFR module is operated in fast state, ceaselessly to system input random number combination;
(3) described FIFO ceaselessly inputs original random number seed to described LSFR;
(4) need the regular hour owing to described FIFO processes random bit string, thus its output speed is less than the defeated of described LFSR Go out speed;
(5) the parallel random number of input is processed by described LSFR, without new random number seed input, then described LFSR as the input of LSFR, carries out random number process next time by current output feedback result;If there being new random number Seed inputs, then process new random number seed and generate random number sequence;
(6) constantly change the input seed of LSFR, obtain the good high speed of randomness, parallel true random number sequence.

Claims (4)

1. a high-speed parallel real random number generator, including stochastic source, data acquisition unit, data processor;It is characterized in that: Described stochastic source provides original stochastic signal based on FPGA clock source, and described data acquisition unit is by multiple concussion rings and different Or door composition, the plurality of concussion ring gathers original stochastic signal respectively, after XOR gate processes, obtains randomness more preferable Continuous print serial stochastic signal, continuous print serial stochastic signal obtains after the correction, serioparallel exchange of data processor parallel Random data signal, as random number seed;
Described stochastic source provides original stochastic signal based on FPGA clock source, and described FPGA clock source includes high-speed clock source CLK0, low-speed clock source CLK1;
Described data acquisition unit is made up of 3 concussion rings and XOR gate, and described each concussion ring includes and door, buffering Chain, phase inverter and d type flip flop, high-speed clock source CLK0 accesses the input with door, accesses buffer chain with the outfan of door, slow Rush chain outfan access phase inverter, phase inverter outfan output feedback respectively with door input and d type flip flop input;With Time, low-speed clock source CLK1, as the clock signal of d type flip flop, gathers the output result of phase inverter, obtains original stochastic signal;
Described data processing section includes Feng's. Nuo Yiman corrector, FIFO, LSFR, and described Feng's. Nuo Yiman corrector front end is even Connecing XOR gate, described XOR gate carries out XOR process to described multichannel stochastic signal, generates a bit binary data;Binary number Process according to through von Neumann corrector, form the random bit string that randomness is good;Described random bit string inputs to FIFO After going here and there and converting FIFO output speed stable, at a high speed, parallel random number sequence, described random number sequence is as random number Seed inputs in described LFSR, for subsequent treatment.
High-speed parallel real random number generator the most according to claim 1, it is characterised in that produce high-speed parallel true random number Method comprises the following steps:
(1) described high-speed clock source CLK0 is as in described stochastic source input signal to described concussion ring;
(2) described concussion ring output stochastic signal, after XOR gate processes, generates 0 or 1 random number, and this random number inputs extremely Described von Neumann corrector;
(3) random number is corrected by described von Neumann corrector, and well but speed shakiness needs to carry out to obtain randomness The bit string that string turns and processes;
(4) randomness is good but speed shakiness needs to carry out string and turns and the bit string input that processes carries out serioparallel exchange to FIFO;
(5) the parallel random number of the output of described FIFO is as random seed, after utilizing LFSR algorithm process, for actually used;
(6) random seed of input is processed by described LSFR, without new random number seed input, the most described LFSR By current output feedback result as the input of LSFR, carry out random number process next time;If there being new random number seed Input, then process new random number seed and generate random number sequence;Constantly change the input random seed of LSFR, obtain random The good high speed of property, parallel true random number sequence.
3. according to the high-speed parallel real random number generator described in any one of claim 1-2, it is characterised in that: described buffering Chain includes the buffer that three head and the tail are sequentially connected, respectively buffer 0, buffer 1, buffer 2.
4. according to a kind of high-speed parallel real random number generator described in any one of claim 1-2, it is characterised in that: described Parallel true random number sequence width is 32bit.
CN201610268917.9A 2016-04-26 2016-04-26 High-speed parallel true random number generator Pending CN105867878A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610268917.9A CN105867878A (en) 2016-04-26 2016-04-26 High-speed parallel true random number generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610268917.9A CN105867878A (en) 2016-04-26 2016-04-26 High-speed parallel true random number generator

Publications (1)

Publication Number Publication Date
CN105867878A true CN105867878A (en) 2016-08-17

Family

ID=56629270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610268917.9A Pending CN105867878A (en) 2016-04-26 2016-04-26 High-speed parallel true random number generator

Country Status (1)

Country Link
CN (1) CN105867878A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193533A (en) * 2017-07-31 2017-09-22 南京航空航天大学 A kind of novel low-cost high-speed, true random-number generator
TWI680403B (en) * 2018-08-07 2019-12-21 旺宏電子股份有限公司 Adjustable random number generator and adjustable random number generation method
CN110780846A (en) * 2019-09-29 2020-02-11 太原理工大学 Method and device for generating high-speed physical random number from low-speed physical random number
CN111538478A (en) * 2020-04-20 2020-08-14 佳缘科技股份有限公司 Method for improving randomness of output sequence
WO2022253287A1 (en) * 2021-06-04 2022-12-08 寒武纪(西安)集成电路有限公司 Method for generating random number, and related product thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090243732A1 (en) * 2006-08-05 2009-10-01 Min Ming Tarng SDOC with FPHA & FPXC: System Design On Chip with Field Programmable Hybrid Array of FPAA, FPGA, FPLA, FPMA, FPRA, FPTA and Frequency Programmable Xtaless ClockChip with Trimless/Trimfree Self-Adaptive Bandgap Reference Xtaless ClockChip
CN201773390U (en) * 2010-09-01 2011-03-23 中国电力科学研究院 Truly random number generator based on resistance noise processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090243732A1 (en) * 2006-08-05 2009-10-01 Min Ming Tarng SDOC with FPHA & FPXC: System Design On Chip with Field Programmable Hybrid Array of FPAA, FPGA, FPLA, FPMA, FPRA, FPTA and Frequency Programmable Xtaless ClockChip with Trimless/Trimfree Self-Adaptive Bandgap Reference Xtaless ClockChip
CN201773390U (en) * 2010-09-01 2011-03-23 中国电力科学研究院 Truly random number generator based on resistance noise processing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
罗春丽等: "基于FPGA的真随机数产生器后处理算法的研究", 《核电子学与探测技术》 *
霍文捷等: "一种基于 FPGA 的真随机数生成器的设计", 《华中科技大学学报(自然科学版)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193533A (en) * 2017-07-31 2017-09-22 南京航空航天大学 A kind of novel low-cost high-speed, true random-number generator
CN107193533B (en) * 2017-07-31 2020-08-18 南京航空航天大学 Low-cost high-speed true random number generator
TWI680403B (en) * 2018-08-07 2019-12-21 旺宏電子股份有限公司 Adjustable random number generator and adjustable random number generation method
CN110780846A (en) * 2019-09-29 2020-02-11 太原理工大学 Method and device for generating high-speed physical random number from low-speed physical random number
CN111538478A (en) * 2020-04-20 2020-08-14 佳缘科技股份有限公司 Method for improving randomness of output sequence
WO2022253287A1 (en) * 2021-06-04 2022-12-08 寒武纪(西安)集成电路有限公司 Method for generating random number, and related product thereof

Similar Documents

Publication Publication Date Title
CN105867878A (en) High-speed parallel true random number generator
EP1686458B1 (en) Oscillator-based random number generator
CN105867877B (en) A kind of real random number generator based on FPGA
CN106775583A (en) A kind of production method of high-speed, true random-number
CN101620523A (en) Random number generator circuit
CN107038015A (en) A kind of high-speed, true random-number generator
CN104133658A (en) On-chip true random number generator
CN102968290A (en) Isomeric lightweight class true random number generator
CN109167664B (en) Reconfigurable ring oscillator PUF circuit based on exclusive-OR gate
KR20140110142A (en) Random number generator
CN106293616A (en) True Random Number Generator based on time delay feedback agitator
JP5341690B2 (en) Physical random number generator
WO2011085139A2 (en) Method and apparatus for increasing distribution of jitter within a random number generator
CN101882062A (en) True random bit stream generator
JP5670849B2 (en) Pseudorandom number generation device and pseudorandom number generation method
US7895430B2 (en) On-chip logic analyzer using compression
CN103049242A (en) Digital true random number generator circuit
Zhang et al. FPGA implementation of Toeplitz hashing extractor for real time post-processing of raw random numbers
CN107479857A (en) Random number produces and post processing circuitry
US20210026602A1 (en) Entropy Generator and Method of Generating Enhanced Entropy Using Truly Random Static Entropy
Jothi et al. Parallel RC4 Key Searching System Based on FPGA
Tupparwar et al. A hybrid true random number generator using ring oscillator and digital clock manager
CN107193533B (en) Low-cost high-speed true random number generator
CN201654763U (en) Bit stream generator of true random
Yao et al. A prototype of trigger electronics for LAWCA experiment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160817