Improving Ring-oscillator-based True Random Number Generators using Multiple Sampling - JSTS

Page created by Edwin Beck
 
CONTINUE READING
Improving Ring-oscillator-based True Random Number Generators using Multiple Sampling - JSTS
JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE, VOL.19, NO.3, JUNE, 2019                             ISSN(Print) 1598-1657
https://doi.org/10.5573/JSTS.2019.19.3.305                                                            ISSN(Online) 2233-4866

Improving Ring-oscillator-based True Random Number
        Generators using Multiple Sampling
                                   Piljoo Choi1, Ji-Hoon Kim2, and Dong Kyue Kim3

Abstract—A ring-oscillator-based true random                      implemented via simple structures. TRNGs based on ring
number generator (TRNG) can be implemented using                  oscillators (ROs) [1-6] are widely used because of their
only digital standard cells. However, this requires               simple structures and low cost of implementation; such
significant hardware resources to compensate for the              generators use only digital standard cells without
low bit rate. In this letter, we propose an improved              complex analog circuits. However, the main entropy in
Fibonacci and Galois ring oscillator (FIGARO)                     RO-based TRNGs occurs because of jitter accumulation
TRNG based on a multiple-sampling technique. We                   in ROs, which is very time consuming. Although low bit
implemented FIGARO TRNGs with and without                         rates due to jitter accumulation can be overcome by using
multiple sampling in the same field-programmable                  multiple ROs, this uses more hardware resources [2].
gate array and tested the generators’ randomness                     In previous work [6], we proposed a multiple-
using the National Institute of Standards and                     sampling technique and compared it to a conventional
Technology (NIST) random test suite. Our                          RO-based TRNG method. To compensate for the low bit
experimental results show that the proposed FIGARO                rate, we did not increase the number of ROs like the
TRNG with multiple sampling requires 3.67-4.76                    conventional method, but used multiple clock signals
times fewer resources than when only FIGAROs are                  with different phases instead of a single clock signal.
used for the same bit rates.                                      Here, using our multiple-sampling technique as a basis,
                                                                  we improve the Fibonacci and Galois ring oscillator
Index Terms—Random number generation, entropy,                    (FIGARO) TRNG [3-5], which is widely used [7-9].
oscillators, signal sampling, field programmable gate                Because jitter accumulates randomly in a FIGARO, a
arrays                                                            TRNG using a FIGARO can generate entropy faster than
                                                                  TRNGs using only normal ROs. Although a FIGARO
                    I. INTRODUCTION                               TRNG also requires multiple FIGAROs to achieve high
                                                                  bit rates, the number of required FIGAROs can be
  Random numbers can be generated by two types of                 reduced by using multiple sampling [6]. We
generators: pseudo-random number generators (PRNGs)               implemented both the original FIGARO TRNG without
and true random number generators (TRNGs). PRNGs                  multiple sampling and our new FIGARO TRNG with
use complex algorithms, whereas TRNGs can be                      multiple sampling in the same field-programmable gate
                                                                  array (FPGA) and compared these two types of TRNGs
                                                                  in terms of their bit rates and hardware resource usage.
Manuscript received Nov. 30, 2018; accepted Apr. 9, 2019
1                                                                 During our experiments, we verified the randomness of
  Software Education Committee, Hanyang University, 222
Wangsimni-ro, Seongdong-gu, Seoul 04763, Korea                    the TRNGs using the National Institute of Standards and
2
  Dept. of Electronic and Electrical Engineering, Ewha Womans
University, 52 Ewhayeodae-gil, Seodaemun-gu, Seoul 03760, Korea
                                                                  Technology (NIST) random test suite [10].
3
  Dept. of Electronic Engineering, Hanyang University, 222
Wangsimni-ro, Seongdong-gu, Seoul 04763, Korea
E-mail : dqkim@hanyang.ac.kr
Improving Ring-oscillator-based True Random Number Generators using Multiple Sampling - JSTS
306       PILJOO CHOI et al : IMPROVING RING-OSCILLATOR-BASED TRUE RANDOM NUMBER GENERATORS USING MULTIPLE …

Fig. 1. Structure of FIGARO.

                   II. PREVIOUS TRNG

   The FIGARO TRNG was proposed in [3] and only
                                                                       Fig. 2. Our new FIGARO TRNG using multiple sampling.
approximately 50 ns are required after a restart until the
standard deviation of its outputs reaches a value close to
0.5. This is a much shorter duration than the thousands of                            III. PROPOSED DESIGN
ns required for a normal RO [4]. Compared to a normal
RO, this difference is caused by the more complex                         By applying multiple-sampling technique, our
structure of the FIGARO, which consists of a Fibonacci                 improved TRNG can generate random bits at high bit
RO (FIRO) and a Galois RO (GARO), as illustrated in                    rates and requires a single FIGARO rather than multiple
Fig. 1.                                                                FIGAROs. Including the additional circuits for multiple
   A FIRO and a GARO are configured using the binary                   sampling, the structure of our TRNG is described in Fig.
                            r1 -1                           r2 -1      2, where N is the number of cells in the clock generator.
polynomials f ( x ) = 1 + å f i x i + x r1 and g ( x ) = 1 + ågi x i      In contrast to a conventional FIGARO TRNG depicted
                             i =1                            i =1
                                                                       in Fig. 1, our new TRNG additionally has a multiple-
+ x r2 , respectively. The paths marked f i and gi are                 sampling unit (MSU) before the FIGAROs are sampled
shorted or open depending on the values of f i and gi .                by the clksystem. The N-phase clock signals for MSU come
This creates multiple inner loops in the feedback                      from the cells connected within a feedback structure in
structure, which causes pseudo-randomness. In contrast,                the clock generator, and one by one, they are distributed
a normal RO has only a single loop. As a result, sampling              to N pairs of falling-edge and rising-edge-triggered flip-
the FIGARO rather than a normal RO is much more                        flops (FFs) in the MSU. The total 2N FFs sample the
advantageous for obtaining entropy [4].                                common data signal from the FIGARO at the falling-
   Depending on the frequency of the system clock or the               edge and rising-edge of the N-phase clock signals.
required bit rate, more than one FIGARO can be used;                      Because the intervals between the sampling points at
for example, M = 5 at 12 MHz in [5], where M is the                    2N FFs are very short, the multiple-sampling technique
minimum number of FIGAROs required to pass the                         increases the probability that the data signals are sampled
NIST random test suite [10]. When M > 1, before being                  near the threshold voltage. This unstable state, which
sampled by the system clock, clksystem, the FIGARO                     does not have a definite value of one or zero, is referred
outputs are combined into one signal using simple logic                to as meta-stable. This meta-stability is a source of
gates, such as the exclusive-or (XOR) gate shown in Fig.               entropy in TRNGs. Multiple sampling can cause meta-
1. To remove bias and further improve randomness, the                  stability, which improves randomness and reduces M
XOR gate can be replaced with more complex logic gates,                compared to TRNGs using FIGAROs alone [5].
called a post-processing unit (PPU).                                      As a PPU, we chose to use a linear feedback shift
                                                                       register (LFSR), as used in [6]. The LFSR is configured
                                                                                                                             2 N -1

                                                                       using an irreducible polynomial         p ( x) = 1+   åp x     i
                                                                                                                                          i

                                                                                                                              i =1
Improving Ring-oscillator-based True Random Number Generators using Multiple Sampling - JSTS
JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE, VOL.19, NO.3, JUNE, 2019                                                                     307

Table 1. Random test results of our TRNG at 100 and 50 MHz                Table 2. Implementation results at 50 and 100 MHz
                                  With FIGARO          With FIRO                                                                      BPA
                                                                                              Clk freq.        Area     Bit rate æ
              Test                 @ 100 MHz           @ 50 MHz                   TRNG                  M     (LUTs +                Mbps       ö
                                                                                               (MHz)           Regs.)
                                                                                                                        (Mbps) çç               ÷÷
                                 P-valueT   Prop.   P-valueT    Prop.                                                            è LUTs + Regs. ø
           Frequency              0.3925    0.992    0.6080     0.989                           50      3     211 + 3     50           0.23
                                                                               FIGAROs only
        Block frequency           0.4673    0.990    0.5524     0.992                           100     5     351 + 5    100           0.28
                     Forward      0.5605    0.992    0.4808     0.984      FIGARO + MSU         50     0.5    33 + 12     50           1.11
Cumulative sums
                       Inverse    0.3787    0.990    0.7177     0.988          (ours)           100     1     85 + 12    100           1.03
             Runs                 0.4354    0.991    0.6018     0.982      RO + MSU [6]V5       50      -     23 + 15    12.5          0.33
          Longest run             0.9323    0.992    0.0460     0.990     V5
                                                                           Implemntation results of [6] in Vertex 5.
             Rank                 0.1959    0.991    0.1644     0.999
              FFT                 0.1188    0.984    0.2122     0.989
                                                                          proportions for a level of significance of a = 0.01 and
 Non-overlap. (B = 000000001)     0.8596    0.989    0.1529     0.988
          Overlapping             0.6038    0.988    0.4808     0.989
                                                                          with a uniform distribution.
           Universal              0.0017    0.990    0.0088     0.986        We compared the performance of our improved TRNG
     Approximate entropy          0.8395    0.987    0.8291     0.991     with that of the original FIGARO TRNG. For a fair
  Random excursions (x = +1)      0.1866    0.987    0.5196     0.987     comparison, we also implemented the original FIGARO
  Random excur. var. (x = –1)     0.9720    0.987    0.0853     0.986     TRNG in the same FPGA with an LFSR-based PPU
     Serial (m = 16, Ñψ 2m )      0.1094    0.989    0.9962     0.994     instead of just the XOR gate in Fig. 1. Only the size of
       Linear complexity          0.7944    0.993    0.5873     0.985     the LFSR in the PPU was different, depending on M. The
                                                                          implementation results for 50 and 100 MHz are shown in
+ x 2 N , which is similar to the configuration method used               Table 2. A FIRO is considered as M = 0.5 because a
for the FIRO and GARO. Because of its complex                             FIRO is a part of the FIGARO.
structure, the LFSR is more advantageous for post-                           Table 2 shows that the use of multiple-sampling
processing than the XOR gate in Fig. 1. Note that to                      technique can significantly reduce the value of M.
generate one random bit, the TRNG in [6] requires the                     Considering that a FIGARO occupies 70 LUTs and an
accumulation of multiple clock cycles in the PPU. In                      MSU occupies only six registers and nine LUTs, adding
contrast, our TRNG can generate one random bit every                      an MSU is more effective for entropy enhancement than
clock cycle without accumulation. Therefore, unlike in                    adding more multiple FIGAROs. As a result, our TRNG
[6], the bit rate does not decrease.                                      requires 3.67 and 4.76 times fewer resources at 50 and
                                                                          100 MHz, respectively, than the original FIGARO
IV. IMPLEMENTATION AND TESTING RESULTS                                    TRNGs for the same bit rates.
                                                                             Table 2 also shows that our new TRNG has much
  Our TRNG was implemented in Xilinx XC6SLX150                            higher bit rate and BPA than the TRNG in our previous
(Spartan 6) using the same configuration described in [4-                 work [6]. Although the TRNG in [6] already has a higher
                                                                          BPA than those of the TRNGs in [11, 12] for compliance
6]: f ( x ) = x + x + x + x + x + x + x + 1,                   g ( x) =
               15  14  7   6   5   4   2

                                                                          with the NIST random test suite, it is difficult to increase
x 31 + x 27 + x 23 + x 21 + x 20 + x17 + x16 + x15 + x13 + x10 + x 9 +    its bit rate any further even when higher bit rates are
x8 + x 6 + x 5 + x 4 + x 3 + x + 1, N = 3, and p ( x ) = x 6 +            required. For higher bit rates, our new TRNG can be a
 x 5 + 1 . A total of 109 bits were generated continuously at             good alternative rather than the TRNG in [6], requiring
a clock frequency of 100 MHz. Then, the bit sequence                      small area overhead.
was extracted via USB and examined using the NIST
random test suite [10]. We also conducted an additional                                          V. CONCLUSIONS
test at 50 MHz. In the additional test, we replaced the
FIGARO with a smaller RO: a FIRO. The test results in                        We proposed an improved FIGARO TRNG using
Table 1 show that all proportions are > 0.9805607 and all                 multiple sampling; this allowed the number of FIGAROs
P-valuesT are > 0.001. This means that the bit sequences                  to be reduced in exchange for small additional logic costs
from our TRNG passed the test suite with acceptable                       for the multiple sampling. Our implementation results
308      PILJOO CHOI et al : IMPROVING RING-OSCILLATOR-BASED TRUE RANDOM NUMBER GENERATORS USING MULTIPLE …

showed that for the same bit rate, our improved FIGARO            implementation on reconfigurable hardware,”
TRNG required fewer resources than the previous                   Computers, IEEE Transactions on, Vol. 64, No. 7,
method that uses only multiple FIGAROs. This means                pp. 1954-1967, July, 2015.
that applying multiple sampling is very effective to         [8] K. Liao, X. Cui, N. Liao, T. Wang, D. Yu, and X.
improve bit rates, and we expect that the multiple-               Cui, “High-performance noninvasive side-channel
sampling technique will be also applicable to other RO-           attack resistant ECC coprocessor for GF(2m),”
based TRNGs. Additionally, the NIST random test                   Industrial Electronics, IEEE Transactions on, Vol.
results showed that our TRNG generated random                     64, No. 1, pp. 727-738, Oct., 2016.
numbers sufficiently secure to be used in applications       [9] A. Das, B. Ege, S. Ghosh, L. Batina, and I.
such as cryptography [7-9].                                       Verbauwhede, “Security analysis of industrial test
                                                                  compression schemes,” Computer-Aided Design of
               ACKNOWLEDGMENTS                                    Integrated Circuits and Systems, IEEE Transac-
                                                                  tions on, Vol. 32, No. 12, pp. 1966-1977, Nov.,
   We thank Sung-Ha Lee, who helped our implemen-                 2013.
                                                             [10] E. Lawrence, L.E. Bassham III, et al., “SP 800-22
tation and testing.
                                                                  rev. 1a. a statistical test suite for random and
                                                                  pseudorandom number generators for crypto-
                    REFERENCES
                                                                  graphic applications,” National Institute of
                                                                  Standards and Technology (NIST), Apr., 2010.
[1]   J. Wu and M. O'Neill, “Ultra-lightweight true
                                                             [11] O. Petura, U. Mureddu, N. Bochard, V. Fischer,
      random number generators,” Electronics Letters,
                                                                  and L. Bossuet, “A survey of AIS-20/31 compliant
      Vol. 46, No. 14, pp. 988-990, July, 2010.
                                                                  TRNG cores suitable for FPGA devices,” Field
[2]   B. Sunar, W. J. Martin, and D. R. Stinson, “A
                                                                  Programmable Logic and Application, International
      provably secure true random number generator
                                                                  Conference on, pp. 1–10, Aug., 2016.
      with built-in tolerance to active attacks,”
                                                             [12] B. Yang, V. Rožic, M. Grujic, N. Mentens, and I.
      Computers, IEEE Transactions on, Vol. 56, No. 1,
                                                                  Verbauwhede, “ES-TRNG: A high-throughput,
      pp. 109-119, Jan., 2007.
                                                                  low-area true random number generator based on
[3]   J. D. Golić, “New methods for digital generation
                                                                  edge sampling,” Cryptographic Hardware and
      and postprocessing of random data,” Computers,
                                                                  Embedded Systems, IACR Transactions on, pp.
      IEEE Transactions on, Vol. 55, No. 10, pp. 1217-
                                                                  267-292, 2018.
      1229, Aug., 2006.
[4]   M. Dichtl and J. D. Golić, “High-speed true
      random number generation with logic gates only,”
      Cryptographic Hardware and Embedded Systems                                Piljoo Choi received the B.S., M.S.,
      2007, CHES 2007, International Workshop on, pp.                            Ph.D. degrees in Electronic Computer
      45-62, Sep., 2007.                                                         Engineering from Hanyang Univer-
[5]   Ü. Güler, S. Ergün, and G. Dündar, “A digital IC                           sity, Seoul, South Korea, in 2010,
      random number generator with logic gates only,”                            2012, and 2018, respectively. He is
      Electronics, Circuits, and Systems, 2010, ICECS,                           currently a professor in Software
      17th IEEE International Conference on, pp. 239-                            Education Committee at Hanyang
      242, Dec., 2010.                                       University. His research interests are in the areas of
[6]   P. Choi, M.-K. Lee, and D. K. Kim, “Fast compact       security SoC (System on Chip), crypto-coprocessors, and
      true random number generator based on multiple         information security.
      sampling,” Electronics Letters, Vol. 53, No. 13, pp.
      841-843, June, 2017.
[7]   T. Güneysu, V. Lyubashevsky, and T. Pöppelmann,
      “Lattice-based signatures: optimization and
JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE, VOL.19, NO.3, JUNE, 2019                                        309

                     Ji-Hoon Kim received the B.S.                               Dong Kyue Kim received the B.S.,
                     (summa cum laude) and Ph.D.                                 M.S. and Ph.D. degrees in Computer
                     degrees in electrical engineering and                       Engineering from Seoul National
                     computer science from KAIST,                                University in 1992, 1994, and 1999,
                     Daejeon, South Korea, in 2004 and                           respectively. From 1999 to 2005, he
                     2009, respectively. In 2009, he                             was an assistant professor in the
                     joined Samsung Electronics. In 2018,                        Division of Computer Science and
he joined the faculty of the department of electronic and    Engineering at Pusan National University. From 2006, he
electrical engineering, Ewha Womans University, where        is a professor in the Department of Electronic
he is currently an associate professor. His current          Engineering at Hanyang University. His research
interests include CPU/DSP, communication modem, and          interests are in the areas of security SoC, secure
low-power SoC design for security/biomedical systems.        processor, crypto-coprocessors, and information security
Dr. Kim is a technical committee member of the circuits      systems.
and systems for communications and VLSI systems and
applications in the IEEE Circuits and Systems Society.
He was a recipient of the best design award at Dongbu
HiTek IP Design Contest in 2007 and first place award at
the International SoC Design Conference Chip Design
Contest in 2008.
You can also read