# AlgorithmParameterSpec

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# AlgorithmParameterSpec

```
interface AlgorithmParameterSpec
```

|----------------------------------------------------------------------------------------------------------------------------------------|
| [java.security.spec.AlgorithmParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/AlgorithmParameterSpec#) |

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known Direct Subclasses [ChaCha20ParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/ChaCha20ParameterSpec.html#),[DHGenParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/DHGenParameterSpec.html#),[DHParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/DHParameterSpec.html#),[DSAGenParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/DSAGenParameterSpec),[DSAParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/DSAParameterSpec),[ECGenParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/ECGenParameterSpec),[ECParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/ECParameterSpec),[EdDSAParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/EdDSAParameterSpec),[GCMParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/GCMParameterSpec.html#),[IvParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/IvParameterSpec.html#),[KeyGenParameterSpec](https://developer.android.com/reference/kotlin/android/security/keystore/KeyGenParameterSpec.html#),[KeyPairGeneratorSpec](https://developer.android.com/reference/kotlin/android/security/KeyPairGeneratorSpec.html#), and 8 others. |---------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [ChaCha20ParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/ChaCha20ParameterSpec.html#)     | This class specifies the parameters used with the[*ChaCha20*](https://tools.ietf.org/html/rfc7539)algorithm.                                                                                                                                                                                                                                                                                                                                  | | [DHGenParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/DHGenParameterSpec.html#)           | This class specifies the set of parameters used for generating Diffie-Hellman (system) parameters for use in Diffie-Hellman key agreement.                                                                                                                                                                                                                                                                                                    | | [DHParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/DHParameterSpec.html#)                 | This class specifies the set of parameters used with the Diffie-Hellman algorithm, as specified in PKCS #3:*Diffie-Hellman Key-Agreement Standard*.                                                                                                                                                                                                                                                                                           | | [DSAGenParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/DSAGenParameterSpec)              | This immutable class specifies the set of parameters used for generating DSA parameters as specified in[FIPS 186-3 Digital Signature Standard (DSS)](http://csrc.nist.gov/publications/fips/fips186-3/fips_186-3.pdf).                                                                                                                                                                                                                        | | [DSAParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/DSAParameterSpec)                    | This class specifies the set of parameters used with the DSA algorithm.                                                                                                                                                                                                                                                                                                                                                                       | | [ECGenParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/ECGenParameterSpec)                | This immutable class specifies the set of parameters used for generating elliptic curve (EC) domain parameters.                                                                                                                                                                                                                                                                                                                               | | [ECParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/ECParameterSpec)                      | This immutable class specifies the set of domain parameters used with elliptic curve cryptography (ECC).                                                                                                                                                                                                                                                                                                                                      | | [EdDSAParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/EdDSAParameterSpec)                | A class used to specify EdDSA signature and verification parameters.                                                                                                                                                                                                                                                                                                                                                                          | | [GCMParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/GCMParameterSpec.html#)               | Specifies the set of parameters required by a using the Galois/Counter Mode (GCM) mode.                                                                                                                                                                                                                                                                                                                                                       | | [IvParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/IvParameterSpec.html#)                 | This class specifies an*initialization vector*(IV).                                                                                                                                                                                                                                                                                                                                                                                           | | [KeyGenParameterSpec](https://developer.android.com/reference/kotlin/android/security/keystore/KeyGenParameterSpec.html#) | [AlgorithmParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/AlgorithmParameterSpec#)for initializing a[KeyPairGenerator](https://developer.android.com/reference/kotlin/java/security/KeyPairGenerator.html#)or a[KeyGenerator](https://developer.android.com/reference/kotlin/javax/crypto/KeyGenerator.html#)of the[Android Keystore system](https://developer.android.com/training/articles/keystore.html). | | [KeyPairGeneratorSpec](https://developer.android.com/reference/kotlin/android/security/KeyPairGeneratorSpec.html#)        | This provides the required parameters needed for initializing the`KeyPairGenerator`that works with[Android KeyStore facility](https://developer.android.com/training/articles/keystore.html).                                                                                                                                                                                                                                                 | | [MGF1ParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/MGF1ParameterSpec)                  | This class specifies the set of parameters used with mask generation function MGF1 in OAEP Padding and RSASSA-PSS signature scheme, as defined in the[PKCS#1 v2.2](https://tools.ietf.org/rfc/rfc8017.txt)standard.                                                                                                                                                                                                                           | | [NamedParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/NamedParameterSpec)                | This class is used to specify any algorithm parameters that are determined by a standard name.                                                                                                                                                                                                                                                                                                                                                | | [OAEPParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/OAEPParameterSpec.html#)             | This class specifies the set of parameters used with OAEP Padding, as defined in the[PKCS #1](http://www.ietf.org/rfc/rfc3447.txt)standard.                                                                                                                                                                                                                                                                                                   | | [PBEParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/PBEParameterSpec.html#)               | This class specifies the set of parameters used with password-based encryption (PBE), as defined in the[PKCS #5](http://www.ietf.org/rfc/rfc2898.txt)standard.                                                                                                                                                                                                                                                                                | | [PSSParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/PSSParameterSpec)                    | This class specifies a parameter spec for RSASSA-PSS signature scheme, as defined in the[PKCS#1 v2.2](https://tools.ietf.org/rfc/rfc8017.txt)standard.                                                                                                                                                                                                                                                                                        | | [RC2ParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/RC2ParameterSpec.html#)               | This class specifies the parameters used with the[*RC2*](http://www.ietf.org/rfc/rfc2268.txt)algorithm.                                                                                                                                                                                                                                                                                                                                       | | [RC5ParameterSpec](https://developer.android.com/reference/kotlin/javax/crypto/spec/RC5ParameterSpec.html#)               | This class specifies the parameters used with the[*RC5*](http://www.ietf.org/rfc/rfc2040.txt)algorithm.                                                                                                                                                                                                                                                                                                                                       | | [RSAKeyGenParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/RSAKeyGenParameterSpec)        | This class specifies the set of parameters used to generate an RSA key pair.                                                                                                                                                                                                                                                                                                                                                                  | |

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known Indirect Subclasses [ECGenParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/ECGenParameterSpec) |------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------| | [ECGenParameterSpec](https://developer.android.com/reference/kotlin/java/security/spec/ECGenParameterSpec) | This immutable class specifies the set of parameters used for generating elliptic curve (EC) domain parameters. | |

A (transparent) specification of cryptographic parameters.

This interface contains no methods or constants. Its only purpose is to group (and provide type safety for) all parameter specifications. All parameter specifications must implement this interface.

## Summary