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.