A true random number generator and method of generating
By using a series memristor and resistor structure, true random numbers are generated by utilizing the voltage uncertainty of the memristor. This solves the problem of traditional random number generators' dependence on precise reference voltage and achieves true random number generation with low power consumption and low overhead.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NANJING UNIV OF POSTS & TELECOMM
- Filing Date
- 2022-05-24
- Publication Date
- 2026-05-01
AI Technical Summary
Traditional memristor-based random number generators in integrated circuits rely on a precise reference voltage, resulting in high circuit overhead, and the reference voltage is easily affected by process and temperature.
By employing a series structure of memristors and resistors, random numbers are generated using the uncertainty of the memristors under different voltages. True random numbers are then generated through a voltage comparator and a D flip-flop, thus avoiding dependence on a high-precision reference voltage.
It achieves true random number generation without the need for a precise reference voltage, saving circuit overhead, and utilizes the switching mechanism of memristors to generate efficient and low-power true random numbers.
Smart Images

Figure CN114816336B_ABST
Abstract
Description
Technical Field
[0001] This invention specifically relates to a true random number generator and its generation method, belonging to the field of integrated circuit technology. Background Technology
[0002] Physically unclonable functions (PUFs) are a hardware security technique commonly used in cryptography, characterized by uniqueness, randomness, and unclonability. True random number generators (TRNGs) are an important component of PUFs. Unlike pseudo random number generators (PRNGs), TRNGs utilize uncontrollable factors such as jitter as the random source for generating random numbers, resulting in truly random numbers.
[0003] Memristors possess advantages such as simple structure, easy integration, fast erase / write speed, low power consumption, large on / off ratio, and compatibility with complementary metal-oxide-semiconductor (CMOS) processes. They have been applied in fields such as non-volatile storage and neuromorphic devices. Their working mechanism primarily relies on the migration and aggregation of ions and oxygen vacancies under the influence of an electric field, forming conductive filaments. This randomness allows them to be used as a random source in constructing true random number generators.
[0004] Traditional memristor-based random number generators in integrated circuits mostly use two memristor devices connected in parallel, applying a stimulus and comparing their resistance values. However, this method relies on the accuracy of the reference voltage. If the reference voltage is not accurate enough, it will affect the probability of generating random binary numbers. The reference voltage can vary due to factors such as integrated circuit manufacturing process, voltage, and temperature. At the same time, using a high-precision reference voltage generated by a bandgap reference circuit would consume a lot of circuit overhead. Summary of the Invention
[0005] The purpose of this invention is to overcome the shortcomings of the prior art and provide a true random number generator and generation method that can generate random binary numbers of arbitrary length, and the process does not require a precise reference voltage, thus saving circuit overhead.
[0006] To achieve the above objectives, the present invention is implemented using the following technical solution:
[0007] In a first aspect, the present invention provides a true random number generator, comprising a memristor and a resistor in a series structure, wherein the memristor in the series structure is connected to a voltage signal source; the connection terminals of the resistor and the memristor are sequentially connected to the "+" terminal of a voltage comparator and a D flip-flop, and the "-" terminal of the voltage comparator is connected to a reference voltage.
[0008] The voltage signal source and the D flip-flop receive the clock signal.
[0009] Furthermore, the non-series end of the resistor is grounded.
[0010] Secondly, the present invention also provides a method for generating a true random number generator, which uses the aforementioned true random number generator and specifically includes the following steps:
[0011] When the clock signal is high, the voltage signal source applies a preset voltage to the memristor;
[0012] The voltage comparator receives the connection signal between the resistor and the memristor and outputs a logic value of "0" or "1"; the D flip-flop receives the input signal from the voltage comparator and outputs the same logic value.
[0013] When the clock signal is low, the voltage source applies a negative voltage to the memristor, resetting the memristor to a high-impedance state. At this time, the input of the D flip-flop is locked and the output remains unchanged, completing one clock cycle. The resistance change of the memristor when the clock signal is low will not affect the output of the D flip-flop.
[0014] In conjunction with the second aspect, furthermore, after outputting a preset voltage, the memristor exhibits the same probability of being in a high-resistance state and a low-resistance state. By using the uncertainty of the memristor's on-state under a certain voltage as a random source, the difference in voltage division across the resistor is detected to generate true random numbers.
[0015] Furthermore, the preset voltage is the median turn-on voltage Vm of the memristor.
[0016] Furthermore, if the memristor is in a high-resistance state, the voltage divider voltage is less than the reference voltage, and the voltage comparator outputs a logic "0" level; if the memristor is in a low-resistance state, the voltage divider voltage is greater than the reference voltage, and the voltage comparator outputs a logic "1" level.
[0017] Compared with the prior art, the beneficial effects achieved by the present invention include:
[0018] The memristor provided by this invention is based on the switching mechanism of conductive filament establishment and breakage, and has the advantages of simple structure, easy integration, fast erase and write speed, low power consumption, and compatibility with CMOS process. The true random number generator based on memristor is suitable for integrated circuits.
[0019] By using the uncertainty of the memristor's on-state under a certain voltage as a random source, the difference in voltage division across the resistor is detected, thereby generating true random numbers;
[0020] The reference voltage of the voltage comparator has a wide range of selectable values, and the fluctuation of the reference voltage will not affect the output of the comparator. It does not require a high-precision reference voltage, thus saving circuit overhead. Attached Figure Description
[0021] Figure 1 Cyclic IV characteristic curves for five identical common memristor devices;
[0022] Figure 2 This is a schematic diagram of a true random number generator structure provided in an embodiment of the present invention;
[0023] Figure 3 This is a voltage characteristic diagram of the voltage signal source under a clock signal in the true random number generator structure based on memristors of this invention.
[0024] Figure 4 The flowchart illustrates a method for generating truly random numbers using a truly random number generator, as provided in an embodiment of the present invention. Detailed Implementation
[0025] The present invention will be further described below with reference to the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and should not be used to limit the scope of protection of the present invention.
[0026] Example 1:
[0027] The turn-on voltage of the same device can vary in different cycles, such as... Figure 1 The figure shows the basic IV characteristic cycle curves of five identical ordinary memristor devices. A forward voltage scan is applied across the device from small to large. Initially, the current through the device is very low, indicating that the device is initially in the off state with high resistance. When the forward voltage reaches approximately 4 V, the current of the device rises sharply, indicating that the device is now on and transitions to a low-resistance state. Subsequently, the device remains in the low-resistance state until the voltage is scanned in reverse to approximately -3 V, at which point the device resets to a high-resistance state, completing one cycle.
[0028] Figure 2 This is a schematic diagram of a true random number generator structure provided in an embodiment of the present invention. It is a true random number generator based on memristors, where M is a memristor unit, R is a resistor, CMP is a voltage comparator, and V... ref The reference voltage is denoted by DFF, which is a D flip-flop, and V is a voltage signal source.
[0029] The specific structure is as follows: A memristor unit and a resistor are connected in series to form a series structure. The memristor in the series structure is connected to a voltage signal source. The connection between the resistor and the memristor is connected to the "+" terminal of a voltage comparator. The output terminal of the voltage comparator is connected to a D flip-flop. The overall output is the output of the D flip-flop, which is a logic level of "0" or "1".
[0030] The voltage comparator's "-" terminal is connected to the reference voltage, the non-series terminal of the resistor is grounded, and the voltage signal source and D flip-flop receive the clock signal.
[0031] Figure 3This is a voltage characteristic diagram of the voltage signal source in the memristor-based true random number generator structure of this invention under a clock signal. When the clock high level arrives, the median turn-on voltage V is statistically calculated and applied to the memristor. m When the clock goes low, a negative signal is applied to the memristor, the magnitude of which is a voltage V that ensures it is turned off. reset
[0032] Example 2:
[0033] Figure 4 The flowchart of the method for generating true random numbers using a true random number generator provided in this embodiment of the invention is as follows:
[0034] 1) Connect a memristor and a resistor in series. When the clock high level arrives, apply a voltage to each of them so that the voltage difference across the memristor is equal to the median turn-on voltage Vm. At this time, the probability of the memristor exhibiting a high resistance state and a low resistance state is equal.
[0035] 2) Input the voltage divider signal of the resistor into a voltage comparator. If the memristor is in a high-resistance state and the resistor receives a low voltage, the voltage comparator outputs a logic "0" level; if the memristor is in a low-resistance state and the resistor receives a high voltage, the voltage comparator outputs a logic "1" level.
[0036] Specifically, a low voltage across a resistor means that the voltage across the resistor is less than the reference voltage; a high voltage across a resistor means that the voltage across the resistor is greater than the reference voltage.
[0037] 3) Connect the output of the voltage comparator to a level-triggered D flip-flop. When the clock high level arrives, the D flip-flop is triggered and outputs the logic value output by the voltage comparator in step 2).
[0038] 4) When the clock signal transitions to a low level, the voltage direction across the memristor is changed to Vreset, resetting the memristor to its initial high-impedance state. Since the D flip-flop is high-level triggered, when the clock signal is low, the output value of the D flip-flop will remain the same as the output of the voltage comparator when the clock signal is high, i.e., the same as the outputs in steps 2) and 3), completing one clock cycle. The resistance change of the memristor when the clock signal is low will not affect the output of the D flip-flop.
[0039] 5) Repeat the above clock cycle cycle to obtain an N-bit random binary number within N clock cycles.
[0040] Because the resistance of a memristor cell differs by several orders of magnitude before and after activation, the voltage drop across the resistor connected in series with it will also differ by several orders of magnitude. This voltage drop is input to a voltage comparator and compared with a reference voltage to distinguish between high and low voltages. The voltage comparator has a wide selectable range for its reference voltage, and fluctuations in the reference voltage do not affect the comparator's output. Therefore, this invention eliminates the need for a high-precision reference voltage, saving circuit overhead.
[0041] This invention proposes a true random number generator and method based on memristors. Utilizing the uncertainty of the memristor's turn-on voltage, and combined with circuitry, it can generate binary true random numbers of arbitrary bits. Compared to traditional memristor-based true random number generators, this invention eliminates the need for a precise reference voltage, significantly reducing circuit overhead and demonstrating promising application prospects.
[0042] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0043] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0044] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0045] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0046] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the technical principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A true random number generator, characterized in that, The device includes a memristor and a resistor in a series structure, wherein the memristor is connected to a voltage signal source; the connection terminals of the resistor and the memristor are sequentially connected to the "+" terminal of a voltage comparator and a D flip-flop, and the "-" terminal of the voltage comparator is connected to a reference voltage. The voltage signal source and the D flip-flop receive a clock signal. The preset voltage applied by the voltage signal source to the memristor is the median turn-on voltage V of the memristor. m Furthermore, the preset voltage has the same probability of causing the memristor to exhibit a high-resistance state and a low-resistance state; The voltage signal source is used to apply a preset voltage to the memristor under the control of a clock signal, so that the memristor has the same probability of presenting a high resistance state and a low resistance state, so as to use the uncertainty of the memristor's on state under the preset voltage as a random source. The D flip-flop is used to latch and output a random binary number based on the comparison result of the voltage comparator with the reference voltage and the resistor voltage division, under the control of the clock signal.
2. A true random number generator according to claim 1, characterized in that, The non-series terminal of the resistor is grounded.
3. A method for generating a true random number generator according to any one of claims 1-2, characterized in that, Includes the following steps: When the clock signal is high, the voltage signal source applies a preset voltage to the memristor; The voltage comparator receives the connection signal between the resistor and the memristor and outputs a logic value of "0" or "1"; the D flip-flop receives the input signal from the voltage comparator and outputs the same logic value. When the clock signal is low, the voltage signal source applies a negative voltage to the memristor, resetting the memristor to a high-impedance state. At this time, the input of the D flip-flop is blocked and the output remains unchanged, completing one clock cycle. Repeat the above clock cycle cycle to obtain an N-bit random binary number within N clock cycles.
4. The method for generating a true random number generator according to claim 3, characterized in that, If the memristor is in a high-resistance state, the voltage divider voltage is less than the reference voltage, and the voltage comparator outputs a logic "0" level; if the memristor is in a low-resistance state, the voltage divider voltage is greater than the reference voltage, and the voltage comparator outputs a logic "1" level.
Citation Information
Patent Citations
Random number generator, electronic device, and operating method
CN114461178A