#include <asymmetrickeys.h>
| class CRSAPrivateKeyCRT : public CRSAPrivateKey |
| Protected Attributes | |
|---|---|
| RInteger | iDP |
| RInteger | iDQ |
| RInteger | iP |
| RInteger | iQ |
| RInteger | iQInv |
| Public Member Functions | |
|---|---|
| virtual | ~CRSAPrivateKeyCRT(void) |
| IMPORT_C const TInteger & | DP(void) |
| IMPORT_C const TInteger & | DQ(void) |
| IMPORT_C CRSAPrivateKeyCRT * | NewL(RInteger &, RInteger &, RInteger &, RInteger &, RInteger &, RInteger &) |
| IMPORT_C CRSAPrivateKeyCRT * | NewLC(RInteger &, RInteger &, RInteger &, RInteger &, RInteger &, RInteger &) |
| IMPORT_C const TInteger & | P(void) |
| IMPORT_C const TInteger & | Q(void) |
| IMPORT_C const TInteger & | QInv(void) |
| Protected Member Functions | |
|---|---|
| CRSAPrivateKeyCRT(RInteger &, RInteger &, RInteger &, RInteger &, RInteger &, RInteger &) | |
| Inherited Attributes | |
|---|---|
| CRSAParameters::iN | |
| CRSAPrivateKey::iKeyType | |
An alternate representation of an RSA private key providing significant speed enhancements through its use of the Chinese Remainder Theorem (CRT).
Here, a private key is represented by a modulus (n), the two prime factors of the modulus (p, q), p's CRT exponent (dP), q's CRT exponent (dQ), and the CRT coefficient (qInv). See PKCS#1 at http://www.rsasecurity.com/rsalabs/pkcs/ for more information.
| IMPORT_C | CRSAPrivateKeyCRT | ( | RInteger & | aN, |
| RInteger & | aP, | |||
| RInteger & | aQ, | |||
| RInteger & | aDP, | |||
| RInteger & | aDQ, | |||
| RInteger & | aQInv | |||
| ) | [protected] | |||
Constructor
| Parameters | |
|---|---|
| aN | The RSA parameter, n (the modulus) |
| aP | The RSA parameter, p (the first factor) |
| aQ | The RSA parameter, q (the second factor) |
| aDP | The RSA parameter, dP (the first factor's CRT exponent) |
| aDQ | The RSA parameter, dQ (the second factor's CRT exponent) |
| aQInv | The RSA parameter, qInv (the CRT coefficient) |
| IMPORT_C | ~CRSAPrivateKeyCRT | ( | void | ) | [virtual] |
Destructor
| IMPORT_C const TInteger & | DP | ( | void | ) | const |
Gets the RSA parameter, dP (the first factor's CRT exponent)
| IMPORT_C const TInteger & | DQ | ( | void | ) | const |
Gets the RSA parameter, dQ (the second factor's CRT exponent)
| IMPORT_C CRSAPrivateKeyCRT * | NewL | ( | RInteger & | iN, |
| RInteger & | aP, | |||
| RInteger & | aQ, | |||
| RInteger & | aDP, | |||
| RInteger & | aDQ, | |||
| RInteger & | aQInv | |||
| ) | [static] | |||
Creates a new CRSAPrivateKeyCRT object from a specified modulus and decryption exponent.
| Parameters | |
|---|---|
| iN | The RSA parameter, n (the modulus) |
| aP | The RSA parameter, p (the first factor) |
| aQ | The RSA parameter, q (the second factor) |
| aDP | The RSA parameter, dP (the first factor's CRT exponent) |
| aDQ | The RSA parameter, dQ (the second factor's CRT exponent) |
| aQInv | The RSA parameter, qInv (the CRT coefficient) |
| Leave Codes | |
|---|---|
| KErrArgument | If any of the parameters are not positive integers, and releases ownership. |
| IMPORT_C CRSAPrivateKeyCRT * | NewLC | ( | RInteger & | iN, |
| RInteger & | aP, | |||
| RInteger & | aQ, | |||
| RInteger & | aDP, | |||
| RInteger & | aDQ, | |||
| RInteger & | aQInv | |||
| ) | [static] | |||
Creates a new CRSAPrivateKeyCRT object from a specified modulus and decryption exponent.
The returned pointer is put onto the cleanup stack.
| Parameters | |
|---|---|
| iN | The RSA parameter, n (the modulus) |
| aP | The RSA parameter, p (the first factor) |
| aQ | The RSA parameter, q (the second factor) |
| aDP | The RSA parameter, dP (the first factor's CRT exponent) |
| aDQ | The RSA parameter, dQ (the second factor's CRT exponent) |
| aQInv | The RSA parameter, qInv (the CRT coefficient) |
| Leave Codes | |
|---|---|
| KErrArgument | If any of the parameters are not positive integers, and releases ownership. |
| IMPORT_C const TInteger & | P | ( | void | ) | const |
Gets the RSA parameter, p (the first factor)