Crypto: fix PSA AEAD tests failing in cc312 drivers
CC312 AEAD drivers don't support unaligned chunks to AES block size
(16-bytes). Therefore, make sure the buffers used in the AEAD tests are
16-byte aligned. Also, don't run AEAD tests exercising unaligned chunks.
Change-Id: Idbd9aac42333a173c59bec9d3a7cb118e82b08d3
Signed-off-by: Amjad Ouled-Ameur <amjad.ouled-ameur@arm.com>
diff --git a/tests_reg/test/secure_fw/suites/crypto/crypto_tests_common.h b/tests_reg/test/secure_fw/suites/crypto/crypto_tests_common.h
index a87f13a..54ab513 100644
--- a/tests_reg/test/secure_fw/suites/crypto/crypto_tests_common.h
+++ b/tests_reg/test/secure_fw/suites/crypto/crypto_tests_common.h
@@ -80,7 +80,7 @@
* \brief Max size in bytes of the data to be encrypted in AEAD
* tests.
*/
-#define MAX_PLAIN_DATA_SIZE_AEAD (68)
+#define MAX_PLAIN_DATA_SIZE_AEAD (BYTE_SIZE_CHUNK * 5)
/**
* \brief Size in bytes of the encryption/decryption buffers used
diff --git a/tests_reg/test/secure_fw/suites/crypto/non_secure/crypto_ns_interface_testsuite.c b/tests_reg/test/secure_fw/suites/crypto/non_secure/crypto_ns_interface_testsuite.c
index 1906571..941b320 100644
--- a/tests_reg/test/secure_fw/suites/crypto/non_secure/crypto_ns_interface_testsuite.c
+++ b/tests_reg/test/secure_fw/suites/crypto/non_secure/crypto_ns_interface_testsuite.c
@@ -428,6 +428,7 @@
PSA_TEST_IOVEC_NOT_INLINED,
ret);
+#ifdef CC3XX_RUNTIME_ENABLED
psa_aead_test(PSA_KEY_TYPE_AES, PSA_ALG_CCM,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK / 3,
@@ -439,15 +440,15 @@
BYTE_SIZE_CHUNK / 4,
PSA_TEST_IOVEC_NOT_INLINED,
ret);
+#endif /* CC3XX_RUNTIME_ENABLED */
- /* Inline Tests */
- TEST_LOG("Inlined iovec\n");
psa_aead_test(PSA_KEY_TYPE_AES, PSA_ALG_CCM,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK,
PSA_TEST_IOVEC_INLINED,
ret);
+#ifdef CC3XX_RUNTIME_ENABLED
psa_aead_test(PSA_KEY_TYPE_AES, PSA_ALG_CCM,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK / 3,
@@ -459,6 +460,7 @@
BYTE_SIZE_CHUNK / 4,
PSA_TEST_IOVEC_INLINED,
ret);
+#endif /* CC3XX_RUNTIME_ENABLED */
}
#endif /* TFM_CRYPTO_TEST_ALG_CCM */
@@ -502,6 +504,7 @@
PSA_TEST_IOVEC_NOT_INLINED,
ret);
+#ifdef CC3XX_RUNTIME_ENABLED
psa_aead_test(PSA_KEY_TYPE_AES, alg,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK / 3,
@@ -513,14 +516,15 @@
BYTE_SIZE_CHUNK / 4,
PSA_TEST_IOVEC_NOT_INLINED,
ret);
+#endif /* CC3XX_RUNTIME_ENABLED */
- /* Inline Tests */
psa_aead_test(PSA_KEY_TYPE_AES, alg,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK,
PSA_TEST_IOVEC_INLINED,
ret);
+#ifdef CC3XX_RUNTIME_ENABLED
psa_aead_test(PSA_KEY_TYPE_AES, alg,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK / 3,
@@ -532,6 +536,7 @@
BYTE_SIZE_CHUNK / 4,
PSA_TEST_IOVEC_INLINED,
ret);
+#endif /* CC3XX_RUNTIME_ENABLED */
}
#endif /* TFM_CRYPTO_TEST_ALG_CCM */
diff --git a/tests_reg/test/secure_fw/suites/crypto/secure/crypto_sec_interface_testsuite.c b/tests_reg/test/secure_fw/suites/crypto/secure/crypto_sec_interface_testsuite.c
index 4ef0309..5d81ac6 100644
--- a/tests_reg/test/secure_fw/suites/crypto/secure/crypto_sec_interface_testsuite.c
+++ b/tests_reg/test/secure_fw/suites/crypto/secure/crypto_sec_interface_testsuite.c
@@ -425,6 +425,7 @@
PSA_TEST_IOVEC_NOT_INLINED,
ret);
+#ifdef CC3XX_RUNTIME_ENABLED
psa_aead_test(PSA_KEY_TYPE_AES, PSA_ALG_CCM,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK / 3,
@@ -436,6 +437,7 @@
BYTE_SIZE_CHUNK / 4,
PSA_TEST_IOVEC_NOT_INLINED,
ret);
+#endif /* CC3XX_RUNTIME_ENABLED */
psa_aead_test(PSA_KEY_TYPE_AES, PSA_ALG_CCM,
test_key_128, BIT_SIZE_TEST_KEY,
@@ -443,6 +445,7 @@
PSA_TEST_IOVEC_INLINED,
ret);
+#ifdef CC3XX_RUNTIME_ENABLED
psa_aead_test(PSA_KEY_TYPE_AES, PSA_ALG_CCM,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK / 3,
@@ -454,6 +457,7 @@
BYTE_SIZE_CHUNK / 4,
PSA_TEST_IOVEC_INLINED,
ret);
+#endif /* CC3XX_RUNTIME_ENABLED */
}
#endif /* TFM_CRYPTO_TEST_ALG_CCM */
@@ -537,6 +541,7 @@
PSA_TEST_IOVEC_NOT_INLINED,
ret);
+#ifdef CC3XX_RUNTIME_ENABLED
psa_aead_test(PSA_KEY_TYPE_AES, alg,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK / 3,
@@ -548,6 +553,7 @@
BYTE_SIZE_CHUNK / 4,
PSA_TEST_IOVEC_NOT_INLINED,
ret);
+#endif /* CC3XX_RUNTIME_ENABLED */
psa_aead_test(PSA_KEY_TYPE_AES, alg,
test_key_128, BIT_SIZE_TEST_KEY,
@@ -555,6 +561,7 @@
PSA_TEST_IOVEC_INLINED,
ret);
+#ifdef CC3XX_RUNTIME_ENABLED
psa_aead_test(PSA_KEY_TYPE_AES, alg,
test_key_128, BIT_SIZE_TEST_KEY,
BYTE_SIZE_CHUNK / 3,
@@ -566,6 +573,7 @@
BYTE_SIZE_CHUNK / 4,
PSA_TEST_IOVEC_INLINED,
ret);
+#endif /* CC3XX_RUNTIME_ENABLED */
}
#endif /* TFM_CRYPTO_TEST_ALG_CCM */