blob: 648a9cc35da6db6c95b7e588d3e0f442e3714de4 [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 */
Paul Bakker33b43f12013-08-20 11:48:36 +02009void md2_text( char *text_src_string, char *hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000010{
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010011 int ret;
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010012 unsigned char src_str[100];
13 unsigned char hash_str[33];
14 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 );
17 memset( hash_str, 0x00, sizeof hash_str );
18 memset( output, 0x00, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000019
Paul Bakkerdd0aae92014-04-17 16:06:37 +020020 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 );
Paul Bakker367dae42009-06-28 21:50:27 +000021
Gilles Peskine9e4f77c2018-01-22 11:48:08 +010022 ret = mbedtls_md2_ret( src_str, strlen( (char *) src_str ), output );
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010023 TEST_ASSERT( ret == 0 ) ;
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010024 hexify( hash_str, output, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000025
Paul Bakker33b43f12013-08-20 11:48:36 +020026 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000027}
Paul Bakker33b43f12013-08-20 11:48:36 +020028/* END_CASE */
Paul Bakker367dae42009-06-28 21:50:27 +000029
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020030/* BEGIN_CASE depends_on:MBEDTLS_MD4_C */
Paul Bakker33b43f12013-08-20 11:48:36 +020031void md4_text( char *text_src_string, char *hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000032{
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010033 int ret;
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010034 unsigned char src_str[100];
35 unsigned char hash_str[33];
36 unsigned char output[16];
Paul Bakker367dae42009-06-28 21:50:27 +000037
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010038 memset( src_str, 0x00, sizeof src_str );
39 memset( hash_str, 0x00, sizeof hash_str );
40 memset( output, 0x00, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000041
Paul Bakkerdd0aae92014-04-17 16:06:37 +020042 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 );
Paul Bakker367dae42009-06-28 21:50:27 +000043
Gilles Peskine9e4f77c2018-01-22 11:48:08 +010044 ret = mbedtls_md4_ret( src_str, strlen( (char *) src_str ), output );
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010045 TEST_ASSERT( ret == 0 );
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010046 hexify( hash_str, output, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000047
Paul Bakker33b43f12013-08-20 11:48:36 +020048 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000049}
Paul Bakker33b43f12013-08-20 11:48:36 +020050/* END_CASE */
Paul Bakker367dae42009-06-28 21:50:27 +000051
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020052/* BEGIN_CASE depends_on:MBEDTLS_MD5_C */
Paul Bakker33b43f12013-08-20 11:48:36 +020053void md5_text( char *text_src_string, char *hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000054{
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010055 int ret;
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010056 unsigned char src_str[100];
57 unsigned char hash_str[33];
58 unsigned char output[16];
Paul Bakker367dae42009-06-28 21:50:27 +000059
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010060 memset( src_str, 0x00, sizeof src_str );
61 memset( hash_str, 0x00, sizeof hash_str );
62 memset( output, 0x00, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000063
Paul Bakkerdd0aae92014-04-17 16:06:37 +020064 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 );
Paul Bakker367dae42009-06-28 21:50:27 +000065
Gilles Peskine9e4f77c2018-01-22 11:48:08 +010066 ret = mbedtls_md5_ret( src_str, strlen( (char *) src_str ), output );
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010067 TEST_ASSERT( ret == 0 );
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010068 hexify( hash_str, output, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000069
Paul Bakker33b43f12013-08-20 11:48:36 +020070 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
Paul Bakker367dae42009-06-28 21:50:27 +000071}
Paul Bakker33b43f12013-08-20 11:48:36 +020072/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +000073
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020074/* BEGIN_CASE depends_on:MBEDTLS_RIPEMD160_C */
Paul Bakker61b699e2014-01-22 13:35:29 +010075void ripemd160_text( char *text_src_string, char *hex_hash_string )
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010076{
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010077 int ret;
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010078 unsigned char src_str[100];
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010079 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
Paul Bakkerdd0aae92014-04-17 16:06:37 +020086 strncpy( (char *) src_str, text_src_string, sizeof(src_str) - 1 );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010087
Gilles Peskine9e4f77c2018-01-22 11:48:08 +010088 ret = mbedtls_ripemd160_ret( src_str, strlen( (char *) src_str ), output );
Andres Amaya Garciab71b6302017-06-28 10:51:17 +010089 TEST_ASSERT( ret == 0 );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010090 hexify( hash_str, output, sizeof output );
91
92 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
93}
94/* END_CASE */
95
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020096/* BEGIN_CASE depends_on:MBEDTLS_MD2_C:MBEDTLS_SELF_TEST */
Paul Bakker33b43f12013-08-20 11:48:36 +020097void md2_selftest()
Paul Bakkere896fea2009-07-06 06:40:23 +000098{
Andres AG93012e82016-09-09 09:10:28 +010099 TEST_ASSERT( mbedtls_md2_self_test( 1 ) == 0 );
Paul Bakkere896fea2009-07-06 06:40:23 +0000100}
Paul Bakker33b43f12013-08-20 11:48:36 +0200101/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +0000102
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200103/* BEGIN_CASE depends_on:MBEDTLS_MD4_C:MBEDTLS_SELF_TEST */
Paul Bakker33b43f12013-08-20 11:48:36 +0200104void md4_selftest()
Paul Bakkere896fea2009-07-06 06:40:23 +0000105{
Andres AG93012e82016-09-09 09:10:28 +0100106 TEST_ASSERT( mbedtls_md4_self_test( 1 ) == 0 );
Paul Bakkere896fea2009-07-06 06:40:23 +0000107}
Paul Bakker33b43f12013-08-20 11:48:36 +0200108/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +0000109
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200110/* BEGIN_CASE depends_on:MBEDTLS_MD5_C:MBEDTLS_SELF_TEST */
Paul Bakker33b43f12013-08-20 11:48:36 +0200111void md5_selftest()
Paul Bakkere896fea2009-07-06 06:40:23 +0000112{
Andres AG93012e82016-09-09 09:10:28 +0100113 TEST_ASSERT( mbedtls_md5_self_test( 1 ) == 0 );
Paul Bakkere896fea2009-07-06 06:40:23 +0000114}
Paul Bakker33b43f12013-08-20 11:48:36 +0200115/* END_CASE */
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100116
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200117/* BEGIN_CASE depends_on:MBEDTLS_RIPEMD160_C:MBEDTLS_SELF_TEST */
Paul Bakker61b699e2014-01-22 13:35:29 +0100118void ripemd160_selftest()
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100119{
Andres AG93012e82016-09-09 09:10:28 +0100120 TEST_ASSERT( mbedtls_ripemd160_self_test( 1 ) == 0 );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100121}
122/* END_CASE */