HEaaN
Crypto Lab's great homomorphic encryption library
include
HEaaN
EnDecoder.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
Message;
19
class
Plaintext;
20
25
class
HEAAN_API
EnDecoder
{
26
public
:
27
explicit
EnDecoder
(
const
Context
&context);
28
48
Plaintext
encode(
const
Message
&msg,
u64
level,
int
r_counter = 0)
const
;
49
58
Plaintext
encode(
const
Message
&msg)
const
;
59
74
Plaintext
encodeWithoutNTT(
const
Message
&msg,
u64
level,
75
int
r_counter = 0)
const
;
76
84
Plaintext
encodeWithoutNTT(
const
Message
&msg)
const
;
85
89
Message
decode(
const
Plaintext
&ptxt)
const
;
90
91
private
:
93
const
Context
context_
;
94
};
95
}
// namespace HEaaN
HEaaN::EnDecoder
Class containing functions dealing with message/plaintext encoding and decoding.
Definition:
EnDecoder.hpp:25
HEaaN::EnDecoder::context_
const Context context_
A context with which the scheme is associated.
Definition:
EnDecoder.hpp:93
HEaaN::Message
Definition:
Message.hpp:30
HEaaN::u64
std::uint64_t u64
Definition:
Integers.hpp:17
HEaaN::Plaintext
A class of plaintexts each of which is simply a polynomial.
Definition:
Plaintext.hpp:26
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
Generated by
1.8.17