SlideShare a Scribd company logo
 
1 
 
 
 
 
Random Numbers Generator Using Microcontroller PUF
 
By
 
 Saja Talib Ahmed, * Dhahir Abdulhade Abdullah,* Ziyad Tariq Mustafa Al Ta’i
 
* Department of Computer Science - College of Science - University of Diyala
 
 
Abstract
 
Physically unclonable functions (PUFs) have been gained attention in many
applications. Low-cost random numbers generation is one important application of PUF.
PUFs are a special type of circuits that influence the inherent variations in the
manufacturing process to create unique unclonable random numbers. Physical random
number generators aim to extract randomness directly from physical systems. In this paper
microcontroller, PUF using the chip (PIC32MX795F512L) with Ring Oscillator PUF
(ROPUF) is used in order to create outputs (random numbers) without requiring any seed
inputs. The output created by the proposed random number generator (RNG) is
successfully passed most NIST tests.
 
 
 
 
Keywords:
 
Physical Unclonable Function (PUF), Random Number Generator (RNG), microcontroller
chip (PIC32MX795F512L). 
 
 
 
1- Introduction
 
In security, a Physical Unclonable Function (PUF) is a hardware circuit that is easy
to create but practically hard to copy, even the exact manufacturing process is giving. The
important characteristic of PUFs is that even untrusted creator cannot make a copy of the
circuit as it is impossible to control the manufacturing process variations. PUF works on
the basic of fundamental differences which exist in the manufacture of the electronic parts.
The output of PUF is a function of all these differences. Therefore, the produced stream by
PUF seems to be randomized [1]. Random numbers are very important because many
things in real life are so complex that they appear random. Also, good random numbers are
essential to almost all secure computer systems [2]. Therefore, the main purpose of this
paper is to design and implement a cheap PUF-based architecture to generate a sequence
of random numbers. This paper is organized as follows. In section (2) the PUF function
and its characteristics are presented. In section (3) a brief review of the related literature is
given. The proposed system is explained in section (4). Experimental results and analyses
are shown in section (5). Finally, the conclusions are remarked in section (6).
 
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 15, No. 9, September 2017
93 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
 
 
 
 
 
 
 
 
2. Physical Unclonable Function (PUF)
 
PUF (also called Physical Random Function) is a new class of security, in which it
has attracted a great deal of attention. The modern cryptographic scheme depends on the
use of one-way functions. These are functions that are simple to work in the forward
direction but infeasible to compute in the reverse direction without additional information
[3].
PUFs are one-way functions, which are easy to evaluate but difficult to invert. These
hardware one-way functions are inexpensive to fabricate, difficult to duplicate, grant no
compact mathematical representation [3]. PUFs are innovative primitives to deduce
secrets from complex hardware characteristics of ICs rather than storing the secrets in
digital memory [4].
The use of PUFs for the secret key generation was first proposed in [5]. The
proposed PUF in this paper based on internal Ring Oscillator (RO). A ROPUF is
composed of an odd series of inverters. The RO frequency is generated from the inverted
signal that travels through the RO loop as shown in Figure (1) [5]. The presence of process
variations inside logic gates and wires causes an uneven delay across the chip.
 
Figure (1) Ring Oscillator Physical Unclonable Function (ROPUF)
A pair of ROs could produce two different frequencies because of the presence of
process variations.
 
 
 
3. Related Work
- J.-W. Lee et.al. (2004), have put forward one candidate methodology which uses
silicon physical random functions to create random numbers without the need of a secret
seed. This hardware random number generator is depended on the meta-stability inherent
in Silicon PUFs (SPUFs) and has been shown to make outputs which pass most statistical
tests for randomness [4].
- B. Sunar et.al. (2007), used many distinct ring oscillators arranged on a chip design.
Each ring oscillator is composed of some inverters. The outputs of these ring oscillators
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 15, No. 9, September 2017
94 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
 
 
are fed to an XOR tree and then sampled at a regular clock frequency [6].
- Ali Sadr and Mostafa Zolfaghari-Nejad (2012), proposed a new architecture in
which an arbiter based PUF has been employed as a nonlinear function in nonlinear
feedback shift register (NFSR) to generate true random numbers. The rate of producing the
output bit streams is 10 million bits per second. The proposed RNG is able to pass all NIST
tests and the entropy of the output stream is 7.999837 bits per byte. The proposed circuit
has very low resource usage of 193 slices that makes it suitable for lightweight applications
[7].
- Mehdi Ayat, Reza Ebrahimi Atani, and Sattar Mirzakuchaki (2011) proposed a new
architecture Physical Random Functions (or Physical Unclonable Functions, PUFs) to
create a candidate hardware random number generator. So far several random number
generators based on ring oscillators were introduced [8].
- Roel Maes et. al. (2012), developed and successfully evaluated on a substantial set
of FPGA devices. It uses a highly optimized ring oscillator PUF (ROPUF) design [9].
4. Design of the Proposed System: Random Number Generator using
Microcontroller PUF
A Physical Random Function or PUF is a function that maps a set of challenges to a
set of responses based on an intractably complex physical system. Hence, this static
mapping is a “random” assignment. The function can only be evaluated with the physical
system and is unique for each physical instance. While PUFs can be implemented with
various physical systems, this paper focuses on ROPUF using microcontroller chip
PIC32MX795F512L.
4.1 Hardware Design
Initially, the data is received from PIC microcontroller by MICRO-BUS technique
using the program which written in Microchip. These data are sent to Static Data (SD)
memory card and to Personal Computer (PC) at the same time as a file. The file of data
in SD looks like data text but on PC is written as a binary numbers code. Figure (2) shows
the complete hardware of the design.
 
   
Figure (2) Block Diagram of the Proposed System
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 15, No. 9, September 2017
95 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
 
 
Figure (3) consists of the programmable power supply (TC1262) which is used to
give the variable voltage approximately (1.5-5 v) for the microcontroller and 3.3v to
signalization LED.
 
 
Figure (3) Power supply of the original circuit 
 
 
The MICRO-BUS technique is used for variable way to send data to SD and PC
which connects (8) pins. These pins have three variable types to send data: I2C, SPI, and
UART as shown in figure (4).
Figure (4) the internal block diagram of microcontroller and the Micro BUS
-I2C: means the data are sent and received using (2) wires and it is called (inter to the
integrated circuit).
-SPI: means the data are sent and received using (3) wires and it is called (Serial
Peripherals interfacing).
-UART: means the data are sent and received asynchronously using (2) wires and it is
called (Universal Asynchronous receiver and transmitter).
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 15, No. 9, September 2017
96 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
 
 
4.2Software Design
The flowchart of the written program inside microcontroller chip
PIC32MX795F512L is shown in figure (5). This program is written in High-level Micro-
C language. The steps of the proposed algorithm are:
1. The first step: is calling the library of SD, SPI, and UART. Then a variable (x) is
chosen to be as a counter for counting the binary numbers. In this paper, the
maximum value of (x) is 99393. Of course, this value can be changed as required.
2. The second step: is using the Real Time Clock (RTC) system in order to serially
writing data on PC and in SD.
3. The third step: is checking the data that must be written on SD when these data
are displayed on PC. Otherwise, go to step (2).
4. The fourth step: is repeating the condition of step (3) for 24 times which equal to
a number of binary bits in the proposed system.
5. The fifth step: is stopping write data on PC and SD card when x >99393.
 
 
 
 
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 15, No. 9, September 2017
97 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
 
 
 
 
         
Figure (5) Flowchart of Microcontroller Program
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 15, No. 9, September 2017
98 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
 
 
 
 
 
4. Results
A stream of random numbers is generated using hardware and software design in
subsections (4.1) and (4.2) sequentially. An implementation of the microcontroller
PIC32MX795F512L contains a PUF circuit which is accessible through software running
on the chip.
The NIST statistical test suite is a set of algorithmic tests which attempt to identify
sequences of binary numbers which do not behave in a truly random manner. To do this,
these tests derive a p-value for every sequence of bits, which is, basically, the probability
that the given sequence could have been generated by running a truly random number
generator once.
Each test “passes” if the p-value is greater than some fixed confidence level, and
“fail” if the p-value is less than the fixed confidence level. A thorough explanation of
these testing algorithms can be found in a NIST Special Publication [10].
The statistical test suite also separates a given input string into many smaller
substrings and performs the tests on each of these strings. Since it is possible for a truly
random number generator to fail a given test sometimes, it is useful to discuss success in
terms of the proportion of successful tests.
Table (1) shows the results of the tests, and the lowest proportion of successful tests
found after running the test suite many times on the output of the proposed system. The
proportion of successful tests is high enough to consider this a reasonably good random
number generator.
Table (1) Results of NIST Statistical Test Suite on the Output of the Proposed System
Test name Result Lowest success ratio
Frequency Test Successful 99%
Approximate Entropy test Successful 100%
Block Frequency Test Successful 100%
Serial Test Successful 98%
Cumulative Sums Test (Forward) Successful 100%
Runs Test Successful 98%
Longest Run of One's test Successful 100%
FFT Test Successful 100%
Rank Test Successful 100%
Nonperiodic Templates Test Successful 79%
Overlapping Template of all One’s
Test
Successful 100%
Lempel-Ziv compression Test Successful 100%
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 15, No. 9, September 2017
99 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
 
 
 
 
6. Conclusions
 
In this research, a proposed random numbers generator is designed and implemented
using ROPUF inside microcontroller chip PIC32MX795F512L. The results indicate that
the output of the proposed system is as follows:
1- Has true randomness.
2- Does not need seed value.
Also, the proposed system itself is:
1- True random generator.
2- Low-cost generator in comparison with huge generated random numbers.
3- The proposed system can be used in many different applications.
 
 
 
 
 
 
References
 
1- Srivathsa Sudheendra, "Secure and energy efficient physical unclonable functions",
MSc thesis, University of Massachusetts, 2012.
 
2- John Graham-Cumming, “Why secure systems require random numbers ", Internet
survey, https://blog.cloudflare.com/why-randomness-matters, 13 Sep 2013.
 
3-Pappu Srinivasa Ravikanth, "Physical one-way functions", Ph.D. thesis, Massachusetts
Institute of Technology, march 2001.
 
4-J.-W. Lee, D. Lim, B. Gassend, G. E. Suh, M. van Dijk, and S. Devadas, " A technique
to build a secret key in integrated circuits with identification and authentication
applications", In Proceedings of the IEEE LSI Circuits Symposium, June 2004.
 
5-Suh, G. Edward, and Srinivas Devadas, "Physical unclonable functions for device
authentication and secret key generation.” Proceedings of the 44th annual Design
Automation Conference. ACM, 2007.
 
6-B. Sunar, W. J. Martin and D. R. Stinson, "A provably secure true random number
generator with built-in tolerance to active attacks", IEEE Trans. Computer. VOL.
56, No. 1, pp. 109-119, 2007.
 
7-Ali Sadr and Mostafa Zolfaghari-Nejad, “Physical Unclonable Function (PUF) Based
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 15, No. 9, September 2017
100 https://sites.google.com/site/ijcsis/
ISSN 1947-5500
 
 
Random Number Generator", Advanced Computing: An International Journal
(ACIJ), Vol.3, No.2, March 2012.
 
8-Ayat Mehdi, Reza Ebrahimi Atani, and Sattar Mirzakuchaki, "On design of PUF-
based random number generators”, International Journal of Network Security
Applications, Vol. 3 No.3, PP. 30-40, 2011.
 
9-Maes Roel, Anthony Van Herrewege, and Ingrid Verbauwhede, "PUFKY: A fully
functional PUF-based cryptographic key generator.” International Workshop on
Cryptographic Hardware and Embedded Systems, Springer Berlin Heidelberg,
2012.
 
10- Rukhin, Andrew et. al., "A statistical test suite for random and pseudorandom
number generators for cryptographic applications", Booz-Allen and Hamilton Inc
McLean Va, 2001.
International Journal of Computer Science and Information Security (IJCSIS),
Vol. 15, No. 9, September 2017
101 https://sites.google.com/site/ijcsis/
ISSN 1947-5500

More Related Content

PDF
20120140502007 2-3
PDF
Transmission and reception of data through usb using
PDF
Design of Fuzzy PID controller to control DC motor with zero overshoot
PDF
Developing a Humanoid Robot Platform
PDF
Design of Embedded Control System Using Super- Scalar ARM Cortex-A8 for Nano-...
PDF
D0364017024
PDF
PDF
Enhanced Built-In Self Test for MSP 430
20120140502007 2-3
Transmission and reception of data through usb using
Design of Fuzzy PID controller to control DC motor with zero overshoot
Developing a Humanoid Robot Platform
Design of Embedded Control System Using Super- Scalar ARM Cortex-A8 for Nano-...
D0364017024
Enhanced Built-In Self Test for MSP 430

What's hot (7)

PDF
Freertos based environmental data acquisition using arm cortex m4 f core
PDF
50120130406037
PPT
Computer System Architecture Lecture Note 2: History
PPT
Os introduction
PPT
Os introduction
PDF
Ge2310721081
PDF
Microcontroller pic 16f877 architecture and basics
Freertos based environmental data acquisition using arm cortex m4 f core
50120130406037
Computer System Architecture Lecture Note 2: History
Os introduction
Os introduction
Ge2310721081
Microcontroller pic 16f877 architecture and basics
Ad

Similar to Random Numbers Generator Using Microcontroller PUF (20)

DOCX
A low cost low-power ring oscillator-based truly random number generator for ...
PDF
Modeling arbiter-PUF in NodeMCU ESP8266 using artificial neural network
PDF
PUF_lecture1.pdf
PDF
Emmbeded .pdf
PDF
Implementation of XOR Based Pad Generation Mutual Authentication Protocol for...
PDF
Implementation of XOR Based Pad Generation Mutual Authentication Protocol for...
PDF
PUF_lecture3.pdf
PDF
IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...
PDF
Simulation based design and analysis of combined effect of various data secur...
PDF
IRJET- Simulation based design and analysis of combined effect of various ...
PDF
Review on security techniques for field programmable gate array
PDF
Mixed Scanning and DFT Techniques for Arithmetic Core
PDF
How PUF Technology is Securing Io
PDF
Hd3512461252
PDF
A Modified Design of Test Pattern Generator for Built-In-Self- Test Applications
PDF
High secure buffer based physical unclonable functions (PUF’s) for device aut...
PDF
PUF_lecture4.pdf
PDF
FPGA-based Design System for a Two-Segment Fibonacci LFSR Random Number Gener...
PPTX
PDF
Secure Embedded Systems
A low cost low-power ring oscillator-based truly random number generator for ...
Modeling arbiter-PUF in NodeMCU ESP8266 using artificial neural network
PUF_lecture1.pdf
Emmbeded .pdf
Implementation of XOR Based Pad Generation Mutual Authentication Protocol for...
Implementation of XOR Based Pad Generation Mutual Authentication Protocol for...
PUF_lecture3.pdf
IRJET- An Improved DCM-Based Tunable True Random Number Generator for Xilinx ...
Simulation based design and analysis of combined effect of various data secur...
IRJET- Simulation based design and analysis of combined effect of various ...
Review on security techniques for field programmable gate array
Mixed Scanning and DFT Techniques for Arithmetic Core
How PUF Technology is Securing Io
Hd3512461252
A Modified Design of Test Pattern Generator for Built-In-Self- Test Applications
High secure buffer based physical unclonable functions (PUF’s) for device aut...
PUF_lecture4.pdf
FPGA-based Design System for a Two-Segment Fibonacci LFSR Random Number Gener...
Secure Embedded Systems
Ad

Recently uploaded (20)

DOCX
573137875-Attendance-Management-System-original
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Digital Logic Computer Design lecture notes
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
Construction Project Organization Group 2.pptx
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
OOP with Java - Java Introduction (Basics)
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
additive manufacturing of ss316l using mig welding
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Well-logging-methods_new................
PPTX
Welding lecture in detail for understanding
PPTX
Geodesy 1.pptx...............................................
PDF
composite construction of structures.pdf
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
573137875-Attendance-Management-System-original
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Digital Logic Computer Design lecture notes
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
Construction Project Organization Group 2.pptx
CYBER-CRIMES AND SECURITY A guide to understanding
Foundation to blockchain - A guide to Blockchain Tech
OOP with Java - Java Introduction (Basics)
R24 SURVEYING LAB MANUAL for civil enggi
additive manufacturing of ss316l using mig welding
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
UNIT 4 Total Quality Management .pptx
Well-logging-methods_new................
Welding lecture in detail for understanding
Geodesy 1.pptx...............................................
composite construction of structures.pdf
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
UNIT-1 - COAL BASED THERMAL POWER PLANTS

Random Numbers Generator Using Microcontroller PUF

  • 1.   1          Random Numbers Generator Using Microcontroller PUF   By    Saja Talib Ahmed, * Dhahir Abdulhade Abdullah,* Ziyad Tariq Mustafa Al Ta’i   * Department of Computer Science - College of Science - University of Diyala     Abstract   Physically unclonable functions (PUFs) have been gained attention in many applications. Low-cost random numbers generation is one important application of PUF. PUFs are a special type of circuits that influence the inherent variations in the manufacturing process to create unique unclonable random numbers. Physical random number generators aim to extract randomness directly from physical systems. In this paper microcontroller, PUF using the chip (PIC32MX795F512L) with Ring Oscillator PUF (ROPUF) is used in order to create outputs (random numbers) without requiring any seed inputs. The output created by the proposed random number generator (RNG) is successfully passed most NIST tests.         Keywords:   Physical Unclonable Function (PUF), Random Number Generator (RNG), microcontroller chip (PIC32MX795F512L).        1- Introduction   In security, a Physical Unclonable Function (PUF) is a hardware circuit that is easy to create but practically hard to copy, even the exact manufacturing process is giving. The important characteristic of PUFs is that even untrusted creator cannot make a copy of the circuit as it is impossible to control the manufacturing process variations. PUF works on the basic of fundamental differences which exist in the manufacture of the electronic parts. The output of PUF is a function of all these differences. Therefore, the produced stream by PUF seems to be randomized [1]. Random numbers are very important because many things in real life are so complex that they appear random. Also, good random numbers are essential to almost all secure computer systems [2]. Therefore, the main purpose of this paper is to design and implement a cheap PUF-based architecture to generate a sequence of random numbers. This paper is organized as follows. In section (2) the PUF function and its characteristics are presented. In section (3) a brief review of the related literature is given. The proposed system is explained in section (4). Experimental results and analyses are shown in section (5). Finally, the conclusions are remarked in section (6).   International Journal of Computer Science and Information Security (IJCSIS), Vol. 15, No. 9, September 2017 93 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 2.                 2. Physical Unclonable Function (PUF)   PUF (also called Physical Random Function) is a new class of security, in which it has attracted a great deal of attention. The modern cryptographic scheme depends on the use of one-way functions. These are functions that are simple to work in the forward direction but infeasible to compute in the reverse direction without additional information [3]. PUFs are one-way functions, which are easy to evaluate but difficult to invert. These hardware one-way functions are inexpensive to fabricate, difficult to duplicate, grant no compact mathematical representation [3]. PUFs are innovative primitives to deduce secrets from complex hardware characteristics of ICs rather than storing the secrets in digital memory [4]. The use of PUFs for the secret key generation was first proposed in [5]. The proposed PUF in this paper based on internal Ring Oscillator (RO). A ROPUF is composed of an odd series of inverters. The RO frequency is generated from the inverted signal that travels through the RO loop as shown in Figure (1) [5]. The presence of process variations inside logic gates and wires causes an uneven delay across the chip.   Figure (1) Ring Oscillator Physical Unclonable Function (ROPUF) A pair of ROs could produce two different frequencies because of the presence of process variations.       3. Related Work - J.-W. Lee et.al. (2004), have put forward one candidate methodology which uses silicon physical random functions to create random numbers without the need of a secret seed. This hardware random number generator is depended on the meta-stability inherent in Silicon PUFs (SPUFs) and has been shown to make outputs which pass most statistical tests for randomness [4]. - B. Sunar et.al. (2007), used many distinct ring oscillators arranged on a chip design. Each ring oscillator is composed of some inverters. The outputs of these ring oscillators International Journal of Computer Science and Information Security (IJCSIS), Vol. 15, No. 9, September 2017 94 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 3.     are fed to an XOR tree and then sampled at a regular clock frequency [6]. - Ali Sadr and Mostafa Zolfaghari-Nejad (2012), proposed a new architecture in which an arbiter based PUF has been employed as a nonlinear function in nonlinear feedback shift register (NFSR) to generate true random numbers. The rate of producing the output bit streams is 10 million bits per second. The proposed RNG is able to pass all NIST tests and the entropy of the output stream is 7.999837 bits per byte. The proposed circuit has very low resource usage of 193 slices that makes it suitable for lightweight applications [7]. - Mehdi Ayat, Reza Ebrahimi Atani, and Sattar Mirzakuchaki (2011) proposed a new architecture Physical Random Functions (or Physical Unclonable Functions, PUFs) to create a candidate hardware random number generator. So far several random number generators based on ring oscillators were introduced [8]. - Roel Maes et. al. (2012), developed and successfully evaluated on a substantial set of FPGA devices. It uses a highly optimized ring oscillator PUF (ROPUF) design [9]. 4. Design of the Proposed System: Random Number Generator using Microcontroller PUF A Physical Random Function or PUF is a function that maps a set of challenges to a set of responses based on an intractably complex physical system. Hence, this static mapping is a “random” assignment. The function can only be evaluated with the physical system and is unique for each physical instance. While PUFs can be implemented with various physical systems, this paper focuses on ROPUF using microcontroller chip PIC32MX795F512L. 4.1 Hardware Design Initially, the data is received from PIC microcontroller by MICRO-BUS technique using the program which written in Microchip. These data are sent to Static Data (SD) memory card and to Personal Computer (PC) at the same time as a file. The file of data in SD looks like data text but on PC is written as a binary numbers code. Figure (2) shows the complete hardware of the design.       Figure (2) Block Diagram of the Proposed System International Journal of Computer Science and Information Security (IJCSIS), Vol. 15, No. 9, September 2017 95 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 4.     Figure (3) consists of the programmable power supply (TC1262) which is used to give the variable voltage approximately (1.5-5 v) for the microcontroller and 3.3v to signalization LED.     Figure (3) Power supply of the original circuit      The MICRO-BUS technique is used for variable way to send data to SD and PC which connects (8) pins. These pins have three variable types to send data: I2C, SPI, and UART as shown in figure (4). Figure (4) the internal block diagram of microcontroller and the Micro BUS -I2C: means the data are sent and received using (2) wires and it is called (inter to the integrated circuit). -SPI: means the data are sent and received using (3) wires and it is called (Serial Peripherals interfacing). -UART: means the data are sent and received asynchronously using (2) wires and it is called (Universal Asynchronous receiver and transmitter). International Journal of Computer Science and Information Security (IJCSIS), Vol. 15, No. 9, September 2017 96 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 5.     4.2Software Design The flowchart of the written program inside microcontroller chip PIC32MX795F512L is shown in figure (5). This program is written in High-level Micro- C language. The steps of the proposed algorithm are: 1. The first step: is calling the library of SD, SPI, and UART. Then a variable (x) is chosen to be as a counter for counting the binary numbers. In this paper, the maximum value of (x) is 99393. Of course, this value can be changed as required. 2. The second step: is using the Real Time Clock (RTC) system in order to serially writing data on PC and in SD. 3. The third step: is checking the data that must be written on SD when these data are displayed on PC. Otherwise, go to step (2). 4. The fourth step: is repeating the condition of step (3) for 24 times which equal to a number of binary bits in the proposed system. 5. The fifth step: is stopping write data on PC and SD card when x >99393.         International Journal of Computer Science and Information Security (IJCSIS), Vol. 15, No. 9, September 2017 97 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 6.                   Figure (5) Flowchart of Microcontroller Program International Journal of Computer Science and Information Security (IJCSIS), Vol. 15, No. 9, September 2017 98 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 7.           4. Results A stream of random numbers is generated using hardware and software design in subsections (4.1) and (4.2) sequentially. An implementation of the microcontroller PIC32MX795F512L contains a PUF circuit which is accessible through software running on the chip. The NIST statistical test suite is a set of algorithmic tests which attempt to identify sequences of binary numbers which do not behave in a truly random manner. To do this, these tests derive a p-value for every sequence of bits, which is, basically, the probability that the given sequence could have been generated by running a truly random number generator once. Each test “passes” if the p-value is greater than some fixed confidence level, and “fail” if the p-value is less than the fixed confidence level. A thorough explanation of these testing algorithms can be found in a NIST Special Publication [10]. The statistical test suite also separates a given input string into many smaller substrings and performs the tests on each of these strings. Since it is possible for a truly random number generator to fail a given test sometimes, it is useful to discuss success in terms of the proportion of successful tests. Table (1) shows the results of the tests, and the lowest proportion of successful tests found after running the test suite many times on the output of the proposed system. The proportion of successful tests is high enough to consider this a reasonably good random number generator. Table (1) Results of NIST Statistical Test Suite on the Output of the Proposed System Test name Result Lowest success ratio Frequency Test Successful 99% Approximate Entropy test Successful 100% Block Frequency Test Successful 100% Serial Test Successful 98% Cumulative Sums Test (Forward) Successful 100% Runs Test Successful 98% Longest Run of One's test Successful 100% FFT Test Successful 100% Rank Test Successful 100% Nonperiodic Templates Test Successful 79% Overlapping Template of all One’s Test Successful 100% Lempel-Ziv compression Test Successful 100% International Journal of Computer Science and Information Security (IJCSIS), Vol. 15, No. 9, September 2017 99 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 8.         6. Conclusions   In this research, a proposed random numbers generator is designed and implemented using ROPUF inside microcontroller chip PIC32MX795F512L. The results indicate that the output of the proposed system is as follows: 1- Has true randomness. 2- Does not need seed value. Also, the proposed system itself is: 1- True random generator. 2- Low-cost generator in comparison with huge generated random numbers. 3- The proposed system can be used in many different applications.             References   1- Srivathsa Sudheendra, "Secure and energy efficient physical unclonable functions", MSc thesis, University of Massachusetts, 2012.   2- John Graham-Cumming, “Why secure systems require random numbers ", Internet survey, https://blog.cloudflare.com/why-randomness-matters, 13 Sep 2013.   3-Pappu Srinivasa Ravikanth, "Physical one-way functions", Ph.D. thesis, Massachusetts Institute of Technology, march 2001.   4-J.-W. Lee, D. Lim, B. Gassend, G. E. Suh, M. van Dijk, and S. Devadas, " A technique to build a secret key in integrated circuits with identification and authentication applications", In Proceedings of the IEEE LSI Circuits Symposium, June 2004.   5-Suh, G. Edward, and Srinivas Devadas, "Physical unclonable functions for device authentication and secret key generation.” Proceedings of the 44th annual Design Automation Conference. ACM, 2007.   6-B. Sunar, W. J. Martin and D. R. Stinson, "A provably secure true random number generator with built-in tolerance to active attacks", IEEE Trans. Computer. VOL. 56, No. 1, pp. 109-119, 2007.   7-Ali Sadr and Mostafa Zolfaghari-Nejad, “Physical Unclonable Function (PUF) Based International Journal of Computer Science and Information Security (IJCSIS), Vol. 15, No. 9, September 2017 100 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 9.     Random Number Generator", Advanced Computing: An International Journal (ACIJ), Vol.3, No.2, March 2012.   8-Ayat Mehdi, Reza Ebrahimi Atani, and Sattar Mirzakuchaki, "On design of PUF- based random number generators”, International Journal of Network Security Applications, Vol. 3 No.3, PP. 30-40, 2011.   9-Maes Roel, Anthony Van Herrewege, and Ingrid Verbauwhede, "PUFKY: A fully functional PUF-based cryptographic key generator.” International Workshop on Cryptographic Hardware and Embedded Systems, Springer Berlin Heidelberg, 2012.   10- Rukhin, Andrew et. al., "A statistical test suite for random and pseudorandom number generators for cryptographic applications", Booz-Allen and Hamilton Inc McLean Va, 2001. International Journal of Computer Science and Information Security (IJCSIS), Vol. 15, No. 9, September 2017 101 https://sites.google.com/site/ijcsis/ ISSN 1947-5500