27 #if (HAL_USE_CRY == TRUE) || defined(__DOXYGEN__)    58 #if HAL_CRY_ENFORCE_FALLBACK == FALSE    74 #if defined(CRY_DRIVER_EXT_INIT_HOOK)    75   CRY_DRIVER_EXT_INIT_HOOK(cryp);
    96 #if HAL_CRY_ENFORCE_FALLBACK == FALSE   119 #if HAL_CRY_ENFORCE_FALLBACK == FALSE   146                                   const uint8_t *keyp) {
   151 #if CRY_LLD_SUPPORTS_AES == TRUE   153 #elif HAL_CRY_USE_FALLBACK == TRUE   154   return cry_fallback_aes_loadkey(cryp, size, keyp);
   192   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL));
   196 #if CRY_LLD_SUPPORTS_AES == TRUE   198 #elif HAL_CRY_USE_FALLBACK == TRUE   199   return cry_fallback_encrypt_AES(cryp, key_id, in, out);
   238   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL));
   242 #if CRY_LLD_SUPPORTS_AES == TRUE   244 #elif HAL_CRY_USE_FALLBACK == TRUE   245   return cry_fallback_decrypt_AES(cryp, key_id, in, out);
   288   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
   289                ((size & (
size_t)15) == (
size_t)0));
   293 #if CRY_LLD_SUPPORTS_AES_ECB == TRUE   295 #elif HAL_CRY_USE_FALLBACK == TRUE   296   return cry_fallback_encrypt_AES_ECB(cryp, key_id, size, in, out);
   340   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
   341                ((size & (
size_t)15) == (
size_t)0));
   345 #if CRY_LLD_SUPPORTS_AES_ECB == TRUE   347 #elif HAL_CRY_USE_FALLBACK == TRUE   348   return cry_fallback_decrypt_AES_ECB(cryp, key_id, size, in, out);
   394   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
   395                (iv != NULL) && ((size & (
size_t)15) == (
size_t)0));
   399 #if CRY_LLD_SUPPORTS_AES_CBC == TRUE   401 #elif HAL_CRY_USE_FALLBACK == TRUE   402   return cry_fallback_encrypt_AES_CBC(cryp, key_id, size, in, out, iv);
   449   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
   450                (iv != NULL) && ((size & (
size_t)15) == (
size_t)0));
   454 #if CRY_LLD_SUPPORTS_AES_CBC == TRUE   456 #elif HAL_CRY_USE_FALLBACK == TRUE   457   return cry_fallback_decrypt_AES_CBC(cryp, key_id, size, in, out, iv);
   504   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
   505                (iv != NULL) && ((size & (
size_t)15) == (
size_t)0));
   509 #if CRY_LLD_SUPPORTS_AES_CFB == TRUE   511 #elif HAL_CRY_USE_FALLBACK == TRUE   512   return cry_fallback_encrypt_AES_CFB(cryp, key_id, size, in, out, iv);
   559   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
   560                (iv != NULL) && ((size & (
size_t)15) == (
size_t)0));
   564 #if CRY_LLD_SUPPORTS_AES_CFB == TRUE   566 #elif HAL_CRY_USE_FALLBACK == TRUE   567   return cry_fallback_decrypt_AES_CFB(cryp, key_id, size, in, out, iv);
   615   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
   616                (iv != NULL) && ((size & (
size_t)15) == (
size_t)0));
   620 #if CRY_LLD_SUPPORTS_AES_CTR == TRUE   622 #elif HAL_CRY_USE_FALLBACK == TRUE   623   return cry_fallback_encrypt_AES_CTR(cryp, key_id, size, in, out, iv);
   671   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
   672                (iv != NULL) && ((size & (
size_t)15) == (
size_t)0));
   676 #if CRY_LLD_SUPPORTS_AES_CTR == TRUE   678 #elif HAL_CRY_USE_FALLBACK == TRUE   679   return cry_fallback_decrypt_AES_CTR(cryp, key_id, size, in, out, iv);
   727                              const uint8_t *auth_in,
   729                              const uint8_t *text_in,
   736                (text_size > (
size_t)0) &&
   737                ((text_size & (
size_t)15) == (
size_t)0) &&
   738                (text_in != NULL) && (text_out != NULL) && (iv != NULL) &&
   739                (tag_size >= (
size_t)1) && (tag_size <= (
size_t)16) &&
   744 #if CRY_LLD_SUPPORTS_AES_GCM== TRUE   746                                  text_size, text_in, text_out, iv,
   748 #elif HAL_CRY_USE_FALLBACK == TRUE   749   return cry_fallback_encrypt_AES_GCM(cryp, key_id, auth_size, auth_in,
   750                                       text_size, text_in, text_out, iv,
   804                              const uint8_t *auth_in,
   806                              const uint8_t *text_in,
   810                              const uint8_t *tag_in) {
   813                (text_size > (
size_t)0) &&
   814                ((text_size & (
size_t)15) == (
size_t)0) &&
   815                (text_in != NULL) && (text_out != NULL) && (iv != NULL) &&
   816                (tag_size >= (
size_t)1) && (tag_size <= (
size_t)16) &&
   821 #if CRY_LLD_SUPPORTS_AES_GCM== TRUE   823                                  text_size, text_in, text_out, iv,
   825 #elif HAL_CRY_USE_FALLBACK == TRUE   826   return cry_fallback_decrypt_AES_GCM(cryp, key_id, auth_size, auth_in,
   827                                       text_size, text_in, text_out, iv,
   863                                   const uint8_t *keyp) {
   868 #if CRY_LLD_SUPPORTS_DES == TRUE   870 #elif HAL_CRY_USE_FALLBACK == TRUE   871   return cry_fallback_des_loadkey(cryp, size, keyp);
   909   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL));
   913 #if CRY_LLD_SUPPORTS_DES == TRUE   915 #elif HAL_CRY_USE_FALLBACK == TRUE   916   return cry_fallback_encrypt_DES(cryp, key_id, in, out);
   956   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL));
   960 #if CRY_LLD_SUPPORTS_DES == TRUE   962 #elif HAL_CRY_USE_FALLBACK == TRUE   963   return cry_fallback_decrypt_DES(cryp, key_id, in, out);
  1006   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
  1007                ((size & (
size_t)7) == (
size_t)0));
  1011 #if CRY_LLD_SUPPORTS_DES_ECB == TRUE  1013 #elif HAL_CRY_USE_FALLBACK == TRUE  1014   return cry_fallback_encrypt_DES_ECB(cryp, key_id, size, in, out);
  1058   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
  1059                ((size & (
size_t)7) == (
size_t)0));
  1063 #if CRY_LLD_SUPPORTS_DES_ECB == TRUE  1065 #elif HAL_CRY_USE_FALLBACK == TRUE  1066   return cry_fallback_decrypt_DES_ECB(cryp, key_id, size, in, out);
  1110                              const uint8_t *iv) {
  1112   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
  1113                (iv != NULL) && ((size & (
size_t)7) == (
size_t)0));
  1117 #if CRY_LLD_SUPPORTS_DES_CBC == TRUE  1119 #elif HAL_CRY_USE_FALLBACK == TRUE  1120   return cry_fallback_encrypt_DES_CBC(cryp, key_id, size, in, out, iv);
  1165                              const uint8_t *iv) {
  1167   osalDbgCheck((cryp != NULL) && (in != NULL) && (out != NULL) &&
  1168                (iv != NULL) && ((size & (
size_t)7) == (
size_t)0));
  1172 #if CRY_LLD_SUPPORTS_DES_CBC == TRUE  1174 #elif HAL_CRY_USE_FALLBACK == TRUE  1175   return cry_fallback_decrypt_DES_CBC(cryp, key_id, size, in, out, iv);
  1209 #if CRY_LLD_SUPPORTS_SHA1 == TRUE  1211 #elif HAL_CRY_USE_FALLBACK == TRUE  1212   return cry_fallback_SHA1_init(cryp, sha1ctxp);
  1239                          size_t size, 
const uint8_t *
in) {
  1241   osalDbgCheck((cryp != NULL) && (sha1ctxp != NULL) && (in != NULL));
  1245 #if CRY_LLD_SUPPORTS_SHA1 == TRUE  1247 #elif HAL_CRY_USE_FALLBACK == TRUE  1248   return cry_fallback_SHA1_update(cryp, sha1ctxp, size, in);
  1277   osalDbgCheck((cryp != NULL) && (sha1ctxp != NULL) && (out != NULL));
  1281 #if CRY_LLD_SUPPORTS_SHA1 == TRUE  1283 #elif HAL_CRY_USE_FALLBACK == TRUE  1284   return cry_fallback_SHA1_final(cryp, sha1ctxp, out);
  1314 #if CRY_LLD_SUPPORTS_SHA256 == TRUE  1316 #elif HAL_CRY_USE_FALLBACK == TRUE  1317   return cry_fallback_SHA256_init(cryp, sha256ctxp);
  1343                            size_t size, 
const uint8_t *
in) {
  1345   osalDbgCheck((cryp != NULL) && (sha256ctxp != NULL) && (in != NULL));
  1349 #if CRY_LLD_SUPPORTS_SHA256 == TRUE  1351 #elif HAL_CRY_USE_FALLBACK == TRUE  1352   return cry_fallback_SHA256_update(cryp, sha256ctxp, size, in);
  1381   osalDbgCheck((cryp != NULL) && (sha256ctxp != NULL) && (out != NULL));
  1385 #if CRY_LLD_SUPPORTS_SHA256 == TRUE  1387 #elif HAL_CRY_USE_FALLBACK == TRUE  1388   return cry_fallback_SHA256_final(cryp, sha256ctxp, out);
  1418 #if CRY_LLD_SUPPORTS_SHA512 == TRUE  1420 #elif HAL_CRY_USE_FALLBACK == TRUE  1421   return cry_fallback_SHA512_init(cryp, sha512ctxp);
  1447                            size_t size, 
const uint8_t *
in) {
  1449   osalDbgCheck((cryp != NULL) && (sha512ctxp != NULL) && (in != NULL));
  1453 #if CRY_LLD_SUPPORTS_SHA512 == TRUE  1455 #elif HAL_CRY_USE_FALLBACK == TRUE  1456   return cry_fallback_SHA512_update(cryp, sha512ctxp, size, in);
  1485   osalDbgCheck((cryp != NULL) && (sha512ctxp != NULL) && (out != NULL));
  1489 #if CRY_LLD_SUPPORTS_SHA512 == TRUE  1491 #elif HAL_CRY_USE_FALLBACK == TRUE  1492   return cry_fallback_SHA512_final(cryp, sha512ctxp, out);
  1520                                    const uint8_t *keyp) {
  1524 #if (CRY_LLD_SUPPORTS_HMAC_SHA256 == TRUE) ||                               \  1525     (CRY_LLD_SUPPORTS_HMAC_SHA512 == TRUE)  1527 #elif HAL_CRY_USE_FALLBACK == TRUE  1528   return cry_fallback_hmac_loadkey(cryp, size, keyp);
  1556   osalDbgCheck((cryp != NULL) && (hmacsha256ctxp != NULL));
  1560 #if CRY_LLD_SUPPORTS_HMAC_SHA256 == TRUE  1562 #elif HAL_CRY_USE_FALLBACK == TRUE  1563   return cry_fallback_HMACSHA256_init(cryp, hmacsha256ctxp);
  1566   (void)hmacsha256ctxp;
  1591                                const uint8_t *
in) {
  1593   osalDbgCheck((cryp != NULL) && (hmacsha256ctxp != NULL) && (in != NULL));
  1597 #if CRY_LLD_SUPPORTS_HMAC_SHA256 == TRUE  1599 #elif HAL_CRY_USE_FALLBACK == TRUE  1600   return cry_fallback_HMACSHA256_update(cryp, hmacsha256ctxp, size, in);
  1603   (void)hmacsha256ctxp;
  1630   osalDbgCheck((cryp != NULL) && (hmacsha256ctxp != NULL) && (out != NULL));
  1634 #if CRY_LLD_SUPPORTS_HMAC_SHA256 == TRUE  1636 #elif HAL_CRY_USE_FALLBACK == TRUE  1637   return cry_fallback_HMACSHA256_final(cryp, hmacsha256ctxp, out);
  1640   (void)hmacsha256ctxp;
  1665   osalDbgCheck((cryp != NULL) && (hmacsha512ctxp != NULL));
  1669 #if CRY_LLD_SUPPORTS_HMAC_SHA512 == TRUE  1671 #elif HAL_CRY_USE_FALLBACK == TRUE  1672   return cry_fallback_HMACSHA512_init(cryp, hmacsha512ctxp);
  1675   (void)hmacsha512ctxp;
  1700                                const uint8_t *
in) {
  1702   osalDbgCheck((cryp != NULL) && (hmacsha512ctxp != NULL) && (in != NULL));
  1706 #if CRY_LLD_SUPPORTS_HMAC_SHA512 == TRUE  1708 #elif HAL_CRY_USE_FALLBACK == TRUE  1709   return cry_fallback_HMACSHA512_update(cryp, hmacsha512ctxp, size, in);
  1712   (void)hmacsha512ctxp;
  1739   osalDbgCheck((cryp != NULL) && (hmacsha512ctxp != NULL) && (out != NULL));
  1743 #if CRY_LLD_SUPPORTS_HMAC_SHA512 == TRUE  1745 #elif HAL_CRY_USE_FALLBACK == TRUE  1746   return cry_fallback_HMACSHA512_final(cryp, hmacsha512ctxp, out);
  1749   (void)hmacsha512ctxp;
 cryerror_t cryLoadAESTransientKey(CRYDriver *cryp, size_t size, const uint8_t *keyp)
Initializes the AES transient key. 
 
cryerror_t crySHA1Final(CRYDriver *cryp, SHA1Context *sha1ctxp, uint8_t *out)
Hash finalization using SHA1. 
 
cryerror_t cry_lld_SHA1_init(CRYDriver *cryp, SHA1Context *sha1ctxp)
Hash initialization using SHA1. 
 
cryerror_t cry_lld_encrypt_AES_GCM(CRYDriver *cryp, crykey_t key_id, size_t auth_size, const uint8_t *auth_in, size_t text_size, const uint8_t *text_in, uint8_t *text_out, const uint8_t *iv, size_t tag_size, uint8_t *tag_out)
Encryption operation using AES-GCM. 
 
void cryInit(void)
Cryptographic Driver initialization. 
 
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. 
 
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. 
 
cryerror_t crySHA256Init(CRYDriver *cryp, SHA256Context *sha256ctxp)
Hash initialization using SHA256. 
 
cryerror_t crySHA1Update(CRYDriver *cryp, SHA1Context *sha1ctxp, size_t size, const uint8_t *in)
Hash update using SHA1. 
 
void cryStart(CRYDriver *cryp, const CRYConfig *config)
Configures and activates the cryptographic peripheral. 
 
cryerror_t cryEncryptAES_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. 
 
cryerror_t cry_lld_SHA1_final(CRYDriver *cryp, SHA1Context *sha1ctxp, uint8_t *out)
Hash finalization using SHA1. 
 
cryerror_t cry_lld_SHA1_update(CRYDriver *cryp, SHA1Context *sha1ctxp, size_t size, const uint8_t *in)
Hash update using SHA1. 
 
cryerror_t cryDecryptDES(CRYDriver *cryp, crykey_t key_id, const uint8_t *in, uint8_t *out)
Decryption of a single block using (T)DES. 
 
cryerror_t cryDecryptAES_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. 
 
Type of a SHA512 context. 
 
cryerror_t cryLoadHMACTransientKey(CRYDriver *cryp, size_t size, const uint8_t *keyp)
Initializes the HMAC transient key. 
 
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. 
 
cryerror_t cryDecryptAES_ECB(CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out)
Decryption operation using AES-ECB. 
 
cryerror_t cry_lld_HMACSHA256_init(CRYDriver *cryp, HMACSHA256Context *hmacsha256ctxp)
Hash initialization using HMAC_SHA256. 
 
Structure representing an CRY driver. 
 
cryerror_t cryHMACSHA256Init(CRYDriver *cryp, HMACSHA256Context *hmacsha256ctxp)
Hash initialization using HMAC_SHA256. 
 
cryerror_t cryEncryptDES(CRYDriver *cryp, crykey_t key_id, const uint8_t *in, uint8_t *out)
Encryption of a single block using (T)DES. 
 
cryerror_t cry_lld_des_loadkey(CRYDriver *cryp, size_t size, const uint8_t *keyp)
Initializes the DES transient key. 
 
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. 
 
static void osalSysUnlock(void)
Leaves a critical zone from thread context. 
 
cryerror_t cryDecryptDES_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. 
 
void cry_lld_stop(CRYDriver *cryp)
Deactivates the crypto peripheral. 
 
void cryStop(CRYDriver *cryp)
Deactivates the cryptographic peripheral. 
 
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. 
 
cryerror_t cryDecryptDES_ECB(CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out)
Decryption operation using (T)DES-ECB. 
 
cryerror_t crySHA1Init(CRYDriver *cryp, SHA1Context *sha1ctxp)
Hash initialization using SHA1. 
 
cryerror_t
Driver error codes. 
 
cryerror_t cryHMACSHA512Update(CRYDriver *cryp, HMACSHA512Context *hmacsha512ctxp, size_t size, const uint8_t *in)
Hash update using HMAC. 
 
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. 
 
cryerror_t cry_lld_HMACSHA512_update(CRYDriver *cryp, HMACSHA512Context *hmacsha512ctxp, size_t size, const uint8_t *in)
Hash update using HMAC. 
 
Driver configuration structure. 
 
Type of a HMAC_SHA512 context. 
 
cryerror_t cryHMACSHA256Final(CRYDriver *cryp, HMACSHA256Context *hmacsha256ctxp, uint8_t *out)
Hash finalization using HMAC. 
 
cryerror_t cryDecryptAES_GCM(CRYDriver *cryp, crykey_t key_id, size_t auth_size, const uint8_t *auth_in, size_t text_size, const uint8_t *text_in, uint8_t *text_out, const uint8_t *iv, size_t tag_size, const uint8_t *tag_in)
Decryption operation using AES-GCM. 
 
cryerror_t cryHMACSHA512Final(CRYDriver *cryp, HMACSHA512Context *hmacsha512ctxp, uint8_t *out)
Hash finalization using HMAC. 
 
cryerror_t cryEncryptAES_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. 
 
cryerror_t crySHA256Update(CRYDriver *cryp, SHA256Context *sha256ctxp, size_t size, const uint8_t *in)
Hash update using SHA256. 
 
Type of a HMAC_SHA256 context. 
 
cryerror_t cry_lld_decrypt_AES_GCM(CRYDriver *cryp, crykey_t key_id, size_t auth_size, const uint8_t *auth_in, size_t text_size, const uint8_t *text_in, uint8_t *text_out, const uint8_t *iv, size_t tag_size, const uint8_t *tag_in)
Decryption operation using AES-GCM. 
 
void cry_lld_start(CRYDriver *cryp)
Configures and activates the crypto peripheral. 
 
cryerror_t cryHMACSHA256Update(CRYDriver *cryp, HMACSHA256Context *hmacsha256ctxp, size_t size, const uint8_t *in)
Hash update using HMAC. 
 
uint32_t crykey_t
CRY key identifier type. 
 
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. 
 
cryerror_t crySHA512Init(CRYDriver *cryp, SHA512Context *sha512ctxp)
Hash initialization using SHA512. 
 
cryerror_t crySHA256Final(CRYDriver *cryp, SHA256Context *sha256ctxp, uint8_t *out)
Hash finalization using SHA256. 
 
cryerror_t cry_lld_SHA512_init(CRYDriver *cryp, SHA512Context *sha512ctxp)
Hash initialization using SHA512. 
 
#define osalDbgCheck(c)
Function parameters check. 
 
cryerror_t cryHMACSHA512Init(CRYDriver *cryp, HMACSHA512Context *hmacsha512ctxp)
Hash initialization using HMAC_SHA512. 
 
cryerror_t cryDecryptAES_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. 
 
void cry_lld_init(void)
Low level crypto driver initialization. 
 
cryerror_t cry_lld_SHA512_final(CRYDriver *cryp, SHA512Context *sha512ctxp, uint8_t *out)
Hash finalization using SHA512. 
 
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. 
 
cryerror_t crySHA512Final(CRYDriver *cryp, SHA512Context *sha512ctxp, uint8_t *out)
Hash finalization using SHA512. 
 
cryerror_t cry_lld_HMACSHA256_final(CRYDriver *cryp, HMACSHA256Context *hmacsha256ctxp, uint8_t *out)
Hash finalization using HMAC. 
 
cryerror_t cry_lld_HMACSHA256_update(CRYDriver *cryp, HMACSHA256Context *hmacsha256ctxp, size_t size, const uint8_t *in)
Hash update using HMAC. 
 
cryerror_t cry_lld_hmac_loadkey(CRYDriver *cryp, size_t size, const uint8_t *keyp)
Initializes the HMAC transient key. 
 
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. 
 
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. 
 
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. 
 
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. 
 
static void osalSysLock(void)
Enters a critical zone from thread context. 
 
cryerror_t cry_lld_HMACSHA512_final(CRYDriver *cryp, HMACSHA512Context *hmacsha512ctxp, uint8_t *out)
Hash finalization using HMAC. 
 
cryerror_t cryEncryptAES_ECB(CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out)
Encryption operation using AES-ECB. 
 
cryerror_t cryEncryptAES_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. 
 
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. 
 
cryerror_t cry_lld_SHA512_update(CRYDriver *cryp, SHA512Context *sha512ctxp, size_t size, const uint8_t *in)
Hash update using SHA512. 
 
USBInEndpointState in
IN EP0 state. 
 
cryerror_t cryDecryptAES_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. 
 
#define osalDbgAssert(c, remark)
Condition assertion. 
 
cryerror_t cry_lld_SHA256_init(CRYDriver *cryp, SHA256Context *sha256ctxp)
Hash initialization using SHA256. 
 
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. 
 
crystate_t state
Driver state. 
 
cryerror_t crySHA512Update(CRYDriver *cryp, SHA512Context *sha512ctxp, size_t size, const uint8_t *in)
Hash update using SHA512. 
 
USBOutEndpointState out
OUT EP0 state. 
 
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. 
 
cryerror_t cry_lld_HMACSHA512_init(CRYDriver *cryp, HMACSHA512Context *hmacsha512ctxp)
Hash initialization using HMAC_SHA512. 
 
cryerror_t cry_lld_SHA256_update(CRYDriver *cryp, SHA256Context *sha256ctxp, size_t size, const uint8_t *in)
Hash update using SHA256. 
 
Type of a SHA256 context. 
 
cryerror_t cry_lld_SHA256_final(CRYDriver *cryp, SHA256Context *sha256ctxp, uint8_t *out)
Hash finalization using SHA256. 
 
cryerror_t cryEncryptDES_ECB(CRYDriver *cryp, crykey_t key_id, size_t size, const uint8_t *in, uint8_t *out)
Encryption operation using (T)DES-ECB. 
 
cryerror_t cryLoadDESTransientKey(CRYDriver *cryp, size_t size, const uint8_t *keyp)
Initializes the DES transient key. 
 
cryerror_t cryEncryptAES_GCM(CRYDriver *cryp, crykey_t key_id, size_t auth_size, const uint8_t *auth_in, size_t text_size, const uint8_t *text_in, uint8_t *text_out, const uint8_t *iv, size_t tag_size, uint8_t *tag_out)
Encryption operation using AES-GCM. 
 
const CRYConfig * config
Current configuration data. 
 
cryerror_t cryEncryptAES(CRYDriver *cryp, crykey_t key_id, const uint8_t *in, uint8_t *out)
Encryption of a single block using AES. 
 
cryerror_t cryDecryptAES(CRYDriver *cryp, crykey_t key_id, const uint8_t *in, uint8_t *out)
Decryption of a single block using AES. 
 
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. 
 
cryerror_t cry_lld_aes_loadkey(CRYDriver *cryp, size_t size, const uint8_t *keyp)
Initializes the AES transient key. 
 
void cryObjectInit(CRYDriver *cryp)
Initializes the standard part of a CRYDriver structure. 
 
cryerror_t cryEncryptDES_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.