Botan  1.10.9
Public Member Functions | List of all members
Botan::RSA_Public_Operation Class Reference

#include <rsa.h>

Inheritance diagram for Botan::RSA_Public_Operation:
Botan::PK_Ops::Verification Botan::PK_Ops::Encryption

Public Member Functions

SecureVector< byteencrypt (const byte msg[], size_t msg_len, RandomNumberGenerator &)
 
size_t max_input_bits () const
 
virtual size_t message_part_size () const
 
virtual size_t message_parts () const
 
 RSA_Public_Operation (const RSA_PublicKey &rsa)
 
virtual bool verify (const byte[], size_t, const byte[], size_t)
 
SecureVector< byteverify_mr (const byte msg[], size_t msg_len)
 
bool with_recovery () const
 

Detailed Description

RSA public (encrypt/verify) operation

Definition at line 116 of file rsa.h.

Constructor & Destructor Documentation

Botan::RSA_Public_Operation::RSA_Public_Operation ( const RSA_PublicKey rsa)
inline

Definition at line 120 of file rsa.h.

120  :
121  n(rsa.get_n()), powermod_e_n(rsa.get_e(), rsa.get_n())
122  {}

Member Function Documentation

SecureVector<byte> Botan::RSA_Public_Operation::encrypt ( const byte  msg[],
size_t  msg_len,
RandomNumberGenerator  
)
inlinevirtual

Implements Botan::PK_Ops::Encryption.

Definition at line 127 of file rsa.h.

References Botan::BigInt::encode_1363(), and n.

129  {
130  BigInt m(msg, msg_len);
131  return BigInt::encode_1363(public_op(m), n.bytes());
132  }
static SecureVector< byte > encode_1363(const BigInt &n, size_t bytes)
Definition: big_code.cpp:78
size_t bytes() const
Definition: bigint.cpp:245
size_t Botan::RSA_Public_Operation::max_input_bits ( ) const
inlinevirtual

Implements Botan::PK_Ops::Encryption.

Definition at line 124 of file rsa.h.

References n.

124 { return (n.bits() - 1); }
size_t bits() const
Definition: bigint.cpp:253
virtual size_t Botan::PK_Ops::Verification::message_part_size ( ) const
inlinevirtualinherited

Find out the message part size supported by this scheme/key.

Returns
size of the message parts

Reimplemented in Botan::GOST_3410_Verification_Operation, Botan::ECDSA_Verification_Operation, Botan::DSA_Verification_Operation, and Botan::NR_Verification_Operation.

Definition at line 104 of file pk_ops.h.

Referenced by Botan::PK_Verifier::check_signature().

104 { return 0; }
virtual size_t Botan::PK_Ops::Verification::message_parts ( ) const
inlinevirtualinherited

Find out the number of message parts supported by this scheme.

Returns
number of message parts

Reimplemented in Botan::GOST_3410_Verification_Operation, Botan::ECDSA_Verification_Operation, Botan::DSA_Verification_Operation, and Botan::NR_Verification_Operation.

Definition at line 98 of file pk_ops.h.

Referenced by Botan::PK_Verifier::check_signature(), and Botan::PK_Verifier::set_input_format().

98 { return 1; }
virtual bool Botan::PK_Ops::Verification::verify ( const byte  [],
size_t  ,
const byte  [],
size_t   
)
inlinevirtualinherited

Reimplemented in Botan::GOST_3410_Verification_Operation, Botan::ECDSA_Verification_Operation, and Botan::DSA_Verification_Operation.

Definition at line 120 of file pk_ops.h.

122  {
123  throw Invalid_State("Message recovery required");
124  }
SecureVector<byte> Botan::RSA_Public_Operation::verify_mr ( const byte  msg[],
size_t  msg_len 
)
inlinevirtual

Reimplemented from Botan::PK_Ops::Verification.

Definition at line 134 of file rsa.h.

References Botan::BigInt::encode().

135  {
136  BigInt m(msg, msg_len);
137  return BigInt::encode(public_op(m));
138  }
static SecureVector< byte > encode(const BigInt &n, Base base=Binary)
Definition: big_code.cpp:64
bool Botan::RSA_Public_Operation::with_recovery ( ) const
inlinevirtual
Returns
boolean specifying if this key type supports message recovery and thus if you need to call verify() or verify_mr()

Implements Botan::PK_Ops::Verification.

Definition at line 125 of file rsa.h.

125 { return true; }

The documentation for this class was generated from the following file: