|
|||||||||
Home >> All >> gnu >> java >> security >> sig >> [ rsa overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |
gnu.java.security.sig.rsa
Class EME_PKCS1_V1_5

java.lang.Objectgnu.java.security.sig.rsa.EME_PKCS1_V1_5
- public class EME_PKCS1_V1_5
- extends java.lang.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:
- Public-Key Cryptography
Standards (PKCS) #1:
RSA Cryptography Specifications Version 2.1.
Jakob Jonsson and Burt Kaliski.
Field Summary | |
private java.io.ByteArrayOutputStream |
baos
|
private int |
k
|
private gnu.java.security.util.PRNG |
prng
Our default source of randomness. |
Constructor Summary | |
private |
EME_PKCS1_V1_5(int k)
|
Method Summary | |
private byte[] |
assembleEM(byte[] PS,
byte[] M)
|
byte[] |
decode(byte[] EM)
Separate the encoded message EM into an octet string
PS consisting of nonzero octets and a message M
as: |
byte[] |
encode(byte[] M)
Generates an octet string PS of length k - mLen -
3 consisting of pseudo-randomly generated nonzero octets. |
byte[] |
encode(byte[] M,
gnu.java.security.prng.IRandom irnd)
Similar to encode(byte[]) 55 method, except that the source of
randomness to use for obtaining the padding bytes (an instance of
gnu.java.security.prng.IRandom) is given as a parameter. |
byte[] |
encode(byte[] M,
java.util.Random rnd)
Similar to the encode(byte[], IRandom) 55 method, except that
the source of randmoness is an instance of java.util.Random. |
static EME_PKCS1_V1_5 |
getInstance(int k)
|
static EME_PKCS1_V1_5 |
getInstance(java.security.interfaces.RSAKey key)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
k
private int k
baos
private java.io.ByteArrayOutputStream baos
prng
private gnu.java.security.util.PRNG prng
- Our default source of randomness.
Constructor Detail |
EME_PKCS1_V1_5
private EME_PKCS1_V1_5(int k)
Method Detail |
getInstance
public static final EME_PKCS1_V1_5 getInstance(int k)
getInstance
public static final EME_PKCS1_V1_5 getInstance(java.security.interfaces.RSAKey key)
encode
public byte[] encode(byte[] M)
Generates an octet string
PS
of lengthk - mLen - 3
consisting of pseudo-randomly generated nonzero octets. The length ofPS
will be at least eight octets.The method then concatenates
PS
, the messageM
, and other padding to form an encoded messageEM
of lengthk
octets as:EM = 0x00 || 0x02 || PS || 0x00 || M.
This method uses a default PRNG to obtain the padding bytes.
encode
public byte[] encode(byte[] M, gnu.java.security.prng.IRandom irnd)
Similar to
encode(byte[])
55 method, except that the source of randomness to use for obtaining the padding bytes (an instance of gnu.java.security.prng.IRandom) is given as a parameter.
encode
public byte[] encode(byte[] M, java.util.Random rnd)
Similar to the
encode(byte[], IRandom)
55 method, except that the source of randmoness is an instance of java.util.Random.
decode
public byte[] decode(byte[] EM)
Separate the encoded message
EM
into an octet stringPS
consisting of nonzero octets and a messageM
as:EM = 0x00 || 0x02 || PS || 0x00 || M.
If the first octet of
EM
does not have hexadecimal value0x00
, if the second octet ofEM
does not have hexadecimal value0x02
, if there is no octet with hexadecimal value0x00
to separatePS
fromM
, or if the length ofPS
is less than8
octets, output "decryption error" and stop.
assembleEM
private byte[] assembleEM(byte[] PS, byte[] M)
|
|||||||||
Home >> All >> gnu >> java >> security >> sig >> [ rsa overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |