Class ParameterGenerationBGVRNS

Inheritance Relationships

Base Type

Class Documentation

class lbcrypto::ParameterGenerationBGVRNS : public lbcrypto::ParameterGenerationRNS

Inheritence diagram for lbcrypto::ParameterGenerationBGVRNS:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="lbcrypto::ParameterGenerationRNS" tooltip="lbcrypto::ParameterGenerationRNS"] "1" [label="lbcrypto::ParameterGenerationBGVRNS" tooltip="lbcrypto::ParameterGenerationBGVRNS" fillcolor="#BFBFBF"] "3" [label="lbcrypto::ParameterGenerationBase< DCRTPoly >" tooltip="lbcrypto::ParameterGenerationBase< DCRTPoly >"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for lbcrypto::ParameterGenerationBGVRNS:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="lbcrypto::ParameterGenerationRNS" tooltip="lbcrypto::ParameterGenerationRNS"] "1" [label="lbcrypto::ParameterGenerationBGVRNS" tooltip="lbcrypto::ParameterGenerationBGVRNS" fillcolor="#BFBFBF"] "3" [label="lbcrypto::ParameterGenerationBase< DCRTPoly >" tooltip="lbcrypto::ParameterGenerationBase< DCRTPoly >"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Public Functions

inline virtual ~ParameterGenerationBGVRNS()
virtual bool ParamsGenBGVRNS(std::shared_ptr<CryptoParametersBase<DCRTPoly>> cryptoParams, uint32_t evalAddCount, uint32_t keySwitchCount, usint cyclOrder, usint numPrimes, usint firstModSize, usint dcrtBits, uint32_t numPartQ, usint multihopQBound) const override

Method for computing all derived parameters based on chosen primitive parameters. This is intended for BGVrns

Parameters
  • *cryptoParams – the crypto parameters object to be populated with parameters.

  • evalAddCount – number of EvalAdds per level.

  • keySwitchCount – number of KeySwitch operations per level.

  • cyclOrder – the cyclotomic order.

  • numPrimes – number of modulus towers to support.

  • firstModSize – the bit-size of the first modulus

  • dcrtBits – the bit-width of moduli

  • numPartQ – number of partitions of Q for HYBRID key switching

  • multihopQBound – bound for the HRA-secure mode of PRE

template<class Archive>
inline void save(Archive &ar, std::uint32_t const version) const
template<class Archive>
inline void load(Archive &ar, std::uint32_t const version)
inline std::string SerializedObjectName() const