Before you begin

To better understand this documentation, review the following commonly used terms:

  • NanoCAP: An API layer that requests specific cryptographic operations to be executed by the underlying operator implementations. This API is agnostic to crypto implementations and does not include core crypto API dependencies or definitions.
  • Operator: A cryptographic algorithm implementation that follows a specific set of rules, which sup- ports an easy operator API integration with NanoCAP.

Supported algorithms

NanoCAP has a predefined set of supported algorithms and key lengths. When an operator is created, NanoCAP will verify the operator’s algorithm type.

  • If the algorithm is not on the supported list, then the operator creation process will fail.
  • When loading or generating keys, NanoCAP will verify compliance with the algorithm-specific key length restrictions.

Review the following table of supported algorithms and key length:

AlgorithmAllowed key length (in bytes)
MD2Not applicable
MD4Not applicable
MD5Not applicable
SHA1Not applicable
SHA224Not applicable
SHA256Not applicable
SHA384Not applicable
SHA512Not applicable
HMACNot applicable
AES-ECB{ 16, 24, 32 }
AES-CBC{ 16, 24, 32 }
AES-CFB{ 16, 24, 32 }
AES-OFB{ 16, 24, 32 }
AES-CTR{ 16, 24, 32 }
AES-GCM{ 16, 24, 32 }
AES-CCM{ 16, 24, 32 }
AES-XTS{ 32, 64 }
AES-EAX{ 16, 24, 32 }
TDES-ECB24
TDEC-CBC24
ARC2-CBC1 < n < 128
ARC45 < n < 256
RC5-CBC5 < n < 255
AES-CMAC{ 16, 24, 32 }
AES-XCBC{ 16, 24, 32 }
POLY130532
CHACHA2032
CHACHA20-POLY1305 AEAD32
HMAC-KDFNot applicable
BLOWFISH-CBC4 < n < 56
CTR-DRBG-AESNot applicable
DRBG-FIPS186Not applicable
DHNot applicable
RSA{ 128, 256, 384, 512 }
DSANot applicable
ECC-P192Not applicable
ECC-P224Not applicable
ECC-P256Not applicable
ECC-P384Not applicable
ECC-P521Not applicable
ECC-X25519Not applicable
ECC-X448Not applicable
ECC-ED25519Not applicable
ECC-ED448Not applicable