Struct sequoia_openpgp::crypto::mpi::MPI [−][src]
pub struct MPI { /* fields omitted */ }
Expand description
A Multiprecision Integer.
Implementations
Creates a new MPI.
This function takes care of removing leading zeros.
Creates new MPI encoding an uncompressed EC point.
Encodes the given point on a elliptic curve (see Section 6 of
RFC 6637 for details). This is used to encode public keys
and ciphertexts for the NIST curves (NistP256
, NistP384
,
and NistP521
).
Creates new MPI encoding a compressed EC point using native encoding.
Encodes the given point on a elliptic curve (see Section 13.2
of RFC4880bis for details). This is used to encode public
keys and ciphertexts for the Bernstein curves (currently
X25519
).
Returns the length of the MPI in bits.
Leading zero-bits are not included in the returned size.
Returns the value of this MPI.
Note that due to stripping of zero-bytes, the returned value may be shorter than expected.
Decodes an EC point encoded as MPI.
Decodes the MPI into a point on an elliptic curve (see
Section 6 of RFC 6637 and Section 13.2 of RFC4880bis for
details). If the point is not compressed, the function
returns (x, y)
. If it is compressed, y
will be empty.
Errors
Returns Error::UnsupportedEllipticCurve
if the curve is not
supported, Error::MalformedMPI
if the point is formatted
incorrectly.
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for MPI
impl UnwindSafe for MPI
Blanket Implementations
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self