diff --git a/tests/suites/test_suite_mdx.data b/tests/suites/test_suite_mdx.data
index 8ad609e..0e2114e 100644
--- a/tests/suites/test_suite_mdx.data
+++ b/tests/suites/test_suite_mdx.data
@@ -82,6 +82,30 @@
 depends_on:POLARSSL_MD5_C
 md5_text:"12345678901234567890123456789012345678901234567890123456789012345678901234567890":"57edf4a22be3c955ac49da2e2107b67a"
 
+rmd160 Test vector from paper #1
+rmd160_text:"":"9c1185a5c5e9fc54612808977ee8f548b2258d31"
+
+rmd160 Test vector from paper #2
+rmd160_text:"a":"0bdc9d2d256b3ee9daae347be6f4dc835a467ffe"
+
+rmd160 Test vector from paper #3
+rmd160_text:"abc":"8eb208f7e05d987a9b044a8e98c6b087f15a0bfc"
+
+rmd160 Test vector from paper #4
+rmd160_text:"message digest":"5d0689ef49d2fae572b881b123a85ffa21595f36"
+
+rmd160 Test vector from paper #5
+rmd160_text:"abcdefghijklmnopqrstuvwxyz":"f71c27109c692c1b56bbdceb5b9d2865b3708dbc"
+
+rmd160 Test vector from paper #6
+rmd160_text:"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq":"12a053384a9c0c88e405a06c27dcf49ada62eb2b"
+
+rmd160 Test vector from paper #7
+rmd160_text:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789":"b0e20b6e3116640286ed3a87a5713079b21f5189"
+
+rmd160 Test vector from paper #8
+rmd160_text:"12345678901234567890123456789012345678901234567890123456789012345678901234567890":"9b752e45573d4b39f4dbd3323cab82bf63326bfb"
+
 HMAC-MD2 Hash File OpenSSL test #1
 depends_on:POLARSSL_MD2_C
 md2_hmac:16:"61616161616161616161616161616161":"b91ce5ac77d33c234e61002ed6":"d5732582f494f5ddf35efd166c85af9c"
@@ -206,6 +230,21 @@
 depends_on:POLARSSL_MD5_C
 md5_file:"data_files/hash_file_4":"d41d8cd98f00b204e9800998ecf8427e"
 
+RMD160 Hash file #0 (from paper)
+rmd160_file:"data_files/hash_file_5":"52783243c1697bdbe16d37f97f68f08325dc1528"
+
+RMD160 Hash file #1
+rmd160_file:"data_files/hash_file_1":"82f1d072f0ec0c2b353703a7b575a04c113af1a6"
+
+RMD160 Hash file #2
+rmd160_file:"data_files/hash_file_2":"996fbc8b79206ba7393ebcd246584069b1c08f0f"
+
+RMD160 Hash file #3
+rmd160_file:"data_files/hash_file_3":"8653b46d65998fa8c8846efa17937e742533ae48"
+
+RMD160 Hash file #4
+rmd160_file:"data_files/hash_file_4":"9c1185a5c5e9fc54612808977ee8f548b2258d31"
+
 MD2 Selftest
 depends_on:POLARSSL_MD2_C:POLARSSL_SELF_TEST
 md2_selftest:
@@ -217,3 +256,7 @@
 MD5 Selftest
 depends_on:POLARSSL_MD5_C:POLARSSL_SELF_TEST
 md5_selftest:
+
+RMD160 Selftest
+depends_on:POLARSSL_RMD160_C:POLARSSL_SELF_TEST
+rmd160_selftest:
diff --git a/tests/suites/test_suite_mdx.function b/tests/suites/test_suite_mdx.function
index e9a8347..b9db696 100644
--- a/tests/suites/test_suite_mdx.function
+++ b/tests/suites/test_suite_mdx.function
@@ -2,6 +2,7 @@
 #include <polarssl/md2.h>
 #include <polarssl/md4.h>
 #include <polarssl/md5.h>
+#include <polarssl/rmd160.h>
 /* END_HEADER */
 
 /* BEGIN_CASE depends_on:POLARSSL_MD2_C */
@@ -64,6 +65,26 @@
 }
 /* END_CASE */
 
+/* BEGIN_CASE depends_on:POLARSSL_RMD160_C */
+void rmd160_text( char *text_src_string, char *hex_hash_string )
+{
+    unsigned char src_str[1000];
+    unsigned char hash_str[41];
+    unsigned char output[20];
+
+    memset(src_str, 0x00, sizeof src_str);
+    memset(hash_str, 0x00, sizeof hash_str);
+    memset(output, 0x00, sizeof output);
+
+    strcpy( (char *) src_str, text_src_string );
+
+    rmd160( src_str, strlen( (char *) src_str ), output );
+    hexify( hash_str, output, sizeof output );
+
+    TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
+}
+/* END_CASE */
+
 /* BEGIN_CASE depends_on:POLARSSL_MD2_C */
 void md2_hmac( int trunc_size, char *hex_key_string, char *hex_src_string,
                char *hex_hash_string )
@@ -187,6 +208,22 @@
 }
 /* END_CASE */
 
+/* BEGIN_CASE depends_on:POLARSSL_RMD160_C:POLARSSL_FS_IO */
+void rmd160_file( char *filename, char *hex_hash_string )
+{
+    unsigned char hash_str[41];
+    unsigned char output[20];
+
+    memset(hash_str, 0x00, sizeof hash_str );
+    memset(output, 0x00, sizeof output );
+
+    rmd160_file( filename, output);
+    hexify( hash_str, output, 20 );
+
+    TEST_ASSERT( strcmp( (char *) hash_str, hex_hash_string ) == 0 );
+}
+/* END_CASE */
+
 /* BEGIN_CASE depends_on:POLARSSL_MD2_C:POLARSSL_SELF_TEST */
 void md2_selftest()
 {
@@ -207,3 +244,10 @@
     TEST_ASSERT( md5_self_test( 0 ) == 0 );
 }
 /* END_CASE */
+
+/* BEGIN_CASE depends_on:POLARSSL_RMD160_C:POLARSSL_SELF_TEST */
+void rmd160_selftest()
+{
+    TEST_ASSERT( rmd160_self_test( 0 ) == 0 );
+}
+/* END_CASE */
