Trait concrete_core::specification::engines::LweCiphertextVectorDiscardingBootstrapEngine
source · [−]pub trait LweCiphertextVectorDiscardingBootstrapEngine<BootstrapKey, AccumulatorVector, InputCiphertextVector, OutputCiphertextVector>: AbstractEnginewhere
BootstrapKey: LweBootstrapKeyEntity,
AccumulatorVector: GlweCiphertextVectorEntity,
InputCiphertextVector: LweCiphertextVectorEntity,
OutputCiphertextVector: LweCiphertextVectorEntity,{
fn discard_bootstrap_lwe_ciphertext_vector(
&mut self,
output: &mut OutputCiphertextVector,
input: &InputCiphertextVector,
acc: &AccumulatorVector,
bsk: &BootstrapKey
) -> Result<(), LweCiphertextVectorDiscardingBootstrapError<Self::EngineError>>;
unsafe fn discard_bootstrap_lwe_ciphertext_vector_unchecked(
&mut self,
output: &mut OutputCiphertextVector,
input: &InputCiphertextVector,
acc: &AccumulatorVector,
bsk: &BootstrapKey
);
}
Expand description
A trait for engines bootstrapping (discarding) LWE ciphertext vectors.
Semantics
This discarding operation fills the output
LWE ciphertext vector
with the element-wise bootstrap of the input
LWE ciphertext vector, using the acc
accumulator as lookup-table, and the bsk
bootstrap key.
Formal Definition
cf here
Required Methods
sourcefn discard_bootstrap_lwe_ciphertext_vector(
&mut self,
output: &mut OutputCiphertextVector,
input: &InputCiphertextVector,
acc: &AccumulatorVector,
bsk: &BootstrapKey
) -> Result<(), LweCiphertextVectorDiscardingBootstrapError<Self::EngineError>>
fn discard_bootstrap_lwe_ciphertext_vector(
&mut self,
output: &mut OutputCiphertextVector,
input: &InputCiphertextVector,
acc: &AccumulatorVector,
bsk: &BootstrapKey
) -> Result<(), LweCiphertextVectorDiscardingBootstrapError<Self::EngineError>>
Bootstraps an LWE ciphertext vector.
sourceunsafe fn discard_bootstrap_lwe_ciphertext_vector_unchecked(
&mut self,
output: &mut OutputCiphertextVector,
input: &InputCiphertextVector,
acc: &AccumulatorVector,
bsk: &BootstrapKey
)
unsafe fn discard_bootstrap_lwe_ciphertext_vector_unchecked(
&mut self,
output: &mut OutputCiphertextVector,
input: &InputCiphertextVector,
acc: &AccumulatorVector,
bsk: &BootstrapKey
)
Unsafely bootstraps an LWE ciphertext vector.
Safety
For the general safety concerns regarding this operation, refer to the different variants
of LweCiphertextVectorDiscardingBootstrapError
. For safety concerns specific to an
engine, refer to the implementer safety section.