mbedtls/tests/suites/test_suite_poly1305.function
Manuel Pégourié-Gonnard b1ac5e7842 poly1305: adjust parameter order
This module used (len, pointer) while (pointer, len) is more common in the
rest of the library, in particular it's what's used in the CMAC API that is
very comparable to Poly1305, so switch to (pointer, len) for consistency.
2018-05-24 13:37:31 +02:00

36 lines
927 B
Plaintext

/* BEGIN_HEADER */
#include "mbedtls/poly1305.h"
#include <stddef.h>
/* END_HEADER */
/* BEGIN_CASE depends_on:MBEDTLS_POLY1305_C */
void mbedtls_poly1305( char *hex_key_string, char *hex_mac_string, char *hex_src_string )
{
unsigned char src_str[10000];
unsigned char mac_str[100];
unsigned char key[32];
unsigned char mac[16];
size_t src_len;
memset(src_str, 0x00, 10000);
memset(mac_str, 0x00, 100);
memset(key, 0x00, 32);
memset(mac, 0x00, 16);
src_len = unhexify( src_str, hex_src_string );
unhexify( key, hex_key_string );
mbedtls_poly1305_mac( key, src_str, src_len, mac );
hexify( mac_str, mac, 16 );
TEST_ASSERT( strcmp( (char *) mac_str, hex_mac_string ) == 0 );
}
/* END_CASE */
/* BEGIN_CASE depends_on:MBEDTLS_POLY1305_C:MBEDTLS_SELF_TEST */
void poly1305_selftest()
{
TEST_ASSERT( mbedtls_poly1305_self_test( 0 ) == 0 );
}
/* END_CASE */