nrf_oberon crypto library

The nrf_oberon library contains a collection of cryptographic algorithms created by Oberon Microsystems, licensed to Nordic Semiconductor ASA for redistribution. The library provides highly optimized software for Nordic Semiconductor SoCs based on Cortex-M0, Cortex-M4, and Cortex-M33 architectures.

Supported cryptographic algorithms

  • AES CTR, EAX, GCM

  • ChaCha20-Poly1035

  • ECDH using curve NIST secp256r1

  • ECDSA sign and verify using curve NIST secp256r1

  • Ed25519

  • HKDF using SHA-256 and SHA-512

  • HMAC using SHA-256 and SHA-512

  • RSA PKCS#1 v1.5 and v2.1 (1024, 2048 bits)

  • SHA-256

  • SHA-512

  • SRP

  • SRTP

Initializing the library

The library does not require any initialization before the APIs can be used, although some APIs require calling specific initialization functions before use.

Mbed TLS integration

Starting from version 3.0.5, the nrf_oberon library contains a companion library that provides Mbed TLS integration for select features. This must be used with the Nordic Security Module.

Supported features

The supported features for the Mbed TLS companion library are:

  • AES (all ciphers, all key sizes)

  • AES CCM

  • CMAC

  • ECDSA (secp224r1 and secp256r1 only)

  • ECDH (secp224r1 and secp256r1 only)

  • ECJPAKE (secp224r1 and secp256r1 only)

  • SHA-1

  • SHA-256

PSA driver integration

Starting from version 3.0.9, the nrf_oberon library contains a companion library that provides PSA driver integration for select features. This must be used with the Nordic Security Module.

Supported features

The supported features for the PSA driver companion library are:

  • AES CTR/CBC/ECB/CCM/GCM (all key sizes)

  • ChaCha20 and Poly1305 (256 bit keys)

  • ECDSA (secp224r1 and secp256r1 only)

  • ECDH (secp224r1 and secp256r1 only)

  • SHA-1

  • SHA-224

  • SHA-256

  • SHA-512

nrf_oberon crypto library API

nrf_oberon crypto library