Test Cases for HMAC-RIPEMD160 and HMAC-RIPEMD128 (RFC2286)
Original Publication Date: 1998-Feb-01
Included in the Prior Art Database: 2019-Feb-15
Internet Society Requests For Comment (RFCs)
This document provides two sets of test cases for HMAC-RIPEMD160 and HMAC-RIPEMD128. This memo provides information for the Internet community. It does not specify an Internet standard of any kind.
Network Working Group J. Kapp Request for Comments: 2286 Reaper Technologies Category: Informational February 1998
Test Cases for HMAC-RIPEMD160 and HMAC-RIPEMD128
Status of this Memo
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
Copyright (C) The Internet Society (1998). All Rights Reserved.
This document provides two sets of test cases for HMAC-RIPEMD160 and HMAC-RIPEMD128, respectively. HMAC-RIPEMD160 and HMAC-RIPEMD128 are two constructs of the HMAC [HMAC] message authentication function using the RIPEMD-160 and RIPEMD-128 [RIPE] hash functions. The test cases and results provided in this document are meant to be used as a conformance test for HMAC-RIPEMD160 and HMAC-RIPEMD128 implementations.
The general method for constructing a HMAC message authentication function using a particular hash function is described in section 2 of [HMAC].
In sections 2 and 3 test cases for HMAC-RIPEMD160 and HMAC-RIPEMD128, respectively are provided. Each case includes the key, the data, and the result. The values of keys and data are either hexadecimal numbers (prefixed by "0x") or ASCII character strings in double quotes. If a value is an ASCII character string, then the HMAC computation for the corresponding test case DOES NOT include the trailing null character (’\0’) in the string.
The C source code of the functions used to generate HMAC-RIPEMD160 and HMAC-RIPEMD128 results is listed in the Appendix. Please Note that the functions provided are implemented in such a way as to be simple and easy to understand as a result they are not optimized in any way. The C source code for computing HMAC-MD5 can be found in [MD5].
Kapp Informational [Page 1]
RFC 2286 Test Cases: HMAC-RIPEMD160, HMAC-RIPEMD128 February 1998
2. Test Cases for HMAC-RIPEMD160
test_case = 1 key = 0x0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b key_len = 20 data = "Hi There" data_len = 8 digest = 0x24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668
test_case = 2 key = "Jefe" key_len = 4 data = "what do ya want for nothing?" data_len = 28 digest = 0xdda6c0213a485a9e24f4742064a7f033b43c4069
test_case = 3 key = 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa key_len = 20 data = 0xdd repeated 50 times data_len = 50 digest = 0xb0b105360de759960ab4f35298e116e295d8e7c1
test_case = 4 key = 0x0102030405060708090a0b0c0d0e0f10111213141516171819 key_len = 25 data = 0xcd repeated 50 times data_len = 50 digest = 0xd5ca862f4d21d5e610e18b4cf1beb97a4365ecf4
test_case = 5 key = 0x0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c key_len = 20 data = "Test With Truncation" data_len = 20 digest = 0x7619693978f91d90539ae786500ff3d8e0518e39 digest-96 = 0x7619693978f91d90539ae786
test_case = 6 key = 0xaa repeated 80 times key_len = 80 data = "Test Using Larger Than Block-Size Key - Hash Key First" data_len = 54 digest = 0x6466ca07ac5eac29e1bd523e5ada7605b791fd8b
test_case = 7 key = 0xaa repeated...