Method and apparatus for highly effective on-chip quantum random number generator
11567734 · 2023-01-31
Assignee
Inventors
Cpc classification
International classification
Abstract
A method for correcting spatially variable electron flux in a true random number generator (TRNG) is presented. The TRNG comprises a radioactive source and an array of detectors, and the method comprises: (a) segmenting the array of detectors into a plurality of groups; (b) for each group: (1) detecting via multiple detectors an electron signal from the decay of the radioactive source; (2) determining a number of detections based on the detection of step (b)(1); (3) determining a group median count based on the number of detections; (4) comparing the group median count to either (A) a detection count from a single detector within the group, or (B) a detection count from multiple detectors within the group; (5) based on the comparison, assigning a value to a string of values; and (c) determining a true random number based on the string of values. A TRNG implementing the method is also disclosed.
Claims
1. A method for correcting spatially variable electron flux in a true random number generator (TRNG), wherein the TRNG comprises a radioactive source and an array of detectors, the method comprises: a. segmenting the array of detectors into a plurality of groups, wherein each group in the plurality comprises at least four detectors; b. for each group in the plurality: 1. detecting via multiple detectors within the group an electron signal from decay of the radioactive source; 2. determining a number of detections based on the detection of step (b)(1); 3. determining a group median count based on the number of detections; 4. comparing the group median count to either (A) a detection count from a single detector within the group, or (B) a detection count from multiple detectors within the group; 5. based on the comparison, assigning a value to a string of values; c. determining a true random number based on the string of values.
2. The method of claim 1, wherein the array of detectors comprises a frame rate, and step (b)(1) is carried out for an exposure period that is longer than a single frame period.
3. The method of claim 2, wherein step (b)(4) is carried out for a read period that is shorter than the exposure period.
4. The method of claim 3, wherein the exposure period is at least 10 times longer than the read period.
5. The method of claim 1, the method further comprising: for each group in the plurality: (b)(6) performing steps (b)(4) and (b)(5) for a recalibration period, then returning to step (b)(1) upon expiration of the recalibration period and resetting the recalibration period.
6. The method of claim 1, wherein the array of detectors comprises an array of 512×512 detectors.
7. The method of claim 1, wherein the array of detectors comprises a N×N array, where N is an even number.
8. The method of claim 1, wherein the array of detectors is segmented into more than 10 groups.
9. The method of claim 1, wherein the array of detectors is segmented into more than 100 groups.
10. The method of claim 1, wherein the segmenting of step (a) is based on the symmetry of the array of detectors to form groups that are exposed to the same average electron flux.
11. A true random number generator (TRNG) comprising: a radioactive source; an electronic sensor comprised of an array of detectors exposed to the radioactive source; a processor connected to the array of detectors, and constructed to generate a true random number by performing the following steps: a. segmenting the array of detectors into a plurality of groups, wherein each group in the plurality comprises at least four detectors; b. for each group in the plurality: 1. Detecting via multiple detectors within the group an electron signal from the decay of the radioactive source; 2. Determining a number of detections based on the detection of step (b)(1); 3. Determining a group median count based on the number of detections; 4. Comparing the group median count to either (A) a detection count from a single detector within the group, or (B) a detection count from multiple detectors within the group; 5. Based on the comparison, assigning a value to a string of values; c. determining a true random number based on the string of values.
12. The TRNG of claim 11, wherein the array of detectors comprises an array of 512×512 detectors.
13. The TRNG of claim 11, wherein the array of detectors is segmented into more than 10 groups.
14. The TRNG of claim 11, wherein the array of detectors is segmented into more than 100 groups.
15. The TRNG of claim 11, wherein the array of detectors comprises a N×N array, where N is an even number.
16. The TRNG of claim 11, wherein the array of detectors is comprised of N column×M row of detectors, and wherein each column has a pair of detectors that belong to the same group.
17. The TRNG of claim 16, wherein each row has a pair of detectors that belong to the same group.
18. The TRNG of claim 11, further comprising an amplifier constructed to amplify a signal generated by the sensor and a filter constructed to filter the signal, wherein the processor is connected to the array of detectors through the amplifier and the filter.
19. The TRNG of claim 11, wherein the array of detectors comprises a frame rate, and step (b)(1) is carried out for an exposure period that is longer than a single frame period.
20. The TRNG of claim 19, wherein step (b)(4) is carried out for a read period that is shorter than the exposure period.
21. The TRNG of claim 20, wherein the exposure period is at least 10 times longer than the read period.
22. The TRNG of claim 11, the processor further performing steps (b)(4) and (b)(5) for a recalibration period, then returning to step (b)(1) upon expiration of the recalibration period and resetting the recalibration period.
23. The TRNG of claim 11, wherein the segmenting of step (a) is based on the symmetry of the array of detectors to form groups that are exposed to the same average electron flux generated by the radioactive source.
24. The TRNG of claim 11, wherein the electronic sensor and the processor are formed on an integrated circuit.
25. A personal electronic device comprising: the TRNG of claim 11; and a cryptographical client adapted to access the true random number.
26. The personal electronic device of claim 25, wherein the true random number is used to encrypt a communication channel, to render computer simulations, or to render computer gaming.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1) The invention can be better understood with reference to the following figures. The components within the figures are not necessarily to scale, emphasis instead being placed on clearly illustrating example aspects of the invention. In the figures, like reference numerals designate corresponding parts throughout the different views and/or embodiments. Furthermore, various features of different disclosed embodiments can be combined to form additional embodiments, which are part of this disclosure. It will be understood that certain components and details may not appear in the figures to assist in more clearly describing the invention.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS
(12) Reference is made herein to some specific examples of the present invention, including any best modes contemplated by the inventor for carrying out the invention. Examples of these specific embodiments are illustrated in the accompanying figures. While the invention is described in conjunction with these specific embodiments, it will be understood that it is not intended to limit the invention to the described or illustrated embodiments. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
(13) In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. Particular example embodiments of the present invention may be implemented without some or all of these specific details. In other instances, process operations well known to persons of skill in the art have not been described in detail in order not to obscure unnecessarily the present invention. Various techniques and mechanisms of the present invention will sometimes be described in a singular form for clarity. However, it should be noted that some embodiments include multiple iterations of a technique or multiple mechanisms unless noted otherwise. Similarly, various steps of the methods shown and described herein are not necessarily performed in the order indicated, or performed at all in certain embodiments. Accordingly, some implementations of the methods discussed herein may include more or fewer steps than those shown or described. Further, the techniques and mechanisms of the present invention will sometimes describe a connection, relationship, or communication between two or more entities. It should be noted that a connection or relationship between entities does not necessarily mean a direct, unimpeded connection, as a variety of other entities or processes may reside or occur between any two entities. Consequently, an indicated connection does not necessarily mean a direct, unimpeded connection unless otherwise noted.
(14) The following list of example features corresponds to the attached figures and is provided for ease of reference, where like reference numerals designate corresponding features throughout the specification and figures: Cell 5 Silicon Substrate 8 Detector 10 Detector Group A 10-A Detector Group B 10-B Detector Group C 10-C Detector Group D 10-D Detector Group E 10-E Detector Group F 10-F Detector Group G 10-G Detector Group H 10-H Detector Group I 10-I Detector Group J 10-J Amplifier 15 Filter 18 Memory 20 Word Line 25 Reset Line 30 Bit Line 35 Output Buffer/Memory 40 Sensor Array Matrix 45 Chip Cover/Enclosure 50 Radioactive Source 55 Cavity 60 Through Silicon Vias/Connections 65 Processing Circuitry 70 Control Block 75 TRNG Processor 80 First Method for Correcting Variable Flux 100 Steps in First Method for Correcting Variable Flux 105-155 Second Method for Correcting Variable Flux 200 Steps in Second Method for Correcting Variable Flux 205-250
(15) This is related to our previous published U.S. patents and applications listed above, in which we described the general idea of using pure beta minus (electron emission) nuclear decay as a medium or source of entropy for generating true random numbers by detecting emitted electrons on-chip through an electronic sensor or array of sensors. In this application, we would like to present the approach that allows for a much faster or more efficient (larger number of bits per time unit) generation of random numbers on-chip from the very same source of entropy i.e., .sup.63Ni.
(16) Searching the BIPM Table of Radionuclides (2008), we find three abundant nuclides that produce pure beta-minus decay (only emission of an electron, and to conserve momentum, some practically undetectable neutrino) in the range of energies below 512 keV (which is the energy of electrons that produces highly penetrable gamma rays creating potential radiation hazard) and having reasonable half-life times of more than ten years. There are some other exotic nuclides listed in the abovementioned tables and fulfilling our requirements, but they are mostly by-products of decays of other exotic nuclides, hence not practical for industrial applications. Those three suitable nuclides, easy to obtain and to process, are: a. .sup.3H tritium with a maximum energy of emitted electrons being 18 keV (mean energy about 5.7 keV) and a half-life of about 12.4 years; b. .sup.63Ni nickel with a maximum energy of emitted electrons being about 67 keV (mean energy about 17 keV) and a half-life of about 98.7 years; and C. .sup.14C carbon with a maximum energy of emitted electrons being about 156 keV (mean energy about 45 keV) and a half-life of about 5,700 years.
(17) When dealing with these low-energy radiative nuclei (except in the case of gaseous tritium that is very difficult to handle due to its high permeation through solids and thus is better processed in the form of gel or solid compound, as discussed in our U.S. Pat. No. 11,048,478), one has to note that because of the limited range of emitted electrons in solids (self-absorption of electrons), only a very thin layer of radioactive material is externally active i.e., electrons emitted from the material are created only in a very thin layer. For example, .sup.63Ni has a maximum surface radioactivity of about 20 mCi/cm.sup.2 independent from the increasing thickness of the material, cf. Belghachi et al. (2020)—only about 15 microns of such a material is relevant for external radioactivity. We note that because 1 Ci equals about 3.7.10.sup.10 decays/sec, the limit of 20 mCi/cm.sup.2 corresponds to about 7.4.10.sup.8 decays/(cm.sup.2 sec) or slightly less than 10.sup.9 decays/(cm.sup.2 sec). This suggests that a potential on-chip random number generator based on .sup.63Ni can produce up to 1 billion bits per second from 1 cm.sup.2 of the detector area (with radiation source having roughly same area), with more area of the chip taken by other electronics. The low energy of tritium beta decay makes the thickness of the active layer much thinner than for other pure beta decay radionuclides considered here and thus gives a smaller maximum number of bits generated per area. On the other hand, the half-life of a given nuclide limits the total number of electrons emitted per time unit. For example, with 10 billion or 10.sup.10 atoms of .sup.63Ni, only half will decay during 98.7 years or about 2 per second. For .sup.14C radionuclide with a very long half-life, this severely limits the total possible radioactivity per time unit: one needs about a trillion or 10.sup.12 atoms of .sup.14C to get 2 decays per second, or 100× more carbon 14 nuclei are needed for the same radioactivity as for Nickel-63. In other words, about 12× larger area of radioactive material will be required to get the same effective number of decays per second because the range of 45 keV electrons (average energy) in carbon is only about 8× larger than of 17 keV electrons (average energy) in Nickel-63, cf. Berger and Seltzer (1982) (the effective layer can be 8× thicker). Hence .sup.63Ni seems to be the sweet spot of efficiency per unit surface area of radioactive material as a source of entropy for on-chip random number generators. However, its maximum radioactivity still limits the number of bits that can be generated on the chip because one cannot use too-big detectors due to the so-called detector reaction dead time. The shortest time between pulses that can be detected depends on the low capacitance of the detector—this capacitance increases proportionally to the area of a detector. In our U.S. Pat. No. 11,036,473, we suggested using an array of small detectors that can be applied to overcome the abovementioned limitation. Here we describe problems associated with such an approach and methods to solve these problems.
(18) The main problem of all random number generators based on natural phenomena like the emission of photons or electrons (known as pure quantum processes) is the stability of the entropy source. In the case of photon-based devices, the source of photons is highly dependent on temperature, supplied voltage, and long-term stability of the light emitter (diode or laser) among other factors. For beta decays, resulting from weak interactions inside the nuclei, there are no practical influence of external fields (like gravitational or electromagnetic) on the timing or direction of decays. Only at very low temperatures close to absolute zero and in very high magnetic fields do these decays show anisotropy or the so-called parity violation, cf. Nobel Prize 1957. The only effect on the stability of the radionuclide entropy source at normal conditions is its own half-life that diminishes the number of decays over time. As mentioned above, for .sup.63Ni the half-life is about 98.7 years. According to an exponential equation that governs the number of decays in time N=N.sub.0−e.sup.−λt (N is the number of atoms left from the initial number N.sub.0 after time t with k=ln(2)/t.sub.1/2, where t.sub.1/2 is the half-life), e.g., after 2 years there will be still 98.6% of Nickel-63 radioactive atoms left or in other words, initially, Nickel-63 activity will only diminish by less than 0.7% per year. That can be easily corrected by the process of self-calibration mentioned in our U.S. Pat. No. 11,036,473 (changing the read-out time).
(19) Let us make simple estimates for the number of small detectors required to generate 1 billion or 10.sup.9 bits per second with a .sup.63Ni entropy source. Assuming an individual detector radius of 11 microns and entropy source with an activity of 15 mCi/cm.sup.2, we get about 527 counts per second per detector area. 1,024 detectors that are read 1,000 times per second will give us, as per our U.S. Pat. No. 11,036,473, the number of 1 million bits per second. However, diode detectors (such as PIN, SPAD, or APD diode), unlike pixels of CCD cameras, cannot collect charge and hence require additional simple memory circuits and readout lines to retain counts.
(20) A simple cell 5 required to register any electron hits of the detector is presented in
(21)
(22)
(23) A true random number is optimally generated using the entropy of nuclear decays when the radiation source generates the same average flux of electrons on each detector, with fluctuations of the flux being the source of the entropy. In other words, all the detectors in the array should be exposed to the same average flux of electrons. If some areas are constantly hotter than others, those areas will report a detection more frequently, which will result in the generation of numbers that are not random. To arrive at a uniform flux, the source of radioactive material should be infinite; otherwise, detectors in the middle of an array will receive much larger doses of electrons than those on the edge of an array. Infinite sources are not possible, so having a large radiation area of a source as compared to the detector array area can partially mitigate the issue of non-uniform flux, but will not eliminate it.
(24) Shown in
(25) Expanding the array of detectors to a 4×4 array as shown in
(26) Expanding the array of detectors to a 6×6 array as shown in
(27) Again, expanding the array of detectors to an 8×8 array, as shown in
(28)
(29) More generally, the array may be an N×M array. The region of interest (ROI) of the array is preferably square, and the radiation source is also square and centered over the ROI. This is illustrated in
(30) If one measures a median count of detections per given group during some long period—e.g., 1 minute (assuming 100 fps, this gives a reading of 6,000 frames)—then in a shorter period, one can compare counts in each detector with that median: if it is smaller, then we assign zero for that detector; if larger, then it is assigned one. This method 100 is shown in
(31) The method may then begin to compare N.sub.median to the actual number of detections for each detector in the given group (N.sub.tread), as shown in steps 125 through 135. The exposure period (t.sub.exp) is preferably longer than the read period (t.sub.read). It may be at least 10 times longer. Turning again to
(32)
(33) The frame average (N.sub.median-2) is now compared to the sum of all detections (N.sub.Frame) in the group for each frame in steps 220-240. If N.sub.median-2 is greater than N.sub.Frame, then the system may record in a string of values a “1” for this frame for this group (step 235); otherwise, it records a “0” (step 240), or vice versa. The method repeats steps 220-240 for each frame in a given group and runs method 200 for each group in the array matrix. From the string of values, a true random number may be derived. Like method 100, method 200 extracts entropy from the random variations of the flux of electrons detected by various detectors, similar to the temporal extraction for a single detector based on the times between pulses.
(34) Methods 100 and 200 can be more generally described as (a) segmenting the array of detectors into a plurality of groups; (b) for each group: (1) detecting via multiple detectors an electron signal from the decay of the radioactive source; (2) determining a number of detections based on the detection of step (b)(1); (3) determining a group median count based on the number of detections; (4) comparing the group median count to either (A) a detection count from a single detector within the group, or (B) a detection count from multiple detectors within the group; (5) based on the comparison, assigning a value to a string of values; and (c) determining a true random number based on the string of values. The segmenting of step (a) may be based on the symmetry of the array to form groups that are exposed to the same average electron flux, as described above with reference to
(35) A TRNG (shown in
(36) The actual number of bits generated by the system will be lower due to the von Neumann randomization procedure (J. von Neumann 1951 Res. Nat. Bur. Stand. Appl. Math. Series 3, 36-38, Various techniques used in connection with random digits) that is necessary to remove possible bias resulting from the dead time of the system counting events and other non-random processes involved. The modern version of this normalization uses three bits instead of two, cf. e.g., S̆korić (B. S̆korić 2015 Lecture notes 2IMS10, Technical University Eindhoven, Holland, Physical aspects of digital security), thus increasing the efficiency of the process.
(37) Of course, instead of counting electrons, which can be complicated (typically SPAD matrix is covered with about 8 μm of a protective material that will stop about ½ of all electrons with lower energies), one can add a scintillator that generates a flush of photons (about 1,000 per each electron) and these can be detected more easily because the matrix used would probably be designed specifically for counting photons.
(38) Any of the suitable technologies, materials, and designs set forth and incorporated herein may be used to implement various example aspects of the invention, as would be apparent to one of skill in the art.
(39) Although exemplary embodiments and applications of the invention have been described herein, including as described above and shown in the included example Figures, there is no intention that the invention be limited to these exemplary embodiments and applications or to the manner in which the exemplary embodiments and applications operate or are described herein. Indeed, many variations and modifications to the exemplary embodiments are possible, as would be apparent to a person of ordinary skill in the art. The invention may include any device, structure, method, or functionality, as long as the resulting device, system, or method falls within the scope of one of the claims that is allowed by the patent office based on this or any related patent application.