A Mathematical and Physical Analysis of Circuit Jitter with Application to Cryptographic Random Bit Generation
Total Page:16
File Type:pdf, Size:1020Kb
WJM-6500 BS2-0501 A Mathematical and Physical Analysis of Circuit Jitter with Application to Cryptographic Random Bit Generation A Major Qualifying Project Report: submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE in partial fulfillment of the requirements for the Degree of Bachelor of Science by _____________________________ Wayne R. Coppock _____________________________ Colin R. Philbrook Submitted April 28, 2005 1. Random Number Generator Approved:________________________ Professor William J. Martin 2. Cryptography ________________________ 3. Jitter Professor Berk Sunar 1 Abstract In this paper analysis of jitter is conducted to determine its suitability for use as an entropy source for a true random number generator. Efforts are taken to isolate and quantify jitter in ring oscillator circuits and to understand its relationship to design specifications. The accumulation of jitter via various methods is also investigated to determine whether there is an optimal accumulation technique for sampling the uncertainty of jitter events. Mathematical techniques are used to analyze the accumulation process and an attempt at modeling a signal with jitter is made. The physical properties responsible for the noise that causes jitter are also briefly investigated. 2 Acknowledgements We would like to thank our faculty advisors and our mentors at GD, without whom this project would not have been possible. Our advisors, Professor Bill martin and Professor Berk Sunar, were indispensable in keeping us focused on the tasks ahead as well as for providing background to help us explore new questions as they arose. Our mentors at GD were also key to the project’s success, and we owe them much for this. Gerardo Orlando took large amounts of time out of his busy schedule to keep us moving along and give us new avenues to explore. Nichols Paul was extremely helpful with the insight he provided into noise measurements, as well as the general support he offered us. Tucker Evans was quite helpful in setting up and programming in the GD CAD environment and without him no new hardware designs would have been possible. Robert Hosford was always willing to help us out and was a big help getting our test setup in working order. 3 Table of Contents Abstract............................................................................................................................... 2 Acknowledgements............................................................................................................. 3 Table of Figures .................................................................................................................. 5 Table of Tables ................................................................................................................... 5 1 Background................................................................................................................. 6 1.1 Cryptography ...................................................................................................... 6 1.2 Random Number Generators .............................................................................. 7 1.3 Jitter..................................................................................................................... 9 2 Methodology............................................................................................................. 10 2.1 Development Environment ............................................................................... 10 2.1.1 Hardware................................................................................................... 10 2.1.2 Software Design Flow............................................................................... 10 2.2 Testing Environment and Procedures ............................................................... 11 2.2.1 Jitter Measurement.................................................................................... 11 2.2.2 Oscilloscope.............................................................................................. 14 3 Results and Analysis................................................................................................. 15 3.1 Ring Oscillator.................................................................................................. 15 3.2 Theoretical Analysis......................................................................................... 18 3.2.1 Central Limit Theorem ............................................................................. 19 3.2.2 Correlated Noise Sources.......................................................................... 20 3.3 Experimental Analysis...................................................................................... 21 3.3.1 Basic Jitter Statistics................................................................................. 21 3.3.2 N-Cycle Accumulation ............................................................................. 22 3.3.3 Jitter Density............................................................................................. 27 3.3.4 Periodic Noise and Filtering ..................................................................... 29 3.4 Modeling........................................................................................................... 32 4 Future Work.............................................................................................................. 34 5 Conclusion ................................................................................................................ 35 References......................................................................................................................... 36 4 Table of Figures Figure 1: Basic Jitter Diagram ............................................................................................ 9 Figure 2: Design Flow ...................................................................................................... 11 Figure 3: Jitter Measurement Techniques [3] ................................................................... 12 Figure 4: Simple 3-Inverter Ring...................................................................................... 15 Figure 5: Timing Diagram ................................................................................................ 16 Figure 6: Comparison of 57 and 151 Inverter Waveforms............................................... 17 Figure 7: Normal Distribution .......................................................................................... 19 Figure 8: Log-Log Plot of Standard Deviation vs. Measurement Period [6].................... 21 Figure 9: Standard Deviation vs. Number of Inverters..................................................... 22 Figure 10: N-Cycle Accumulations .................................................................................. 23 Figure 11: First Fifty Cycles............................................................................................. 24 Figure 12: Log-Log plot of N-Cycle Data ........................................................................ 24 Figure 13: Period Measurements for 67 Inverter Ring ..................................................... 25 Figure 14: Period Measurements for 101 Inverter Ring ................................................... 25 Figure 15: N-Cycle Histogram Comparison for 67 Inverter Ring.................................... 26 Figure 16: TIE Time Trend............................................................................................... 29 Figure 17: TIE Spectrogram ............................................................................................. 30 Figure 18: Filtered TIE Time Trend ................................................................................. 31 Figure 19: TIE Histogram Improvement .......................................................................... 31 Figure 20: Signal / Model Comparison............................................................................. 33 Table of Tables Table 1: Jitter Density Results .......................................................................................... 28 5 1 Background 1.1 Cryptography Cryptography is a pervasive element in modern life, the importance of which can hardly be overstated. It is nothing less than the modern application of technology (though its origins date back to the beginnings of civilization) to the problem of keeping secrets secret. In a modern sense, cryptography mostly involves the use of algorithms to keep electronic data secure. In a broader context, there are various ways which cryptography can keep data secure. It can keep data secure from someone for whom it was not intended, it can confirm that data not become corrupted or altered in transit, and it can ensure that the data comes from a trustworthy source. These are called confidentiality, data integrity, and authentication respectively. Although they differ in their application of it, all use the basic cryptographic system of encryption and decryption. No matter how secure from attacks the algorithm used for the encryption process is, this system is only as strong as the key used to encode the information. In many modern systems the assumption is made that the key is unknown and unable to be guessed. This assumption has lead to the widespread use of random (mostly pseudorandom) numbers as keys, meaning that a system is now only as secure as the random number generator used to produce the key. A weak random number generator