1 What’s the PSA Crypto Solution?
The Platform Security Architecture (PSA) Crypto Solution provides a software implementation of the PSA Cryptography API for PIC32CM SG microcontrollers, built on the TF-PSA-Crypto library (Mbed TLS standalone). Cryptographic operations are executed by TF-PSA-Crypto in the device CPU.
The PSA Cryptography API functionality available to applications through this solution includes:
- Library initialization and deinitialization
- Hash (one-shot and multi-part)
- MAC (one-shot and multi-part, sign/verify)
- Cipher (one-shot and multi-part, symmetric encryption/decryption)
- AEAD (one-shot and multi-part authenticated encryption)
- Asymmetric signature (message and hash sign/verify)
- Asymmetric encryption (public-key encryption/decryption)
- Key agreement (raw key agreement and key agreement to derivation)
- Key derivation (with multiple input types)
- Volatile key management (import, export, generate, copy, destroy)
- Cryptographic random number generation
The solution provides four pre-defined configuration profiles based on common cryptographic algorithm sets and target device resource constraints:
| Profile | Description |
|---|---|
| Small | Most widely used algorithms for resource-constrained devices with limited Flash and RAM |
| Medium | Commonly used algorithms suitable for general-purpose applications |
| Large | Broad set of algorithms for devices with moderate resources |
| Full | All supported algorithms for maximum compatibility and development flexibility |
User-defined custom configuration profiles are also supported for applications that require a selective set of cryptographic capabilities.
The solution is delivered in two distribution package formats:
- Pre-built Library package: Configuration headers for all four profiles, public API headers, pre-built static libraries (.a) for each profile and a user guide
- Source Code package: Configuration headers for all four profiles, public API headers, complete source code, build tooling and a user guide
