dice-entropy-conduit: Cryptographically secure n-sided dice via rejection sampling.
This library uses rejection sampling to provide cryptographically secure
n-sided dice rolls and random sampling (within a given range).
The number of used random bits is close to the information-theoretic optimal
bound.
Usage:
If we wanted to use the system-specific entropy source (systemEntropy) to
produce 10 dice rolls of a 6-sided dice (i.e. range [0,5]), we could write:
> systemEntropy $$ diceRolls 6 =$= CL.take 10 [5,1,3,3,0,5,3,2,2,1]
The function testPerformance yields the actual number of consumed random
bits:
> testPerformance 12 10000 Generated 10000 random samples in range [0,11] Average number of bits used: 3.5904 Entropy lower bound on the number of required bits: 3.5849625007211565 Performance ratio: 1.0015167520658164
Feedback is welcome!
Downloads
- dice-entropy-conduit-1.0.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 1.0.0.0, 1.0.0.1, 1.0.0.3 |
|---|---|
| Dependencies | base (>=4 && <5), bytestring (>=0.9), conduit (>=1.1.7), entropy (>=0.3.2), transformers (>=0.4.0.0) [details] |
| Tested with | ghc ==7.8.3 |
| License | LGPL-2.1-only |
| Copyright | Peter Robinson 2014 |
| Author | Peter Robinson <peter.robinson@monoid.at> |
| Maintainer | peter.robinson@monoid.at |
| Uploaded | by PeterRobinson at 2014-09-09T15:51:05Z |
| Category | Cryptography, Data |
| Home page | http://monoid.at/code |
| Distributions | |
| Reverse Dependencies | 2 direct, 1 indirect [details] |
| Downloads | 2745 total (3 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] |