Template Class HEEncryptor< Scheme::BFV >
Defined in File encryptor.cuh
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:
ciphertext – Ciphertext object where the result of the encryption will be stored.
plaintext – Plaintext 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 ©) = default
-
HEEncryptor(HEEncryptor &&source) = default
-
HEEncryptor &operator=(const HEEncryptor &assign) = default
-
HEEncryptor &operator=(HEEncryptor &&assign) = default
-
HEEncryptor(HEContext<Scheme::BFV> &context, Publickey<Scheme::BFV> &public_key)