--- /dev/null
+# Test vectors for RIPEMD-160
+#
+#
+# Taken from the authors' web pages.
+
+rmd128 {
+ "" cdf26213a150dc3ecb610f18f6b38b46;
+ "a" 86be7afa339d0fc7cfc785e72f578d33;
+ "abc" c14a12199c66e4ba84636b0f69144c77;
+ "message digest" 9e327b3d6e523062afc1132d7df9d1b8;
+ "abcdefghijklmnopqrstuvwxyz"
+ fd2aa607f71dc8f510714922b371834e;
+ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
+ a1aa0689d0fafa2ddc22e88b49133a06;
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+ d1e959eb179c911faea4624c60c5c702;
+}
+
+rmd128-rep {
+ "1234567890" 8 3f45ef194732c2dbb2c4a2c769795fa3;
+ "a" 1000000 4a7f5723f954eba1216c9d8f6320431f;
+}
+
+# --- HMAC mode ---
+
+rmd128-hmac {
+ # --- Test vectors from RFC2286 ---
+
+ "Hi There"
+ 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
+ fbf61f9492aa4bbf81c172e84e0734db;
+
+ "what do ya want for nothing?"
+ 4a656665
+ 875f828862b6b334b427c55f9f7ff09b;
+
+ "ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ"
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ 09f0b2846d2f543da363cbec8d62a38d;
+
+ "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ"
+ 0102030405060708090a0b0c0d0e0f10111213141516171819
+ bdbbd7cf03e44b5aa60af815be4d2294;
+
+ "Test With Truncation"
+ 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
+ e79808f24b25fd031c155f0d551d9a3a;
+
+ "Test Using Larger Than Block-Size Key - Hash Key First"
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ dc732928de98104a1f59d373c150acbb;
+
+ "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"
+ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+ 5c6bec96793e16d40690c237635f30c5;
+
+ # --- Test vectors from the RIPEMD160 home page ---
+
+ ""
+ 00112233445566778899aabbccddeeff
+ ad9db2c1e22af9ab5ca9dbe5a86f67dc;
+ "a"
+ 00112233445566778899aabbccddeeff
+ 3bf448c762de00bcfa0310b11c0bde4c;
+ "abc"
+ 00112233445566778899aabbccddeeff
+ f34ec0945f02b70b8603f89e1ce4c78c;
+ "message digest"
+ 00112233445566778899aabbccddeeff
+ e8503a8aec2289d82aa0d8d445a06bdd;
+ "abcdefghijklmnopqrstuvwxyz"
+ 00112233445566778899aabbccddeeff
+ ee880b735ce3126065de1699cc136199;
+ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
+ 00112233445566778899aabbccddeeff
+ 794daf2e3bdeea2538638a5ced154434;
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+ 00112233445566778899aabbccddeeff
+ 3a06eef165b23625247800be23e232b6;
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
+ 00112233445566778899aabbccddeeff
+ 9a4f0159c0952da43a8d466d46b0af58;
+
+ ""
+ 0123456789abcdeffedcba9876543210
+ 8931eeee56a6b257fd1ab5418183d826;
+ "a"
+ 0123456789abcdeffedcba9876543210
+ dbbcf169ea7419d5ba7bd8eb3673ff2d;
+ "abc"
+ 0123456789abcdeffedcba9876543210
+ 2c4cd07d3162d6a0e338004d6b6fbc9a;
+ "message digest"
+ 0123456789abcdeffedcba9876543210
+ 75bfb25888f4bb77c77ae83ad0817447;
+ "abcdefghijklmnopqrstuvwxyz"
+ 0123456789abcdeffedcba9876543210
+ b1b5dc0fcb7258758855dd1840fcdce4;
+ "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
+ 0123456789abcdeffedcba9876543210
+ 670d0f7a697b18f1a8ab7d2a2a00dbc1;
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+ 0123456789abcdeffedcba9876543210
+ 54e315fdb34a61c0475392e5c7852998;
+ "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
+ 0123456789abcdeffedcba9876543210
+ ad04354d8aa2a623e72e3594ee3535c0;
+}