| ChibiOS/HAL
    6.1.0
    | 
PLATFORM cryptographic subsystem low level driver header. More...
Go to the source code of this file.
| Data Structures | |
| struct | CRYConfig | 
| Driver configuration structure.  More... | |
| struct | CRYDriver | 
| Structure representing an CRY driver.  More... | |
| struct | SHA1Context | 
| Type of a SHA1 context.  More... | |
| struct | SHA256Context | 
| Type of a SHA256 context.  More... | |
| struct | SHA512Context | 
| Type of a SHA512 context.  More... | |
| Macros | |
| Driver capability switches | |
| #define | CRY_LLD_SUPPORTS_AES TRUE | 
| #define | CRY_LLD_SUPPORTS_AES_ECB TRUE | 
| #define | CRY_LLD_SUPPORTS_AES_CBC TRUE | 
| #define | CRY_LLD_SUPPORTS_AES_CFB TRUE | 
| #define | CRY_LLD_SUPPORTS_AES_CTR TRUE | 
| #define | CRY_LLD_SUPPORTS_AES_GCM TRUE | 
| #define | CRY_LLD_SUPPORTS_DES TRUE | 
| #define | CRY_LLD_SUPPORTS_DES_ECB TRUE | 
| #define | CRY_LLD_SUPPORTS_DES_CBC TRUE | 
| #define | CRY_LLD_SUPPORTS_SHA1 TRUE | 
| #define | CRY_LLD_SUPPORTS_SHA256 TRUE | 
| #define | CRY_LLD_SUPPORTS_SHA512 TRUE | 
| #define | CRY_LLD_SUPPORTS_TRNG TRUE | 
| PLATFORM configuration options | |
| #define | PLATFORM_CRY_USE_CRY1 FALSE | 
| CRY1 driver enable switch.  More... | |
| Typedefs | |
| typedef uint32_t | crykey_t | 
| CRY key identifier type.  More... | |
| typedef struct CRYDriver | CRYDriver | 
| Type of a structure representing an CRY driver.  More... | |
| Functions | |
| void | cry_lld_init (void) | 
| Low level crypto driver initialization.  More... | |
| void | cry_lld_start (CRYDriver *cryp) | 
| Configures and activates the crypto peripheral.  More... | |
| void | cry_lld_stop (CRYDriver *cryp) | 
| Deactivates the crypto peripheral.  More... | |
| cryerror_t | cry_lld_loadkey (CRYDriver *cryp, cryalgorithm_t algorithm, size_t size, const uint8_t *keyp) | 
| Initializes the transient key for a specific algorithm.  More... | |
| cryerror_t | cry_lld_encrypt_AES (CRYDriver *cryp, crykey_t key_id, const uint8_t *in, uint8_t *out) | 
| Encryption of a single block using AES.  More... | |
| cryerror_t | cry_lld_decrypt_AES (CRYDriver *cryp, crykey_t key_id, const uint8_t *in, uint8_t *out) | 
| Decryption of a single block using AES.  More... | |
| cryerror_t | cry_lld_encrypt_AES_ECB (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out) | 
| Encryption operation using AES-ECB.  More... | |
| cryerror_t | cry_lld_decrypt_AES_ECB (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out) | 
| Decryption operation using AES-ECB.  More... | |
| cryerror_t | cry_lld_encrypt_AES_CBC (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv) | 
| Encryption operation using AES-CBC.  More... | |
| cryerror_t | cry_lld_decrypt_AES_CBC (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv) | 
| Decryption operation using AES-CBC.  More... | |
| cryerror_t | cry_lld_encrypt_AES_CFB (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv) | 
| Encryption operation using AES-CFB.  More... | |
| cryerror_t | cry_lld_decrypt_AES_CFB (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv) | 
| Decryption operation using AES-CFB.  More... | |
| cryerror_t | cry_lld_encrypt_AES_CTR (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv) | 
| Encryption operation using AES-CTR.  More... | |
| cryerror_t | cry_lld_decrypt_AES_CTR (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv) | 
| Decryption operation using AES-CTR.  More... | |
| cryerror_t | cry_lld_encrypt_AES_GCM (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv, size_t aadsize, const uint8_t *aad, uint8_t *authtag) | 
| Encryption operation using AES-GCM.  More... | |
| cryerror_t | cry_lld_decrypt_AES_GCM (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv, size_t aadsize, const uint8_t *aad, uint8_t *authtag) | 
| Decryption operation using AES-GCM.  More... | |
| cryerror_t | cry_lld_encrypt_DES (CRYDriver *cryp, crykey_t key_id, const uint8_t *in, uint8_t *out) | 
| Encryption of a single block using (T)DES.  More... | |
| cryerror_t | cry_lld_decrypt_DES (CRYDriver *cryp, crykey_t key_id, const uint8_t *in, uint8_t *out) | 
| Decryption of a single block using (T)DES.  More... | |
| cryerror_t | cry_lld_encrypt_DES_ECB (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out) | 
| Encryption operation using (T)DES-ECB.  More... | |
| cryerror_t | cry_lld_decrypt_DES_ECB (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out) | 
| Decryption operation using (T)DES-ECB.  More... | |
| cryerror_t | cry_lld_encrypt_DES_CBC (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv) | 
| Encryption operation using (T)DES-CBC.  More... | |
| cryerror_t | cry_lld_decrypt_DES_CBC (CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out, const uint8_t *iv) | 
| Decryption operation using (T)DES-CBC.  More... | |
| cryerror_t | cry_lld_SHA1_init (CRYDriver *cryp, SHA1Context *sha1ctxp) | 
| Hash initialization using SHA1.  More... | |
| cryerror_t | cry_lld_SHA1_update (CRYDriver *cryp, SHA1Context *sha1ctxp, size_t size, const uint8_t *in) | 
| Hash update using SHA1.  More... | |
| cryerror_t | cry_lld_SHA1_final (CRYDriver *cryp, SHA1Context *sha1ctxp, uint8_t *out) | 
| Hash finalization using SHA1.  More... | |
| cryerror_t | cry_lld_SHA256_init (CRYDriver *cryp, SHA256Context *sha256ctxp) | 
| Hash initialization using SHA256.  More... | |
| cryerror_t | cry_lld_SHA256_update (CRYDriver *cryp, SHA256Context *sha256ctxp, size_t size, const uint8_t *in) | 
| Hash update using SHA256.  More... | |
| cryerror_t | cry_lld_SHA256_final (CRYDriver *cryp, SHA256Context *sha256ctxp, uint8_t *out) | 
| Hash finalization using SHA256.  More... | |
| cryerror_t | cry_lld_SHA512_init (CRYDriver *cryp, SHA512Context *sha512ctxp) | 
| Hash initialization using SHA512.  More... | |
| cryerror_t | cry_lld_SHA512_update (CRYDriver *cryp, SHA512Context *sha512ctxp, size_t size, const uint8_t *in) | 
| Hash update using SHA512.  More... | |
| cryerror_t | cry_lld_SHA512_final (CRYDriver *cryp, SHA512Context *sha512ctxp, uint8_t *out) | 
| Hash finalization using SHA512.  More... | |
| cryerror_t | cry_lld_TRNG (CRYDriver *cryp, uint8_t *out) | 
| True random numbers generator.  More... | |
PLATFORM cryptographic subsystem low level driver header.
Definition in file hal_crypto_lld.h.