Function concrete_core::crypto::cross::blind_rotate [−][src]
pub fn blind_rotate<OutCont, LweCont, BskCont, FftCont1, FftCont2, FftCont3, Scalar>(
fft: &mut Fft,
dec_i_fft: &mut FourierPolynomial<FftCont1>,
tmp_dec_i_fft: &mut FourierPolynomial<FftCont2>,
res_fft: &mut [FourierPolynomial<FftCont3>],
output: &mut GlweCiphertext<OutCont>,
lwe: &LweCiphertext<LweCont>,
bootstrap_key: &BootstrapKey<BskCont>
) where
GlweCiphertext<OutCont>: AsMutTensor<Element = Scalar>,
GlweCiphertext<Vec<Scalar>>: AsMutTensor<Element = Scalar>,
LweCiphertext<LweCont>: AsRefTensor<Element = Scalar>,
BootstrapKey<BskCont>: AsRefTensor<Element = Complex64>,
FourierPolynomial<FftCont1>: AsMutTensor<Element = Complex64>,
FourierPolynomial<FftCont2>: AsMutTensor<Element = Complex64>,
FourierPolynomial<FftCont3>: AsMutTensor<Element = Complex64>,
Scalar: UnsignedTorus,
Fills the output
ciphertext with the result of the blind rotation of the bootstrap key by
the LWE ciphertext.