Class OAEPParameterSpec

All Implemented Interfaces:
AlgorithmParameterSpec
public class OAEPParameterSpec
extends Object
implements AlgorithmParameterSpec

This class specifies the set of parameters used with OAEP Padding, as defined in the PKCS#1 v2.2 standard. Its ASN.1 definition in PKCS#1 standard is described below:

RSAES-OAEP-params ::= SEQUENCE {
   hashAlgorithm      [0] HashAlgorithm     DEFAULT sha1,
   maskGenAlgorithm   [1] MaskGenAlgorithm  DEFAULT mgf1SHA1,
   pSourceAlgorithm   [2] PSourceAlgorithm  DEFAULT pSpecifiedEmpty
 }
where
HashAlgorithm ::= AlgorithmIdentifier {
   {OAEP-PSSDigestAlgorithms}
 }
 MaskGenAlgorithm ::= AlgorithmIdentifier { {PKCS1MGFAlgorithms} }
 PSourceAlgorithm ::= AlgorithmIdentifier {
   {PKCS1PSourceAlgorithms}
 }

 OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
   { OID id-sha1       PARAMETERS NULL }|
   { OID id-sha224     PARAMETERS NULL }|
   { OID id-sha256     PARAMETERS NULL }|
   { OID id-sha384     PARAMETERS NULL }|
   { OID id-sha512     PARAMETERS NULL }|
   { OID id-sha512-224 PARAMETERS NULL }|
   { OID id-sha512-256 PARAMETERS NULL },
   ...  -- Allows for future expansion --
 }
 PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
   { OID id-mgf1 PARAMETERS HashAlgorithm },
   ...  -- Allows for future expansion --
 }
 PKCS1PSourceAlgorithms    ALGORITHM-IDENTIFIER ::= {
   { OID id-pSpecified PARAMETERS EncodingParameters },
   ...  -- Allows for future expansion --
 }
 EncodingParameters ::= OCTET STRING(SIZE(0..MAX))

Note: the OAEPParameterSpec.DEFAULT uses the following:

message digest  -- "SHA-1"
     mask generation function (mgf) -- "MGF1"
     parameters for mgf -- MGF1ParameterSpec.SHA1
     source of encoding input -- PSource.PSpecified.DEFAULT
Since:
1.5
See Also:
MGF1ParameterSpec, PSource

Field Summary

Fields
Modifier and Type Field Description
static OAEPParameterSpec DEFAULT

The OAEP parameter set with all default values.

Constructor Summary

Constructors
Constructor Description
OAEPParameterSpec​(String mdName, String mgfName, AlgorithmParameterSpec mgfSpec, PSource pSrc)

Constructs a parameter set for OAEP padding as defined in the PKCS #1 standard using the specified message digest algorithm mdName, mask generation function algorithm mgfName, parameters for the mask generation function mgfSpec, and source of the encoding input P pSrc.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
String getDigestAlgorithm()

Returns the message digest algorithm name.

String getMGFAlgorithm()

Returns the mask generation function algorithm name.

AlgorithmParameterSpec getMGFParameters()

Returns the parameters for the mask generation function.

PSource getPSource()

Returns the source of encoding input P.

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

DEFAULT

public static final OAEPParameterSpec DEFAULT

The OAEP parameter set with all default values.

Constructor Detail

OAEPParameterSpec

public OAEPParameterSpec​(String mdName,
                         String mgfName,
                         AlgorithmParameterSpec mgfSpec,
                         PSource pSrc)

Constructs a parameter set for OAEP padding as defined in the PKCS #1 standard using the specified message digest algorithm mdName, mask generation function algorithm mgfName, parameters for the mask generation function mgfSpec, and source of the encoding input P pSrc.

Parameters:
mdName - the algorithm name for the message digest.
mgfName - the algorithm name for the mask generation function.
mgfSpec - the parameters for the mask generation function. If null is specified, null will be returned by getMGFParameters().
pSrc - the source of the encoding input P.
Throws:
NullPointerException - if mdName, mgfName, or pSrc is null.

Method Detail

getDigestAlgorithm

public String getDigestAlgorithm()

Returns the message digest algorithm name.

Returns:
the message digest algorithm name.

getMGFAlgorithm

public String getMGFAlgorithm()

Returns the mask generation function algorithm name.

Returns:
the mask generation function algorithm name.

getMGFParameters

public AlgorithmParameterSpec getMGFParameters()

Returns the parameters for the mask generation function.

Returns:
the parameters for the mask generation function.

getPSource

public PSource getPSource()

Returns the source of encoding input P.

Returns:
the source of encoding input P.