This page describes the algorithms supported by Fortanix Self-Defending Key Management Service (KMS).
For more information on Self-Defending KMS cryptographic policies, refer to User's Guide: Cryptographic Policy.
Crypto | Primitive Type | Algorithm | Mode/Method | Key Size/Curve | Use |
---|---|---|---|---|---|
Symmetric | Block cipher | AES | ECB, CBC, CBC (no padding), CFB, CTR, GCM, CCM, OFB, KW, KWP, FF1, CMAC | 128, 192, or 256 bits | Data Encryption/Decryption, Key, Wrapping/Unwrapping, MAC, Key Generation, and Key Derivation |
DES | ECB, CBC, CBC (no padding) | 56 bits | |||
3DES | ECB, CBC, CBC (no padding) | 112, 168 bits | |||
Cryptographic hash functions | SHA-1 | SHA-1 | HMAC key length: between 112 and 8192 bits | Message Digest, MAC, Key Generation | |
SHA-2 | SHA-224, SHA-256, SHA-384, SHA-512 | ||||
RIPEMD | RIPEMD-160 | ||||
SHA-3 | SHA3-224, SHA3-256, SHA3-384, SHA3-512 | Message Digest and Key Generation | |||
Asymmetric | Finite field | DSA | standard¹, deterministic signatures (RFC 6979)² | Between 1024 and 8192 bits³ | Digital Signature sign/verify and Key Generation |
Elliptic Curve | ECDSA | NIST P-192, NIST P-224, NIST P-256, NIST P-384, NIST P-521, SecP192K1, SecP224K1, SecP256K1 | |||
EdDSA | standard⁴, prehash⁴ | Ed25519 | |||
ECDH | NIST P-192, NIST P-224, NIST P-256, NIST P-384, NIST P-521, SecP192K1, SecP224K1, SecP256K1, X.25519, X.448 | Key Exchange and Key Generation | |||
RSA | RSA |
PKCS#1 v1.5⁵, OAEP⁶, PSS⁶ |
Between 1024 and 8192 bits | Data Encryption/Decryption, Key wrap/unwrap, Digital Signature sign/verify, and Key Generation | |
Hash-based signature | LMS |
|
SHA-256 M32 H5/H10/H15/H20/H25 | Digital Signature sign/verify and Key Generation |
¹ - With hash algorithms: SHA-1, RIPEMD-160, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-224, SHA3-256, SHA3-384, SHA3-512, Blake2b* (256, 384, 512), Blake2s-256*
² - With hash algorithms: SHA-1, RIPEMD-160, SHA-224, SHA-256, SHA-384, SHA-512
³ - Imported keys can use any parameters. The key generation will use the following specific parameters:
- 2048/224 and 2048/256: [RFC 5114]
- 3072/256: [NIST example parameters]
⁴ - With hash algorithms: SHA-512
⁵ - With hash algorithms (sign/verify): SHA-1, RIPEMD-160, SHA-224, SHA-256, SHA-384, SHA-512, SSL3*
⁶ - Supported mask generation functions: MGF1 with SHA-1, RIPEMD-160, SHA-224, SHA-256, SHA-384, SHA-512
*: Hash algorithms not listed as a supported “Cryptographic hash function” on this page can only be used in signature generation/verification with prehashed data.