pub struct EllipticCurve<C> { /* private fields */ }Expand description
Alias-ish type for key pairs of RustCrypto’s curve-agnostic ECDH implementation.
Trait Implementations§
Source§impl<C: CurveArithmetic> Blind<EllipticCurve<C>> for PublicKey<C>
impl<C: CurveArithmetic> Blind<EllipticCurve<C>> for PublicKey<C>
Source§fn blind(
&self,
csprng: &mut impl CryptoRngCore,
) -> BlindedPublicKey<EllipticCurve<C>>
fn blind( &self, csprng: &mut impl CryptoRngCore, ) -> BlindedPublicKey<EllipticCurve<C>>
Blind a public key with the supplied RNG.
Source§impl<C: Clone> Clone for EllipticCurve<C>
impl<C: Clone> Clone for EllipticCurve<C>
Source§fn clone(&self) -> EllipticCurve<C>
fn clone(&self) -> EllipticCurve<C>
Returns a copy 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<C: Debug> Debug for EllipticCurve<C>
impl<C: Debug> Debug for EllipticCurve<C>
Source§impl<A: Aead + KeyInit, C: CurveArithmetic + PointCompression, const L: usize> Hinting<EllipticCurve<C>, L> for Hint<EllipticCurve<C>, A, L>where
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::AffinePoint: ToEncodedPoint<C> + FromEncodedPoint<C>,
impl<A: Aead + KeyInit, C: CurveArithmetic + PointCompression, const L: usize> Hinting<EllipticCurve<C>, L> for Hint<EllipticCurve<C>, A, L>where
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::AffinePoint: ToEncodedPoint<C> + FromEncodedPoint<C>,
Source§fn new(
blinded_public_key: &BlindedPublicKey<EllipticCurve<C>>,
message: &[u8; L],
salt: &[u8],
csprng: &mut impl CryptoRngCore,
) -> Result<Self, Error>
fn new( blinded_public_key: &BlindedPublicKey<EllipticCurve<C>>, message: &[u8; L], salt: &[u8], csprng: &mut impl CryptoRngCore, ) -> 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: &[u8; L],
salt: &[u8],
) -> Result<Self, Error>
fn from_blinding_factor_secret( blinding_factor_secret: &SecretKey<C>, blinded_public_key: &BlindedPublicKey<EllipticCurve<C>>, message: &[u8; L], salt: &[u8], ) -> Result<Self, Error>
Create a new
Hint using a blinding factor secret.Source§fn bytes_length() -> usize
fn bytes_length() -> usize
Return the underlying
Hint’s length when serializedSource§impl<C: CurveArithmetic> KeyPair for EllipticCurve<C>
impl<C: CurveArithmetic> KeyPair for EllipticCurve<C>
Source§impl<C> TakeTheHint<EllipticCurve<C>> for SecretKey<C>where
C: CurveArithmetic + PointCompression,
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::AffinePoint: ToEncodedPoint<C> + FromEncodedPoint<C>,
impl<C> TakeTheHint<EllipticCurve<C>> for SecretKey<C>where
C: CurveArithmetic + PointCompression,
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::AffinePoint: ToEncodedPoint<C> + FromEncodedPoint<C>,
Auto Trait Implementations§
impl<C> Freeze for EllipticCurve<C>
impl<C> RefUnwindSafe for EllipticCurve<C>where
C: RefUnwindSafe,
impl<C> Send for EllipticCurve<C>where
C: Send,
impl<C> Sync for EllipticCurve<C>where
C: Sync,
impl<C> Unpin for EllipticCurve<C>where
C: Unpin,
impl<C> UnwindSafe for EllipticCurve<C>where
C: 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