blob: 7fe5e06f74a67c1a3aea467cb5e7a8cc6961c6db [file] [log] [blame]
Paul Bakker33b43f12013-08-20 11:48:36 +02001/* BEGIN_HEADER */
Manuel Pégourié-Gonnard7f809972015-03-09 17:05:11 +00002#include "mbedtls/md2.h"
3#include "mbedtls/md4.h"
4#include "mbedtls/md5.h"
5#include "mbedtls/ripemd160.h"
Paul Bakker33b43f12013-08-20 11:48:36 +02006/* END_HEADER */
Paul Bakker367dae42009-06-28 21:50:27 +00007
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +02008/* BEGIN_CASE depends_on:MBEDTLS_MD2_C */
Azim Khanf1aaec92017-05-30 14:23:15 +01009void md2_text( char * text_src_string, uint8_t * hex_hash_string,
10 uint32_t hex_hash_string_len )
Paul Bakker367dae42009-06-28 21:50:27 +000011{
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010012 int ret;
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010013 unsigned char src_str[100];
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010014 unsigned char output[16];
Paul Bakker367dae42009-06-28 21:50:27 +000015
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010016 memset( src_str, 0x00, sizeof src_str );
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010017 memset( output, 0x00, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000018
Paul Bakkerdd0aae92014-04-17 16:06:37 +020019 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 );
Paul Bakker367dae42009-06-28 21:50:27 +000020
Gilles Peskine9e4f77c2018-01-22 11:48:08 +010021 ret = mbedtls_md2_ret( src_str, strlen( (char *) src_str ), output );
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010022 TEST_ASSERT( ret == 0 ) ;
Paul Bakker367dae42009-06-28 21:50:27 +000023
Azim Khanf1aaec92017-05-30 14:23:15 +010024 TEST_ASSERT( hexcmp( output, hex_hash_string, sizeof output, hex_hash_string_len ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000025}
Paul Bakker33b43f12013-08-20 11:48:36 +020026/* END_CASE */
Paul Bakker367dae42009-06-28 21:50:27 +000027
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020028/* BEGIN_CASE depends_on:MBEDTLS_MD4_C */
Azim Khanf1aaec92017-05-30 14:23:15 +010029void md4_text( char * text_src_string, uint8_t * hex_hash_string,
30 uint32_t hex_hash_string_len )
Paul Bakker367dae42009-06-28 21:50:27 +000031{
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010032 int ret;
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010033 unsigned char src_str[100];
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010034 unsigned char output[16];
Paul Bakker367dae42009-06-28 21:50:27 +000035
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010036 memset( src_str, 0x00, sizeof src_str );
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010037 memset( output, 0x00, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000038
Paul Bakkerdd0aae92014-04-17 16:06:37 +020039 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 );
Paul Bakker367dae42009-06-28 21:50:27 +000040
Gilles Peskine9e4f77c2018-01-22 11:48:08 +010041 ret = mbedtls_md4_ret( src_str, strlen( (char *) src_str ), output );
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010042 TEST_ASSERT( ret == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000043
Azim Khanf1aaec92017-05-30 14:23:15 +010044 TEST_ASSERT( hexcmp( output, hex_hash_string, sizeof output, hex_hash_string_len ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000045}
Paul Bakker33b43f12013-08-20 11:48:36 +020046/* END_CASE */
Paul Bakker367dae42009-06-28 21:50:27 +000047
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020048/* BEGIN_CASE depends_on:MBEDTLS_MD5_C */
Azim Khanf1aaec92017-05-30 14:23:15 +010049void md5_text( char * text_src_string, uint8_t * hex_hash_string,
50 uint32_t hex_hash_string_len )
Paul Bakker367dae42009-06-28 21:50:27 +000051{
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010052 int ret;
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010053 unsigned char src_str[100];
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010054 unsigned char output[16];
Paul Bakker367dae42009-06-28 21:50:27 +000055
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010056 memset( src_str, 0x00, sizeof src_str );
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010057 memset( output, 0x00, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000058
Paul Bakkerdd0aae92014-04-17 16:06:37 +020059 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 );
Paul Bakker367dae42009-06-28 21:50:27 +000060
Gilles Peskine9e4f77c2018-01-22 11:48:08 +010061 ret = mbedtls_md5_ret( src_str, strlen( (char *) src_str ), output );
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010062 TEST_ASSERT( ret == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000063
Azim Khanf1aaec92017-05-30 14:23:15 +010064 TEST_ASSERT( hexcmp( output, hex_hash_string, sizeof output, hex_hash_string_len ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000065}
Paul Bakker33b43f12013-08-20 11:48:36 +020066/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +000067
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020068/* BEGIN_CASE depends_on:MBEDTLS_RIPEMD160_C */
Azim Khanf1aaec92017-05-30 14:23:15 +010069void ripemd160_text( char * text_src_string, uint8_t * hex_hash_string,
70 uint32_t hex_hash_string_len )
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010071{
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010072 int ret;
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010073 unsigned char src_str[100];
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010074 unsigned char output[20];
75
76 memset(src_str, 0x00, sizeof src_str);
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010077 memset(output, 0x00, sizeof output);
78
Paul Bakkerdd0aae92014-04-17 16:06:37 +020079 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010080
Gilles Peskine9e4f77c2018-01-22 11:48:08 +010081 ret = mbedtls_ripemd160_ret( src_str, strlen( (char *) src_str ), output );
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010082 TEST_ASSERT( ret == 0 );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010083
Azim Khanf1aaec92017-05-30 14:23:15 +010084 TEST_ASSERT( hexcmp( output, hex_hash_string, sizeof output, hex_hash_string_len ) == 0 );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010085}
86/* END_CASE */
87
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020088/* BEGIN_CASE depends_on:MBEDTLS_MD2_C:MBEDTLS_SELF_TEST */
Azim Khanf1aaec92017-05-30 14:23:15 +010089void md2_selftest( )
Paul Bakkere896fea2009-07-06 06:40:23 +000090{
Andres AG93012e82016-09-09 09:10:28 +010091 TEST_ASSERT( mbedtls_md2_self_test( 1 ) == 0 );
Paul Bakkere896fea2009-07-06 06:40:23 +000092}
Paul Bakker33b43f12013-08-20 11:48:36 +020093/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +000094
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020095/* BEGIN_CASE depends_on:MBEDTLS_MD4_C:MBEDTLS_SELF_TEST */
Azim Khanf1aaec92017-05-30 14:23:15 +010096void md4_selftest( )
Paul Bakkere896fea2009-07-06 06:40:23 +000097{
Andres AG93012e82016-09-09 09:10:28 +010098 TEST_ASSERT( mbedtls_md4_self_test( 1 ) == 0 );
Paul Bakkere896fea2009-07-06 06:40:23 +000099}
Paul Bakker33b43f12013-08-20 11:48:36 +0200100/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +0000101
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200102/* BEGIN_CASE depends_on:MBEDTLS_MD5_C:MBEDTLS_SELF_TEST */
Azim Khanf1aaec92017-05-30 14:23:15 +0100103void md5_selftest( )
Paul Bakkere896fea2009-07-06 06:40:23 +0000104{
Andres AG93012e82016-09-09 09:10:28 +0100105 TEST_ASSERT( mbedtls_md5_self_test( 1 ) == 0 );
Paul Bakkere896fea2009-07-06 06:40:23 +0000106}
Paul Bakker33b43f12013-08-20 11:48:36 +0200107/* END_CASE */
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100108
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200109/* BEGIN_CASE depends_on:MBEDTLS_RIPEMD160_C:MBEDTLS_SELF_TEST */
Azim Khanf1aaec92017-05-30 14:23:15 +0100110void ripemd160_selftest( )
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100111{
Andres AG93012e82016-09-09 09:10:28 +0100112 TEST_ASSERT( mbedtls_ripemd160_self_test( 1 ) == 0 );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100113}
114/* END_CASE */