Normal World and Secure World using TrustZone Diagram.

Getting Started

The Arm CryptoCell-300 family of embedded security solutions is aimed at high efficiency systems with emphasis on small footprint and low power consumption. The CryptoCell-300 family offers platform security services as well as a rich set of cryptographic services, targeting multiple threats. These services are needed across various Internet of Things (IoT) domains such as home automation, factory automation, smart energy, industrial IoT and other areas where there is potential usage of an Arm Cortex-M processor. 

The CryptoCell-300 family uses a modular approach which consists of control and scheduling, data interfaces, cryptography and various security resources to enable the right level of security and PPA trade-offs for a particular threat model.

CryptoCell complements TrustZone for Armv8-M and together these solutions form a Trusted Execution Environment (TEE). This helps reduce the attack surface and isolate sensitive assets and processes from potentially malicious application code.


Key Features

The CryptoCell-300 family provides these key features to owners of assets on the platform (chip vendors, device makers and more):

  • Brand-name and IP protection through enforcement of code authentication and code confidentiality – the IP allows an image owner to deliver the code to the target device – in the field or on the manufacturing floor - signed and encrypted. That code owner can be a chip vendor, a device maker, or other entities in the ecosystem. The model allows chip vendors and other entities to rely on different roots of trust, without having to share them.

  • Authenticated debug, allowing authorization of ecosystem partners for specific capabilities – the IP allows cryptographic enforcement of a debug policy that takes into account the state of the device (e.g. manufacturing and deployment status) and the specific grants the entity attempting to debug has received from an authorized entity (e.g. the OEM behind the device). The IP allows fine granularity of debug control, as well as separated authorization path for different owners of assets in the device.

  • Secure provisioning of code and data, allowing different entities to send assets to the device in a manner preserving the integrity and confidentiality over untrusted communication means.

  • Hardware based management of roots-of-trust, enforcing different access control policies based on the state of the device (e.g. manufacturing and deployment status).

  • Efficient implementation of a rich set of cryptographic services such as:

    • Symmetric ciphers like AES and chacha20 (operational in multiple modes).

    • Hashing functions like SHA1, SHA256 and keyed-hash message authentication code (HMAC) based on these hash functions.

    • Asymmetric cryptographic schemes like RSA and various schemes based Elliptic Curve Cryptography.

    • Random number generation based on a true source of entropy.

The support for some of these modes is optional and allows the integrator to trade off area footprint with performance.

CryptoCell-312 is also available with enhancements which help protect against side-channel attacks (CryptoCell-312P)

Want to know more about Security on Arm?

Learn more

Free on-demand training webinar about Arm CryptoCell

Simplifying the design of secure IoT systems

Get support

Arm support

Arm training courses and on-site system-design advisory services enable licensees to realize maximum system performance with lowest risk and fastest time-to-market.

Arm training courses  Open a support case

Community Blogs

Community Forums

Answered Where do I find presentations and photos from SC'18? 1 votes 804 views 0 replies Started 4 months ago by John Linford Answer this
Suggested answer Count Main TLB miss
  • Cortex-A9
  • performance analysis
0 votes 29 views 1 replies Latest 22 hours ago by Vanhealsing Answer this
Answered is there a x86 linux distribution for cross compilation for Raspberry Pi?
  • Raspberry Pi
  • Cross compiling
  • x86
  • Linux
0 votes 307 views 3 replies Latest 23 hours ago by Przemyslaw Wirkus Answer this
Suggested answer Startup file uvision v5.26
  • STM32F4DISCOVERY
  • Keil
  • uVision
0 votes 119 views 2 replies Latest yesterday by ctarakci Answer this
Suggested answer in debug mode, won't enter main()
  • Keil
  • uVision
  • Debugging
0 votes 95 views 1 replies Latest yesterday by ctarakci Answer this
Suggested answer Hi, I need RVCT V3.1 569 Any idea how / where can I get it?
  • Arm Compiler
  • Compilers
0 votes 56 views 1 replies Latest yesterday by Ronan Synnott Answer this
Answered Where do I find presentations and photos from SC'18? Started 4 months ago by John Linford 0 replies 804 views
Suggested answer Count Main TLB miss Latest 22 hours ago by Vanhealsing 1 replies 29 views
Answered is there a x86 linux distribution for cross compilation for Raspberry Pi? Latest 23 hours ago by Przemyslaw Wirkus 3 replies 307 views
Suggested answer Startup file uvision v5.26 Latest yesterday by ctarakci 2 replies 119 views
Suggested answer in debug mode, won't enter main() Latest yesterday by ctarakci 1 replies 95 views
Suggested answer Hi, I need RVCT V3.1 569 Any idea how / where can I get it? Latest yesterday by Ronan Synnott 1 replies 56 views