[−][src]Trait rsa::PublicKey
Generic trait for operations on a public key.
Required methods
fn n(&self) -> &BigUint
Returns the modulus of the key.
fn e(&self) -> &BigUint
Returns the public exponent of the key.
fn encrypt<R: Rng>(
&self,
rng: &mut R,
padding: PaddingScheme,
msg: &[u8]
) -> Result<Vec<u8>>
&self,
rng: &mut R,
padding: PaddingScheme,
msg: &[u8]
) -> Result<Vec<u8>>
Encrypt the given message.
fn verify<H: Hash>(
&self,
padding: PaddingScheme,
hash: Option<&H>,
hashed: &[u8],
sig: &[u8]
) -> Result<()>
&self,
padding: PaddingScheme,
hash: Option<&H>,
hashed: &[u8],
sig: &[u8]
) -> Result<()>
Verify a signed message.
hashed
must be the result of hashing the input using the hashing function
passed in through hash
.
If the message is valid Ok(())
is returned, otherwiese an Err
indicating failure.
Provided methods
fn size(&self) -> usize
Returns the modulus size in bytes. Raw signatures and ciphertexts for or by this public key will have the same size.
Implementors
impl PublicKey for RSAPrivateKey
[src]
fn n(&self) -> &BigUint
[src]
fn e(&self) -> &BigUint
[src]
fn encrypt<R: Rng>(
&self,
rng: &mut R,
padding: PaddingScheme,
msg: &[u8]
) -> Result<Vec<u8>>
[src]
&self,
rng: &mut R,
padding: PaddingScheme,
msg: &[u8]
) -> Result<Vec<u8>>
fn verify<H: Hash>(
&self,
padding: PaddingScheme,
hash: Option<&H>,
hashed: &[u8],
sig: &[u8]
) -> Result<()>
[src]
&self,
padding: PaddingScheme,
hash: Option<&H>,
hashed: &[u8],
sig: &[u8]
) -> Result<()>
impl PublicKey for RSAPublicKey
[src]
fn n(&self) -> &BigUint
[src]
fn e(&self) -> &BigUint
[src]
fn encrypt<R: Rng>(
&self,
rng: &mut R,
padding: PaddingScheme,
msg: &[u8]
) -> Result<Vec<u8>>
[src]
&self,
rng: &mut R,
padding: PaddingScheme,
msg: &[u8]
) -> Result<Vec<u8>>
fn verify<H: Hash>(
&self,
padding: PaddingScheme,
hash: Option<&H>,
hashed: &[u8],
sig: &[u8]
) -> Result<()>
[src]
&self,
padding: PaddingScheme,
hash: Option<&H>,
hashed: &[u8],
sig: &[u8]
) -> Result<()>
impl<'a> PublicKey for &'a RSAPrivateKey
[src]
fn n(&self) -> &BigUint
[src]
fn e(&self) -> &BigUint
[src]
fn encrypt<R: Rng>(
&self,
rng: &mut R,
padding: PaddingScheme,
msg: &[u8]
) -> Result<Vec<u8>>
[src]
&self,
rng: &mut R,
padding: PaddingScheme,
msg: &[u8]
) -> Result<Vec<u8>>
fn verify<H: Hash>(
&self,
padding: PaddingScheme,
hash: Option<&H>,
hashed: &[u8],
sig: &[u8]
) -> Result<()>
[src]
&self,
padding: PaddingScheme,
hash: Option<&H>,
hashed: &[u8],
sig: &[u8]
) -> Result<()>