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.