cprng-aes-0.3.0: 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

make :: ByteString -> Maybe AESRNGSource

make an AES RNG from a bytestring seed. the bytestring need to be at least 64 bytes. if the bytestring is longer, the extra bytes will be ignored and will not take part in the initialization.

use makeSystem to not have to deal with the generator seed.

makeSystem :: IO AESRNGSource

Initialize a new AES RNG using the system entropy.

genRandomBytes

Arguments

:: CPRG g 
=> g

CPRG to use

-> Int

number of bytes to return

-> (ByteString, g) 

Generate bytes using the cprg in parameter.

arbitrary limit the number of bytes that can be generated in one go to 10mb.