package mirage-crypto-rng

  1. Overview
  2. Docs
A cryptographically secure PRNG

Install

dune-project
 Dependency

Authors

Maintainers

Sources

mirage-crypto-2.0.3.tbz
sha256=3919a8bda3635959bb662d4ffa32266eb73c450ecc2a2b66ba5e1ecf88f7ad23
sha512=0580c8787cac821531c6038b9f82d32f6a7d3beee0b4c6900c2bf9fa3fa1b2a8d460b4d53ade8cd03e5e8e968b85f2c870c17818ad6e0f12d6834da92db4bef8

doc/mirage-crypto-rng.unix/Mirage_crypto_rng_unix/Getentropy/index.html

Module Mirage_crypto_rng_unix.GetentropySource

A generator using getrandom(3) on Linux, getentropy(3) on BSD and macOS, and BCryptGenRandom() on Windows.

Sourcetype g

State type for this generator.

Sourceval block : int

Internally, this generator's generate always produces k * block bytes.

Sourceval create : ?time:(unit -> int64) -> unit -> g

Create a new, unseeded g.

Sourceval generate_into : g:g -> bytes -> off:int -> int -> unit

generate_into ~g buf ~off n produces n uniformly distributed random bytes into buf at offset off, updating the state of g.

Assumes that buf is at least off + n bytes long. Also assumes that off and n are positive integers. Caution: do not use in your application, use Mirage_crypto_rng.generate_into instead.

  • alert unsafe Does not do bounds checks. Use Mirage_crypto_rng.generate_into instead.
Sourceval reseed : g:g -> string -> unit

reseed ~g bytes directly updates g. Its new state depends both on bytes and the previous state.

A generator is seded after a single application of reseed.

Sourceval accumulate : g:g -> Mirage_crypto_rng.Entropy.source -> [ `Acc of string -> unit ]

accumulate ~g is a closure suitable for incrementally feeding small amounts of environmentally sourced entropy into g.

Its operation should be fast enough for repeated calling from e.g. event loops. Systems with several distinct, stable entropy sources should use stable source to distinguish their sources.

Sourceval seeded : g:g -> bool

seeded ~g is true iff operations won't throw Unseeded_generator.

Sourceval pools : int

pools is the amount of pools if any.