Arm TrustZone Technology

Arm TrustZone technology offers an efficient, system-wide approach to security with hardware-enforced isolation built into the CPU. It provides the perfect starting point for establishing a device root of trust based on PSA guidelines.

The family of TrustZone technologies can be integrated into any Arm Cortex-A processor or processor based on the Armv7-A and Armv8-A architecture, and Cortex-M processors built on the Armv8-M architecture.

Start designing now

Arm Flexible Access gives you quick and easy access to this IP, relevant tools and models, and valuable support. You can evaluate and design solutions before committing to production, and only pay when you’re ready to manufacture.

TrustZone Random Number Generator Chip.

TrustZone Random Number Generator

The use of unpredictable random numbers underpins most modern security schemes, enabling generation and collection of a truly random bit stream from digital logic. A Random Number Generator (RNG) is a mandatory component in any system that generates cryptographic assets.

A standard RNG includes 2 components:

  • True Random Number Generator (TRNG) – a hardware component that generates unpredictable numbers based on a physical process.
  • Deterministic Random Bit Generator (DRBG) – an algorithm capable of producing vast amounts of number sequences after being seeded by the TRNG.

The Arm TrustZone RNG, which is designed for simple SoC integration, offers these two components:

  • A TRNG with built-in hardware tests for auto correlation and Continuous Random Number Generation Testing (CRNGT) that conforms to the following standards and drafts:
    • NIST SP800-90B
    • NIST SP800-22
    • FIPS 140-2, Security Requirements for Cryptographic Modules
    • BSI AIS-31, Functionality Classes and Evaluation Methodology for True Random Number Generators
  • Optionally, a software-implemented DRBG which follows NIST SP800-90A, which make the entire RNG flow SP800-90C compliant.

The TRNG core includes the following key features:

  • 10K bits/second of entropy when the core is running at 200MHz
  • An internal entropy source that is based on a chain of digital inverters
    • Odd number of inverters, leading to continuous oscillation while active
    • Inverter cells that are taken from a standard cells library
  • AMBA APB2 slave interface

TrustZone Full Disk Encryption Chip.

TrustZone Full Disk Encryption

The Arm TrustZone Full Disk Encryption (FDE) product family includes several single or multi-core, high performance Advanced Encryption Standard (AES) engines, designed to support the need to encrypt all user data saved on the latest generation of solid-state storage devices (UFS, eMMC).

The products in the Arm TrustZone FDE family offer optimized implementations of AES modes of operations “designed for storage”, for example, XTS, CBC-ESSIV and CBC-BitLocker.


TrustZone Address Space Controllers Chip.

TrustZone Address Space Controllers

TrustZone Address Space Controllers extend on-chip security by partitioning external memory in to secure and non-secure regions. The Arm CoreLink TZC-400 TrustZone Address Space Controller protects multiple regions of external memory against software attack, with a fast path to hide look up latency and Arm AMBA 4 ACE-Lite and AXI4 support. For on-chip memory, internal SRAM, TrustZone controllers, perform signature checks and ensure secure boot.

Learn more about TZC-400 TrustZone Address Space Controller.

Get support


Community forums

Suggested answer STM32, Keil + first steps in astrology?
  • Microcontroller (MCU)
0 votes 234 views 3 replies Latest 8 hours ago by Andy Neil Answer this
Not answered Creating an Assembly project in DS IDE 2020 1 votes 35 views 0 replies Started 14 hours ago by Brittany_ruth Answer this
Suggested answer Can't download code to address 0 on STM32F091RC using uVision 0 votes 82 views 1 replies Latest yesterday by Andy Neil Answer this
Answered osMutexWait() function before the RTX osKernelInitialize() 0 votes 292 views 9 replies Latest yesterday by Andy Neil Answer this
Answered Code jumps to cxsync1 in vectors.S?
  • Arm Development Studio
0 votes 424 views 2 replies Latest yesterday by DanijelDomazet Answer this
Not answered Help to develop GUI personal from command line BlueNRG-2 and STLINK-V3 0 votes 59 views 0 replies Started yesterday by Pathros Answer this
Suggested answer STM32, Keil + first steps in astrology? Latest 8 hours ago by Andy Neil 3 replies 234 views
Not answered Creating an Assembly project in DS IDE 2020 Started 14 hours ago by Brittany_ruth 0 replies 35 views
Suggested answer Can't download code to address 0 on STM32F091RC using uVision Latest yesterday by Andy Neil 1 replies 82 views
Answered osMutexWait() function before the RTX osKernelInitialize() Latest yesterday by Andy Neil 9 replies 292 views
Answered Code jumps to cxsync1 in vectors.S? Latest yesterday by DanijelDomazet 2 replies 424 views
Not answered Help to develop GUI personal from command line BlueNRG-2 and STLINK-V3 Started yesterday by Pathros 0 replies 59 views