KeyStorage

Trait KeyStorage 

Source
pub trait KeyStorage: Send + Sync {
    // Required methods
    fn store_client_key(&self, key_id: &str, key: &[u8]) -> Result<()>;
    fn store_server_key(&self, key_id: &str, key: &[u8]) -> Result<()>;
    fn retrieve_client_key(&self, key_id: &str) -> Result<Vec<u8>>;
    fn retrieve_server_key(&self, key_id: &str) -> Result<Vec<u8>>;
    fn delete_keys(&self, key_id: &str) -> Result<()>;
    fn list_key_ids(&self) -> Result<Vec<String>>;
}
Expand description

Key storage interface for managing FHE keys

This trait defines how keys are stored and retrieved. Implementations can use file system, memory, or remote key management services.

Required Methods§

Source

fn store_client_key(&self, key_id: &str, key: &[u8]) -> Result<()>

Store client key

Source

fn store_server_key(&self, key_id: &str, key: &[u8]) -> Result<()>

Store server key

Source

fn retrieve_client_key(&self, key_id: &str) -> Result<Vec<u8>>

Retrieve client key

Source

fn retrieve_server_key(&self, key_id: &str) -> Result<Vec<u8>>

Retrieve server key

Source

fn delete_keys(&self, key_id: &str) -> Result<()>

Delete keys

Source

fn list_key_ids(&self) -> Result<Vec<String>>

List all key IDs

Implementors§