AI-generated Key Takeaways
-
RSAMultiPrimePrivateCrtKeySpecspecifies an RSA multi-prime private key using the Chinese Remainder Theorem (CRT) for efficiency, as defined in PKCS#1 v2.1. -
It extends
RSAPrivateKeySpecand includes additional information like prime factors (p, q), prime exponents, and CRT coefficient. -
A new
RSAMultiPrimePrivateCrtKeySpecobject is created using the constructor with parameters for modulus, public exponent, private exponent, prime factors, prime exponents, CRT coefficient, and other prime info. -
Public methods allow access to the key's components such as
getCrtCoefficient(),getOtherPrimeInfo(),getPrimeExponentP(),getPrimeExponentQ(),getPrimeP(),getPrimeQ(), andgetPublicExponent(). -
This class is useful for representing and working with RSA private keys that utilize multiple prime factors for enhanced security and performance.
This class specifies an RSA multi-prime private key, as defined in the PKCS#1 v2.1, using the Chinese Remainder Theorem (CRT) information values for efficiency.
Public Constructor Summary
|
RSAMultiPrimePrivateCrtKeySpec(BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger primeP, BigInteger primeQ, BigInteger primeExponentP, BigInteger primeExponentQ, BigInteger crtCoefficient, RSAOtherPrimeInfo[] otherPrimeInfo)
Creates a new
RSAMultiPrimePrivateCrtKeySpec
given the modulus, publicExponent, privateExponent,
primeP, primeQ, primeExponentP, primeExponentQ,
crtCoefficient, and otherPrimeInfo as defined in PKCS#1 v2.1. |
Public Method Summary
| BigInteger |
getCrtCoefficient()
Returns the crtCoefficient.
|
| RSAOtherPrimeInfo[] |
getOtherPrimeInfo()
Returns a copy of the otherPrimeInfo or null if there are
only two prime factors (p and q).
|
| BigInteger |
getPrimeExponentP()
Returns the primeExponentP.
|
| BigInteger |
getPrimeExponentQ()
Returns the primeExponentQ.
|
| BigInteger |
getPrimeP()
Returns the primeP.
|
| BigInteger |
getPrimeQ()
Returns the primeQ.
|
| BigInteger |
getPublicExponent()
Returns the public exponent.
|
Inherited Method Summary
Public Constructors
public RSAMultiPrimePrivateCrtKeySpec (BigInteger modulus, BigInteger publicExponent, BigInteger privateExponent, BigInteger primeP, BigInteger primeQ, BigInteger primeExponentP, BigInteger primeExponentQ, BigInteger crtCoefficient, RSAOtherPrimeInfo[] otherPrimeInfo)
Creates a new RSAMultiPrimePrivateCrtKeySpec
given the modulus, publicExponent, privateExponent,
primeP, primeQ, primeExponentP, primeExponentQ,
crtCoefficient, and otherPrimeInfo as defined in PKCS#1 v2.1.
Note that the contents of otherPrimeInfo
are copied to protect against subsequent modification when
constructing this object.
Parameters
| modulus | the modulus n. |
|---|---|
| publicExponent | the public exponent e. |
| privateExponent | the private exponent d. |
| primeP | the prime factor p of n. |
| primeQ | the prime factor q of n. |
| primeExponentP | this is d mod (p-1). |
| primeExponentQ | this is d mod (q-1). |
| crtCoefficient | the Chinese Remainder Theorem coefficient q-1 mod p. |
| otherPrimeInfo | triplets of the rest of primes, null can be specified if there are only two prime factors (p and q). |
Throws
| NullPointerException | if any of the parameters, i.e.
modulus,
publicExponent, privateExponent,
primeP, primeQ,
primeExponentP, primeExponentQ,
crtCoefficient, is null. |
|---|---|
| IllegalArgumentException | if an empty, i.e. 0-length,
otherPrimeInfo is specified.
|
Public Methods
public BigInteger getCrtCoefficient ()
Returns the crtCoefficient.
Returns
- the crtCoefficient.
public RSAOtherPrimeInfo[] getOtherPrimeInfo ()
Returns a copy of the otherPrimeInfo or null if there are only two prime factors (p and q).
Returns
- the otherPrimeInfo. Returns a new array each time this method is called.
public BigInteger getPrimeExponentP ()
Returns the primeExponentP.
Returns
- the primeExponentP.
public BigInteger getPrimeExponentQ ()
Returns the primeExponentQ.
Returns
- the primeExponentQ.
public BigInteger getPrimeP ()
Returns the primeP.
Returns
- the primeP.
public BigInteger getPrimeQ ()
Returns the primeQ.
Returns
- the primeQ.
public BigInteger getPublicExponent ()
Returns the public exponent.
Returns
- the public exponent.