aboutsummaryrefslogtreecommitdiffstats
path: root/src/pubkey/rsa/rsa.h
diff options
context:
space:
mode:
authorlloyd <[email protected]>2008-10-13 18:19:17 +0000
committerlloyd <[email protected]>2008-10-13 18:19:17 +0000
commit63718b1e9a14ba211610daf867b338557baa5f1a (patch)
tree6fde62b8f78367be5eca76877b53ab06183fbfb0 /src/pubkey/rsa/rsa.h
parent5a812df041ecba9ea8aeaa27d08d51ca55f34c3f (diff)
Add Doxygen comments to RSA key constructors (from InSiTo)
Diffstat (limited to 'src/pubkey/rsa/rsa.h')
-rw-r--r--src/pubkey/rsa/rsa.h39
1 files changed, 31 insertions, 8 deletions
diff --git a/src/pubkey/rsa/rsa.h b/src/pubkey/rsa/rsa.h
index 445902a6f..b8404b77c 100644
--- a/src/pubkey/rsa/rsa.h
+++ b/src/pubkey/rsa/rsa.h
@@ -10,9 +10,9 @@
namespace Botan {
-/*************************************************
-* RSA Public Key *
-*************************************************/
+/**
+* RSA Public Key
+*/
class BOTAN_DLL RSA_PublicKey : public PK_Encrypting_Key,
public PK_Verifying_with_MR_Key,
public virtual IF_Scheme_PublicKey
@@ -31,9 +31,9 @@ class BOTAN_DLL RSA_PublicKey : public PK_Encrypting_Key,
BigInt public_op(const BigInt&) const;
};
-/*************************************************
-* RSA Private Key *
-*************************************************/
+/**
+* RSA Private Key class.
+*/
class BOTAN_DLL RSA_PrivateKey : public RSA_PublicKey,
public PK_Decrypting_Key,
public PK_Signing_Key,
@@ -47,13 +47,36 @@ class BOTAN_DLL RSA_PrivateKey : public RSA_PublicKey,
bool check_key(RandomNumberGenerator& rng, bool) const;
+ /**
+ * Default constructor, does not set any internal values. Use this
+ * constructor if you wish to decode a DER or PEM encoded key.
+ */
RSA_PrivateKey() {}
- RSA_PrivateKey(RandomNumberGenerator&,
+ /**
+ * Construct a private key from the specified parameters.
+ * @param rng the random number generator to use
+ * @param prime1 the first prime
+ * @param prime2 the second prime
+ * @param exp the exponent
+ * @param d_exp if specified, this has to be d with
+ * exp * d = 1 mod (p - 1, q - 1). Leave it as 0 if you wish to
+ * the constructor to calculate it.
+ * @param n if specified, this must be n = p * q. Leave it as 0
+ * if you wish to the constructor to calculate it.
+ */
+ RSA_PrivateKey(RandomNumberGenerator& rng,
const BigInt& p, const BigInt& q, const BigInt& e,
const BigInt& d = 0, const BigInt& n = 0);
- RSA_PrivateKey(RandomNumberGenerator&, u32bit bits, u32bit = 65537);
+ /**
+ * Create a new private key with the specified bit length
+ * @param rng the random number generator to use
+ * @param bits the desired bit length of the private key
+ * @param exp the public exponent to be used
+ */
+ RSA_PrivateKey(RandomNumberGenerator& rng,
+ u32bit bits, u32bit exp = 65537);
private:
BigInt private_op(const byte[], u32bit) const;
};