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>
Available on crate feature rustcrypto-ec only.
impl<C: CurveArithmetic> Blind<EllipticCurve<C>> for PublicKey<C>
Available on crate feature
rustcrypto-ec only.Source§fn blind(
&self,
csprng: &mut impl CryptoRng,
) -> BlindedPublicKey<EllipticCurve<C>>
fn blind( &self, csprng: &mut impl CryptoRng, ) -> 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 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<C: Debug> Debug for EllipticCurve<C>
impl<C: Debug> Debug for EllipticCurve<C>
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.Source§impl<C: CurveArithmetic> KeyPair for EllipticCurve<C>
impl<C: CurveArithmetic> KeyPair for EllipticCurve<C>
Source§type PublicKeySize = <<C as Curve>::FieldBytesSize as ModulusSize>::CompressedPointSize
type PublicKeySize = <<C as Curve>::FieldBytesSize as ModulusSize>::CompressedPointSize
Bytes length of the public key
Source§impl<C> TakeTheHint<EllipticCurve<C>> for SecretKey<C>where
C: CurveArithmetic + PointCompression,
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::AffinePoint: ToSec1Point<C> + FromSec1Point<C>,
Available on crate feature rustcrypto-ec only.
impl<C> TakeTheHint<EllipticCurve<C>> for SecretKey<C>where
C: CurveArithmetic + PointCompression,
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::AffinePoint: ToSec1Point<C> + FromSec1Point<C>,
Available on crate feature
rustcrypto-ec only.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> UnsafeUnpin for EllipticCurve<C>
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