WO2021239886A1 - Vorrichtung und verfahren zur hardware-basierten zufallszahlen- und zahlenfolgen-generierung - Google Patents

Vorrichtung und verfahren zur hardware-basierten zufallszahlen- und zahlenfolgen-generierung Download PDF

Info

Publication number
WO2021239886A1
WO2021239886A1 PCT/EP2021/064222 EP2021064222W WO2021239886A1 WO 2021239886 A1 WO2021239886 A1 WO 2021239886A1 EP 2021064222 W EP2021064222 W EP 2021064222W WO 2021239886 A1 WO2021239886 A1 WO 2021239886A1
Authority
WO
WIPO (PCT)
Prior art keywords
voltage
output
value
random
range
Prior art date
Application number
PCT/EP2021/064222
Other languages
English (en)
French (fr)
Inventor
Nan DU
Heidemarie Schmidt
Stefan Schulz
Ilia POLIAN
Zhao XIANYUE
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Universität Stuttgart
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 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., Universität Stuttgart filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Priority to EP21729485.9A priority Critical patent/EP4158464A1/de
Publication of WO2021239886A1 publication Critical patent/WO2021239886A1/de
Priority to US18/059,530 priority patent/US20230090726A1/en

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

Definitions

  • the application relates to a device and a method for hardware-based, genuine random number and number sequence generation, and, in particular, to a device for hardware-based random number generators (RNG) and their operation, in particular, to a device for hardware-based random number generators (RNG ) with electroforming-free memristors.
  • the application also relates, in particular, to the structure of the electronic circuit and a method for operating the RNG as a real / true random number generator and as a true random number generator (TRNG; real random number generator) and as a number sequence generator (SNG).
  • loT Internet of Things
  • Stochastic Computing stochastic computing
  • SNG stochastic number generator
  • TRNGs are based on the intrinsic stochasticity in physical variables of the system. It has been shown that TRNGs based on silicon CMOS technology can be implemented electronically. A large number of TRNGs are suitable for production on an ASIC silicon process or for implementation on reconfigurable logic platforms, e.g. FPGA (Field Programmable Gate Array; in the field programmable gate arrangement) or CPLD (Complex Programmable Logic Device; complex programmable logic module) .
  • the entropy sources of such constructions are, for example, thermal noise due to oscillator jitter [2], Resistance amplifier analog / digital converter chains (see [3]) or metastable elements with capacitive feedback (see [4]).
  • the first memristive TRNG was proposed in 2010, see [5],
  • RTN random telegraph noise
  • TRNG telegraph noise
  • RTN from the LRS of a W / TiN / TiON / SiO2 / Si memristors [6]
  • RTN is activated or deactivated randomly without predictability
  • Balatti et al. proposed a TRNG based on the cycle-to-cycle and component-to-component voltage fluctuations of Cu / AlOx or Ti / HfOx-based memristors (see [8], [9]).
  • This memristor-based TRNG also requires careful coordination of the applied voltage / current flow in order to achieve a given probability distribution.
  • a SET-RESET pulse pair is always required to generate each random bit, since the memory elements are non-volatile.
  • none of the aforementioned TRNGs can pass all of the standard packages for statistical tests developed by the National Institute of Standards and Technology (NIST 800-22 Test Suite) (see [10]), even if the data is post-processed.
  • SC Stochastic computing
  • SNG number sequence generator
  • CMOS complementary metal-oxide-semiconductor
  • SNG silicon technology-based stochastic number generator
  • the object is achieved by a device according to claim 1, by a method according to claim 19 and by a computer program according to claim 20.
  • the device comprises a switchable element which can be switched to a first state by applying a first bias voltage and which can be switched to a second state by applying a second bias voltage that is different from the first bias voltage.
  • the switchable element is designed, when it is switched to the first state by the first bias voltage, to output a first output voltage with a first random or pseudo-random voltage value from a first voltage value range.
  • the switchable element is designed, when it is switched to the second state by the second bias voltage, to output a second output voltage with a second random or pseudo-random voltage value from a second voltage value range.
  • the device comprises a comparator which is designed to output a first numerical value if the first output voltage from the first value range is less than or equal to a first limit voltage; and if the first output voltage from the first value range is greater than the first limit voltage, to output a second numerical value that is different from the first numerical value.
  • the comparator is designed to output the first numerical value if the second output voltage from the second range of values is less than or equal to a second limit voltage, and to output the second numeric value if the second output voltage from the second range of values is greater than the second limit voltage.
  • the comparator is designed to output the second numerical value, and if the second output voltage from the second value range is greater than the second limit voltage, to output the first numerical value. Furthermore, a method for generating a sequence of random numbers according to one embodiment is provided.
  • the method comprises: applying a first bias voltage to a switchable element in order to switch the switchable element to a first state, or applying a second bias voltage, which is different from the first bias voltage, to the switchable element in order to switch the switchable element into one to switch the second state; wherein the switchable element is designed, when it is switched into the first state by the first bias voltage, to output a first output voltage with a first random or pseudo-random voltage value from a first voltage value range; and wherein the switchable element is designed, when it is switched to the second state by the second bias voltage, to output a second output voltage with a second random or pseudo-random voltage value from a second voltage value range.
  • FIG. 1 shows an apparatus for generating a sequence of random numbers according to an embodiment.
  • FIG. 2 shows the current-voltage characteristics of an individual cell of a memristive component based on YMO (yttrium manganese oxide) according to one embodiment.
  • YMO yttrium manganese oxide
  • 3 shows the cycle-to-cycle variation of SET and RESET bias voltages in both positive and negative switching directions of a single YMO memristor cell according to one embodiment.
  • 4 shows a YMO memristor cell-based basic module for a real random number generator which can be used as a cryptographic key.
  • FIG. 5 shows the distribution of the pulse amplitude of a single YMO memristor cell with 100 cycles as a function of the pulse width.
  • FIG. 1 shows an apparatus for generating a sequence of random numbers according to an embodiment.
  • the device comprises a switchable element 110 which can be switched to a first state by applying a first bias voltage and which can be switched to a second state by applying a second bias voltage that is different from the first bias voltage.
  • the switchable element 110 is designed, when it is switched to the first state by the first bias voltage, to output a first output voltage with a first random or pseudo-random voltage value from a first voltage value range. Furthermore, the switchable element 110 is designed, when it is switched to the second state by the second bias voltage, to output a second output voltage with a second random or pseudo-random voltage value from a second voltage value range.
  • the device comprises a comparator 120, which is designed to output a first numerical value if the first output voltage from the first value range is less than or equal to a first limit voltage; and if the first output voltage from the first value range is greater than the first limit voltage, to output a second numerical value that is different from the first numerical value.
  • the comparator 120 is designed to output the first numerical value if the second output voltage from the second range of values is less than or equal to a second limit voltage, and to output the second numeric value if the second output voltage from the second range of values is greater than the second limit voltage.
  • the comparator 120 is designed to output the second numerical value if the second output voltage from the second range of values is less than or equal to a second limit voltage, and to output the first numeric value if the second output voltage from the second range of values is greater than the second limit voltage .
  • the comparator 120 can be designed, for example, to output the first numerical value or the second numerical value as a first output value in a first output step.
  • the device for example, can be designed, depending on whether the comparator 120 outputs the first numerical value or the second numerical value, to apply either the first bias voltage or the second bias voltage to the switchable element 110.
  • the switchable element 110 can for example be designed to output a further output voltage with a random or pseudo-random voltage value, depending on whether the first bias voltage or the second bias voltage was applied, from the first voltage value range or from the second voltage value range.
  • the comparator 120 can be designed, for example, to output the first numerical value or the second numerical value as a second output value as a function of the further output voltage in a second output step.
  • the device can furthermore have, for example, a multiplexer, which can be designed, for example, to apply either the first bias voltage or the second bias voltage to the switchable element 110, depending on whether the comparator 120 outputs the first numerical value or the second numerical value.
  • a multiplexer which can be designed, for example, to apply either the first bias voltage or the second bias voltage to the switchable element 110, depending on whether the comparator 120 outputs the first numerical value or the second numerical value.
  • the switchable element 110 can be, for example, a memristor.
  • switchable element 110 may comprise yttrium manganese oxide.
  • the switchable element 110 can comprise, for example, bismuth ferrite and / or, for example, bismuth ferrite doped with titanium.
  • a largest absolute value of the first voltage range of values can be at least twice as large as a largest absolute value of the second voltage range of values, or the largest absolute value of the second voltage range of values can, for example, be at least twice as large as the largest absolute value of the first voltage value range.
  • the largest absolute value of the first voltage range can be, for example, at least four times as large as the largest absolute value of the second voltage range, or the largest absolute value of the second voltage range can be, for example, at least four times as large, like the largest absolute value of the first voltage value range.
  • the second limit voltage can be different from the first limit voltage, for example.
  • the first limit voltage can be defined, for example, in such a way that a statistical probability that the first output voltage with the first random or pseudo-random voltage value is greater than the first limit voltage has a value between 45% and 55%, and / or that
  • the second limit voltage can be defined, for example, in such a way that a statistical probability that the second output voltage coincides with the second is random or pseudo-random Voltage value is greater than the second limit voltage, has a value between 45% and 55%.
  • the first limit voltage can be set, for example, such that the statistical probability that the first output voltage with the first random or pseudo-random voltage value is greater than the first limit voltage is 50%, and / or the second limit voltage can, for example, be set in this way be that the statistical probability that the second output voltage with the second random or pseudo-random voltage value is greater than the first limit voltage is 50%.
  • the sequence of random numbers can be, for example, a binary sequence of random numbers.
  • an output of the first numerical value or the second numerical value by the comparator 120 can correspond to exactly one random number of the binary sequence of random numbers.
  • the sequence of random numbers is not a binary sequence of random numbers.
  • the device can be designed, for example, to form a random number from the sequence of random numbers using a plurality of numerical values that are output by the comparator 120.
  • the device can be designed, for example, to form said random number of the sequence of random numbers using said plurality of numerical values that are output by comparator 120 by adding each of said plurality of numerical values to exactly one binary digit of said random number of said sequence of random numbers forms in binary notation.
  • the device may have a current compliance unit that applies a predefined input current to the switchable element 110 when the first bias voltage is applied.
  • the device can for example have two or more memristors.
  • the plurality of memristors can be arranged, for example, in series, and / or the plurality of memristors can, for example, be arranged in parallel in a line array be arranged, and / or the plurality of memristors can be arranged, for example, in a crossbar array.
  • the switchable element 110 can be, for example, a first switchable element 110 and the comparator 120 can be, for example, a first comparator.
  • the device can, for example, also have a further switchable element 110 and, for example, a further comparator in order to generate random numbers of the sequence of random numbers.
  • the actual polarity and amplitude of the applied write bias voltage are determined by the potential of the upper electrode (T1) and the lower electrode (T2) of the resistance switch.
  • the top electrode (T1) can be viewed as a reference for the bias voltage applied to the device. If the potential of the upper electrode is higher than that of the lower electrode, it can be considered a positive voltage applied to the device. Otherwise, if the potential of the lower electrode has a higher potential, it can be considered a negative voltage applied to the device.
  • Embodiments provide one or more switchable elements, e.g., one or more memristive components (one or more memristors), for random number generators (RNG).
  • memristive components one or more memristors
  • RNG random number generators
  • the operation of such memristive components is implemented as a true random number generator (TRNG) and as a number sequence generator (SNG).
  • a switchable element for example a memristive component (a memristor)
  • a memristive component for example a memristor
  • the distribution of the responses (output), for example a read current, when asked for "challenges” (input), for example a read voltage can be box-shaped around a probability threshold that is specific for each cell of the memristive component in single-cell, line or Array execution can be distributed.
  • the probability of the 0/1 bit stream can be determined, for example, by a probability threshold value.
  • the RNG can be used as a TRNG, for example for exchanging keys.
  • the RNG can be used as an SNG, for example for stochastic computing.
  • the provision of random bit streams using memristive devices with severe hardware and performance constraints can be used for efficient key exchange and for efficient computation of data-intensive problems.
  • the use of a memristive component for the construction of TRNGs and SNGs on the basis of an electroforming-free memristor provides an efficient construction which reduces the relative costs considerably.
  • the reliable functioning of the RNG under extreme temperatures can be ensured, for example, by a comparable change in the IV characteristics of all cells of the memristive component in single-cell, line or array design.
  • Fig. 2 shows current-voltage characteristics (referred to as IV characteristic or IV characteristic) and statistical results for YMO (yttrium manganese oxide), in particular the experimental current-voltage characteristics (IV) of the YMO memristors with the corresponding schematic Images of the memristor stacks.
  • FIG. 2 shows the IV characteristics of an individual cell of a memristive component based on YMO on a semilog scale with 100 cycles both in the positive and in the negative direction of the ramp voltage.
  • the sizes of the upper contact area are, for example, 0.1 mm 2
  • the current compliance (CG) for the SET process is 10 mA.
  • the inset illustrates the memristive component schematically.
  • the SET and RESET voltages have the same polarity, but different amplitudes.
  • a current limitation (CC) is used during the switchover process in order to prevent permanent failure of the device.
  • Memristive components with a random variation of the IV characteristics can be used for the realization of RNG.
  • FIG. 3 shows in (a) a distribution of the switching biases of a cell of a memristive component based on YMO during
  • the current conformity for the SET process in the YMO memristive component is, for example, 10 mA.
  • the sizes of the upper contact area are 0.1 mm2.
  • the pulse width tp 10 ms.
  • the insets show the corresponding histograms. 3 shows the cycle-to-cycle variation of SET and RESET bias voltages in both positive (225 cycles) and negative (1082 cycles) switching directions of a single YMO memristor cell.
  • the width of the distribution was modeled with a Gaussian function with a large half-width.
  • a single cell of a memristive component based on YMO is provided for the implementation of a TRNG.
  • the SET and RESET distortions with a cumulative probability of 50% are selected as source distortions in the block design of TRNG as VSET and VRESET for receiving the Hamming distance between the classes of 50%.
  • the operation of memristive components on the basis of YMO can be provided as TRNG and SNG.
  • TRNG for example, both stochastic and safe properties may be required.
  • 4 shows a memristive component based on YMO for a true random number generator.
  • the random number generator can be used for a cryptographic key.
  • 4 further illustrates the working principle of a YMO as a TRNG using a specific example.
  • the structure of FIG. 4 does not require a read bias.
  • FIG. 4 shows a YMO memristor cell 110, a multiplexer 130, a comparator 120 and a current limiting unit CG (also referred to as current compliance unit CC).
  • a fixed width SET bias V SET is applied to a YMO memristor cell 110 and a series resistor Rs. If the YMO memristor cell 110 is switched on under the applied (bias) voltage and thus the output voltage across the series resistor Rs Icc ⁇ Rs is higher than the precisely defined reference voltage of the comparator 120 V ref , the output voltage of the comparator goes to high logic level, therefore the output of comparator 120 is "logic-1".
  • Icc is the match level current of the YMO device.
  • V ref Icc * RS-V OFFSET applies .
  • V OFFSET has a small constant value, e.g. 0.001 V, which is not related to the dynamics of YMO cells.
  • VRESET is selected by multiplexer 130 in accordance with the feedback "1" from the output of comparator 120 in the previous cycle and applied to YMO memristor cell 110 in order to reset the cell to HRS.
  • the voltages VRs in HRS are lower than V ref .
  • the output of the comparator 120 is “logic-0” in this case.
  • the pulse width and amplitude of the SET / RESET processes are determined based on a statistical investigation.
  • V ref Icc ⁇ Rs-V0
  • CMOS-based stochastic circuits consist of SNG conversion sources and arithmetic logic gates. SNGs are essential components for memristive implementations of SC circuits. The high resource consumption of conventional SNGs developed in CMOS technology is reduced, for example, by the exemplary device in FIG. 4. The inherently stochastic YMO memristor cells are proposed here in order to implement the inexpensive SNG.
  • FIG. 5 shows the distribution of the pulse amplitude of a single YMO memristor cell with 100 cycles as a function of the pulse width (100 ms, 200 ms, 500 ms, 1000 ms) in SET and RESET.
  • a Poisson distribution with a large half-width is observed, the mean value of which for SET shifts to lower voltages with increasing pulse width.
  • the 0/1 probability distribution can be set over the pulse width [13-14]).
  • the stochastic switching behavior of the YMO-based memristor cell can be controlled, i.e. the output with probabilities can be realized with different pulse widths or pulse amplitudes.
  • the stochastic switching behavior of the YMO-based memristor cell can be controlled, i.e. the output with probabilities can be realized with different pulse widths or pulse amplitudes.
  • a sequence number generator (SNG; number sequence generator) can be implemented with a single, electroforming-free, unipolar memristor without an electroforming step.
  • the memristor can have a stochastic current-voltage characteristic, that is, the read current Ir can, for example, for a given write voltage Uw, write pulse length tw and read voltage Ur happen to be below or above a threshold value.
  • HRS High Resistance State
  • LRS Low Resistance State
  • the reference value for the memristor can be established.
  • the write pulse length tp can determine the probability of the sequence number generator (SNG) as a function of the write voltage (negative, positive, URESET, USET).
  • the write pulse length can be selected internally at random, and thus, for example, the probability of the sequence number generator can be selected at random.
  • SNG sequence number generators
  • the (N) memristors of the (N) sequence number generators can be designed with a common unstructured or a structured rear electrode and in series or in series and / or in parallel in a line array or in a crossbar Array be arranged.
  • each of the N memristors can have a stochastic current-voltage characteristic, whereby, for example, the read current Ir for a given write voltage Uw, write pulse length tw and read voltage Ur can be randomly below or above a threshold value.
  • (N) reference values can be established for each of the (N) memristors.
  • the write pulse length tp of each of the (N) memristors can determine the probability of the sequence number generator (SNG) of each of the (N) memristors as a function of the write voltage Uw (negative, positive, URESET, USET).
  • SNG sequence number generator
  • the write pulse length tp of each of the (N) memristors can be selected internally at random, with the probability of the sequence number generator of each of the (N) memristors being able to be selected randomly.
  • the key exchange for example, can be shown as an application example.
  • a true random number generator with a threshold value of 50:50 can be used for this.
  • stochastic computing with a sequence number generator can be provided, for example,
  • aspects have been described in connection with a device, it goes without saying that these aspects also represent a description of the corresponding method, so that a block or a component of a device is also to be understood as a corresponding method step or as a feature of a method step. Analogously to this, aspects that have been described in connection with or as a method step also represent a description of a corresponding block or details or features of a corresponding device.
  • Some or all of the method steps can be carried out by a hardware apparatus (or using a hardware Apparatus), such as a microprocessor, a programmable computer or electronic circuit. In some embodiments, some or more of the most important process steps can be performed by such an apparatus.
  • exemplary embodiments of the invention can be implemented in hardware or in software or at least partially in hardware or at least partially in software.
  • the implementation can be carried out using a digital storage medium, for example a floppy disk, a DVD, a BluRay disk, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, a hard disk or some other magnetic or optical memory Memory are carried out on the electronically readable control signals are stored, which can interact with a programmable computer system or cooperate in such a way that the respective method is carried out. Therefore, the digital storage medium can be computer readable.
  • Some exemplary embodiments according to the invention thus comprise a data carrier which has electronically readable control signals which are able to interact with a programmable computer system in such a way that one of the methods described herein is carried out.
  • exemplary embodiments of the present invention can be implemented as a computer program product with a program code, the program code being effective to carry out one of the methods when the computer program product runs on a computer.
  • the program code can, for example, also be stored on a machine-readable carrier.
  • an exemplary embodiment of the method according to the invention is thus a computer program which has a program code for performing one of the methods described herein when the computer program runs on a computer.
  • a further exemplary embodiment of the method according to the invention is thus a data carrier (or a digital storage medium or a computer-readable medium) on which the computer program for performing one of the methods described herein is recorded.
  • the data carrier or the digital storage medium or the computer-readable medium are typically tangible and / or non-transitory.
  • a further exemplary embodiment of the method according to the invention is thus a data stream or a sequence of signals which represents or represents the computer program for performing one of the methods described herein.
  • the data stream or the sequence of signals can, for example, be configured to be transferred via a data communication connection, for example via the Internet.
  • Another exemplary embodiment comprises a processing device, for example a computer or a programmable logic component, which is configured or adapted to carry out one of the methods described herein.
  • a processing device for example a computer or a programmable logic component, which is configured or adapted to carry out one of the methods described herein.
  • Another exemplary embodiment comprises a computer on which the computer program for performing one of the methods described herein is installed.
  • a further exemplary embodiment according to the invention comprises a device or a system which is designed to transmit a computer program for carrying out at least one of the methods described herein to a receiver.
  • the transmission can take place electronically or optically, for example.
  • the receiver can be, for example, a computer, a mobile device, a storage device or a similar device.
  • the device or the system can, for example, comprise a file server for transmitting the computer program to the recipient.
  • a programmable logic component for example a field-programmable gate array, an FPGA
  • FPGA field-programmable gate array
  • a field-programmable gate array can interact with a microprocessor in order to carry out one of the methods described herein.
  • the methods are performed by any hardware device. This can be a universally replaceable one Hardware such as a computer processor (CPU) or hardware specific to the method such as an ASIC.

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)
  • Electronic Switches (AREA)

Abstract

Eine Vorrichtung zur Erzeugung einer Sequenz von Zufallszahlen gemäß einer Ausführungsform wird bereitgestellt. Die Vorrichtung umfasst ein schaltbares Element (110), das durch Anlegen einer ersten Vorspannung in einen ersten Zustand geschaltet werden kann, und das durch Anlegen einer zweiten Vorspannung, die von der ersten Vorspannung verschieden ist, in einen zweiten Zustand geschaltet werden kann. Das schaltbare Element (110) ist ausgebildet, wenn es durch die erste Vorspannung in den ersten Zustand geschaltet ist, eine erste Ausgangsspannung mit einem ersten zufälligen oder pseudozufälligen Spannungswert aus einem ersten Spannungs-Wertebereich auszugeben. Ferner ist das schaltbare Element (110) ausgebildet, wenn es durch die zweite Vorspannung in den zweiten Zustand geschaltet ist, eine zweite Ausgangsspannung mit einem zweiten zufälligen oder pseudozufälligen Spannungswert aus einem zweiten Spannungs-Wertebereich auszugeben. Des Weiteren umfasst die Vorrichtung einen Komparator, der ausgebildet ist, wenn die erste Ausgangsspannung aus dem ersten Wertebereich kleiner oder gleich einer ersten Grenzspannung ist, einen ersten Zahlenwert auszugeben; und wenn die erste Ausgangsspannung aus dem ersten Wertebereich größer als die erste Grenzspannung ist, einen zweiten Zahlenwert, der von dem ersten Zahlenwert verschieden ist, auszugeben. Ferner ist der Komparator ausgebildet, wenn die zweite Ausgangsspannung aus dem zweiten Weitebereich kleiner oder gleich einer zweiten Grenzspannung ist, den ersten Zahlenwert auszugeben, und wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich größer als die zweite Grenzspannung ist, den zweiten Zahlenwert auszugeben. Oder aber, der Komparator ist ausgebildet, wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich kleiner oder gleich einer zweiten Grenzspannung ist, den zweiten Zahlenwert auszugeben, und wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich größer als die zweite Grenzspannung ist, den ersten Zahlenwert auszugeben.

Description

Vorrichtung und Verfahren zur Hardware-basierten Zufallszahlen- und Zahlenfolgen-Generierung
Beschreibung
Die Anmeldung betrifft eine Vorrichtung und ein Verfahren zur Hardware-basierten echten Zufallszahlen- und Zahlenfolgen-Generierung, und, insbesondere, eine Vorrichtung für hardware-basierte Zufallszahlengeneratoren (RNG) und deren Betrieb, im Speziellen, eine Vorrichtung für hardware-basierte Zufallszahlengeneratoren (RNG) mit elektroformierungsfreien Memristoren. Ferner betrifft die Anmeldung, insbesondere, den Aufbau der elektronischen Schaltung und ein Verfahren zum Betrieb der RNG als echter/wahrer Zufallszahlengenerator und als True random number generator (TRNG; echter Zufallszahlengenerator) und als Zahlenfolgengenerator (SNG).
Fortschritte bei der energie- und kosteneffizienten Berechnung und bei der drahtlosen Konnektivität haben zum Internet der Dinge (loT) geführt. Das loT ist ein Hauptantriebsfaktor für den wissenschaftlichen, technologischen, wirtschaftlichen und sozialen Fortschritt, und es werden voraussichtlich 50,1 Milliarden ΙοΤ-Geräte bis 2020 in Gebrauch sein, siehe [1].
Stochastic Computing (SC; stochastisches Rechnen) mit stochastischem Zahlengenerator (SNG) ist ein Rechenparadigma, das äußerst kompakte, energieeffiziente und fehlertolerante Realisierungen bestimmter Funktionen auf Kosten einer geringeren Genauigkeit und einer längeren Rechenzeit bietet. Diese unkonventionellen Eigenschaften machen es zu einer interessanten Wahl für ΙοΤ-Anwendungen wie z.B. zur Gebietsüberwachung oder zur Umweltüberwachung.
TRNGs beruhen auf der intrinsischen Stochastizität in physikalischen Variablen des Systems. Es wurde gezeigt, dass TRNGs auf der Basis der Silizium-CMOS-Technologie elektronisch implementiert werden können. Eine große Anzahl von TRNGs ist für eine Herstellung auf einem ASIC-Siliziumprozess oder für die Implementierung auf rekonfigurierbaren Logikplattformen, z.B. FPGA (Field Programmable Gate Array; im Feld programmierbare Gatter Anordnung) oder CPLD (Complex Programmable Logic Device; komplexer programmierbarer Logikbaustein), geeignet. Die Entropiequellen solcher Konstruktionen sind beispielsweise thermisches Rauschen durch Oszillatorjitter [2], Widerstandsverstärker-Analog / Digital-Wandlerketten (siehe [3]) oder metastabile Elemente mit kapazitiver Rückkopplung (siehe [4]).
Der erste memristive TRNG wurde 2010 vorgeschlagen, siehe [5], Die Leseinstabilität in vielen memristiven Geräten aufgrund von Random Telegraph Noise (RTN; Telegrafenrauschen) kann als Entropiequelle für TRNG genutzt werden, z.B. RTN aus dem LRS eines W / TiN / TiON / SiO2 / Si-Memristors [6], Diese Schaltungen sind schwer zu aktivieren und zu steuern, da die angelegten Spannungen stark von den Wahrscheinlichkeiten "0" und "1" abhängen. Kürzlich wurde auch bewiesen, dass RTN ohne Vorhersagbarkeit zufällig aktiviert oder deaktiviert wird (siehe [7]).
Balatti et al. schlug einen TRNG vor, der auf den Zyklus-zu-Zyklus- und Bauteil-zu- Bauelement-Spannungsschwankungen von Cu / AlOx- bzw. Ti / HfOx-basierten Memristoren basiert (siehe [8], [9]). Auch bei diesem memristor-basierten TRNG ist eine sorgfältige Abstimmung der angelegten Spannung / des Stromflusses erforderlich, um eine vorgegebene Wahrscheinlichkeitsverteilung zu realisieren. Außerdem ist immer ein SET- RESET-Impulspaar für die Erzeugung jedes Zufallsbits erforderlich, da die Speicherelemente nichtflüchtig sind. Darüber hinaus kann keines der vorgenannten TRNGs alle vom National Institute of Standards und Technology (NIST 800-22 Test Suite) (siehe [10]) entwickelten Standardpakete für statistische Tests bestehen, selbst wenn die Daten nachverarbeitet werden.
Wei et al. haben einen TRNG mit Zufallszahlen aus kleinen Lesestromschwankungen bei bestimmten Widerstandszuständen in TaOx-basierten Memristoren realisiert [11]. Auch hier werden komplizierte Algorithmen und Schaltungen benötigt, um die Stochastizität der erzeugten binären Bits sicherzustellen, bevor sie die NIST-Tests bestehen können.
Stochastisches Rechnen (Stochastic computing, SC) wurde als vielversprechende Alternative zum herkömmlichen deterministischen Rechnen angesehen. SC verarbeitet Daten in einem probabilistischen Ansatz und bewältigt Berechnungsunsicherheiten effektiver und effizienter (siehe [12]) mit hoher Fehlertoleranz, was die Schlüsselanforderung für zukünftige Nanotechnologie erfüllt. Gemäß dem Arbeitsprinzip von SC wird der Genauigkeitsgrad von SC der Zufälligkeit stochastischer Bitströme unterworfen. Dafür werden Zahlenfolgengenerator (SNG) mit einer kontrolliert einstellbaren Wahrscheinlichkeit der 0/1 -Bitströme benötigt. Bei herkömmlichen CMOS-Ansätzen wird der auf Siliziumtechnologie basierende stochastische Zahlengenerator (SNG) verwendet, um 0/1 -Bitströme mit vorgegebener Wahrscheinlichkeit zu erzeugen. Diese SNG machen einen Großteil des Ressourcenverbrauchs beim SC mit Kosten von bis zu 80% des gesamten Systems aus [12]. Aufgabe der Erfindung ist es, verbesserte Konzepte, insbesondere, verbesserte Hardware und verbesserte Verfahren, zur Zufallszahlen- und Zahlenfolgen-Generierung bereitzustellen.
Die Aufgabe wird gelöst durch eine Vorrichtung nach Anspruch 1 , durch ein Verfahren nach Anspruch 19 und durch ein Computerprogramm nach Anspruch 20.
Eine Vorrichtung zur Erzeugung einer Sequenz von Zufallszahlen gemäß einer Ausführungsform wird bereitgestellt. Die Vorrichtung umfasst ein schaltbares Element, das durch Anlegen einer ersten Vorspannung in einen ersten Zustand geschaltet werden kann, und das durch Anlegen einer zweiten Vorspannung, die von der ersten Vorspannung verschieden ist, in einen zweiten Zustand geschaltet werden kann. Das schaltbare Element ist ausgebildet, wenn es durch die erste Vorspannung in den ersten Zustand geschaltet ist, eine erste Ausgangsspannung mit einem ersten zufälligen oder pseudozufälligen Spannungswert aus einem ersten Spannungs-Wertebereich auszugeben. Ferner ist das schaltbare Element ausgebildet, wenn es durch die zweite Vorspannung in den zweiten Zustand geschaltet ist, eine zweite Ausgangsspannung mit einem zweiten zufälligen oder pseudozufälligen Spannungswert aus einem zweiten Spannungs-Wertebereich auszugeben. Des Weiteren umfasst die Vorrichtung einen Komparator, der ausgebildet ist, wenn die erste Ausgangsspannung aus dem ersten Wertebereich kleiner oder gleich einer ersten Grenzspannung ist, einen ersten Zahlenwert auszugeben; und wenn die erste Ausgangsspannung aus dem ersten Wertebereich größer als die erste Grenzspannung ist, einen zweiten Zahlenwert, der von dem ersten Zahlenwert verschieden ist, auszugeben. Ferner ist der Komparator ausgebildet, wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich kleiner oder gleich einer zweiten Grenzspannung ist, den ersten Zahlenwert auszugeben, und wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich größer als die zweite Grenzspannung ist, den zweiten Zahlenwert auszugeben. Oder aber, der Komparator ist ausgebildet, wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich kleiner oder gleich einer zweiten Grenzspannung ist, den zweiten Zahlenwert auszugeben, und wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich größer als die zweite Grenzspannung ist, den ersten Zahlenwert auszugeben. Des Weiteren wird ein Verfahren zur Erzeugung einer Sequenz von Zufallszahlen gemäß einer Ausführungsform bereitgestellt. Das Verfahren umfasst: - Anlegen einer ersten Vorspannung an ein schaltbares Element, um das schaltbare Element in einen ersten Zustand zu schalten, oder Anlegen einer zweiten Vorspannung, die von der ersten Vorspannung verschieden ist, an das schaltbare Element, um das schaltbare Element in einen zweiten Zustand zu schalten; wobei das schaltbare Element ausgebildet ist, wenn es durch die erste Vorspannung in den ersten Zustand geschaltet ist, eine erste Ausgangsspannung mit einem ersten zufälligen oder pseudozufälligen Spannungswert aus einem ersten Spannungs- Wertebereich auszugeben; und wobei das schaltbare Element ausgebildet ist, wenn es durch die zweite Vorspannung in den zweiten Zustand geschaltet ist, eine zweite Ausgangsspannung mit einem zweiten zufälligen oder pseudozufälligen Spannungswert aus einem zweiten Spannungs-Wertebereich auszugeben. Und: - Ausgeben eines ersten Zahlenwerts, wenn die erste Ausgangsspannung aus dem ersten Wertebereich kleiner oder gleich einer ersten Grenzspannung ist; oder Ausgeben einen zweiten Zahlenwerts, der von dem ersten Zahlenwert verschieden ist, wenn die erste Ausgangsspannung aus dem ersten Wertebereich größer als die erste Grenzspannung ist.
Oder: Ausgeben des zweiten Zahlenwerts, wenn die erste Ausgangsspannung aus dem ersten Wertebereich kleiner oder gleich einer ersten Grenzspannung ist; oder Ausgeben des ersten Zahlenwerts, wenn die erste Ausgangsspannung aus dem ersten Wertebereich größer als die erste Grenzspannung ist. Ferner wird ein Computerprogramm mit einem Programmcode zur Durchführung des oben beschriebenen Verfahrens gemäß einer Ausführungsform bereitgestellt.
Bevorzugte Ausführungsformen finden sich in den abhängigen Ansprüchen. Nachfolgend werden bevorzugte Ausführungsformen der Erfindung unter Bezugnahme auf die Zeichnungen beschrieben. In den Zeichnungen ist dargestellt: Fig. 1 zeigt eine Vorrichtung zur Erzeugung einer Sequenz von Zufallszahlen gemäß einer Ausführungsform.
Fig. 2 zeigt die Strom-Spannungs-Charakteristiken einer einzelnen Zelle eines memristiven Bauelementes auf der Basis von YMO (Yttrium-Manganoxid) gemäß einer Ausführungsform.
Fig. 3 zeigt die Zyklus-zu-Zyklus-Variation von SET- und RESET-Vorspannungen sowohl in positiven als auch in negativen Schaltrichtungen einer einzelnen YMO-Memristorzelle gemäß einer Ausführungsform. Fig. 4 zeigt eine YMO-Memristorzellen-basierten Basisbaustein für einen echten Zufallszahlengenerator, der für als ein kryptografischen Schlüssel eingesetzt werden kann.
Fig. 5 zeigt die Verteilung der Impulsamplitude einer einzelnen YMO- Memristorzelle mit 100 Zyklen in Abhängigkeit von der Impulsbreite.
Fig. 1 zeigt eine Vorrichtung zur Erzeugung einer Sequenz von Zufallszahlen gemäß einer Ausführungsform.
Die Vorrichtung umfasst ein schaltbares Element 110, das durch Anlegen einer ersten Vorspannung in einen ersten Zustand geschaltet werden kann, und das durch Anlegen einer zweiten Vorspannung, die von der ersten Vorspannung verschieden ist, in einen zweiten Zustand geschaltet werden kann.
Das schaltbare Element 110 ist ausgebildet, wenn es durch die erste Vorspannung in den ersten Zustand geschaltet ist, eine erste Ausgangsspannung mit einem ersten zufälligen oder pseudozvifälligen Spannungswert aus einem ersten Spannungs-Wertebereich auszugeben. Ferner ist das schaltbare Element 110 ausgebildet, wenn es durch die zweite Vorspannung in den zweiten Zustand geschaltet ist, eine zweite Ausgangsspannung mit einem zweiten zufälligen oder pseudozufälligen Spannungswert aus einem zweiten Spannungs- Wertebereich auszugeben.
Des Weiteren umfasst die Vorrichtung einen Komparator 120, der ausgebildet ist, wenn die erste Ausgangsspannung aus dem ersten Wertebereich kleiner oder gleich einer ersten Grenzspannung ist, einen ersten Zahlenwert auszugeben; und wenn die erste Ausgangsspannung aus dem ersten Wertebereich größer als die erste Grenzspannung ist, einen zweiten Zahlenwert, der von dem ersten Zahlenwert verschieden ist, auszugeben.
Ferner ist der Komparator 120 ausgebildet, wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich kleiner oder gleich einer zweiten Grenzspannung ist, den ersten Zahlenwert auszugeben, und wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich größer als die zweite Grenzspannung ist, den zweiten Zahlenwert auszugeben.
Oder aber, der Komparator 120 ist ausgebildet, wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich kleiner oder gleich einer zweiten Grenzspannung ist, den zweiten Zahlenwert auszugeben, und wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich größer als die zweite Grenzspannung ist, den ersten Zahlenwert auszugeben.
Gemäß einer Ausführungsform kann der Komparator 120 z.B. ausgebildet sein, in einem ersten Ausgabeschritt als einen ersten Ausgabewert den ersten Zahlenwert oder den zweiten Zahlenwert auszugeben. Dabei kann die z.B. Vorrichtung ausgebildet sein, abhängig davon, ob der Komparator 120 den ersten Zahlenwert oder den zweiten Zahlenwert ausgibt, entweder die erste Vorspannung oder die zweite Vorspannung an das schaltbare Element 110 anzulegen. Das schaltbare Element 110 kann dabei z.B. ausgebildet sein, einen weitere Ausgangsspannung mit einem zufälligen oder pseudozufälligen Spannungswert, abhängig davon, ob die erste Vorspannung oder die zweite Vorspannung angelegt wurde, aus dem ersten Spannungs-Wertebereich oder aus dem zweiten Spannungs-Wertebereich auszugeben. Ferner kann der Komparator 120 z.B. ausgebildet sein, in einem zweiten Ausgabeschritt als einen zweiten Ausgabewert den ersten Zahlenwert oder den zweiten Zahlenwert abhängig von der weiteren Ausgangsspannung auszugeben. In einer Ausführungsform kann die Vorrichtung des Weiteren z.B. einen Multiplexer aufweisen, der z.B. ausgebildet sein kann, abhängig davon, ob der Komparator 120 den ersten Zahlenwert oder den zweiten Zahlenwert ausgibt, entweder die erste Vorspannung oder die zweite Vorspannung an das schaltbare Element 110 anzulegen.
Gemäß einer Ausführungsform kann das schaltbare Element 110 z.B. ein Memristor sein.
In einer Ausführungsform kann das schaltbare Element 110 z.B. Yttrium-Manganoxid aufweisen.
Gemäß einer Ausführungsform kann das schaltbare Element 110 z.B. Bismut-Ferrit und/oder z.B. mit Titan dotiertes Bismut-Ferrit aufweisen.
In einer Ausführungsform kann z.B. ein größter absoluter Wert des ersten Spannungs- Wertebereichs mindestens doppelt so groß sein, wie ein größter absoluter Wert des zweiten Spannungs-Wertebereichs, oder der größte absolute Wert des zweiten Spannungs- Wertebereichs kann z.B. mindestens doppelt so groß sein, wie der größte absolute Wert des ersten Spannungs-Wertebereichs.
Gemäß einer Ausführungsform kann der größte absolute Wert des ersten Spannungs- Wertebereichs z.B. mindestens viermal so groß sein, wie der größte absolute Wert des zweiten Spannungs-Wertebereichs ist, oder der größte absolute Wert des zweiten Spannungs-Wertebereichs kann z.B. mindestens viermal so groß sein, wie der größte absolute Wert des ersten Spannungs-Wertebereichs.
In einer Ausführungsform kann die zweite Grenzspannung z.B. von der ersten Grenzspannung verschieden sein. Gemäß einer Ausführungsform kann die erste Grenzspannung z.B. derart definiert sein, dass eine statistische Wahrscheinlichkeit, dass die erste Ausgangsspannung mit dem ersten zufälligen oder pseudozufälligen Spannungswert größer als die erste Grenzspannung ist, einen Wert zwischen 45 % und 55 % aufweist, und/oder, die zweite Grenzspannung kann z.B. derart definiert sein, dass eine statistische Wahrscheinlichkeit, dass die zweite Ausgangsspannung mit dem zweiten zufälligen oder pseudozufälligen Spannungswert größer als die zweite Grenzspannung ist, einen Wert zwischen 45 % und 55 % aufweist.
In einer Ausführungsform kann die erste Grenzspannung z.B. derart festgelegt sein, dass die statistische Wahrscheinlichkeit, dass die erste Ausgangsspannung mit dem ersten zufälligen oder pseudozufälligen Spannungswert größer als die erste Grenzspannung ist, 50 % ist, und/oder, die zweite Grenzspannung kann z.B. derart festgelegt sein, dass die statistische Wahrscheinlichkeit, dass die zweite Ausgangsspannung mit dem zweiten zufälligen oder pseudozufälligen Spannungswert größer als die erste Grenzspannung ist, 50 % ist.
Gemäß einer Ausführungsform kann die Sequenz von Zufallszahlen z.B. eine binäre Sequenz von Zufallszahlen sein. Dabei kann z.B. eine Ausgabe des ersten Zahlenwerts oder des zweiten Zahlenwerts durch den Komparator 120 genau einer Zufallszahl der binären Sequenz von Zufallszahlen entsprechen.
In einer Ausführungsform handelt es sich z.B. bei der Sequenz von Zufallszahlen nicht um eine binäre Sequenz von Zufallszahlen. Dabei kann die Vorrichtung z.B. ausgebildet sein, eine Zufallszahl der Sequenz von Zufallszahlen unter Verwendung von mehreren Zahlenwerten zu bilden, die von dem Komparator 120 ausgegeben werden.
Gemäß einer Ausführungsform kann die Vorrichtung z.B. ausgebildet sein, die besagte Zufallszahl der Sequenz von Zufallszahlen unter Verwendung der besagten mehreren Zahlenwerte zu bilden, die von dem Komparator 120 ausgegeben werden, indem jede der besagten mehreren Zahlenwerte genau eine Binärstelle der besagten Zufallszahl der Sequenz von Zufallszahlen in Binärschreibweise bildet.
In einer Ausführungsform kann die Vorrichtung z.B. eine Stromkonformitäts-Einheit aufweisen, die bei Anlegen der ersten Vorspannung einen vordefinierten Eingangsstrom an das schaltbare Element 110 anlegt.
Gemäß einer Ausführungsform kann die Vorrichtung z.B. zwei oder mehr Memristoren aufweisen.
In einer Ausführungsform kann die Mehrzahl der Memristoren z.B. In Reihe angeordnet sein, und/oder die Mehrzahl der Memristoren kann z.B. parallel in einem Linien-Array angeordnet sein, und/oder die Mehrzahl der Memristoren kann z.B. in einem Crossbar- Array angeordnet sein.
Gemäß einer Ausführungsform kann das schaltbare Element 110 z.B. ein erstes schaltbares Element 110 sein und der Komparator 120 kann z.B. ein erster Komparator sein. Dabei kann die Vorrichtung z.B. des Weiteren ein weiteres schaltbares Element 110 und z.B. einen weiteren Komparator aufweisen, um Zufallszahlen der Sequenz von Zufallszahlen zu erzeugen. Die tatsächliche Polarität und Amplitude der angelegten Schreibvorspannung werden durch das Potential der oberen Elektrode (T1) und der unteren Elektrode (T2) des Widerstandsschalters bestimmt. Beispielsweise kann die obere Elektrode (T1) als Referenz für die Vorspannung, die an das Gerät angelegt wird, angesehen werden. Wenn das Potential der oberen Elektrode höher als das der unteren Elektrode ist, kann dies als positive Spannung angesehen werden, die an das Gerät angelegt wird. Wenn andernfalls das Potential der unteren Elektrode ein höheres Potential aufweist, kann dies als negative Spannung angesehen werden, die an das Gerät angelegt wird.
Zu beachten ist, dass wenn die obere Elektrode und die untere Elektrode dasselbe Potenzial aufweisen, am Gerät keine Potenzialdifferenz besteht, d.h. am Gerät würde keine tatsächliche Spannung anliegen.
Ausführungsformen stellen ein oder mehrere schaltbare Elemente, z.B. ein oder mehrere memristive Bauelemente (ein oder mehrere Memristoren), für Zufallszahlengeneratoren (RNG) bereit. In Ausführungsformen der Betrieb solcher memristiven Bauelemente als wahrer Zufallszahlengenerator (True random number generator, TRNG) und als Zahlenfolgengenerator (SNG) realisiert.
In Ausführungsformen wird ein schaltbares Element, z.B. ein memristives Bauelement (ein Memristor), in Einzelzell-, Linien- oder Array-Ausführung bereitgestellt, bei dem die Strom- Spannungs-(IV)-Charakteristik jeder Zelle zufällig variiert. Gemäß einer Ausführungsform kann die Verteilung der Antworten (Output), beispielsweise eines Lesestromes, bei Abfrage von „Herausforderungen“ (Eingabe), beispielsweise einer Lesespannung, boxförmig um einen Wahrscheinlichkeitsschwellwert, der spezifisch für jede Zelle des memristiven Bauelementes in Einzelzell-, Linien- oder Array-Ausführung sein kann, verteilt sein. In manchen Ausführungsformen kann die Wahrscheinlichkeit des 0/1 -Bitstromes beispielweise durch einen Wahrscheinlichkeitsschwellwert bestimmt werden. Bei einer Wahrscheinlichkeit des 0/1 -Bitstromes von 50%:50% kann der RNG als TRNG, beispielsweise für den Austausch von Schlüsseln verwendet werden. Bei einer zufälligen Wahl der Wahrscheinlichkeit des 0/1 -Bitstromes kann der RNG als SNG, beispielsweise für des stochastische Rechnen, verwendet werden.
In manchen Ausführungsformen kann die Bereitstellung von zufälligen Bitströmen unter Verwendung von memristiven Bauelementen mit strengen Hardware- und Leistungsbeschränkungen für den effizienten Schlüsselaustausch und für die effiziente Berechnung datenintensiver Probleme eingesetzt werden. Der Einsatz eines memristiven Bauelements zum Aufbau von TRNGs und SNGs auf der Basis eines elektroformierungsfreien Memristors stellt einen effizienten Aufbau bereit, der die relativen Kosten erheblich senkt.
Das zuverlässige Funktionieren der RNG unter extremen Temperaturen kann beispielsweise durch eine vergleichbare Änderung der IV-Charakteristiken aller Zellen des memristiven Bauelementes in Einzelzell-, Linien- oder Array-Ausführung gewährleistet werden.
Fig. 2 zeigt Strom-Spannungs-Charakteristiken (als I-V-Charakteristik oder IV- Charakteristik bezeichnet) und statistische Ergebnisse bei YMO (Yttrium-Manganoxid), insbesondere die experimentellen Strom-Spannungs-Charakteristiken (l-V) der YMO- Memristoren mit den entsprechenden schematischen Bildern der Memristorstacks.
Insbesondere zeigt Fig. 2 die IV-Charakteristiken einer einzelnen Zelle eines memristiven Bauelementes auf der Basis von YMO im Semilog-Maßstab mit 100 Zyklen sowohl in positiver als auch in negativer Richtung der Rampspannung.
In Fig. 2 betragen die Größen der oberen Kontaktfläche beispielsweise 0,1 mm2, die Impulsbreite tp ist tp = 10 ms und die Strombegrenzung (current compliance, CG) für den SET-Prozess beträgt 10 mA. Der Inset veranschaulicht das memristive Bauelement schematisch. In dem beispielhaften memristiven Bauelement auf der Basis von YMO der Fig. 2 haben die SET- und RESET-Spannungen die gleiche Polarität, jedoch unterschiedliche Amplituden. In einer Ausführungsform wird beispielsweise während des Umschaltvorgangs eine Strombegrenzung (CC) eingesetzt, um einen dauerhaften Ausfall des Geräts zu verhindern.
Aufeinanderfolgende Schaltdurchläufe einer einzelnen Zelle eines memristiven Bauelementes auf der Basis von YMO (Fig. 2) zeigen offensichtliche Zyklus-zu-Zyklus- Variationen in SET- und RESET-Vorspannungen sowohl in positiver als auch in negativer Schaltrichtung, wodurch die stochastische Natur ihres Schaltverhaltens bestätigt wurde.
Memristive Bauelemente mit einer zufälligen Variation der IV-Charakteristiken können für die Realisierung von RNG genutzt werden.
Statistische Ergebnisse bei dem memristiven YMO-Bauelement zeigen, dass die Zufälligkeit der Verteilung der SET- und RESET-Schaltspannung sowohl in positiver als auch in negativer Bias-Richtung zur Erzeugung von 0/1 -Bitströmen verwendet werden kann.
Fig. 3 zeigt in (a) eine Verteilung der Schaltvorspannungen einer Zelle eines memristiven Bauelementes auf der Basis von YMO während
(a) RESET in negativer Spannungsrichtung,
(b) RESET in positiver Spannungsrichtung,
(c) SET in negativer Spannungsrichtung und
(d) SET in positiver Spannungsrichtung mit 225 Zyklen in positiver Biasrichtung und 1082 Zyklen in negative Vorspannungsrichtung (Biasrichtung).
In Fig. 3 beträgt die Stromkonformität für den SET-Prozess im YMO memristive Bauelement (Memristor) beispielsweise 10 mA. Die Größen der oberen Kontaktfläche sind 0,1 mm2. Die Impulsbreite tp = 10 ms. Die Einschübe zeigen die entsprechenden Histogramme. So ist in Fig. 3 die Zyklus-zu-Zyklus-Variation von SET- und RESET-Vorspannungen sowohl in positiven (225 Zyklen) als auch in negativen (1082 Zyklen) Schaltrichtungen einer einzelnen YMO-Memristorzelle dargestellt. Die Breite der Verteilung wurde mit einer Gaußschen Funktion mit großer Halbwertbreite modelliert.
Nachfolgend werden weitere spezielle Ausführungsbeispiele beschrieben.
In einem speziellen Ausführungsbeispiel wird eine einzelne Zelle eines memristiven Bauelementes auf der Basis von YMO für die Realisierung eines TRNG bereitgestellt. Die SET- und RESET-Verzerrungen mit einer kumulativen Wahrscheinlichkeit von 50% werden als Quellenverzerrungen im Blockdesign von TRNG als VSET und VRESET für den Empfang der Hamming-Distanz zwischen den Klassen von 50% ausgewählt.
In einem Ausführungsbeispiel kann der Betrieb von memristiven Bauelementen auf der Basis von YMO als TRNG und SNG vorgesehen sein. Für einen TRNG können beispielsweise sowohl stochastische als auch sichere Eigenschaften erforderlich sein. Es ergibt sich beispielsweise eine ausgezeichnete Autokorrelation zur Wahrung der Geheimhaltung. Aufgrund der rein stochastischen Verteilung von Schaltvorrichtungen in YMO-Membranzellen während SET- und RESET-Prozessen wird die YMO-Membranzelle beispielsweise als Zufallsquelle für das TRNG-Design bereitgestellt.
Fig. 4 zeigt ein memristives Bauelement auf der Basis von YMO für einen echten Zufallszahlengenerator. Beispielsweise kann der Zufallszahlengenerator für einen kryptografischen Schlüssel eingesetzt werden. Weiter illustriert Fig. 4 beispielhaft an einem speziellen Beispiel das Arbeitsprinzip eines YMO als TRNG.
In Ausführungsbeispielen erfordert der Aufbau der Fig. 4 keine Lesevorspannung.
Insbesondere gezeigt sind in Fig. 4 eine YMO-Memristor-Zelle 110, ein Multiplexer 130, ein Komparator 120 und eine Strombegrenzungs -Einheit CG (auch als Current Compliance- Einheit CC bezeichnet).
Eine SET-Vorspannung VSET mit fester Breite wird an eine YMO-Memristorzelle 110 und an einen Reihenwiderstand Rs angelegt. Wenn unter der angelegten (Vor-)Spannung die YMO-Memristorzelle 110 eingeschaltet wird und somit die Ausgangsspannung über dem Reihenwiderstand Rs Icc· Rs beträgt, die höher ist als die genau definierte Referenzspannung des Komparators 120 Vref, geht die Ausgangsspannung des Komparators auf den hohen Logikpegel, daher ist der Ausgang des Komparators 120 "logic-1".
Icc ist dabei der Übereinstimmungspegelstrom der YMO-Vorrichtung. Für die Referenzspannung Vref des Komparators 120 gilt Vref = Icc · RS-VOFFSET. VOFFSET besitzt einen kleinen konstanten Wert, z.B. 0,001 V, der nicht mit der Dynamik von YMO-Zellen zusammenhängt.
Im nächsten Schaltzyklus wird VRESET entsprechend der Rückkopplung "1" vom Ausgang des Komparators 120 im vorherigen Zyklus vom Multiplexer 130 ausgewählt und an die YMO-Memristorzelle 110 angelegt, um die Zelle auf HRS zurückzusetzen. Somit sind die Spannungen VRs in HRS niedriger als Vref. Der Ausgang des Komparators 120 ist in diesem Fall „logic-0“.
In einer Ausführungsform werden, um eine Gleichmäßigkeit (50%ige Wahrscheinlichkeit für LRS / HRS) zu erreichen, die Pulsbreite und Amplitude der SET / RESET -Prozesse auf der Grundlage einer statistischen Untersuchung festgelegt.
Im Vergleich zu vorhandenen TRNGs auf Memristorbasis können Vorteile der beispielhaften Vorrichtung der Fig. 4 für den YMO-basierten analogen Schnittstellenblock TRNG wie folgt beschrieben werden:
Erstens ist keine zusätzliche SET / RESET-Vorspannung erforderlich, um ein Zufallsbit zu erzeugen. In bisherigen Bauelementen war es so, dass ein Paar SET- und RESET-Impulse erforderlich war, um jedes Zufallsbit aufgrund der Nichtflüchtigkeit einer auf Cu / AlOx und Ti / HfOx basierenden memristiven Vorrichtung zu erzeugen (siehe [15], [16]). Ein solcher Nachteil führt zu einer niedrigen Bitrate von TRNGs. Die beispielhafte Vorrichtung der Fig. 4 löst dieses Problem, indem die natürliche stochastische Verteilung von SET- und RESET- Bias während Schaltvorgängen effizient ausgenutzt wird. Daher kann jeder einzelne SET- oder RESET-Bias ein zufälliges Bit durch YMO TRNG erzeugen. Zweitens ist während des Prozesses keine zusätzliche Lesevorspannung erforderlich. Die Zufallsbits werden auf der Grundlage des Vergleichs zwischen der Spannung über Rs (VRs = IM · Rs) und der Referenzspannung (Vref = Icc · Rs-V0) erzeugt. Drittens kann die Definition der Referenzspannung konstant gehalten werden. In dem vorgeschlagenen TRNG auf YMO-Basis steht die Definition von Vref in keinem Zusammenhang mit der Schaltvorspannung von YMO-Zellen. Sie ist klar definiert als Vref = Icc · Rs-V0, was für die großräumige Auslegung von TRNG zweckmäßig ist. CMOS-basierte stochastische Schaltungen bestehen aus SNG-Konvertierungsquellen und arithmetischen Logikgattern. SNGs sind wesentliche Komponenten für memristive Implementierungen von SC-Schaltungen. Der hohe Ressourcenverbrauch von herkömmlichen, in CMOS-Technologie entwickelten SNGs wird z.B. durch die beispielhafte Vorrichtung der Fig. 4 reduziert. Die inhärent stochastischen YMO-Memristorzellen werden hier vorgeschlagen, um das kostengünstige SNG zu realisieren.
Fig. 5 zeigt die Verteilung der Impulsamplitude einer einzelnen YMO Memristor-Zelle mit 100 Zyklen in Abhängigkeit von der Impulsbreite (100 ms, 200 ms, 500 ms, 1000 ms) in SET und RESET. Es wird eine Poissonverteilung mit einer großen Halbwertsbreite beobachtet, deren Mittelwert sich für SET mit zunehmender Impulsbreite zu kleineren Spannungen verschiebt. Beim Festsetzen der SET-Spannung kann somit die 0/1- Wahrscheinlichkeitsverteilung über die Impulsbreite eingestellt werden [13-14]).
Wie in Fig. 5 gezeigt ist, ist das stochastische Schaltverhalten der YMO-basierten Memristorzelle steuerbar, d.h. mit unterschiedlichen Impulsbreiten oder Impulsamplituden kann die Ausgabe mit Wahrscheinlichkeiten realisiert werden. Durch Verwenden dieser Schaltzeitabhängigkeit von memristiven Bauelementen auf der Basis von YMO (Fig. 5) ist es hilfreich, SNG aus TRNG in Fig. 4 für SC zu konstruieren. Nachfolgend werden weitere Ausführungsformen der Erfindung beschrieben.
In einer Ausführungsform kann beispielsweise eine Realisierung eines Sequence Number Generators (SNG; Zahlensequenzgenerator) mit einem einzelnen, elektroformierungsfreien, unipolaren Memristor ohne Elektroformierungsschritt vorgesehen sein. Gemäß einer Ausführungsform kann beispielsweise der Memristor eine stochastische Strom-Spannungs-Charakteristik haben, das heißt der Lesestrom Ir kann beispielsweise für eine vorgegebene Schreibspannung Uw, Schreibpulslänge tw und Lesespannung Ur zufällig unter oder oberhalb eines Schwellwertes (threshold) liegen.
In einer Ausführungsform kann beispielsweise der Memristor die stochastische Strom- Spannungs-Charakteristik zeigen, beispielsweise für positive Schreibspannungen, für negative Schreibspannungen, für Schreibspannungen, welche den Memristor in den High Resistance State (HRS) setzen (Ur=URESET), und für Schreibspannungen, welche den Memristor in den Low Resistance State (LRS) setzen (Ur=USET).
Gemäß einer Ausführungsform kann beispielsweise der Referenzwert für den Memristor festgelegt sein.
In einer Ausführungsform kann beispielsweise die Schreibpulslänge tp die Wahrscheinlichkeit des sequence number generators (SNG) in Abhängigkeit von der Schreibspannung, (negativ, positiv, URESET, USET) bestimmen.
Gemäß einer Ausführungsform kann beispielsweise die Schreibpulslänge intern zufällig gewählt werden, und damit kann beispielsweise die Wahrscheinlichkeit des sequence number generators zufällig gewählt werden.
In einer Ausführungsform kann beispielsweise eine Realisierung mehrerer (N) sequence number generators (SNG) mit mehreren (N) elektroformierungsfreien, unipolaren Memristoren ohne Elektroformierungsschritt erfolgen.
Gemäß einer Ausführungsform können beispielsweise die (N) Memristoren der (N) sequence number generators (SNG) mit einer gemeinsamen unstrukturierten oder einer strukturierte Rückseitenelektrode ausgeführt sein und in Reihe oder in Reihe und/oder parallel in einem Linien-Array oder in einem Crossbar-Array angeordnet sein.
In einer Ausführungsform kann beispielsweise jeder der N Memristoren eine stochastische Strom-Spannungs-Charakteristik haben, wobei z.B. der Lesestrom Ir für eine vorgegebene Schreibspannung Uw, Schreibpulslänge tw und Lesespannung Ur zufällig unter oder oberhalb eines Schwellwertes (threshold) anliegen kann. Gemäß einer Ausführungsform kann beispielsweise jeder der N Memristoren die stochastische Strom-Spannungs-Charakteristik zeigen, und zwar beispielsweise für positive Schreibspannungen, für negative Schreibspannungen, für Schreibspannungen, welche den Memristor in den High Resistance State (HRS) setzen (Ur=URESET), und für Schreibspannungen, welche den Memristor in den Low Resistance State (LRS) setzen (Ur=USET).
In einer Ausführungsform können beispielsweise (N) Referenzwerte für jeden der (N) Memristoren festgelegt sein.
Gemäß einer Ausführungsform kann beispielsweise die Schreibpulslänge tp eines jeden der (N) Memristoren die Wahrscheinlichkeit des sequence number generators (SNG) eines jeden der (N) Memristoren in Abhängigkeit von der Schreibspannung Uw (negativ, positiv, URESET, USET) bestimmen.
In einer Ausführungsform kann beispielsweise die Schreibpulslänge tp eines jeden der (N) Memristoren intern zufällig gewählt werden, wobei damit die Wahrscheinlichkeit des sequence number generators eines jeden der (N) Memristoren zufällig gewählt werden kann.
Als Anwendungsbeispiel kann dabei beispielsweise der Schlüsselaustausch gezeigt sein. Dafür kann beispielsweise ein true random number generator mit einem Grenzwert (Treshold): 50:50 verwendet werden. Als weiteres Anwendungsbeispiel kann beispielsweise stochastisches Rechnen mit einem sequence number generator vorgesehen sein,
Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats), wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder einer elektronischen Schaltung durchgeführt werden. Bei einigen Ausführungsbeispielen können einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat ausgeführt werden. Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software oder zumindest teilweise in Hardware oder zumindest teilweise in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer BluRay Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart Zusammenwirken können oder Zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein.
Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft.
Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist. Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft. Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist. Der Datenträger oder das digitale Speichermedium oder das computerlesbare Medium sind typischerweise greifbar und/oder nicht flüchtig.
Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms zu dem Empfänger umfassen. Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor Zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell ersetzbare Hardware wie ein Computerprozessor (CPU) sein oder eine für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.
Literatur:
[1] D. Evans. The internet of things: how the next evolution of the internet is changing everything. Cisco 1-11 (2011).
[2] M. Bucci, L. Germani, R. Luzzi, A. Trifiletti, & M. aranonuovo. A high-speed oscillator-based truly random number source for cryptographic applications on a smart card IC. IEEE Trans. Computers., 52: 403-409 (2003). [3] C. S. Petrie, J. A. Connelly. A noise-based IC random number generator for applications in cryptography. IEEE Trans. Circuits and Systems I., 47: 615-621 (2002).
[4] C. Tokunaga, D. Blaauw, T. Mudge, True random number generator with a metastability-based quality control. IEEE Journal of Solid-State Circuits (Proc. ISSCC)., 43: 78-85 (2008).
[5] A. G. Radwan, M. A. Zidan, K. N. Salama, “HP memristor mathematical model for periodic Signals and DC", IEEE International Midwest Symposium on Circuits and Systems, Seattle, USA, 861-864 (2010).
[6] C. Y. Huang, W. C. Shen, Y. H. Tseng, Y. C. King, & C. J. Lin. A contact resistive random-access-memory-based true random number generator. IEEE Electron Devices Lett., 33: 1108-1110 (2012).
[7] S. Ambrogio, S. Balatti, V. McCaffrey, D. Wang, and D. leimini. Im-Pact of low- frequency noise on read distributions of resistive Switching memory (RRAM). In IEDM Tech. Dig„ pp. 363-366, 14.4, (2014). [8] S. Balatti, S. Ambrogio, Z. Wang, D. leimini. True random number generation by variability of resistive switching in oxide-based devices. IEEE J. Emerg. Select. Top. Circuits Syst. 5, 214-221 (2015).
[9] S. Balatti, et al, “Physical unbiased generation of random numbers with coupled resistive switching devices. IEEE Transac", Electron Devices 63, 2029-2035 (2016). [10] A. Rukhin et al. A Statistical test suite for random and pseudorandom number generators for cryptographic applications. NIST., Special Publication: 800-822, (2010). [11] Z. Wei, et al. True random number generator using current difference based on a fractional stochastic model in 40-nm embedded ReRAM. IEEE Electron. Dev. Meet. 4.8.1-4.8.4 (San Franciso, CA, USA, 2016).
[12] A. Alaghi, and J. P. Hayes. Survey of stochastic computing. ACM Trans. Embed. Comput. Syst., vol. 12, no. 2s, pp. 92:1-92:19, May (2013).
[13] S. Jo, K. Kim, and W. Lu, "Programmable resistance switching in nanoscale two- terminal devices,” Nano Lett., vol. 9, no. 1, 496-500 (2008). [14] D. Strukov, J. Borghetti, and R. Williams, “Coupled ionic and electronic transport model of thin-film semiconductor memristive behavior,” Small, vol. 5, no. 9, 1058- 1063 (2009).
[15] S. Balatti, et al, “Physical unbiased generation of random numbers with coupled resistive switching devices. IEEE Transac”, Electron Devices 63, 2029-2035 (2016).
[16] A. Rukhin, et al, “A Statistical test suite for random and pseudorandom number generators for cryptographic applications", NIST, Special Publication 800-822, (2010).

Claims

Patentansprüche
1. Vorrichtung zur Erzeugung einer Sequenz von Zufallszahlen, wobei die Vorrichtung umfasst: ein schaltbares Element (110), das durch Anlegen einer ersten Vorspannung in einen ersten Zustand geschaltet werden kann, und das durch Anlegen einer zweiten Vorspannung, die von der ersten Vorspannung verschieden ist, in einen zweiten Zustand geschaltet werden kann; wobei das schaltbare Element (110) ausgebildet ist, wenn es durch die erste Vorspannung in den ersten Zustand geschaltet ist, eine erste Ausgangsspannung mit einem ersten zufälligen oder pseudozufälligen Spannungswert aus einem ersten Spannungs-Wertebereich auszugeben; und wobei das schaltbare Element (110) ausgebildet ist, wenn es durch die zweite Vorspannung in den zweiten Zustand geschaltet ist, eine zweite Ausgangsspannung mit einem zweiten zufälligen oder pseudozufälligen Spannungswert aus einem zweiten Spannungs-Wertebereich auszugeben; und einen Komparator, der ausgebildet ist, wenn die erste Ausgangsspannung aus dem ersten Wertebereich kleiner oder gleich einer ersten Grenzspannung ist, einen ersten Zahlenwert auszugeben; und wenn die erste Ausgangsspannung aus dem ersten Wertebereich größer als die erste Grenzspannung ist, einen zweiten Zahlenwert, der von dem ersten Zahlenwert verschieden ist, auszugeben; wobei der Komparator ausgebildet ist, wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich kleiner oder gleich einer zweiten Grenzspannung ist, den ersten Zahlenwert auszugeben, und wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich größer als die zweite Grenzspannung ist, den zweiten Zahlenwert auszugeben; oder wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich kleiner oder gleich einer zweiten Grenzspannung ist, den zweiten Zahlenwert auszugeben, und wenn die zweite Ausgangsspannung aus dem zweiten Wertebereich größer als die zweite Grenzspannung ist, den ersten Zahlenwert auszugeben.
2. Vorrichtung nach Anspruch 1, wobei der Komparator ausgebildet ist, in einem ersten Ausgabeschritt als einen ersten Ausgabewert den ersten Zahlenwert oder den zweiten Zahlenwert auszugeben, wobei die Vorrichtung ausgebildet, abhängig davon, ob der Komparator den ersten Zahlenwert oder den zweiten Zahlenwert ausgibt, entweder die erste Vorspannung oder die zweite Vorspannung an das schaltbare Element (110) anzulegen, wobei das schaltbare Element (110) ausgebildet ist, einen weitere Ausgangsspannung mit einem zufälligen oder pseudozufälligen Spannungswert, abhängig davon, ob die erste Vorspannung oder die zweite Vorspannung angelegt wurde, aus dem ersten Spannungs-Wertebereich oder aus dem zweiten Spannungs-Wertebereich auszugeben, und wobei der Komparator ausgebildet ist, in einem zweiten Ausgabeschritt als einen zweiten Ausgabewert den ersten Zahlenwert oder den zweiten Zahlenwert abhängig von der weiteren Ausgangsspannung auszugeben.
3. Vorrichtung nach Anspruch 2, wobei die Vorrichtung des Weiteren einen Multiplexer (130) aufweist, der ausgebildet ist, abhängig davon, ob der Komparator den ersten Zahlenwert oder den zweiten Zahlenwert ausgibt, entweder die erste Vorspannung oder die zweite Vorspannung an das schaltbare Element (110) anzulegen.
4. Vorrichtung nach einem der vorherigen Ansprüche, wobei das schaltbare Element (110) ein Memristor ist.
5. Vorrichtung nach einem der vorherigen Ansprüche, wobei das schaltbare Element (110) Yttrium-Manganoxid aufweist.
6. Vorrichtung nach einem der vorherigen Ansprüche, wobei das schaltbare Element (110) Bismut-Ferrit und/oder mit Titan dotiertes Bismut-Ferrit aufweist.
7. Vorrichtung nach einem der vorherigen Ansprüche, wobei ein größter absoluter Wert des ersten Spannungs-Wertebereichs mindestens doppelt so groß wie ein größter absoluter Wert des zweiten Spannungs- Wertebereichs ist, oder wobei der größte absolute Wert des zweiten Spannungs-Wertebereichs mindestens doppelt so groß wie der größte absolute Wert des ersten Spannungs-Wertebereichs ist.
8. Vorrichtung nach Anspruch 7, wobei der größte absolute Wert des ersten Spannungs-Wertebereichs mindestens viermal so groß wie der größte absolute Wert des zweiten Spannungs- Wertebereichs ist, oder wobei der größte absolute Wert des zweiten Spannungs-Wertebereichs mindestens viermal so groß wie der größte absolute Wert des ersten Spannungs-Wertebereichs ist.
9. Vorrichtung nach einem der vorherigen Ansprüche, wobei die zweite Grenzspannung von der ersten Grenzspannung verschieden ist.
10. Vorrichtung nach einem der vorherigen Ansprüche, wobei die erste Grenzspannung derart definiert ist, dass eine statistische Wahrscheinlichkeit, dass die erste Ausgangsspannung mit dem ersten zufälligen oder pseudozufälligen Spannungswert größer als die erste Grenzspannung ist, einen Wert zwischen 45 % und 55 % aufweist, und/oder, wobei die zweite Grenzspannung derart definiert ist, dass eine statistische Wahrscheinlichkeit, dass die zweite Ausgangsspannung mit dem zweiten zufälligen oder pseudozufälligen Spannungswert größer als die zweite Grenzspannung ist, einen Wert zwischen 45 % und 55 % aufweist.
11. Vorrichtung nach Anspruch 10, wobei die erste Grenzspannung derart festgelegt ist, dass die statistische Wahrscheinlichkeit, dass die erste Ausgangsspannung mit dem ersten zufälligen oder pseudozufälligen Spannungswert größer als die erste Grenzspannung ist, 50 % ist, und/oder, wobei die zweite Grenzspannung derart festgelegt ist, dass die statistische Wahrscheinlichkeit, dass die zweite Ausgangsspannung mit dem zweiten zufälligen oder pseudozufälligen Spannungswert größer als die erste Grenzspannung ist, 50 % ist.
12. Vorrichtung nach einem der vorherigen Ansprüche, wobei die Sequenz von Zufallszahlen eine binäre Sequenz von Zufallszahlen ist, wobei eine Ausgabe des ersten Zahlenwerts oder des zweiten Zahlenwerts durch den Komparator genau einer Zufallszahl der binären Sequenz von Zufallszahlen entspricht.
13. Vorrichtung nach einem der Ansprüche 1 bis 11, wobei die Vorrichtung ausgebildet ist, eine Zufallszahl der Sequenz von Zufallszahlen unter Verwendung von mehreren Zahlenwerten zu bilden, die von dem Komparator ausgegeben werden.
14. Vorrichtung nach Anspruch 13, wobei die Vorrichtung ausgebildet ist, die besagte Zufallszahl der Sequenz von Zufallszahlen unter Verwendung der besagten mehreren Zahlenwerte zu bilden, die von dem Komparator ausgegeben werden, indem jede der besagten mehreren Zahlenwerte genau eine Binärstelle der besagten Zufallszahl der Sequenz von Zufallszahlen in Binärschreibweise bildet.
15. Vorrichtung nach einem der vorherigen Ansprüche, wobei die Vorrichtung eine Strombegrenzungs-Einheit aufweist, die bei Anlegen der ersten Vorspannung einen vordefinierten Eingangsstrom an das schaltbare Element (110) anlegt.
16. Vorrichtung nach einem der vorherigen Ansprüche, wobei die Vorrichtung zwei oder mehr Memristoren aufweist.
17. Vorrichtung nach Anspruch 16, wobei die Mehrzahl der Memristoren in Reihe angeordnet sind, und/oder wobei die Mehrzahl der Memristoren parallel in einem Linien-Array angeordnet sind, und/oder wobei die Mehrzahl der Memristoren in einem Crossbar-Array angeordnet sind.
18. Vorrichtung nach einem der vorherigen Ansprüche, wobei das schaltbare Element (110) ein erstes schaltbares Element ist, wobei der Komparator ein erster Komparator ist, und wobei die Vorrichtung des Weiteren ein weiteres schaltbares Element und einen weiteren Komparator aufweist, um Zufallszahlen der Sequenz von Zufallszahlen zu erzeugen.
19. Verfahren zur Erzeugung einer Sequenz von Zufallszahlen, wobei das Verfahren umfasst: Anlegen einer ersten Vorspannung an ein schaltbares Element, um das schaltbare Element in einen ersten Zustand zu schalten, oder Anlegen einer zweiten Vorspannung, die von der ersten Vorspannung verschieden ist, an das schaltbare Element, um das schaltbare Element in einen zweiten Zustand zu schalten; wobei das schaltbare Element ausgebildet ist, wenn es durch die erste Vorspannung in den ersten Zustand geschaltet ist, eine erste Ausgangsspannung mit einem ersten zufälligen oder pseudozufälligen Spannungswert aus einem ersten Spannungs- Wertebereich auszugeben; und wobei das schaltbare Element ausgebildet ist, wenn es durch die zweite Vorspannung in den zweiten Zustand geschaltet ist, eine zweite Ausgangsspannung mit einem zweiten zufälligen oder pseudozufälligen Spannungswert aus einem zweiten Spannungs-Wertebereich auszugeben; und
Ausgeben eines ersten Zahlenwerts, wenn die erste Ausgangsspannung aus dem ersten Wertebereich kleiner oder gleich einer ersten Grenzspannung ist; oder Ausgeben einen zweiten Zahlenwerts, der von dem ersten Zahlenwert verschieden ist, wenn die erste Ausgangsspannung aus dem ersten Wertebereich größer als die erste Grenzspannung ist; oder
Ausgeben des zweiten Zahlenwerts, wenn die erste Ausgangsspannung aus dem ersten Wertebereich kleiner oder gleich einer ersten Grenzspannung ist; oder Ausgeben des ersten Zahlenwerts, wenn die erste Ausgangsspannung aus dem ersten Wertebereich größer als die erste Grenzspannung ist.
20, Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens nach Anspruch 19.
PCT/EP2021/064222 2020-05-29 2021-05-27 Vorrichtung und verfahren zur hardware-basierten zufallszahlen- und zahlenfolgen-generierung WO2021239886A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP21729485.9A EP4158464A1 (de) 2020-05-29 2021-05-27 Vorrichtung und verfahren zur hardware-basierten zufallszahlen- und zahlenfolgen-generierung
US18/059,530 US20230090726A1 (en) 2020-05-29 2022-11-29 Apparatus and method for hardware-based random number and sequence of numbers generation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020206790.2A DE102020206790A1 (de) 2020-05-29 2020-05-29 Vorrichtung und Verfahren zur Hardware-basierten Zufallszahlen- und Zahlenfolgen-Generierung
DE102020206790.2 2020-05-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/059,530 Continuation US20230090726A1 (en) 2020-05-29 2022-11-29 Apparatus and method for hardware-based random number and sequence of numbers generation

Publications (1)

Publication Number Publication Date
WO2021239886A1 true WO2021239886A1 (de) 2021-12-02

Family

ID=76250334

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/064222 WO2021239886A1 (de) 2020-05-29 2021-05-27 Vorrichtung und verfahren zur hardware-basierten zufallszahlen- und zahlenfolgen-generierung

Country Status (4)

Country Link
US (1) US20230090726A1 (de)
EP (1) EP4158464A1 (de)
DE (1) DE102020206790A1 (de)
WO (1) WO2021239886A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022125356A1 (de) 2022-09-30 2024-04-04 TechIFab GmbH Vorrichtungen und verfahren zum betreiben eines memristiven bauelements

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190042201A1 (en) * 2016-03-08 2019-02-07 Politecnico Di Milano Device and method for generating random numbers

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10217046B2 (en) 2015-06-29 2019-02-26 International Business Machines Corporation Neuromorphic processing devices
GB2548081B (en) 2016-02-23 2019-10-02 Univ Oxford Brookes Logic gate
US10708041B2 (en) 2017-04-30 2020-07-07 Technion Research & Development Foundation Limited Memresistive security hash function

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190042201A1 (en) * 2016-03-08 2019-02-07 Politecnico Di Milano Device and method for generating random numbers

Non-Patent Citations (17)

* Cited by examiner, † Cited by third party
Title
A. ALAGHIJ. P. HAYES: "Survey of stochastic computing", ACM TRANS. EMBED. COMPUT. SYST., vol. 12, no. 2, 19 May 2013 (2013-05-19)
A. G. RADWANM. A. ZIDANK. N. SALAMA: "HP memristor mathematical model for periodic signals and DC", IEEE INTERNATIONAL MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS, SEATTLE, USA, 2010, pages 861 - 864, XP031732787
A. RUKHIN ET AL.: "A statistical test suite for random and pseudorandom number generators for cryptographic applications", NIST, SPECIAL PUBLICATION, 2010, pages 800 - 822
A. RUKHIN ET AL.: "A statistical test suite for random and pseudorandom number generators for cryptographic applications", NIST., SPECIAL PUBLICATION, 2010, pages 800 - 822
C. S. PETRIEJ. A. CONNELLY: "A noise-based IC random number generator for applications in cryptography", IEEE TRANS. CIRCUITS AND SYSTEMS I., vol. 47, 2002, pages 615 - 621
C. TOKUNAGAD. BLAAUWT. MUDGE: "True random number generator with a metastability-based quality control", IEEE JOURNAL OF SOLID-STATE CIRCUITS, vol. 43, 2008, pages 78 - 85
CHIEN-YUAN HUANG ET AL: "A Contact-Resistive Random-Access-Memory-Based True Random Number Generator", IEEE ELECTRON DEVICE LETTERS, IEEE, USA, vol. 33, no. 8, 1 August 2012 (2012-08-01), pages 1108 - 1110, XP011453901, ISSN: 0741-3106, DOI: 10.1109/LED.2012.2199734 *
D. EVANS: "The internet of things: how the next evolution of the internet is changing everything", CISCO, 2011, pages 1 - 11
D. STRUKOVJ. BORGHETTIR. WILLIAMS: "Coupled ionic and electronic transport model of thin-film semiconductor memristive behavior", SMALL, vol. 5, no. 9, 2009, pages 1058 - 1063
M. BUCCIL. GERMANIR. LUZZIA. TRIFILETTIM. ARANONUOVO: "A high-speed oscillator-based truly random number source for cryptographic applications on a smart card IC", IEEE TRANS. COMPUTERS, vol. 52, 2003, pages 403 - 409, XP002269732, DOI: 10.1109/TC.2003.1190581
S. AMBROGIOS. BALATTIV. MCCAFFREYD. WANGD. LELMINI: "Im-Pact of lowfrequency noise on read distributions of resistive switching memory (RRAM", IN IEDM TECH. DIG., 2014, pages 363 - 366
S. BALATTI ET AL.: "Physical unbiased generation of random numbers with coupled resistive switching devices. IEEE Transac", ELECTRON DEVICES, vol. 63, 2016, pages 2029 - 2035
S. BALATTIS. AMBROGIOZ. WANGD. LELMINI: "True random number generation by variability of resistive switching in oxide-based devices", IEEE J. EMERG. SELECT. TOP. CIRCUITS SYST., vol. 5, 2015, pages 214 - 221, XP011583939, DOI: 10.1109/JETCAS.2015.2426492
S. JOK. KIMW. LU: "Programmable resistance switching in nanoscale twoterminal devices", NANO LETT., no. 9, 2008, pages 496 - 500
WANG YANDAN WANGYANDAN418@GMAIL COM ET AL: "A Novel True Random Number Generator Design Leveraging Emerging Memristor Technology", COMPUTING FRONTIERS, ACM, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, 20 May 2015 (2015-05-20), pages 271 - 276, XP058510380, ISBN: 978-1-4503-3358-0, DOI: 10.1145/2742060.2742088 *
Y. HUANGW. C. SHENY. H. TSENGY. C. KINGC. J. LIN: "A contact resistive random-access-memory-based true random number generator", IEEE ELECTRON DEVICES LETT., vol. 33, 2012, pages 1108 - 1110, XP011453901, DOI: 10.1109/LED.2012.2199734
Z. WEI ET AL.: "True random number generator using current difference based on a fractional stochastic model in 40-nm embedded ReRAM. IEEE Electron", DEV. MEET., 2016

Also Published As

Publication number Publication date
US20230090726A1 (en) 2023-03-23
EP4158464A1 (de) 2023-04-05
DE102020206790A1 (de) 2021-12-02

Similar Documents

Publication Publication Date Title
DE102004047425B4 (de) Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen
DE102020107174A1 (de) Selbstheilende dot-product engine
Gaba et al. Memristive devices for stochastic computing
Hu et al. The stochastic modeling of TiO 2 memristor and its usage in neuromorphic system design
DE102008018678A1 (de) Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
DE202011052201U1 (de) Variable Architektur für Zufallszahlengeneratoren
DE112012005565T5 (de) Elektronische Synapsen aus stochastischen binären Speichereinheiten
DE112020000929T5 (de) Programmieren eines phasenwechselspeichersin einer geschlossenen schleife
Chai et al. GeSe-based ovonic threshold switching volatile true random number generator
WO2021239886A1 (de) Vorrichtung und verfahren zur hardware-basierten zufallszahlen- und zahlenfolgen-generierung
DE102019116407A1 (de) Realisierung neuronaler netze mit ternären eingängen und binären gewichten in nand-speicherarrays
KR102499691B1 (ko) 단일 게이트의 피드백 전계효과 전자소자를 이용하는 축적 및 발화 뉴런회로
Ahmadi-Farsani et al. A CMOS–memristor hybrid system for implementing stochastic binary spike timing-dependent plasticity
Ntinas et al. Memristor-based probabilistic cellular automata
Saxena High LRS-resistance CMOS memristive synapses for energy-efficient neuromorphic SoCs
Wu et al. Enabling bio-plausible multi-level stdp using cmos neurons with dendrites and bistable rrams
EP4158840B1 (de) Vorrichtung und verfahren zur erzeugung von hardware-basierten physikalisch nicht klonbaren funktionen und deren verwendung
Xu et al. Analog memristor based neuromorphic crossbar circuit for image recognition
Wouters et al. Reliability of Computing-In-Memory Concepts Based on Memristive Arrays
DE102020206796A1 (de) Memristor-basierte Volladdierer und Verfahren zu deren Betrieb
DE102019119744A1 (de) Konfigurierbares präzises neuronales netz mit differentieller binärer, nichtflüchtiger speicherzellenstruktur
DE112020003371T5 (de) Unterdrücken von ausreisserdriftkoeffizienten während des programmierens von phasenwechsel-speichersynapsen
Nielen et al. Memristive Sorting Networks Enabled by Electrochemical Metallization Cells.
DE102022125356A1 (de) Vorrichtungen und verfahren zum betreiben eines memristiven bauelements
Chen et al. Memristor crossbar array for image storing

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: 21729485

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021729485

Country of ref document: EP

Effective date: 20230102