Defined constants and Types for the STM32F4xx Crypto Coprocessor
More...
Defined constants and Types for the STM32F4xx Crypto Coprocessor
- Version
- 1.0.0
- Date
- 22 Jun 2013
LGPL License Terms libopencm3 License
- Warning
- The CRYP subsystem is present only in a limited set of devices, see next section for list of supported devices.
Supported devices
- STM32F205
- STM32F207
- STM32F215
- STM32F217
- STM32F405
- STM32F407
- STM32F415
- STM32F417 (tested)
- STM32F427
- STM32F437
Theory of operation
Basic handling API
Example 1: Blocking mode
foreach(block in blocks)
void crypto_set_algorithm(enum crypto_mode mode)
Set the algorithm for Encryption/decryption.
void crypto_set_iv(uint64_t iv[])
Set Initialization Vector.
void crypto_start(void)
Enable the cryptographic controller and start processing.
uint32_t crypto_process_block(uint32_t *inp, uint32_t *outp, uint32_t length)
Start of encryption or decryption on data buffers.
void crypto_set_key(enum crypto_keysize keysize, uint64_t key[])
Set key value to the controller.
void crypto_stop(void)
Disable the cryptographic controller and stop processing.
void crypto_set_datatype(enum crypto_datatype datatype)
Set the order of the data to be crypted.
Interrupt supported handling API
- Warning
- This operation mode is currently not supported.
Example 2: Interrupt mode
[... API to be described later ...]
DMA handling API
- Warning
- This operation mode is currently not supported.
Example 3: DMA mode
[... API to be described later ...]