Chapter 7 | Chapter 9 | |||||||

## index | ||||||||

## Back to Deley's Homepage |

This algorithm was always intended to be implemented in hardware because it is so complicated a software implementation would be too slow for any practical use. Nevertheless software implementations exist.

DES can be set up as a random number generator by feeding the output back into the input the same as with a liner congruential generator. The DES algorithm returns a 64 bit quadword. For the tests below the low 32 bits was taken as one random unsigned longword and the high 32 bits was taken as another random unsigned longword. Thus we got two random numbers for each iteration. Still it was incredibly slow.

Here are the results of testing DES as a 32 bit random number generator:

1-D PASS | 1,000,000 bpd, | fails above | |

2-D PASS | 1100 bpd, | fails above | |

3-D PASS | 90+bpd, | highest tested due to slowness of DES | |

4-D PASS | 33+bpd, | highest tested due to slowness of DES | |

5-D PASS | 16+bpd, | highest tested due to slowness of DES | |

6-D PASS | 9+bpd, | highest tested due to slowness of DES | |

7-D PASS | 7+bpd, | highest tested due to slowness of DES | |

8-D PASS | 4 bpd, | fails above |

Note that DES is extremely slow. DES takes an hour to generate the same number of random variables a shuffled linear congruential generator can generate in about a minute an a half. And note a shuffled linear congruential generator does better than DES. Time and the immense amount of CPU time required prevented further investigation into the randomness of DES.

Chapter 7 | Chapter 9 | |||||||

## index | ||||||||

## Back to Deley's Homepage |