in protocol/src/private_id/company.rs [290:316]
fn write_company_to_id_map(&self) {
match (
self.permutation.clone().read(),
self.plain_data.clone().read(),
self.v_company.clone().read(),
self.id_map.clone().write(),
) {
(Ok(pm), Ok(plain_data), Ok(v_company), Ok(mut id_map)) => {
let mut company_encrypt = self.ec_cipher.encrypt(&v_company, &self.private_keys.1);
undo_permute(&pm, &mut company_encrypt);
for (k, v) in self
.ec_cipher
.to_bytes(&company_encrypt)
.iter()
.zip(plain_data.get_plain_keys().iter())
{
let record = plain_data.get_record_with_keys(k.to_string(), v);
id_map.push(record);
}
if !plain_data.headers.is_empty() {
id_map.insert(0, plain_data.headers.clone());
}
}
_ => panic!("Cannot make v"),
}
}