pub struct FheKeyPair { /* private fields */ }Expand description
Key pair for FHE operations
Contains both client key (for encryption/decryption) and server key (for FHE operations). The keys are generated together and must be used as a pair.
Implementations§
Source§impl FheKeyPair
impl FheKeyPair
Sourcepub fn generate() -> Result<Self>
pub fn generate() -> Result<Self>
Generate a new key pair with default parameters
This uses TFHE’s default configuration which provides good security/performance balance.
Sourcepub fn generate_with_config(config: Config) -> Result<Self>
pub fn generate_with_config(config: Config) -> Result<Self>
Generate a new key pair with custom configuration
Sourcepub fn client_key(&self) -> &ClientKey
pub fn client_key(&self) -> &ClientKey
Get reference to client key
Sourcepub fn server_key(&self) -> &ServerKey
pub fn server_key(&self) -> &ServerKey
Get reference to server key
Sourcepub fn set_as_global_server_key(&self)
pub fn set_as_global_server_key(&self)
Set this key pair’s server key as the global server key
TFHE operations require a server key to be set globally.
Sourcepub fn serialize_client_key(&self) -> Result<Vec<u8>>
pub fn serialize_client_key(&self) -> Result<Vec<u8>>
Serialize client key to bytes
Sourcepub fn serialize_server_key(&self) -> Result<Vec<u8>>
pub fn serialize_server_key(&self) -> Result<Vec<u8>>
Serialize server key to bytes
Sourcepub fn deserialize_client_key(bytes: &[u8]) -> Result<ClientKey>
pub fn deserialize_client_key(bytes: &[u8]) -> Result<ClientKey>
Deserialize client key from bytes
Sourcepub fn deserialize_server_key(bytes: &[u8]) -> Result<ServerKey>
pub fn deserialize_server_key(bytes: &[u8]) -> Result<ServerKey>
Deserialize server key from bytes
Sourcepub fn from_serialized(
client_key_bytes: &[u8],
server_key_bytes: &[u8],
) -> Result<Self>
pub fn from_serialized( client_key_bytes: &[u8], server_key_bytes: &[u8], ) -> Result<Self>
Create key pair from serialized keys
Trait Implementations§
Source§impl Clone for FheKeyPair
impl Clone for FheKeyPair
Source§fn clone(&self) -> FheKeyPair
fn clone(&self) -> FheKeyPair
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for FheKeyPair
impl RefUnwindSafe for FheKeyPair
impl Send for FheKeyPair
impl Sync for FheKeyPair
impl Unpin for FheKeyPair
impl UnwindSafe for FheKeyPair
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.