INNER CODE UNIT · Rust
array_split_64
IronCoreLabs/recrypt-rs · src/internal/mod.rs:436
pub fn array_split_64<T: Copy + Zero>(array: &[T; 64]) -> ([T; 32], [T; 32]) {
let mut one = [T::zero(); 32];
let mut two = [T::zero(); 32];
one.copy_from_slice(&array[0..32]);
two.copy_from_slice(&array[32..64]);
(one, two)
}
pub fn array_split_120<T: Copy + Zero>(array: &[T; 120]) -> ([T; 60], [T; 60]) {
let mut one = [T::zero(); 60];
let mut two = [T::zero(); 60];
one.copy_from_slice(&array[0..60]);
two.copy_from_slice(&array[60..120]);
(one, two)
}
/// Generate one of the rth roots of unity (an element of G_T) given an FP12Elem.
/// Useful for calling `encrypt`
pub fn gen_rth_root<T>(pairing: &Pairing<T>, fp12_elem: Fp12Elem<T>) -> Fp12Elem<T>