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

Not answered CMSIS Driver - USART issue 0 votes 12 views 0 replies Started 5 hours ago by Alex Shenfield Answer this
Suggested answer Keil MDK5 HTTP server - form input names
  • Keil MDK
  • server
  • mbed Web IDE
  • html5
0 votes 345 views 2 replies Latest 8 hours ago by Franc Urbanc Answer this
Answered Importing CPP libs to CubeMX project
  • C++
  • stm32cubemx
  • Keil
  • STM32 F1
  • Compilers
  • STM32
  • Arm Compiler 5
0 votes 607 views 3 replies Latest 8 hours ago by Geraldine_d Answer this
Suggested answer Debug problem of FM4-S6E2CC-ETH 0 votes 225 views 1 replies Latest 9 hours ago by fixxxer Answer this
Suggested answer CORTEX-A8 0 votes 232 views 1 replies Latest 9 hours ago by fixxxer Answer this
Suggested answer How to change baud rate using UART during run time?
  • Real Time Operating Systems (RTOS)
  • Keil MDK Professional Edition
0 votes 290 views 2 replies Latest 10 hours ago by Robert McNamara Answer this
Not answered CMSIS Driver - USART issue Started 5 hours ago by Alex Shenfield 0 replies 12 views
Suggested answer Keil MDK5 HTTP server - form input names Latest 8 hours ago by Franc Urbanc 2 replies 345 views
Answered Importing CPP libs to CubeMX project Latest 8 hours ago by Geraldine_d 3 replies 607 views
Suggested answer Debug problem of FM4-S6E2CC-ETH Latest 9 hours ago by fixxxer 1 replies 225 views
Suggested answer CORTEX-A8 Latest 9 hours ago by fixxxer 1 replies 232 views
Suggested answer How to change baud rate using UART during run time? Latest 10 hours ago by Robert McNamara 2 replies 290 views