emp-toolkit
PRG Class Reference

#include <prg.h>

Public Member Functions

 PRG (const void *seed=nullptr, int id=0)
 
void reseed (const void *key, uint64_t id=0)
 
void random_data (void *data, int nbytes)
 
void random_bool (bool *data, int length)
 
void random_data_unaligned (void *data, int nbytes)
 
void random_block (block *data, int nblocks=1)
 
template<typename T , typename ... L>
void random_bn (T t, L... l)
 
void random_bn (bn_t a, int sign=BN_POS, int bits=BIT_LEN)
 
void random_bn (bn_t *a, int length=1, int sign=BN_POS, int bits=BIT_LEN)
 
template<typename T , typename ... L>
void random_eb (T t, L... l)
 
void random_eb (eb_t p)
 
void random_eb (eb_t *p, int length=1)
 
void random_mpz (mpz_t out, int nbits)
 
void random_mpz (mpz_t rop, const mpz_t n)
 

Public Attributes

uint64_t counter = 0
 
AES_KEY aes
 

Constructor & Destructor Documentation

§ PRG()

PRG::PRG ( const void *  seed = nullptr,
int  id = 0 
)
inline

Member Function Documentation

§ random_block()

void PRG::random_block ( block data,
int  nblocks = 1 
)
inline

§ random_bn() [1/3]

template<typename T , typename ... L>
void PRG::random_bn ( t,
L...  l 
)
inline

§ random_bn() [2/3]

void PRG::random_bn ( bn_t  a,
int  sign = BN_POS,
int  bits = BIT_LEN 
)
inline

§ random_bn() [3/3]

void PRG::random_bn ( bn_t *  a,
int  length = 1,
int  sign = BN_POS,
int  bits = BIT_LEN 
)
inline

§ random_bool()

void PRG::random_bool ( bool *  data,
int  length 
)
inline

§ random_data()

void PRG::random_data ( void *  data,
int  nbytes 
)
inline

§ random_data_unaligned()

void PRG::random_data_unaligned ( void *  data,
int  nbytes 
)
inline

§ random_eb() [1/3]

template<typename T , typename ... L>
void PRG::random_eb ( t,
L...  l 
)
inline

§ random_eb() [2/3]

void PRG::random_eb ( eb_t  p)
inline

§ random_eb() [3/3]

void PRG::random_eb ( eb_t *  p,
int  length = 1 
)
inline

§ random_mpz() [1/2]

void PRG::random_mpz ( mpz_t  out,
int  nbits 
)
inline

§ random_mpz() [2/2]

void PRG::random_mpz ( mpz_t  rop,
const mpz_t  n 
)
inline

§ reseed()

void PRG::reseed ( const void *  key,
uint64_t  id = 0 
)
inline

Member Data Documentation

§ aes

AES_KEY PRG::aes

§ counter

uint64_t PRG::counter = 0

The documentation for this class was generated from the following file: