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 Forums

Answered Where do I find presentations and photos from SC'18? 2 votes 1638 views 0 replies Started 11 months ago by John Linford Answer this
Suggested answer Error: Flash Download failed - Target DLL has been cancelled 0 votes 49 views 1 replies Latest 6 hours ago by R.Kopsch Answer this
Not answered Handshaking for the write data channel 0 votes 14 views 0 replies Started 6 hours ago by Ravi V. Answer this
Suggested answer gicv3 aarch32 icc_hsre 0 votes 8404 views 12 replies Latest 7 hours ago by 42Bastian Schick Answer this
Not answered In Stm32f4 i am using USART1. in USAT1_rx how to configure the gpio pin? 0 votes 32 views 0 replies Started 8 hours ago by SrihariReddy Answer this
Answered what can I get from cortex M0 design start pro?Whether I can get the RTL describle of Cortex M0(not obfuscated RTL) 0 votes 344 views 4 replies Latest 10 hours ago by qinwenjian Answer this
Answered Where do I find presentations and photos from SC'18? Started 11 months ago by John Linford 0 replies 1638 views
Suggested answer Error: Flash Download failed - Target DLL has been cancelled Latest 6 hours ago by R.Kopsch 1 replies 49 views
Not answered Handshaking for the write data channel Started 6 hours ago by Ravi V. 0 replies 14 views
Suggested answer gicv3 aarch32 icc_hsre Latest 7 hours ago by 42Bastian Schick 12 replies 8404 views
Not answered In Stm32f4 i am using USART1. in USAT1_rx how to configure the gpio pin? Started 8 hours ago by SrihariReddy 0 replies 32 views
Answered what can I get from cortex M0 design start pro?Whether I can get the RTL describle of Cortex M0(not obfuscated RTL) Latest 10 hours ago by qinwenjian 4 replies 344 views