cryptix.provider.rsa

Class RawRSAPrivateKey

public class RawRSAPrivateKey extends BaseRSAPrivateKey

A class representing a RAW-encoded RSA private key.

The encoding consists of the following, in order:

  1. the private exponent d,
  2. the first factor of the modulus, p,
  3. the second factor of the modulus, q,
  4. the coefficient q^-1 mod p.

Each integer is represented as follows:

    Byte    Length
    offset  (bytes)   Meaning
    0       2         The length in bits of this BigInteger (MSB first);
    2       variable  The BigInteger's magnitude with no leading zeroes,
                      again MSB first.
 

Copyright © 1997 Systemics Ltd on behalf of the Cryptix Development Team.
All rights reserved.

$Revision: 1.7 $

Since: Cryptix 2.2.2

Author: Raif S. Naffah David Hopwood

Constructor Summary
RawRSAPrivateKey(BigInteger n, BigInteger d)
Constructs a raw RSA private key given the private exponent, and the public modulus n.
RawRSAPrivateKey(BigInteger d, BigInteger p, BigInteger q)
Constructs a raw RSA private key given the private exponent, and the two factors used to generate the public modulus n.
RawRSAPrivateKey(BigInteger d, BigInteger p, BigInteger q, BigInteger u)
Constructs a raw RSA private key given the private exponent, and the two factors used to generate the public modulus n.
RawRSAPrivateKey(InputStream is)
Constructs a raw RSA private key from data read from an InputStream, encoded as described above.
Method Summary
byte[]getEncoded()
Returns an encoding of the key as a byte array, as described above.
StringgetFormat()
Returns the encoding format name, for this class always "RAW".

Constructor Detail

RawRSAPrivateKey

public RawRSAPrivateKey(BigInteger n, BigInteger d)
Constructs a raw RSA private key given the private exponent, and the public modulus n. This should be used only when the factors of n are unknown.

Parameters: d the private exponent n the public modulus

RawRSAPrivateKey

public RawRSAPrivateKey(BigInteger d, BigInteger p, BigInteger q)
Constructs a raw RSA private key given the private exponent, and the two factors used to generate the public modulus n. The factors may be in any order.

Parameters: d the private exponent p the first factor of the public modulus q the second factor of the public modulus

RawRSAPrivateKey

public RawRSAPrivateKey(BigInteger d, BigInteger p, BigInteger q, BigInteger u)
Constructs a raw RSA private key given the private exponent, and the two factors used to generate the public modulus n. The factors must be given in the correct order, such that u = q^-1 mod p.

Parameters: d the private exponent p the first factor of the public modulus q the second factor of the public modulus u the multiplicative inverse of q modulo p

RawRSAPrivateKey

public RawRSAPrivateKey(InputStream is)
Constructs a raw RSA private key from data read from an InputStream, encoded as described above.

Parameters: is the input stream from which data is parsed.

Throws: IOException if any I/O error occurs.

See Also: RawRSAPrivateKey

Method Detail

getEncoded

public byte[] getEncoded()
Returns an encoding of the key as a byte array, as described above.

Returns: the encoded byte array, or null if an error occurred.

getFormat

public String getFormat()
Returns the encoding format name, for this class always "RAW".

Returns: the encoding format name for this key, "RAW".