pub struct Crypto<Rng: RngCore + CryptoRng> { /* private fields */ }Expand description
Implementations§
Trait Implementations§
Source§impl<Rng: RngCore + CryptoRng> Crypto for Crypto<Rng>
impl<Rng: RngCore + CryptoRng> Crypto for Crypto<Rng>
fn sha256_digest( &mut self, message: &BytesMaxBuffer, message_len: usize, ) -> BytesHashLen
fn hkdf_expand( &mut self, prk: &BytesHashLen, info: &BytesMaxInfoBuffer, info_len: usize, length: usize, ) -> BytesMaxBuffer
fn hkdf_extract( &mut self, salt: &BytesHashLen, ikm: &BytesP256ElemLen, ) -> BytesHashLen
fn aes_ccm_encrypt_tag_8( &mut self, key: &BytesCcmKeyLen, iv: &BytesCcmIvLen, ad: &[u8], plaintext: &BufferPlaintext3, ) -> BufferCiphertext3
fn aes_ccm_decrypt_tag_8( &mut self, key: &BytesCcmKeyLen, iv: &BytesCcmIvLen, ad: &[u8], ciphertext: &BufferCiphertext3, ) -> Result<BufferPlaintext3, EDHOCError>
fn p256_ecdh( &mut self, private_key: &BytesP256ElemLen, public_key: &BytesP256ElemLen, ) -> BytesP256ElemLen
fn get_random_byte(&mut self) -> u8
fn p256_generate_key_pair(&mut self) -> (BytesP256ElemLen, BytesP256ElemLen)
Source§fn supported_suites(
&self,
) -> EdhocBuffer<lakers_shared::::crypto::Crypto::supported_suites::{constant#1}>
fn supported_suites( &self, ) -> EdhocBuffer<lakers_shared::::crypto::Crypto::supported_suites::{constant#1}>
Returns the list of cryptographic suites supported by the backend implementation.
Auto Trait Implementations§
impl<Rng> Freeze for Crypto<Rng>where
Rng: Freeze,
impl<Rng> RefUnwindSafe for Crypto<Rng>where
Rng: RefUnwindSafe,
impl<Rng> Send for Crypto<Rng>where
Rng: Send,
impl<Rng> Sync for Crypto<Rng>where
Rng: Sync,
impl<Rng> Unpin for Crypto<Rng>where
Rng: Unpin,
impl<Rng> UnwindSafe for Crypto<Rng>where
Rng: UnwindSafe,
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