pub struct PostQuantumCryptoEngine { /* private fields */ }Expand description
Post-quantum cryptographic engine for advanced security operations
Implementations§
Source§impl PostQuantumCryptoEngine
impl PostQuantumCryptoEngine
Sourcepub fn new(config: PostQuantumConfig) -> Self
pub fn new(config: PostQuantumConfig) -> Self
Create a new post-quantum crypto engine
Sourcepub async fn generate_keypair(
&self,
algorithm: &PostQuantumSignature,
) -> Result<PostQuantumKeyPair>
pub async fn generate_keypair( &self, algorithm: &PostQuantumSignature, ) -> Result<PostQuantumKeyPair>
Generate a new post-quantum key pair
Sourcepub async fn sign(
&self,
key_id: &str,
data: &[u8],
) -> Result<PostQuantumSignature>
pub async fn sign( &self, key_id: &str, data: &[u8], ) -> Result<PostQuantumSignature>
Sign data using post-quantum signature
Sourcepub async fn verify(
&self,
public_key: &[u8],
data: &[u8],
signature: &[u8],
algorithm: &PostQuantumSignature,
) -> Result<bool>
pub async fn verify( &self, public_key: &[u8], data: &[u8], signature: &[u8], algorithm: &PostQuantumSignature, ) -> Result<bool>
Verify post-quantum signature
Sourcepub async fn encapsulate(
&self,
public_key: &[u8],
algorithm: &EncryptionAlgorithm,
) -> Result<(Vec<u8>, Vec<u8>)>
pub async fn encapsulate( &self, public_key: &[u8], algorithm: &EncryptionAlgorithm, ) -> Result<(Vec<u8>, Vec<u8>)>
Perform key encapsulation using post-quantum KEM
Sourcepub async fn decapsulate(
&self,
private_key: &[u8],
ciphertext: &[u8],
algorithm: &EncryptionAlgorithm,
) -> Result<Vec<u8>>
pub async fn decapsulate( &self, private_key: &[u8], ciphertext: &[u8], algorithm: &EncryptionAlgorithm, ) -> Result<Vec<u8>>
Perform key decapsulation using post-quantum KEM
Sourcepub async fn get_metrics(&self) -> PQCryptoMetrics
pub async fn get_metrics(&self) -> PQCryptoMetrics
Get current metrics
Auto Trait Implementations§
impl Freeze for PostQuantumCryptoEngine
impl !RefUnwindSafe for PostQuantumCryptoEngine
impl Send for PostQuantumCryptoEngine
impl Sync for PostQuantumCryptoEngine
impl Unpin for PostQuantumCryptoEngine
impl UnsafeUnpin for PostQuantumCryptoEngine
impl !UnwindSafe for PostQuantumCryptoEngine
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.