HEaaN
Crypto Lab's great homomorphic encryption library
Decryptor.hpp
Go to the documentation of this file.
1 // //
3 // Copyright (C) 2021-2023 Crypto Lab Inc. //
4 // //
5 // - This file is part of HEaaN homomorphic encryption library. //
6 // - HEaaN cannot be copied and/or distributed without the express permission //
7 // of Crypto Lab Inc. //
8 // //
10 
11 #pragma once
12 
13 #include "HEaaN/Context.hpp"
14 #include "HEaaN/HEaaNExport.hpp"
15 
16 namespace HEaaN {
17 
18 class SecretKey;
19 class Message;
20 class Ciphertext;
21 class Plaintext;
22 
27 public:
28  explicit Decryptor(const Context &context);
29 
34  void decrypt(const Ciphertext &ctxt, const SecretKey &sk,
35  Message &msg) const;
36 
43  void decrypt(const Ciphertext &ctxt, const SecretKey &sk,
44  Plaintext &ptxt) const;
45 
63  void partialDecrypt(const Ciphertext &ctxt, const SecretKey &sk,
64  Ciphertext &ctxt_out) const;
65 
66 private:
69 };
70 } // namespace HEaaN
HEaaN::Decryptor
Abstract entity for decrypting ciphertexts.
Definition: Decryptor.hpp:26
HEaaN::SecretKey
Secret key class.
Definition: SecretKey.hpp:26
HEaaN::Message
Definition: Message.hpp:30
HEaaN::Decryptor::context_
const Context context_
A context with which decryptor is associated.
Definition: Decryptor.hpp:68
HEaaN::Plaintext
A class of plaintexts each of which is simply a polynomial.
Definition: Plaintext.hpp:26
HEaaN::Ciphertext
A class of ciphertexts each of which contains a vector of polynomials of length > 1.
Definition: Ciphertext.hpp:27
HEaaN::Context
std::shared_ptr< ContextContent > Context
Definition: Context.hpp:27
Context.hpp
HEaaNExport.hpp
HEAAN_API
#define HEAAN_API
Definition: HEaaNExport.hpp:26
HEaaN
Definition: Bootstrapper.hpp:16