pub struct NistP384;Expand description
NIST P-384 elliptic curve.
Trait Implementations
sourceimpl AffineArithmetic for NistP384
impl AffineArithmetic for NistP384
type AffinePoint = AffinePoint
type AffinePoint = AffinePoint
Elliptic curve point in affine coordinates.
sourceimpl AffineXCoordinate<NistP384> for AffinePoint
impl AffineXCoordinate<NistP384> for AffinePoint
sourcefn x(&self) -> FieldBytes
fn x(&self) -> FieldBytes
Get the affine x-coordinate as a serialized field element.
sourceimpl AssociatedOid for NistP384
impl AssociatedOid for NistP384
sourceconst OID: ObjectIdentifier = pkcs8::ObjectIdentifier::new_unwrap("1.3.132.0.34")
const OID: ObjectIdentifier = pkcs8::ObjectIdentifier::new_unwrap("1.3.132.0.34")
The OID associated with this type.
sourceimpl Curve for NistP384
impl Curve for NistP384
type UInt = UInt<{_: usize}>
type UInt = UInt<{_: usize}>
384-bit integer type used for internally representing field elements.
sourceimpl DecompressPoint<NistP384> for AffinePoint
impl DecompressPoint<NistP384> for AffinePoint
sourcefn decompress(x_bytes: &FieldBytes, y_is_odd: Choice) -> CtOption<Self>
fn decompress(x_bytes: &FieldBytes, y_is_odd: Choice) -> CtOption<Self>
Attempt to decompress an elliptic curve point.
sourceimpl DigestPrimitive for NistP384
Available on crate features ecdsa-core and sha384 only.
impl DigestPrimitive for NistP384
ecdsa-core and sha384 only.sourceimpl FromEncodedPoint<NistP384> for AffinePoint
impl FromEncodedPoint<NistP384> for AffinePoint
sourcefn from_encoded_point(encoded_point: &EncodedPoint) -> CtOption<Self>
fn from_encoded_point(encoded_point: &EncodedPoint) -> CtOption<Self>
Attempts to parse the given EncodedPoint as an SEC1-encoded
AffinePoint.
Returns
None value if encoded_point is not on the secp384r1 curve.
sourceimpl FromEncodedPoint<NistP384> for ProjectivePoint
impl FromEncodedPoint<NistP384> for ProjectivePoint
sourcefn from_encoded_point(p: &EncodedPoint) -> CtOption<Self>
fn from_encoded_point(p: &EncodedPoint) -> CtOption<Self>
Deserialize the type this trait is impl’d on from an EncodedPoint.
sourceimpl Ord for NistP384
impl Ord for NistP384
sourceimpl PartialOrd<NistP384> for NistP384
impl PartialOrd<NistP384> for NistP384
sourcefn partial_cmp(&self, other: &NistP384) -> Option<Ordering>
fn partial_cmp(&self, other: &NistP384) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl PointCompaction for NistP384
impl PointCompaction for NistP384
sourceconst COMPACT_POINTS: bool = false
const COMPACT_POINTS: bool = false
NIST P-384 points are typically uncompressed.
sourceimpl PointCompression for NistP384
impl PointCompression for NistP384
sourceconst COMPRESS_POINTS: bool = false
const COMPRESS_POINTS: bool = false
NIST P-384 points are typically uncompressed.
sourceimpl PrimeCurveArithmetic for NistP384
impl PrimeCurveArithmetic for NistP384
type CurveGroup = ProjectivePoint
type CurveGroup = ProjectivePoint
Prime order elliptic curve group.
sourceimpl ProjectiveArithmetic for NistP384
impl ProjectiveArithmetic for NistP384
type ProjectivePoint = ProjectivePoint
type ProjectivePoint = ProjectivePoint
Elliptic curve point in projective coordinates. Read more
sourceimpl SignPrimitive<NistP384> for Scalar
Available on crate feature ecdsa-core only.
impl SignPrimitive<NistP384> for Scalar
ecdsa-core only.sourcefn try_sign_prehashed<K>(
&self,
k: K,
z: GenericArray<u8, <<C as Curve>::UInt as ArrayEncoding>::ByteSize>
) -> Result<(Signature<C>, Option<RecoveryId>), Error> where
K: Borrow<Self> + Invert<Output = CtOption<Self>>,
fn try_sign_prehashed<K>(
&self,
k: K,
z: GenericArray<u8, <<C as Curve>::UInt as ArrayEncoding>::ByteSize>
) -> Result<(Signature<C>, Option<RecoveryId>), Error> where
K: Borrow<Self> + Invert<Output = CtOption<Self>>,
Try to sign the prehashed message. Read more
sourcefn try_sign_prehashed_rfc6979<D>(
&self,
z: GenericArray<u8, <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
ad: &[u8]
) -> Result<(Signature<C>, Option<RecoveryId>), Error> where
Self: From<ScalarCore<C>>,
D: CoreProxy + FixedOutput<OutputSize = <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
<C as Curve>::UInt: for<'a> From<&'a Self>,
<D as CoreProxy>::Core: BlockSizeUser,
<D as CoreProxy>::Core: BufferKindUser,
<D as CoreProxy>::Core: Clone,
<D as CoreProxy>::Core: Default,
<D as CoreProxy>::Core: FixedOutputCore,
<D as CoreProxy>::Core: HashMarker,
<D as CoreProxy>::Core: OutputSizeUser,
<<D as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>,
<<<D as CoreProxy>::Core as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,
<<D as CoreProxy>::Core as BufferKindUser>::BufferKind == Eager,
<<D as CoreProxy>::Core as OutputSizeUser>::OutputSize == <D as OutputSizeUser>::OutputSize,
fn try_sign_prehashed_rfc6979<D>(
&self,
z: GenericArray<u8, <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
ad: &[u8]
) -> Result<(Signature<C>, Option<RecoveryId>), Error> where
Self: From<ScalarCore<C>>,
D: CoreProxy + FixedOutput<OutputSize = <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
<C as Curve>::UInt: for<'a> From<&'a Self>,
<D as CoreProxy>::Core: BlockSizeUser,
<D as CoreProxy>::Core: BufferKindUser,
<D as CoreProxy>::Core: Clone,
<D as CoreProxy>::Core: Default,
<D as CoreProxy>::Core: FixedOutputCore,
<D as CoreProxy>::Core: HashMarker,
<D as CoreProxy>::Core: OutputSizeUser,
<<D as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>,
<<<D as CoreProxy>::Core as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,
<<D as CoreProxy>::Core as BufferKindUser>::BufferKind == Eager,
<<D as CoreProxy>::Core as OutputSizeUser>::OutputSize == <D as OutputSizeUser>::OutputSize,
sourcefn try_sign_digest_rfc6979<D>(
&self,
msg_digest: D,
ad: &[u8]
) -> Result<(Signature<C>, Option<RecoveryId>), Error> where
Self: From<ScalarCore<C>>,
D: CoreProxy + FixedOutput<OutputSize = <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
<C as Curve>::UInt: for<'a> From<&'a Self>,
<D as CoreProxy>::Core: BlockSizeUser,
<D as CoreProxy>::Core: BufferKindUser,
<D as CoreProxy>::Core: Clone,
<D as CoreProxy>::Core: Default,
<D as CoreProxy>::Core: FixedOutputCore,
<D as CoreProxy>::Core: HashMarker,
<D as CoreProxy>::Core: OutputSizeUser,
<<D as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>,
<<<D as CoreProxy>::Core as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,
<<D as CoreProxy>::Core as BufferKindUser>::BufferKind == Eager,
<<D as CoreProxy>::Core as OutputSizeUser>::OutputSize == <D as OutputSizeUser>::OutputSize,
fn try_sign_digest_rfc6979<D>(
&self,
msg_digest: D,
ad: &[u8]
) -> Result<(Signature<C>, Option<RecoveryId>), Error> where
Self: From<ScalarCore<C>>,
D: CoreProxy + FixedOutput<OutputSize = <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
<C as Curve>::UInt: for<'a> From<&'a Self>,
<D as CoreProxy>::Core: BlockSizeUser,
<D as CoreProxy>::Core: BufferKindUser,
<D as CoreProxy>::Core: Clone,
<D as CoreProxy>::Core: Default,
<D as CoreProxy>::Core: FixedOutputCore,
<D as CoreProxy>::Core: HashMarker,
<D as CoreProxy>::Core: OutputSizeUser,
<<D as CoreProxy>::Core as BlockSizeUser>::BlockSize: IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>,
<<<D as CoreProxy>::Core as BlockSizeUser>::BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero,
<<D as CoreProxy>::Core as BufferKindUser>::BufferKind == Eager,
<<D as CoreProxy>::Core as OutputSizeUser>::OutputSize == <D as OutputSizeUser>::OutputSize,
sourceimpl ToEncodedPoint<NistP384> for AffinePoint
impl ToEncodedPoint<NistP384> for AffinePoint
sourcefn to_encoded_point(&self, compress: bool) -> EncodedPoint
fn to_encoded_point(&self, compress: bool) -> EncodedPoint
Serialize this value as a SEC1 EncodedPoint, optionally applying
point compression. Read more
sourceimpl ToEncodedPoint<NistP384> for ProjectivePoint
impl ToEncodedPoint<NistP384> for ProjectivePoint
sourcefn to_encoded_point(&self, compress: bool) -> EncodedPoint
fn to_encoded_point(&self, compress: bool) -> EncodedPoint
Serialize this value as a SEC1 EncodedPoint, optionally applying
point compression. Read more
sourceimpl VerifyPrimitive<NistP384> for AffinePoint
Available on crate feature ecdsa-core only.
impl VerifyPrimitive<NistP384> for AffinePoint
ecdsa-core only.sourcefn verify_prehashed(
&self,
z: GenericArray<u8, <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
sig: &Signature<C>
) -> Result<(), Error>
fn verify_prehashed(
&self,
z: GenericArray<u8, <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
sig: &Signature<C>
) -> Result<(), Error>
Verify the prehashed message against the provided signature Read more
sourcefn verify_digest<D>(
&self,
msg_digest: D,
sig: &Signature<C>
) -> Result<(), Error> where
D: FixedOutput<OutputSize = <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
fn verify_digest<D>(
&self,
msg_digest: D,
sig: &Signature<C>
) -> Result<(), Error> where
D: FixedOutput<OutputSize = <<C as Curve>::UInt as ArrayEncoding>::ByteSize>,
Verify message digest against the provided signature.
impl Copy for NistP384
impl Eq for NistP384
impl PrimeCurve for NistP384
impl StructuralEq for NistP384
impl StructuralPartialEq for NistP384
Auto Trait Implementations
impl RefUnwindSafe for NistP384
impl Send for NistP384
impl Sync for NistP384
impl Unpin for NistP384
impl UnwindSafe for NistP384
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more