mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-12-04 03:13:54 +01:00
9b7a93cf1f
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.
36 lines
927 B
Plaintext
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 */
|