Enum sequoia_openpgp::crypto::mpi::SecretKeyMaterial [−][src]
#[non_exhaustive]
pub enum SecretKeyMaterial {
RSA {
d: ProtectedMPI,
p: ProtectedMPI,
q: ProtectedMPI,
u: ProtectedMPI,
},
DSA {
x: ProtectedMPI,
},
ElGamal {
x: ProtectedMPI,
},
EdDSA {
scalar: ProtectedMPI,
},
ECDSA {
scalar: ProtectedMPI,
},
ECDH {
scalar: ProtectedMPI,
},
Unknown {
mpis: Box<[ProtectedMPI]>,
rest: Protected,
},
}
Expand description
A secret key.
Provides a typed and structured way of storing multiple MPIs in
Key
packets. Secret key components are protected by storing
them using ProtectedMPI
.
Note: This enum cannot be exhaustively matched to allow future extensions.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
RSA
Fields
d: ProtectedMPI
Secret exponent, inverse of e in Phi(N).
p: ProtectedMPI
Smaller secret prime.
q: ProtectedMPI
Larger secret prime.
u: ProtectedMPI
Inverse of p mod q.
RSA secret key.
DSA
Fields
x: ProtectedMPI
Secret key log_g(y) in Zp.
NIST DSA secret key.
ElGamal
Fields
x: ProtectedMPI
Secret key log_g(y) in Zp.
ElGamal secret key.
EdDSA
Fields
scalar: ProtectedMPI
Secret scalar.
DJB’s “Twisted” Edwards curve DSA secret key.
ECDSA
Fields
scalar: ProtectedMPI
Secret scalar.
NIST’s Elliptic Curve DSA secret key.
ECDH
Fields
scalar: ProtectedMPI
Secret scalar.
Elliptic Curve Diffie-Hellman public key.
Unknown
Fields
mpis: Box<[ProtectedMPI]>
The successfully parsed MPIs.
rest: Protected
Any data that failed to parse.
Unknown number of MPIs for an unknown algorithm.
Implementations
Returns, if known, the public-key algorithm for this secret key.
pub fn parse_with_checksum<R: Read + Send + Sync>(
algo: PublicKeyAlgorithm,
reader: R,
checksum: SecretKeyChecksum
) -> Result<Self>
pub fn parse_with_checksum<R: Read + Send + Sync>(
algo: PublicKeyAlgorithm,
reader: R,
checksum: SecretKeyChecksum
) -> Result<Self>
Parses secret key MPIs for algo
plus their SHA1 checksum.
Fails if the checksum is wrong.
Parses a set of OpenPGP MPIs representing a secret key.
See Section 3.2 of RFC 4880 for details.
pub fn serialize_with_checksum(
&self,
w: &mut dyn Write,
checksum: SecretKeyChecksum
) -> Result<()>
pub fn serialize_with_checksum(
&self,
w: &mut dyn Write,
checksum: SecretKeyChecksum
) -> Result<()>
Writes this secret key with a checksum to w
.
Trait Implementations
Performs the conversion.
Performs the conversion.
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 SecretKeyMaterial
impl Send for SecretKeyMaterial
impl Sync for SecretKeyMaterial
impl Unpin for SecretKeyMaterial
impl UnwindSafe for SecretKeyMaterial
Blanket Implementations
Mutably borrows from an owned value. Read more