1CPRNG-AES
2=========
3
4This module provides a crypto pseudo random number generator using AES in counter mode.
5
6to import:
7
8    import Crypto.Random.AESCtr
9
10to use:
11
12    rng <- makeSystem
13    let (ran, rng') = getRandomBytes rng 1024
14
15it's also an instance of CryptoRandomGen from the crypto-api package.
16
17Statistics
18----------
19
20Using ent, a randomness property maker on one 1Mb sample.
21
22cprng-AES:
23
24    Entropy = 7.999837 bits per byte.
25    Optimum compression would reduce the size of this 1048576 byte file by 0 percent.
26    Chi square distribution for 1048576 samples is 237.02.
27    Arithmetic mean value of data bytes is 127.3422 (127.5 = random).
28    Monte Carlo value for Pi is 3.143589568 (error 0.06 percent).
29
30Compared to urandom with the same sampling:
31
32    Entropy = 7.999831 bits per byte.
33    Optimum compression would reduce the size of this 1048576 byte file by 0 percent.
34    Chi square distribution for 1048576 samples is 246.63.
35    Arithmetic mean value of data bytes is 127.6347 (127.5 = random).
36    Monte Carlo value for Pi is 3.132465868 (error 0.29 percent).
37
38