Lecture # (3)
Ch 8
RANDOM BIT GENERATION
  AND STREAM CIPHERS
Outline
➢   Principles of Pseudorandom number generation(8.1)
➢   Pseudorandom number generators(8.2)
➢   Pseudorandom number generation using a block
    cipher(8.3)
     Principles of Pseudorandom number generation(8.1)
    Random number usage: A number of network security algorithms and
     protocols based on cryptography make use of random binary numbers.
    RANDOMNESS : two criteria are used to validate that a sequence of
     numbers is random:
1.    Uniform distribution
2.    Independence
    Principles of Pseudorandom number generation(8.1)
   UNPREDICTABILITY: In applications such as reciprocal authentication,
    session key generation, and stream ciphers, the requirement is not just
    that the sequence of numbers be statistically random but that the
    successive members of the sequence are unpredictable.
   true random number generator (TRNG), pseudorandom number generator
    (PRNG) and pseudorandom function (PRF).
Principles of Pseudorandom number generation(8.1)
     Principles of Pseudorandom number generation(8.1)
    PRNG requirements:
1.    RANDOMNESS: PRNG is that the generated bit stream appear random
      even though it is determinist.
    If the PRNG exhibits randomness on the basis of multiple tests, then it
     can be assumed to satisfy the randomness requirement.
    NIST SP 800-22 specifies that the tests should seek to establish the
     following three characteristics
     Principles of Pseudorandom number generation(8.1)
1.    Uniformity
2.    Scalability
3.    Consistency
    SP 800-22 :
•    Frequency test, Runs test and Maurer’s universal statistical test.
     Principles of Pseudorandom number generation(8.1)
2. UNPREDICTABILITY: A stream of pseudorandom numbers should exhibit
two forms of unpredictability.
1.   Forward unpredictability.
2.   Backward unpredictability
     Principles of Pseudorandom number generation(8.1)
    Algorithm design:
1.    Purpose-built algorithms
2.    Algorithms based on existing cryptographic algorithms
    cryptanalysis. Thus, cryptographic algorithms can serve as the core of
     PRNGs. Three broad categories of cryptographic algorithms are
     commonly used to create PRNGs
     Principles of Pseudorandom number generation(8.1)
1.   Symmetric block ciphers
2.   Asymmetric ciphers
3.   Hash functions and message authentication codes
     ➢Pseudorandom number generators(8.2)
1.   BOOK and white board
    ➢Pseudorandom number generation using a block cipher(8.3)
   A popular approach to PRNG construction is to use a symmetric block
    cipher as the heart of the PRNG mechanism
   For any block of plaintext, a symmetric block cipher produces an output
    block that is apparently random.
   If an established, standardized block cipher is used, such as DES or AES,
    then the security characteristics of the PRNG can be established
    ➢Pseudorandom number generation using a block cipher(8.3)
   PRNG using block cipher modes of operation:
   Two approaches that use a block cipher to build a PNRG have gained
    widespread acceptance: the CTR mode and the OFB mode.
   In each case, the seed consists of two parts: the encryption key value
    and a value V that will be updated after each block of pseudorandom
    numbers is generated. Thus, for AES-128, the seed consists of a 128-bit
    key and a 128-bit V value. In the CTR case, the value of V is incremented
    by 1 after each encryption. In the case of OFB, the value of V is updated
    to equal the value of the preceding PRNG block. In both cases,
    pseudorandom bits are produced one block at a time (e.g., for AES, PRNG
    ➢Pseudorandom number generation using a block cipher(8.3)
   In the case of OFB, the value of V is updated to equal the value of the
    preceding PRNG block. In both cases, pseudorandom bits are produced
    one block at a time (e.g., for AES, PRNG bits are generated 128 bits at a
    time)