pub struct Hint<K: KeyPair, A: Aead + KeyInit, L: ArraySize>where
Self: HintSized<K, A, L>,{ /* private fields */ }Expand description
Message encrypted by a third party, decryptable by an anonymous recipient that doesn’t know whether it is addressed to them or not.
Trait Implementations§
Source§impl<K: Clone + KeyPair, A: Clone + Aead + KeyInit, L: Clone + ArraySize> Clone for Hint<K, A, L>
impl<K: Clone + KeyPair, A: Clone + Aead + KeyInit, L: Clone + ArraySize> Clone for Hint<K, A, L>
Source§impl<K: Debug + KeyPair, A: Debug + Aead + KeyInit, L: Debug + ArraySize> Debug for Hint<K, A, L>
impl<K: Debug + KeyPair, A: Debug + Aead + KeyInit, L: Debug + ArraySize> Debug for Hint<K, A, L>
Source§impl<A: Aead + KeyInit, L: ArraySize> Hinting<DalekRistretto255, L> for Hint<DalekRistretto255, A, L>where
Self: HintSized<DalekRistretto255, A, L>,
impl<A: Aead + KeyInit, L: ArraySize> Hinting<DalekRistretto255, L> for Hint<DalekRistretto255, A, L>where
Self: HintSized<DalekRistretto255, A, L>,
Source§type HintSize = <Hint<DalekRistretto255, A, L> as HintSized<DalekRistretto255, A, L>>::Size
type HintSize = <Hint<DalekRistretto255, A, L> as HintSized<DalekRistretto255, A, L>>::Size
Byte length of a serialized
Hint: public key + ciphertext + tag.Source§fn new(
blinded_public_key: &BlindedPublicKey<DalekRistretto255>,
message: &Array<u8, L>,
context: &[u8],
csprng: &mut impl CryptoRng,
) -> Result<Self, Error>
fn new( blinded_public_key: &BlindedPublicKey<DalekRistretto255>, message: &Array<u8, L>, context: &[u8], csprng: &mut impl CryptoRng, ) -> Result<Self, Error>
Create a new
Hint.Source§fn from_blinding_factor_secret(
blinding_factor_secret: &StaticSecret,
blinded_public_key: &BlindedPublicKey<DalekRistretto255>,
message: &Array<u8, L>,
context: &[u8],
) -> Result<Self, Error>
fn from_blinding_factor_secret( blinding_factor_secret: &StaticSecret, blinded_public_key: &BlindedPublicKey<DalekRistretto255>, message: &Array<u8, L>, context: &[u8], ) -> Result<Self, Error>
Create a new
Hint using a blinding factor secret.Source§impl<A: Aead + KeyInit, L: ArraySize> Hinting<DalekX25519, L> for Hint<DalekX25519, A, L>where
Self: HintSized<DalekX25519, A, L>,
impl<A: Aead + KeyInit, L: ArraySize> Hinting<DalekX25519, L> for Hint<DalekX25519, A, L>where
Self: HintSized<DalekX25519, A, L>,
Source§type HintSize = <Hint<DalekX25519, A, L> as HintSized<DalekX25519, A, L>>::Size
type HintSize = <Hint<DalekX25519, A, L> as HintSized<DalekX25519, A, L>>::Size
Byte length of a serialized
Hint: public key + ciphertext + tag.Source§fn new(
blinded_public_key: &BlindedPublicKey<DalekX25519>,
message: &Array<u8, L>,
context: &[u8],
csprng: &mut impl CryptoRng,
) -> Result<Self, Error>
fn new( blinded_public_key: &BlindedPublicKey<DalekX25519>, message: &Array<u8, L>, context: &[u8], csprng: &mut impl CryptoRng, ) -> Result<Self, Error>
Create a new
Hint.Source§fn from_blinding_factor_secret(
blinding_factor_secret: &StaticSecret,
blinded_public_key: &BlindedPublicKey<DalekX25519>,
message: &Array<u8, L>,
context: &[u8],
) -> Result<Self, Error>
fn from_blinding_factor_secret( blinding_factor_secret: &StaticSecret, blinded_public_key: &BlindedPublicKey<DalekX25519>, message: &Array<u8, L>, context: &[u8], ) -> Result<Self, Error>
Create a new
Hint using a blinding factor secret.Source§impl<A: Aead + KeyInit, C: CurveArithmetic + PointCompression, L: ArraySize> Hinting<EllipticCurve<C>, L> for Hint<EllipticCurve<C>, A, L>where
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::AffinePoint: ToSec1Point<C> + FromSec1Point<C>,
Self: HintSized<EllipticCurve<C>, A, L>,
Available on crate feature rustcrypto-ec only.
impl<A: Aead + KeyInit, C: CurveArithmetic + PointCompression, L: ArraySize> Hinting<EllipticCurve<C>, L> for Hint<EllipticCurve<C>, A, L>where
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::AffinePoint: ToSec1Point<C> + FromSec1Point<C>,
Self: HintSized<EllipticCurve<C>, A, L>,
Available on crate feature
rustcrypto-ec only.Source§type HintSize = <Hint<EllipticCurve<C>, A, L> as HintSized<EllipticCurve<C>, A, L>>::Size
type HintSize = <Hint<EllipticCurve<C>, A, L> as HintSized<EllipticCurve<C>, A, L>>::Size
Byte length of a serialized
Hint: public key + ciphertext + tag.Source§fn new(
blinded_public_key: &BlindedPublicKey<EllipticCurve<C>>,
message: &Array<u8, L>,
context: &[u8],
csprng: &mut impl CryptoRng,
) -> Result<Self, Error>
fn new( blinded_public_key: &BlindedPublicKey<EllipticCurve<C>>, message: &Array<u8, L>, context: &[u8], csprng: &mut impl CryptoRng, ) -> Result<Self, Error>
Create a new
Hint.Source§fn from_blinding_factor_secret(
blinding_factor_secret: &SecretKey<C>,
blinded_public_key: &BlindedPublicKey<EllipticCurve<C>>,
message: &Array<u8, L>,
context: &[u8],
) -> Result<Self, Error>
fn from_blinding_factor_secret( blinding_factor_secret: &SecretKey<C>, blinded_public_key: &BlindedPublicKey<EllipticCurve<C>>, message: &Array<u8, L>, context: &[u8], ) -> Result<Self, Error>
Create a new
Hint using a blinding factor secret.Auto Trait Implementations§
impl<K, A, L> !Freeze for Hint<K, A, L>
impl<K, A, L> !RefUnwindSafe for Hint<K, A, L>
impl<K, A, L> Send for Hint<K, A, L>
impl<K, A, L> Sync for Hint<K, A, L>
impl<K, A, L> !Unpin for Hint<K, A, L>
impl<K, A, L> !UnsafeUnpin for Hint<K, A, L>
impl<K, A, L> !UnwindSafe for Hint<K, A, L>
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