public class RSA
extends java.lang.Object
Utility methods related to the RSA algorithm.
References:
Modifier and Type | Method and Description |
---|---|
static java.math.BigInteger |
decrypt(java.security.PrivateKey K,
java.math.BigInteger c)
An implementation of the
RSADP algorithm. |
static java.math.BigInteger |
encrypt(java.security.PublicKey K,
java.math.BigInteger m)
An implementation of the
RSAEP algorithm. |
static byte[] |
I2OSP(java.math.BigInteger s,
int k)
Converts a multi-precision integer (MPI)
s into an
octet sequence of length k . |
static java.math.BigInteger |
sign(java.security.PrivateKey K,
java.math.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 java.math.BigInteger |
verify(java.security.PublicKey K,
java.math.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.
|
public static final java.math.BigInteger sign(java.security.PrivateKey K, java.math.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.
K
- the RSA private key.m
- the message representative: an integer between
0
and n - 1
, where n
is the RSA
modulus.0
and n - 1
, where n
is the RSA
modulus.java.lang.ClassCastException
- if K
is not an RSA one.java.lang.IllegalArgumentException
- if m
(the message
representative) is out of range.public static final java.math.BigInteger verify(java.security.PublicKey K, java.math.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.
K
- the RSA public key.s
- the signature representative, an integer between
0
and n - 1
, where n
is the RSA
modulus.0
and n - 1
, where n
is the RSA modulus.java.lang.ClassCastException
- if K
is not an RSA one.java.lang.IllegalArgumentException
- if s
(the signature
representative) is out of range.public static final java.math.BigInteger encrypt(java.security.PublicKey K, java.math.BigInteger m)
An implementation of the RSAEP
algorithm.
K
- the recipient's RSA public key.m
- the message representative as an MPI.0
and
n - 1
(n
being the public shared modulus)-- that
will eventually be padded with an appropriate framing/padding scheme.java.lang.ClassCastException
- if K
is not an RSA one.java.lang.IllegalArgumentException
- if m
, the message
representative is not between 0
and n - 1
(n
being the public shared modulus).public static final java.math.BigInteger decrypt(java.security.PrivateKey K, java.math.BigInteger c)
An implementation of the RSADP
algorithm.
K
- the recipient's RSA private key.c
- the ciphertext representative as an MPI.0
and
n - 1
(n
being the shared public modulus).java.lang.ClassCastException
- if K
is not an RSA one.java.lang.IllegalArgumentException
- if c
, the ciphertext
representative is not between 0
and n - 1
(n
being the shared public modulus).public static final byte[] I2OSP(java.math.BigInteger s, int k)
Converts a multi-precision integer (MPI) s
into an
octet sequence of length k
.
s
- the multi-precision integer to convert.k
- the length of the output.java.lang.IllegalArgumentException
- if the length in octets of meaningful
bytes of s
is greater than k
.Copyright © 2025. All rights reserved.