Crypto: Add support for HMAC functionalities
This patch introduces support for the HMAC functionalities.
The HMAC construction procedure is as described by RFC-2104.
It also adds the related Regression test suite to validate
the API implementation.
Change-Id: I622d866b34ba7e3a3e61e1a28d43fb80e49fd8ec
Signed-off-by: Louis Mayencourt <louis.mayencourt@arm.com>
diff --git a/secure_fw/services/crypto/crypto_alloc.c b/secure_fw/services/crypto/crypto_alloc.c
index 119e664..2a4d6bd 100644
--- a/secure_fw/services/crypto/crypto_alloc.c
+++ b/secure_fw/services/crypto/crypto_alloc.c
@@ -21,12 +21,6 @@
*/
#define TFM_CRYPTO_CONC_OPER_NUM (8)
-/**
- * \brief This value is used to mark an handle as invalid.
- *
- */
-#define INVALID_HANDLE (0xFFFFFFFF)
-
struct tfm_crypto_operation_s {
uint32_t in_use; /*!< Indicates if the operation is in use */
enum tfm_crypto_operation_type type; /*!< Type of the operation */
@@ -93,7 +87,7 @@
return TFM_CRYPTO_ERR_PSA_SUCCESS;
}
}
- *handle = INVALID_HANDLE;
+ *handle = TFM_CRYPTO_INVALID_HANDLE;
return TFM_CRYPTO_ERR_PSA_ERROR_NOT_PERMITTED;
}
@@ -107,7 +101,7 @@
memset_operation_context(i);
operation[i].in_use = TFM_CRYPTO_NOT_IN_USE;
operation[i].type = TFM_CRYPTO_OPERATION_NONE;
- *handle = INVALID_HANDLE;
+ *handle = TFM_CRYPTO_INVALID_HANDLE;
return TFM_CRYPTO_ERR_PSA_SUCCESS;
}