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

[ bsd3, cryptography, deprecated, library ] [ Propose Tags ]
Deprecated in favor of cryptonite

Simple crypto pseudo-random-number-generator with really good randomness property.

Using ent, a randomness property maker on one 1Mb sample: Entropy = 7.999837 bits per byte. Optimum compression would reduce the size of this 1048576 byte file by 0 percent. Chi square distribution for 1048576 samples is 237.02 Arithmetic mean value of data bytes is 127.3422 (127.5 = random) Monte Carlo value for Pi is 3.143589568 (error 0.06 percent)

Compared to urandom with the same sampling: Entropy = 7.999831 bits per byte. Optimum compression would reduce the size of this 1048576 byte file by 0 percent. Chi square distribution for 1048576 samples is 246.63 Arithmetic mean value of data bytes is 127.6347 (127.5 = random). Monte Carlo value for Pi is 3.132465868 (error 0.29 percent).


[Skip to Readme]

Modules

[Index]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.4.0, 0.5.0, 0.5.1, 0.5.2, 0.6.0, 0.6.1
Dependencies base (>=3 && <5), byteable, bytestring (<0.12), cipher-aes (>=0.2.9 && <0.3), crypto-random (>=0.0.7 && <0.1) [details]
License BSD-3-Clause
Copyright Vincent Hanquez <vincent@snarc.org>
Author Vincent Hanquez <vincent@snarc.org>
Maintainer Vincent Hanquez <vincent@snarc.org>
Revised Revision 1 made by AndreasAbel at 2023-07-12T11:05:01Z
Category Cryptography
Home page http://github.com/vincenthz/hs-cprng-aes
Source repo head: git clone git://github.com/vincenthz/hs-cprng-aes
Uploaded by VincentHanquez at 2014-11-13T11:27:54Z
Distributions Debian:0.6.1, Fedora:0.6.1, FreeBSD:0.6.1
Reverse Dependencies 20 direct, 3526 indirect [details]
Downloads 121760 total (62 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for cprng-aes-0.6.1

[back to package description]

CPRNG-AES

This module provides a crypto pseudo random number generator using AES in counter mode.

to import:

import Crypto.Random.AESCtr

to use:

rng <- makeSystem
let (ran, rng') = getRandomBytes rng 1024

it's also an instance of CryptoRandomGen from the crypto-api package.

Statistics

Using ent, a randomness property maker on one 1Mb sample.

cprng-AES:

Entropy = 7.999837 bits per byte.
Optimum compression would reduce the size of this 1048576 byte file by 0 percent.
Chi square distribution for 1048576 samples is 237.02.
Arithmetic mean value of data bytes is 127.3422 (127.5 = random).
Monte Carlo value for Pi is 3.143589568 (error 0.06 percent).

Compared to urandom with the same sampling:

Entropy = 7.999831 bits per byte.
Optimum compression would reduce the size of this 1048576 byte file by 0 percent.
Chi square distribution for 1048576 samples is 246.63.
Arithmetic mean value of data bytes is 127.6347 (127.5 = random).
Monte Carlo value for Pi is 3.132465868 (error 0.29 percent).