Generic interface.
[u/mdw/catacomb] / tests / md5
1 # Test vectors for MD5 hash function
2 #
3 # $Id: md5,v 1.1 1999/09/03 08:41:14 mdw Exp $
4
5 # --- Basic hash function ---
6 #
7 # Test vectors from RFC1321 and some others I generated using the reference
8 # implementation.
9
10 md5 {
11
12 "" d41d8cd98f00b204e9800998ecf8427e;
13 "a" 0cc175b9c0f1b6a831c399e269772661;
14 "abc" 900150983cd24fb0d6963f7d28e17f72;
15 "message digest" f96b697d7cb7938d525a2f31aaf161d0;
16 "abcdefghijklmnopqrstuvwxyz"
17 c3fcd3d76192e4007dfb496cca67e13b;
18 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
19 d174ab98d277d9f5a5611c2c9f419d9f;
20 "12345678901234567890123456789012345678901234567890123456789012345678901234567890"
21 57edf4a22be3c955ac49da2e2107b67a;
22
23 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
24 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
25 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
26 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
27 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
28 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
29 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
30 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
31 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
32 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
33 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
34 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
35 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
36 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
37 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
38 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
39 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
40 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
41 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
42 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
43 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
44 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
45 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
46 " 2b65a7ba4acd105ef2cb9adebd9f0bfa;
47
48 }
49
50 # --- HMAC mode ---
51 #
52 # Test vectors from RFC2104 and RFC2202.
53
54 md5-hmac {
55
56 "Hi There"
57 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
58 9294727a3638bb1c13f48ef8158bfc9d;
59
60 "what do ya want for nothing?"
61 4a656665
62 750c783e6ab0b503eaa86e310a5db738;
63
64 "ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ"
65 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
66 56be34521d144c88dbb8c733f0e8b3f6;
67
68 "ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ"
69 0102030405060708090a0b0c0d0e0f10111213141516171819
70 697eaf0aca3a3aea3a75164746ffaa79;
71
72 "Test With Truncation"
73 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c
74 56461ef2342edc00f9bab995690efd4c;
75
76 "Test Using Larger Than Block-Size Key - Hash Key First"
77 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
78 6b1ab7fe4bd7bf8f0b62e6ce61b9d0cd;
79
80 "Test Using Larger Than Block-Size Key and Larger Than One Block-Size Data"
81 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
82 6f630fad67cda0ee1fb1f562db3aa53e;
83
84 }