blob: 35d087475d658927544c01a1a2530d0177aa6408 [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
Paul Bakker33b43f12013-08-20 11:48:36 +02008/* BEGIN_CASE depends_on:POLARSSL_MD2_C */
9void md2_text( char *text_src_string, char *hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000010{
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010011 unsigned char src_str[100];
12 unsigned char hash_str[33];
13 unsigned char output[16];
Paul Bakker367dae42009-06-28 21:50:27 +000014
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010015 memset( src_str, 0x00, sizeof src_str );
16 memset( hash_str, 0x00, sizeof hash_str );
17 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
21 md2( src_str, strlen( (char *) src_str ), output );
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010022 hexify( hash_str, output, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000023
Paul Bakker33b43f12013-08-20 11:48:36 +020024 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 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
Paul Bakker33b43f12013-08-20 11:48:36 +020028/* BEGIN_CASE depends_on:POLARSSL_MD4_C */
29void md4_text( char *text_src_string, char *hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000030{
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010031 unsigned char src_str[100];
32 unsigned char hash_str[33];
33 unsigned char output[16];
Paul Bakker367dae42009-06-28 21:50:27 +000034
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010035 memset( src_str, 0x00, sizeof src_str );
36 memset( hash_str, 0x00, sizeof hash_str );
37 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
41 md4( src_str, strlen( (char *) src_str ), output );
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010042 hexify( hash_str, output, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000043
Paul Bakker33b43f12013-08-20 11:48:36 +020044 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 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
Paul Bakker33b43f12013-08-20 11:48:36 +020048/* BEGIN_CASE depends_on:POLARSSL_MD5_C */
49void md5_text( char *text_src_string, char *hex_hash_string )
Paul Bakker367dae42009-06-28 21:50:27 +000050{
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010051 unsigned char src_str[100];
52 unsigned char hash_str[33];
53 unsigned char output[16];
Paul Bakker367dae42009-06-28 21:50:27 +000054
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010055 memset( src_str, 0x00, sizeof src_str );
56 memset( hash_str, 0x00, sizeof hash_str );
57 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
61 md5( src_str, strlen( (char *) src_str ), output );
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010062 hexify( hash_str, output, sizeof output );
Paul Bakker367dae42009-06-28 21:50:27 +000063
Paul Bakker33b43f12013-08-20 11:48:36 +020064 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 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
Paul Bakker61b699e2014-01-22 13:35:29 +010068/* BEGIN_CASE depends_on:POLARSSL_RIPEMD160_C */
69void ripemd160_text( char *text_src_string, char *hex_hash_string )
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010070{
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010071 unsigned char src_str[100];
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010072 unsigned char hash_str[41];
73 unsigned char output[20];
74
75 memset(src_str, 0x00, sizeof src_str);
76 memset(hash_str, 0x00, sizeof hash_str);
77 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
Paul Bakker61b699e2014-01-22 13:35:29 +010081 ripemd160( src_str, strlen( (char *) src_str ), output );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +010082 hexify( hash_str, output, sizeof output );
83
84 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
85}
86/* END_CASE */
87
Paul Bakker428b9ba2013-09-15 15:20:37 +020088/* BEGIN_CASE depends_on:POLARSSL_MD2_C:POLARSSL_FS_IO */
Paul Bakker33b43f12013-08-20 11:48:36 +020089void md2_file( char *filename, char *hex_hash_string )
Paul Bakkere896fea2009-07-06 06:40:23 +000090{
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010091 unsigned char hash_str[33];
92 unsigned char output[16];
Paul Bakkere896fea2009-07-06 06:40:23 +000093
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010094 memset( hash_str, 0x00, sizeof hash_str );
95 memset( output, 0x00, sizeof output );
Paul Bakkere896fea2009-07-06 06:40:23 +000096
Paul Bakker33b43f12013-08-20 11:48:36 +020097 md2_file( filename, output);
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +010098 hexify( hash_str, output, sizeof output );
Paul Bakkere896fea2009-07-06 06:40:23 +000099
Paul Bakker33b43f12013-08-20 11:48:36 +0200100 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
Paul Bakkere896fea2009-07-06 06:40:23 +0000101}
Paul Bakker33b43f12013-08-20 11:48:36 +0200102/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +0000103
Paul Bakker428b9ba2013-09-15 15:20:37 +0200104/* BEGIN_CASE depends_on:POLARSSL_MD4_C:POLARSSL_FS_IO */
Paul Bakker33b43f12013-08-20 11:48:36 +0200105void md4_file( char *filename, char *hex_hash_string )
Paul Bakkere896fea2009-07-06 06:40:23 +0000106{
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +0100107 unsigned char hash_str[33];
108 unsigned char output[16];
Paul Bakkere896fea2009-07-06 06:40:23 +0000109
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +0100110 memset( hash_str, 0x00, sizeof hash_str );
111 memset( output, 0x00, sizeof output );
Paul Bakkere896fea2009-07-06 06:40:23 +0000112
Paul Bakker33b43f12013-08-20 11:48:36 +0200113 md4_file( filename, output);
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +0100114 hexify( hash_str, output, sizeof output );
Paul Bakkere896fea2009-07-06 06:40:23 +0000115
Paul Bakker33b43f12013-08-20 11:48:36 +0200116 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
Paul Bakkere896fea2009-07-06 06:40:23 +0000117}
Paul Bakker33b43f12013-08-20 11:48:36 +0200118/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +0000119
Paul Bakker428b9ba2013-09-15 15:20:37 +0200120/* BEGIN_CASE depends_on:POLARSSL_MD5_C:POLARSSL_FS_IO */
Paul Bakker33b43f12013-08-20 11:48:36 +0200121void md5_file( char *filename, char *hex_hash_string )
Paul Bakkere896fea2009-07-06 06:40:23 +0000122{
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +0100123 unsigned char hash_str[33];
124 unsigned char output[16];
Paul Bakkere896fea2009-07-06 06:40:23 +0000125
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +0100126 memset( hash_str, 0x00, sizeof hash_str );
127 memset( output, 0x00, sizeof output );
Paul Bakkere896fea2009-07-06 06:40:23 +0000128
Paul Bakker33b43f12013-08-20 11:48:36 +0200129 md5_file( filename, output);
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +0100130 hexify( hash_str, output, sizeof output );
Paul Bakkere896fea2009-07-06 06:40:23 +0000131
Paul Bakker33b43f12013-08-20 11:48:36 +0200132 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
Paul Bakkere896fea2009-07-06 06:40:23 +0000133}
Paul Bakker33b43f12013-08-20 11:48:36 +0200134/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +0000135
Paul Bakker61b699e2014-01-22 13:35:29 +0100136/* BEGIN_CASE depends_on:POLARSSL_RIPEMD160_C:POLARSSL_FS_IO */
137void ripemd160_file( char *filename, char *hex_hash_string )
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100138{
139 unsigned char hash_str[41];
140 unsigned char output[20];
141
142 memset(hash_str, 0x00, sizeof hash_str );
143 memset(output, 0x00, sizeof output );
144
Paul Bakker61b699e2014-01-22 13:35:29 +0100145 ripemd160_file( filename, output);
Manuel Pégourié-Gonnard130fe972014-01-17 14:23:48 +0100146 hexify( hash_str, output, sizeof output );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100147
148 TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
149}
150/* END_CASE */
151
Manuel Pégourié-Gonnard20140162013-10-10 12:48:03 +0200152/* BEGIN_CASE depends_on:POLARSSL_MD2_C:POLARSSL_SELF_TEST */
Paul Bakker33b43f12013-08-20 11:48:36 +0200153void md2_selftest()
Paul Bakkere896fea2009-07-06 06:40:23 +0000154{
155 TEST_ASSERT( md2_self_test( 0 ) == 0 );
156}
Paul Bakker33b43f12013-08-20 11:48:36 +0200157/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +0000158
Manuel Pégourié-Gonnard20140162013-10-10 12:48:03 +0200159/* BEGIN_CASE depends_on:POLARSSL_MD4_C:POLARSSL_SELF_TEST */
Paul Bakker33b43f12013-08-20 11:48:36 +0200160void md4_selftest()
Paul Bakkere896fea2009-07-06 06:40:23 +0000161{
162 TEST_ASSERT( md4_self_test( 0 ) == 0 );
163}
Paul Bakker33b43f12013-08-20 11:48:36 +0200164/* END_CASE */
Paul Bakkere896fea2009-07-06 06:40:23 +0000165
Manuel Pégourié-Gonnard20140162013-10-10 12:48:03 +0200166/* BEGIN_CASE depends_on:POLARSSL_MD5_C:POLARSSL_SELF_TEST */
Paul Bakker33b43f12013-08-20 11:48:36 +0200167void md5_selftest()
Paul Bakkere896fea2009-07-06 06:40:23 +0000168{
169 TEST_ASSERT( md5_self_test( 0 ) == 0 );
170}
Paul Bakker33b43f12013-08-20 11:48:36 +0200171/* END_CASE */
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100172
Paul Bakker61b699e2014-01-22 13:35:29 +0100173/* BEGIN_CASE depends_on:POLARSSL_RIPEMD160_C:POLARSSL_SELF_TEST */
174void ripemd160_selftest()
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100175{
Paul Bakker61b699e2014-01-22 13:35:29 +0100176 TEST_ASSERT( ripemd160_self_test( 0 ) == 0 );
Manuel Pégourié-Gonnardcab4a882014-01-17 12:42:35 +0100177}
178/* END_CASE */