Practical Random Number Generation in Software
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Sensor-Seeded Cryptographically Secure Random Number Generation
International Journal of Recent Technology and Engineering (IJRTE) ISSN: 2277-3878, Volume-8 Issue-3, September 2019 Sensor-Seeded Cryptographically Secure Random Number Generation K.Sathya, J.Premalatha, Vani Rajasekar Abstract: Random numbers are essential to generate secret keys, AES can be executed in various modes like Cipher initialization vector, one-time pads, sequence number for packets Block Chaining (CBC), Cipher Feedback (CFB), Output in network and many other applications. Though there are many Feedback (OFB), and Counter (CTR). Pseudo Random Number Generators available they are not suitable for highly secure applications that require high quality randomness. This paper proposes a cryptographically secure II. PRNG IMPLEMENTATIONS pseudorandom number generator with its entropy source from PRNG requires the seed value to be fed to a sensor housed on mobile devices. The sensor data are processed deterministic algorithm. Many deterministic algorithms are in 3-step approach to generate random sequence which in turn proposed, some of widely used algorithms are fed to Advanced Encryption Standard algorithm as random key to generate cryptographically secure random numbers. Blum-Blum-Shub algorithm uses where X0 is seed value and M =pq, p and q are prime. Keywords: Sensor-based random number, cryptographically Linear congruential Generator uses secure, AES, 3-step approach, random key where is the seed value. Mersenne Prime Twister uses range of , I. INTRODUCTION where that outputs sequence of 32-bit random Information security algorithms aim to ensure the numbers. confidentiality, integrity and availability of data that is transmitted along the path from sender to receiver. All the III. SENSOR-SEEDED PRNG security mechanisms like encryption, hashing, signature rely Some of PRNGs uses clock pulse of computer system on random numbers in generating secret keys, one time as seeds. -
A Secure Authentication System- Using Enhanced One Time Pad Technique
IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.2, February 2011 11 A Secure Authentication System- Using Enhanced One Time Pad Technique Raman Kumar1, Roma Jindal 2, Abhinav Gupta3, Sagar Bhalla4 and Harshit Arora 5 1,2,3,4,5 Department of Computer Science and Engineering, 1,2,3,4,5 D A V Institute of Engineering and Technology, Jalandhar, Punjab, India. Summary the various weaknesses associated with a password have With the upcoming technologies available for hacking, there is a come to surface. It is always possible for people other than need to provide users with a secure environment that protect their the authenticated user to posses its knowledge at the same resources against unauthorized access by enforcing control time. Password thefts can and do happen on a regular basis, mechanisms. To counteract the increasing threat, enhanced one so there is a need to protect them. Rather than using some time pad technique has been introduced. It generally random set of alphabets and special characters as the encapsulates the enhanced one time pad based protocol and provides client a completely unique and secured authentication passwords we need something new and something tool to work on. This paper however proposes a hypothesis unconventional to ensure safety. At the same time we need regarding the use of enhanced one time pad based protocol and is to make sure that it is easy to be remembered by you as a comprehensive study on the subject of using enhanced one time well as difficult enough to be hacked by someone else. -
A Note on Random Number Generation
A note on random number generation Christophe Dutang and Diethelm Wuertz September 2009 1 1 INTRODUCTION 2 \Nothing in Nature is random. number generation. By \random numbers", we a thing appears random only through mean random variates of the uniform U(0; 1) the incompleteness of our knowledge." distribution. More complex distributions can Spinoza, Ethics I1. be generated with uniform variates and rejection or inversion methods. Pseudo random number generation aims to seem random whereas quasi random number generation aims to be determin- istic but well equidistributed. 1 Introduction Those familiars with algorithms such as linear congruential generation, Mersenne-Twister type algorithms, and low discrepancy sequences should Random simulation has long been a very popular go directly to the next section. and well studied field of mathematics. There exists a wide range of applications in biology, finance, insurance, physics and many others. So 2.1 Pseudo random generation simulations of random numbers are crucial. In this note, we describe the most random number algorithms At the beginning of the nineties, there was no state-of-the-art algorithms to generate pseudo Let us recall the only things, that are truly ran- random numbers. And the article of Park & dom, are the measurement of physical phenomena Miller (1988) entitled Random generators: good such as thermal noises of semiconductor chips or ones are hard to find is a clear proof. radioactive sources2. Despite this fact, most users thought the rand The only way to simulate some randomness function they used was good, because of a short on computers are carried out by deterministic period and a term to term dependence. -
Cryptography Whitepaper
Cryptography Whitepaper Threema uses modern cryptography based on open source components that strike an optimal balance between security, performance and message size. In this whitepaper, the algorithms and design decisions behind the cryptography in Threema are explained. VERSION: JUNE 21, 2021 Contents Overview 4 Open Source 5 End-to-End Encryption 5 Key Generation and Registration 5 Key Distribution and Trust 6 Message Encryption 7 Group Messaging 8 Key Backup 8 Client-Server Protocol Description 10 Chat Protocol (Message Transport Layer) 10 Directory Access Protocol 11 Media Access Protocol 11 Cryptography Details 12 Key Lengths 12 Random Number Generation 13 Forward Secrecy 14 Padding 14 Repudiability 15 Replay Prevention 15 Local Data Encryption 15 iOS 15 Android 16 Key Storage 16 iOS 16 Android 16 Push Notifications 17 iOS 17 Android 17 Threema • Cryptography Whitepaper Address Book Synchronization 17 Linking 18 ID Revocation 19 An Example 19 Profile Pictures 19 Web Client 20 Architecture 20 Connection Buildup 21 WebRTC Signaling 22 WebRTC Connection Buildup 22 Trusted Keys / Stored Sessions 23 Push Service 23 Self Hosting 24 Links 24 Threema Calls 24 Signaling 24 Call Encryption 24 Audio Encoding 25 Video Encoding 25 Privacy / IP Exposure 25 Threema Safe 26 Overview 26 Backup Format 27 Encryption 27 Upload/Storage 27 Backup Intervals 28 Restore/Decryption 28 Running a Custom Threema Safe Server 28 Threema • Cryptography Whitepaper Overview Threema uses two different encryption layers to protect messages between the sender and the recipient. • End-to-end encryption layer: this layer is between the sender and the recipient. • Transport layer: each end-to-end encrypted message is encrypted again for transport between the client and the server, in order to protect the header information. -
ERHARD-RNG: a Random Number Generator Built from Repurposed Hardware in Embedded Systems
ERHARD-RNG: A Random Number Generator Built from Repurposed Hardware in Embedded Systems Jacob Grycel and Robert J. Walls Department of Computer Science Worcester Polytechnic Institute Worcester, MA Email: jtgrycel, [email protected] Abstract—Quality randomness is fundamental to crypto- only an external 4 MHz crystal oscillator and power supply. graphic operations but on embedded systems good sources are We chose this platform due to its numerous programmable pe- (seemingly) hard to find. Rather than use expensive custom hard- ripherals, its commonality in embedded systems development, ware, our ERHARD-RNG Pseudo-Random Number Generator (PRNG) utilizes entropy sources that are already common in a and its affordability. Many microcontrollers and Systems On a range of low-cost embedded platforms. We empirically evaluate Chip (SoC) include similar hardware that allows our PRNG to the entropy provided by three sources—SRAM startup state, be implemented, including chips from Atmel, Xilinx, Cypress oscillator jitter, and device temperature—and integrate those Semiconductor, and other chips from Texas Instruments. sources into a full Pseudo-Random Number Generator imple- ERHARD-RNG is based on three key insights. First, we mentation based on Fortuna [1]. Our system addresses a number of fundamental challenges affecting random number generation can address the challenge of collecting entropy at runtime by on embedded systems. For instance, we propose SRAM startup sampling the jitter of the low-power/low-precision oscillator. state as a means to efficiently generate the initial seed—even for Coupled with measurements of the internal temperature sensor systems that do not have writeable storage. Further, the system’s we can effectively re-seed our PRNG with minimal overhead. -
How to Eat Your Entropy and Have It Too — Optimal Recovery Strategies for Compromised Rngs
How to Eat Your Entropy and Have it Too — Optimal Recovery Strategies for Compromised RNGs Yevgeniy Dodis1?, Adi Shamir2, Noah Stephens-Davidowitz1, and Daniel Wichs3?? 1 Dept. of Computer Science, New York University. { [email protected], [email protected] } 2 Dept. of Computer Science and Applied Mathematics, Weizmann Institute. [email protected] 3 Dept. of Computer Science, Northeastern University. [email protected] Abstract. We study random number generators (RNGs) with input, RNGs that regularly update their internal state according to some aux- iliary input with additional randomness harvested from the environment. We formalize the problem of designing an efficient recovery mechanism from complete state compromise in the presence of an active attacker. If we knew the timing of the last compromise and the amount of entropy gathered since then, we could stop producing any outputs until the state becomes truly random again. However, our challenge is to recover within a time proportional to this optimal solution even in the hardest (and most realistic) case in which (a) we know nothing about the timing of the last state compromise, and the amount of new entropy injected since then into the state, and (b) any premature production of outputs leads to the total loss of all the added entropy used by the RNG. In other words, the challenge is to develop recovery mechanisms which are guaranteed to save the day as quickly as possible after a compromise we are not even aware of. The dilemma is that any entropy used prematurely will be lost, and any entropy which is kept unused will delay the recovery. -
Cryptanalysis of the Random Number Generator of the Windows Operating System
Cryptanalysis of the Random Number Generator of the Windows Operating System Leo Dorrendorf School of Engineering and Computer Science The Hebrew University of Jerusalem 91904 Jerusalem, Israel [email protected] Zvi Gutterman Benny Pinkas¤ School of Engineering and Computer Science Department of Computer Science The Hebrew University of Jerusalem University of Haifa 91904 Jerusalem, Israel 31905 Haifa, Israel [email protected] [email protected] November 4, 2007 Abstract The pseudo-random number generator (PRNG) used by the Windows operating system is the most commonly used PRNG. The pseudo-randomness of the output of this generator is crucial for the security of almost any application running in Windows. Nevertheless, its exact algorithm was never published. We examined the binary code of a distribution of Windows 2000, which is still the second most popular operating system after Windows XP. (This investigation was done without any help from Microsoft.) We reconstructed, for the ¯rst time, the algorithm used by the pseudo- random number generator (namely, the function CryptGenRandom). We analyzed the security of the algorithm and found a non-trivial attack: given the internal state of the generator, the previous state can be computed in O(223) work (this is an attack on the forward-security of the generator, an O(1) attack on backward security is trivial). The attack on forward-security demonstrates that the design of the generator is flawed, since it is well known how to prevent such attacks. We also analyzed the way in which the generator is run by the operating system, and found that it ampli¯es the e®ect of the attacks: The generator is run in user mode rather than in kernel mode, and therefore it is easy to access its state even without administrator privileges. -
Random Number Generation Using MSP430™ Mcus (Rev. A)
Application Report SLAA338A–October 2006–Revised May 2018 Random Number Generation Using MSP430™ MCUs ......................................................................................................................... MSP430Applications ABSTRACT Many applications require the generation of random numbers. These random numbers are useful for applications such as communication protocols, cryptography, and device individualization. Generating random numbers often requires the use of expensive dedicated hardware. Using the two independent clocks available on the MSP430F2xx family of devices, software can generate random numbers without such hardware. Source files for the software described in this application report can be downloaded from http://www.ti.com/lit/zip/slaa338. Contents 1 Introduction ................................................................................................................... 1 2 Setup .......................................................................................................................... 1 3 Adding Randomness ........................................................................................................ 2 4 Usage ......................................................................................................................... 2 5 Overview ...................................................................................................................... 2 6 Testing for Randomness................................................................................................... -
(Pseudo) Random Number Generation for Cryptography
Thèse de Doctorat présentée à L’ÉCOLE POLYTECHNIQUE pour obtenir le titre de DOCTEUR EN SCIENCES Spécialité Informatique soutenue le 18 mai 2009 par Andrea Röck Quantifying Studies of (Pseudo) Random Number Generation for Cryptography. Jury Rapporteurs Thierry Berger Université de Limoges, France Andrew Klapper University of Kentucky, USA Directeur de Thèse Nicolas Sendrier INRIA Paris-Rocquencourt, équipe-projet SECRET, France Examinateurs Philippe Flajolet INRIA Paris-Rocquencourt, équipe-projet ALGORITHMS, France Peter Hellekalek Universität Salzburg, Austria Philippe Jacquet École Polytechnique, France Kaisa Nyberg Helsinki University of Technology, Finland Acknowledgement It would not have been possible to finish this PhD thesis without the help of many people. First, I would like to thank Prof. Peter Hellekalek for introducing me to the very rich topic of cryptography. Next, I express my gratitude towards Nicolas Sendrier for being my supervisor during my PhD at Inria Paris-Rocquencourt. He gave me an interesting topic to start, encouraged me to extend my research to the subject of stream ciphers and supported me in all my decisions. A special thanks also to Cédric Lauradoux who pushed me when it was necessary. I’m very grateful to Anne Canteaut, which had always an open ear for my questions about stream ciphers or any other topic. The valuable discussions with Philippe Flajolet about the analysis of random functions are greatly appreciated. Especially, I want to express my gratitude towards my two reviewers, Thierry Berger and Andrew Klapper, which gave me precious comments and remarks. I’m grateful to Kaisa Nyberg for joining my jury and for receiving me next year in Helsinki. -
Cryptography for Developers.Pdf
404_CRYPTO_FM.qxd 10/30/06 2:33 PM Page i Visit us at www.syngress.com Syngress is committed to publishing high-quality books for IT Professionals and delivering those books in media and formats that fit the demands of our cus- tomers. We are also committed to extending the utility of the book you purchase via additional materials available from our Web site. SOLUTIONS WEB SITE To register your book, visit www.syngress.com/solutions. Once registered, you can access our [email protected] Web pages. There you may find an assortment of value-added features such as free e-books related to the topic of this book, URLs of related Web site, FAQs from the book, corrections, and any updates from the author(s). ULTIMATE CDs Our Ultimate CD product line offers our readers budget-conscious compilations of some of our best-selling backlist titles in Adobe PDF form. These CDs are the perfect way to extend your reference library on key topics pertaining to your area of exper- tise, including Cisco Engineering, Microsoft Windows System Administration, CyberCrime Investigation, Open Source Security, and Firewall Configuration, to name a few. DOWNLOADABLE E-BOOKS For readers who can’t wait for hard copy, we offer most of our titles in download- able Adobe PDF form. These e-books are often available weeks before hard copies, and are priced affordably. SYNGRESS OUTLET Our outlet store at syngress.com features overstocked, out-of-print, or slightly hurt books at significant savings. SITE LICENSING Syngress has a well-established program for site licensing our e-books onto servers in corporations, educational institutions, and large organizations. -
Random-Number Functions
Title stata.com Random-number functions Contents Functions Remarks and examples Methods and formulas Acknowledgments References Also see Contents rbeta(a,b) beta(a,b) random variates, where a and b are the beta distribution shape parameters rbinomial(n,p) binomial(n,p) random variates, where n is the number of trials and p is the success probability rcauchy(a,b) Cauchy(a,b) random variates, where a is the location parameter and b is the scale parameter rchi2(df) χ2, with df degrees of freedom, random variates rexponential(b) exponential random variates with scale b rgamma(a,b) gamma(a,b) random variates, where a is the gamma shape parameter and b is the scale parameter rhypergeometric(N,K,n) hypergeometric random variates rigaussian(m,a) inverse Gaussian random variates with mean m and shape param- eter a rlaplace(m,b) Laplace(m,b) random variates with mean m and scale parameter b p rlogistic() logistic variates with mean 0 and standard deviation π= 3 p rlogistic(s) logistic variates with mean 0, scale s, and standard deviation sπ= 3 rlogistic(m,s) logisticp variates with mean m, scale s, and standard deviation sπ= 3 rnbinomial(n,p) negative binomial random variates rnormal() standard normal (Gaussian) random variates, that is, variates from a normal distribution with a mean of 0 and a standard deviation of 1 rnormal(m) normal(m,1) (Gaussian) random variates, where m is the mean and the standard deviation is 1 rnormal(m,s) normal(m,s) (Gaussian) random variates, where m is the mean and s is the standard deviation rpoisson(m) Poisson(m) -
A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications
Special Publication 800-22 Revision 1a A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications AndrewRukhin,JuanSoto,JamesNechvatal,Miles Smid,ElaineBarker,Stefan Leigh,MarkLevenson,Mark Vangel,DavidBanks,AlanHeckert,JamesDray,SanVo Revised:April2010 LawrenceE BasshamIII A Statistical Test Suite for Random and Pseudorandom Number Generators for NIST Special Publication 800-22 Revision 1a Cryptographic Applications 1 2 Andrew Rukhin , Juan Soto , James 2 2 Nechvatal , Miles Smid , Elaine 2 1 Barker , Stefan Leigh , Mark 1 1 Levenson , Mark Vangel , David 1 1 2 Banks , Alan Heckert , James Dray , 2 San Vo Revised: April 2010 2 Lawrence E Bassham III C O M P U T E R S E C U R I T Y 1 Statistical Engineering Division 2 Computer Security Division Information Technology Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8930 Revised: April 2010 U.S. Department of Commerce Gary Locke, Secretary National Institute of Standards and Technology Patrick Gallagher, Director A STATISTICAL TEST SUITE FOR RANDOM AND PSEUDORANDOM NUMBER GENERATORS FOR CRYPTOGRAPHIC APPLICATIONS Reports on Computer Systems Technology The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) promotes the U.S. economy and public welfare by providing technical leadership for the nation’s measurement and standards infrastructure. ITL develops tests, test methods, reference data, proof of concept implementations, and technical analysis to advance the development and productive use of information technology. ITL’s responsibilities include the development of technical, physical, administrative, and management standards and guidelines for the cost-effective security and privacy of sensitive unclassified information in Federal computer systems.