pub trait LweCiphertextVectorDiscardingBootstrapEngine<BootstrapKey, AccumulatorVector, InputCiphertextVector, OutputCiphertextVector>: AbstractEnginewhere
BootstrapKey: LweBootstrapKeyEntity,
AccumulatorVector: GlweCiphertextVectorEntity,
InputCiphertextVector: LweCiphertextVectorEntity,
OutputCiphertextVector: LweCiphertextVectorEntity,{
// Required methods
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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".