cprng-aes-0.5.2: Crypto Pseudo Random Number Generator using AES in counter mode.

MaintainerVincent Hanquez <vincent@snarc.org>
Safe HaskellNone



this CPRNG is an AES based counter system.

the internal size of fields are: 16 bytes IV, 16 bytes counter, 32 bytes key

each block are generated the following way: aes (IV xor counter) -> 16 bytes output



data AESRNG Source

AES Counter mode Pseudo random generator.

Provide a very good Cryptographic pseudo random generator that create pseudo random output based an AES cipher used in counter mode, initialized from random key, random IV and random nonce.

This CPRG uses 64 bytes of pure entropy to create its random state.

By default, this generator will automatically reseed after generating 1 megabyte of data.

make :: EntropyPool -> AESRNGSource

make an AES RNG from an EntropyPool.

use makeSystem to not have to deal with the entropy pool.

makeSystem :: IO AESRNGSource

Initialize a new AES RNG using the system entropy. {--}