Files
tfhe-rs/tfhe/examples/generates_test_keys.rs
2022-11-10 19:03:08 +01:00

32 lines
865 B
Rust

use tfhe::shortint::keycache::{FileStorage, NamedParam, PersistentStorage};
use tfhe::shortint::parameters::ALL_PARAMETER_VEC;
use tfhe::shortint::{gen_keys, ClientKey, ServerKey};
fn client_server_keys() {
let file_storage = FileStorage::new("keys/shortint/client_server".to_string());
println!("Generating (ClientKey, ServerKey)");
for (i, params) in ALL_PARAMETER_VEC.iter().copied().enumerate() {
println!(
"Generating [{} / {}] : {}",
i + 1,
ALL_PARAMETER_VEC.len(),
params.name()
);
let keys: Option<(ClientKey, ServerKey)> = file_storage.load(params);
if keys.is_some() {
continue;
}
let client_server_keys = gen_keys(params);
file_storage.store(params, &client_server_keys);
}
}
fn main() {
client_server_keys()
}