Class Blake2Engine

Page Contents

Class Documentation

class lbcrypto::Blake2Engine

Defines the PRNG engine used by OpenFHE. It is based on BLAKE2. Use this as a template for adding other PRNG engines to OpenFHE.

Public Types

using result_type = uint32_t

Public Functions

inline explicit Blake2Engine(result_type seed)

Constructor using a small seed - used for generating a large seed.

inline explicit Blake2Engine(const std::array<result_type, 16> &seed)

Main constructor taking a vector of 16 integers as a seed.

inline explicit Blake2Engine(const std::array<result_type, 16> &seed, result_type counter)

Main constructor taking a vector of 16 integers as a seed and a counter.

inline result_type operator()()

main call to the PRNG

inline Blake2Engine(const Blake2Engine &other)
inline void operator=(const Blake2Engine &other)

Public Static Functions

static inline constexpr result_type min()

minimum value used by C+11 distribution generators when no lower bound is explicitly specified by the user

static inline constexpr result_type max()

maximum value used by C+11 distribution generators when no upper bound is explicitly specified by the user