diff options
Diffstat (limited to 'libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/RSASecretBCPGKey.java')
-rw-r--r-- | libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/RSASecretBCPGKey.java | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/RSASecretBCPGKey.java b/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/RSASecretBCPGKey.java deleted file mode 100644 index a8b211673..000000000 --- a/libraries/spongycastle/pg/src/main/java/org/spongycastle/bcpg/RSASecretBCPGKey.java +++ /dev/null @@ -1,176 +0,0 @@ -package org.spongycastle.bcpg; - -import java.io.*; -import java.math.BigInteger; - -/** - * base class for an RSA Secret (or Private) Key. - */ -public class RSASecretBCPGKey - extends BCPGObject implements BCPGKey -{ - MPInteger d; - MPInteger p; - MPInteger q; - MPInteger u; - - BigInteger expP, expQ, crt; - - /** - * - * @param in - * @throws IOException - */ - public RSASecretBCPGKey( - BCPGInputStream in) - throws IOException - { - this.d = new MPInteger(in); - this.p = new MPInteger(in); - this.q = new MPInteger(in); - this.u = new MPInteger(in); - - expP = d.getValue().remainder(p.getValue().subtract(BigInteger.valueOf(1))); - expQ = d.getValue().remainder(q.getValue().subtract(BigInteger.valueOf(1))); - crt = q.getValue().modInverse(p.getValue()); - } - - /** - * - * @param d - * @param p - * @param q - */ - public RSASecretBCPGKey( - BigInteger d, - BigInteger p, - BigInteger q) - { - // - // pgp requires (p < q) - // - int cmp = p.compareTo(q); - if (cmp >= 0) - { - if (cmp == 0) - { - throw new IllegalArgumentException("p and q cannot be equal"); - } - - BigInteger tmp = p; - p = q; - q = tmp; - } - - this.d = new MPInteger(d); - this.p = new MPInteger(p); - this.q = new MPInteger(q); - this.u = new MPInteger(p.modInverse(q)); - - expP = d.remainder(p.subtract(BigInteger.valueOf(1))); - expQ = d.remainder(q.subtract(BigInteger.valueOf(1))); - crt = q.modInverse(p); - } - - /** - * return the modulus for this key. - * - * @return BigInteger - */ - public BigInteger getModulus() - { - return p.getValue().multiply(q.getValue()); - } - - /** - * return the private exponent for this key. - * - * @return BigInteger - */ - public BigInteger getPrivateExponent() - { - return d.getValue(); - } - - /** - * return the prime P - */ - public BigInteger getPrimeP() - { - return p.getValue(); - } - - /** - * return the prime Q - */ - public BigInteger getPrimeQ() - { - return q.getValue(); - } - - /** - * return the prime exponent of p - */ - public BigInteger getPrimeExponentP() - { - return expP; - } - - /** - * return the prime exponent of q - */ - public BigInteger getPrimeExponentQ() - { - return expQ; - } - - /** - * return the crt coefficient - */ - public BigInteger getCrtCoefficient() - { - return crt; - } - - /** - * return "PGP" - * - * @see org.spongycastle.bcpg.BCPGKey#getFormat() - */ - public String getFormat() - { - return "PGP"; - } - - /** - * return the standard PGP encoding of the key. - * - * @see org.spongycastle.bcpg.BCPGKey#getEncoded() - */ - public byte[] getEncoded() - { - try - { - ByteArrayOutputStream bOut = new ByteArrayOutputStream(); - BCPGOutputStream pgpOut = new BCPGOutputStream(bOut); - - pgpOut.writeObject(this); - - return bOut.toByteArray(); - } - catch (IOException e) - { - return null; - } - } - - public void encode( - BCPGOutputStream out) - throws IOException - { - out.writeObject(d); - out.writeObject(p); - out.writeObject(q); - out.writeObject(u); - } -} |