|  | /* BEGIN_HEADER */ | 
|  | #include "mbedtls/sha1.h" | 
|  | #include "mbedtls/sha256.h" | 
|  | #include "mbedtls/sha512.h" | 
|  | /* END_HEADER */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_SHA1_C */ | 
|  | void mbedtls_sha1( char *hex_src_string, char *hex_hash_string ) | 
|  | { | 
|  | unsigned char src_str[10000]; | 
|  | unsigned char hash_str[10000]; | 
|  | unsigned char output[41]; | 
|  | int src_len; | 
|  |  | 
|  | memset(src_str, 0x00, 10000); | 
|  | memset(hash_str, 0x00, 10000); | 
|  | memset(output, 0x00, 41); | 
|  |  | 
|  | src_len = unhexify( src_str, hex_src_string ); | 
|  |  | 
|  | mbedtls_sha1( src_str, src_len, output ); | 
|  | hexify( hash_str, output, 20 ); | 
|  |  | 
|  | TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 ); | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */ | 
|  | void sha224(char *hex_src_string, char *hex_hash_string ) | 
|  | { | 
|  | unsigned char src_str[10000]; | 
|  | unsigned char hash_str[10000]; | 
|  | unsigned char output[57]; | 
|  | int src_len; | 
|  |  | 
|  | memset(src_str, 0x00, 10000); | 
|  | memset(hash_str, 0x00, 10000); | 
|  | memset(output, 0x00, 57); | 
|  |  | 
|  | src_len = unhexify( src_str, hex_src_string ); | 
|  |  | 
|  | mbedtls_sha256( src_str, src_len, output, 1 ); | 
|  | hexify( hash_str, output, 28 ); | 
|  |  | 
|  | TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 ); | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_SHA256_C */ | 
|  | void mbedtls_sha256(char *hex_src_string, char *hex_hash_string ) | 
|  | { | 
|  | unsigned char src_str[10000]; | 
|  | unsigned char hash_str[10000]; | 
|  | unsigned char output[65]; | 
|  | int src_len; | 
|  |  | 
|  | memset(src_str, 0x00, 10000); | 
|  | memset(hash_str, 0x00, 10000); | 
|  | memset(output, 0x00, 65); | 
|  |  | 
|  | src_len = unhexify( src_str, hex_src_string ); | 
|  |  | 
|  | mbedtls_sha256( src_str, src_len, output, 0 ); | 
|  | hexify( hash_str, output, 32 ); | 
|  |  | 
|  | TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 ); | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_SHA512_C */ | 
|  | void sha384(char *hex_src_string, char *hex_hash_string ) | 
|  | { | 
|  | unsigned char src_str[10000]; | 
|  | unsigned char hash_str[10000]; | 
|  | unsigned char output[97]; | 
|  | int src_len; | 
|  |  | 
|  | memset(src_str, 0x00, 10000); | 
|  | memset(hash_str, 0x00, 10000); | 
|  | memset(output, 0x00, 97); | 
|  |  | 
|  | src_len = unhexify( src_str, hex_src_string ); | 
|  |  | 
|  | mbedtls_sha512( src_str, src_len, output, 1 ); | 
|  | hexify( hash_str, output, 48 ); | 
|  |  | 
|  | TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 ); | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_SHA512_C */ | 
|  | void mbedtls_sha512(char *hex_src_string, char *hex_hash_string ) | 
|  | { | 
|  | unsigned char src_str[10000]; | 
|  | unsigned char hash_str[10000]; | 
|  | unsigned char output[129]; | 
|  | int src_len; | 
|  |  | 
|  | memset(src_str, 0x00, 10000); | 
|  | memset(hash_str, 0x00, 10000); | 
|  | memset(output, 0x00, 129); | 
|  |  | 
|  | src_len = unhexify( src_str, hex_src_string ); | 
|  |  | 
|  | mbedtls_sha512( src_str, src_len, output, 0); | 
|  | hexify( hash_str, output, 64 ); | 
|  |  | 
|  | TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 ); | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_SHA1_C:MBEDTLS_SELF_TEST */ | 
|  | void sha1_selftest() | 
|  | { | 
|  | TEST_ASSERT( mbedtls_sha1_self_test( 0 ) == 0 ); | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_SHA256_C:MBEDTLS_SELF_TEST */ | 
|  | void sha256_selftest() | 
|  | { | 
|  | TEST_ASSERT( mbedtls_sha256_self_test( 0 ) == 0 ); | 
|  | } | 
|  | /* END_CASE */ | 
|  |  | 
|  | /* BEGIN_CASE depends_on:MBEDTLS_SHA512_C:MBEDTLS_SELF_TEST */ | 
|  | void sha512_selftest() | 
|  | { | 
|  | TEST_ASSERT( mbedtls_sha512_self_test( 0 ) == 0 ); | 
|  | } | 
|  | /* END_CASE */ |