Pseudo-random generators Random Number Generating There are three types of generators table look-up generators hardware generators algorithmic (software)

Slides:



Advertisements
Similar presentations
RSLAB-NTU Lab for Remote Sensing Hydrology and Spatial Modeling 1 An Introduction to R Pseudo Random Number Generation (PRNG) Prof. Ke-Sheng Cheng Dept.
Advertisements

Generating Random Numbers
Random Number Generation Graham Netherton Logan Stelly.
Random Number Generation. Random Number Generators Without random numbers, we cannot do Stochastic Simulation Most computer languages have a subroutine,
CS457 – Introduction to Information Systems Security Cryptography 1b Elias Athanasopoulos
Random Numbers. Two Types of Random Numbers 1.True random numbers: True random numbers are generated in non- deterministic ways. They are not predictable.
Random number generation Algorithms and Transforms to Univariate Distributions.
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Random Sources.
Random Number Generators. Why do we need random variables? random components in simulation → need for a method which generates numbers that are random.
Cryptography and Network Security Chapter 7 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Stream cipher diagram + + Recall: One-time pad in Chap. 2.
The Problem With The Linpack Benchmark 1.0 Matrix Generator Jack J. Dongarra and Julien Langou International Journal of High Performance Computing Applications.
1 Random Number Generation H Plan: –Introduce basics of RN generation –Define concepts and terminology –Introduce RNG methods u Linear Congruential Generator.
Random Numbers Dick Steflik. Pseudo Random Numbers In most cases we do not want truly random numbers –most applications need the idea of repeatability.
Genetic Algorithms Can Be Used To Obtain Good Linear Congruential Generators Presented by Ben Sproat.
Pseudorandom Number Generators
Random Thoughts 2012 (COMP 066) Jan-Michael Frahm Jared Heinly.
APPENDIX D RANDOM NUMBER GENERATION
15-853Page :Algorithms in the Real World Generating Random and Pseudorandom Numbers.
Generating Random Numbers in Hardware. Two types of random numbers used in computing: --”true” random numbers: ++generated from a physical source (e.g.,
Pseudorandom Number Generators. Randomness and Security Many cryptographic protocols require the parties to generate random numbers. All the hashing algorithms.
Cryptography and Network Security Chapter 7 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Pseudo-random Number Generation Qiuliang Tang. Random Numbers in Cryptography ► The keystream in the one-time pad ► The secret key in the DES encryption.
ETM 607 – Random Number and Random Variates
KAIS T A lightweight secure protocol for wireless sensor networks 윤주범 ELSEVIER Mar
Random Numbers CSE 331 Section 2 James Daly. Randomness Most algorithms we’ve talked about have been deterministic The same inputs always give the same.
CS555Spring 2012/Topic 51 Cryptography CS 555 Topic 5: Pseudorandomness and Stream Ciphers.
Random-Number Generation Andy Wang CIS Computer Systems Performance Analysis.

CPSC 531: RN Generation1 CPSC 531:Random-Number Generation Instructor: Anirban Mahanti Office: ICT Class Location:
Chapter 7 Random-Number Generation
CS 450 – Modeling and Simulation Dr. X. Topics What Does Randomness Mean? Randomness in games Generating Random Values Random events in real life: measuring.
Information Security Lab. Dept. of Computer Engineering 182/203 PART I Symmetric Ciphers CHAPTER 7 Confidentiality Using Symmetric Encryption 7.1 Placement.
Modeling and Simulation Random Number Generators
Chapter The Integers and Division Division
Random Number Generators 1. Random number generation is a method of producing a sequence of numbers that lack any discernible pattern. Random Number Generators.
Elliptic Curve Cryptography Implementation & PKI Adoption Brian Saville Jonathan Mitchell.
Experimental Method and Data Process: “Monte Carlo Method” Presentation # 1 Nafisa Tasneem CHEP,KNU
Cryptography Lecture 2: Classic Ciphers Piotr Faliszewski.
APPENDIX D R ANDOM N UMBER G ENERATION Organization of chapter in ISSO* – General description and linear congruential generators Criteria for “good” random.
Chapter 7 – Confidentiality Using Symmetric Encryption.
Chapter 7 Confidentiality Using Symmetric Encryption.
Attacks on PRNGs - By Nupura Neurgaonkar CS-265 (Prof. Mark Stamp)
Random Number Generator. Random number Random number: Uniform distribution on [0,1] Random device: dice, coin -> cannot generate the equal sequence.
Network Security Lecture 18 Presented by: Dr. Munam Ali Shah.
PRNGs Pseudo-random number generation. Randomness and Cryptography Randomness and pseudo-randomness are useful in cryptography: –To generate random and.
Random Numbers RANDOM VS PSEUDO RANDOM. Truly Random numbers  From Wolfram: “A random number is a number chosen as if by chance from some specified distribution.
CS 615: Design & Analysis of Algorithms Chapter 7: Randomized Algorithms (Weiss Chap.: 10.4)
The man who knew 28% of mathematics. John Von Neumann ( ) Hans Bethe: Academic seminars (10.
R ANDOM N UMBER G ENERATORS Modeling and Simulation CS
Chapter 7 – Confidentiality Using Symmetric Encryption.
Real-life cryptography Pfeiffer Alain.  Types of PRNG‘s  History  General Structure  User space  Entropy types  Initialization process  Building.
0 Simulation Modeling and Analysis: Input Analysis 7 Random Numbers Ref: Law & Kelton, Chapter 7.
Module 9.2 Simulations. Computer simulation Having computer program imitate reality, in order to study situations and make decisions Applications?
1.  How does the computer generate observations from various distributions specified after input analysis?  There are two main components to the generation.
Issues of Random Numbers and Cryptography
Generating Random Numbers
Random Number Generators
A cryptographically secure pseudorandom number generator for Julia
Random numbers Taken from notes by Dr. Neil Moore
Random Number Generation
Random-Number Generation
Random vs pseudo random
Computing and Statistical Data Analysis Stat 3: The Monte Carlo Method
Cryptography and Network Security Chapter 7
Random number generators
Computer Simulation Techniques Generating Pseudo-Random Numbers
Chapter -4 STREAM CIPHERS
Generating Random and Pseudorandom Numbers
Generating Random and Pseudorandom Numbers
Presentation transcript:

Pseudo-random generators

Random Number Generating There are three types of generators table look-up generators hardware generators algorithmic (software) generators The third category is the one most often used in cryptography. It does not produce a truly random number but rather a pseudo random number.

Is a given PRNG good enough? The German Federal Office for Information Security (BSI) has established four criteria for quality of random number generators: K1 A sequence of random numbers with a low probability of containing identical consecutive elements. K2 A sequence of numbers which is indistinguishable from 'true random' numbers according to specified statistical tests.. K3 It should be impossible for any attacker to calculate, or otherwise guess, from any given sub- sequence, any previous or future values in the sequence. K4 It should be impossible for an attacker to calculate, or guess from an inner state of the generator, any previous numbers in the sequence or any previous inner generator states. To be suitable for cryptography any PRNG should meet K3 and K4 standards

Mersenne Twister

Linear congruential generator A linear congruential generator is determined by the following four integer values m the modulus m > 0 a the multiplier 0, 0 < a < m c the increment 0, 0 < c< m X 0 the starting value 0, 0 <X 0 < m The algorithm is X n + 1 = (aX n + c)mod m Where n>0

Lehmer random number generator

The basic algorithm is X i + 1 = (aX i + c) mod m, with 0 ≤ X i ≤ m X 0, a, and c are known as the seed, multiplier, and the increment respectively M is 2 p-1 where p is the CPU bits (32 bit, 64 bit, etc.) If we pick small numbers to make the math easy like this For example, consider m = 31, a = 7, c = 0 and begin with X 0 = 19. The next integers in the sequence are 9, 1, 7, 18, 2, 14, 5, 4, 28, 10, 8, 25, 20, 16 If the multiplier and seed are chosen properly, a Lehmer generator is statistically indistinguishable from drawing from with replacement. You can see a code implementation of this PRNG at

Lagged Fibonacci Generator

Naor-Reingold Pseudorandom Function