pub struct CryptoNative;Trait Implementations§
Source§impl Clone for CryptoNative
impl Clone for CryptoNative
Source§fn clone(&self) -> CryptoNative
fn clone(&self) -> CryptoNative
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 moreSource§impl CryptoTrait for CryptoNative
impl CryptoTrait for CryptoNative
Source§fn create_uuid(&self) -> String
fn create_uuid(&self) -> String
Creates a new UUID.
Source§fn random_bytes(&self, length: usize) -> Vec<u8> ⓘ
fn random_bytes(&self, length: usize) -> Vec<u8> ⓘ
Generates cryptographically secure random bytes of the specified length.
Source§fn hash_sha256<'a>(&'a self, to_digest: &'a [u8]) -> CryptoResult<'a, [u8; 32]>
fn hash_sha256<'a>(&'a self, to_digest: &'a [u8]) -> CryptoResult<'a, [u8; 32]>
Sha256 hash
Source§fn hkdf_sha256<'a>(
&'a self,
ikm: &'a [u8],
salt: &'a [u8],
) -> CryptoResult<'a, [u8; 32]>
fn hkdf_sha256<'a>( &'a self, ikm: &'a [u8], salt: &'a [u8], ) -> CryptoResult<'a, [u8; 32]>
Hash key derivation function.
Source§fn gen_ed25519<'a>(&'a self) -> CryptoResult<'a, (Vec<u8>, Vec<u8>)>
fn gen_ed25519<'a>(&'a self) -> CryptoResult<'a, (Vec<u8>, Vec<u8>)>
Generates an Ed25519 key pair.
Source§fn sig_ed25519<'a>(
&'a self,
pri_key: &'a [u8],
data: &'a [u8],
) -> CryptoResult<'a, [u8; 64]>
fn sig_ed25519<'a>( &'a self, pri_key: &'a [u8], data: &'a [u8], ) -> CryptoResult<'a, [u8; 64]>
Signs data with the given Ed25519 private key.
Source§fn ver_ed25519<'a>(
&'a self,
pub_key: &'a [u8],
sig: &'a [u8],
data: &'a [u8],
) -> CryptoResult<'a, bool>
fn ver_ed25519<'a>( &'a self, pub_key: &'a [u8], sig: &'a [u8], data: &'a [u8], ) -> CryptoResult<'a, bool>
Verifies an Ed25519 signature with the given public key and data.
Source§fn aes_ctr_encrypt<'a>(
&'a self,
key: &'a [u8; 32],
iv: &'a [u8; 16],
plaintext: &'a [u8],
) -> CryptoResult<'a, Vec<u8>>
fn aes_ctr_encrypt<'a>( &'a self, key: &'a [u8; 32], iv: &'a [u8; 16], plaintext: &'a [u8], ) -> CryptoResult<'a, Vec<u8>>
AES-256 in CTR mode encryption, returns the ciphertext.
Source§fn aes_ctr_decrypt<'a>(
&'a self,
key: &'a [u8; 32],
iv: &'a [u8; 16],
ciphertext: &'a [u8],
) -> CryptoResult<'a, Vec<u8>>
fn aes_ctr_decrypt<'a>( &'a self, key: &'a [u8; 32], iv: &'a [u8; 16], ciphertext: &'a [u8], ) -> CryptoResult<'a, Vec<u8>>
AES-256 in CTR mode decryption, returns the plaintext.
Source§fn key_upwrap<'a>(
&'a self,
kek_bytes: &'a [u8; 32],
rb: &'a [u8; 32],
) -> CryptoResult<'a, [u8; 40]>
fn key_upwrap<'a>( &'a self, kek_bytes: &'a [u8; 32], rb: &'a [u8; 32], ) -> CryptoResult<'a, [u8; 40]>
AES Key Wrap (RFC 3394), returns the wrapped key (ciphertext).
Source§fn key_unwrap<'a>(
&'a self,
kek_bytes: &'a [u8; 32],
cipher: &'a [u8; 40],
) -> CryptoResult<'a, [u8; 32]>
fn key_unwrap<'a>( &'a self, kek_bytes: &'a [u8; 32], cipher: &'a [u8; 40], ) -> CryptoResult<'a, [u8; 32]>
AES Key Unwrap (RFC 3394), returns the unwrapped key (plaintext).
Source§fn gen_x25519<'a>(&'a self) -> CryptoResult<'a, ([u8; 44], [u8; 48])>
fn gen_x25519<'a>(&'a self) -> CryptoResult<'a, ([u8; 44], [u8; 48])>
Generates an X25519 key pair, returns (public_key, private_key).
Source§fn derive_x25519<'a>(
&'a self,
pri_key: &'a [u8; 48],
peer_pub: &'a [u8; 44],
) -> CryptoResult<'a, Vec<u8>>
fn derive_x25519<'a>( &'a self, pri_key: &'a [u8; 48], peer_pub: &'a [u8; 44], ) -> CryptoResult<'a, Vec<u8>>
Derives a shared secret using X25519 given my private key and the peer’s public key.
Source§impl Debug for CryptoNative
impl Debug for CryptoNative
Source§impl PartialEq for CryptoNative
impl PartialEq for CryptoNative
impl StructuralPartialEq for CryptoNative
Auto Trait Implementations§
impl Freeze for CryptoNative
impl RefUnwindSafe for CryptoNative
impl Send for CryptoNative
impl Sync for CryptoNative
impl Unpin for CryptoNative
impl UnwindSafe for CryptoNative
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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