Template Class HEEncryptor< Scheme::BFV >

Class Documentation

template<>
class HEEncryptor<Scheme::BFV>

HEEncryptor is responsible for encrypting plaintexts into ciphertexts using public keys in homomorphic encryption schemes.

The HEEncryptor class is initialized with encryption parameters and a public key. It provides methods to encrypt plaintext data into ciphertexts for BFV and CKKS schemes. The class supports both synchronous and asynchronous encryption operations.

Public Functions

HEEncryptor(HEContext<Scheme::BFV> &context, Publickey<Scheme::BFV> &public_key)

Constructs a new HEEncryptor object with specified parameters and public key.

Parameters:
  • context – Reference to the Parameters object that sets the encryption parameters.

  • public_key – Reference to the Publickey object used for encryption.

inline void encrypt(Ciphertext<Scheme::BFV> &ciphertext, Plaintext<Scheme::BFV> &plaintext, const ExecutionOptions &options = ExecutionOptions())

Encrypts a plaintext into a ciphertext, automatically determining the scheme type.

Parameters:
  • ciphertextCiphertext object where the result of the encryption will be stored.

  • plaintextPlaintext object to be encrypted.

inline int get_seed() const noexcept

Returns the seed of the encryptor.

Returns:

int Seed of the encryptor.

inline void set_seed(int new_seed)

Sets the seed of the encryptor with new seed.

inline int get_offset() const noexcept

Returns the offset of the encryptor(curand).

Returns:

int Offset of the encryptor.

inline void set_offset(int new_offset)

Sets the offset of the encryptor with new offset(curand).

HEEncryptor() = default
HEEncryptor(const HEEncryptor &copy) = default
HEEncryptor(HEEncryptor &&source) = default
HEEncryptor &operator=(const HEEncryptor &assign) = default
HEEncryptor &operator=(HEEncryptor &&assign) = default