Class PKEBFVRNS

Inheritance Relationships

Base Type

Class Documentation

class lbcrypto::PKEBFVRNS : public lbcrypto::PKERNS

Inheritence diagram for lbcrypto::PKEBFVRNS:

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

Collaboration diagram for lbcrypto::PKEBFVRNS:

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

Public Functions

inline virtual ~PKEBFVRNS()
KeyPair<DCRTPoly> KeyGenInternal(CryptoContext<DCRTPoly> cc, bool makeSparse) override
Ciphertext<DCRTPoly> Encrypt(DCRTPoly plaintext, const PublicKey<DCRTPoly> publicKey) const override

Method for encrypting plaintext using LBC

Parameters
  • &publicKey – public key used for encryption.

  • plaintext – copy of the plaintext element. NOTE a copy is passed! That is NOT an error!

  • doEncryption – encrypts if true, embeds (encodes) the plaintext into cryptocontext if false

  • *ciphertext – ciphertext which results from encryption.

Ciphertext<DCRTPoly> Encrypt(DCRTPoly plaintext, const PrivateKey<DCRTPoly> privateKey) const override

Method for encrypting plaintex using LBC

Parameters
  • privateKey – private key used for encryption.

  • plaintext – copy of the plaintext input. NOTE a copy is passed! That is NOT an error!

  • doEncryption – encrypts if true, embeds (encodes) the plaintext into cryptocontext if false

  • *ciphertext – ciphertext which results from encryption.

virtual DecryptResult Decrypt(ConstCiphertext<DCRTPoly> ciphertext, const PrivateKey<DCRTPoly> privateKey, NativePoly *plaintext) const override

Method for decrypting plaintext using LBC

Parameters
  • &privateKey – private key used for decryption.

  • &ciphertext – ciphertext id decrypted.

  • *plaintext – the plaintext output.

Returns

the decoding result.

inline virtual DecryptResult Decrypt(ConstCiphertext<DCRTPoly> ciphertext, const PrivateKey<DCRTPoly> privateKey, Poly *plaintext) const override

Method for decrypting plaintext using LBC

Parameters
  • &privateKey – private key used for decryption.

  • &ciphertext – ciphertext id decrypted.

  • *plaintext – the plaintext output.

Returns

the decoding result.

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