1/* BEGIN_HEADER */ 2#include "mbedtls/md2.h" 3#include "mbedtls/md4.h" 4#include "mbedtls/md5.h" 5#include "mbedtls/ripemd160.h" 6/* END_HEADER */ 7 8/* BEGIN_CASE depends_on:MBEDTLS_MD2_C */ 9void md2_text( char *text_src_string, char *hex_hash_string ) 10{ 11 int ret; 12 unsigned char src_str[100]; 13 unsigned char hash_str[33]; 14 unsigned char output[16]; 15 16 memset( src_str, 0x00, sizeof src_str ); 17 memset( hash_str, 0x00, sizeof hash_str ); 18 memset( output, 0x00, sizeof output ); 19 20 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 ); 21 22 ret = mbedtls_md2_ret( src_str, strlen( (char *) src_str ), output ); 23 TEST_ASSERT( ret == 0 ) ; 24 hexify( hash_str, output, sizeof output ); 25 26 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 ); 27} 28/* END_CASE */ 29 30/* BEGIN_CASE depends_on:MBEDTLS_MD4_C */ 31void md4_text( char *text_src_string, char *hex_hash_string ) 32{ 33 int ret; 34 unsigned char src_str[100]; 35 unsigned char hash_str[33]; 36 unsigned char output[16]; 37 38 memset( src_str, 0x00, sizeof src_str ); 39 memset( hash_str, 0x00, sizeof hash_str ); 40 memset( output, 0x00, sizeof output ); 41 42 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 ); 43 44 ret = mbedtls_md4_ret( src_str, strlen( (char *) src_str ), output ); 45 TEST_ASSERT( ret == 0 ); 46 hexify( hash_str, output, sizeof output ); 47 48 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 ); 49} 50/* END_CASE */ 51 52/* BEGIN_CASE depends_on:MBEDTLS_MD5_C */ 53void md5_text( char *text_src_string, char *hex_hash_string ) 54{ 55 int ret; 56 unsigned char src_str[100]; 57 unsigned char hash_str[33]; 58 unsigned char output[16]; 59 60 memset( src_str, 0x00, sizeof src_str ); 61 memset( hash_str, 0x00, sizeof hash_str ); 62 memset( output, 0x00, sizeof output ); 63 64 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 ); 65 66 ret = mbedtls_md5_ret( src_str, strlen( (char *) src_str ), output ); 67 TEST_ASSERT( ret == 0 ); 68 hexify( hash_str, output, sizeof output ); 69 70 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 ); 71} 72/* END_CASE */ 73 74/* BEGIN_CASE depends_on:MBEDTLS_RIPEMD160_C */ 75void ripemd160_text( char *text_src_string, char *hex_hash_string ) 76{ 77 int ret; 78 unsigned char src_str[100]; 79 unsigned char hash_str[41]; 80 unsigned char output[20]; 81 82 memset(src_str, 0x00, sizeof src_str); 83 memset(hash_str, 0x00, sizeof hash_str); 84 memset(output, 0x00, sizeof output); 85 86 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 ); 87 88 ret = mbedtls_ripemd160_ret( src_str, strlen( (char *) src_str ), output ); 89 TEST_ASSERT( ret == 0 ); 90 hexify( hash_str, output, sizeof output ); 91 92 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 ); 93} 94/* END_CASE */ 95 96/* BEGIN_CASE depends_on:MBEDTLS_MD2_C:MBEDTLS_SELF_TEST */ 97void md2_selftest() 98{ 99 TEST_ASSERT( mbedtls_md2_self_test( 1 ) == 0 ); 100} 101/* END_CASE */ 102 103/* BEGIN_CASE depends_on:MBEDTLS_MD4_C:MBEDTLS_SELF_TEST */ 104void md4_selftest() 105{ 106 TEST_ASSERT( mbedtls_md4_self_test( 1 ) == 0 ); 107} 108/* END_CASE */ 109 110/* BEGIN_CASE depends_on:MBEDTLS_MD5_C:MBEDTLS_SELF_TEST */ 111void md5_selftest() 112{ 113 TEST_ASSERT( mbedtls_md5_self_test( 1 ) == 0 ); 114} 115/* END_CASE */ 116 117/* BEGIN_CASE depends_on:MBEDTLS_RIPEMD160_C:MBEDTLS_SELF_TEST */ 118void ripemd160_selftest() 119{ 120 TEST_ASSERT( mbedtls_ripemd160_self_test( 1 ) == 0 ); 121} 122/* END_CASE */ 123