gnu.crypto.sig.rsa
public class RSA extends Object
Utility methods related to the RSA algorithm.
References:
Version: $Revision: 1.9 $
Method Summary | |
---|---|
static BigInteger | decrypt(PrivateKey K, BigInteger c) An implementation of the |
static BigInteger | encrypt(PublicKey K, BigInteger m) An implementation of the |
static byte[] | I2OSP(BigInteger s, int k) Converts a multi-precision integer (MPI) |
static BigInteger | sign(PrivateKey K, BigInteger m) An implementation of the RSASP method: Assuming that the designated RSA private key is a valid one, this method computes a signature representative for a designated message representative signed by the holder of the designated RSA private key.
|
static BigInteger | verify(PublicKey K, BigInteger s) An implementation of the RSAVP method: Assuming that the designated RSA public key is a valid one, this method computes a message representative for the designated signature representative generated by an RSA private key, for a message intended for the holder of the designated RSA public key. |
An implementation of the RSADP
algorithm.
Parameters: K the recipient's RSA private key. c the ciphertext representative as an MPI.
Returns: the message representative, an MPI between 0
and
n - 1
(n
being the shared public modulus).
Throws: ClassCastException if K
is not an RSA one. IllegalArgumentException if c
, the ciphertext
representative is not between 0
and n - 1
(n
being the shared public modulus).
An implementation of the RSAEP
algorithm.
Parameters: K the recipient's RSA public key. m the message representative as an MPI.
Returns: the resulting MPI --an MPI between 0
and
n - 1
(n
being the public shared modulus)-- that
will eventually be padded with an appropriate framing/padding scheme.
Throws: ClassCastException if K
is not an RSA one. IllegalArgumentException if m
, the message
representative is not between 0
and n - 1
(n
being the public shared modulus).
Converts a multi-precision integer (MPI) s
into an
octet sequence of length k
.
Parameters: s the multi-precision integer to convert. k the length of the output.
Returns: the result of the transform.
Throws: IllegalArgumentException if the length in octets of meaningful
bytes of s
is greater than k
.
An implementation of the RSASP method: Assuming that the designated RSA private key is a valid one, this method computes a signature representative for a designated message representative signed by the holder of the designated RSA private key.
Parameters: K the RSA private key. m the message representative: an integer between
0
and n - 1
, where n
is the RSA
modulus.
Returns: the signature representative, an integer between
0
and n - 1
, where n
is the RSA
modulus.
Throws: ClassCastException if K
is not an RSA one. IllegalArgumentException if m
(the message
representative) is out of range.
An implementation of the RSAVP method: Assuming that the designated RSA public key is a valid one, this method computes a message representative for the designated signature representative generated by an RSA private key, for a message intended for the holder of the designated RSA public key.
Parameters: K the RSA public key. s the signature representative, an integer between
0
and n - 1
, where n
is the RSA
modulus.
Returns: a message representative: an integer between 0
and n - 1
, where n
is the RSA modulus.
Throws: ClassCastException if K
is not an RSA one. IllegalArgumentException if s
(the signature
representative) is out of range.