mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-29 11:41:15 +03:00
Merge pull request #1038 from Mbed-TLS/development
Merge development into development-restricted
This commit is contained in:
@ -119,7 +119,7 @@ static int cmac_generate_subkeys(mbedtls_cipher_context_t *ctx,
|
||||
|
||||
mbedtls_platform_zeroize(L, sizeof(L));
|
||||
|
||||
block_size = ctx->cipher_info->block_size;
|
||||
block_size = mbedtls_cipher_info_get_block_size(ctx->cipher_info);
|
||||
|
||||
/* Calculate Ek(0) */
|
||||
if ((ret = mbedtls_cipher_update(ctx, L, block_size, L, &olen)) != 0) {
|
||||
@ -186,7 +186,7 @@ int mbedtls_cipher_cmac_starts(mbedtls_cipher_context_t *ctx,
|
||||
return retval;
|
||||
}
|
||||
|
||||
type = ctx->cipher_info->type;
|
||||
type = mbedtls_cipher_info_get_type(ctx->cipher_info);
|
||||
|
||||
switch (type) {
|
||||
case MBEDTLS_CIPHER_AES_128_ECB:
|
||||
@ -226,7 +226,7 @@ int mbedtls_cipher_cmac_update(mbedtls_cipher_context_t *ctx,
|
||||
}
|
||||
|
||||
cmac_ctx = ctx->cmac_ctx;
|
||||
block_size = ctx->cipher_info->block_size;
|
||||
block_size = mbedtls_cipher_info_get_block_size(ctx->cipher_info);
|
||||
state = ctx->cmac_ctx->state;
|
||||
|
||||
/* Is there data still to process from the last call, that's greater in
|
||||
@ -237,7 +237,7 @@ int mbedtls_cipher_cmac_update(mbedtls_cipher_context_t *ctx,
|
||||
input,
|
||||
block_size - cmac_ctx->unprocessed_len);
|
||||
|
||||
mbedtls_xor(state, cmac_ctx->unprocessed_block, state, block_size);
|
||||
mbedtls_xor_no_simd(state, cmac_ctx->unprocessed_block, state, block_size);
|
||||
|
||||
if ((ret = mbedtls_cipher_update(ctx, state, block_size, state,
|
||||
&olen)) != 0) {
|
||||
@ -255,7 +255,7 @@ int mbedtls_cipher_cmac_update(mbedtls_cipher_context_t *ctx,
|
||||
/* Iterate across the input data in block sized chunks, excluding any
|
||||
* final partial or complete block */
|
||||
for (j = 1; j < n; j++) {
|
||||
mbedtls_xor(state, input, state, block_size);
|
||||
mbedtls_xor_no_simd(state, input, state, block_size);
|
||||
|
||||
if ((ret = mbedtls_cipher_update(ctx, state, block_size, state,
|
||||
&olen)) != 0) {
|
||||
@ -295,7 +295,7 @@ int mbedtls_cipher_cmac_finish(mbedtls_cipher_context_t *ctx,
|
||||
}
|
||||
|
||||
cmac_ctx = ctx->cmac_ctx;
|
||||
block_size = ctx->cipher_info->block_size;
|
||||
block_size = mbedtls_cipher_info_get_block_size(ctx->cipher_info);
|
||||
state = cmac_ctx->state;
|
||||
|
||||
mbedtls_platform_zeroize(K1, sizeof(K1));
|
||||
@ -521,6 +521,7 @@ static const unsigned char aes_128_expected_result[NB_CMAC_TESTS_PER_KEY][MBEDTL
|
||||
};
|
||||
|
||||
/* CMAC-AES192 Test Data */
|
||||
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||
static const unsigned char aes_192_key[24] = {
|
||||
0x8e, 0x73, 0xb0, 0xf7, 0xda, 0x0e, 0x64, 0x52,
|
||||
0xc8, 0x10, 0xf3, 0x2b, 0x80, 0x90, 0x79, 0xe5,
|
||||
@ -561,8 +562,10 @@ static const unsigned char aes_192_expected_result[NB_CMAC_TESTS_PER_KEY][MBEDTL
|
||||
0x4d, 0x77, 0x58, 0x96, 0x59, 0xf3, 0x9a, 0x11
|
||||
}
|
||||
};
|
||||
#endif /* !MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||
|
||||
/* CMAC-AES256 Test Data */
|
||||
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||
static const unsigned char aes_256_key[32] = {
|
||||
0x60, 0x3d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe,
|
||||
0x2b, 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81,
|
||||
@ -604,6 +607,7 @@ static const unsigned char aes_256_expected_result[NB_CMAC_TESTS_PER_KEY][MBEDTL
|
||||
0x69, 0x6a, 0x2c, 0x05, 0x6c, 0x31, 0x54, 0x10
|
||||
}
|
||||
};
|
||||
#endif /* !MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||
#endif /* MBEDTLS_AES_C */
|
||||
|
||||
#if defined(MBEDTLS_DES_C)
|
||||
@ -951,6 +955,7 @@ int mbedtls_cmac_self_test(int verbose)
|
||||
}
|
||||
|
||||
/* AES-192 */
|
||||
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||
if ((ret = cmac_test_subkeys(verbose,
|
||||
"AES 192",
|
||||
aes_192_key,
|
||||
@ -974,8 +979,10 @@ int mbedtls_cmac_self_test(int verbose)
|
||||
NB_CMAC_TESTS_PER_KEY)) != 0) {
|
||||
return ret;
|
||||
}
|
||||
#endif /* !MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||
|
||||
/* AES-256 */
|
||||
#if !defined(MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH)
|
||||
if ((ret = cmac_test_subkeys(verbose,
|
||||
"AES 256",
|
||||
aes_256_key,
|
||||
@ -999,6 +1006,7 @@ int mbedtls_cmac_self_test(int verbose)
|
||||
NB_CMAC_TESTS_PER_KEY)) != 0) {
|
||||
return ret;
|
||||
}
|
||||
#endif /* !MBEDTLS_AES_ONLY_128_BIT_KEY_LENGTH */
|
||||
#endif /* MBEDTLS_AES_C */
|
||||
|
||||
#if defined(MBEDTLS_DES_C)
|
||||
|
Reference in New Issue
Block a user