pub struct EciesX25519XChaCha20 {}
Expand description
A thread safe Elliptic Curve Integrated Encryption Scheme (ECIES) using
- X25519
XChaCha20
- Blake2b
Trait Implementations§
source§impl Ecies<CURVE_25519_SECRET_LENGTH, X25519_PUBLIC_KEY_LENGTH, X25519CurvePoint> for EciesX25519XChaCha20
impl Ecies<CURVE_25519_SECRET_LENGTH, X25519_PUBLIC_KEY_LENGTH, X25519CurvePoint> for EciesX25519XChaCha20
source§const ENCRYPTION_OVERHEAD: usize = 48usize
const ENCRYPTION_OVERHEAD: usize = 48usize
The size of the overhead added by the encryption process.
source§fn encrypt<R: CryptoRngCore>(
rng: &mut R,
recipient_pk: &X25519PublicKey,
plaintext: &[u8],
authentication_data: Option<&[u8]>,
) -> Result<Vec<u8>, CryptoCoreError>
fn encrypt<R: CryptoRngCore>( rng: &mut R, recipient_pk: &X25519PublicKey, plaintext: &[u8], authentication_data: Option<&[u8]>, ) -> Result<Vec<u8>, CryptoCoreError>
Encrypts a message using the given public key
and optional authentication data. Read more
source§impl EciesStream<CURVE_25519_SECRET_LENGTH, X25519_PUBLIC_KEY_LENGTH, X25519CurvePoint, ChaChaPoly1305<StreamCipherCoreWrapper<XChaChaCore<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>>>, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>> for EciesX25519XChaCha20
impl EciesStream<CURVE_25519_SECRET_LENGTH, X25519_PUBLIC_KEY_LENGTH, X25519CurvePoint, ChaChaPoly1305<StreamCipherCoreWrapper<XChaChaCore<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>>>, UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>>> for EciesX25519XChaCha20
source§fn get_dem_encryptor_be32<R: CryptoRngCore>(
rng: &mut R,
recipient_public_key: &X25519PublicKey,
) -> Result<(X25519PublicKey, EncryptorBE32<XChaCha20Poly1305Lib>), CryptoCoreError>
fn get_dem_encryptor_be32<R: CryptoRngCore>( rng: &mut R, recipient_public_key: &X25519PublicKey, ) -> Result<(X25519PublicKey, EncryptorBE32<XChaCha20Poly1305Lib>), CryptoCoreError>
Creates a
EncryptorBE32
using the given public key.source§fn get_dem_encryptor_le31<R: CryptoRngCore>(
rng: &mut R,
recipient_public_key: &X25519PublicKey,
) -> Result<(X25519PublicKey, EncryptorLE31<XChaCha20Poly1305Lib>), CryptoCoreError>
fn get_dem_encryptor_le31<R: CryptoRngCore>( rng: &mut R, recipient_public_key: &X25519PublicKey, ) -> Result<(X25519PublicKey, EncryptorLE31<XChaCha20Poly1305Lib>), CryptoCoreError>
Creates a
EncryptorLE31
using the given public key.source§fn get_dem_decryptor_be32(
recipient_private_key: &X25519PrivateKey,
ephemeral_public_key: &X25519PublicKey,
) -> Result<DecryptorBE32<XChaCha20Poly1305Lib>, CryptoCoreError>
fn get_dem_decryptor_be32( recipient_private_key: &X25519PrivateKey, ephemeral_public_key: &X25519PublicKey, ) -> Result<DecryptorBE32<XChaCha20Poly1305Lib>, CryptoCoreError>
Creates a
DecryptorBE32
using the given private key.source§fn get_dem_decryptor_le31(
recipient_private_key: &X25519PrivateKey,
ephemeral_public_key: &X25519PublicKey,
) -> Result<DecryptorLE31<XChaCha20Poly1305Lib>, CryptoCoreError>
fn get_dem_decryptor_le31( recipient_private_key: &X25519PrivateKey, ephemeral_public_key: &X25519PublicKey, ) -> Result<DecryptorLE31<XChaCha20Poly1305Lib>, CryptoCoreError>
Creates a
DecryptorLE31
using the given private key.Auto Trait Implementations§
impl Freeze for EciesX25519XChaCha20
impl RefUnwindSafe for EciesX25519XChaCha20
impl Send for EciesX25519XChaCha20
impl Sync for EciesX25519XChaCha20
impl Unpin for EciesX25519XChaCha20
impl UnwindSafe for EciesX25519XChaCha20
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