Add ECDSA signature generation tests to tinycrypt

Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
This commit is contained in:
Andrzej Kurek 2020-12-04 09:54:11 -05:00
parent bbd1c38ad6
commit bef771bf50
2 changed files with 66 additions and 0 deletions

View file

@ -124,6 +124,27 @@ void ecdsa_verify_msg( data_t * message, data_t * xQ_str, data_t * yQ_str,
}
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_USE_TINYCRYPT */
void ecdsa_sig( data_t * message, data_t * d_str, data_t * k_str,
data_t * r_str, data_t * s_str )
{
uint8_t sig_bytes[2*NUM_ECC_BYTES] = {0};
uint8_t hash[32] = {0};
uint8_t k[NUM_ECC_BYTES] = {0};
uint8_t i = 0;
/* Reverse k as expected by tinycrypt */
for( i = 0; i < NUM_ECC_BYTES; i++ )
{
k[i] = k_str->x[NUM_ECC_BYTES - i - 1];
}
TEST_ASSERT( mbedtls_sha256_ret( message->x, message->len, hash, 0 ) == 0 );
TEST_ASSERT( uECC_sign_with_k( d_str->x, hash, sizeof(hash), k,
sig_bytes ) == UECC_SUCCESS );
TEST_ASSERT( memcmp( sig_bytes, r_str->x, NUM_ECC_BYTES) == 0 );
TEST_ASSERT( memcmp( sig_bytes + NUM_ECC_BYTES, s_str->x, NUM_ECC_BYTES ) == 0 );
}
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_USE_TINYCRYPT */
void ecdsa_primitive_testvec( data_t * xQ_str, data_t * yQ_str,
data_t * hash, data_t * r_str, data_t * s_str )