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.