pub trait LweCiphertextDiscardingBootstrapEngine<BootstrapKey, Accumulator, InputCiphertext, OutputCiphertext>: AbstractEngine where
BootstrapKey: LweBootstrapKeyEntity,
Accumulator: GlweCiphertextEntity<KeyDistribution = BootstrapKey::OutputKeyDistribution>,
InputCiphertext: LweCiphertextEntity<KeyDistribution = BootstrapKey::InputKeyDistribution>,
OutputCiphertext: LweCiphertextEntity<KeyDistribution = BootstrapKey::OutputKeyDistribution>, {
fn discard_bootstrap_lwe_ciphertext(
&mut self,
output: &mut OutputCiphertext,
input: &InputCiphertext,
acc: &Accumulator,
bsk: &BootstrapKey
) -> Result<(), LweCiphertextDiscardingBootstrapError<Self::EngineError>>;
unsafe fn discard_bootstrap_lwe_ciphertext_unchecked(
&mut self,
output: &mut OutputCiphertext,
input: &InputCiphertext,
acc: &Accumulator,
bsk: &BootstrapKey
);
}
Expand description
A trait for engines bootstrapping (discarding) LWE ciphertexts.
Semantics
This discarding operation fills the output
LWE ciphertext with
the bootstrap of the input
LWE ciphertext, using the acc
accumulator as lookup-table, and
the bsk
bootstrap key.
Formal Definition
Required methods
fn discard_bootstrap_lwe_ciphertext(
&mut self,
output: &mut OutputCiphertext,
input: &InputCiphertext,
acc: &Accumulator,
bsk: &BootstrapKey
) -> Result<(), LweCiphertextDiscardingBootstrapError<Self::EngineError>>
fn discard_bootstrap_lwe_ciphertext(
&mut self,
output: &mut OutputCiphertext,
input: &InputCiphertext,
acc: &Accumulator,
bsk: &BootstrapKey
) -> Result<(), LweCiphertextDiscardingBootstrapError<Self::EngineError>>
Bootstrap an LWE ciphertext .
Unsafely bootstrap an LWE ciphertext .
Safety
For the general safety concerns regarding this operation, refer to the different variants
of LweCiphertextDiscardingBootstrapError
. For safety concerns specific to an engine,
refer to the implementer safety section.
Implementors
impl LweCiphertextDiscardingBootstrapEngine<FourierLweBootstrapKey32, GlweCiphertext32, LweCiphertext32, LweCiphertext32> for CoreEngine
Description:
Implementation of LweCiphertextDiscardingBootstrapEngine
for CoreEngine
that operates on
32 bits integers.
impl LweCiphertextDiscardingBootstrapEngine<FourierLweBootstrapKey64, GlweCiphertext64, LweCiphertext64, LweCiphertext64> for CoreEngine
Description:
Implementation of LweCiphertextDiscardingBootstrapEngine
for CoreEngine
that operates on
64 bits integers.