A True Random Number Generator based on Parallel STT-MTJs

Yuanzhuo Qu1,a, Jie Han1,b, Bruce F. Cockburn1,c, Witold Pedrycz1,d, Yue Zhang2,e and Weisheng Zhao2,f
1Electrical and Computer Engineering, University of Alberta, Edmonton, Alberta, Canada.
2Electronic and Information Engineering, Beihang University, Beijing, China.


Random number generators are an essential part of cryptographic systems. For the highest level of security, true random number generators (TRNG) are needed instead of pseudo-random number generators. In this paper, the stochastic behavior of the spin transfer torque magnetic tunnel junction (STT-MTJ) is utilized to produce a TRNG design. A parallel structure with multiple MTJs is proposed that minimizes device variation effects. The design is validated in a 28-nm CMOS process with Monte Carlo simulation using a compact model of the MTJ. The National Institute of Standards and Technology (NIST) statistical test suite is used to verify the randomness quality when generating encryption keys for the Transport Layer Security or Secure Sockets Layer (TLS/SSL) cryptographic protocol. This design has a generation speed of 177.8 Mbit/s, and an energy of 0.64 pJ is consumed to set up the state in one MTJ.

Keywords: Magnetic tunnel junctions, True random number generators, Statistical tests, Device variations.

Full Text (PDF)