<!--
{
  "availability" : [
    "iOS: 10.0.0 -",
    "iPadOS: 10.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.12.0 -",
    "tvOS: 10.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Security",
  "identifier" : "/documentation/Security/SecKeyAlgorithm",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Security"
    ],
    "preciseIdentifier" : "c:@T@SecKeyAlgorithm"
  },
  "title" : "SecKeyAlgorithm"
}
-->

# SecKeyAlgorithm

The algorithms that cryptographic keys enable.

```
struct SecKeyAlgorithm
```

## Topics

### Elliptic curve encryption standard X963

[`eciesEncryptionStandardX963SHA1AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionStandardX963SHA1AESGCM)

[`eciesEncryptionStandardX963SHA224AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionStandardX963SHA224AESGCM)

[`eciesEncryptionStandardX963SHA256AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionStandardX963SHA256AESGCM)

[`eciesEncryptionStandardX963SHA384AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionStandardX963SHA384AESGCM)

[`eciesEncryptionStandardX963SHA512AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionStandardX963SHA512AESGCM)

### Elliptic curve encryption standard variable IVX963

[`eciesEncryptionStandardVariableIVX963SHA224AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionStandardVariableIVX963SHA224AESGCM)

[`eciesEncryptionStandardVariableIVX963SHA256AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionStandardVariableIVX963SHA256AESGCM)

[`eciesEncryptionStandardVariableIVX963SHA384AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionStandardVariableIVX963SHA384AESGCM)

[`eciesEncryptionStandardVariableIVX963SHA512AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionStandardVariableIVX963SHA512AESGCM)

### Elliptic curve encryption cofactor variable IVX963

[`eciesEncryptionCofactorVariableIVX963SHA224AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionCofactorVariableIVX963SHA224AESGCM)

[`eciesEncryptionCofactorVariableIVX963SHA256AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionCofactorVariableIVX963SHA256AESGCM)

[`eciesEncryptionCofactorVariableIVX963SHA384AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionCofactorVariableIVX963SHA384AESGCM)

[`eciesEncryptionCofactorVariableIVX963SHA512AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionCofactorVariableIVX963SHA512AESGCM)

### Elliptic curve encryption cofactor X963

[`eciesEncryptionCofactorX963SHA1AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionCofactorX963SHA1AESGCM)

[`eciesEncryptionCofactorX963SHA224AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionCofactorX963SHA224AESGCM)

[`eciesEncryptionCofactorX963SHA256AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionCofactorX963SHA256AESGCM)

[`eciesEncryptionCofactorX963SHA384AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionCofactorX963SHA384AESGCM)

[`eciesEncryptionCofactorX963SHA512AESGCM`](/documentation/Security/SecKeyAlgorithm/eciesEncryptionCofactorX963SHA512AESGCM)

### Elliptic curve signature RFC4754

[`ecdsaSignatureRFC4754`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureRFC4754)

### Elliptic curve signature digest RFC4754

[`ecdsaSignatureDigestRFC4754`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestRFC4754)

An algorithm for generating message digest signatures.

[`ecdsaSignatureDigestRFC4754SHA1`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestRFC4754SHA1)

An algorithm for generating signatures of SHA1 message digests.

[`ecdsaSignatureDigestRFC4754SHA224`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestRFC4754SHA224)

An algorithm for generating signatures of SHA224 message digests.

[`ecdsaSignatureDigestRFC4754SHA256`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestRFC4754SHA256)

An algorithm for generating signatures of SHA256 message digests.

[`ecdsaSignatureDigestRFC4754SHA384`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestRFC4754SHA384)

An algorithm for generating signatures of SHA384 message digests.

[`ecdsaSignatureDigestRFC4754SHA512`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestRFC4754SHA512)

An algorithm for generating signatures of SHA512 message digests.

### Elliptic curve signature message RFC4754

[`ecdsaSignatureMessageRFC4754SHA1`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageRFC4754SHA1)

An algorithm for generating message signatures by calculating and signing the SHA1 message digest.

[`ecdsaSignatureMessageRFC4754SHA224`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageRFC4754SHA224)

An algorithm for generating message signatures by calculating and signing the SHA224 message digest.

[`ecdsaSignatureMessageRFC4754SHA256`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageRFC4754SHA256)

An algorithm for generating message signatures by calculating and signing the SHA256 message digest.

[`ecdsaSignatureMessageRFC4754SHA384`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageRFC4754SHA384)

An algorithm for generating message signatures by calculating and signing the SHA384 message digest.

[`ecdsaSignatureMessageRFC4754SHA512`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageRFC4754SHA512)

An algorithm for generating message signatures by calculating and signing the SHA512 message digest.

### Elliptic curve signature digest X962

[`ecdsaSignatureDigestX962`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestX962)

[`ecdsaSignatureDigestX962SHA1`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestX962SHA1)

[`ecdsaSignatureDigestX962SHA224`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestX962SHA224)

[`ecdsaSignatureDigestX962SHA256`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestX962SHA256)

[`ecdsaSignatureDigestX962SHA384`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestX962SHA384)

[`ecdsaSignatureDigestX962SHA512`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureDigestX962SHA512)

### Elliptic curve signature message X962

[`ecdsaSignatureMessageX962SHA1`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageX962SHA1)

[`ecdsaSignatureMessageX962SHA224`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageX962SHA224)

[`ecdsaSignatureMessageX962SHA256`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageX962SHA256)

[`ecdsaSignatureMessageX962SHA384`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageX962SHA384)

[`ecdsaSignatureMessageX962SHA512`](/documentation/Security/SecKeyAlgorithm/ecdsaSignatureMessageX962SHA512)

### Elliptic curve key exchange

[`ecdhKeyExchangeCofactor`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeCofactor)

[`ecdhKeyExchangeStandard`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeStandard)

[`ecdhKeyExchangeCofactorX963SHA1`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeCofactorX963SHA1)

[`ecdhKeyExchangeStandardX963SHA1`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeStandardX963SHA1)

[`ecdhKeyExchangeCofactorX963SHA224`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeCofactorX963SHA224)

[`ecdhKeyExchangeCofactorX963SHA256`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeCofactorX963SHA256)

[`ecdhKeyExchangeCofactorX963SHA384`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeCofactorX963SHA384)

[`ecdhKeyExchangeCofactorX963SHA512`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeCofactorX963SHA512)

[`ecdhKeyExchangeStandardX963SHA224`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeStandardX963SHA224)

[`ecdhKeyExchangeStandardX963SHA256`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeStandardX963SHA256)

[`ecdhKeyExchangeStandardX963SHA384`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeStandardX963SHA384)

[`ecdhKeyExchangeStandardX963SHA512`](/documentation/Security/SecKeyAlgorithm/ecdhKeyExchangeStandardX963SHA512)

### RSA encryption

[`rsaEncryptionRaw`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionRaw)

[`rsaEncryptionPKCS1`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionPKCS1)

### RSA encryption OAEP

[`rsaEncryptionOAEPSHA1`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA1)

[`rsaEncryptionOAEPSHA224`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA224)

[`rsaEncryptionOAEPSHA256`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA256)

[`rsaEncryptionOAEPSHA384`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA384)

[`rsaEncryptionOAEPSHA512`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA512)

### RSA encryption OAEP AESGCM

[`rsaEncryptionOAEPSHA1AESGCM`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA1AESGCM)

[`rsaEncryptionOAEPSHA224AESGCM`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA224AESGCM)

[`rsaEncryptionOAEPSHA256AESGCM`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA256AESGCM)

[`rsaEncryptionOAEPSHA384AESGCM`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA384AESGCM)

[`rsaEncryptionOAEPSHA512AESGCM`](/documentation/Security/SecKeyAlgorithm/rsaEncryptionOAEPSHA512AESGCM)

### RSA signature raw

[`rsaSignatureRaw`](/documentation/Security/SecKeyAlgorithm/rsaSignatureRaw)

### RSA signature digest PKCS1v15

[`rsaSignatureDigestPKCS1v15Raw`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPKCS1v15Raw)

[`rsaSignatureDigestPKCS1v15SHA1`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPKCS1v15SHA1)

[`rsaSignatureDigestPKCS1v15SHA224`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPKCS1v15SHA224)

[`rsaSignatureDigestPKCS1v15SHA256`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPKCS1v15SHA256)

[`rsaSignatureDigestPKCS1v15SHA384`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPKCS1v15SHA384)

[`rsaSignatureDigestPKCS1v15SHA512`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPKCS1v15SHA512)

### RSA signature message PKCS1v15

[`rsaSignatureMessagePKCS1v15SHA1`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePKCS1v15SHA1)

[`rsaSignatureMessagePKCS1v15SHA224`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePKCS1v15SHA224)

[`rsaSignatureMessagePKCS1v15SHA256`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePKCS1v15SHA256)

[`rsaSignatureMessagePKCS1v15SHA384`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePKCS1v15SHA384)

[`rsaSignatureMessagePKCS1v15SHA512`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePKCS1v15SHA512)

### RSA signature digest PSS

[`rsaSignatureDigestPSSSHA1`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPSSSHA1)

[`rsaSignatureDigestPSSSHA224`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPSSSHA224)

[`rsaSignatureDigestPSSSHA256`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPSSSHA256)

[`rsaSignatureDigestPSSSHA384`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPSSSHA384)

[`rsaSignatureDigestPSSSHA512`](/documentation/Security/SecKeyAlgorithm/rsaSignatureDigestPSSSHA512)

### RSA signature message PSS

[`rsaSignatureMessagePSSSHA1`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePSSSHA1)

[`rsaSignatureMessagePSSSHA224`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePSSSHA224)

[`rsaSignatureMessagePSSSHA256`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePSSSHA256)

[`rsaSignatureMessagePSSSHA384`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePSSSHA384)

[`rsaSignatureMessagePSSSHA512`](/documentation/Security/SecKeyAlgorithm/rsaSignatureMessagePSSSHA512)



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)