From 63718b1e9a14ba211610daf867b338557baa5f1a Mon Sep 17 00:00:00 2001 From: lloyd Date: Mon, 13 Oct 2008 18:19:17 +0000 Subject: Add Doxygen comments to RSA key constructors (from InSiTo) --- src/pubkey/rsa/rsa.h | 39 +++++++++++++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 8 deletions(-) (limited to 'src/pubkey/rsa/rsa.h') 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; }; -- cgit v1.2.3