Class RandomNumberGenerator
Defined in File random.cuh
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()
-
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)