nRF5 SDK v15.0.0
Macros
Cryptography library configuration

Macros

#define NRF_CRYPTO_ENABLED
 Cryptography module for nRF5 SDK. More...
 
#define NRF_CRYPTO_ALLOCATOR
 Memory allocator. More...
 
#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED
 Enable the ARM Cryptocell CC310 reduced backend. More...
 
#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED
 Enable the secp224r1 elliptic curve support using CC310_BL. More...
 
#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED
 Enable the secp256r1 elliptic curve support using CC310_BL. More...
 
#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED
 CC310_BL SHA-256 hash functionality. More...
 
#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_LITTLE_ENDIAN_DIGEST_ENABLED
 nrf_cc310_bl hash outputs digests in little endian More...
 
#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED
 nrf_cc310_bl buffers to RAM before running hash operation More...
 
#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE
 nrf_cc310_bl hash outputs digests in little endian More...
 
#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_LITTLE_ENDIAN_ENABLED
 Enable non-standard little endian byte order in nrf_cc310_bl ECC functions. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ENABLED
 Enable the ARM Cryptocell CC310 backend. More...
 
#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED
 Enable the AES CBC mode using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED
 Enable the AES CTR mode using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED
 Enable the AES ECB mode using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED
 Enable the AES CBC_MAC mode using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED
 Enable the AES CMAC mode using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED
 Enable the AES CCM mode using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED
 Enable the AES CCM* mode using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED
 Enable the CHACHA-POLY mode using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED
 Enable the secp160r1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED
 Enable the secp160r2 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED
 Enable the secp192r1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED
 Enable the secp224r1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED
 Enable the secp256r1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED
 Enable the secp384r1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED
 Enable the secp521r1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED
 Enable the secp160k1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED
 Enable the secp192k1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED
 Enable the secp224k1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED
 Enable the secp256k1 elliptic curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED
 CC310 SHA-256 hash functionality. More...
 
#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED
 CC310 SHA-512 hash functionality. More...
 
#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED
 CC310 HMAC using SHA-256. More...
 
#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED
 CC310 HMAC using SHA-512. More...
 
#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED
 Enable RNG support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED
 Enable the Cifra backend. More...
 
#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED
 Enable the AES EAX mode using Cifra. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED
 Enable the mbed TLS backend. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED
 Enable the AES CBC mode mbed TLS. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED
 Enable the AES CTR mode using mbed TLS. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED
 Enable the AES CFB mode using mbed TLS. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED
 Enable the AES ECB mode using mbed TLS. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED
 Enable the AES CBC MAC mode using mbed TLS. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED
 Enable the AES CMAC mode using mbed TLS. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED
 Enable the AES CCM mode using mbed TLS. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED
 Enable the AES GCM mode using mbed TLS. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED
 Enable secp192r1 (NIST 192-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED
 Enable secp224r1 (NIST 224-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED
 Enable secp256r1 (NIST 256-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED
 Enable secp384r1 (NIST 384-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED
 Enable secp521r1 (NIST 521-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED
 Enable secp192k1 (Koblitz 192-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED
 Enable secp224k1 (Koblitz 224-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED
 Enable secp256k1 (Koblitz 256-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED
 Enable bp256r1 (Brainpool 256-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED
 Enable bp384r1 (Brainpool 384-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED
 Enable bp512r1 (Brainpool 512-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED
 Enable Curve25519 curve. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED
 Enable mbed TLS SHA-256 hash functionality. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED
 Enable mbed TLS SHA-512 hash functionality. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED
 Enable mbed TLS HMAC using SHA-256. More...
 
#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED
 Enable mbed TLS HMAC using SHA-512. More...
 
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED
 Enable the micro-ecc backend. More...
 
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED
 Enable secp192r1 (NIST 192-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED
 Enable secp224r1 (NIST 224-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED
 Enable secp256r1 (NIST 256-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED
 Enable secp256k1 (Koblitz 256-bit) curve. More...
 
#define NRF_CRYPTO_BACKEND_MICRO_ECC_PUBLIC_KEY_TRUSTED_ENABLED
 Always trust raw public key (it will cause a security issue if the public key comes from an untrusted source) More...
 
#define NRF_CRYPTO_BACKEND_MICRO_ECC_LITTLE_ENDIAN_ENABLED
 Enable non-standard little endian byte order. More...
 
#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED
 Enable the nRF HW RNG backend. More...
 
#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED
 Enable mbed TLS CTR-DRBG algorithm. More...
 
#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED
 Enable the legacy nRFx sw for crypto. More...
 
#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED
 nRF SW hash backend support for SHA-256 More...
 
#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_LITTLE_ENDIAN_DIGEST_ENABLED
 nRF SW hash outputs digests in little endian More...
 
#define NRF_CRYPTO_BACKEND_OBERON_ENABLED
 Enable the Oberon backend. More...
 
#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED
 Enable the CHACHA-POLY mode using Oberon. More...
 
#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED
 Enable secp256r1 curve. More...
 
#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED
 Enable Curve25519 ECDH. More...
 
#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED
 Enable Ed25519 signature scheme. More...
 
#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED
 Oberon SHA-256 hash functionality. More...
 
#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED
 Oberon SHA-512 hash functionality. More...
 
#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED
 Oberon HMAC using SHA-256. More...
 
#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED
 Oberon HMAC using SHA-512. More...
 

Detailed Description

Macro Definition Documentation

#define NRF_CRYPTO_ALLOCATOR

Memory allocator.

Choose memory allocator used by nrf_crypto. Default is alloca if possible or nrf_malloc otherwise. If 'User macros' are selected then user have to create 'nrf_crypto_allocator.h' file containing NRF_CRYPTO_ALLOC, NRF_CRYPTO_FREE and NRF_CRYPTO_ALLOC_ON_STACK

Following options are available:

  • 0 - Default
  • 1 - User macros
  • 2 - On stack (alloca)
  • 3 - C dynamic memory (malloc)
  • 4 - SDK Memory Manager (nrf_malloc)
Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_ENABLED

Enable the AES CBC mode using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_AES_CBC_MAC_ENABLED

Enable the AES CBC_MAC mode using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_ENABLED

Enable the AES CCM mode using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_AES_CCM_STAR_ENABLED

Enable the AES CCM* mode using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_AES_CMAC_ENABLED

Enable the AES CMAC mode using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_AES_CTR_ENABLED

Enable the AES CTR mode using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_AES_ECB_ENABLED

Enable the AES ECB mode using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_LITTLE_ENDIAN_ENABLED

Enable non-standard little endian byte order in nrf_cc310_bl ECC functions.

This affects parameters for all nrf_cc310_bl ECC APIs (raw keys, signature, digest). Only for use in nRF SDK DFU!

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP224R1_ENABLED

Enable the secp224r1 elliptic curve support using CC310_BL.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_BL_ECC_SECP256R1_ENABLED

Enable the secp256r1 elliptic curve support using CC310_BL.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_BL_ENABLED

Enable the ARM Cryptocell CC310 reduced backend.

The CC310 hardware-accelerated cryptography backend with reduced functionality and footprint (only available on nRF52840).

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_ENABLED

nrf_cc310_bl buffers to RAM before running hash operation

Enabling this makes hashing of addresses in FLASH range possible. Size of buffer allocated for hashing is set by NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_AUTOMATIC_RAM_BUFFER_SIZE

nrf_cc310_bl hash outputs digests in little endian

Makes the nrf_cc310_bl hash functions output digests in little endian format. Only for use in nRF SDK DFU!

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_LITTLE_ENDIAN_DIGEST_ENABLED

nrf_cc310_bl hash outputs digests in little endian

Makes the nRF SH hash functions output digests in little endian format. Only for use in nRF SDK DFU!

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_BL_HASH_SHA256_ENABLED

CC310_BL SHA-256 hash functionality.

CC310_BL backend implementation for hardware-accelerated SHA-256.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_CHACHA_POLY_ENABLED

Enable the CHACHA-POLY mode using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160K1_ENABLED

Enable the secp160k1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R1_ENABLED

Enable the secp160r1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP160R2_ENABLED

Enable the secp160r2 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192K1_ENABLED

Enable the secp192k1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP192R1_ENABLED

Enable the secp192r1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224K1_ENABLED

Enable the secp224k1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP224R1_ENABLED

Enable the secp224r1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256K1_ENABLED

Enable the secp256k1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED

Enable the secp256r1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP384R1_ENABLED

Enable the secp384r1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_SECP521R1_ENABLED

Enable the secp521r1 elliptic curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ENABLED

Enable the ARM Cryptocell CC310 backend.

The CC310 hardware-accelerated cryptography backend (only available on nRF52840).

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA256_ENABLED

CC310 SHA-256 hash functionality.

CC310 backend implementation for hardware-accelerated SHA-256.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_HASH_SHA512_ENABLED

CC310 SHA-512 hash functionality.

CC310 backend implementation for SHA-512 (in software).

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA256_ENABLED

CC310 HMAC using SHA-256.

CC310 backend implementation for HMAC using hardware-accelerated SHA-256.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_HMAC_SHA512_ENABLED

CC310 HMAC using SHA-512.

CC310 backend implementation for HMAC using SHA-512 (in software).

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED

Enable RNG support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CIFRA_AES_EAX_ENABLED

Enable the AES EAX mode using Cifra.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CIFRA_ENABLED

Enable the Cifra backend.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_ENABLED

Enable the AES CBC mode mbed TLS.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CBC_MAC_ENABLED

Enable the AES CBC MAC mode using mbed TLS.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CCM_ENABLED

Enable the AES CCM mode using mbed TLS.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CFB_ENABLED

Enable the AES CFB mode using mbed TLS.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CMAC_ENABLED

Enable the AES CMAC mode using mbed TLS.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_CTR_ENABLED

Enable the AES CTR mode using mbed TLS.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_ECB_ENABLED

Enable the AES ECB mode using mbed TLS.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_AES_GCM_ENABLED

Enable the AES GCM mode using mbed TLS.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP256R1_ENABLED

Enable bp256r1 (Brainpool 256-bit) curve.

Enable this setting if you need bp256r1 (Brainpool 256-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP384R1_ENABLED

Enable bp384r1 (Brainpool 384-bit) curve.

Enable this setting if you need bp384r1 (Brainpool 384-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_BP512R1_ENABLED

Enable bp512r1 (Brainpool 512-bit) curve.

Enable this setting if you need bp512r1 (Brainpool 512-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_CURVE25519_ENABLED

Enable Curve25519 curve.

Enable this setting if you need Curve25519 support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192K1_ENABLED

Enable secp192k1 (Koblitz 192-bit) curve.

Enable this setting if you need secp192k1 (Koblitz 192-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP192R1_ENABLED

Enable secp192r1 (NIST 192-bit) curve.

Enable this setting if you need secp192r1 (NIST 192-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224K1_ENABLED

Enable secp224k1 (Koblitz 224-bit) curve.

Enable this setting if you need secp224k1 (Koblitz 224-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP224R1_ENABLED

Enable secp224r1 (NIST 224-bit) curve.

Enable this setting if you need secp224r1 (NIST 224-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256K1_ENABLED

Enable secp256k1 (Koblitz 256-bit) curve.

Enable this setting if you need secp256k1 (Koblitz 256-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP256R1_ENABLED

Enable secp256r1 (NIST 256-bit) curve.

Enable this setting if you need secp256r1 (NIST 256-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP384R1_ENABLED

Enable secp384r1 (NIST 384-bit) curve.

Enable this setting if you need secp384r1 (NIST 384-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ECC_SECP521R1_ENABLED

Enable secp521r1 (NIST 521-bit) curve.

Enable this setting if you need secp521r1 (NIST 521-bit) support using MBEDTLS

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_ENABLED

Enable the mbed TLS backend.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA256_ENABLED

Enable mbed TLS SHA-256 hash functionality.

mbed TLS backend implementation for SHA-256.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_HASH_SHA512_ENABLED

Enable mbed TLS SHA-512 hash functionality.

mbed TLS backend implementation for SHA-512.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA256_ENABLED

Enable mbed TLS HMAC using SHA-256.

mbed TLS backend implementation for HMAC using SHA-256.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MBEDTLS_HMAC_SHA512_ENABLED

Enable mbed TLS HMAC using SHA-512.

mbed TLS backend implementation for HMAC using SHA-512.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP192R1_ENABLED

Enable secp192r1 (NIST 192-bit) curve.

Enable this setting if you need secp192r1 (NIST 192-bit) support using micro-ecc

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP224R1_ENABLED

Enable secp224r1 (NIST 224-bit) curve.

Enable this setting if you need secp224r1 (NIST 224-bit) support using micro-ecc

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256K1_ENABLED

Enable secp256k1 (Koblitz 256-bit) curve.

Enable this setting if you need secp256k1 (Koblitz 256-bit) support using micro-ecc

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ECC_SECP256R1_ENABLED

Enable secp256r1 (NIST 256-bit) curve.

Enable this setting if you need secp256r1 (NIST 256-bit) support using micro-ecc

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED

Enable the micro-ecc backend.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MICRO_ECC_LITTLE_ENDIAN_ENABLED

Enable non-standard little endian byte order.

This affects parameters for all ECC API (raw keys, signature, digest, shared secret). Only for use in nRF SDK DFU!

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_MICRO_ECC_PUBLIC_KEY_TRUSTED_ENABLED

Always trust raw public key (it will cause a security issue if the public key comes from an untrusted source)

Enable this setting if you want to reduce flash usage. Only for use in nRF SDK DFU! Never enable it if the raw public key comes from an untrusted source.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_ENABLED

Enable the nRF HW RNG backend.

The nRF HW backend provide access to RNG peripheral in nRF5x devices.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_NRF_HW_RNG_MBEDTLS_CTR_DRBG_ENABLED

Enable mbed TLS CTR-DRBG algorithm.

Enable mbed TLS CTR-DRBG standardized by NIST (NIST SP 800-90A Rev. 1). The nRF HW RNG is used as an entropy source for seeding.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_NRF_SW_ENABLED

Enable the legacy nRFx sw for crypto.

The nRF SW cryptography backend (only used in bootloader context).

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_LITTLE_ENDIAN_DIGEST_ENABLED

nRF SW hash outputs digests in little endian

Makes the nRF SH hash functions output digests in little endian format. Only for use in nRF SDK DFU!

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_NRF_SW_HASH_SHA256_ENABLED

nRF SW hash backend support for SHA-256

The nRF SW backend provide access to nRF SDK legacy hash implementation of SHA-256.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OBERON_CHACHA_POLY_ENABLED

Enable the CHACHA-POLY mode using Oberon.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OBERON_ECC_CURVE25519_ENABLED

Enable Curve25519 ECDH.

Enable this setting if you need Curve25519 ECDH support using Oberon library

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OBERON_ECC_ED25519_ENABLED

Enable Ed25519 signature scheme.

Enable this setting if you need Ed25519 support using Oberon library

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OBERON_ECC_SECP256R1_ENABLED

Enable secp256r1 curve.

Enable this setting if you need secp256r1 curve support using Oberon library

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OBERON_ENABLED

Enable the Oberon backend.

The Oberon backend

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA256_ENABLED

Oberon SHA-256 hash functionality.

Oberon backend implementation for SHA-256.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OBERON_HASH_SHA512_ENABLED

Oberon SHA-512 hash functionality.

Oberon backend implementation for SHA-512.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA256_ENABLED

Oberon HMAC using SHA-256.

Oberon backend implementation for HMAC using SHA-256.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OBERON_HMAC_SHA512_ENABLED

Oberon HMAC using SHA-512.

Oberon backend implementation for HMAC using SHA-512.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_ENABLED

Cryptography module for nRF5 SDK.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.

Documentation feedback | Developer Zone | Subscribe | Updated