dauth.hashdrbg

DAuth - Authentication Utility for D Hash_DRBG Cryptographic Random Number Generator

Main module: dauth

Members

Aliases

SystemEntropy
alias SystemEntropy(Elem) = WrappedStreamRNG!(SystemEntropyStream, Elem)

A convenience alias to create a UniformRNG from SystemEntropyStream. See the WrappedStreamRNG documentation for important information.

Enums

isRandomStream
eponymoustemplate isRandomStream(T)
isSomeStream
eponymoustemplate isSomeStream(T)

Check whether T is either isUniformRNG or isRandomStream.

Structs

HashDRBGStream
struct HashDRBGStream(TSHA = SHA512, string custom = "D Crypto RNG", EntropyStream = SystemEntropyStream)

Cryptographic random number generator Hash_DRBG, as defined in NIST's SP800-90A.

SystemEntropyStream
struct SystemEntropyStream

Reads any desired amount of random entropy from a system-specific cryptographic random number generator. On Windows, this loads ADVAPI32.DLL and uses RtlGenRandom. On Posix, this uses '/dev/random'.

WrappedStreamRNG
struct WrappedStreamRNG(RandomStream, StaticUByteArr)
struct WrappedStreamRNG(RandomStream, UIntType)

Takes a RandomStream (ex: SystemEntropyStream or HashDRBGStream) and wraps it into a UniformRNG InputRange.

Templates

HashDRBG
template HashDRBG(Elem, TSHA = SHA512, string custom = "D Crypto RNG", EntropyStream = SystemEntropyStream)

A convenience template to create a UniformRNG from HashDRBGStream. See the WrappedStreamRNG documentation for important information.

Meta