pub trait LweCiphertextVectorDiscardingBootstrapEngine<BootstrapKey, AccumulatorVector, InputCiphertextVector, OutputCiphertextVector>: AbstractEnginewhere
BootstrapKey: LweBootstrapKeyEntity,
AccumulatorVector: GlweCiphertextVectorEntity<KeyDistribution = BootstrapKey::OutputKeyDistribution>,
InputCiphertextVector: LweCiphertextVectorEntity<KeyDistribution = BootstrapKey::InputKeyDistribution>,
OutputCiphertextVector: LweCiphertextVectorEntity<KeyDistribution = BootstrapKey::OutputKeyDistribution>,{
// 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
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.