Class LeveledSHEBGVRNS

Inheritance Relationships

Base Type

Class Documentation

class lbcrypto::LeveledSHEBGVRNS : public lbcrypto::LeveledSHERNS

Inheritence diagram for lbcrypto::LeveledSHEBGVRNS:

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

Collaboration diagram for lbcrypto::LeveledSHEBGVRNS:

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

Public Functions

inline virtual ~LeveledSHEBGVRNS()
virtual usint FindAutomorphismIndex(usint index, usint m) const override
virtual void ModReduceInternalInPlace(Ciphertext<DCRTPoly> &ciphertext, size_t levels) const override

Method for scaling in-place.

cipherText will have modulus reduction performed in-place.

Parameters
  • cipherText – is the ciphertext to perform modreduce on.

  • levels – the number of towers to drop.

virtual void LevelReduceInternalInPlace(Ciphertext<DCRTPoly> &ciphertext, size_t levels) const override

Method for in-place Level Reduction in the CKKS scheme. It just drops “levels” number of the towers of the ciphertext without changing the underlying plaintext.

Parameters
  • cipherText1 – is the ciphertext to be level reduced in-place

  • levels – the number of towers to drop.

void EvalMultCoreInPlace(Ciphertext<DCRTPoly> &ciphertext, const NativeInteger &constant) const
virtual void AdjustLevelsAndDepthInPlace(Ciphertext<DCRTPoly> &ciphertext1, Ciphertext<DCRTPoly> &ciphertext2) const override
virtual void AdjustLevelsAndDepthToOneInPlace(Ciphertext<DCRTPoly> &ciphertext1, Ciphertext<DCRTPoly> &ciphertext2) const override
template<class Archive>
inline void save(Archive &ar) const
template<class Archive>
inline void load(Archive &ar)
inline std::string SerializedObjectName() const