A new hysteresis-based technique for random number generation is presented which can be efficiently implemented by using modern spintronics based nano-technology. Thermal fluctuation induced random switchings of rectangular hysteresis loops are utilized whose outputs result in the generation of random binary numbers. Mathematically, the random switching is treated as a repeated sequence of two exit problems for stationary stochastic processes, which are shown to be reduced to the solution of initial boundary value problems for the appropriate backward Kolmogorov equations. Analytical solution of these boundary value problems are carried out for the stationary Gaussian Markov Ornstein-Uhlenbeck process. An alternative approach to the analysis of the random switching based on stochastic processes on graphs is also discussed with special attention paid to the trade-offs between the strength of thermal noise and the widths of the hysteresis loops.

## I. INTRODUCTION

Random number generation has many important applications, examples of which include cryptography, Monte Carlo simulations, statistical sampling and gambling.^{1} For these reasons, random number generation is a standard software (or hardware) component of modern computers. Spintronics based devices are playing a prominent role in a wide-range of electronic^{2} and low-power applications, especially owing to their success in Nonvolatile (NV) memory applications.^{3} Spin based devices have also enabled new quantum computing and information processing techniques not feasible with more conventional charge based technologies. Especially, the integration of spintronics devices into integrated circuits opens the possibility for many other important applications of current technological interest.

In this paper, we discuss a new hysteresis-based technique for random number generation which can be efficiently implemented by using modern spintronics based nano-technology. This is especially appealing in spintronics where very small and sensitive to thermal noise magnetic elements (particles) with rectangular hysteresis loops can be used for random binary number generation. Indeed, it is well-known that single-domain thin-film magnetic particles with uniaxial anisotropy exhibit rectangular hysteresis characteristics along their easy axis.^{4,5} The central idea of this random number generation is the utilization of random switching of rectangular hysteresis loops (see Fig. 1) due to random thermal perturbations. This approach naturally leads to the generation of random binary numbers as the outputs of rectangular hysteresis loops shown in Fig. 2. For convenience, in the subsequent discussions the output state of the rectangular hysteresis is scaled to 1 for positive saturation (+*M*_{s}) and 0 for negative saturation (−*M*_{s}), respectively.

Mathematically, the random switching of rectangular hysteresis loops due to thermal input fluctuations are treated by two related approaches: first as an exit problem for stationary stochastic processes and second as random switching based on stochastic processes on graphs.

## II. RANDOM NUMBER GENERATION AS AN EXIT PROBLEM

Consider the hysteresis transducer shown in Fig. 1 driven by random thermal fluctuations. These fluctuations can be represented by a stationary stochastic process as an input to the rectangular hysteresis loop. Employing the aforementioned scaling, the random output *i*_{t} of the stochastically driven rectangular loop, schematically shown in Figure 2, is given as

Here, $\gamma ^\alpha \beta $ is a rectangular hysteresis operator with outputs of 0 for the lower branch and 1 for the upper branch. The output of this hysteresis loop can be construed as a sequence of consecutive and identical exit problems for this stationary stochastic processes. Specifically, the switching up of the loop when the output is at negative saturation (the 0 state), and the switching down of the loop when the output is at positive saturation (the 1 state). It is worth to mention that the actual computer generation of random binary numbers occurs as a result of sampling of this continuous-in-time stochastic process *i*_{t}.

The mathematical characterization of this process will be accomplished by treating random switching as a set of exit problems for the random input process *x*_{t}. This will be briefly illustrated as follows. Consider the case when the initial value of input and output are: *x*_{0} < *α* and *i*_{0} = 0, respectively. The random upward switching of the rectangular loop $\gamma ^\alpha \beta $ occurs when the stochastic process *x*_{t} starting from the point *x*_{0} exits for the first time the bold semi-infinite line shown in Figure 3a at *α*. Subsequently, the process switches to the upper branch $\gamma ^\alpha \beta xt=1$. The second random switching (downward) of the rectangular loop $\gamma ^\alpha \beta $ occurs when the stochastic process *x*_{t} starting from *α* exits the bold semi-infinite line shown in Figure 3b at *β*, and the process switches back to the lower branch $\gamma ^\alpha \beta xt=0$. Similarly, the third random switching (upward) of the rectangular loop $\gamma ^\alpha \beta $ occurs when the stochastic process *x*_{t} starting from *β* exits the bold semi-infinite line shown in Figure 3c at *α*. It is can clearly be seen that all subsequent even switchings occur in the same manner as the second switching, while all subsequent odd switchings occur in the same way as the third switching. As a result, it can be concluded that the random switchings of rectangular loop $\gamma ^\alpha \beta $ can be mathematically framed as the aforementioned sequence of exit problems for the stochastic process *x*_{t}.

According to the theory of stochastic differential equations, these exit problems can be characterized by their exit time probability functions, *v*^{+}(*x*, *t*) and *v*^{0}(*x*, *t*), defined as follows:

and

where subscripts correspond to the starting point of the thermal fluctuation, while superscripts indicate upward and downward switching caused by the exits of the stochastic process. These functions have the following meaning. Subsequent to a downward switching (at some time *t* = 0), the input process starts from *x* = *β* and with probability *v*^{+}(*β*, *t*) does not exit the semi-infinite interval (−∞, *α*) for time duration *t*, i.e., $\gamma ^\alpha \beta $ remains at 0. This can be stated in terms of random number generation as follows: After the last generation of 0, *v*^{+}(*β*, *t*) is the probability of random generation of 1 after time t. Similarly, subsequent to an upward switching (at some time *t* = 0), the input process starts from *x* = *α* and with probability *v*^{0}(*α*, *t*) does not exit the semi-infinite interval (*β*, + ∞) for time duration *t*, i.e., $\gamma ^\alpha \beta $ remains at 1. In other words, after the last generation of 1, *v*^{0}(*α*, *t*) is the probability of random generation of 0 after time t.

It is well-known that these probability functions are solutions of initial boundary value problems for the appropriate backward Kolmogorov equations corresponding to the stochastic thermal fluctuation process *x*_{t}. It is natural to model the thermal fluctuation to be the Ornstein-Uhlenbeck process which is the only stationary Gaussian Markov process.^{6} For the Ornstein-Uhlenbeck process, it turns out that the exit time probabilities associated with the intervals shown in Figure 3 can be computed analytically in the Laplace transform domain. Employing the following standard Laplace transform definition:

the analytical solutions to the boundary value problems can be found in terms of parabolic cylinder functions.^{6} Namely,

where

and $D\u2212s/b$ are parabolic cylinder functions which are special functions and are extensively studied in mathematics.^{7}

The exit time technique is very transparent from the physical point of view. It allows the calculation for the probability functions of the durations of the 0-state and 1-state in terms of standard mathematical functions. While, extending this formalism to the calculation of the mean and variance is possible, the mathematical steps are more complicated.^{6} Fortunately, there is an alternative approach to characterize the random binary process employing the formalism of stochastic processes on graphs, which will be presented in the next section.

## III. RANDOM NUMBER GENERATION AS STOCHASTIC PROCESSES ON GRAPHS

An alternative approach to the exit time analysis is based on the theory of stochastic processes on graphs.^{8} In this section the main results of the application of this approach to the calculation of the mean and variance of the binary random process are presented. The presentation is based largely on the results from the paper.^{9}

The approach is based on the following fact: The output of the rectangular hysteresis loop $it=\gamma ^\alpha \beta \u2009xt$ is a random binary process which is **not** Markovian. However, the two-component process $y\u2192t=itxt$ is Markovian. This is because the rectangular loop operators describe hysteresis with local memory which means that joint specifications of current values of input and output uniquely define the states of this hysteresis. The two-component process $y\u2192t$ is defined on the four-edge graph shown in Fig. 4, which corresponds to rectangular loop $\gamma ^\alpha \beta $. The binary process *i*_{t} presumes constant values on each edge *I*_{k}, (*k* = 1, 2, 3, 4) of this graph.

The two component Markovian process $y\u2192t$ can be characterized by the transition probability density $\rho y\u2192,t|y\u21920,t0$ defined on all edges of the above graph. This justifies the following equations:

It is apparent that

and

where *ρ* is the transition probability density of the process $y\u2192t$. On each edge of the graph *ρ*^{(k)} satisfies the forward Kolmogorov equation with certain boundary conditions.^{9} Fortunately, in case of the Gaussian stationary Ornstein-Uhlenbeck process, an analytical solution to the probability density function on each graph edge can be obtained. Subsequently, these expressions can be used to calculate the expected value (mean) $it\xaf$ and variance $\sigma it2$ of the binary random output of the rectangular hysteresis loop, as follows:

where

and the stationary distribution

By using these expressions the stationary expected value *ī*_{t} and variance $\sigma it2$ have been computed as functions of the mean value, $x\xaf$, of the input Ornstein-Uhlenbeck process *x*_{t} for symmetric rectangular loops $\gamma ^\alpha ,\u2212\alpha $. The results of computations are presented in Figures 5 and 6, respectively. These results are plotted for normalized $x\xaf$-values $\nu =x\xaf/\alpha $ and normalized values of switching thresholds $\alpha \u0303=\alpha /\lambda $, where *λ*^{2} ≡ *σ*^{2}/*b* is the variance of the stationary distribution of Ornstein-Uhlenbeck process *x*_{t}.

## IV. CONCLUSION

A new hysteresis based approach was presented to generate binary random numbers which can be implemented by using spintronics based nano-technology. It is shown that thermal fluctuation induced random switchings of rectangular hysteresis loops result in the generation of random binary numbers. The characteristics of the binary random numbers are derived employing the exit-problem and the stochastic processes on graphs formalisms of stochastic differential equation theory. Sample calculations are presented for the mean and variance of the binary random process. It is important to note here that actual implementation of this approach depends on how fast the spintronic device switches, or the mean value of the random exit times. As it is clear from the discussion of the exit problem, the switching time is a function of the rectangular hysteresis loop width, which in turn may depend on the anisotropy as well as the volume of the particle. It is also worthwhile to point out that this technique can be implemented by using the physical phenomenon of optical hysteresis.