Class RandomNumberGenerator

Class Documentation

class RandomNumberGenerator

Public Functions

void initialize(const std::vector<unsigned char> &key, const std::vector<unsigned char> &nonce, const std::vector<unsigned char> &personalization_string, rngongpu::SecurityLevel security_level, bool prediction_resistance_enabled)
~RandomNumberGenerator()
void set(const std::vector<unsigned char> &entropy_input, const std::vector<unsigned char> &nonce, const std::vector<unsigned char> &personalization_string, cudaStream_t stream = cudaStreamDefault)
void modular_uniform_random_number_generation(Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int repeat_count, cudaStream_t stream = cudaStreamDefault)
void modular_uniform_random_number_generation(Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int repeat_count, std::vector<unsigned char> &entropy_input, std::vector<unsigned char> additional_input, cudaStream_t stream = cudaStreamDefault)
void modular_uniform_random_number_generation(Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int *mod_index, int repeat_count, cudaStream_t stream = cudaStreamDefault)
void modular_uniform_random_number_generation(Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int *mod_index, int repeat_count, std::vector<unsigned char> &entropy_input, std::vector<unsigned char> additional_input, cudaStream_t stream = cudaStreamDefault)
void modular_gaussian_random_number_generation(Float64 std_dev, Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int repeat_count, cudaStream_t stream = cudaStreamDefault)
void modular_gaussian_random_number_generation(Float64 std_dev, Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int repeat_count, std::vector<unsigned char> &entropy_input, std::vector<unsigned char> additional_input, cudaStream_t stream = cudaStreamDefault)
void modular_gaussian_random_number_generation(Float64 std_dev, Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int *mod_index, int repeat_count, cudaStream_t stream = cudaStreamDefault)
void modular_gaussian_random_number_generation(Float64 std_dev, Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int *mod_index, int repeat_count, std::vector<unsigned char> &entropy_input, std::vector<unsigned char> additional_input, cudaStream_t stream = cudaStreamDefault)
void modular_ternary_random_number_generation(Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int repeat_count, cudaStream_t stream = cudaStreamDefault)
void modular_ternary_random_number_generation(Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int repeat_count, std::vector<unsigned char> &entropy_input, std::vector<unsigned char> additional_input, cudaStream_t stream = cudaStreamDefault)
void modular_ternary_random_number_generation(Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int *mod_index, int repeat_count, cudaStream_t stream = cudaStreamDefault)
void modular_ternary_random_number_generation(Data64 *pointer, Modulus64 *modulus, Data64 log_size, int mod_count, int *mod_index, int repeat_count, std::vector<unsigned char> &entropy_input, std::vector<unsigned char> additional_input, cudaStream_t stream = cudaStreamDefault)

Public Static Functions

static RandomNumberGenerator &instance()