Overview ¶
Description ¶
The STM32 Cryptographic Library is a middleware pack from STMicroelectronics that provides a comprehensive suite of cryptographic algorithms optimized for all STM32 series microcontrollers. The library integrates seamlessly with the STM32Cube architecture and supports a wide range of security applications in embedded systems.
STCryptoLib overall Architecture: ¶
he STM32 Cryptographic Library pack follows the STM32Cube architecture.
Main Features ¶
Precompiled Libraries: Includes a wide range of cryptographic algorithms, implemented in firmware and ready to use across all STM32 series.
Configuration file: Easily configurable via one file, allowing users to select desired parameters and tailor the library to their application needs.
Broad STM32 Support: Optimized for STM32 devices based on Cortex-M0/M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33, and Cortex-M85 cores.
EABI Compatibility: Cryptographic libraries are compatible with GCC, ARM, and IAR EWARM compilers.
Supported Algorithms:
Cipher Algorithms: - AES (modes: CBC, CCM, CFB, CTR, ECB, GCM, OFB, XTS) - SM4 (modes: CBC, CFB, CTR, ECB, OFB) - ChaCha20
Hash Methods: - SHA-1, SHA-2, SHA-3, MD5, SM3, SHAKE
Message Authentication Codes: - HMAC, AES CMAC, KMAC (SHAKE)
Asymmetric Cryptography: - ECDSA, EdDSA, SM2, ECDH, RSA (v2.2)
Random Number Generation: - Secure random number generator for cryptographic use
Certification and Validation:
ACVP (Automated Cryptographic Validation Protocol): NIST validates all cryptographic algorithms and their components for each Cortex-M architecture, covering both the fastest and the smallest implementations.
Validation reports are available on the NIST portal for version v4.0.0.Build1. libSTM32Cryptographic_CM0_CM0PLUS.a Smallest implementation and Fastest Implementation libSTM32Cryptographic_CM3.a Smallest implementation and Fastest Implementation libSTM32Cryptographic_CM4.a Smallest implementation and Fastest Implementation libSTM32Cryptographic_CM7.a Smallest implementation and Fastest Implementation libSTM32Cryptographic_CM33.a Smallest implementation and Fastest Implementation
For more details refer to: