Oberon PSA Crypto

Oberon PSA Crypto is a C library that implements Arm's PSA Crypto API. Arm has designed this API standard as part of its overarching Platform Security Architecture (PSA).

Standard application interface - The PSA Crypto API is the crypto API standard for application code on embedded systems. It reduces the cost of writing portable application code:

  • Move your application code between hardware platforms, without rewriting crypto code.
  • Use any protocol stack that supports the API standard, without integration project.


Standard driver interface - In addition to the high-level application interface, Arm has designed a low-level crypto driver interface. It reduces the cost of maintaining entire product lines with diverse crypto hardware capabilities:

  • Easily optimize cryptography support for your chips, by providing drivers for your crypto hardware accelerators where available.
  • Always provide maximum performance with minimal footprint, through the best mix of hardware and software drivers, no matter what hardware platform is targeted.
  • Use the best software cryptography for functions that your hardware cannot accelerate. Oberon PSA Crypto provides high-performance crypto software drivers that come preconfigured.


Easy to configure - Configuration is done through the setting of a few simple C #define directives - no hassles with the integration of yet more tools into your build system.

Lean - Its tiny memory footprint makes Oberon PSA Crypto practical even on microcontrollers with as little as 8 KB of RAM and 64 KB of flash.

Fast - Oberon PSA Crypto is practical even on a 24 MHz Arm Cortex-M0 core without hardware acceleration. First measurements indicate that the overhead from supporting the PSA Crypto APIs is less than 5%.

Resistant - Oberon PSA Crypto has been designed with side-channel resistance in mind from the start. To achieve this goal, it uses our constant-time, PC-secure and table-free cryptographic code in the crypto software drivers.