gnu.crypto.sig.rsa
public class EME_PKCS1_V1_5 extends Object
An implementation of the EME-PKCS1-V1.5 encoding and decoding methods.
EME-PKCS1-V1.5 is parameterised by the entity k which is the
byte count of an RSA public shared modulus.
References:
Version: $Revision: 1.2 $
| Method Summary | |
|---|---|
| byte[] | decode(byte[] EM) Separate the encoded message
EM = 0x00 || 0x02 || PS || 0x00 || M.
|
| byte[] | encode(byte[] M) Generates an octet string |
| byte[] | encode(byte[] M, IRandom irnd) |
| byte[] | encode(byte[] M, Random rnd) Similar to the |
| static EME_PKCS1_V1_5 | getInstance(int k) |
| static EME_PKCS1_V1_5 | getInstance(RSAKey key) |
Separate the encoded message EM into an octet string
PS consisting of nonzero octets and a message M
as:
EM = 0x00 || 0x02 || PS || 0x00 || M.
If the first octet of EM does not have hexadecimal value
0x00, if the second octet of EM does not have
hexadecimal value 0x02, if there is no octet with hexadecimal
value 0x00 to separate PS from M,
or if the length of PS is less than 8 octets,
output "decryption error" and stop.
Parameters: EM the designated encoded message.
Returns: the decoded message M framed in the designated
EM value.
Throws: IllegalArgumentException if the length of the designated entity
EM is different than k (the length in bytes of
the public shared modulus), or if any of the conditions described above
is detected.
Generates an octet string PS of length k - mLen -
3 consisting of pseudo-randomly generated nonzero octets. The
length of PS will be at least eight octets.
The method then concatenates PS, the message M,
and other padding to form an encoded message EM of length
k octets as:
EM = 0x00 || 0x02 || PS || 0x00 || M.
This method uses a default PRNG to obtain the padding bytes.
Parameters: M the message to encode.
Returns: the encoded message EM.
Similar to (byte[]) method, except that the source of
randomness to use for obtaining the padding bytes (an instance of
IRandom) is given as a parameter.
Parameters: M the message to encode. irnd the IRandom instance to use as a source of randomness.
Returns: the encoded message EM.
Similar to the (byte[], IRandom) method, except that
the source of randmoness is an instance of Random.
Parameters: M the message to encode. rnd the Random instance to use as a source of randomness.
Returns: the encoded message EM.