Rice University, ECE. InsBtute of Technology, EECS 1

Similar documents
True Random Number Generation with Logic Gates Only

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

Individual Project Report

Asynchronous inputs. 9 - Metastability and Clock Recovery. A simple synchronizer. Only one synchronizer per input

A Automated Design, Implementation, and Evaluation of Arbiter-based PUF on FPGA using Programmable Delay Lines

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

Available online at ScienceDirect. Procedia Computer Science 46 (2015 ) Aida S Tharakan a *, Binu K Mathew b

Why FPGAs? FPGA Overview. Why FPGAs?

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Self-Test and Adaptation for Random Variations in Reliability

How to Predict the Output of a Hardware Random Number Generator

The Design and Analysis of a True Random Number Generator in a Field Programmable Gate Array

EITF35: Introduction to Structured VLSI Design

Field Programmable Gate Arrays (FPGAs)

Measurements of metastability in MUTEX on an FPGA

Universal Asynchronous Receiver- Transmitter (UART)

FPGA Implementation of Sequential Logic

DIRECT DIGITAL SYNTHESIS AND SPUR REDUCTION USING METHOD OF DITHERING

IT T35 Digital system desigm y - ii /s - iii

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

EECS150 - Digital Design Lecture 18 - Circuit Timing (2) In General...

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

3/5/2017. A Register Stores a Set of Bits. ECE 120: Introduction to Computing. Add an Input to Control Changing a Register s Bits

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

LFSR Based Watermark and Address Generator for Digital Image Watermarking SRAM

Reconfigurable Architectures. Greg Stitt ECE Department University of Florida

Further Details Contact: A. Vinay , , #301, 303 & 304,3rdFloor, AVR Buildings, Opp to SV Music College, Balaji

VLSI IEEE Projects Titles LeMeniz Infotech

AN-1200 True Random Number Generator Hardware

Optimization of FPGA Architecture for Uniform Random Number Generator Using LUT-SR Family

Clock Domain Crossing. Presented by Abramov B. 1

Adaptive Overclocking and Error Correction Based on Dynamic Speculation Window

A Delay-based PUF Design Using Multiplexer Chains

L11/12: Reconfigurable Logic Architectures

LFSR TEST PATTERN FOR FAULT DETECTION AND DIAGNOSIS FOR FPGA CLB CELLS

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl. Chapter 2 Stream Ciphers ver.

EECS150 - Digital Design Lecture 3 Synchronous Digital Systems Review. Announcements

Understanding Cryptography A Textbook for Students and Practitioners by Christof Paar and Jan Pelzl. Chapter 2 Stream Ciphers ver.

VLSI Test Technology and Reliability (ET4076)

BIST for Logic and Memory Resources in Virtex-4 FPGAs

Hardware Implementation of Block GC3 Lossless Compression Algorithm for Direct-Write Lithography Systems

VLSI System Testing. BIST Motivation

A Fast Constant Coefficient Multiplier for the XC6200

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Segmented Leap-Ahead LFSR Architecture for Uniform Random Number Generator

Distributed Arithmetic Unit Design for Fir Filter

FPGA Design with VHDL

ECE 172 Digital Systems. Chapter 2.2 Review: Ring Counter, Johnson Counter. Herbert G. Mayer, PSU Status 7/14/2018

Modeling Latches and Flip-flops

An Efficient Reduction of Area in Multistandard Transform Core

Comparative Analysis of Stein s. and Euclid s Algorithm with BIST for GCD Computations. 1. Introduction

L12: Reconfigurable Logic Architectures

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

DEPARTMENT OF ELECTRICAL &ELECTRONICS ENGINEERING DIGITAL DESIGN

Guidance For Scrambling Data Signals For EMC Compliance

Flip-Flops and Sequential Circuit Design

Hardware Implementation of Block GC3 Lossless Compression Algorithm for Direct-Write Lithography Systems

Timing Error Detection: An Adaptive Scheme To Combat Variability EE241 Final Report Nathan Narevsky and Richard Ott {nnarevsky,

LUT Optimization for Memory Based Computation using Modified OMS Technique

Digital System Design

Logic Analysis Basics

Logic Analysis Basics

An Efficient High Speed Wallace Tree Multiplier

CMS Conference Report

Laboratory 1 - Introduction to Digital Electronics and Lab Equipment (Logic Analyzers, Digital Oscilloscope, and FPGA-based Labkit)

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Lecture 8: Sequential Logic

An FPGA Implementation of Shift Register Using Pulsed Latches

On the Rules of Low-Power Design

Design for Test. Design for test (DFT) refers to those design techniques that make test generation and test application cost-effective.

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

AbhijeetKhandale. H R Bhagyalakshmi

An Improved DCM-based Tunable True Random Number Generator for Xilinx FPGA

ECE 545 Digital System Design with VHDL Lecture 1. Digital Logic Refresher Part B Sequential Logic Building Blocks

Authentic Time Hardware Co-simulation of Edge Discovery for Video Processing System

Chapter 3 Unit Combinational

Design and Implementation of Partial Reconfigurable Fir Filter Using Distributed Arithmetic Architecture

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

EECS 270 Midterm 1 Exam Closed book portion Winter 2017

11. Sequential Elements

Robust Secure FPGA-based Wireless Smart Meters Utilizing PUF and CSI

Metastability Analysis of Synchronizer

Secure Remote Sensing and Communication using Digital PUFs

EEM Digital Systems II

data and is used in digital networks and storage devices. CRC s are easy to implement in binary

Memory Interfaces Data Capture Using Direct Clocking Technique Author: Maria George

Assistant Professor, Electronics and Telecommunication Engineering, DMIETR, Wardha, Maharashtra, India

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS150, Spring 2011

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic. Prof. Sherief Reda School of Engineering, Brown University Fall 2014

FPGA Based Implementation of Convolutional Encoder- Viterbi Decoder Using Multiple Booting Technique

Collections of flip-flops with similar controls and logic

Optimization of memory based multiplication for LUT

Lossless Compression Algorithms for Direct- Write Lithography Systems

Sequential Circuit Design: Principle

A High-Resolution Flash Time-to-Digital Converter Taking Into Account Process Variability. Nikolaos Minas David Kinniment Keith Heron Gordon Russell

CDA 4253 FPGA System Design FPGA Architectures. Hao Zheng Dept of Comp Sci & Eng U of South Florida

Design of BIST with Low Power Test Pattern Generator

LFSR Counter Implementation in CMOS VLSI

Transcription:

FPGA- based True Random Number Generation using Circuit Meta- stability with Adaptive Feedback Control Mehrdad Majzoobi, Farinaz Koushanfar, and Srinivas Devadas 2 Rice University, ECE 2 Massachuse@s InsBtute of Technology, EECS

Random Number Generator (RNG) Pseudo- RNG (PRNG) Seed Source of entropy, i.e., a longer random number from a shorter seed Algorithm How is the PRNG seed generated? Predictable? E.g., Netscape browser [] : srand(bme()) True- RNG No seed Based on a random physical phenomenon 2 [] h@p://www.cs.berkeley.edu/~daw/papers/ddj- netscape.html

Sources of Randomness Thermal Noise Shot Noise Flicker Noise Atmospheric Noise Radio Noise Clock Ji@er Phase Noise Lavarand Developed in 996 Generate randomness from lava lamps Efficiency/Cost? 3 h@p://www.lavarnd.org/

Applications GeneraBng Keys Nonce Seeds Random numbers used in Lo@ery Gaming and Gambling Demand Secure communicabon Servers E.g. Intel is embedding TRNGs in its new generabon processors 4 h@p://spectrum.ieee.org/semiconductors/processors/behind- intels- new- randomnumber- generator/? utm_source=techalert&utm_medium=email&utm_campaign=9

What is the Challenge? Digital FPGAs, PSoC Analog ASICs UnconvenBonal Specialized Hardware Mechanical, OpBcal, etc Source of randomness? ImplementaBon cost The cost of generabng one (entropy) bit Quantum random number generabon * Specialized hardware (high cost) Speed/throughput Power Ease of implementabon Security Biasing a@acks * h@p://www.idquanbque.com/ FPGA More FPGA designs than ASICs Reconfigurable Shorter Time- to- Market Cheaper in low volume 5

Related Work Analog TRNGs Digital TRNGs Clock ji@er Metastability Sampling ring oscillator ji@er [] Sunar, MarBn, SBnson: A provably secure true random number generator with built- in tolerance to acbve a@acks. IEEE Trans. on Computers 58, 9 9 (27) [2] O Donnell, Suh, & Devadas: PUF- based random number generabon: MIT CSAIL CSG Tech. Memo 48 24 Cons of popular ROs Low entropy rate Strong dependence on working condibon Can synchronize on perturbabons or other ROs High power consumpbon 6

This Work Flip- flop metastability circuit/ambient noise sensor Fine delay tuning force metastable operabon At- speed feedback mechanism automabc tuning Robust operabon Resilient against acbve a@acks - biasing Simple design principle Easy to observe how randomness relies on physical phenomena High entropy and throughput per unit area 7

Flip- Blop Metastability Metastability Highly sensibve to noise Flip- flop Delay difference Simultaneous arrival 4~5 ps Setup Margin Hold Margin Metastable Region D Q Probability of Q= C.5 Δ Majzoobi, Koushanfar, and Potkonjak Techniques for Design and ImplementaBon of Secure Reconfigurable PUFs. TRETS. Syst. 2,, ArBcle 5, 29 8

Delay tuning FPGA Lookup table (LUT) Configured SRAM bits A : Control Delay A = A 2 = Switch Matrix slice slice Switch Matrix slice slice Output Switch Matrix slice slice Switch Matrix slice slice O: Programmable delay Line (PDL) Incremental changes in propagabon path Example: 3- input LUT Tree- like network ResoluBon ~ ps O 9 A A 2 A 3

TRNG System Design Monitor bit probabilibes Provide feedback to perform delay tuning Monitor Counter - accumulator Control Linear feedback linear decoding PDL D C Q Control Binary Sequence Monitor Δ p PI proporbonal integral controller Δ b e Δ f Flip-flop G Integral Out

Implementation Coarse and fine delay tuning knobs Synthesize delay within a target range Fine PDL resolubon = 32 x Coarse PDL resolubon Linear Decoding Delay Diff. Δ C Counter Value FF c i A6 A5 A4 A3 A2 A i O c o c i A6 A5 A4 A3 A2 A i c O o Coarse PDL Fine PDL

Random Walk D random walk through counter values C C + x where x = {,- }, C = counter value Prob{x = - } = - Prob{x = } = f(c) The farther from the center the higher the probability of moving toward the center Course Tuning Blocks Fine Tuning Blocks p p p p p p...... Increment Counter Value Decrement Counter Value I b m I t m I b 2 I t 2 I b I t I b n I t n I b 2 I t 2 I b I t...... Decoder DFF D Q C... output inc/dec Binary Counter LSB MSB............... 2 Decoder............

Measurement setup Measuring PDL resolubon External lab funcbon generator Linear sweep from MHz to 5MHz Freq * 34 by internal PLL Xilinx Virtex 5 XC5VLX Record error rate 32x32 array 3

PDL Delay Measurement Delay difference Coarse delay tap ~ps Fine delay tap ~ps/32 ns ns ns _ = 4

Tuning with PDLs Fine tuning stages 32 Coarse tuning stages 32 Measure probability Repeat Bmes Normalize the number of s 5

Operation bit counter (5 LSB/MSB bits control fine/coarse PDLs) The counter value finally se@le around a constant value 562 It walks around the center values Here: 564,563,562,56,56, 559 6

Steady state statistics : decrement : increment How many Bmes a counter value appears What is the output bit probability associated with each counter values? Output: Counter: 564 563 562 56 562 56 56 56 562 56 56 56.4 7

Post- Processing Learning filter Only output values when the counter value equals X X is learned by measuring each bit probability for steady state counter values In this case, X = 56 Van Neumann correcbon 8

Cost Area (32+32)x2 = 28 LUTs for the PDLs FFs = bit counter Decoder = 2 ROMs (5 bit address width 28 bit word) XC5VLXT 7,28 Slices 296 8kb ROM Can fit more than TRNGs Speed Forward path delay = 6.6ns 6 Mbit/sec, 2Mbit/Sec a{er post- processing Overclocking Parallel cores 9

Statistical Test Results NIST suite A{er filtering and post processing 2

Conclusion FPGA based true random number generabon Flip- flop meta- stability Use precise delay tuning Programmable delay line Single LUT To generate high quality random bits Self adjusbng mechanism Resilient to acbve a@acks Throughput of 2MHz with one block Can have TRNG blocks run in parallel Can perform overclocking 2