Remove unnecessary flag from CMAC context
This commit is contained in:
parent
851ae29a5d
commit
e3d882ad4a
@ -44,7 +44,6 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
struct mbedtls_cmac_context_t
|
struct mbedtls_cmac_context_t
|
||||||
{
|
{
|
||||||
|
|
||||||
/** Internal state of the CMAC algorithm */
|
/** Internal state of the CMAC algorithm */
|
||||||
unsigned char state[MBEDTLS_CIPHER_BLKSIZE_MAX];
|
unsigned char state[MBEDTLS_CIPHER_BLKSIZE_MAX];
|
||||||
|
|
||||||
@ -54,9 +53,6 @@ struct mbedtls_cmac_context_t
|
|||||||
|
|
||||||
/** Length of data pending to be processed */
|
/** Length of data pending to be processed */
|
||||||
size_t unprocessed_len;
|
size_t unprocessed_len;
|
||||||
|
|
||||||
/** Flag to indicate if the last block needs padding */
|
|
||||||
int padding_flag;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -235,7 +235,6 @@ int mbedtls_cipher_cmac_starts( mbedtls_cipher_context_t *ctx,
|
|||||||
ctx->cmac_ctx = cmac_ctx;
|
ctx->cmac_ctx = cmac_ctx;
|
||||||
|
|
||||||
mbedtls_zeroize( cmac_ctx->state, sizeof( cmac_ctx->state ) );
|
mbedtls_zeroize( cmac_ctx->state, sizeof( cmac_ctx->state ) );
|
||||||
cmac_ctx->padding_flag = 1;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -292,8 +291,6 @@ int mbedtls_cipher_cmac_update( mbedtls_cipher_context_t *ctx,
|
|||||||
|
|
||||||
ilen -= block_size;
|
ilen -= block_size;
|
||||||
input += block_size;
|
input += block_size;
|
||||||
|
|
||||||
cmac_ctx->padding_flag = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If there is data left over that wasn't aligned to a block */
|
/* If there is data left over that wasn't aligned to a block */
|
||||||
@ -303,11 +300,6 @@ int mbedtls_cipher_cmac_update( mbedtls_cipher_context_t *ctx,
|
|||||||
input,
|
input,
|
||||||
ilen );
|
ilen );
|
||||||
cmac_ctx->unprocessed_len += ilen;
|
cmac_ctx->unprocessed_len += ilen;
|
||||||
|
|
||||||
if( ilen % block_size > 0 )
|
|
||||||
cmac_ctx->padding_flag = 1;
|
|
||||||
else
|
|
||||||
cmac_ctx->padding_flag = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
@ -340,7 +332,7 @@ int mbedtls_cipher_cmac_finish( mbedtls_cipher_context_t *ctx,
|
|||||||
last_block = cmac_ctx->unprocessed_block;
|
last_block = cmac_ctx->unprocessed_block;
|
||||||
|
|
||||||
/* Calculate last block */
|
/* Calculate last block */
|
||||||
if( cmac_ctx->padding_flag && cmac_ctx->unprocessed_len < block_size )
|
if( cmac_ctx->unprocessed_len < block_size )
|
||||||
{
|
{
|
||||||
cmac_pad( M_last, block_size, last_block, cmac_ctx->unprocessed_len );
|
cmac_pad( M_last, block_size, last_block, cmac_ctx->unprocessed_len );
|
||||||
cmac_xor_block( M_last, M_last, K2, block_size );
|
cmac_xor_block( M_last, M_last, K2, block_size );
|
||||||
@ -367,7 +359,6 @@ exit:
|
|||||||
mbedtls_zeroize( K1, sizeof( K1 ) );
|
mbedtls_zeroize( K1, sizeof( K1 ) );
|
||||||
mbedtls_zeroize( K2, sizeof( K2 ) );
|
mbedtls_zeroize( K2, sizeof( K2 ) );
|
||||||
|
|
||||||
cmac_ctx->padding_flag = 1;
|
|
||||||
cmac_ctx->unprocessed_len = 0;
|
cmac_ctx->unprocessed_len = 0;
|
||||||
mbedtls_zeroize( cmac_ctx->unprocessed_block,
|
mbedtls_zeroize( cmac_ctx->unprocessed_block,
|
||||||
sizeof( cmac_ctx->unprocessed_block ) );
|
sizeof( cmac_ctx->unprocessed_block ) );
|
||||||
@ -391,7 +382,6 @@ int mbedtls_cipher_cmac_reset( mbedtls_cipher_context_t *ctx )
|
|||||||
sizeof( cmac_ctx->unprocessed_block ) );
|
sizeof( cmac_ctx->unprocessed_block ) );
|
||||||
mbedtls_zeroize( cmac_ctx->state,
|
mbedtls_zeroize( cmac_ctx->state,
|
||||||
sizeof( cmac_ctx->state ) );
|
sizeof( cmac_ctx->state ) );
|
||||||
cmac_ctx->padding_flag = 1;
|
|
||||||
|
|
||||||
return( 0 );
|
return( 0 );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user