pub struct HomomorphicEncryptionEngine { /* private fields */ }Expand description
Homomorphic encryption engine
Implementations§
Source§impl HomomorphicEncryptionEngine
impl HomomorphicEncryptionEngine
Sourcepub fn new(config: HomomorphicConfig) -> Result<Self>
pub fn new(config: HomomorphicConfig) -> Result<Self>
Create a new homomorphic encryption engine
Sourcepub fn encrypt(&self, tensor: &Tensor) -> Result<EncryptedTensor>
pub fn encrypt(&self, tensor: &Tensor) -> Result<EncryptedTensor>
Encrypt a tensor using homomorphic encryption
Sourcepub fn decrypt(&self, encrypted: &EncryptedTensor) -> Result<Tensor>
pub fn decrypt(&self, encrypted: &EncryptedTensor) -> Result<Tensor>
Decrypt an encrypted tensor
Sourcepub fn add_encrypted(
&self,
a: &EncryptedTensor,
b: &EncryptedTensor,
) -> Result<EncryptedTensor>
pub fn add_encrypted( &self, a: &EncryptedTensor, b: &EncryptedTensor, ) -> Result<EncryptedTensor>
Perform homomorphic addition
Sourcepub fn multiply_encrypted(
&self,
a: &EncryptedTensor,
b: &EncryptedTensor,
) -> Result<EncryptedTensor>
pub fn multiply_encrypted( &self, a: &EncryptedTensor, b: &EncryptedTensor, ) -> Result<EncryptedTensor>
Perform homomorphic multiplication
Sourcepub fn private_inference<F>(
&self,
encrypted_input: &EncryptedTensor,
model_fn: F,
) -> Result<EncryptedTensor>
pub fn private_inference<F>( &self, encrypted_input: &EncryptedTensor, model_fn: F, ) -> Result<EncryptedTensor>
Perform private inference on encrypted data
Auto Trait Implementations§
impl Freeze for HomomorphicEncryptionEngine
impl RefUnwindSafe for HomomorphicEncryptionEngine
impl Send for HomomorphicEncryptionEngine
impl Sync for HomomorphicEncryptionEngine
impl Unpin for HomomorphicEncryptionEngine
impl UnsafeUnpin for HomomorphicEncryptionEngine
impl UnwindSafe for HomomorphicEncryptionEngine
Blanket Implementations§
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more