nRF5 SDK v17.1.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_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_INTERRUPTS_ENABLED
 Enable Interrupts while support using CC310 bl. 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_ECC_CURVE25519_ENABLED
 Enable the Curve25519 curve support using CC310. More...
 
#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED
 Enable the Ed25519 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_CC310_INTERRUPTS_ENABLED
 Enable Interrupts while 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_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_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...
 
#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED
 Enable the nrf_crypto Optiga Trust X backend. More...
 
#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED
 Optiga backend support for RNG. More...
 
#define NRF_CRYPTO_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED
 Optiga backend support for ECC secp256r1. More...
 
#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED
 Big-endian byte order in raw Curve25519 data. 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, the user has to create 'nrf_crypto_allocator.h' file that contains 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_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_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_BL_INTERRUPTS_ENABLED

Enable Interrupts while support using CC310 bl.

Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used

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_CURVE25519_ENABLED

Enable the Curve25519 curve support using CC310.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_CC310_ECC_ED25519_ENABLED

Enable the Ed25519 curve support 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_INTERRUPTS_ENABLED

Enable Interrupts while support using CC310.

Select a library version compatible with the configuration. When interrupts are disable, a version named _noint must be used

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_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_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_BACKEND_OPTIGA_ECC_SECP256R1_ENABLED

Optiga backend support for ECC secp256r1.

The Optiga backend provide external chip ECC using secp256r1.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OPTIGA_ENABLED

Enable the nrf_crypto Optiga Trust X backend.

Enables the nrf_crypto backend for Optiga Trust X devices.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_BACKEND_OPTIGA_RNG_ENABLED

Optiga backend support for RNG.

The Optiga backend provide external chip RNG.

Set to 1 to activate.

Note
This is an NRF_CONFIG macro.
#define NRF_CRYPTO_CURVE25519_BIG_ENDIAN_ENABLED

Big-endian byte order in raw Curve25519 data.

Enable big-endian byte order in Curve25519 API, if set to 1. Use little-endian, if set to 0.

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