WO2023211466A1 - Generation of quantum random numbers from single-photon avalanche diodes - Google Patents
Generation of quantum random numbers from single-photon avalanche diodes Download PDFInfo
- Publication number
- WO2023211466A1 WO2023211466A1 PCT/US2022/026992 US2022026992W WO2023211466A1 WO 2023211466 A1 WO2023211466 A1 WO 2023211466A1 US 2022026992 W US2022026992 W US 2022026992W WO 2023211466 A1 WO2023211466 A1 WO 2023211466A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- series
- electrical pulses
- spad
- photons
- output
- Prior art date
Links
- 238000010791 quenching Methods 0.000 claims abstract description 45
- 230000000171 quenching effect Effects 0.000 claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000004891 communication Methods 0.000 claims abstract description 15
- 238000001514 detection method Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 11
- 230000015556 catabolic process Effects 0.000 description 10
- 230000000630 rising effect Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 5
- 239000002800 charge carrier Substances 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000000098 azimuthal photoelectron diffraction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005684 electric field Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- VLCQZHSMCYCDJL-UHFFFAOYSA-N tribenuron methyl Chemical compound COC(=O)C1=CC=CC=C1S(=O)(=O)NC(=O)N(C)C1=NC(C)=NC(OC)=N1 VLCQZHSMCYCDJL-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01J—MEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
- G01J11/00—Measuring the characteristics of individual optical pulses or of optical pulse trains
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
Definitions
- This invention relates to random number generation and associated encryption of communications, and the creation and use of unique keys based on the generated random numbers.
- a basic defensive tactic to thwart unauthorized access to data is to use encryption to render the data inaccessible if compromised or stolen.
- the foundation of all cryptography relies on the ability to produce a random number cryptographic key.
- public and private keys are used to encrypt and decrypt data.
- the keys are large numbers that have been paired together but are not identical (asymmetric).
- random numbers are used to generate session keys, thus randomness is important to ensure the security of a system.
- many encryption algorithms are not based on truly random numbers, but rather, on a predictable pattern. If a random generator produces an output with a predictable pattern or variance, it can be reverse- engineered.
- Quantum measurements have intrinsic unknowns as captured in the famous Heisenberg Uncertain Principle, which shows quantum systems are probabilistic at a fundamental level. Further work explained in Bell’s Theorem proves quantum randomness is intrinsic to quantum measurements and not the result of hidden or unknown variables determining the outcome.
- the disclosed technology provides systems and methods for generating random numbers which can be used for encryption keys.
- a method for generating a random number.
- the method includes receiving, at a first single-photon avalanche diode (SPAD), a first series of photons, converting, by the first SPAD, the first series of photons into a first series of electrical pulses comprising a first random time interval between each pulse of the first series of electrical pulses, and outputting, by an output circuit in communication with the first SPAD, a random binary stream based at least in part on the first series of electrical pulses.
- SPAD single-photon avalanche diode
- the quantum random number generator includes one or more single-photon avalanche diodes (SPADs), each of the SPADS configured to receive a corresponding series of photons, one or more quenching circuits in communication with each corresponding one or more SPADs, the one or more quenching circuits configured to convert the corresponding series of photons into the corresponding series of electrical pulses, each corresponding series of electrical pulses comprising corresponding random time intervals between each pulse of the corresponding series of electrical pulses, and an output circuit in communication with one or more quenching circuits, the output circuit configured to output a random binary stream based at least in part on the corresponding series of electrical pulses.
- SPADs single-photon avalanche diodes
- FIG. 1A illustrates an example SPAD-based system for random number generation, in accordance with an embodiment of the present disclosure.
- FIG. IB illustrates another example SPAD-based random number generation system with a quenching circuit, in accordance with an embodiment of the present disclosure.
- FIG. 1C is a diagram of various input pulses for generating an output signal of an example device of FIGs. 1A or IB based on a series of photons received at the SPAD, in accordance with an embodiment of the present disclosure.
- FIG. 2A illustrates an example device having an array of SPADs, in accordance with an embodiment of the present disclosure.
- FIG. 2B is a diagram of various input pulses for generating an input signal of an example array of SPADs of FIG. 2A based on a series of photons received at the array of SPADs, in accordance with an embodiment of the present disclosure.
- FIG. 3 A illustrates voltage threshold control of an output circuit, in accordance with an embodiment of the present disclosure.
- FIG. 3B illustrates another voltage threshold control of an output circuit, in accordance with an embodiment of the present disclosure.
- FIG. 3C illustrates yet another voltage threshold control of an output circuit, in accordance with an embodiment of the present disclosure.
- FIGs. 4A illustrates an example of random binary stream output based on input voltage threshold control of an output circuit, in accordance with an embodiment of the present disclosure.
- FIG. 4B illustrates an example of random binary stream output based on input voltage threshold control of an output circuit, in accordance with an embodiment of the present disclosure.
- FIG. 5 illustrates an example random flip-flop (RFF) circuit with a voltage threshold control input, in accordance with an embodiment of the present disclosure.
- FIG. 6 illustrates another example of random binary stream output, in accordance with an embodiment of the present disclosure
- FIG. 7 is a flow diagram of a method, in accordance with certain exemplary implementations of the disclosed technology.
- the disclosed technology includes methods and systems for the generation of random numbers by controlling quantum microelectronics to produce truly random numbers.
- the system and method described herein may rely on the randomness of photons, a low detector efficiency of a diode, and threshold voltage regulation of an output circuit to generate a random binary stream.
- Certain example devices, systems, and methods presented herein can allow for entropy harvesting and random number generation.
- FIG. 1A illustrates an example system 100A for random number generation, in accordance with an embodiment of the present disclosure.
- the system 100A may utilize a single-photon avalanche diode (“SPAD”) 110 to detect incident photons 102.
- the term “SPAD” defines a class of photodetectors able to detect low-intensity photon radiation (down to the single-photon) and to signal the time of the photon arrival with high temporal resolution (a few tens of picoseconds).
- SPADs are semiconductor devices based on a p-n junction reversed biased at a voltage higher than the breakdown voltage. SPADs behave like an Avalanche photodiode (APD) by exploiting a photon-triggered avalanche current to detect incident radiation.
- Avalanche photodiode Avalanche photodiode
- SPADs are specifically designed to operate with a reverse bias voltage well above the breakdown voltage while APDs typically operate at a bias lesser than the breakdown voltage.
- the electric field in the p-n junction of the SPAD is high enough that a single charge carrier injected in the depletion layer (as a result of an incoming photon) can trigger a self-sustaining avalanche. Once triggered, the resulting “avalanche” current rises swiftly to a steady level.
- the output of the SPAD 110 may be further conditioned/controlled by an output circuit 120 in communication with the SPAD 110.
- the output circuit 120 may output a random binary stream 130, that may be used as a random number seed (or sequence) for encryption.
- the random binary stream 130 can, for example, then be used for communication technology, cryptographic software, hardware, or any combination thereof.
- the output circuit 120 may include an adjustable voltage threshold control input (as will be discussed further below with reference to FIG. 5).
- FIG. IB illustrates another example SPAD-based random number generation system 100B with a quenching circuit 140, in accordance with an embodiment of the present disclosure.
- the quenching circuit may be packaged with the SPAD 110 or the output circuit 120.
- the current continues to flow until the avalanche current is quenched by lowering the bias voltage down to (or below) the breakdown voltage.
- the bias voltage is raised again above breakdown.
- the quenching circuit 140 may be utilized to handle such trigger detection and bias control.
- the quenching circuit 140 may sense the leading edge of the avalanche current that is output from the SPAD 110. In certain exemplary implementations, the quenching circuit 140 may generate a standard output pulse synchronous with the avalanche build-up. In certain implementations, the quenching circuit 140 may quench the avalanche by lowering the bias voltage of the SPAD 110 down to (or below) the breakdown voltage, which may “reset” the SPAD 110 to enable detection of a subsequently arriving photon 102. In accordance with certain exemplary implementations of the disclosed technology, the SPAD 110 may be selectively reset after the photon has triggered the avalanche (or not) to synchronize photon detection (or not) with clock-based and/or adjustable decision thresholds.
- the disclosed technology can exploit the random nature in which each photon received by the SPAD 110 is received at a random time interval.
- the impact of the first series of photons 102 on the SPAD 110 for example, triggers a current avalanche, which may be in the form of exponential growth of charge carriers.
- the first series of photons 102 incident on the SPAD 110 may then be converted into a first series of electrical pulses.
- the first series of electrical pulses can comprise a first random time interval between each pulse of the first series of pulses.
- the output circuit 120 may receive the first series of electrical pulses and may generate a random binary stream 130 based at least in part on the first series of electrical pulses.
- SPADs 110 can be combined in any number of geometries including 2D and 3D arrays (as will be discussed with respect to FIG. 2A below).
- the output circuit 120 can include other inputs and/or outputs.
- the random binary stream 130 generated by the output circuit 120 may be controlled or manipulated by an input threshold control voltage.
- output circuit 120 can include AND gates, OR gates, XOR gates, NOT gates, inverters, Schmidt triggers, NAND gates, NOR gates, XNOR gates, EXOR gates, EXNOR gates, multiplexers, flip-flops, and other logical gates, or combinations thereof.
- FIG. IB further illustrates a device 100B comprising of a SPAD 110, an output circuit 120, and a quenching circuit 140 in electrical communication with the SPAD 110 and the output circuit 120.
- the SPAD 110 may comprise a p-n junction that, when actively detecting photons, operates at a bias voltage that is above the p-n junction breakdown voltage. At such bias voltage, the electric field can be high enough that a single charge carrier injected into the depletion layer (via reception of a photon, for example) can trigger a self-sustaining avalanche.
- the resulting current may rise swiftly to a steady level and may continue to flow until the avalanche can be quenched by the quenching circuit 140 by lowering the bias voltage to the breakdown voltage or below. Thereafter, the bias voltage may be restored by the quenching circuit 140 and the SPAD 110 and associated circuitry may then be used to detect another photon, and the process may repeat.
- the quenching operation may use a suitable quenching circuit 140 that can perform one or more of the following: (a) sense the leading edge of the avalanche current; (b) generate a standard output pulse that is well synchronized to the avalanche rise; (c) quench the avalanche by lowering the bias to the breakdown voltage (or below); and/or (d) restore the SPAD bias voltage to the operating level.
- the SPAD 110 may detect a first series of photons 102 that impact the SPAD 110. The quenching circuit 140 may then convert the first series of photons 102 into the first series of electrical pulses.
- the waiting time between the rising edge of the electrical pulses can be random with an exponential probability distribution function.
- the quenching circuit 140 may also generate a randomized clock pulse input based at least in part on the first series of electrical pulses.
- the quenching circuit 140 may include other inputs, outputs, AND gates, OR gates, XOR gates, NOT gates, NAND gates, NOR gates, XNOR gates, EXOR gates, EXNOR gates, multiplexers, and other logical gates, or combinations thereof.
- the output circuit 120 may receive the randomized clock pulse input and generate a random binary stream 130 based at least in part on the first series of electrical pulses.
- the dead time between quenches of the SPAD 110 or quenching circuit 140 can be varied to ensure unbiased operation.
- another control point to ensure the unbiased operation can include asynchronous operation of the SPAD 110, quenching circuit 140, output circuit 120, state measurements, flip-flops, and logical gates of the quenching circuit 140 and output circuit 120 by using different clocks and combinations of clocks.
- FIG. 1C illustrates a time-diagram 100C of various pulses associated with input pulses for generating an output signal of an example device of FIGs. 1A or IB based on a series of photons 102 received at the SPAD 110.
- This example time-diagram 100C is based on a SPAD, a quenching circuit, and an output circuit (such as output circuit 120 as discussed above with reference FIGs. 1A or IB, or as will be discussed below with reference to FIG. 5).
- the output circuit can include a toggle flip-flop and a data flip-flop.
- a flip-flop is a basic circuit element capable of storing two states, controlled by an input signal.
- a random flip-flop is a circuit that performs an action when a clock pulse input changes state from low to high.
- the output of the random flip-flop can be separately clocked, and bits can be sampled to produce a random binary stream 130 of ones and zeros.
- the output circuit 120 can include flip-flops, inputs, outputs, AND gates, OR gates, XOR gates, NOT gates, NAND gates, NOR gates, XNOR gates, EXOR gates, EXNOR gates, multiplexers, and other logical gates, flip-flops or circuits, or combinations thereof.
- each of the SPAD pulses 112 are characterized by leading-edge and falling edge.
- the toggle flip-flop produces an output Q signal 114 responsive to the SPAD pulses 112.
- the Q signal 114 may be fed into the data flip-flop as an input.
- the toggle flip-flop output Q signal 114 is toggled high and low by the leading edges of the SPAD pulses 112.
- a circuit clock signal 116 may be fed into the data flip-flop clock input, and the data flip-flop may generate a DATA OUT signal 118.
- the DATA OUT signal 118 output from the data flip-flop may be used to generate the random binary stream output 130.
- the DATA OUT signal 118 of the data flip-flop may be separately clocked.
- every rising edge of the DATA OUT signal 118 may result in an output of “1 ” in the random binary stream output 130. Conversely, every falling edge of the DATA OUT signal 118 may result in an output of “0” in the random binary stream output 130. If the state of the DATA OUT signal 118 remains unchanged, then the previous state may be output to the random binary stream output 130. In other words, the DATA OUT signal 118 can be sampled to produce the random binary stream 130 of ones and zeros as depicted in Figure 1C.
- FIG. 2A illustrates a system 200A having an array of SPADs (110A, HOB,... , HOn) with corresponding quenching circuits (140 A, 140B,... , 140n) providing corresponding n SPAD signals (SPAD1, SPAD2,... , SPADn) that may be input to an OR gate 150 to produce a randomized clock pulse input (SPADout) for the output circuit 120.
- each respective SPAD (110A, HOB,... , HOn) of the array may detect their own respective series of photons 102 from a multiple series of photons 102-102’ (as discussed above with respect to FIGS 1A and 2 A).
- the series of corresponding quenching circuits (140A, 140B,... , 140n) may be utilized in conjunction with the corresponding SPADs (110A, HOB,... , 11 On) to detect and convert each series of photons 102, 102’ into their respective series of electrical pulses.
- various circuits and/or gates may be used to combine the signals from the array of SPADs (110A, HOB,... , HOn) to output a single randomized clock pulse input (SPADout) to the output circuit 120’ as discussed above.
- Other logical gates including, but not limited to, AND gates, OR gates, XOR gates, NOT gates, NAND gates, NOR gates, XNOR gates, EXOR gates, EXNOR gates, multiplexers, and other logical gates, or combinations thereof, can be used to combine the signals from each of quenching circuits (140 A, 140B,... , 140n).
- the single randomized clock pulse input can be fed into the output circuit 120’ that can include one or more flip-flops and/or other logical circuit equivalents to generate a random binary stream 130 based at least in part on the randomized clock pulse input (SPADout).
- the single randomized clock pulse input (SPADout) may be fed into a series of flip-flops to generate the random binary stream 130.
- the output circuit 120’ as illustrated in FIG. 2A can include a random flip-flop that may include one or more toggle flip-flops and one or more data flip-flops.
- the output circuit 120’ may further include an analog to digital converter.
- control points may be included in the systems 100A, 100B, and/or 200 A to ensure unbiased operation, for example, by varying or switching on and off light intensity on a SPAD 110 or an array of SPADs (110A, 110B,... , 1 lOn).
- blocks of SPAD sub-arrays may be utilized to provide differential distribution of illumination over the array with multiple sources.
- continuous health checks can be run on the SPAD 110 or an array of SPADs (110A, 110B,... ,110n) to measure the variability of response, dark counts, jitter, correlations, defects, and toggling them on or off. Dark count is the average rate of registered counts without any incident light on a SPAD 110.
- a health check on the jitter timing of a SPAD 110 can help determine the fast temporal response behavior of the SPAD 110.
- the unbiased operation of the random number generator can be verified.
- the array of SPADs 110A, 110B,... , 11 On
- the array of SPADs may be arranged in a grid and continuously monitored for bias using columns, rows, or any combination to identify nonrandom behavior. If an individual SPAD 110 in an array of SPADs (110 A, 110B,...
- the nonrandom behavior of the individual SPAD 110 can be identified by comparing the output of the individual SPAD 110 to neighboring SPADs (110A, 110B,... ,110n), which may be another control point to ensure unbiased operation.
- FIG. 2B illustrates a time-diagram 200B of various pulses associated with generating an output signal of the OR gate 150 based on a series of photons 102 102’ received at the SPADs (110A, 110B,... , 1 lOn).
- each SPAD in the array of SPADs 110A, HOB,... , 11 On
- the series of electrical pulses from each of the corresponding quenching circuits 140A, 140B,...
- logical gates including, but not limited to, AND gates, OR gates, XOR gates, NOT gates, NAND gates, NOR gates, XNOR gates, EXOR gates, EXNOR gates, multiplexers, and other logical gates, or combinations thereof, can be used to combine the multiple-input pulse trains (112A, 112B,... ,112n) to the combine output 112’.
- every leading and falling edge of each SPAD in the array of SPADs 110A, 110B,... ,1 lOn
- FIGs. 3A through 3C illustrate various implementations of setting a threshold voltage VTHR 302 to control the threshold voltage lev el (s) (122, 122 A, 122B) for which the output circuit (such as output circuit 120 shown in FIG. 1A and/or FIG. IB and/or output circuit 120’ shown in FIG. 2A) interprets the corresponding input signal received from the SPAD(s) and/or other combining logic (such as the OR gate 150 shown in FIG. 2A) as a binary 0 or 1 for output.
- the output circuit such as output circuit 120 shown in FIG. 1A and/or FIG. IB and/or output circuit 120’ shown in FIG. 2A
- FIG. 3 A illustrates the voltage threshold VTHR 302 set to approximately 50% of the normalized input voltage F(norm) full range so that input voltage below the set threshold voltage level 122 is interpreted as a 0, while input voltage above the set threshold voltage level 122 is interpreted as a 1.
- FIG. 3B illustrates the voltage threshold VTHR 302 set to approximately 25% of the normalized input voltage F(norm) full range so that input voltage below the set threshold voltage level 122A is interpreted as a 0, while input voltage above the set threshold voltage level 122A is interpreted as a 1.
- FIG. 3C illustrates the voltage threshold VTHR 302 set to approximately 75% of the normalized input voltage F(norm) full range so that input voltage below the set threshold voltage level 122B is interpreted as a 0, while input voltage above the set threshold voltage level 122B is interpreted as a 1.
- the input signal (from the SPADs, etc.) may have an associated slew rate (i.e., rise or fall level that is not instantaneous), so adjusting the voltage threshold VTHR 302 may alter the associated time durations of the output Is and 0s, which can provide a controllable method for further randomizing decision points for when input from one or more SPADs is interpreted as a 0 or 1 for output.
- the VTHR 302 can be controlled based on a randomized input, including but not limited to an output of one or more SPADs.
- FIG. 4A and FIG. 4B further illustrates examples of how the voltage threshold VTHR 302 can affect the random binary stream output 402A 402B based on toggled voltage threshold control input.
- FIG. 4A illustrates the voltage threshold VTHR 302 set to approximately 50% of the normalized input voltage full range so that input voltage 404 below the set voltage threshold VTHR 302 is interpreted (at each rising edge of the clock signal 406) as a 0, while input voltage above the set threshold voltage level 122 is interpreted (at each rising edge of the Circuit Clock signal 406) as a 1.
- FIG. 4A illustrates the voltage threshold VTHR 302 set to approximately 50% of the normalized input voltage full range so that input voltage 404 below the set voltage threshold VTHR 302 is interpreted (at each rising edge of the clock signal 406) as a 0, while input voltage above the set threshold voltage level 122 is interpreted (at each rising edge of the Circuit Clock signal 406) as a 1.
- FIG. 4A illustrates the voltage threshold VTHR 302 set to approximately 50% of the
- FIG. 4B illustrates the voltage threshold VTHR 302 set to approximately 75% of the normalized input voltage full range so that input voltage 404 below the set voltage threshold VTHR 302 is interpreted (at each rising edge of the clock signal 406) as a 0, while input voltage 404 above the set threshold voltage level 122 is interpreted (at each rising edge of the clock signal 406) as a 1.
- a comparison of the random binary stream outputs 402A 402B show a difference in certain bits 408 between the two random binary stream outputs 402A 402B as a function of the voltage threshold VTHR 302.
- the voltage threshold VTHR 302 can be controlled based on a randomized input (including but not limited to an output of one or more SPADs) to further randomize (an already randomized) binary stream output.
- the voltage threshold VTHR 302 may provide a desired additional level of randomization in the random number generator.
- the voltage threshold VTHR 302 may be set to control the ratio of 0s and Is in the randomized binary stream output 402A 402B over a period.
- FIG. 5 illustrates an example circuit 500 (including a SPAD 110) with various circuit components that can be utilized to provide a DATA OUT output 550 (i.e., a randomized binary stream output) base on receiving (and detecting) photons 102 by the SPAD 110. While other circuit components, arrangements, and/or control inputs may be utilized, the circuit 500 illustrates an example embodiment that may be utilized in a practical application.
- the example circuit 500 can include one or more field-effect transistors 502 504 506 510, one or more inverters 512 514, one or more Schmitt triggers 516, one or more NOR gates 518, one or more toggle flip-flops 520, and/or one or more data flip-flops 530.
- the circuit 500 illustrated in FIG. 5 may be considered as a random flip-flop (RFF) circuit with a voltage threshold control input V THRESH 504 (for example, the voltage threshold control input may be similar or equivalent to the voltage threshold VTHR 302 as described above).
- the RFF circuit may also include various quenching control inputs V CAS, V_Q, V RECHARGE, V HOLD, for example, that may be used to control the biasing and quenching of the SPAD 110, as discussed previously.
- the RFF circuit may also include other controls, such as the BIT GEN CLK (which may be similar or equivalent to the circuit clock 406 discussed with respect to FIG. 4A and FIG. 4B).
- a certain exemplary implementation can include a and/or TOGGLE input as an input to the toggle flip-flop 520.
- the Q output of the toggle flip-flop 520 may be used as the data input of the data flip-flop 530.
- the arrangements and interactions among the various components of the circuit 500 may be understood by those having basic skills in the art of electronic circuits and logic design.
- phtonsl02 may be detected by the SPAD 110, which may, in turn, produce a signal that passes through a series of circuits and gates, (which may form a quenching circuit) to produce a randomized clock pulse input 522 into the toggle flip-flop 520.
- the toggle flip-flop 520 is a sequential logic circuit that toggles its output according to the input state. In this example, the output states of the toggle flip-flop 520 may be toggled high or low by the leading edges of the randomized clock pulse 522 from the SPAD 110 and/or associated quenching circuitry.
- the toggle flip-flop 520 may feed its output (Q) to the data input (D) of the data flip-flop 530.
- the data flip-flop 530 can then capture the input value at the specified edge of a clock signal CLK fed to the data flip-flop 520.
- a threshold voltage control input V THRESH 540 can adjust the data flip-flop 530 to address the rise and fall times of the output from the toggle flip-flop 520.
- a regular oscillating clock signal may be used as the clock input CLK of the data flip-flop 530.
- the data flip-flop 530 can allow for the synchronization of the output of the toggle flip-flop 520 to a clock.
- the data output 550 of the data flip-flop 530 can be separately clocked and the corresponding output bits can be sampled to produce the random binary stream of ones and zeros (such as discussed above with respect to the random binary stream 130 in FIGs.
- the reverse bias breakdown voltage of the SPAD 110 can be varied to modify and tune the randomized clock pulse input 522 into the toggle flipflop 520.
- the ratio of Is to 0s output in the random binary stream output 550 may be adjusted over a range of 0.01 to 100.
- an additional averaging circuit may be utilized to provide feedback to control the threshold voltage.
- FIG. 6 is a timing diagram 600 illustrating the generation of a random binary stream output 602.
- Diagram 600 illustrates SPAD pulses 604 (which can correspond to the input 522 of the toggle flip-flop 520, as discussed in FIG. 5), a Q output 606 (which can correspond to the D input 523 of the data flip-flop 530, as discussed in FIG.
- Diagram 600 further illustrates that a delay t 612 that can be present (or set) for example, so that the timing of the evaluation of the SPAD pulses 604 happens after a predetermined time after the rising edge of the clock 608.
- the Q output 606 may toggle on each rising edge of the SPAD pulses 604.
- the DATA OUT signal 610 may be generated based on a combination of the Q output 606 logic level, the clock 608 logic level, and the delay t 612.
- the delay t 612 may be utilized to further alter or randomize the DATA OUT 610 in comparison to the Q output 606.
- FIG. 7 is a flow diagram of a method 700, in accordance with certain exemplary implementations of the disclosed technology.
- the method 700 includes receiving, at a first single-photon avalanche diode (SPAD), a first series of photons.
- the method 700 includes converting, by the first SPAD, the first series of photons into a first series of electrical pulses comprising a first random time interval between each pulse of the first series of electrical pulses.
- the method 700 includes outputting, by an output circuit in communication with the first SPAD, a random binary stream based at least in part on the first series of electrical pulses.
- Certain exemplary implementations of the disclosed technology can include receiving, at a second single-photon avalanche diode (SPAD), a second series of photons.
- Some implementations can include converting, by the second SPAD, the second series of photons into a second series of electrical pulses comprising a second random time interval between each pulse of the second series of electrical pulses, and outputting, by the output circuit, a random binary stream based at least in part on the first series of electrical pulses and the second series of electrical pulses.
- SPAD single-photon avalanche diode
- Certain exemplary implementations of the disclosed technology can include adjusting a bias voltage of the SPAD using a quenching circuit responsive to photon detection by the SPAD.
- the quenching circuit may be configured to convert the first series of photons into the first series of electrical pulses.
- Certain exemplary implementations of the disclosed technology can include generating, by the quenching circuit, a randomized clock pulse based at least in part on the first series of electrical pulses.
- the output circuit can include one or more of a toggle flip-flop (TFF), a data flip-flop (DFF), a random flip-flop (RFF), an analog to digital converter (ADC), or combinations thereof.
- the RFF can include a TFF and/or a DFF.
- an input to the TFF can be a randomized clock pulse input generated based at least in part on the first series of electrical pulses.
- Certain exemplary implementations of the disclosed technology can include toggling an output of the TFF based on a leading edge of the randomized clock pulse input. Certain exemplary implementations of the disclosed technology can include toggling an output of the TFF based on a delay after the leading edge of the randomized clock pulse input. In some implementations, the output of the TFF may be provided as a data input to the DFF.
- a regularly oscillating clock signal may be provided to a clock input of the DFF.
- the DFF can further include a voltage threshold control input.
- Certain exemplary implementations of the disclosed technology can include adjusting a voltage threshold VTHR to control the input of the output circuit to cause the output circuit to output the random binary stream such that the random binary stream outputs a controllable ratio of l’s and 0’s.
- the VTHR may be controlled so that the average number of 0’s the is output in the random binary stream is approximately equal to an average number of l’s.
- Certain exemplary implementations of the disclosed technology can include adjusting a voltage threshold VTHR to control the input of the output circuit to cause the output circuit to output the random binary stream such that the random binary stream outputs an average number of 0’s that is unequal to an average number of l’s.
- Certain exemplary implementations of the disclosed technology can include emitting the first series of photons from a source in thermal equilibrium for detection by one or more SPADS.
- the source can include one or more of a light-emitting diode (LED), a pulsed laser, and a combination thereof.
- the source can include ambient light.
- Certain exemplary implementations of the disclosed technology can include digitizing, with an analog to digital converter (ADC), one or more of the first series of electrical pulses, and the random binary stream. Some implementations can include varying the dead time of receiving, at the SPAD, a first series of photons, wherein the first series of photons comprises a first random time interval between the arrival of each photon in the first series of photons.
- ADC analog to digital converter
- Certain exemplary implementations of the disclosed technology can include receiving, at a second single-photon avalanche diode (SPAD), a second series of photons. Certain exemplary implementations of the disclosed technology can include converting, by the second SPAD, the second series of photons into a second series of electrical pulses comprising a second random time interval between each pulse of the second series of electrical pulses. Certain exemplary implementations of the disclosed technology can include outputting, by the output circuit, a random binary stream based at least in part on the first series of electrical pulses and the second series of electrical pulses. According to an exemplary implementation of the disclosed technology, the output circuit can include one or more of a NOT gate, an AND gate, a NAND gate, an OR gate, a NOR gate, an XOR gate, an XNOR gate, and a combinations thereof.
- a NOT gate an AND gate, a NAND gate, an OR gate, a NOR gate, an XOR gate, an XNOR gate, and a combinations thereof.
- the disclosed technology includes a quantum random number generator that can include one or more single-photon avalanche diodes (SPADs), each of the SPADS configured to receive a corresponding series of photons, one or more quenching circuits in communication with each corresponding one or more SPADs, the one or more quenching circuits may be configured to convert the corresponding series of photons into the corresponding series of electrical pulses, each corresponding series of electrical pulses can include corresponding random time intervals between each pulse of the corresponding series of electrical pulses.
- the system can include an output circuit in communication with one or more quenching circuits. The output circuit may be configured to output a random binary stream based at least in part on the corresponding series of electrical pulses.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Optical Communication System (AREA)
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22940462.9A EP4515375A1 (en) | 2022-04-29 | 2022-04-29 | Generation of quantum random numbers from single-photon avalanche diodes |
JP2024563549A JP2025514295A (en) | 2022-04-29 | 2022-04-29 | Generation of quantum random numbers from single-photon avalanche diodes |
PCT/US2022/026992 WO2023211466A1 (en) | 2022-04-29 | 2022-04-29 | Generation of quantum random numbers from single-photon avalanche diodes |
KR1020247038794A KR20250002611A (en) | 2022-04-29 | 2022-04-29 | Generation of quantum random numbers from single-photon avalanche diodes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2022/026992 WO2023211466A1 (en) | 2022-04-29 | 2022-04-29 | Generation of quantum random numbers from single-photon avalanche diodes |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023211466A1 true WO2023211466A1 (en) | 2023-11-02 |
Family
ID=88519484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2022/026992 WO2023211466A1 (en) | 2022-04-29 | 2022-04-29 | Generation of quantum random numbers from single-photon avalanche diodes |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4515375A1 (en) |
JP (1) | JP2025514295A (en) |
KR (1) | KR20250002611A (en) |
WO (1) | WO2023211466A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118466902A (en) * | 2024-07-10 | 2024-08-09 | 北京中科国光量子科技有限公司 | An ultra-micro ripple-resistant quantum random number chip |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631390B1 (en) * | 2000-03-06 | 2003-10-07 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating random numbers using flip-flop meta-stability |
US20040205095A1 (en) * | 2003-04-14 | 2004-10-14 | M-Systems Flash Disk Pioneers Ltd. | Random number slip and swap generators |
US20150261502A1 (en) * | 2014-03-11 | 2015-09-17 | Sony Corporation | Optical random number generator and method for generating a random number |
US20190205099A1 (en) * | 2016-08-17 | 2019-07-04 | Robert Bosch Gmbh | Quantum random number generator and method for producing a random number by means of a quantum random number generator |
WO2019147763A2 (en) * | 2018-01-26 | 2019-08-01 | Excelitas Canada, Inc. | Maintaining stable optical output of solid state illumination system |
-
2022
- 2022-04-29 KR KR1020247038794A patent/KR20250002611A/en active Pending
- 2022-04-29 EP EP22940462.9A patent/EP4515375A1/en active Pending
- 2022-04-29 JP JP2024563549A patent/JP2025514295A/en active Pending
- 2022-04-29 WO PCT/US2022/026992 patent/WO2023211466A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6631390B1 (en) * | 2000-03-06 | 2003-10-07 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating random numbers using flip-flop meta-stability |
US20040205095A1 (en) * | 2003-04-14 | 2004-10-14 | M-Systems Flash Disk Pioneers Ltd. | Random number slip and swap generators |
US20150261502A1 (en) * | 2014-03-11 | 2015-09-17 | Sony Corporation | Optical random number generator and method for generating a random number |
US20190205099A1 (en) * | 2016-08-17 | 2019-07-04 | Robert Bosch Gmbh | Quantum random number generator and method for producing a random number by means of a quantum random number generator |
WO2019147763A2 (en) * | 2018-01-26 | 2019-08-01 | Excelitas Canada, Inc. | Maintaining stable optical output of solid state illumination system |
Non-Patent Citations (2)
Title |
---|
EJDEHAKOSH SOGHRA; ANSARIAN MISAGH; KARAMI MOHAMMAD AZIM: "A new optical random number generator circuit design using single-photon avalanche diodes", OPTIK., WISSENSCHAFTLICHE VERLAG GMBH, DE, vol. 224, 30 September 2020 (2020-09-30), DE , XP086355557, ISSN: 0030-4026, DOI: 10.1016/j.ijleo.2020.165698 * |
KHANMOHAMMADI ET AL.: "A Monolithic Silicon Quantum Random Number Generator Based on Measurement of Photon Detection Time", IEEE PHOTONIC JOURNAL, vol. 7, no. 5, October 2015 (2015-10-01), XP011586189, Retrieved from the Internet <URL:https://ieeexplore.ieee.org/document/7270265> DOI: 10.1109/JPHOT.2015.2479411 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118466902A (en) * | 2024-07-10 | 2024-08-09 | 北京中科国光量子科技有限公司 | An ultra-micro ripple-resistant quantum random number chip |
Also Published As
Publication number | Publication date |
---|---|
KR20250002611A (en) | 2025-01-07 |
JP2025514295A (en) | 2025-05-02 |
EP4515375A1 (en) | 2025-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tisa et al. | High-speed quantum random number generation using CMOS photon counting detectors | |
CN109804348B (en) | Improved random number generator, in particular improved true random number generator | |
Huang et al. | Testing random-detector-efficiency countermeasure in a commercial system reveals a breakable unrealistic assumption | |
Khanmohammadi et al. | A monolithic silicon quantum random number generator based on measurement of photon detection time | |
Xu et al. | A $16\times 16$ Pixel Post-Processing Free Quantum Random Number Generator Based on SPADs | |
US9430192B2 (en) | Method and system for generating random numbers | |
Stucki et al. | Towards a high-speed quantum random number generator | |
WO2023211466A1 (en) | Generation of quantum random numbers from single-photon avalanche diodes | |
Park et al. | QEC: A quantum entropy chip and its applications | |
CN113039519B (en) | Apparatus and method for generating random bit sequences | |
US20230353130A1 (en) | Generation of quantum random numbers from single-photon avalanche diodes | |
US10996927B2 (en) | Random number generator and method of fabricating the same | |
Tawfeeq | A random number generator based on single-photon avalanche photodiode dark counts | |
US7193481B2 (en) | Apparatus for providing a jittered clock signal and apparatus for providing a random bit | |
Liu et al. | Time-controlled SPAD receivers in optical wireless communication system | |
Ejdehakosh et al. | A new optical random number generator circuit design using single-photon avalanche diodes | |
Ogasahara et al. | Implementation of pseudo linear feedback shift register physical unclonable function on silicon | |
Sivaraman et al. | Design and analysis of ring oscillator influenced beat frequency detection for true random number generation on fpga | |
Gao et al. | Reliable and anti-cloning PUFs based on configurable ring oscillators | |
Stipčević et al. | Scalable quantum random number generator for cryptography based on the random flip-flop approach | |
Siswanto et al. | Parallel Quantum Random Number Generator (p-QRNG) Design for Enhancing Data Rate | |
Wei et al. | Quantum random number generator based on the photon number decision of weak laser pulses | |
Incoronato et al. | Linear SPAD array single-and multiple-photon coincidence-based Quantum Random Number Generator | |
Kohlbrenner | The design and analysis of a true random number generator in a field programmable gate array | |
Sajal et al. | Bias Variation Compensation in Perimeter-Gated SPAD TRNGs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22940462 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2024563549 Country of ref document: JP |
|
ENP | Entry into the national phase |
Ref document number: 20247038794 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022940462 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2022940462 Country of ref document: EP Effective date: 20241129 |