Class OAEPParameterSpec

java.lang.Object
javax.crypto.spec.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))
 
Since:
1.5
See Also:
  • Field Details

    • DEFAULT

      @Deprecated(since="19") public static final OAEPParameterSpec DEFAULT
      Deprecated.
      This field uses the default values defined in the PKCS #1 standard. Some of these defaults are no longer recommended due to advances in cryptanalysis -- see Appendix B.1 of PKCS #1 for more details. Thus, it is recommended to create a new OAEPParameterSpec with the desired parameter values using the OAEPParameterSpec(String, String, AlgorithmParameterSpec, PSource) constructor.
      The OAEP parameter set with all default values, i.e. "SHA-1" as message digest algorithm, "MGF1" as mask generation function (mgf) algorithm, MGF1ParameterSpec.SHA1 as parameters for the mask generation function, and PSource.PSpecified.DEFAULT as the source of the encoding input.
  • Constructor Details

    • 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 Details

    • 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.