chiark / gitweb /
Merge branch 'fixes'
[catacomb] / tests / rmd160
1 # Test vectors for RIPEMD-160
2 #
3 # $Id: rmd160,v 1.4 2004/03/21 22:44:36 mdw Exp $
4
5 # --- Basic hash function ---
6 #
7 # Taken from http://wwww.esat.kuleuven.ac.be/~bosselae/ripemd160.html
8
9 rmd160 {
10   ""                    9c1185a5c5e9fc54612808977ee8f548b2258d31;
11   "a"                   0bdc9d2d256b3ee9daae347be6f4dc835a467ffe;
12   "abc"                 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc;
13   "message digest"      5d0689ef49d2fae572b881b123a85ffa21595f36;
14   "abcdefghijklmnopqrstuvwxyz"
15                         f71c27109c692c1b56bbdceb5b9d2865b3708dbc;
16   "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
17                         12a053384a9c0c88e405a06c27dcf49ada62eb2b;
18   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
19                         b0e20b6e3116640286ed3a87a5713079b21f5189;
20 }
21
22 rmd160-rep {
23   "1234567890" 8 9b752e45573d4b39f4dbd3323cab82bf63326bfb;
24   "a" 1000000 52783243c1697bdbe16d37f97f68f08325dc1528;
25 }
26
27 # --- HMAC mode ---
28
29 rmd160-hmac {
30   # --- Test vectors from RFC2286 ---
31
32   "Hi There"
33         0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
34         24cb4bd67d20fc1a5d2ed7732dcc39377f0a5668;
35
36   "what do ya want for nothing?"
37         4a656665
38         dda6c0213a485a9e24f4742064a7f033b43c4069;
39
40   "ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ"
41         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
42         b0b105360de759960ab4f35298e116e295d8e7c1;
43
44   "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ"
45         0102030405060708090a0b0c0d0e0f10111213141516171819
46         d5ca862f4d21d5e610e18b4cf1beb97a4365ecf4;
47
48   "Test With Truncation"
49         0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
50         7619693978f91d90539ae786500ff3d8e0518e39;
51
52   "Test Using Larger Than Block-Size Key - Hash Key First"
53         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
54         6466ca07ac5eac29e1bd523e5ada7605b791fd8b;
55
56   "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"
57         aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
58         69ea60798d71616cce5fd0871e23754cd75d5a0a;
59
60   # --- From http://wwww.esat.kuleuven.ac.be/~bosselae/ripemd160.html ---
61
62   ""
63         00112233445566778899aabbccddeeff01234567
64         cf387677bfda8483e63b57e06c3b5ecd8b7fc055;
65   "a"
66         00112233445566778899aabbccddeeff01234567
67         0d351d71b78e36dbb7391c810a0d2b6240ddbafc;
68   "abc"
69         00112233445566778899aabbccddeeff01234567
70         f7ef288cb1bbcc6160d76507e0a3bbf712fb67d6;
71   "message digest"
72         00112233445566778899aabbccddeeff01234567
73         f83662cc8d339c227e600fcd636c57d2571b1c34;
74   "abcdefghijklmnopqrstuvwxyz"
75         00112233445566778899aabbccddeeff01234567
76         843d1c4eb880ac8ac0c9c95696507957d0155ddb;
77   "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
78         00112233445566778899aabbccddeeff01234567
79         60f5ef198a2dd5745545c1f0c47aa3fb5776f881;
80   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
81         00112233445566778899aabbccddeeff01234567
82         e49c136a9e5627e0681b808a3b97e6a6e661ae79;
83   "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
84         00112233445566778899aabbccddeeff01234567
85         31be3cc98cee37b79b0619e3e1c2be4f1aa56e6c;
86
87   ""
88         0123456789abcdeffedcba987654321000112233
89         fe69a66c7423eea9c8fa2eff8d9dafb4f17a62f5;
90   "a"
91         0123456789abcdeffedcba987654321000112233
92         85743e899bc82dbfa36faaa7a25b7cfd372432cd;
93   "abc"
94         0123456789abcdeffedcba987654321000112233
95         6e4afd501fa6b4a1823ca3b10bd9aa0ba97ba182;
96   "message digest"
97         0123456789abcdeffedcba987654321000112233
98         2e066e624badb76a184c8f90fba053330e650e92;
99   "abcdefghijklmnopqrstuvwxyz"
100         0123456789abcdeffedcba987654321000112233
101         07e942aa4e3cd7c04dedc1d46e2e8cc4c741b3d9;
102   "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
103         0123456789abcdeffedcba987654321000112233
104         b6582318ddcfb67a53a67d676b8ad869aded629a;
105   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
106         0123456789abcdeffedcba987654321000112233
107         f1be3ee877703140d34f97ea1ab3a07c141333e2;
108   "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
109         0123456789abcdeffedcba987654321000112233
110         85f164703e61a63131be7e45958e0794123904f9;
111 }