# Enum sequoia_openpgp::crypto::mpi::Signature [−][src]

```
#[non_exhaustive]
pub enum Signature {
RSA {
s: MPI,
},
DSA {
r: MPI,
s: MPI,
},
ElGamal {
r: MPI,
s: MPI,
},
EdDSA {
r: MPI,
s: MPI,
},
ECDSA {
r: MPI,
s: MPI,
},
Unknown {
mpis: Box<[MPI]>,
rest: Box<[u8]>,
},
}
```

## Expand description

A cryptographic signature.

Provides a typed and structured way of storing multiple MPIs in
`Signature`

packets.

Note: This enum cannot be exhaustively matched to allow future extensions.

## Variants (Non-exhaustive)

## This enum is marked as non-exhaustive

RSA signature.

### Fields of **RSA**

`s: MPI`

Signature m^d mod N.

NIST’s DSA signature.

ElGamal signature.

DJB’s “Twisted” Edwards curve DSA signature.

NIST’s Elliptic curve DSA signature.

Unknown number of MPIs for an unknown algorithm.

### Fields of **Unknown**

## Implementations

Parses a set of OpenPGP MPIs representing a signature.

Expects MPIs for a public key algorithm `algo`

s signature.
See Section 3.2 of RFC 4880 for details.

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

### impl UnwindSafe for Signature

## Blanket Implementations

Mutably borrows from an owned value. Read more