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

Portabilityunknown
Stabilitystable
MaintainerVincent Hanquez <vincent@snarc.org>
Safe HaskellNone

Crypto.Random.AESCtr

Description

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

Synopsis

Documentation

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. {--}