Skip to content

PrimeNumbers

#include <PrimeNumbers.hpp>

Public Classes

Name
class BabyStepGiantStep

Public Types

Name
using nil::crypto3::multiprecision::cpp_int cpp_int

Public Functions

Name
template <std::size_t bit_size>
bool
GenerateSafePrime(std::size_t max_attempts, cpp_int & out_val)
cpp_int GetRandomNumber(const cpp_int & prime_number)
bool GetGeneratorFromPrime(std::size_t max_attempts, cpp_int prime_number, cpp_int & out_val)
cpp_int ModInverseEuclideanDivision(cpp_int x, cpp_int prime)
cpp_int SqrtMod(const cpp_int & number, const cpp_int & prime)
cpp_int PowHighPrec(const cpp_int & value, const int64_t & exp)

Public Types Documentation

using cpp_int

using PrimeNumbers::cpp_int = nil::crypto3::multiprecision::cpp_int;

Public Functions Documentation

function GenerateSafePrime

template <std::size_t bit_size>
static inline bool GenerateSafePrime(
    std::size_t max_attempts,
    cpp_int & out_val
)

function GetRandomNumber

static cpp_int GetRandomNumber(
    const cpp_int & prime_number
)

function GetGeneratorFromPrime

static bool GetGeneratorFromPrime(
    std::size_t max_attempts,
    cpp_int prime_number,
    cpp_int & out_val
)

function ModInverseEuclideanDivision

static cpp_int ModInverseEuclideanDivision(
    cpp_int x,
    cpp_int prime
)

function SqrtMod

static cpp_int SqrtMod(
    const cpp_int & number,
    const cpp_int & prime
)

function PowHighPrec

static cpp_int PowHighPrec(
    const cpp_int & value,
    const int64_t & exp
)

Updated on 2026-03-04 at 13:10:44 -0800