The CC1312R device comes with a wide set of modern cryptography-related hardware accelerators, drastically reducing code footprint and execution time for cryptographic operations. It also has the benefit of being lower power and improves availability and responsiveness of the system because the cryptography operations runs in a background hardware thread.
Together with a large selection of open-source cryptography libraries provided with the Software Development Kit (SDK), this allows for secure and future proof IoT applications to be easily built on top of the platform. The hardware accelerator modules are:
- True Random Number Generator (TRNG) module provides a true, nondeterministic noise source for the purpose of generating keys, initialization vectors (IVs), and other random number requirements. The TRNG is built on 24 ring oscillators that create unpredictable output to feed a complex nonlinear-combinatorial circuit.
- Secure Hash Algorithm 2 (SHA-2) with support for SHA224, SHA256, SHA384, and SHA512
- Advanced Encryption Standard (AES) with 128 and 256 bit key lengths
- Public Key Accelerator - Hardware accelerator supporting mathematical operations needed for elliptic curves up to 512 bits and RSA key pair generation up to 1024 bits.
Through use of these modules and the TI provided cryptography drivers, the following capabilities are available for an application or stack:
- Key Agreement Schemes
- Elliptic curve Diffie–Hellman with static or ephemeral keys (ECDH and ECDHE)
- Elliptic curve Password Authenticated Key Exchange by Juggling (ECJ-PAKE)
- Signature Generation
- Elliptic curve Diffie-Hellman Digital Signature Algorithm (ECDSA)
- Curve Support
- Short Weierstrass form (full hardware support), such as:
- NIST-P224, NIST-P256, NIST-P384, NIST-P521
- Brainpool-256R1, Brainpool-384R1, Brainpool-512R1
- Montgomery form (hardware support for multiplication), such as:
- SHA2 based MACs
- HMAC with SHA224, SHA256, SHA384, or SHA512
- Block cipher mode of operation
- True random number generation
Other capabilities, such as RSA encryption and signatures as well as Edwards type of elliptic curves such as Curve1174 or Ed25519, can also be implemented using the provided hardware accelerators but are not part of the TI SimpleLink SDK for the CC1312R device.