Class OAEPParameterSpec

  • All Implemented Interfaces:
    AlgorithmParameterSpec

    public class OAEPParameterSpec
    extends java.lang.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:
    MGF1ParameterSpec, PSource
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static OAEPParameterSpec DEFAULT
      Deprecated.
      This field uses the default values defined in the PKCS #1 standard.
    • Constructor Summary

      Constructors 
      Constructor Description
      OAEPParameterSpec​(java.lang.String mdName, java.lang.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.
    • Field Detail

      • DEFAULT

        @Deprecated
        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 Detail

      • OAEPParameterSpec

        public OAEPParameterSpec​(java.lang.String mdName,
                                 java.lang.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:
        java.lang.NullPointerException - if mdName, mgfName, or pSrc is null
    • Method Detail

      • getDigestAlgorithm

        public java.lang.String getDigestAlgorithm()
        Returns the message digest algorithm name.
        Returns:
        the message digest algorithm name.
      • getMGFAlgorithm

        public java.lang.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.