poulpy/poulpy-schemes/src/tfhe/blind_rotation/encryption/key_compressed.rs
poulpy-schemes/src/tfhe/blind_rotation/encryption/key_compressed.rsRaw
1use poulpy_core::{
2 GetDistribution,
3 layouts::{GGSWInfos, GLWEInfos, GLWESecretPreparedToRef, LWEInfos, LWESecretToRef},
4};
5use poulpy_hal::{
6 layouts::{Backend, DataMut, Scratch},
7 source::Source,
8};
9
10use crate::tfhe::blind_rotation::{BlindRotationAlgo, BlindRotationKeyCompressed};
11
12pub trait BlindRotationKeyCompressedEncryptSk<B: Backend, BRA: BlindRotationAlgo> {
13 fn blind_rotation_key_compressed_encrypt_sk_tmp_bytes<A>(&self, infos: &A) -> usize
14 where
15 A: GGSWInfos;
16
17 #[allow(clippy::too_many_arguments)]
18 fn blind_rotation_key_compressed_encrypt_sk<D, S0, S1>(
19 &self,
20 res: &mut BlindRotationKeyCompressed<D, BRA>,
21 sk_glwe: &S0,
22 sk_lwe: &S1,
23 seed_xa: [u8; 32],
24 source_xe: &mut Source,
25 scratch: &mut Scratch<B>,
26 ) where
27 D: DataMut,
28 S0: GLWESecretPreparedToRef<B> + GLWEInfos,
29 S1: LWESecretToRef + LWEInfos + GetDistribution;
30}