# 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.

Returns the value of this MPI zero-padded to the given length.

MPI-encoding strips leading zero-bytes. This function adds
them back, if necessary. If the size exceeds `to`

, an error
is returned.

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