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