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:
Algorithm | Allowed key length (in bytes) |
---|---|
MD2 | Not applicable |
MD4 | Not applicable |
MD5 | Not applicable |
SHA1 | Not applicable |
SHA224 | Not applicable |
SHA256 | Not applicable |
SHA384 | Not applicable |
SHA512 | Not applicable |
HMAC | Not 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-ECB | 24 |
TDEC-CBC | 24 |
ARC2-CBC | 1 < n < 128 |
ARC4 | 5 < n < 256 |
RC5-CBC | 5 < n < 255 |
AES-CMAC | { 16, 24, 32 } |
AES-XCBC | { 16, 24, 32 } |
POLY1305 | 32 |
CHACHA20 | 32 |
CHACHA20-POLY1305 AEAD | 32 |
HMAC-KDF | Not applicable |
BLOWFISH-CBC | 4 < n < 56 |
CTR-DRBG-AES | Not applicable |
DRBG-FIPS186 | Not applicable |
DH | Not applicable |
RSA | { 128, 256, 384, 512 } |
DSA | Not applicable |
ECC-P192 | Not applicable |
ECC-P224 | Not applicable |
ECC-P256 | Not applicable |
ECC-P384 | Not applicable |
ECC-P521 | Not applicable |
ECC-X25519 | Not applicable |
ECC-X448 | Not applicable |
ECC-ED25519 | Not applicable |
ECC-ED448 | Not applicable |