PALISADE Lattice Crypto Library  1.11.9
A lattice crypto library for software engineers by software engineers.
Public Member Functions | List of all members
lbcrypto::LPAlgorithmParamsGenBFVrns< Element > Class Template Reference

Parameter generation for BFVrns. This scheme is also referred to as the FV scheme. More...

#include <bfvrns.h>

Inheritance diagram for lbcrypto::LPAlgorithmParamsGenBFVrns< Element >:
Inheritance graph
[legend]
Collaboration diagram for lbcrypto::LPAlgorithmParamsGenBFVrns< Element >:
Collaboration graph
[legend]

Public Member Functions

 LPAlgorithmParamsGenBFVrns ()
 
bool ParamsGen (shared_ptr< LPCryptoParameters< Element >> cryptoParams, int32_t evalAddCount=0, int32_t evalMultCount=0, int32_t keySwitchCount=0, size_t dcrBits=60, uint32_t n=0) const
 
template<>
bool ParamsGen (shared_ptr< LPCryptoParameters< Poly >> cryptoParams, int32_t evalAddCount, int32_t evalMultCount, int32_t keySwitchCount, size_t dcrtBits, uint32_t n) const
 
template<>
bool ParamsGen (shared_ptr< LPCryptoParameters< NativePoly >> cryptoParams, int32_t evalAddCount, int32_t evalMultCount, int32_t keySwitchCount, size_t dcrtBits, uint32_t n) const
 
template<>
bool ParamsGen (shared_ptr< LPCryptoParameters< DCRTPoly >> cryptoParams, int32_t evalAddCount, int32_t evalMultCount, int32_t keySwitchCount, size_t dcrtBits, uint32_t nCustom) const
 
- Public Member Functions inherited from lbcrypto::LPAlgorithmParamsGenBFV< Element >
 LPAlgorithmParamsGenBFV ()
 
- Public Member Functions inherited from lbcrypto::LPParameterGenerationAlgorithm< Element >
virtual bool ParamsGen (shared_ptr< LPCryptoParameters< Element >> cryptoParams, usint cyclOrder, usint numPrimes, usint scaleExp, usint relinWindow, MODE mode, KeySwitchTechnique ksTech, usint firstModSize, RescalingTechnique rsTech) const
 
virtual bool ParamsGen (shared_ptr< LPCryptoParameters< Element >> cryptoParams, usint cyclOrder, usint numPrimes, usint scaleExp, usint relinWindow, MODE mode, KeySwitchTechnique ksTech=BV, usint firstModSize=60, RescalingTechnique=APPROXRESCALE, uint32_t numLargeDigits=4) const
 
virtual bool ParamsGen (shared_ptr< LPCryptoParameters< Element >> cryptoParams, usint cyclOrder, usint ptm, usint numPrimes, usint relinWindow, MODE mode, KeySwitchTechnique ksTech=BV, usint firstModSize=60, usint dcrtBits=60, uint32_t numLargeDigits=4) const
 
template<class Archive >
void save (Archive &ar, std::uint32_t const version) const
 
template<class Archive >
void load (Archive &ar, std::uint32_t const version)
 
std::string SerializedObjectName () const
 

Detailed Description

template<class Element>
class lbcrypto::LPAlgorithmParamsGenBFVrns< Element >

Parameter generation for BFVrns. This scheme is also referred to as the FV scheme.

Template Parameters
Elementa ring element.

Constructor & Destructor Documentation

◆ LPAlgorithmParamsGenBFVrns()

template<class Element >
lbcrypto::LPAlgorithmParamsGenBFVrns< Element >::LPAlgorithmParamsGenBFVrns ( )
inline

Default constructor

Member Function Documentation

◆ ParamsGen()

template<class Element >
bool lbcrypto::LPAlgorithmParamsGenBFVrns< Element >::ParamsGen ( shared_ptr< LPCryptoParameters< Element >>  cryptoParams,
int32_t  evalAddCount = 0,
int32_t  evalMultCount = 0,
int32_t  keySwitchCount = 0,
size_t  dcrBits = 60,
uint32_t  n = 0 
) const
virtual

Method for computing all derived parameters based on chosen primitive parameters

Parameters
cryptoParamsthe crypto parameters object to be populated with parameters.
evalAddCountnumber of EvalAdds assuming no EvalMult and KeySwitch operations are performed.
evalMultCountnumber of EvalMults assuming no EvalAdd and KeySwitch operations are performed.
keySwitchCountnumber of KeySwitch operations assuming no EvalAdd and EvalMult operations are performed.
dcrtBitsnumber of bits in each CRT modulus
nring dimension in case the user wants to use a custom ring dimension

Reimplemented from lbcrypto::LPAlgorithmParamsGenBFV< Element >.


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