mirror of
https://github.com/espressif/mbedtls.git
synced 2026-09-05 09:59:55 +00:00
test_suite_ccm: Added a test for invalid tag_len inputs.
Signed-off-by: Minos Galanakis <[email protected]>
This commit is contained in:
@@ -1746,6 +1746,64 @@ CCM* decrypt, instant finish AES-128 (P=0, N=13, A=0, T=16)
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_instant_finish:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_STAR_DECRYPT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary encrypt tag_len=8, finish_tag_len=32
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:8:32:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary encrypt tag_len=8, finish_tag_len=8
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:8:8:0:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary decrypt tag_len=8, finish_tag_len=32
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_DECRYPT:8:32:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary decrypt tag_len=8, finish_tag_len=8
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_DECRYPT:8:8:0:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
# CCM finish boundary matrix (encrypt)
|
||||
CCM finish check-boundary encrypt tag_len=16, finish_tag_len=16
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:16:16:0:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary encrypt tag_len=8, finish_tag_len=16
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:8:16:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary encrypt tag_len=16, finish_tag_len=17
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:16:17:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary encrypt tag_len=16, finish_tag_len=4000
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:16:4000:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary encrypt tag_len=16, finish_tag_len=8
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:16:8:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
# CCM finish boundary matrix (decrypt)
|
||||
CCM finish check-boundary decrypt tag_len=16, finish_tag_len=16
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_DECRYPT:16:16:0:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary decrypt tag_len=8, finish_tag_len=16
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_DECRYPT:8:16:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary decrypt tag_len=16, finish_tag_len=17
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_DECRYPT:16:17:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary decrypt tag_len=16, finish_tag_len=4000
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_DECRYPT:16:4000:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM finish check-boundary decrypt tag_len=16, finish_tag_len=8
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_finish_boundary:MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_DECRYPT:16:8:MBEDTLS_ERR_CCM_BAD_INPUT:"54caf96ef6d448734700aadab50faf7a":"a3803e752ae849c910d8da36af"
|
||||
|
||||
CCM pass unexpected auth data, NIST VPT AES-128 #14 (P=13, N=13, A=32, T=16)
|
||||
depends_on:MBEDTLS_CCM_GCM_CAN_AES
|
||||
mbedtls_ccm_unexpected_ad::MBEDTLS_CIPHER_ID_AES:MBEDTLS_CCM_ENCRYPT:"d32088d50df9aba14d9022c870a0cb85":"e16c69861efc206e85aab1255e":"0eff7d7bcceb873c3203a8df74f4e91b04bd607ec11202f96cfeb99f5bcdb7aa"
|
||||
|
||||
@@ -906,3 +906,32 @@ exit:
|
||||
BLOCK_CIPHER_PSA_DONE();
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE */
|
||||
void mbedtls_ccm_finish_boundary(int cipher_id, int mode,
|
||||
int start_tag_len, int finish_tag_len,
|
||||
int expected_finish_ret,
|
||||
data_t *key, data_t *iv)
|
||||
{
|
||||
mbedtls_ccm_context ctx;
|
||||
unsigned char *tag = NULL;
|
||||
|
||||
mbedtls_ccm_init(&ctx);
|
||||
|
||||
BLOCK_CIPHER_PSA_INIT();
|
||||
TEST_EQUAL(mbedtls_ccm_setkey(&ctx, cipher_id, key->x, key->len * 8), 0);
|
||||
TEST_EQUAL(0, mbedtls_ccm_starts(&ctx, mode, iv->x, iv->len));
|
||||
|
||||
/* Use the caller-provided tag length during setup, then finish with a
|
||||
* different tag length to exercise boundary handling/API complianece */
|
||||
TEST_EQUAL(0, mbedtls_ccm_set_lengths(&ctx, 0, 0, (size_t) start_tag_len));
|
||||
|
||||
TEST_CALLOC(tag, finish_tag_len);
|
||||
TEST_EQUAL(expected_finish_ret,
|
||||
mbedtls_ccm_finish(&ctx, tag, finish_tag_len));
|
||||
exit:
|
||||
mbedtls_free(tag);
|
||||
mbedtls_ccm_free(&ctx);
|
||||
BLOCK_CIPHER_PSA_DONE();
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
Reference in New Issue
Block a user